You are on page 1of 5

//*-------------------------------------------------------------------*

//* VSAM- KSDS Index File handling


//* Sample JCL only - Changes are required to run in your data center
//* Verify all parameters with the appropriate vendor manual
//*-------------------------------------------------------------------*

****** ***************************** Top of Data **********************


=COLS> ----+--A-1-B--+----2----+----3----+----4----+----5----+----6----
000001 IDENTIFICATION DIVISION.
000002 PROGRAM-ID. INDEXFILE.
000003 ENVIRONMENT DIVISION.
000004 INPUT-OUTPUT SECTION.
000005 FILE-CONTROL.
000006 SELECT INFILE ASSIGN TO DD1
000007 ORGANIZATION IS INDEXED
000008 ACCESS MODE IS DYNAMIC
000009 RECORD KEY IS EMPID
000010 FILE STATUS IS FS.
000011 DATA DIVISION.
000012 FILE SECTION.
000013 FD INFILE.
000014 01 INREC.
000015 02 EMPID PIC 9(4).
000016 02 FILLER PIC X(5) VALUE SPACES.
000017 02 EMPNAME PIC X(10).
000018 02 FILLER PIC X(5) VALUE SPACES.
000019 02 DEPT PIC X(6).
000020 02 FILLER PIC X(5) VALUE SPACES.
000021 02 SALARY PIC 9(5).
000022 WORKING-STORAGE SECTION.
000023 77 FS PIC X(2).
000024 77 CHG PIC X.
000025 77 CHW PIC X.
000026 77 EOF PIC X.
000027 PROCEDURE DIVISION.
000028 MAIN-PARA.
000029 ACCEPT CHG.
000030 EVALUATE CHG
000031 WHEN 'W'
000032 GO TO WRITE-PARA
000033 WHEN 'R'
000034 GO TO READ-PARA
000035 WHEN 'L'
000036 GO TO LIST-PARA
000037 WHEN 'D'
000038 GO TO DELETE-PARA
000039 WHEN 'X'
000040 GO TO EXIT-PARA
000041 END-EVALUATE.
000042 WRITE-PARA.
000043 PERFORM O-P.
000044 PERFORM W-P UNTIL CHW = "N".
000045 CLOSE INFILE.
000046 PERFORM EXIT-PARA.
000047 O-P.
000048 OPEN I-O INFILE.
000049 IF FS NOT = '00'
000050 OPEN OUTPUT INFILE.
000051 W-P.
000052 ACCEPT EMPID.
000053 ACCEPT EMPNAME.
000054 ACCEPT DEPT.
000055 ACCEPT SALARY.
000056 WRITE INREC.
000057 ACCEPT CHW.
000058 READ-PARA.
000059 ACCEPT EMPID.
000060 OPEN INPUT INFILE.
000061 READ INFILE KEY IS EMPID INVALID KEY DISPLAY FS.
000062 DISPLAY "EMP ID :" EMPID.
000063 DISPLAY "EMP NAME :" EMPNAME.
000064 DISPLAY "DEPARTMENT:" DEPT.
000065 DISPLAY "SALARY :" SALARY.
000066 CLOSE INFILE.
000067 GO TO EXIT-PARA.
000068 LIST-PARA.
000069 OPEN INPUT INFILE.
000070 PERFORM L-P UNTIL EOF = 'Y'.
000071 CLOSE INFILE.
000072 GO TO EXIT-PARA.
000073 L-P.
000074 READ INFILE NEXT RECORD AT END MOVE 'Y' TO EOF.
000075 IF EOF NOT = 'Y'
000076 DISPLAY "EMP ID :" EMPID.
000077 DISPLAY "EMP NAME :" EMPNAME.
000078 DISPLAY "DEPARTMENT:" DEPT.
000079 DISPLAY "SALARY :" SALARY.
000080 DELETE-PARA.
000081 OPEN I-O INFILE.
000082 ACCEPT EMPID.
000083 READ INFILE KEY IS EMPID INVALID KEY
000084 DISPLAY "RECORD NOT FOUND."
000085 GO TO EXIT-PARA.
000086 DELETE INFILE.
000087 DISPLAY "RECORD DELETED SUCCSSFULLY !".
000088 CLOSE INFILE.
000089 GO TO EXIT-PARA.
000090 EXIT-PARA.
000091 STOP RUN.
****** **************************** Bottom of Data ********

