Appel programme COBOL dans un sh

Appel programme COBOL dans un sh - Shell/Batch - Programmation

Marsh Posté le 21-03-2012 à 14:31:00    

Encore bonjour à tous les pro du ksh  :)  
 
Comme dit sur un précédent topic pour allouer mes fichiers, ici j'ai besoin d'appeler un programme cobol en bypassant les fonctions existantes :  
 
Mon sh actuel :  
f_cobol00 -b VAMA10
 
La fonction f_cobol00 : (si quelqu'un peut m'expliquer ce que ça fait, je pige rien  :sweat: )
    BD='no'
    while getopts ":b" opt; do
    case $opt in
 b) BD='yes'                        ;;
 *) if [ "${opt}" != "h" ]; then
  print  "Syntax error"
    fi
    print ' EJR fonction f_cobol00 [-b] PgrName '
    exit -1
    ;;
    esac
    done  
    if [ "${BD}" = "yes" ]; then
 . STEP -b $2
        else
 . STEP $1
    fi
 
la fonction STEP : (que fait le time ??? )
time runb $pgr
 
le runb est un programme cobol ...  
je pense qu'il faudrait dans mon nouveau sh remplacer la fonction f_cobol par appel au runb en passant le param VAMA10
mais comment ?  
merci encore à vous  

Reply

Marsh Posté le 21-03-2012 à 14:31:00   

Reply

Marsh Posté le 21-03-2012 à 15:34:52    

>que fait le time ?
 
La réponse (si on ne la connait pas déjà) est donnée par

man time

qui renvoie

time - time a simple command

Cela signifie (si on connait l'anglais), que cela mesure le temps. C'est utilisé pour information.
 
> je pense qu'il faudrait dans mon nouveau sh remplacer la fonction f_cobol par appel au runb en passant le param VAMA10 mais comment ?  
 
Essayer, tout simplement :

runb VAMA10

Reply

Marsh Posté le 21-03-2012 à 15:51:44    

cela me semblait trop facile ;-)
 
je vais essayer .. merci pour les infos

Reply

Marsh Posté le 21-03-2012 à 15:55:49    

Par contre, à cette ligne :  
f_cobol00 -b VAMA10  
 
à quoi sert le -b ?  
 

Reply

Marsh Posté le 22-03-2012 à 10:28:24    

Le -b est testé là

while getopts ":b" opt; do  
    case $opt in  
 b) BD='yes'                    


Donc, si il y a -b, cela met la variable BD à 'yes'.
 
Plus loin la variable BD est testée :

if [ "${BD}" = "yes" ]; then  
 . STEP -b $2  
        else  
 . STEP $1  
    fi


Bref, si on lance f_cobol00 -b toto, cela fait runb -b toto
et si on lance f_cobol00 toto, cela fait runb toto

Reply

Marsh Posté le 22-03-2012 à 11:19:26    

Un grand merci à toi ;)  

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed