Cobol :Gestion des fichier vsam ksds

Bonjour.
Je débute en Cobol, je suis en formation et j’ai difficultés avec un exercice.
Merci d’avance de votre aide.
Exo:
Un fichier de maj des articles en entrée ( fichiers séquentiel)
Le fichier des articles en maj ( fichier vsam ksds)

*Écrire un pseudo code
*Crée un programme Cobol

  • Faire un jeu de tests: pour chaque MAJ NEW et DELETE
  • Fournir le jclbavec les fichiers de tests.

Merci.

Bonjour,
Alors même si nous sommes des vieux, on ne doit pas être beaucoup sur la Zone à être à l’aise avec le Cobol - dernière fois que j’ai touché à quelque chose approchant le Cobol, c’était en 1995.
De plus il est rare que l’on fasse les exercices pour les étudiants / apprentis / formés.

Pour le pseudo code, ça dépend de la granularité souhaitée par le formateur, mais je vois bien au moins au début:
Tant que Fin de fichier non atteinte a <- lire ligne sauver a dans fichier.vsam Fin Tant Que

Mais bon, il faut voir ce qui est demandé aussi, là, qu’est-ce que l’on veut faire avec les données? Dans le pseudo code, je fais un bête Lis → Ecris

On fait « aide aux devoirs » maintenant ? :smiley:

(un peu facile, mais ça se tentait ;))

2 « J'aime »

Euh, question HS : c’est quoi les débouchés aujourd’hui ?
La dernière fois que j’en ai « recruté », c’était pour le passage de l’an 2000 pour les systèmes bancaires…
Et effectivement, même remarque que @Donjohn !

On en a toujours pas mal dans le bancaire et l’assurance.

3 « J'aime »

Faut demander ici :innocent:

Bah le même blog où j’ai écrit sur les NFT en parle :smiley:

(bon ils ont tout pété côté mise en page avec la fusion chez BPCE, oh well…)

3 « J'aime »

Si on avait cassé que ça… :wink:

1 « J'aime »

Je n’avais lu que ton papier, je viens d’aller lire celui-là aussi.
le 3270 ça m’a rappelé des souvenirs (poussiéreux)

1 « J'aime »

Merci

Voici le pseudo code
Entrée :

  1. fichier séquentiel contenant des records avec clé, data et
    la nature de l’opération à effectuer (MAJ, NEW, DEL)
  2. fichier stock (VSAM)

déclarer fichiers et variables

Traitement :

Lire fichier séquentiel

FAIRE TANT QUE FIN FICHIER séquentiel PAS ATTEINTE

Exécuter un paragraphe de SI's :
SI 'NEW'
	check si existe pas
	Write new record dans VSAM
SI 'MAJ'
	check si existe
	Rewrite record dans VSAM
SI 'DEL'
	check si existe
	Delete (record du) fichier VSAM

READ fichier séquentiel

FIN FAIRE

Exécuter le paragraphe de SI’s pour le dernier record lu dans fichier séquentiel.

Merci

Des boîtes qui nos forment pour devenir ingénieur mainframe.
I

j’allais justement dire, sans grande certitude, que mon SI avait du Cobol (moi je suis utilisateur final, je code pas)

1 « J'aime »

Salut ! Je ne suis pas sur de comprendre, donc je vais paraphraser et tu me diras si c’est j’ai bien compris, tu as deux fichiers un en entrée (séquentiel) et un en sortie (VSAM) qui serait en MAJ ?

Du coup, tu dois faire un programme qui va mettre à jour le fichier VSAM.

Déjà j’aurais une question, est ce que le fichier de sortie est bien en MAJ (très rare, je n’en ai jamais vu en deux ans d’xp) ou est ce qu’il faut simplement mettre à jour un éventuel troisième fichier en sortie ?
Est ce qu’il faut prévoir d’éventuels doublon ( Surtout dans le fichier en sortie) ?

Pour ce qui est du JCL, il te faut juste un JCL basique avec les deux fichiers correctement paramétrés.
J’imagine qu’en formation on vous demande de faire des JCL de A à Z, en entreprise, personne n’a de temps à perdre avec ça, du coup, il y a toujours un template, que tu adapte à ce que tu as dans ton cobol.

NB : en Cobol, pour les boucles, c’est « Jusqu’à »(UNTIL) et pas « tant que », c’est différent de la plupart des autres langages de programmation sur ce point, et il faut vraiment que tu le prenne en compte au risque de faire une bourde.
Donc par exemple, dans ton algorithmie, il faut que tu fasse une boucle du style PERFORM UNTIL FIN DE FICHIER. et pas TANT QUE FIN DE FICHIER comme en java par exemple.