products/Sources/formale Sprachen/COBOL/verschiedene-Autoren/CICS image not shown  

Quellcode-Bibliothek

© Kompilation durch diese Firma

[Weder Korrektheit noch Funktionsfähigkeit der Software werden zugesichert.]

Datei: cics.cbl   Sprache: Cobol

Original von: verschiedene©

        IDENTIFICATION DIVISION.
       PROGRAM-ID.             NSRCHPGM.
       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       DATA DIVISION.
       FILE SECTION.
       WORKING-STORAGE SECTION.
       77  WS-PROGRAM-ID    PIC X(18) VALUE 'NSRCHPGM- 08/11/96'.
       01  MISC-WORK.
           05 WS-CICS-RESPONSE1    PIC S9(8) COMP VALUE 0.
           05 WS-XCTL-FIELD        PIC X(8)       VALUE SPACES.
           05 WS-DUMMY-FIELD       PIC X          VALUE SPACES.
           05 WS-DUMMY-LENGTH      PIC S9(4) COMP VALUE 0.
           05 WS-HOLD-MSG          PIC X(79)      VALUE SPACES.
       01  QID-NAME.
           05 QID-TRMID            PIC XXXX.
           05 FILLER               PIC XXXX.
       01  DEFINE-SERVICE   PIC X(08) VALUE 'NAME1 '.
       01  ANAME-IN         PIC X(256) VALUE 'RICH WAGNER'.
       01  BNAME-IN         PIC X(256) VALUE 'BILL YARA '.
       01  NAME-OUT         PIC X(256) VALUE SPACES.
       01  WORD-STACK.
           05  WORD-ST-ELEM   OCCURS 10 INDEXED BY INDX.
               10  WORD-ST         PIC X(24).
               10  WORD-INDICATOR  PIC X(1).
       01  PHON-STACK.
           05  PHON-ST-ELEM   OCCURS 10 INDEXED BY INDX1.
               10  PHON-ST         PIC X(24).
               10  PHON-INDICATOR  PIC X(1).
       01  KEY-COUNT        PIC 9(02).
       01  MAX-VAL          PIC X(03).
       01  MIN-VAL          PIC X(03).
       01  AVG-VAL          PIC X(03).
       01  MED-VAL          PIC X(03).
       01  RUN-LENGTH       PIC X(02) VALUE '01'.
       01  RUN-STEP         PIC X(02) VALUE '04'.
       01  A-LENGTH         PIC X(03) VALUE '020'.
       01  B-LENGTH         PIC X(03) VALUE '020'.
       01  MIN-RUN          PIC X(02) VALUE '02'.
       01  MIN-PCT          PIC X(02) VALUE '50'.
       01  KEY-STACK.
           05  MATCHER-KEY-STACK OCCURS 30 INDEXED BY INDX2.
               10  MATCHER-KEY     PIC X(10).
       01  SEARCH-TABLE.
           05  MATCHER-RANGE  OCCURS 30 INDEXED BY INDX3.
              10  FROM-RANGE      PIC X(10).
              10  TO-RANGE        PIC X(10).
              10  RANGE-IND.
                  20  RANGE-FIRST     PIC X(02).
                  20  RANGE-REST      PIC X(03).
       01  COMPARE-RESULT.
           05  COMP-RES-ELEM  OCCURS 18.
              10  PERCENT     PIC X(3).
       01  WORK-AREA         PIC X(3000).
       01  WS-COMMAREA.
           05  WS-RIDFLD            PIC X(14).
           05  MAP-TYPE             PIC X(7).
           05 END-KEY.
              10  IST-PART            PIC X(10).
              10  FILLER              PIC X(4).
       01 COMM-DATA-LENGTH          PIC S9(4) COMP VALUE  35.
       01 ISTIN-RECORD.
          05  KEYOT.
              10  N-KEY           PIC X(10).
              10  KEY-REST        PIC X(4).
          05  RECINFOOT.
              10  FILLER          PIC X(8).
              10  TRANS-CODE      PIC X(2).
              10  DOI             PIC X(6).
              10  ZA              PIC X(2).
              10  SS-NUMBER       PIC X(9).
              10  POL-HLD         PIC X(12).
              10  FILLER          PIC X(15).
          05  CNT1OT              PIC 99.
          05  NAMEOT              PIC X(31).
          05  REC-ENDOT.
              10  FILLER          PIC X(2).
              10  GROUP-NO        PIC X(6).
              10  CLAIM-NUMBER    PIC X(8).
              10  FILLER          PIC X(3).
       01 ISTOUT-RECORD.
          05  RECORD-NUMBER       PIC X(2).
          05  FILLER              PIC X(1).
          05  OUT-NAME            PIC X(30).
          05  CLM-NUMBER          PIC X(8).
          05  FILLER              PIC X(1).
          05  INJ-DATE            PIC X(6).
          05  FILLER              PIC X(1).
          05  ZA-OUT              PIC X(2).
          05  FILLER              PIC X(1).
          05  SS-OUT              PIC X(9).
          05  FILLER              PIC X(1).
          05  POL-HOLDER-NAME     PIC X(12).
       01  REC-COUNT-OUT          PIC 9(02) VALUE 1.
      *
      * COPY NSRCH00.
      * COPY RSRCH00.
      *
      * COPY DFHAID.
      * COPY DFHBMSCA.
       LINKAGE SECTION.
      *
       01  DFHCOMMAREA.
           05  COM-WS-RIDFLD         PIC X(14).
           05  COM-MAP-TYPE          PIC X(7).
           05  COM-KEY               PIC X(14).
           05  FILLER                PIC X(100).
      *
       PROCEDURE DIVISION.
       0000-MAINLINE.
           MOVE LOW-VALUES TO NSRCH01I.
      *
           IF EIBCALEN = COMM-DATA-LENGTH
             MOVE DFHCOMMAREA TO WS-COMMAREA.
      *
           PERFORM PROCESS-MAIN-MENU.
           GOBACK.
      *
       PROCESS-MAIN-MENU.
           IF MAP-TYPE NOT = 'RSRCH00' THEN
            EVALUATE EIBAID
            WHEN DFHPF3
               PERFORM EXIT-ROUTINE
            WHEN DFHCLEAR
               PERFORM EXIT-ROUTINE
            WHEN DFHPF10
                PERFORM DO-SEARCH
            WHEN OTHER
                PERFORM I-SCREEN
            END-EVALUATE
           ELSE
            EVALUATE EIBAID
            WHEN DFHPF3
              PERFORM EXIT-ROUTINE
            WHEN DFHCLEAR
               PERFORM EXIT-ROUTINE
            WHEN DFHPF1
              PERFORM READ-NEXT-SCREEN
            WHEN OTHER
                PERFORM I-SCREEN
            END-EVALUATE.
      *
       I-SCREEN.
           MOVE 'NSRCH00' TO MAP-TYPE.
           MOVE LOW-VALUES TO NSRCH01I.
           MOVE -1 TO NSNAMEL.
           EXEC CICS
              SEND MAP ('NSRCH01')
                   MAPSET ('NSRCH00')
                   FROM (NSRCH01I)
                   CURSOR
                   ERASE
           END-EXEC.
           EXEC CICS
               RETURN TRANSID('NSRC')
               COMMAREA (WS-COMMAREA)
           END-EXEC.
      *
       DO-SEARCH.
           MOVE 'RSRCH00' TO MAP-TYPE.
           EXEC CICS
               RECEIVE MAP('NSRCH01')
               MAPSET ('NSRCH00')
               INTO(NSRCH01I)
           END-EXEC.
           MOVE SPACES TO ANAME-IN.
           MOVE NSNAMEI TO ANAME-IN.
           CALL 'MATCHER' USING
             DEFINE-SERVICE,
             ANAME-IN,
             NAME-OUT,
             WORD-STACK,
             PHON-STACK,
             KEY-COUNT,
             KEY-STACK,
             SEARCH-TABLE,
             WORK-AREA.
           MOVE LOW-VALUES TO RSRCH01I.
           MOVE -1 TO RSBOT1L.
           SET INDX3 TO 1.
           SET NAM-INDX TO 1.
           MOVE LOW-VALUES TO WS-RIDFLD.
           MOVE FROM-RANGE(INDX3) TO WS-RIDFLD.
           MOVE HIGH-VALUES TO END-KEY.
           MOVE TO-RANGE(INDX3) TO IST-PART.
           EXEC CICS STARTBR
                     DATASET ('TSTIST1')
                     RIDFLD(WS-RIDFLD)
                     GENERIC
                     KEYLENGTH ('10')
                     GTEQ
                     RESP (WS-CICS-RESPONSE1)
                     END-EXEC.
           PERFORM FILL-SCREEN THRU FILL-SCREEN-EXIT
            VARYING NAM-INDX FROM 1 BY 1
                UNTIL NAM-INDX > 19 OR
                WS-RIDFLD NOT < END-KEY OR
                WS-CICS-RESPONSE1 NOT = DFHRESP(NORMAL).
           EXEC CICS ENDBR
                     DATASET ('TSTIST1')
                     RESP (WS-CICS-RESPONSE1)
                     END-EXEC.
           EXEC CICS
              SEND MAP ('RSRCH01')
                   MAPSET ('RSRCH00')
                   FROM (RSRCH01I)
                   FREEKB
                   CURSOR
                   ERASE
           END-EXEC.
           EXEC CICS
               RETURN TRANSID('NSRC')
               COMMAREA (WS-COMMAREA)
               LENGTH (COMM-DATA-LENGTH)
           END-EXEC.
      *
      *
       READ-NEXT-SCREEN.
           MOVE LOW-VALUES TO RSRCH01I.
           MOVE -1 TO RSBOT1L.
           SET INDX3 TO 1.
           SET NAM-INDX TO 1.
           EXEC CICS STARTBR
                     DATASET ('TSTIST1')
                     RIDFLD(WS-RIDFLD)
                     GTEQ
                     RESP (WS-CICS-RESPONSE1)
                     END-EXEC.
           PERFORM FILL-SCREEN THRU FILL-SCREEN-EXIT
            VARYING NAM-INDX FROM 1 BY 1
                UNTIL NAM-INDX > 19 OR
                WS-RIDFLD NOT < END-KEY OR
                WS-CICS-RESPONSE1 NOT = DFHRESP(NORMAL).
           EXEC CICS ENDBR
                     DATASET ('TSTIST1')
                     RESP (WS-CICS-RESPONSE1)
                     END-EXEC.
           EXEC CICS
              SEND MAP ('RSRCH01')
                   MAPSET ('RSRCH00')
                   FROM (RSRCH01I)
                   FREEKB
                   CURSOR
                   ERASE
           END-EXEC.
           EXEC CICS
               RETURN TRANSID('NSRC')
               COMMAREA (WS-COMMAREA)
           END-EXEC.
      *
      *
       EXIT-ROUTINE.
           MOVE EIBTRMID TO QID-TRMID.
           EXEC CICS DELETEQ TS
              QUEUE (QID-NAME)
              RESP (WS-CICS-RESPONSE1)
              END-EXEC.
           EXEC CICS SEND
              FROM (WS-DUMMY-FIELD)
              LENGTH (WS-DUMMY-LENGTH)
              ERASE
              END-EXEC.
           EXEC CICS RETURN
              END-EXEC.
      *
      *
       FILL-SCREEN.
           EXEC CICS READ NEXT
                     DATASET ('TSTIST1')
                     INTO (ISTIN-RECORD)
                     RIDFLD(WS-RIDFLD)
                     RESP (WS-CICS-RESPONSE1)
                     END-EXEC.
           MOVE SPACES TO ISTOUT-RECORD.
           MOVE REC-COUNT-OUT TO RECORD-NUMBER.
           ADD 1 TO REC-COUNT-OUT.
           MOVE NAMEOT TO OUT-NAME.
           MOVE CLAIM-NUMBER TO CLM-NUMBER.
           MOVE ZA TO ZA-OUT.
           MOVE DOI TO INJ-DATE.
           MOVE SS-NUMBER TO SS-OUT.
           MOVE POL-HLD TO POL-HOLDER-NAME.
           IF WS-RIDFLD < END-KEY
              MOVE ISTOUT-RECORD TO SNAM0I(NAM-INDX)
           ELSE
              MOVE '***END OF NAME LIST***' TO SNAM0I(NAM-INDX).
       FILL-SCREEN-EXIT.

¤ Dauer der Verarbeitung: 0.16 Sekunden  (vorverarbeitet)  ¤





Download des
Quellennavigators
Download des
sprechenden Kalenders

in der Quellcodebibliothek suchen




Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.


Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.


Bot Zugriff