I am guessing you don't need that line in the program anymore but it may have been used at some time in the past. I am pretty sure you won't find any IN or OUT statements using ODKEYS.
The key to what is happening is the U in the data structure definition. An edited excerpt from the manual:
U defines a Data-area data structure.
-RPG IV retrieves the data area at initialization and rewrites it at end of
program.
- If the DTAARA keyword is not specified, the name in positions 7-21 is
used as the name of the external data area.
So I would think you have a data area on the system named @BILDS that is read at the beginning of you program and written at the end automatically for you.
Scott Mildenberger
Programmer/Analyst
Davis Transport Inc.
Missoula, MT
406-728-5510 x128
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Michael Schutte
Sent: Tuesday, October 08, 2013 11:25 AM
To: RPG programming on the IBM i / System i
Subject: DEFINE *DTAARA Confusion.
I'm looking at some code that is very confusion to me.
In a routine that is never called (actually named NEVER), there's this line...
C *DTAARA DEFINE ODKEYS @BILDS
From what I've read is that ODKEYS is supposed to be an external data
structure. However, it doesn't exist on the system whatsoever. ODKEYS is not a field within the program anywhere, and it's not being built on the fly in QTEMP or anything. I'm just totally lost.
Before I go any further... @BILDS is defined in the DSPECS.
D @BILDS UDS
D @@BILL 1 7 0
D @@SSEQ 8 10 0
Maybe I'm reading too much into this. But I don't see how the program compiles when it doesn't know what ODKEYS is. The program does compile.
Could it be some global variable or system variable? I don't know just throwing it out there.
Any help would be appreciated.
--
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:
http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/rpg400-l.
As an Amazon Associate we earn from qualifying purchases.