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 :
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.
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
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
A la compilation j'ai l'erreur suivante qui remonte :
DSNH312I DSNHPARS UNDEFINED OR UNUSABLE HOST VARIABLE "W-DYNA-SQL"
La seule chose que j'ai trouvé c'est ici : Lien IBM

Mais je ne comprends pas trop comment faire autrement.
Est-ce que quelqu'un pourrait m'aider ?

Merci d'avance,