Bonjour à tous,
COBOL est-il capable de gérer la cas suivant :
Un programme contient 3 variables :
A, B et C
A contient "VALEUR1"
B contient "VALEUR2"
C contient "VALEUR3"
L'appel au programme s'effectue en lui passant une variable dans laquelle on peut saisir A, B ou C
Il faudrai que le programme retourne la valeur associée à A, B ou C.
Merci
si tu ne veux pas faire une "variable de variable",
une substitution... ce que ne sait pas faire Cobol,
je pense ( il faudrait une ch'tite routine assembleur )
de bêtes tests ?
si appel="a" renvoyer A
sinon si appel="b" renvoyer B
sinon renvoyer C
Une solution plus simple que d'écrire une routine système comme le suggère notre ami BUL est de faire un petit sous programme qui retournerai le contenu de la valeur saisie.
Exemple Programme appelant P1
3 variables :A, B et C
A contient "VALEUR1"
B contient "VALEUR2"
C contient "VALEUR3"
Appel sous programme P2
Traitement pgm P2 et retour en P1 avec les valeurs de chaque variables
Autre solution encore plus simple. Faire gérer tes valeurs à travers un petit fichier paramètres (.TXT) au sein d'un seul programme.
Exemple :
Creation et lecture du fichier paramètre contenant les variables suivantes :
A contient "VALEUR1"
B contient "VALEUR2"
C contient "VALEUR3"
Traitement
lecture fichier paramètre
Si variable = 'A' alors récupérer sa valeur ( 'VALEUR1')
Si variable = 'B' alors récupérer sa valeur ( 'VALEUR2') etc ...
Salut,
Dans mon domaine, la solution la plus souvent utilisée dans ce cas de figure ets l'utilisation de Table CICS. Ce sont des VSAMS consultable et parametrable sous le CICS. Lorsque dans ton pgm batch tu appelles la Table, tu obtiens en retour la valeur parametrées. Dans ce il te suffit juste de mettre ton VSAM entrée du pgm au niveau JCL et de codé le call du VSAM ds ton pgm.
Par contre je ne sais pas si ce fonctionnement est generalisé ????