|
On Dec 10, 2025, at 7:06 AM, Infodorado InfoDorado via RPG400-L <rpg400-l@xxxxxxxxxxxxxxxxxx> wrote:
The RPG compiler is a single-pass compiler, meaning at each line, the compiler says "sti cks, stacks, No take-backs". I've done refused to compile until I changed the order of the lines. I think it is an artifact from the days of compiling RPG from the card decks.
That would explain the order of the specs. F-specs first, D-specs second, I-specs next, then D-specs. With advances in hardware the compiler team could do procedures as part of a program. But they're still one-take compiling.
I think I'm right on this. Maybe Barbara or Jon will tune in and confirm me on this or not.
--Alan
On 12/09/2025 4:21 PM EST Vern Hamberg via RPG400-L <rpg400-l@xxxxxxxxxxxxxxxxxx> wrote:--
Hi Daniel
At first blush, I think of the differences - LIKE(...) is an internal
reference, EXTNAME(....) and LIKEREC(....) are external references -
certainly the former is. I think I heard something several years ago
about that.
*Regards*
*Vern Hamberg*
IBM Champion 2025 <cid:part1.oShfFtg1.WUoBapUM@centurylink.net> CAAC
(COMMON Americas Advisory Council) IBM Influencer 2023
On 12/9/2025 2:06 PM, Daniel Gross wrote:
Hi Doug,--
I had some more time, and tried some code.
In fact - it is absolutely no problem, to have a LIKE(...) definition even if the original field is defined "later" in the code.
But if the original fields are defined with EXTNAME(...) or LIKEREC(..) this definition must be defined and the LIKE(...) definition has to follow it.
I don't know why this is the case - and I cannot find something about this in the Info Center. Maybe someone with deeper knowledge of the RPG compiler can help here - Barbara? Jon?
HTH
Daniel
Am 09.12.2025 um 01:48 schrieb Marco Facchinetti<marco.facchinetti@xxxxxxxxx>:
Hi Douglas, just move the Ds declaration before the varchar one:
dcl-ds frf_control extname('CONTROL');
dcl-s p_folder varchar(%len(actclon1));
HTH
--
Marco Facchinetti
Mr S.r.l.
Tel. 035 962885
Cel. 393 9620498
Skype: facchinettimarco
Il giorno lun 8 dic 2025 alle ore 15:56 DEnglander--- via RPG400-L <--
rpg400-l@xxxxxxxxxxxxxxxxxx> ha scritto:
Marco,
I tried what you listed, and it won't compile. I am running V7R4, with TR
10. What version are you running?
This is the line in my program:
dcl-s p_folder varchar(%len(actclon1));
ACTLON1 is a field in file CONTROL.
I also have this a little further down in the source:
dcl-ds frf_control extname('CONTROL');
I get the RNF3320. What is even more strange in this program, is that I
also have the CONTROL file opened for input in an F spec, and the compiler
still is complaining. But the message appears to show its complaining
about the varchar(%len()), not the actual field definition itself. That is
why I'm thinking I need to maybe have TR 11 installed first.
Thank you,
Douglas Englander
Senior Programmer/Analyst
The C. D. Hartnett Company – Corporate Offices
1-817-594-3813 ext. 1636
"CONFIDENTIALITY NOTICE: This e-mail transmission (and/or the attachments
accompanying it) contain confidential information belonging to the sender.
The information is intended only for the use of the intended recipient. If
you are not the intended recipient, you are hereby notified that any
disclosure, copying, distribution or the taking of any action in reliance
on the contents of the information is strictly prohibited. Any
unauthorized interception of this transmission is illegal under the law.
If you have received this transmission in error, please promptly notify the
sender by reply e-mail, and then destroy all copies of the transmission."
--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email:RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit:https://lists.midrange.com/mailman/listinfo/rpg400-l
or email:RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
athttps://archive.midrange.com/rpg400-l.
Please contactsupport@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email:RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit:https://lists.midrange.com/mailman/listinfo/rpg400-l
or email:RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
athttps://archive.midrange.com/rpg400-l.
Please contactsupport@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.