Thanks HunterT, Your suggestion works and I was able to prevent partial matches and 0 but somehow fails to filter out missing values when the >200 character logic is applied. I will accept this solution. Thanks for your help! You are also right that it isn't the prettiest piece of logic, whether you are looking at it from a coding perspective or in visual mode. But that applies to the expression builder in general whichever way you see it. Absolutely hate that it reformats my written logic into incomprehensible lines of jibberish. It is bad enough that logic has to be written in "business-friendly" language but to lose all my indentation and formatting is taking it to a whole new level. Having said that, I highly doubt that there is sufficient appetite to overhaul the expression builder. IF ( 'pid_list5'p IsSet )
RETURN (
IF ( GetLength('pid_list5'p) > 200 )
RETURN ( RemoveBlanks(Concatenate(Concatenate(Concatenate(
Concatenate(Concatenate(Concatenate(',', RemoveBlanks(Replace(
Substring('pid_list5'p, 1, 200), ' ', ',', _All_), _All_)),
Concatenate(',', RemoveBlanks(Replace(Substring('pid_list5'p, 201
, 400), ' ', ',', _All_), _All_))), Concatenate(Concatenate(',',
RemoveBlanks(Replace(Substring('pid_list5'p, 401, 600), ' ', ',',
_All_), _All_)), Concatenate(',', RemoveBlanks(Replace(Substring(
'pid_list5'p, 601, 800), ' ', ',', _All_), _All_)))), Concatenate
(Concatenate(',', RemoveBlanks(Replace(Substring('pid_list5'p,
801, 1000), ' ', ',', _All_), _All_)), Concatenate(',',
RemoveBlanks(Replace(Substring('pid_list5'p, 1001, 1200), ' ',
',', _All_), _All_)))), Concatenate(Concatenate(',', RemoveBlanks
(Replace(Substring('pid_list5'p, 1201, 1400), ' ', ',', _All_),
_All_)), Concatenate(',', RemoveBlanks(Replace(Substring(
'pid_list5'p, 1401, 1600), ' ', ',', _All_), _All_)))),
Concatenate(',', RemoveBlanks(Replace(Substring('pid_list5'p,
1601, GetLength('pid_list5'p)), ' ', ',', _All_), _All_))), _All_
) Contains Concatenate(',', Concatenate(UpCase(RemoveBlanks(
'PRODUCT_ID'n, _All_)), ',')) )
ELSE ( Concatenate(',', Concatenate(RemoveBlanks(Replace(
'pid_list5'p, ' ', ',', _All_), _All_), '_All_')) Contains
Concatenate(',', Concatenate(UpCase(RemoveBlanks('PRODUCT_ID'n,
_All_)), ',')) ) )
ELSE ( 1 = 0 )
... View more