Bonjour,
Je sollicite votre aide car je sèche sur un plantage cics assez étrange :
Voici le compte rendu d'un outil d'aide au débuggage au moment de l'erreur :
Je plante sur un receive en AIEV, donc sur un problème de longueur. C'est logique car LONGMAP vaut 302 (!!). Pourtant cette variable n'est jamais modifiée dans le programme (!). Elle est initialisée à 1000. Ce plantage est assez rare (2 fois dans une journée sur des centaines d'utilisations du programme). Est-ce que ce problème vous évoque quelque chose ? Je vois que la variable de longueur (LONGMAP) est passée "by reference", est-ce que CICS modifie la valeur de la variable (si je passe plusieurs fois sur le receive) ?
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 TRANID: E004 CICS ABEND: AEIV 001686 *EXEC CICS RECEIVE INTO (ZORECEP) 001687 * LENGTH (LONGMAP) 001688 *END-EXEC. 001689 Call 'DFHEI1' using by content x'0402c0000700000014000040 001690 - '00f0f1f4f4f2404040' by reference ZORECEP by reference 001691 LONGMAP end-call. The COBOL source code for data fields involved in the failure: Source Line £ 000081 77 LONGMAP PIC S9(4) COMP SYNC VALUE +1000. 000083 77 ZORECEP PIC X(1000). Data field values at time of abend: LONGMAP = 302 ZORECEP = . AE003. N SAISIE . ^SORTIE PREPARATION .AH11/06/13.B/TOURNEE NOTE: Above value truncated after 118 bytes.
(Quelques heures plus tard re-plantage... cette fois LONGMAP valait 266...)
Je vous remercie à l'avance.
Partager