Cours et Tutoriel Cobol: Appel d’un sous-programme cobol
Bienvenue dans ce cours Cobol. ll convient de noter que nous parlons du langage Cobol des années 70, et ce cours profite premièrement à ceux qui s’intéressent à l’histoire de l’informatique.
L’appel â un sous-programme COBOL
Il se fait ã l’aide des ordres suivants:
Gø TØ nom-procedure-1
PERFØRM nom-procedure-2THRU nom-priocedure-3
EXECUTE nom-procedure-4THRU nom-procedure-5
L’ordre EXECUTE est semblable ã 1’ordre PERFØRM, mais une procédure utilisée dans un ordre EXECUTE ne peut pas être utilisée dans un autre ordre COBOL.
L’ordre ALTER peut également être utilisé avec des noms-procédure définis comme points d’entrée d’un sous-programme.
Appel d’un sous-programme êcrit dans un langage autre que COBOL
Cet ordre ENTER permet d’appeler un sous-programme FØRTRAN si cette option est indiquée. Dans le cas contraire, il s’agit d’un sous-programme écrit en langage assembleur.
Le nom-sous-programme est un mot formé de six caractères alphanumériques, le premier étant obligatoirement alphabétique.
La liste qui suit le mot REFERENCING correspond aux arguments du sous-programme FØRTRAN.
Ecriture d’un sous-programme en COBOL.
Un sous-programme est un programme Cobol contenant les quatre divisions habituelles, et que l’on compile séparément du programme appelant.
La data division division ne contient pas de section particulière, le transmission d’arguments se faisant par transfer effectif.
La définition des points d’entrée se fait dans la procédure division, aux points d’entrée eux-même
on écrit :
ENTER LINKAGE MODE.
ENTRY PØINT IS nom-point-d’entrée
USING Liste-d’arguments-données
GIVING liste-d’arguments-résultat
ENTER CØBØL.
Ce point ne doit jamais être atteint lors du déroulement du programme.
“nom-point-d’entrée” ne doit pas avoir plus de 6 caractères (lettre ou chiffre) et doit commencer par deux lettres.
Les listes-d’arguments contiennent des noms-données de la Working-Storage ou de la File Section (pour les fichiers avec PROCESS AREA).
Il y a un “nom-point-d’entrée” implicite qui le nom-du-sous-pro-gramme cité dans le paragraphe PRØGRAM-ID. I1 correspond à la première instruction normalement exécutable (hors DECLARATIVES) du programme et aucune liste-d’arguments ne lui est attachée.
LES SOUS-PROGRAMMES
pour rendre le contrôle au programme appelant, on doit utiliser
EXIT.
(qui, rappelons-1e, doit constituer un paragraphe).
Appel d’un sous-programme.
Quel que soit le langage de programmation du sous-programme,1’ordre d’appel est :
ENTER LINKAGE MØDE.
CALL nom-point-d’entrée USING liste-d’arguments
ENTER CØBØL.
“nom-point-d’entrée” permet d’exécuter la partie du sous-programme désirée.
La Iiste d’arguments contient des noms-données de la Data Division du programme appelant et il y a correspondance terme à terme entre cette liste et la liste accompagnant la définition du point d’entrée dans le sous-programme.
Ainsi, si le sous-programme appelé est un sous-programme COBOL, l’ordre ENTRY provoquera le transfert des premières données de la liste d’arguments de CALL dans les données correspondantes de la liste d’arguments-données de ENTRY.EXIT provoquera le transfert des données de la liste-d’arguments-résultats de ENTRY dans les données correspondantes de la liste-d’arguments de CALL (les derniers de la liste).
Cobol FAQ
COBOL était, et est toujours, un excellent choix pour ce pour quoi il a été conçu.
COBOL a été conçu comme un langage pour incorporer les processus métier dans le traitement automatique des données (le précurseur de l’informatique) et faire en sorte que le code soit si clair qu’un auditeur puisse apprendre à le lire en une semaine environ au point de pouvoir suivre le code pour voir si l’application correspondait au processus métier qu’elle essayait de mettre en œuvre.
COBOL est “anglais” et facile à lire. Il a peu ou pas de syntaxe étrange. Alors que les différents fabricants avaient des programmes d’extensions différents écrits sur un système, ils fonctionnaient sur la plupart des autres, souvent en n’ayant qu’à ajouter une “Division de compatibilité” (quelque chose comme ça) ou avec des options de compilateur. La version la plus étrange que j’ai jamais utilisée était la version PERTEC XL-40 et bien que différente, j’ai réussi avec peut-être une semaine d’apprentissage du nouveau système pour commencer à écrire du code de production.
Avis sur Cobol :
Si vous êtes jeune et que quelqu’un vous donne un emploi en COBOl, veuillez courir le plus loin possible. Ma recommandation est sous deux angles : (1) Les systèmes dont COBOL assure l’entretien sont retirés lentement et sûrement. Bien que COBOL en soi ne soit pas à blâmer, la plupart des nouvelles applications sont programmées en Java et dans d’autres langages. Les programmeurs COBOL sont de race isolée et ils ne seront pas facilement invités à travailler dans d’autres domaines. Ils sont isolés et souffriraient. (2) Encore une fois, bien que COBOL en soi ne soit pas un mauvais langage, les programmeurs sont très mauvais. Les programmeurs COBOL ont écrit du code spaghetti. Vous trouverez beaucoup de déclarations GO TO! Ils n’utiliseront donc pas de programmes internes, ils disposeront de mémoires de travail volumineuses éloignées du code réel qui utilise ces variables. Ils n’utilisent pas de programmes structurés. Ils n’ont aucun concept de sous-programmes réutilisables. La plupart des programmeurs aux premiers stades de COBOL venaient d’opérateurs de machines et ont appris une syntaxe COBOL et se sont appelés programmeurs.