IWAYSRV0 Program

The IWAYSRV0 sample program demonstrates how different output record types can be distinguished using positional fields. The input COMMAREA indicates whether a 40 byte short record or 60 byte long record is to be returned using the 'SHORT' or 'LONG' command. The service is configured to return an output document that is specific to the type.

On Windows, the IWAYSRV0 sample program is located in:

C:\Program Files\iWay61\etc\samples\cics\iwaysrv0

The following supporting files are provided:

      ****************************************************************
      * IWAYSRV0 - THIS SAMPLE PROGRAM DEMONSTRATES THAT DIFFERENT   *
      * OUTPUT RECORD TYPES MAY BE DISTINGUISHED BY POSITIONAL       *
      * FIELDS.  THE INPUT COMMAREA INDICATES WHETHER A 40 BYTE S    *
      * OR 60 BYTE L RECORD IS TO BE RETURNED BY USING THE COMMAND   *
      * 'SHORT' OR 'LONG'.  THE CICS ADAPTER SERVICE IS CONFIGURED   *
      * TO RETURN AN OUTPUT DOCUMENT SPECIFIC TO THE TYPE.           *
      *                                                              *
      * USES: IWAYSRV0_IN.CBL     (INPUT RECORD)                     *
      *       IWAYSRV0_OUT_S.CBL  (SHORT OUTPUT RECORD)              *
      *       IWAYSRV0_OUT_L.CBL  (LONG  OUTPUT RECORD)              *
      *       IWAYSRV0_S.XML      (SHORT INPUT DOCUMENT)             *  
      *       IWAYSRV0_L.XML      (LONG  INPUT DOCUMENT)             *
      *                                                              *
      ****************************************************************
       IDENTIFICATION DIVISION.
       PROGRAM-ID. IWAYSRV0.
       ENVIRONMENT DIVISION.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 WS-DATA-OUT.
          05 WS-DATA-OUT-MSG   PIC X(30).
          05 WS-DATA-OUT-ARROW PIC X(30).
       LINKAGE SECTION.
       01 DFHCOMMAREA.
          05 CA-DATA.
             10 CA-BYTES                 PIC X(60).
          05 CA-INPUT REDEFINES CA-DATA.
             10 CA-INPUT-COMMAND         PIC X(5).
             10 CA-INPUT-FILLER          PIC X(55).
          05 CA-OUTPUT REDEFINES CA-DATA.
             10 CA-OUTPUT-RECORD-TYPE    PIC X(1).
             10 CA-OUTPUT-MSG            PIC X(59).
       PROCEDURE DIVISION.
           EXEC CICS HANDLE ABEND
             LABEL (030-ABEND)
           END-EXEC
           IF EIBCALEN = 0
              MOVE ' EIBCALEN IS = ZERO ' TO CA-OUTPUT-MSG
              PERFORM 020-RETURN
           END-IF.
      *---------------------------------------------------------------*
      * THE CICS SERVICE IS CONFIGURED DIFFERENTIATE TO 'S' AND 'L'   *
      * RECORDS.                                                      *
      *--------------+-----+------+-----------------------------------*
           IF CA-INPUT-COMMAND = 'SHORT'
              MOVE 'S' TO CA-OUTPUT-RECORD-TYPE
              MOVE 'RECORD TYPE S RETURNS 40 BYTES'
                                  TO WS-DATA-OUT-MSG
              MOVE '========>'
                   TO WS-DATA-OUT-ARROW
              MOVE WS-DATA-OUT TO CA-OUTPUT-MSG
              GO TO 020-RETURN
           END-IF.
           IF CA-INPUT-COMMAND = 'LONG '
              MOVE 'L' TO CA-OUTPUT-RECORD-TYPE
              MOVE 'RECORD TYPE L RETURNS 60 BYTES'
                   TO WS-DATA-OUT-MSG
              MOVE '============================>'
                   TO WS-DATA-OUT-ARROW
              MOVE WS-DATA-OUT TO CA-OUTPUT-MSG
              GO TO 020-RETURN
           END-IF.
           MOVE ' SUPPLY L OR S IN FIRST BYTE OF INPUT...PLEASE'
              TO CA-OUTPUT-MSG.
       020-RETURN.
           EXEC CICS RETURN
           END-EXEC.
           GOBACK.
       030-ABEND.
           GO TO 020-RETURN.

iWay Software