Bill,
Don't be confused :-)
Here is the "bad" code. Note that they were receiving 3 bytes of data
in the parm, and had defined an 8 byte field for it. PRE ptf, the
remaining 5 bytes were ignored. That loop hole has been closed. It was
fixed by changing ws-runid-value to pic x(3).
WORKING-STORAGE SECTION.
01 MISC-WORKING-STORAGE.
05 WS-LINKAGE-PARM.
10 PARM-LENGTH PIC S9(4) COMP.
10 WS-RUNID-VALUE PIC X(8).
* WHEN ADDING TO THIS TABLE, THESE MUST BE IN ORDER BY RUNID
* (LETTERS COME BEFORE NUMBERS).
* PURE EMD JOBS START WITH 3. VITAL JOBS START WITH 100.
* MISC. EMD JOBS WITH OTHER FRONT-ENDS START WITH 200.
05 RUNID-LIST.
10 FILLER PIC X(08) VALUE 'ADC 0201'.
10 FILLER PIC X(08) VALUE 'CDC 0101'.
10 FILLER PIC X(08) VALUE 'DCS 0202'.
10 FILLER PIC X(08) VALUE 'EDC 0102'.
10 FILLER PIC X(08) VALUE 'E03 0003'.
10 FILLER PIC X(08) VALUE 'E04 0004'.
10 FILLER PIC X(08) VALUE 'E08 0008'.
10 FILLER PIC X(08) VALUE 'E12 0012'.
10 FILLER PIC X(08) VALUE 'E17 0017'.
10 FILLER PIC X(08) VALUE 'E19 0019'.
10 FILLER PIC X(08) VALUE 'E20 0020'.
10 FILLER PIC X(08) VALUE 'FDC 0203'.
10 FILLER PIC X(08) VALUE 'LDC 0103'.
10 FILLER PIC X(08) VALUE 'LOB 0204'.
10 FILLER PIC X(08) VALUE 'MAP 0205'.
10 FILLER PIC X(08) VALUE 'MDC 0104'.
10 FILLER PIC X(08) VALUE 'POS 0206'.
10 FILLER PIC X(08) VALUE 'VTT 0207'.
10 FILLER PIC X(08) VALUE 'W19 0919'.
05 RUNID-TABLE REDEFINES RUNID-LIST
OCCURS 19 TIMES
ASCENDING KEY RUNID-KEY
INDEXED BY X1.
10 RUNID-KEY PIC X(3).
10 FILLER PIC X(1).
10 RETURN-TO-USE PIC 9(4).
01 LK-PARM.
05 LK-PARM-LENGTH PIC S9(4) COMP.
05 FILLER PIC X(08).
200-DETERMINE-RETURN-CODE.
******************************************************************
* DETERMINE RETURN CODE BASED ON LINKAGE INPUT
******************************************************************
SEARCH ALL RUNID-TABLE
AT END MOVE +0000 TO RETURN-CODE
WHEN RUNID-KEY(X1) = WS-RUNID-VALUE
MOVE RETURN-TO-USE(X1) TO RETURN-CODE.
-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On
Behalf Of Bill Klein
Sent: Tuesday, October 11, 2005 3:53 PM
To: [email protected]
Subject: Fw: COBOL/LE runtime changes
I am confused. Is this still the case of where you are referencing data
that was NOT passed to the subprogram's Linkage Section? If so, I can
*guarantee* that there has NEVER been any "documented" support for
Passing a 3-byte field and having the subprogram be able to get binary
zeroes, spaces, or anything else in the 4th thru Nth byte.
Actually, there is ONE exception to this rule. If you PASS a data item
with an Occurs Depending On it, then the subprogram must be able to
access the "maximum" length. But other than that, you MAY only "count
on" accessing the data that is actually passed to a subprogram (or VIA
the PARM JCL parameter).
This e-mail transmission contains information that is confidential and may be
privileged. It is intended only for the addressee(s) named above. If you
receive this e-mail in error, please do not read, copy or disseminate it in any
manner. If you are not the intended recipient, any disclosure, copying,
distribution or use of the contents of this information is prohibited. Please
reply to the message immediately by informing the sender that the message was
misdirected. After replying, please erase it from your computer system. Your
assistance in correcting this error is appreciated.
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html