Resolve List Conversion Plus not correctly matching number fields in data to numbers in constants fields

List Conversion Plus 6.5. all platforms


In a List Conversion Plus (LCP) job, a 5-byte field was being passed in with the numbers left-justified, like '10   ' and were being compared to a constant like 
CONS16 10
which means constant field C16=10

They were being compared with an 'If Greater Than or Equal'- 
IF GTE 011 05 C16
which says compare what is in the records in position 11 for a length of 5, to see if it is 'greater than or equal' to the value in C16.

LCP was matching to records that had less than 10


Although visually both are '10', because of the way LCP compares data and constants when numbers and spaces are involved, it was matching to the records it should, but also incorrectly matching to some records with less than 10.


UPDATED: December 11, 2017
One solution to allow the correct matches to be made was to make the constant be right-justified, like '   10', and also right-justify the data.  The data could have been right-justified prior to LCP, but instead this parameter was inserted prior to the IF statement-
JUSTFY R 011 I 05
which means justify right position 011 for a length of 5 bytes, and the 'I' means upon input so it would be used during the comparison.  (As opposed to an O which would mean to do the justification before writing the record to the output file.)

The other solution would be to pad both the number field in the data, and the constant, with leading 0's, so they both would be 00010 for the comparison.