Bonjour,
j'ai écrit un programme awk (avec la participation de certains d'entre vous) pour modifier mes programme .pc sous unix.
Dans une partie de mon code, j'ajoute des instructions,
Au niveau de print " :cd_ret := FSET_MESSAGE\(\'SYSTEM\',\'SERVEUR\',0,:User,"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 if ($0 ~ /return\(0\);/) { print " EXEC SQL ROLLBACK WORK; /* RELEASE; GF 01102007 */" print "/* GF 01102007 debut : */" print " sprintf(lib err1,\"argc[0] TRAITEMENT TERMINE ANORMALEMENT, CODE ERREUR = %.70s (%d)\",sqlca.sqlerrm.sqlerrmc,-sqlca.sqlcode);" print " varCpy(lib_err,lib_err1);" print " EXEC SQL EXECUTE" print " BEGIN" print " :cd_ret := FSET_MESSAGE\(\'SYSTEM\',\'SERVEUR\',0,:User," print " to_number(nvl(:sessionid,\'0\'))," print " \'M\',sysdate,:lib_err\);" print " END;" print " END-EXEC;" print "/* GF 01102007 fin */"
j'ai rajouté des \ devant les ' sinon les ' n'apparaissaient pas dans mes programme .pc modifié.
et depuis quand j'exécute mon awk j'ai l'erreur suivante :
la ligne 133 étant la suivante
Code : Sélectionner tout - Visualiser dans une fenêtre à part ./awk_ajoutlignes_gf.sh: 0403-057 Erreur de syntaxe Ó la ligne 133 : `(' inattendu.
Quelqu'un peut-il m'aider svp
Code : Sélectionner tout - Visualiser dans une fenêtre à part print " to_number(nvl(:sessionid,\'0\')),"
Partager