OptionalParameters

From MidrangeWiki
Revision as of 15:23, 27 September 2007 by Mattt (talk | contribs)
Jump to: navigation, search

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