[Labo cobol] 3ème partie du projet

Voir le sujet précédent Voir le sujet suivant Aller en bas

resolu [Labo cobol] 3ème partie du projet

Message  Fabio le Sam 02 Mar 2013, 19:26

Bonsoir, je suis bloqué depuis 2 jours maintenant au premier point de la 3ème partie du projet.
Lorsque je créé la clé secondaire, qui est ici "formateur", du fichier vsam cours, il y a une boucle qui se créé.
Avant de créé cette clé secondaire, tout fonctionne correctement, je fais donc surement une erreur lors de la
définition de ma clé secondaire confused
--> RO 19.05.28 JOB26318 $HASP165 ANDR120 ENDED AT PRD1 - ABENDED S722 U0000.

Voici les différentes parties ou je créé cette clé secondaire et qui font bugger tout mon programme :

Idcams de création de la clé secondaire :
Spoiler:

//***** Création de la clée secondaire du fichier VSCOURS *****
//STEP4 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=Z
//SYSIN DD *
DEFINE AIX ( NAME(VSECOL.ANDR.TEST.ANDR120.VSCAIX) -
RELATE(VSECOL.ANDR.TEST.ANDR120.VSCOURS) -
NONUNIQUEKEY -
KEYS (5 30) -
TRACKS (1 1) -
)
DEFINE PATH ( NAME(VSECOL.ANDR.TEST.ANDR120.VSCPATH) -
PATHENTRY(VSECOL.ANDR.TEST.ANDR120.VSCAIX) -
)
BLDINDEX INDATASET (VSECOL.ANDR.TEST.ANDR120.VSCOURS) -
OUTDATASET (VSECOL.ANDR.TEST.ANDR120.VSCAIX)
/*

Select du fichier vsam cours :
Spoiler:

SELECT FVSCOURS ASSIGN TO VSCOURS
ORGANIZATION IS INDEXED
ACCESS MODE IS DYNAMIC
RECORD KEY IS REFCOURS OF DATAVSCOURS
ALTERNATE RECORD KEY IS FORMATEUR OF DATAVSCOURS
WITH DUPLICATES
FILE STATUS IS FS-FVSCOURS.

FD du fichier vsam cours :
Spoiler:

FD FVSCOURS.
01 DATAVSCOURS.
03 REFCOURS PIC X(5).
03 NOMCOURS PIC X(25).
03 FORMATEUR PIC X(5).
03 MAX PIC 99 PACKED-DECIMAL.
03 NBINSCRIT PIC 9(3).
03 TETEINSCRIT PIC 9(4).

Première lecture du fichier vsam cours qui boucle par la suite :
Spoiler:

1-2-OuvertureVsCours.
OPEN INPUT FVSCOURS
READ FVSCOURS NEXT RECORD
END-READ
.
J'ai fait un perform ... until fs-fvscours = "10" afin de voir lorsqu'on arrive
à la fin du fichier lors de la lecture des enregistrements...

Le go reliant l'aix :
Spoiler:

http://GO.VSCAIX DD DSN=VSECOL.ANDR.TEST.ANDR120.VSCPATH,DISP=MOD

Merci d'avance pour votre aide

Fabio

Nombre de messages : 5
Prénom : Vincenzo Fabio
Statut : Etudiant
Date d'inscription : 25/09/2011

Revenir en haut Aller en bas

resolu Re: [Labo cobol] 3ème partie du projet

Message  efo le Dim 03 Mar 2013, 19:54

le problème est au niveau du programme cobol. Pour parcourir le fichier suivant la clé secondaire, il faut l'initialiser à la première valeur souhaitée. Comme elle est inconnue, mettez low-value dans formateur et demandez à vous positionner sur le 1er record de clé secondaire >=. Ceci se fait par un START. En cas de succès au start, il reste à lire cet enregistrement et continuer le parcours séquentiel.

Pour tout cela, il faudra 2 ordre DD concernant le fichier :
http://GO.VSCOURS DD DSN=....
http://GO.VSCOURS1 DD DSN=.... ici il faut le nom du path

efo

Nombre de messages : 125
Age : 59
Prénom : Eric
Localisation : tournai
Date d'inscription : 08/08/2007

Revenir en haut Aller en bas

resolu Re: [Labo cobol] 3ème partie du projet

Message  Fabio le Dim 03 Mar 2013, 21:36

Merci pour votre aide, j'ai bien placer le start comme vous me l'avez dit, et j'ai déjà placé les 2 go concernant le fichier vscours et son aix :

Spoiler:

MOVE LOW-VALUE TO FORMATEUR OF FVSCOURS
DISPLAY FS-FVSCOURS
START FVSCOURS KEY IS >= FORMATEUR OF FVSCOURS
INVALID KEY DISPLAY "Erreur clé secondaire"
END-START
READ FVSCOURS NEXT
END-READ

Spoiler:

http://GO.VSCOURS DD DSN=VSECOL.ANDR.TEST.ANDR120.VSCOURS,DISP=MOD
http://GO.VSCOURS1 DD DSN=VSECOL.ANDR.TEST.ANDR120.VSCPATH,DISP=MOD

Mais le problème persiste malgré tout, j'ai de nouveau le abend 722 et sa boucle sur le 1er enregistrement du fichier. De plus, lorsque je fais un display de formateur juste après avoir fait le "move low-value...", il n'y a rien qui s'affiche. J'ai également affiché le file status du fichier vscours juste après l'avoir ouvert en input et j'obtient 35...

Fabio

Nombre de messages : 5
Prénom : Vincenzo Fabio
Statut : Etudiant
Date d'inscription : 25/09/2011

Revenir en haut Aller en bas

resolu Re: [Labo cobol] 3ème partie du projet

Message  efo le Dim 03 Mar 2013, 22:11

quelques interrogations et tests à faire.
Je suppose que le http://GO.VSCAIX est disparu: il n'a pas de raison d'être.
Le start ne 'tombe' pas en invalid key ?
Un fs de 35 signifie que le fichier n'est pas présent : c'est incohérent avec le fait que le 1er record est obtenu. Est-ce bien le premier d'après la valeur de formateur (c'est un coupi pour crs02 et formation 02) ?
Testez donc le 'read next' avec ce bon vieux 'at end ' et un 'not at end' qui fait simplement un display de l'enregistrement lu.
Le read next est-il présent dans la boucle ?

Avant toute chose, le BLDINDEX est-il fait ?
Voilà des pistes de réflexion.

efo

Nombre de messages : 125
Age : 59
Prénom : Eric
Localisation : tournai
Date d'inscription : 08/08/2007

Revenir en haut Aller en bas

resolu Re: [Labo cobol] 3ème partie du projet

Message  Fabio le Dim 03 Mar 2013, 22:50

Concernant le go.vscaix, il est devenu go.vscours1 désormais. J'ai également modifié le bldindex ainsi que le path de manière à ce que sa correspondent à vscours1. Apparemment le start ne passe pas du tout car même lorsque je fait un "not invalid key display "ok"", rien ne s'affiche. Et l'enregistrement que j'obtiens en boucle est "crs05 formation 07...".

Le read next est présent dans la boucle :
Spoiler:

MOVE REFCOURS OF DATAVSCOURS TO REFCOURS-ED OF AFF-VSCOURS
MOVE NOMCOURS OF DATAVSCOURS TO NOMCOURS-ED OF AFF-VSCOURS
MOVE FORMATEUR OF DATAVSCOURS TO FORMATEUR-ED OF AFF-VSCOURS
MOVE MAX OF DATAVSCOURS TO MAX-ED OF AFF-VSCOURS
MOVE NBINSCRIT OF DATAVSCOURS TO NBINSCRIT-ED OF AFF-VSCOURS
MOVE TETEINSCRIT OF DATAVSCOURS TO TETEINSCRIT-ED
OF AFF-VSCOURS
DISPLAY AFF-VSCOURS
READ FVSCOURS NEXT
AT END MOVE "1" TO EOF2
END-READ

De plus, j'ai placé un file status au début de la 2ème partie du projet, juste avant le chargement du fichier vsam listes, juste après avoir ouvert en I-O le fichier vscours, et j'obtient le numéro 39 cette fois-ci.

A oui, j'ai également omis de vous dire que lors du step4 concernant la définition d'aix, j'obtiens ceci :
Spoiler:

ERROR OPENING VSECOL.ANDR.TEST.ANDR120.VSCOURS
** VSAM OPEN RETURN CODE IS 160
FUNCTION TERMINATED. CONDITION CODE IS 12
IDCAMS PROCESSING COMPLETE. MAXIMUM CONDITION CODE WAS 12

J'ai pu lire sur internet que l'erreur serait du au fait que j'essaye d'ouvrir un fichier vide...
Je suis dans un vrai sable mouvant concernant cette partie du projet...

Fabio

Nombre de messages : 5
Prénom : Vincenzo Fabio
Statut : Etudiant
Date d'inscription : 25/09/2011

Revenir en haut Aller en bas

resolu Re: [Labo cobol] 3ème partie du projet

Message  efo le Dim 03 Mar 2013, 23:11

Pas simple avec les renseignements fournis.
Je ne connais pas de 'crs05 formation 7' !! Quelle est la provenance ?

Avez-vous édité vscours après partie 1 ou 2 pour vérification ? un simple display avec parcours séquentiel est suffisant.
Je viens de regarder les fichiers vsecol existant : il y a des andr120 et des etud120 : est-ce normal?

Premier problème à régler : si vscours est correct, faire disparaître ce code 12 idcams au step4. Tant qu'il n'est pas réglé, la suite ne fonctionnera pas.

efo

Nombre de messages : 125
Age : 59
Prénom : Eric
Localisation : tournai
Date d'inscription : 08/08/2007

Revenir en haut Aller en bas

resolu Re: [Labo cobol] 3ème partie du projet

Message  Fabio le Dim 03 Mar 2013, 23:40

"Crs 5 formation 07" provient du fichier vscours. Concernant andr120 et etud120 c'est normal, j'avais essayé les 2 dans mes différents step en pensant que l'erreur provenait de la.
C'est justement dans la 2ème partie du projet, après avoir chargé le fichier vsam liste, que j'essaye de faire une lecture séquentiel, avec un simple affichage via le display, de vscours afin de voir les données qu'il contient. Et c'est pour cette lecture la que vous m'avez conseillé de mettre un start afin de régler le problème de l'abend 722 qui était provoqué par cette même lecture séquentiel.

Pour ce qui est du code 12 par rapport au step 4, je ne comprend vraiment pas ce qui pourrait posé problème étant donné qu'au début du programme il est normal que le fichier vscours soit vide, à moins que je me trompe concernant la signification du return code 160 confused En tout cas, lors de la 1ère ouverture du fichier vscours dans la 1ère partie du projet, le return code que j'obtiens est 39, j'imagine que l'erreur doit forcément provenir lors de la définition de l'aix confused

Fabio

Nombre de messages : 5
Prénom : Vincenzo Fabio
Statut : Etudiant
Date d'inscription : 25/09/2011

Revenir en haut Aller en bas

resolu Re: [Labo cobol] 3ème partie du projet

Message  efo le Lun 04 Mar 2013, 00:12

Fabio a écrit:"Crs 5 formation 07" provient du fichier vscours. Concernant andr120 et etud120 c'est normal, j'avais essayé les 2 dans mes différents step en pensant que l'erreur provenait de la.
C'est justement dans la 2ème partie du projet, après avoir chargé le fichier vsam liste, que j'essaye de faire une lecture séquentiel, avec un simple affichage via le display, de vscours afin de voir les données qu'il contient. Et c'est pour cette lecture la que vous m'avez conseillé de mettre un start afin de régler le problème de l'abend 722 qui était provoqué par cette même lecture séquentiel.

Pour ce qui est du code 12 par rapport au step 4, je ne comprend vraiment pas ce qui pourrait posé problème étant donné qu'au début du programme il est normal que le fichier vscours soit vide, à moins que je me trompe concernant la signification du return code 160 confused En tout cas, lors de la 1ère ouverture du fichier vscours dans la 1ère partie du projet, le return code que j'obtiens est 39, j'imagine que l'erreur doit forcément provenir lors de la définition de l'aix confused

Je découvre plein de choses avec ce message. Je n'imaginais pas que le problème était à la partie1: je parle des parties 1, 2 et 3 du projet.
fs 39 : conflit d'attributs à l'ouverture du fichier et c'est la longueur en cause (discordance dans idcams et pgm ?). A voir absolument.
le start pour moi était à l'édition des cours par formateur, c à d le 1er point de la partie3.
Comme je ne vois pas tout le code et donc la structure de votre programme, je suis un peu dans le flou. C'est quoi ce step4? Quand intervient-il? Que fait-il exactement?
Voici à nouveau quelques idées:
s'assurer du bon fonctionnement de la partie1, ce qui ne semble pas être le cas. Pour cela éditer le fichier après chargement. On charge en random, donc il faut un autre step qui lit en séquentiel.
Ce même pgm d'édition peut être réutlisé après la partie2 pour nouvelle vérification après inscriptions.
Ce n'est qu'alors qu'on définit l'aix, le path et demande le bldindex. Si ceci est correct, parcourez les cours suivant l'ordre des formateurs (1er point partie3 avec start conseillé précédemment et accès dynamic).

efo

Nombre de messages : 125
Age : 59
Prénom : Eric
Localisation : tournai
Date d'inscription : 08/08/2007

Revenir en haut Aller en bas

resolu Re: [Labo cobol] 3ème partie du projet

Message  Fabio le Lun 04 Mar 2013, 01:13

Je pense avoir réglé le problème cheers , en fait lors du lancement de mon programme, j'avais mis les 4 premiers step (création des fichiers vsam cours, etudiant, listes et aix) l'un à la suite de l'autre et je n'ai donc pas partager mon programme en 2 morceaux (le premier morceau pour les parties 1 et 2 du projet et le 3ème morceau pour la partie 3). Maintenant tout semble fonctionner correctement, il ne me reste plus qu'à faire le 1er point de la 3ème partie du projet et j'ai fini. En ce qui concerne les fichiers erreur et attente, le fichier erreur contient bien 4 élèves et le fichier attente en contient 1 ?
Encore merci pour votre aide

Fabio

Nombre de messages : 5
Prénom : Vincenzo Fabio
Statut : Etudiant
Date d'inscription : 25/09/2011

Revenir en haut Aller en bas

resolu Re: [Labo cobol] 3ème partie du projet

Message  efo le Lun 04 Mar 2013, 10:36

Fabio a écrit: En ce qui concerne les fichiers erreur et attente, le fichier erreur contient bien 4 élèves et le fichier attente en contient 1 ?

Oui

efo

Nombre de messages : 125
Age : 59
Prénom : Eric
Localisation : tournai
Date d'inscription : 08/08/2007

Revenir en haut Aller en bas

resolu Re: [Labo cobol] 3ème partie du projet

Message  Contenu sponsorisé Aujourd'hui à 14:44


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum