This code fragment sets the current connection, and inserts data into an Adaptive Server database:
*REMARKS. TRANSACTION-ID IS 'POPS'.
*THIS TRANSACTION POPULATES A DATABASE'S DATA TABLE *WITH STOCK DATA ENTRIES.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
COPY DFHBMSCA.
COPY DFHAID.
COPY AIXCSET.
EXEC SQL INCLUDE SQLCA END-EXEC.
77 RESPONSE PIC 9(8) COMP.
01 MSG-LIST.
02 MSG-1 PIC X(70) VALUE
'Transaction Failed: Unable To Prime Stock'
-'Table.'.
02 MSG-2 PIC X(70) VALUE
'Stock Records Added Successfully.'.
01 TRANSFAIL PIC X(70).
EXEC SQL BEGIN DECLARE SECTION END-EXEC.
01 STOCK-RECORD.
02 STOCK-NUM PIC X(5).
02 ITEM-DESC PIC X(30).
02 STOCK-QTY PIC X(7).
02 UNIT-PRICE PIC S9(4)V99 VALUE ZEROES.
EXEC SQL END DECLARE SECTION END-EXEC.
PROCEDURE DIVISION.
* CHECK BASIC REQUEST TYPE
*
IF EIBAID = DFHCLEAR
EXEC CICS SEND CONTROL FREEKB
END-EXEC
EXEC CICS RETURN
END-EXEC
END-IF.
* MAIN PROCESSING
*SET UP STOCK RECORD DETAILS AND THEN WRITE OUT
*STOCK RECORD.
*
MOVE '31421'TO STOCK-NUM.
MOVE 'Widget (No.7)'TO ITEM-DESC.
MOVE '0050035'TO STOCK-QTY.
MOVE 25.55 TO UNIT-PRICE.
PERFORM WRITE-STOCKREC.
MOVE '43567'TO STOCK-NUM.
MOVE 'Splunkett ZR-1'TO ITEM-DESC.
MOVE '0005782'TO STOCK-QTY.
MOVE 143.79 TO UNIT-PRICE.
PERFORM WRITE-STOCKREC.
EXEC CICS SYNCPOINT
RESP(RESPONSE)
END-EXEC.
IF RESPONSE NOT = DFHRESP(NORMAL)
MOVE MSG-1 TO TRANSFAIL
PERFORM FAIL-TRANS
END-IF.
MOVE MSG-2 TO MSGOUTO.
EXEC CICS SEND MAP('MSGLINE')
MAPSET('AIXCSET')
FREEKB
END-EXEC.
EXEC CICS RETURN
END-EXEC.
GOBACK.
* ATTEMPT TO WRITE OUT NEW STOCK RECORD.
*
WRITE-STOCKREC.
EXEC SQL SET CONNECTION connection_2
END-EXEC
IF SQLCODE NOT = 0
MOVE MSG-1 TO TRANSFAIL
PERFORM FAIL-TRANS
END-IF.
EXEC SQL INSERT INTO STOCK VALUES (:STOCK-RECORD)
END-EXEC
IF SQLCODE NOT = 0
MOVE MSG-1 TO TRANSFAIL
PERFORM FAIL-TRANS
END-IF.
* IF UNABLE TO APPLY CREATE, END TRANSACTION
* AND DISPLAY REASON FOR FAILURE.
*
FAIL-TRANS.
MOVE TRANSFAIL TO MSGOUTO
EXEC CICS SEND MAP('MSGLINE')
MAPSET('AIXCSET')
FREEKB
END-EXEC
EXEC CICS RETURN
END-EXEC.