You are on page 1of 3

TO append records IN A KSDS WITH ALTERNATE INDEX

ID DIVISION.
PROGRAM-ID. AIX.
ENVIRONMENT DIVISION.
INPUT-OUPUT SECTION.
FILE-CONTROL.
SELECT BANK-FILE ASSIGN TO CCCC
ORGANIZATION IS INDEXED
ACCESS MODE IS DYNAMIC
RECORD KEY IS ACCNO
ALTERNATE RECORD KEY IS ACCNA WITH DUPLICATES
FILE STATUS IS FS.
DATA DIVISION.
FILE SECTION.
FD BANK-FILE.
01 BANK-REC.
02 ACCNO PIC 9(5).
02 ACCNA PIC X(20).
02 ACCTY PIC A.
02 ACCAM PIC 9(5).
02 FILLER PIC X(49) VALUE SPACES.
PROCEDURE DIVISION.
START-PARA.
PERFORM OPEN-PARA.
PERFORM WRITE-PARA.
PERFORM CLOSE-PARA.
STOP RUN.

READING A KSDS USING ALTERNATE INDEX (ACCNA)

READ <filename> KEY IS <dataname>


[INVALID KEY <statement> ]

ID DIVISION.
PROGRAM-ID. AIX.
ENVIRONMENT DIVISION.
INPUT-OUPUT SECTION.
FILE-CONTROL.
SELECT BANK-FILE ASSIGN TO CCCC
ORGANIZATION IS INDEXED
ACCESS MODE IS DYNAMIC
RECORD KEY IS ACCNO
ALTERNATE RECORD KEY IS ACCNA WITH DUPLICATES
FILE STATUS IS FS.
DATA DIVISION.
FILE SECTION.
FD BANK-FILE.
01 BANK-REC.
02 ACCNO PIC 9(5).
02 ACCNA PIC X(20).
02 ACCTY PIC A.
02 ACCAM PIC 9(5).
02 FILLER PIC X(49).
PROCEDURE DIVISION.
START-PARA.
PERFORM OPEN-PARA.
ACCEPT ACCNA.
PERFORM READ-PARA.
PERFORM CLOSE-PARA.
STOP RUN.
OPEN-PARA.
OPEN INPUT BANK-FILE.
IF FS = '35'
DISPLAY 'FILE NOT FOUND'
STOP RUN.
READ-PARA.
READ BANK-FILE KEY IS ACCNA INVALID KEY
DISPLAY 'RECORD NOT FOUND'.
DISPLAY ACCNO.
DISPLAY ACCNA.
DISPLAY ACCTY.
DISPLAY ACCAM.
CLOSE-PARA.
CLOSE BANK-FILE.

RUNJCL SHOULD CONTAIN

//CCCC DD DSN=ISAM40.SAMU.KSDS1,DISP=SHR
//CCCC1 DD DSN=ISAM40.SAMU.PATH1,DISP=SHR
//SYSIN DD *
HARI
/*

TO DEFINE A ALTERNATE INDEX


------------------------------------------------

DEFINE AIX
( NAME(alternate index data set name) -
RELATE(ksds name) -
VOLUMES(volume name) -
CISZ(control interval size) -
TRACKS(primary,secondary) -
RECORDSIZE(average,MAXIMUM) -
KEYS(length,offset) -
FREESPACE(control interval, control area) -
NONUNIQUEKEY/UNIQUEKEY -
UPGRADE -
) -
[DATA NAME(data set name) - ]
[INDEX NAME(data set name) - ]

TO BUILD
--------------
//job card
//step1 exec pgm=idcams
//sysprint dd sysout=*
//in dd dsn=isam40.(base cluster name)
//out dd dsn=isam40.(alternate index cluster)
//sysin dd *
BLDINDEX -
INFILE(ddname) -
OUTFILE(ddname)
/*
//

TO SET PATH
--------------------
//job card
//step1 exec pgm=idcams
//sysprint dd sysout=*
//sysin dd *
DEFINE PATH -
( NAME (pathname) -
PATHENTRY(alternate index name) -
UPDATE )

You might also like