Trying to receive a JCL Parm in Easytrieve, but getting a S0C4 U0020 in ETRSM when calling EZTPX01
Easytrieve Report Generator, release 11.6
Coding the following:
PARM-INFO W 17 A
PARM-LTH PARM-INFO 2 B
PARM-DATA PARM-INFO +2 15 A
PARM-ANALYSIS. PROC
*PARM-LTH=5
CALL EZTPX01 USING (PARM-REGISTER PARM-INFO)
END-PROC
The below PARM-REGISTER must be updated with the length of the PARM-INFO before calling EZTPX01.
43 PARM-ANALYSIS. PROC
44 *PARM-LTH=5 <==== uncomment this line of code
45 CALL EZTPX01 USING (PARM-REGISTER PARM-INFO)
The info on EZTPX01 section is dropped, because release 11.x has a much better way to get parameters from the JCL.
That’s the PROGRAM USING statement. The attached program shows how to do it .
This uses a VARYING field if the length of the parameters being passed is unknown:
DEFINE PARM-CODE S 3 A
DEFINE TEXT-FIELD W 15 A
PROGRAM NAME TESTIT USING PARM-CODE
EXECUTE JOB1
*
******************************************
* TEST PROGRAM TEST001.EZT USING PROGRAM *
* ACTIVITY TO GET PARM VALUE *
******************************************
*
JOB NAME JOB1 INPUT NULL
*
IF PARM-CODE EQ 'AAA'
TEXT-FIELD = 'FIRST VALUE'
ELSE
TEXT-FIELD = 'SECOND VALUE'
END-IF
*
DISPLAY 'PARM-FIELD = : ' PARM-CODE
STOP