Controllo parametri mancanti
Visita il nuovo sito https://www.markonetools.it/controllo-parametri-mancanti-in-clp/
Per controllare in un programma CLP chiamato se il chiamante ha passato un parametro si può tentare di usare la variabile del parametro e testare l'errore MCH3601.
Per ogni parametro che può essere opzionale bisogna definire nel programma CLP una variabile di appoggio che dovrà essere valorizzata se il parametro viene passato oppure inizializzata a blanks o zero se il parametro viene omesso,
Nel programma CLP si dovrà sempre usare la variabile di appoggio, tranne - ovviamente - nell'istruzione iniziale di controllo se il parametro viene passato.
Cfr. anche http://www.rpgpgm.com/2014/07/how-to-cope-with-missing-parameters-in.html
Di seguito un esempio:
PGM PARM(&P_PARM1)
DCL VAR(&P_PARM1) TYPE(*CHAR) LEN(10)
DCL VAR(&PARM1) TYPE(*CHAR) LEN(10)
CHGVAR VAR(&PARM1) VALUE(&P_PARM1)
MONMSG MSGID(MCH3601) +
EXEC(CHGVAR VAR(&FLD) VALUE(' '))
...
ENDPGM