COMPILER

****** ***************************** Top of Data ***********************


//LEMCKN JOB 'LEM01','CKUMS',CLASS=Q,MSGCLASS=X,NOTIFY=&SYSUID

//JOBPROC JCLLIB ORDER=IGY.V2R1M0.SIGYPROC


//STEP0 EXEC IGYWCL
//COBOL.SYSIN DD DISP=SHR,DSN=LEM0U03.CKUMS.JCL(IDXFILE)
//LKED.SYSLMOD DD DISP=SHR,DSN=LEM0U01.LEMCICS.LOAD2(IDXFILE)
//
****** **************************** Bottom of Data *********************
CREATION OF KSDS ( LEM0U09.CKUMS.KSDSPGM )
****** ***************************** Top of Data ***************
000001 /* IDCAMS COMMAND */
000002 DEFINE CLUSTER (NAME(LEM0U09.CKUMS.KSDSPGM) -
000003 TRACKS(2 2) -
000004 VOLUMES(LEM001 -
000005 ) -
000006 CONTROLINTERVALSIZE(4096) -
000007 FREESPACE(10 20) -
000008 KEYS(4 0) -
000009 RECORDSIZE(40 40) -
000010 INDEXED -
000011 ) -
000012 DATA (NAME(LEM0U09.CKUMS.KSDSPGM.DATA) -
000013 ) -
000014 INDEX (NAME(LEM0U09.CKUMS.KSDSPGM.INDEX) -
000015 )
****** **************************** Bottom of Data ********

JCL PROGRAM TO WRITE RECORDS.(writeKSDS)


***************************** Top of Data **********************
//LEMCKUMS JOB LEM01,CKUMS,CLASS=Q,MSGCLASS=X,NOTIFY=&SYSUID
//STEP1 EXEC PGM=IDXFILE
//STEPLIB DD DSN=LEM0U01.LEMCICS.LOAD2,DISP=SHR
//DD1 DD DSN=LEM0U09.CKUMS.KSDSPGM,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
W
E105
KUMARESAN
HR
9000
Y
E106
PRASANNA
INFOTECH
10000
Y
E107
MOORTHI
ADMIN
5000
Y
E108
KARTHIK
SYSTEM
8000
Y
E109
MUTHURAM
ADMIN
7000
N
/*
//
**************************** Bottom of Data *********

JCL PROGRAM TO READ A RECORD.(readKSDS)


***************************** Top of Data *********************
//LEMCKUMS JOB LEM01,CKUMS,CLASS=Q,MSGCLASS=X,NOTIFY=&SYSUID
//STEP1 EXEC PGM=IDXFILE
//STEPLIB DD DSN=LEM0U01.LEMCICS.LOAD2,DISP=SHR
//DD1 DD DSN=LEM0U09.CKUMS.KSDSPGM,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
R
E105
/*
//
**************************** Bottom of Data *******************

JCL PROGRAM TO LIST ALL RECORDS.(listKSDS)


***************************** Top of Data *********************

//LEMCKUMS JOB LEM01,CKUMS,CLASS=Q,MSGCLASS=X,NOTIFY=&SYSUID


//STEP1 EXEC PGM=IDXFILE
//STEPLIB DD DSN=LEM0U01.LEMCICS.LOAD2,DISP=SHR
//DD1 DD DSN=LEM0U09.CKUMS.KSDSPGM,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
L
//
**************************** Bottom of Data *******************

JCL PROGRAM TO DELETE A RECORD. (DELKSDS)


***************************** Top of Data *********************

//LEMCKUMS JOB LEM01,CKUMS,CLASS=Q,MSGCLASS=X,NOTIFY=&SYSUID


//STEP1 EXEC PGM=IDXFILE
//STEPLIB DD DSN=LEM0U01.LEMCICS.LOAD2,DISP=SHR
//DD1 DD DSN=LEM0U09.CKUMS.KSDSPGM,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
D
E107
/*
//
**************************** Bottom of Data *********************

Written By C.Kumaresan. Aattuppakkam Village

You might also like