Exemple d'utilisation du service DSNTIAR en COBOL
01 ER-MESSAGE.
02 ER-TEXT-LONG PIC S9(4) COMP VALUE +960.
02 ER-LIGNE PIC X(120) OCCURS 8.
01 ER-LIGNE-LONG PIC S9(9) COMP VALUE +120.
[. . .]
EXEC SQLSELECT NUMSECU INTO :HNUMSECU
FROM VUE001
WHERE IDIND= :HIDIND
END-EXEC
IF SQLCODE NOT = ZEROES
AND SQLCODE NOT = 100CALL 'DSNTIAR' USING SQLCA
ER-MESSAGE
ER-LIGNE-LONG
DISPLAY ER-MESSAGE
PERFORM 999-FIN-ANORMALE
END-IF.
Exemple de résultat (ici sur un ordre insert) :
é DSNT408I SQLCODE = -803, ERROR: AN INSERTED OR UPDATED VALUE
IS INVALID BECAUSE INDEX IN INDEX SPACE T02IN01 CONSTRAINS
COLUMNS OF THE TABLE SO NO TWO ROWS CAN CONTAIN DUPLICATE VALUES IN THOSE COLUMNS. RID OF EXISTING ROW IS X'000010ED28'.
DSNT418I SQLSTATE = 23505 SQLSTATE RETURN CODE
DSNT415I SQLERRP = DSNXRINS SQL PROCEDURE DETECTING ERROR
DSNT416I SQLERRD = -110 13172739 0 13817814 -490143744
0 SQL DIAGNOSTIC INFORMATION
DSNT416I SQLERRD = X'FFFFFF92' X'00C90003' X'00000000' X'00D2D7D6' X'E2C90000' X'00000000' SQL
DIAGNOSTIC INFORMATION
Description de la SQLCA :
http://www-01.ibm.com/support/knowle....0%2F2-10-11-0
Partager