OptionalParameters
From MidrangeWiki
ILE CL programs can accept optional parameters.
One must use the CEETSTA procedure to know if the parameter has been passed.
PGM PARM(&PARM1 &PARM2) DCL VAR(&PARM1) TYPE(*CHAR) LEN(3) DCL VAR(&PARM2) TYPE(*CHAR) LEN(3) DCL VAR(&PARMRESULT) TYPE(*INT) LEN(4) DCL VAR(&PARMNUMBER) TYPE(*INT) LEN(4) CHGVAR VAR(&PARMNUMBER) VALUE(1) CALLPRC PRC(CEETSTA) PARM(&PARMRESULT &PARMNUMBER *OMIT) IF COND(&PARMRESULT *EQ 1) THEN(DO) CALL PGM(PROGRAM2) PARM(&PARM1 &PARM2) ENDDO ELSE CMD(DO) CALL PGM(PROGRAM2) PARM(&PARM1) ENDDO ENDPGM