It did what you told it to - it concatenated 'R' with MyKey6.

+ is the concatenation character. It is only valid as a continuation character in literals.

The free-form ( keys ) syntax allows you to specify any number of keys from 1 to max. So you just told it to use 5 keys. Had the ":" been present the compiler would probably have flagged the + as an error (although maybe not).


Jon Paris

www.partner400.com
www.SystemiDeveloper.com

On Aug 15, 2018, at 9:34 AM, Vinay Gavankar <vinaygav@xxxxxxxxx> wrote:

Hi,

We have a logical file with 6 keys.

We had following code running in Production for about 8 months:

Setll (MyKey1:MyKey2:MyKey3:MyKey4:'R' +
MyKey6) MyFile ;
If not %eof(MyFile) ;
ReadE (MyKey1:MyKey2:MyKey3:MyKey4:'R' +
MyKey6) MyFile ;

We recently discovered the missing colon between the 5th and 6th key when
trying to find the root cause of some missing data in the file. It seemed
that the 2 statements were being executed with just 5 keys.

I was wondering what the compiler did with the 6th parameter in the
statements. When I changed MyKey6 to an undefined variable, the compiler
gave an error.

TIA

Vinay
--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxx for any subscription related questions.

Help support midrange.com by shopping at amazon.com with our affiliate link: http://amzn.to/2dEadiD


This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2020 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].