Professional Documents
Culture Documents
O/P: MTPLB22.VSAM.KSDS
MTPLB22.VSAM.KSDS.DATA
MTPLB22.VSAM.KSDS.INDEX
THE FIRST IS THE ONE WHICH WE HAVE CREATED. AND THE OTHER TWO ARE CREATED BY
THE SYSTEM.
TO VIEW EACH ONE OF THEM TYPE 'PRINT IDS (/) CHAR' INFRONT OF THAT PARTICULAR
PDS THEN U HAVE VIEW THE RECORDS.SINCE THIS IS A VSAM DATA SET WE NEED TO TYPE
THIS COMMAND IN FRONT OF THIS DATA SET. DIRECTLY WE CAN'T EDIT BY TELLING E.
WE HAVE TYPED PRINT IDS (/) CHAR IN FRONT OF MTPLB22.VSAM.KSDS THE OUTPUT IS AS
FOLLOWS.
IEC161I 072-053,MTPLB22,ISPFPROCISPFPROC,SYS00015,,,
IEC161I MTPLB22.VSAM.KSDS,MTPLB22.VSAM.KSDS.DATA,USERCAT.TSOUSER
IDC3300I ERROR OPENING MTPLB22.VSAM.KSDS
IDC3351I ** VSAM OPEN RETURN CODE IS 160
IDC0005I NUMBER OF RECORDS PROCESSED WAS 0
IDC0014I LASTCC=12
***
IEC161I 072-053,MTPLB22,ISPFPROCISPFPROC,SYS00016,,,
IEC161I MTPLB22.VSAM.KSDS,MTPLB22.VSAM.KSDS.DATA,USERCAT.TSOUSER
IDC3300I ERROR OPENING MTPLB22.VSAM.KSDS.DATA
IDC3351I ** VSAM OPEN RETURN CODE IS 160
IDC0005I NUMBER OF RECORDS PROCESSED WAS 0
IDC0014I LASTCC=12
***
NEXT TYPE 'PRINT IDS (/) CHAR' WE GET
IEC161I 072-053,MTPLB22,ISPFPROCISPFPROC,SYS00017,,,
IEC161I MTPLB22.VSAM.KSDS,MTPLB22.VSAM.KSDS.INDEX,USERCAT.TSOUSER
IDC3300I ERROR OPENING MTPLB22.VSAM.KSDS.INDEX
IDC3351I ** VSAM OPEN RETURN CODE IS 160
IDC0005I NUMBER OF RECORDS PROCESSED WAS 0
IDC0014I LASTCC=12
***
2) LETS TRY TO CREATE A ESDS.
O/P : MTPLB22.VSAM.ESDS
MTPLB22.VSAM.ESDS.DATA
THE FIRST PDS IS CREATED BY THE USER AND THE SECOND IS CREATED BY THE SYSTEM.
NOTE THAT HERE NO INDEX PDS IS CREATED COZ IT IS ESDS.
TYPE 'PRINT IDS (/) CHAR' IN FRONT OF MTPLB22.VSAM.ESDS.
IEC161I 072-053,MTPLB22,ISPFPROCISPFPROC,SYS00024,,,
IEC161I MTPLB22.VSAM.ESDS,MTPLB22.VSAM.ESDS.DATA,USERCAT.TSOUSER
IDC3300I ERROR OPENING MTPLB22.VSAM.ESDS
IDC3351I ** VSAM OPEN RETURN CODE IS 160
IDC0005I NUMBER OF RECORDS PROCESSED WAS 0
IDC0014I LASTCC=12
***
IEC161I 072-053,MTPLB22,ISPFPROCISPFPROC,SYS00025,,,
IEC161I MTPLB22.VSAM.ESDS,MTPLB22.VSAM.ESDS.DATA,USERCAT.TSOUSER
IDC3300I ERROR OPENING MTPLB22.VSAM.ESDS.DATA
IDC3351I ** VSAM OPEN RETURN CODE IS 160
IDC0005I NUMBER OF RECORDS PROCESSED WAS 0
IDC0014I LASTCC=12
3) CREATE AN RRDS.
O/P : MTPLB22.VSAM.RRDS
MTPLB22.VSAM.RRDS.DATA
IEC161I 072-053,MTPLB22,ISPFPROCISPFPROC,SYS00031,,,
IEC161I MTPLB22.VSAM.RRDS,MTPLB22.VSAM.RRDS.DATA,USERCAT.TSOUSER
IDC3300I ERROR OPENING MTPLB22.VSAM.RRDS.DATA
IDC3351I ** VSAM OPEN RETURN CODE IS 160
IDC0005I NUMBER OF RECORDS PROCESSED WAS 0
IDC0014I LASTCC=12
4) CREATE AN VRRDS
O/P : MTPLB22.VSAM.VRRDS
MTPLB22.VSAM.VRRDS.DATA
MTPLB22.VSAM.VRRDS.INDEX
5) CREATE AN LDS
O/P : MTPLB22.VSAM.LDS
MTPLB22.VSAM.LDS.DATA
EDIT MTPLB22.VSAM.LDS
IEC161I 072-053,MTPLB22,ISPFPROCISPFPROC,SYS00035,,,
IEC161I MTPLB22.VSAM.LDS,MTPLB22.VSAM.LDS.DATA,USERCAT.TSOUSER
IDC3300I ERROR OPENING MTPLB22.VSAM.LDS
IDC3351I ** VSAM OPEN RETURN CODE IS 160
IDC0005I NUMBER OF RECORDS PROCESSED WAS 0
IDC0014I LASTCC=12
***
EDIT MTPLB22.VSAM.LDS.DATA
IEC161I 072-053,MTPLB22,ISPFPROCISPFPROC,SYS00035,,,
IEC161I MTPLB22.VSAM.LDS,MTPLB22.VSAM.LDS.DATA,USERCAT.TSOUSER
IDC3300I ERROR OPENING MTPLB22.VSAM.LDS
IDC3351I ** VSAM OPEN RETURN CODE IS 160
IDC0005I NUMBER OF RECORDS PROCESSED WAS 0
IDC0014I LASTCC=12
***
EDIT MTPLB22.VSAM.LDS.INDEX
IEC161I 072-053,MTPLB22,ISPFPROCISPFPROC,SYS00036,,,
IEC161I MTPLB22.VSAM.LDS,MTPLB22.VSAM.LDS.DATA,USERCAT.TSOUSER
IDC3300I ERROR OPENING MTPLB22.VSAM.LDS.DATA
IDC3351I ** VSAM OPEN RETURN CODE IS 160
IDC0005I NUMBER OF RECORDS PROCESSED WAS 0
IDC0014I LASTCC=12
***
NOTE : U CAN VIEW THE LISTCAT ENTRIES FOR ANY PDS CREATED IN THE ABOVE
PROGRAM. U JUST HAVE TO GIVE THE PDS NAME.
7) NOW WE SHALL ADD SOME RECORDS TO ALL THE VSAM DATA SETS.FIRST START
FROM KSDS.
NOW WE SHALL TRY TO SEE THE ENTRIES IN .DATA AND .INDEX FILES OF THIS PDS.
RBA OF RECORD - 0
0E100 RAJAN 22AA 0000010
0
RBA OF RECORD - 80
0E200 MAHES 22AA 0000020
0
RBA OF RECORD - 160
0E300 PRASA 22AA 0000030
0
RBA OF RECORD - 240
0E400 SUVED 22AA 0000040
0
IDC0005I NUMBER OF RECORDS PROCESSED WAS 4
***
IF U GIVE DIFFERENT DATA LETS SAY U GIVE 00E0500 SSDFAA IN THE OUTSDS. IF U RUN
THE ABOVE PROGRAM WITH THIS SDS THEN THE KSDS WILL BE APPENDED WITH THIS NEW
RECORD.
THE SAME PROGRAM CAN BE DONE IN THIS TYPE ALSO.THE DIFFERENCE IS THERE
WE HAVE GIVEN THE IDS AND ODS. HERE WE ARE GIVING THE INFILE AND
OUTFILE AND ASSIGINING IT TO A DD STATEMENT.
THE ONLY DIFFERENCE IS THERE WE ARE GIVING INDATASET AND OUTDATASET WITHIN
THAT WE ARE GIVING THE PDS NAME. BUT HERE WE ARE GIVING INFILE AND OUTFILE AND
ASSIGNING IT TO DD1 AND DD2 RESPECTIVELY.
EDIT MTPLB22.VSAM.ESDS.DATA
RBA OF RECORD - 0
0E100 RAJAN 22AA 00000100
RBA OF RECORD - 80
0E200 MAHES 22AA 00000200
RBA OF RECORD - 160
0E300 PRASA 22AA 00000300
RBA OF RECORD - 240
0E400 SUVED 22AA 00000400
IDC0005I NUMBER OF RECORDS PROCESSED WAS 4
***
IF U SUB THE ABOVE PROGRAM ONCE AGAIN U WILL NOT GET ANY ERROR. THE
RECORDS WILL BE AGAIN ADDED AND NOW THE TOTAL RECORDS WOULD BE 8.
COZ IT HAS NOT KEY. THE OUTPUT WOULD BE AS FOLLOWS.
O/P
RBA OF RECORD - 0
0E100 RAJAN 22AA 00000100
RBA OF RECORD - 80
0E200 MAHES 22AA 00000200
RBA OF RECORD - 160
0E300 PRASA 22AA 00000300
RBA OF RECORD - 240
0E400 SUVED 22AA 00000400
RBA OF RECORD - 320
0E100 RAJAN 22AA 00000100
RBA OF RECORD - 400
0E200 MAHES 22AA 00000200
RBA OF RECORD - 480
0E300 PRASA 22AA 00000300
RBA OF RECORD - 560
0E400 SUVED 22AA 00000400
IDC0005I NUMBER OF RECORDS PROCESSED WAS 8
O/P
RELATIVE RECORD NUMBER - 1
0E100 RAJAN 22AA 00000100
RELATIVE RECORD NUMBER - 2
0E200 MAHES 22AA 00000200
RELATIVE RECORD NUMBER - 3
0E300 PRASA 22AA 00000300
RELATIVE RECORD NUMBER - 4
0E400 SUVED 22AA 00000400
IDC0005I NUMBER OF RECORDS PROCESSED WAS 4
EDIT MTPLB22.VSAM.VRRDS.DATA
RBA OF RECORD - 0
....0E100 RAJAN 22AA 00000100
RBA OF RECORD - 84
....0E200 MAHES 22AA 00000200
RBA OF RECORD - 168
....0E300 PRASA 22AA 00000300
RBA OF RECORD - 252
....0E400 SUVED 22AA 00000400
IDC0005I NUMBER OF RECORDS PROCESSED WAS 4
***
EDIT MTPLB22.VSAM.VRRDS.INDEX
RBA OF RECORD - 0
.9...................6.6.......................................................
.........................................
.........................................
.........................
IDC0005I NUMBER OF RECORDS PROCESSED WAS 1
***
NOW WE SHALL TRY TO RUN THE SAME PROGRAM AGAIN AND WE SHALL C WAT
HAPPENES.
U GET THIS MAXCC=12
IDCAMS SYSTEM SERVICES TIME:
O/P
MTPLB22.ESDS
MTPLB22.ESDS.DATA
MTPLB22.KSDS
MTPLB22.KSDS.DATA
MTPLB22.KSDS.INDEX
MTPLB22.LDS
MTPLB22.LDS.DATA
MTPLB22.RRDS
MTPLB22.RRDS.DATA
THEN IF U AGAIN RUN THE ABOVE CODE. THEN THE LDS WILL BE UPDATED.
O/P
RBA OF RECORD - 0
ASM;OEL ASDFASDFSDFSDF
-------(SPACES OF NUMBER OF LINES)
00000100
RBA OF RECORD - 4096
ASM;OEL ASDFASDFSDFSDF
-------(SPACES OF NUMBER OF LINES)----
00000100
RBA OF RECORD - 8192
SECOND RECORD. DON'T WORRY FIRST RECORD IS LIKE THAT.
-------(SPACES OF NUMBER OF LINES)
00000200
IDC0005I NUMBER OF RECORDS PROCESSED WAS 3
***
13 ) COPYING FROM A KSDS TO ANOTHER KSDS
IF U R CREATING ANOTHER KSDS WITH SOME OTHER KEY ALSO IT WILL COPY THE
RECORDS FROM THE FIRST KSDS.PROVIDED IF THE NEW KEY U R SPECIFYING IS IN THE
SEQUENTIAL ORDER THEN IT WILL BE COPIED. IF THE RECORDS WHICH U HAVE SPECIFIED
AS KEY IS REPEATED THEN IT WILL NOT BE COPIED.
KSDS
KEY OF RECORD - 0E100
0E100 RAJAN 22AA 0000010
KEY OF RECORD - 0E200
0E200 MAHES 22AA 0000020
0
KEY OF RECORD - 0E300
0E300 PRASA 22AA 0000030
0
KEY OF RECORD - 0E400
0E400 SUVED 22AA 0000040
0
KEY OF RECORD - 0E500
0E500 RAJAN 22AA 0000010
0
KEY OF RECORD - 0E600
0E600 MAHES 22AA 0000020
0
KEY OF RECORD - 0E700
0E700 PRASA 22AA 0000030
0
KEY OF RECORD - 0E800
0E800 SUVED 22AA 0000040
0
IDC0005I NUMBER OF RECORDS PROCESSED WAS 8
KSDS2 WE HAVE CREATED WITH KEYS(5 1) BUT THEN ALSO IT IS COPYING SINCE THE
DATA IS IN THE SEQUENTIAL ORDER.
O/P
KSDS2
0E100 RAJAN 22AA 0000010
0
KEY OF RECORD - E200
0E200 MAHES 22AA 0000020
0
KEY OF RECORD - E300
0E300 PRASA 22AA 0000030
0
KEY OF RECORD - E400
0E400 SUVED 22AA 0000040
0
KEY OF RECORD - E500
0E500 RAJAN 22AA 0000010
0
KEY OF RECORD - E600
0E600 MAHES 22AA 0000020
0
KEY OF RECORD - E700
0E700 PRASA 22AA 0000030
0
KEY OF RECORD - E800
0E800 SUVED 22AA 0000040
0
IDC0005I NUMBER OF RECORDS PROCESSED WAS 8
HERE THE RECORDS FROM KSDS WILL BE COPIED TO KSDS2,ESDS1 AND RRDS1. IF U R
COPYING AN KSDS TO RRDS WHICH ALREADY HAS SOME RECORDS THEN IT IS NOT
POSSIBLE (HERE U R APPENDING UR KSDS RECORDS TO RRDS).
O/P
TYPE 'PRINT IDS (/) CHAR ' INFRONT OF EACH CLUSTER NAME U WILL HAVE RECORDS
ADDED INTO IT.
O/P
IT WILL BE COPIED PROVIDED IN THE INPUT FILE 'ESDS' WHILE COPYING TO KSDS THE
KEYS SHOULD NOT BE UNIQUE.WITH REPRO COMMAND U CAN'T APPEND AN ESDS TO RRDS.
USING REUSE WE CAN APPEND.
O/P :ALL THE THREE VSAM DATA SET WILL BE CREATED. IF U R COPYING AN RRDS TO
ANOTHER RRDS THEN WE HAVE TO NOTE THAT THE RRN SHOULD NOT BE SAME IF NOT U
WILL GET ERROR.IF U WANT TO COPY THE SAME RRN RRDS DATA SETS THERE ARE TWO
WAYS.
17)WE SHALL NOW COPY AND RRDS TO ANOTHER RRDS WITH SAME
RRN(RELATIVE RECORD NUMBER).WE CAN DO THIS USING FROMNUMBER()
TONUMBER().
IN FILE :MTPLB22.VSAM.RRDS
RELATIVE RECORD NUMBER - 1
0E100 RAJAN 22AA 0000100
RELATIVE RECORD NUMBER - 2
0E200 MAHES 22AA 00000200
RELATIVE RECORD NUMBER - 3
0E300 PRASA 22AA 00000300
RELATIVE RECORD NUMBER - 4
0E400 SUVED 22AA 00000400
PROGRAM IS AS FOLLOWS.
NEED TO CLARIFY.
MTPLB22.VSAM.RRDS
RELATIVE RECORD NUMBER - 1
0E100 RAJAN 22AA 00000100
RELATIVE RECORD NUMBER - 2
0E200 MAHES 22AA 00000200
RELATIVE RECORD NUMBER - 3
0E300 PRASA 22AA 00000300
RELATIVE RECORD NUMBER - 4
0E400 SUVED 22AA 00000400
IDC0005I NUMBER OF RECORDS PROCESSED WAS 4
MTPLB22.VSAM.RRDS1
RELATIVE RECORD NUMBER - 1
0E500 RAJAN 22AA 00000100
RELATIVE RECORD NUMBER - 2
0E600 MAHES 22AA 00000200
RELATIVE RECORD NUMBER - 3
0E700 PRASA 22AA 00000300
RELATIVE RECORD NUMBER - 4
0E800 SUVED 22AA 00000400
RELATIVE RECORD NUMBER - 5
0E900 WAQTD 22AA 00000500
RELATIVE RECORD NUMBER - 6
0E110 RAMED 22AA 00000600
IDC0005I NUMBER OF RECORDS PROCESSED WAS 6
PROGRAM TO COPY RRDS TO RRDS1 WHICH HAS RRN SAME USING REPLACE COMMAND.
O/P : MTPLB22.VSAM.RRDS1
RELATIVE RECORD NUMBER - 1
0E100 RAJAN 22AA 00000100
RELATIVE RECORD NUMBER - 2
0E200 MAHES 22AA 00000200
RELATIVE RECORD NUMBER - 3
0E300 PRASA 22AA 00000300
RELATIVE RECORD NUMBER - 4
0E400 SUVED 22AA 00000400
RELATIVE RECORD NUMBER - 5
0E900 WAQTD 22AA 00000500
RELATIVE RECORD NUMBER - 6
0E110 RAMED 22AA 00000600
IDC0005I NUMBER OF RECORDS PROCESSED WAS 6
19)COPYING KSDS TO KSDS1 HAVING SAME KEY NUMBER. WATCH THE INPUT AND
OUTPUT FILE CAREFULLY WITH THE OUTPUT.
IN FILE : MTPLB22.VSAM.KSDS
KEY OF RECORD - 0E100
0E100 RAJAN 22AA 00000100
KEY OF RECORD - 0E200
0E200 MAHES 22AA 00000200
KEY OF RECORD - 0E300
0E300 PRASA 22AA 00000300
KEY OF RECORD - 0E400
0E400 SUVED 22AA 00000400
KEY OF RECORD - 0E500
0E500 RAJAN 22AA 00000100
KEY OF RECORD - 0E600
0E600 MAHES 22AA 00000200
KEY OF RECORD - 0E700
0E700 PRASA 22AA 00000300
KEY OF RECORD - 0E800
0E800 SUVED 22AA 00000400
IDC0005I NUMBER OF RECORDS PROCESSED WAS 8
O/P : MTPLB22.VSAM.KSDS1.
KEY OF RECORD - E100
0E100 RAJAN 22AA 00000100
KEY OF RECORD - E200
0E200 MAHES 22AA 00000200
KEY OF RECORD - E300
0E300 PRASA 22AA 00000300
KEY OF RECORD - E400
0E400 SUVED 22AA 00000400
KEY OF RECORD - E500
0E500 RAJAN 22AA 00000100
KEY OF RECORD - E600
0E600 MAHES 22AA 00000200
KEY OF RECORD - E700
0E700 PRASA 22AA 00000300
KEY OF RECORD - E800
0E800 SUVED 22AA 00000400
IDC0005I NUMBER OF RECORDS PROCESSED WAS 8
***
PROGRAM IS AS FOLLOWS
000001 //MTPLB22J JOB 234,'VSAM',CLASS=A,MSGCLASS=A,
000002 // MSGLEVEL=(1,1),NOTIFY=MTPLB22
000003 //ST1 EXEC PGM=IDCAMS
000004 //DD1 DD DSN=MTPLB22.VSAM.KSDS,DISP=SHR
000005 //DD2 DD DSN=MTPLB22.VSAM.KSDS1,DISP=SHR
000008 //SYSPRINT DD SYSOUT=*
000009 //SYSIN DD *
000010 REPRO INFILE (DD1) OUTFILE (DD2) -
000011 FROMKEY(E200) TOKEY(E400)
000012 //
O/P MTPLB22.VSAM.KSDS1
KEY OF RECORD - E100
0E100 RAMYA 22AA 00000100
KEY OF RECORD - E200
0E200 SIMRAN22AA 00000200
KEY OF RECORD - E300
0E300 RAHUL 22AA 00000300
KEY OF RECORD - E400
0E400 NAVYA 22AA 00000400
KEY OF RECORD - E500
0E500 RAGNU 22AA 00000110
KEY OF RECORD - E600
0E600 PRASAD22AA 00000120
KEY OF RECORD - E700
0E700 SACHN 22AA 00000130
IDC0005I NUMBER OF RECORDS PROCESSED WAS 7
MTPLB22.VSAM.KSDS1
KEY OF RECORD - E100
0E100 AAAAA 22AA 00000100
KEY OF RECORD - E200
0E200 BBBBB 22AA 00000110
IDC0005I NUMBER OF RECORDS PROCESSED WAS 2
***
O/P MTPLB22.VSAM.KSDS1
KEY OF RECORD - E100
0E100 AAAAA 22AA 00000100
KEY OF RECORD - E200
0E200 BBBBB 22AA 00000110
KEY OF RECORD - E300
0E300 PRASA 22AA 00000300
KEY OF RECORD - E400
0E400 SUVED 22AA 00000400
IDC0005I NUMBER OF RECORDS PROCESSED WAS 4
***
MTPLB22.VSAM.KSDS
KEY OF RECORD - E100
0E100 AAAAA 22AA 00000100
KEY OF RECORD - E200
0E200 BBBBB 22AA 00000110
KEY OF RECORD - E300
0E300 CCCCC 22AA 00000120
KEY OF RECORD - E400
0E400 DDDDD 22AA 00000130
IDC0005I NUMBER OF RECORDS PROCESSED WAS 4
***
MTPLB22.VSAM.KSDS1
KEY OF RECORD - E500
0E500 EEEEE 22AA 00000100
KEY OF RECORD - E600
0E600 FFFFF 22AA 00000110
KEY OF RECORD - E700
0E700 GGGGG 22AA 00000120
KEY OF RECORD - E800
0E800 HHHHH 22AA 00000130
IDC0005I NUMBER OF RECORDS PROCESSED WAS 4
***
THIS IS PROGRAM. WE ARE TRYING TO REUSE KSDS1.WE CAN NOTE IN THE OUTPUT THAT
KSDS1 IS COMPLETELY OVERWRITTEN WITH KSDS FILE.
NOTE: BEFORE WE CAN USE KSDS1 IN THIS PROGRAM. FIRST WE HAVE TO CREATE KSDS1
USING REUSE PARAMATER.THEN ONLY WE CAN REUSE IN THIS PROGRAM.
O/P MTPLB22.VSAM.KSDS1
KEY OF RECORD - E100
0E100 AAAAA 22AA 00000100
KEY OF RECORD - E200
0E200 BBBBB 22AA 00000110
KEY OF RECORD - E300
0E300 CCCCC 22AA 00000120
KEY OF RECORD - E400
0E400 DDDDD 22AA 00000130
IDC0005I NUMBER OF RECORDS PROCESSED WAS 4
***
MTPLB22.VSAM.RRDS
RELATIVE RECORD NUMBER -1
0E100 RAMYA 22AA 00000100
RELATIVE RECORD NUMBER -1
0E100 RAMYA 22AA 00000100
RELATIVE RECORD NUMBER -2
0E200 RAGNU 22AA 00000110
RELATIVE RECORD NUMBER -3
0E300 PRASAD22AA 00000120
RELATIVE RECORD NUMBER -4
0E400 SACHN 22AA 00000130
RELATIVE RECORD NUMBER -5
0E500 SEWAG 22AA 00000140
RELATIVE RECORD NUMBER -6
0E600 LAXMA 22AA 00000150
RELATIVE RECORD NUMBER - 7
0E700 ASDF 22AA 00000160
IDC0005I NUMBER OF RECORDS PROCESSED WAS 7
MTPLB22.VSAM.RRDS1
RELATIVE RECORD NUMBER - 1
0E100 EEEEE 22AA 00000100
RELATIVE RECORD NUMBER - 2
0E200 FFFFF 22AA 00000110
RELATIVE RECORD NUMBER - 3
0E300 GGGGG 22AA 00000120
RELATIVE RECORD NUMBER - 4
0E400 HHHHH 22AA 00000130
RELATIVE RECORD NUMBER - 5
0E500 IIIII 22AA 00000140
RELATIVE RECORD NUMBER - 6
0E600 JJJJJ 22AA 00000150
RELATIVE RECORD NUMBER - 7
0E700 KKKKK 22AA 00000160
IDC0005I NUMBER OF RECORDS PROCESSED WAS 7
***
PROGRAM
000001 //MTPLB22J JOB 234,'VSAM',CLASS=A,MSGCLASS=A,
000002 // MSGLEVEL=(1,1),NOTIFY=MTPLB22
000003 //ST1 EXEC PGM=IDCAMS
000004 //DD1 DD DSN=MTPLB22.VSAM.RRDS,DISP=SHR
000005 //DD2 DD DSN=MTPLB22.VSAM.RRDS1,DISP=SHR
000008 //SYSPRINT DD SYSOUT=*
000009 //SYSIN DD *
000010 REPRO INFILE (DD1) OUTFILE (DD2) -
000011 REPLACE -
000012 FROMNUMBER(1) TONUMBER(4)
000013 //
O/P :MTPLB22.VSAM.RRDS1
23) IF WE WANT TO COPY RECORDS FROM RRN=2 TO RRN=4 AND FROM RRN=6 TO
RRN=7.THE PROGRAM IS AS FOLLOWS.
000001 //MTPLB22J JOB 234,'VSAM',CLASS=A,MSGCLASS=A,
000002 // MSGLEVEL=(1,1),NOTIFY=MTPLB22
000003 //ST1 EXEC PGM=IDCAMS
000004 //DD1 DD DSN=MTPLB22.VSAM.RRDS,DISP=SHR
000005 //DD2 DD DSN=MTPLB22.VSAM.RRDS1,DISP=SHR
000008 //SYSPRINT DD SYSOUT=*
000009 //SYSIN DD *
000010 REPRO INFILE (DD1) OUTFILE (DD2) -
000011 FROMNUMBER(2) TONUMBER(4)
000012 REPRO INFILE (DD1) OUTFILE (DD2) -
000013 SKIP(5) COUNT(2)
000014 //
I/P:
RELATIVE RECORD NUMBER - 1
0E100 RAMYA 22AA 00000100
RELATIVE RECORD NUMBER - 2
0E200 RAGNU 22AA 00000110
RELATIVE RECORD NUMBER - 3
0E300 PRASAD22AA 00000120
RELATIVE RECORD NUMBER - 4
0E400 SACHN 22AA 00000130
RELATIVE RECORD NUMBER - 5
0E500 SEWAG 22AA 00000140
RELATIVE RECORD NUMBER - 6
0E600 LAXMA 22AA 00000150
RELATIVE RECORD NUMBER - 7
0E700 ASDF 22AA 00000160
IDC0005I NUMBER OF RECORDS PROCESSED WAS 7
***
O/P
RELATIVE RECORD NUMBER - 2
0E200 RAGNU 22AA 00000110
RELATIVE RECORD NUMBER - 3
0E300 PRASAD22AA 00000120
RELATIVE RECORD NUMBER - 4
0E400 SACHN 22AA 00000130
RELATIVE RECORD NUMBER - 6
0E600 LAXMA 22AA 00000150
RELATIVE RECORD NUMBER - 7
0E700 ASDF 22AA 00000160
IDC0005I NUMBER OF RECORDS PROCESSED WAS 5
***
24)TAKING THE BACKUP OF UR VSAM DATA SETS USING EXPORT AND IMPORT
COMMAND.
IF U SAY TEMPORARY WITH INHIBITSOURCE OPTION THEN THE ORIGINAL DATA SET
BECOMES READ-ONLY. U CAN USE THIS INHIBITSOURCE OPTION ONLY WITH
TEMPORARY OPTION. IF U TRY TO ADD OR UPDATE TO THIS KSDS THEN U WILL GET THE
ERROR AS
25) LETS ASSUME THAT WE HAVE EXPORTED A KSDS FILE USING THE BELOW
PROGRAM.
HERE ERASE MEANS THE DELETED KSDS FILE WILL BE REPLACED WITH BINARY
ZERO.
O/P : AFTER THE EXECUTION THE KSDS FILE U HAVE MENTIONED HERE WILL BE DELETED.
WHEN U TRY TO VIEW THIS IT WILL NOT BE THERE.BUT U CAN C THE RECORDS ARE COPIED
FROM KSDS TO SDSUP FILE.
O/P :NOW U CAN AGAIN C THE KSDS FILE WHICH WAS DELETED. U CAN EDIT AND C THAT
VSAMDATA SET.
IF U WANT TO CHANGE THE ATTRIBUTES OF THE FILE WHICH U R TRYING TO IMPORT THEN
U CAN DO THAT USING THE BELOW SYSIN DD * STATEMENTS.
000005 //SYSIN DD *
000006 IMPORT IDS(MTPLB22.VSAM.SDSUP) -
000007 ODS(MTPLB22.VSAM.KSDS) -
000008 OBJECTS ((MTPLB22.VSAM.KSDS -
000009 NEWNAME(MTPLB22.VSAM.IMPKSDS) -
000010 VOLUME(USER01))) -
HERE WE ARE CHANGING THE NAME OF THE BASE CLUSTER AND STORING IT IN A
DIFFERENT VOLUME SERIAL. EARLIER THE DATA SET IS STORED IN MTBLR1 NOW WE ARE
CHANGIN IT TO USER01.
NOTE: IF U DELETE THE MTPLB22.VSAM.KSDS WHICH U HAVE JUST IMPORTED. AND AGAIN
TRY TO IMPORT THE FILE AGAIN THEN U HAVE TO USE INTOEMPTY OPTION.
THEN AGAIN THE KSDS FILE WILL BE CREATED AND THE DATA IS RETRIVED BACK. WE CAN
IMPORT A PARTICULAR DATA SET ANY NUMBER OF TIMES USING INTOEMPTY. BUT BEFORE
THIS THE BASE CLUSTER SHOULD BE DELETED.
27)LETS ASSUME U HAVE CREATED A KSDS WITH FREESPACE (10 20). NOW U
WANT TO CHANGE THE PERCENTAGE.
THIS PROGRAM WE ARE CHANGING THE FREESPACE. NOTE THAT HERE WE ARE USING THE
DATA NAME WITH THE ALTER COMMAND AND NOT THE BASE CLUSTER NAME.
O/P
RKP--------------------1 MAXLRECL--------------80 EXCPEXIT------
----(NULL) CI/CA-----------------12
SHROPTNS(1,3) RECOVERY UNIQUE NOERASE INDEXED
NOWRITECHK NOIMBED NOREPLICAT
UNORDERED REUSE NONSPANNED
STATISTICS
REC-TOTAL--------------0 SPLITS-CI--------------0 EXCPS---------
---------0
REC-DELETED------------0 SPLITS-CA--------------0 EXTENTS-------
---------1
REC-INSERTED-----------0 FREESPACE-%CI---------60 SYSTEM-TIMESTA
MP:
REC-UPDATED------------0 FREESPACE-%CA---------30 X'0000000
000000000'
REC-RETRIEVED----------0 FREESPC------------49152
ALLOCATION
SPACE-TYPE---------TRACK HI-A-RBA-----------49152
SPACE-PRI--------------1 HI-U-RBA---------------0
SPACE-SEC--------------1
VOLUME
VOLSER------------MTBLR1 PHYREC-SIZE---------4096 HI-A-RBA------
-----49152 EXTENT-NUMBER----------1
DEVTYPE------X'3010200F' PHYRECS/TRK-----------12 HI-U-RBA------
***
IN THE SAME WAY WE CAN CHANGE THE PASSWORDS, BUFFERSPACE, CLUSTER
NAMES,CHANGE THE VOLUME ETC. USING ALTER COMMAND.
IF U RUN THIS PROGRAM THEN U MIGHT GET THE ERROR SAYING MAXCC=12. COZ THE
BACKUP DATASET IS NOT HAVING ANY RECORD AND U R CREATING FOR THE FIRST TIME.
COBOL PROGRAM
000100 000100 ID DIVISION.
000200 000200 PROGRAM-ID. CPYKSDS.
000300 000300 ENVIRONMENT DIVISION.
000400 000400 INPUT-OUTPUT SECTION.
000500 000500 FILE-CONTROL.
000600 000600 SELECT INFL ASSIGN TO DD1
000610 000610 ORGANIZATION IS SEQUENTIAL
000620 000620 ACCESS MODE IS SEQUENTIAL.
000700 000700 SELECT KSDSFL ASSIGN TO DD2
000800 000800 ORGANIZATION IS INDEXED
000900 000900 ACCESS MODE IS SEQUENTIAL
001000 001000 RECORD KEY IS KEMPNO
001100 001100 FILE STATUS IS STAT.
001200 001200 DATA DIVISION.
001300 001300 FILE SECTION.
001400 001400 FD INFL.
001500 001500 01 INREC.
001600 001600 02 EMPNO PIC X(5).
001700 001700* 02 EMP-REST.
001800 001800 02 EMPNM PIC X(5).
001900 001900 02 DEPT PIC X(4).
002000 002000 02 FILLER PIC X(66).
002100 002100 FD KSDSFL.
002200 002200 01 KSDSREC.
002300 002300 02 KEMPNO PIC X(5).
002400 002400* 02 FILLER PIC X(75) VALUE SPACES.
002410 002410 02 KEMPNM PIC X(5).
002420 002420 02 KDEPT PIC X(4).
002430 002430 02 FILLER PIC X(66).
002500 002500 WORKING-STORAGE SECTION.
002600 002600 77 EOF PIC X.
002610 002610 77 STAT PIC 99.
002700 002700 PROCEDURE DIVISION.
002800 002800 MP.
002900 002900 OPEN INPUT INFL
003000 003000 OUTPUT KSDSFL.
003010 003010 DISPLAY STAT.
003100 003100* READ INFL INTO KSDSREC AT END MOVE 'Y' TO EOF.
003200 003200 PERFORM MOVPARA UNTIL EOF = 'Y'.
003300 003300 CLOSE INFL KSDSFL.
003400 003400 STOP RUN.
003500 003500 MOVPARA.
003510 003510 READ INFL INTO KSDSREC AT END MOVE 'Y' TO EOF.
003600 003600 WRITE KSDSREC.
003610 003610 DISPLAY KSDSREC.
003800 003800 DISPLAY 'STATUS IS ' STAT.
O/P MTPLB22.VSAM.KSDS
KEY OF RECORD - E1000
E1000AAAAADEP1 00000100
KEY OF RECORD - E2000
E2000BBBBBDEP2 00000110
KEY OF RECORD - E3000
E3000CCCCCDEP3 00000120
KEY OF RECORD - E4000
E4000DDDDDDEP4 00000130
KEY OF RECORD - E5000
E5000EEEEEDEP5 00000140
KEY OF RECORD - E6000
E6000FFFFFDEP6 00000150
KEY OF RECORD - E7000
E7000GGGGGDEP7 00000160
IDC0005I NUMBER OF RECORDS PROCESSED WAS 7
***
O/P
KEY OF RECORD - E1000
E1000AAAAADEP1 00000100
KEY OF RECORD - E1001
E1001HHHHHDEP8 00000100
KEY OF RECORD - E2000
E2000BBBBBDEP2 00000110
KEY OF RECORD - E3000
E3000CCCCCDEP3 00000120
KEY OF RECORD - E4000
E4000DDDDDDEP4 00000130
KEY OF RECORD - E5000
E5000EEEEEDEP5 00000140
KEY OF RECORD - E6000
E6000FFFFFDEP6 00000150
KEY OF RECORD - E7000
E7000GGGGGDEP7 00000160
IDC0005I NUMBER OF RECORDS PROCESSED WAS 8
31) PROGRAM TO INSERT AND ADD TWO RECORDS FROM A SDS TO KSDS.
I/P
000100 E4001IIIIIDEP9
000110 E5001KKKKDEP9
000200 E8000JJJJJDE10
000300 E9000LLLLDE10
O/P
KEY OF RECORD - E1000
E1000AAAAADEP1 00000100
KEY OF RECORD - E1001
E1001HHHHHDEP8 00000100
KEY OF RECORD - E2000
E2000BBBBBDEP2 00000110
KEY OF RECORD - E3000
E3000CCCCCDEP3 00000120
KEY OF RECORD - E4000
E4000DDDDDDEP4 00000130
KEY OF RECORD - E4001
E4001IIIIIDEP9 00000100
KEY OF RECORD - E5000
E5000EEEEEDEP5 00000140
KEY OF RECORD - E5001
E5001KKKKKDEP9 0000011 0
KEY OF RECORD - E6000
E6000FFFFFDEP6 00000150
KEY OF RECORD - E7000
E7000GGGGGDEP7 00000160
KEY OF RECORD - E8000
E8000JJJJJDE10 00000200
KEY OF RECORD - E9000
E9000LLLLLDE10 00000300
IDC0005I NUMBER OF RECORDS PROCESSED WAS 12
NOTE: HERE WE ARE INSERTING TWO RECORDS AND ADDING TWO RECORDS AT THE END.
IF U GIVE ACCESS MODE IS SEQUENTIAL , THEN U WILL GET THIS ERROR. IT HAS TO BE
DYNAMIC.U CAN ACCESS IN RANDOM MODE ALSO AND OPEN IN I-O MODE ONLY. THEN
ALSO U CAN INSERT AND ADD RECORDS.
IGZ0003W A logic error occurred for file DD2 in program ADDRC at relative locati
E4001IIIIIDEP9 00000100
IGZ0003W A logic error occurred for file DD2 in program ADDRC at relative locati
E5001KKKKKDEP9 00000110
IGZ0003W A logic error occurred for file DD2 in program ADDRC at relative locati
E8000JJJJJDE10 00000200
IGZ0003W A logic error occurred for file DD2 in program ADDRC at relative locati
E9000LLLLLDE10 00000300
IGZ0003W A logic error occurred for file DD2 in program ADDRC at relative locati
E9000LLLLLDE10 00000300
I/P
000100 E9001MM DEP3
000110 E9002NN DEP3
000120 E9003OO DEP2
000130 E9004PP DEP1
O/P
KEY OF RECORD - E1000
E1000AAAAADEP1 00000100
KEY OF RECORD - E1001
E1001HHHHHDEP8 00000100
KEY OF RECORD - E2000
E2000BBBBBDEP2 00000110
KEY OF RECORD - E3000
E3000CCCCCDEP3 00000120
KEY OF RECORD - E4000
E4000DDDDDDEP4 00000130
KEY OF RECORD - E4001
E4001IIIIIDEP9 00000100
KEY OF RECORD - E5000
E5000EEEEEDEP5 00000140
KEY OF RECORD - E5001
E5001KKKKKDEP9 00000110
KEY OF RECORD - E6000
E6000FFFFFDEP6 00000150
KEY OF RECORD - E7000
E7000GGGGGDEP7 00000160
KEY OF RECORD - E8000
E8000JJJJJDE10 00000200
KEY OF RECORD - E9000
E9000LLLLLDE10 00000300
KEY OF RECORD - E9001
E9001MM DEP3 00000100
KEY OF RECORD - E9002
E9002NN DEP3 00000110
KEY OF RECORD - E9003
E9003OO DEP2 00000120
KEY OF RECORD - E9004
E9004PP DEP1 00000130
IDC0005I NUMBER OF RECORDS PROCESSED WAS 16
NOTE: IF U HAVE ACCESS MODE AS SEQUENTIAL AND OPEN IN I-O MODE APPEND IS NOT
POSSIBLE. IT WILL BE LOGIC ERROR.IF U SAY ACCESS MODE IS RANDOM AND OPEN IN I-O
MODE THEN IT WILL BE APPENDED.
33) PROGRAM TO DISPLAY A SINGLE RECORD USING ITS KEY NUMBER FROM A
KSDS FILE.
O/P
E3000CCCCCDEP3 00000120
NOTE: 1) IF U GIVE ACCESS MODE IS DYNAMIC AND OPEN IN I-O MODE OR INPUT MODE ,
THEN ALSO U GET THE OUTPUT.
2) IF U GIVE ACCESS MODE IS SEQUENTIAL AND OPEN IN INPUT MODE THEN WHILE
COMPLING U GET ERROR AS
==000026==> IGYPA3040-E A "KEY" phrase was found for "SEQUENTIAL ACCESS" file
"KSDSFL". The
"KEY" phrase was discarded.
I/P
000110 E9001UP1 DEP1
000120 E9002UP2 DEP2
000130 E9003UP3 DEP3
000140 E9004UP4 DEP4
O/P : E3000 WILL BE DELETED. WE HAVE NOT DONE THIS DELETE OPERATION ON THE
ABOVE FILE. SO DON'T GET CONFUSED IF E3000 IS THERE IN FURTHER TRANSACTION.
O/P :
E4000DDDDDDEP4 00000130
E4001IIIIIDEP9 00000100
E5000EEEEEDEP5 00000140
NOTE:IF U R CREATING A ALTERNATE INDEX NOTE THAT THE BASE INDEX SHOULD NOT BE
CREATED WITH THE REUSE OPTION. IF U HAVE CREATED IT WITH THE REUSE OPTION AND
TRYING TO CREATE AN ALTERNATE INDEX TO IT IT WILL GIVE THE ERROR AS 'INVALID
RELATED OBJECT'. IF U EDIT THIS NEWLY CREATED ALTERNATE INDEX THERE WILL BE
NOTHING.UNTIL U BUILD THE INDEX THERE WILL BE NO DATA INSIDE. NOW WE SHALL TRY
TO BUILD AN INDEX
WHILE CREATING AN ALTERNATE INDEX THESE ARE THE STEPS TO BE FOLLOWED AND
MUST.
1 DEFINE AIX BASE CLUSTER
2 DEFINE A PATH
3 BUILD INDEX
AFTER THE BUILD INDEX IS THROUGH, EDIT BOTH INDEX AND PATH.
THE INDEX (HERE DEPT) LOOKS LIKE THIS
KEY OF RECORD - DEP1
.....DEP1E1000E3000E7000
KEY OF RECORD - DEP2
.....DEP2E2000E5000
KEY OF RECORD - DEP3
.....DEP3E4000E6000
IDC0005I NUMBER OF RECORDS PROCESSED WAS 3
***
THE PATH LOOKS LIKE THIS (HERE PATH)
KEY OF RECORD - DEP1
E1000AAAAADEP1 00000100
KEY OF RECORD - DEP1
E3000CCCCCDEP1 00000120
KEY OF RECORD - DEP1
E7000GGGGGDEP1 00000160
KEY OF RECORD - DEP2
E2000BBBBBDEP2 00000110
KEY OF RECORD - DEP2
E5000EEEEEDEP2 00000140
KEY OF RECORD - DEP3
E4000DDDDDDEP3 00000130
KEY OF RECORD - DEP3
E6000FFFFFDEP3 00000150
IDC0005I NUMBER OF RECORDS PROCESSED WAS 7
***
COBRUN.
000100 //MTPLB22S JOB ,,
000200 // CLASS=A,MSGCLASS=H,MSGLEVEL=(1,1),
000300 // NOTIFY=MTPLB22
000400 //RUN EXEC PGM=INITIAL
000500 //STEPLIB DD DSN=MTPLB22.COBOL.LOADLIB,DISP=SHR
000510 //DD1 DD DSN=MTPLB22.VSAM.KSDS,DISP=SHR
000512 //DD11 DD DSN=MTPLB22.VSAM.PATH,DISP=SHR
000700 //SYSPRINT DD SYSOUT=*
001400 //SYSIN DD DUMMY
001600 //
O/P
E2000BBBBBDEP2 00000110
E5000EEEEEDEP2 00000140