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