User guide

Interface Procedures
Host Language Interface
6–14 058058 Tandem Computers Incorporated
Figure 6-4. COBOL Host Language Program (Page 2 of 3)
PERFORM A-INIT.
*THIS PROGRAM CALLS ENFORMSTART MULTIPLE TIMES UNTIL "9999"
*IS ENTERED.
PERFORM B-TRANS UNTIL NO-MORE-RECORDS-NEEDED.
PERFORM C-EOJ.
STOP RUN.
A-INIT.
*A PARAM MESSAGE TO A PROCESS REQUIRES TWO LENGTH BYTES; ONE FOR
*THE LENGTH OF THE PARAM NAME, AND ONE FOR THE LENGTH OF THE PARAM
*VALUE.
MOVE 10 TO TEMP-BINARY.
MOVE TEMP-N2 TO LENGTH-NAME.
MOVE 4 TO TEMP-BINARY.
MOVE TEMP-N2 TO LENGTH-PARAM.
B-TRANS.
PERFORM B-START-ENFORM.
IF MORE-RECORDS-NEEDED
MOVE 1 TO RESTART-FLAG
MOVE 0 TO END-FLAG
PERFORM B-GET-RECORDS UNTIL CLOSE-FROM-ENFORM.
B-START-ENFORM.
DISPLAY "PARAM VALUE = ".
ACCEPT REGION-NO.
IF REGION-NO EQUAL 9999
MOVE 1 TO NO-ENTRY
ELSE
ENTER "ENFORMSTART" USING CTLBLOCK,
PHYSICAL-FILENAME,
BUFFER-LENGTH,
ERROR-NUMBER,
RESTART-FLAG,
PARAM-LIST
IF ERROR-NUMBER NOT EQUAL ZERO
DISPLAY "ENFORMSTART ERROR: " ERROR-NUMBER
MOVE 1 TO NO-ENTRY.
B-GET-RECORDS.
ENTER "ENFORMRECEIVE" USING CTLBLOCK, RECEIVED-DATA
GIVING DATA-COUNT.
*NOTICE THAT ERROR-NUMBER CAN BE CHECKED AFTER ENFORMRECEIVE EVEN
*THOUGH ERROR-NUMBER ITSELF IS NOT A PARAMETER TO ENFORMRECEIVE.
*THIS IS BECAUSE ENFORMSTART STORES THE ADDRESS OF ERROR-NUMBER
*IN CTLBLOCK.
IF ERROR-NUMBER NOT EQUAL ZERO
DISPLAY "ENFORMRECEIVE ERROR: " ERROR-NUMBER
MOVE 1 TO END-FLAG