SQL Programming Manual for TAL

System Procedures
HP NonStop SQL Programming Manual for TAL527887-001
4-13
SQLCATOBUFFER
In the example below, SQLCAGETINFOLIST returns the:
Name of the function containing the SQL statement that produced one or more
errors or warnings
Name length of the function
Number of errors or warnings that occurred
To avoid coding the maximum length for the function name (NAME[0:29] in this
example):
1. Call SQLCAGETINFOLIST passing item code 7 (ERR^WARN.NAMELEN).
2. Call SQLCAGETINFOLIST again passing a buffer of the appropriate size.
! Declare a structure to hold the error information
STRUCT .err^warn;
BEGIN
INT namelen;
INT numerrs;
STRING name[0:29];
END;
! Include the SQLCA structure
EXEC SQL INCLUDE SQLCA;
! Declare a variable to hold the return code for the call
INT errcode;
! Declare and initialize the itemlist array
INT itemlist[0:2] := [ 7, 3, 8 ];
! 7 code for name length
! 3 code for number of errors/warnings
! 8 code for procedure id
! Call SQLCAGETINFOLIST
errcode := SQLCAGETINFOLIST (
sqlca, ! SQLCA structure
itemlist, ! List of item codes
3, ! Number of items
err^warn, ! Result goes here
$LEN(err^warn), ! Size of result area
, ! No error index needed
30 ); ! Truncate names greater
! than 30 characters
SQLCATOBUFFER
The SQLCATOBUFFER procedure writes to a buffer the error or warning messages
that NonStop SQL returns to the application program. The buffer is a record area
declared in the variable declarations in the TAL program. The messages can be from
these subsystems or system components: