Bonjour à vous...
J'ai un soucis dans la gestion de message dans un sous fichier.
Si un champ est vide dans l'écran, le programme cobol appel un CL pour envoyer un message d'anomalie:
ACTION est valorisé à 'S'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 /****************************************** /*Envoi d'un message dans la pgmq du programme appelant /****************************************** IF COND(&ACTION *EQ 'S') THEN(SNDPGMMSG + MSGID(&MSGID) MSGF(&FICMSG) MSGDTA(&MSGDTA))
MSGID contient le numéro de l'erreur
FICMSG contient le nom du fichier des erreurs
MSGDTA est vide
Une fois le message envoyé, le composant cobol écrit le sous fichier et le fichier, mais la zone ou devrait être écrite l'anomalie dans le sous fichier est vide.
voici mon sous fichier:
J'ai alimenté le nom de la file d'attente de message PGM OF MSGS01-O et PGM OF MSGC01-O avec le nom de mon programme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 A***************************************************************** A* sous fichier de message * A***************************************************************** A R MSGS01 SFL A SFLMSGRCD(24) A MSGKEY SFLMSGKEY A PGM SFLPGMQ(10) A***************************************************************** A* Format de contrôle du sous fichier de message * A***************************************************************** A R MSGC01 SFLCTL(MSGS01) A OVERLAY A SFLDSP A SFLDSPCTL A SFLINZ A 50 SFLEND A SFLSIZ(0010) A SFLPAG(0001) A PGM SFLPGMQ(10)
Et je ne comprends pas la raison. Je suis passé en debug dans le CL et dans le programme, je ne vois rien qui cloche.
Quelqu'un aurait-il une idée?
merci
Partager