SQL/MP Programming Manual for COBOL

Writing Pathway Servers
HP NonStop SQL/MP Programming Manual for COBOL529758-003
E-3
PERFORM Model
WORKING-STORAGE SECTION.
01 receive-file-status.
02 stat-1 PIC 9.
88 close-from-requester VALUE 1.
02 stat-2 PIC 9.
EXEC SQL BEGIN DECLARE SECTION END-EXEC.
* The definition of PARTS-RECORD should be an INVOKE directive.
01 parts-record.
02 partnum PIC 9(4).
02 partname PIC X(18).
02 inventory PIC S999 COMP.
02 location PIC XXX.
02 price PIC 9(6)V99 COMP.
EXEC SQL END DECLARE SECTION END-EXEC.
EXEC SQL INCLUDE SQLCA END-EXEC.
PROCEDURE DIVISION.
MAIN-SECTION SECTION.
00-whenever.
EXEC SQL WHENEVER NOT FOUND PERFORM :sql-notfnd END-
EXEC.
EXEC SQL WHENEVER SQLERROR PERFORM :sql-error END-
EXEC.
EXEC SQL WHENEVER SQLWARNING PERFORM :sql-warning END-
EXEC.
a-init.
OPEN INPUT msg-in.
OPEN OUTPUT msg-out SYNCDEPTH 1.
PERFORM b-trans UNTIL close-from-requester.
STOP RUN.
b-trans.
MOVE SPACES to entry-reply, entry-msg.
MOVE ZERO to reply-code OF entry-reply.
READ msg-in
AT END STOP RUN
END-READ.
MOVE pw-header OF msg-in TO pw-header OF msg-out.
IF entry-type = "U" THEN
PERFORM update-parts
ELSE IF entry-type = "I" THEN
PERFORM insert-parts
ELSE
MOVE 9997 TO reply-code OF entry-reply
END-IF.
WRITE entry-reply END-WRITE.
Example E-1. PERFORM Model (page 2 of 3)