13.1.2.1 Example COBOl Code for ExternWriteOperator

Listing Example ExternWriteOperator.cbl Code
      IDENTIFICATION DIVISION.
      PROGRAM-ID. "ExternWriteOperator".
DATA DIVISION.
WORKING-STORAGE SECTION.
copy "ctypes".
01 ret-code         usage int.
LINKAGE SECTION.
01 LK-TEXT          pic x(1024).
01 LK-TEXTLENGTH    PIC S9(9) COMP-5.
01 LK-ROUTECODES    pic x(1024).
01 LK-NUMROUTES     PIC S9(9) COMP-5.
01 LK-ACTION        PIC X(2).
01 LK-REPLY         pic x(1024).
01 LK-MAXLENGTH     PIC S9(9) COMP-5.
01 LK-REPLYLENGTH   PIC S9(9) COMP-5.
01 LK-TIMEOUT       PIC S9(9) COMP-5.

PROCEDURE DIVISION USING LK-TEXT LK-TEXTLENGTH LK-ROUTECODES  
                         LK-NUMROUTES LK-ACTION LK-REPLY
                         LK-MAXLENGTH LK-REPLYLENGTH LK-TIMEOUT.


*     * display "ExternWriteOperator : LK-TEXT             =<" LK-TEXT ">"
*     * display "ExternWriteOperator : LK-TEXTLENGTH       =<" LK-TEXTLENGTH ">"
*     * display "ExternWriteOperator : LK-ROUTECODES       =<" LK-ROUTECODES ">"
*     * display "ExternWriteOperator : LK-NUMROUTES        =<" LK-NUMROUTES ">"
*     * display "ExternWriteOperator : LK-ACTION           =<" LK-ACTION ">"
*     * display "ExternWriteOperator : LK-REPLY            =<" LK-REPLY ">"
*     * display "ExternWriteOperator : LK-MAXLENGTH        =<" LK-MAXLENGTH ">"
*     * display "ExternWriteOperator : LK-REPLYLENGTH      =<" LK-REPLYLENGTH ">"
*     * display "ExternWriteOperator : LK-TIMEOUT          =<" LK-TIMEOUT ">"


*     * in case of REPLY
        if LK-MAXLENGTH > zero
*     * move "..............." to LK-REPLY
*     * move 15 to LK-REPLYLENGTH
      end-if

      move zero to ret-code
*     * return code
*     * 0  = OK
*     * -1 = operation failed (INVREC wil returned to the user program)
*     * -9 = time out ocurred before the operators's reply was received
        GOBACK returning ret-code.