home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / o22516d1.zip / DSDEMO.@IP / CLOSESRV.CBL < prev    next >
Text File  |  1992-07-29  |  4KB  |  90 lines

  1.       $SET MF
  2.        IDENTIFICATION DIVISION.
  3.        ENVIRONMENT DIVISION.
  4.        CONFIGURATION SECTION.
  5.        SPECIAL-NAMES.
  6.        CALL-CONVENTION 3 IS API.
  7.        WORKING-STORAGE SECTION.
  8.        01  LOCALS.
  9.            03  INFO1                   PIC X(80).
  10.            03  MAX-LENGTH              PIC X(4)    COMP-5 VALUE 0.
  11.            03  WS-LENGTH               PIC X(4)    COMP-5 VALUE 0.
  12.            03  MACHINE-NAME            PIC X(21)   VALUE SPACES.
  13.            03  SERVER-NAME             PIC X(8)    VALUE "CCIECI".
  14.            03  SESSION-ID              PIC X(4)    COMP-5 VALUE 0.
  15.  
  16.        COPY CCISIGNA.
  17.        COPY COMMAREA.
  18.  
  19.        LINKAGE SECTION.
  20.        COPY CCITABLE.
  21.  
  22.        PROCEDURE DIVISION USING COMM-AREA.
  23.            MOVE ZERO   TO COMM-RETURN
  24.            MOVE SPACES TO COMM-MESSAGE
  25.            MOVE 4      TO COMM-REQUEST
  26.            PERFORM 100-BEGIN
  27.            PERFORM 200-SEND
  28.            PERFORM 300-CLOSE
  29.            GOBACK
  30.            .
  31.  
  32.       ****************************************************************
  33.        100-BEGIN SECTION.
  34.            MOVE LENGTH OF COMM-AREA TO MAX-LENGTH
  35.                                        WS-LENGTH
  36.            CALL API "CCINAMP" USING BY REFERENCE SIGNATURE-BLOCK
  37.            IF CCITYPE NOT = "NAMP"
  38.                MOVE 'ERROR IN CCI SIGNATURE' TO COMM-MESSAGE
  39.                MOVE 1 TO COMM-RETURN
  40.                GOBACK
  41.            END-IF
  42.  
  43.            SET ADDRESS OF CALTAB TO CCICALTAB
  44.            CALL API CCI-INITCLIENT USING BY REFERENCE SERVER-NAME
  45.                                          BY REFERENCE MACHINE-NAME
  46.                                          BY REFERENCE SESSION-ID
  47.                                          BY VALUE 0 SIZE 4
  48.                                          BY VALUE 0 SIZE 4
  49.            IF RETURN-CODE NOT = 0
  50.                PERFORM 900-GET-CCI-ERROR
  51.                GOBACK
  52.            END-IF
  53.            .
  54.       ****************************************************************
  55.        200-SEND SECTION.
  56.            CALL API CCI-SEND USING BY VALUE SESSION-ID
  57.                                    BY REFERENCE COMM-AREA
  58.                                    BY VALUE WS-LENGTH
  59.                                    BY VALUE 0 SIZE 4
  60.                                    BY VALUE 0 SIZE 4
  61.  
  62.            CALL API CCI-RECEIVE USING BY VALUE SESSION-ID
  63.                                       BY REFERENCE COMM-AREA
  64.                                       BY VALUE MAX-LENGTH
  65.                                       BY REFERENCE WS-LENGTH
  66.                                       BY VALUE 0 SIZE 4
  67.                                       BY VALUE 0 SIZE 4
  68.            IF RETURN-CODE NOT = 0
  69.                PERFORM 900-GET-CCI-ERROR
  70.                GOBACK
  71.            END-IF
  72.            .
  73.       ****************************************************************
  74.        300-CLOSE SECTION.
  75.            CALL API CCI-CLOSECLIENT USING BY VALUE SESSION-ID
  76.            IF RETURN-CODE NOT = 0
  77.                PERFORM 900-GET-CCI-ERROR
  78.                GOBACK
  79.            END-IF
  80.            .
  81.       ****************************************************************
  82.        900-GET-CCI-ERROR SECTION.
  83.            MOVE 1 TO COMM-RETURN
  84.            MOVE LENGTH OF INFO1 TO WS-LENGTH
  85.            CALL API CCI-GETERROR USING BY REFERENCE INFO1
  86.                                        BY VALUE MAX-LENGTH
  87.                                        BY REFERENCE WS-LENGTH
  88.            MOVE INFO1 TO COMM-MESSAGE
  89.            .
  90.