Dans un programme, j'appelle un pgm qui renvoi des valeurs avec octets de valeur indéfinie.
A la compilation, il y a ce message d'avertissement : RNF7356 00 1 Le paramètre comporte une mappe d'octets de valeur indéfinie mais OPTIONS(*NULLIND) n'est pas spécifié sur le prototype.
Code : Tout sélectionner
d NomPgm pr extpgm('NomPgm')
d 9
d 245
* DS paramètres en entrée pour FDERDET
D parm1 E DS EXTNAME(DS1) PREFIX(£F_)
D parm2 E DS EXTNAME(DS2) PREFIX(£W_)
/free
£w_zone1 = G_COPAIP;
£w_zone2 = G_NUNATI;
NomPgm (parm1:parm2);
zone3 = £w_zone3;
zone4 = £w_zone4;
/end-free
Par contre en passant par i Navigator Exécution d'un script SQL, l'exécution s'interrompt et affiche le message suivant :
Message : [CEE9901] Application error. MCH3401 unmonitored by PGM10 at statement 0000000577, instruction X'0000'. Cause . . . . . : The application ended abnormally because an exception occurred and was not handled. The name of the program to which the unhandled exception is sent is PGM10 PGM10 . The program was stopped at the high-level language statement number(s) at the time the message was sent. If more than one statement number is shown, the program is an optimized ILE program. Optimization does not allow a single statement number to be determined. If *N is shown as a value, it means the real value was not available. Recovery . . . : See the low level messages previously listed to locate the cause of the exception. Correct any errors, and then try the request again.
Le numéro de ligne correspond à NomPgm (parm1:parm2);
Je ne peux pas mettre OPTIONS(*NULLIND) au niveau de : D parm2 E DS EXTNAME(DS2) PREFIX(£W_)
Si je le mets au niveau
Code : Tout sélectionner
d FDERDET pr extpgm('FDERDET')
d 9
d 245 OPTIONS(*NULLIND)
Comment résoudre ce problème ...
Merci d'avance pour votre aide.