Bonjour
J'essaie de mettre en place un DELETE DYNAMIC dans un programme cobol mais je n'y arrive pas
Voici ce que j'ai mis dans le WORKING :
Et voici mon code dans la procédure division :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 01 W-CLE PIC X(2). 01 W-NUM PIC X(13). 01 W-DYNA-SQL. 05 WS-SQL-LEN PIC S9(4) USAGE COMP. 05 WS-SQL-TXT PIC X(150). 01 W-STR-LENGTH PIC 9(3) VALUE ZERO.
A la compilation j'ai l'erreur suivante qui remonte :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 MOVE '00' TO W-CLE MOVE '0123456789123' TO W-NUM MOVE SPACES TO WS-SQL-TXT STRING "DELETE FROM MA_TABLE WHERE" " MA_TABLE_MA_CLE='" W-CLE "' AND MA_TABLE_MON_NUM=" W-NUM DELIMITED BY SIZE INTO WS-SQL-TXT DISPLAY 'DYNAMIC-SQL :' WS-SQL-TXT '*' INSPECT FUNCTION REVERSE(WS-SQL-TXT) TALLYING W-STR-LENGTH FOR LEADING SPACES COMPUTE WS-SQL-LEN = LENGTH OF WS-SQL-TXT - W-STR-LENGTH DISPLAY 'THE STRING LENGTH IS:' WS-SQL-LEN DISPLAY 'WS-SQL-TXT: ' WS-SQL-TXT(1:WS-SQL-LEN) '*' EXEC SQL PREPARE STMT1 FROM :W-DYNA-SQL END-EXEC EXEC SQL EXECUTE STMT1 END-EXEC
La seule chose que j'ai trouvé c'est ici : Lien IBMDSNH312I DSNHPARS UNDEFINED OR UNUSABLE HOST VARIABLE "W-DYNA-SQL"
Mais je ne comprends pas trop comment faire autrement.
Est-ce que quelqu'un pourrait m'aider ?
Merci d'avance,
Partager