NetBase SQL Shadowing Handbook

NetBase SQL User Exits
____________________________________________________________
ver A0195 QUEST Software, Inc. 3-19
A00A-EXIT.
EXIT.
$PAGE
A100-COUNT-UPDATES SECTION 01.
COMPUTE UPD-OFFSET = UPD-OFFSET +
UPD-COL-LENGTH IN HDR-UPDATE-ARRAY(UPD).
ADD 1 TO UPD.
A100-EXIT.
EXIT.
$PAGE
A200-INCREMENT-REC-COUNT SECTION 01.
COMPUTE REC-OFFSET = REC-OFFSET +
COLUMN-LENGTH IN HDR-COLUMN-ARRAY(REC).
ADD 1 TO REC.
A200-EXIT.
EXIT.
$PAGE
A300-DISPLAY-DATA SECTION 01.
DISPLAY "USEREXIT CUSTDBE : CUST_NUM.CUSTOMERS modified at ",
COMMIT-TIME IN HEADER.
MOVE DATA-ARRAY(REC-OFFSET:6)
TO HOLD-AREA.
DISPLAY "USEREXIT CUSTDBE : Pre-update ",HOLD-AREA.
MOVE UPDATE-ARRAY(REC-OFFSET:)
TO HOLD-AREA.
DISPLAY "USEREXIT CUSTDBE : Post-update ",HOLD-AREA.
A300-EXIT.
EXIT.
$PAGE
B000-POST-SQL-EXIT-BEFORE SECTION 01.
ENTRY "post_sql_exit_before" USING SQLCA-ARRAY,
COMAREA,
HEADER,
DATA-ARRAY,
UPDATE-ARRAY.
MOVE ZERO TO ACTION
IN COMAREA.
* Table "CUSTOMERS" is shadowed both ways and is partitioned
* horizontally. Records with a LOCATION-CODE of "NW" may only be
* updated here. If any of these records come in from another
* node, print a message and throw away the record. LOCATION-CODE
* is the second column in table CUSTOMERS.
IF RECORD-TYPE IN HEADER NOT = 15 AND
RECORD-TYPE IN HEADER NOT = 1 AND
TABLE-NAME IN HEADER = "CUSTOMERS " THEN
IF COLUMN-TYPE IN HDR-COLUMN-ARRAY(2) = 1 AND
COLUMN-LENGTH IN HDR-COLUMN-ARRAY(2) = 2 THEN
COMPUTE REC-OFFSET =
COLUMN-LENGTH IN HDR-COLUMN-ARRAY(1) + 1