Use DECLARE FOO CHAR(*) VARYING for the input value. If you need to copy it 
inside of a BEGIN or nested PROCEDURE block, or as CONTROLLED, you can use 
LENGTH(FOO) for a dynamic length.

You only receive the user parameter sideof the PARM, not the LE side.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3

________________________________________
From: IBM Mainframe Discussion List [[email protected]] on behalf of 
Farley, Peter [[email protected]]
Sent: Sunday, November 20, 2022 1:20 AM
To: [email protected]
Subject: Question on writing PL1 to use EXEC PARM/PARMDD

It's been quite a long while since I had a finger in any PL1 code, but I now 
have a small PL1 side project I need some help with.

I have a question about how to handle not only the "standard" EXEC PARM of up 
to 100 bytes, but also how to handle the newer EXEC PARMDD option which allows 
up to 32760 bytes of PARM data in a PL1 OPTIONS(MAIN) procedure.

In COBOL the quasi-standard I have been using is this structure in the LINKAGE 
section of a main program that expects PARM/PARMDD input:

 LINKAGE SECTION.
     01  PARM-AREA.
         05  PARM-LEN         PIC S9(4) BINARY.
         05  PARM-DATA.
             10 PARM-X          OCCURS 0 TO 32760
                                           DEPENDING ON PARM-LEN
                                           PIC X.

That structure occupies no storage in the COBOL program, and instead is 
accessed directly by using the R1 address passed to the COBOL program by the 
"EXEC PGM=" process.

How do I define a similar vehicle for PARM data in current releases of 
Enterprise PL1 (I have the V5.3.0 version available to me for this project)?  
Is there a way to do it with a CHAR (*) VARYING BASED variable?  Or have I lost 
all sense of what is and is not possible in PL1?

Please be gentle, it has been a very *long* time since I have done any actual 
PL1 coding, and a lot of memory cells from that bygone era have been lost to 
bit rot.

Any RTFM's or url pointers much appreciated.

Peter

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to