四川考研地点现场确认:VSAM - SAMPLE- KSDS RANDOM ACCESS

来源:百度文库 编辑:中财网 时间:2024/04/20 03:36:29
1. VSAM  DEFINITIAON//STEP0010 EXEC PGM=IDCAMS                       
//SYSPRINT DD SYSOUT=*                           
//SYSIN    DD *                                  
  DELETE RABIL.BEL.EMP.CLUSTER PURGE             
   IF  MAXCC=8 THEN SET MAXCC=0                  
  DEFINE CLUSTER -                               
         (NAME(RABIL.BEL.EMP.V01D) -             
          RECORDS(100 10) -                      
          RECSZ(80 80)    -                      
          KEYS(18 0)      -                      
          INDEXED      -                         
          REUSE          -                       
          )              -                       
         INDEX(NAME(RABIL.BEL.EMP.V01D.INDEX)) - 
         DATA -                                  
         (NAME(RABIL.BEL.EMP.V01D.DATA))         
  REPRO IDS(RABIL.BEL.PS.EMP.DATA) -             
        ODS(RABIL.BEL.EMP.V01D)      2. VSAM DATA             420115000000000001 LI GANG        
420115000000000002 LUO JUN        
420115000000000003 LUO XIN        
420115000000000004 LUO HUA        
420115000000000005 LI BIN         
420115000000000006 QIN HUI        
420115000000000007 QIN ZHANG       3. SRC - RAUNDAY READ        IDENTIFICATION DIVISION.
       PROGRAM-ID. ELVSAM01.
       AUTHOR.   RABIL.
       DATE-WRITTEN. 2011-11-22.
       DATE-COMPILED. 2011-11-22.
     *
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SOURCE-COMPUTER. IBM-4341.
       OBJECT-COMPUTER. IBM-4341.
      *
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT EMP-FILE ASSIGN TO EMPFIL
             ORGANIZATION   IS INDEXED
             ACCESS MODE    IS RANDOM                                               -> RANDOM ACCESS  
             RECORD KEY      IS      EMP-NO                                                      ->KSDS , THE KEY MUST DEFINED IN FD 
             FILE STATUS    IS WS-EMPFIL-STATUS.
       DATA DIVISION.
      *
       FILE SECTION.
       FD EMP-FILE
           RECORD IS VARYING FROM 1 TO 80.
          01  EMP-FILE-REC.
            05 EMP-NO    PIC X(18).                                                            ->KEY DEFINITION
            05 FILLER    PIC X(1).
            05 EMP-NAME  PIC X(11).
            05 FILLER    PIC X(50).
      *
       WORKING-STORAGE SECTION.
      *
      * GENERAL WORK AREA.
       01 WS-WORK-AREA.
         05 WS-ABEND.
            10 WS-ABEND-LOCATION PIC X(4).
            10 WS-ABEND-CODE     PIC X(2).
            10 WS-ABEND-INF      PIC X(80).
         05 WS-EMP-NO            PIC X(18).       * FILE STAUTS
       01 WS-FILE-STATUS.
          05 WS-EMPFIL-STATUS   PIC X(2).
             88 C-EMPFIL-OK     VALUE '00' '97'.
             88 C-EMPFIL-EOF    VALUE '10'.
      *
       PROCEDURE DIVISION.
       0000-MAIN.
           PERFORM 0010-INITIALIZE THRU 0010-EXIT
           PERFORM 0020-PROCESS-ROUTINE   THRU 0020-EXIT
           STOP RUN.
       0000-EXIT.
           EXIT.
       0010-INITIALIZE.
           OPEN INPUT EMP-FILE.
           DISPLAY 'OPEN FILE STATUS : ' WS-EMPFIL-STATUS
           IF NOT C-EMPFIL-OK
              MOVE '0010' TO WS-ABEND-LOCATION
              MOVE WS-EMPFIL-STATUS TO WS-ABEND-CODE
              MOVE 'OPEN EMP FILE FAILED' TO WS-ABEND-INF
              PERFORM 9999-ABEND-PROCESS THRU 9999-EXIT
           END-IF.
       0010-EXIT.
           EXIT.
       0020-PROCESS-ROUTINE.
           MOVE '420115000000000004' TO EMP-NO
           READ EMP-FILE RECORD KEY IS EMP-NO                                            -> READ RANDYNAM     
           DISPLAY 'READ - FILE STATUS : '  WS-EMPFIL-STATUS
           DISPLAY EMP-FILE-REC
           DISPLAY 'EMPNAME : ' EMP-NAME
           CLOSE EMP-FILE.
       0020-EXIT.
           EXIT.
       9999-ABEND-PROCESS.
           DISPLAY 'ABEND LOACATION : '  WS-ABEND-LOCATION
           DISPLAY 'FILE  STATUS    : '  WS-ABEND-CODE
           DISPLAY 'ABEND MESSAGE   : '  WS-ABEND-INF.
       9999-EXIT.
           EXIT.