This example illustrates the functions of BLKUPD. It is not meant
to be used for repairing your RACF® database.
- Issue the BLKUPD command on the RACF data
set that you want to work with.
BLKUPD 'SYS1.RACF'
BLKUPD:
- Replace a string in the block located at RBA X'E000'.
READ X'E000' UPDATE
BLKUPD:
reads the block at RBA X'E000' and specifies
that changes are to be made to the block. FORMAT
produces
a formatted listing of the OLD index block obtained by the READ command. BLOCK WITH RBA OF 00000000E000
OFFSET COMP. ENTRY NAME RBA BAM
COUNT BLOCK BYTE BIT
00E 000 BEATL 00000000DC00 00 02F 4
02A 000 HILDE 00000000D000 00 02E 0
SEGMENT NAME: TSO 00000000D900 00 02F 1
DFP 00000000DA00 00 02F 2
051 000 HILDE.RDS.CNTL 00000000DE00 00 02F 6
073 000 IBMUSER 00000000D700 00 02E 7
08E 000 M267 00000000DB00 00 02F 3
0A6 000 M550ABC 00000000DD00 00 02F 5
0C1 000 SALES 00000000DF00 00 02F 7
0DA 000 SALES.* (G) 00000000F000 00 032 0
0F5 000 SECLABEL-SYSHIGH 00000000D100 00 02E 1
119 000 SECLABEL-SYSLOW 00000000D200 00 02E 2
13C 000 SECLABEL-SYSNONE 00000000D300 00 02E 3
160 000 SYSCTLG 00000000D600 00 02E 6
17B 000 SYS1 00000000D400 00 02E 4
193 000 VSAMDSET 00000000D500 00 02E 5
1AF 000 255 X'FF'S
2BB SEQUENCE SET POINTER 000000000000
TOTAL NAMES IN THIS BLOCK-015. UNUSED BYTES-3358. AVERAGE NAME LENGTH-025.
LEVEL NUMBER-01. DISPLACEMENT TO LAST KEY-02BB. DISPLACEMENT TO FREE SPACE-02C4
(G) - ENTITY NAME IS GENERIC
- Find the string in the old block.
FIND M267
IRR63002I Offset is X'0000009A'
BLKUPD:
locates the offset of the character string ‘M267’
in the old block.
- Verify that offset X'9A' in the new block contains the
character string ‘M267’ and replace that string with the character
string ‘M270’.
REP M270 OFFSET(X'9A') VER(M267)
IRR63004I REPLACE complete.
- List the modified area of the new block (8 bytes beginning at
offset X'9A').
LIST NEW RANGE(X'9A',8)00000000E000
009A D4F2F7F0 01010000
*M270.... *
- Delete the first entry in the index block.
BLKUPD:
DISPLAY
OFFSET COMP. ENTRY NAME RBA
COUNT
00E 000 SIVLE 00000000DC00
DELETE
deletes the index entry just displayed. The next
entry, which moves up to replace the deleted one, is displayed. IRR63036I The first index entry has been deleted. The rest of the index
block may need to be updated.
00E 000 HILDE 00000000D000
SEGMENT NAME: TSO 00000000D900
DFP 00000000DA00
- Insert a new first index entry.
INSERT ENTRY(SIVLE) CLASS(USER) RBA(X'DC00')
inserts
a new index entry, with the specified name, and RBA immediately preceding
the entry just displayed. The new entry is displayed. IRR63038I The first index entry has been inserted. The rest of the index
block may need to be updated.
00E 000 SIVLE 00000000DC00
NEXT
displays the next index entry. 00E 000 HILDE 00000000D000
SEGMENT NAME: TSO 00000000D900
DFP 00000000DA00
- Change the name of the entry.
04C 000 HILDE.RDS.CNTL 00000000DE00
CHANGE ENTRY(HILDE.RDS.CHNG) CLASS(DATASET)
changes the
entry name of the entry. 04C 000 HILDE.RDS.CHNG 00000000DE00
- Save the changes you have made and obtain a listing of your updated
block.
END SAVE
ends the DISPLAY command and
saves the changes that were made in the index block. The utility
still runs under the READ subcommand. IRR63009I DISPLAY ended. Changes saved.
FORMAT NEW
produces
a formatted listing of the updated index block. BLOCK WITH RBA OF 00000000E000
OFFSET COMP. ENTRY NAME RBA BAM
COUNT BLOCK BYTE BIT
00E 000 SIVLE 00000000DC00 00 02F 4
025 000 HILDE 00000000D000 00 02E 0
SEGMENT NAME: TSO 00000000D900 00 02F 1
DFP 00000000DA00 00 02F 2
04C 000 HILDE.RDS.CHNG 00000000DE00 00 02F 6
06E 000 IBMUSER 00000000D700 00 02E 7
089 000 M270 00000000DB00 00 02F 3
0A1 000 M550ABC 00000000DD00 00 02F 5
0BC 000 SALES 00000000DF00 00 02F 7
0D5 000 SALES.* (G) 00000000F000 00 032 0
0F0 000 SECLABEL-SYSHIGH 00000000D100 00 02E 1
114 000 SECLABEL-SYSLOW 00000000D200 00 02E 2
137 000 SECLABEL-SYSNONE 00000000D300 00 02E 3
15B 000 SYSCTLG 00000000D600 00 02E 6
176 000 SYS1 00000000D400 00 02E 4
18E 000 VSAMDSET 00000000D500 00 02E 5
1AA 000 255 X'FF'S
2B6 SEQUENCE SET POINTER 000000000000
TOTAL NAMES IN THIS BLOCK-015. UNUSED BYTES-3363. AVERAGE NAME LENGTH-024.
LEVEL NUMBER-01. DISPLACEMENT TO LAST KEY-02B6. DISPLACEMENT TO FREE SPACE-02BF
(G) - ENTITY NAME IS GENERIC
- Save the changes made and write them back to the RACF database.
END SAVE
IRR63013I READ ended. Block saved.
ends the READ command
and writes the new block out to the RACF database.
- Locate the block that contains the generic name of SALES.*.
LOCATE ENTRY(SALES.*) CLASS(DATASET) GENERIC
displays
a formatted list of the level one block that contains the generic
entry name ‘SALES.*’. BLOCK WITH RBA OF 00000000E000
OFFSET COMP. ENTRY NAME RBA BAM
COUNT BLOCK BYTE BIT
00E 000 SIVLE 00000000DC00 00 02F 4
025 000 HILDE 00000000D000 00 02E 0
SEGMENT NAME: TSO 00000000D900 00 02F 1
DFP 00000000DA00 00 02F 2
04C 000 HILDE.RDS.CHNG 00000000DE00 00 02F 6
06E 000 IBMUSER 00000000D700 00 02E 7
089 000 M270 00000000DB00 00 02F 3
0A1 000 M550ABC 00000000DD00 00 02F 5
0BC 000 SALES 00000000DF00 00 02F 7
0D5 000 SALES.* (G) 00000000F000 00 032 0
0F0 000 SECLABEL-SYSHIGH 00000000D100 00 02E 1
114 000 SECLABEL-SYSLOW 00000000D200 00 02E 2
137 000 SECLABEL-SYSNONE 00000000D300 00 02E 3
15B 000 SYSCTLG 00000000D600 00 02E 6
176 000 SYS1 00000000D400 00 02E 4
18E 000 VSAMDSET 00000000D500 00 02E 5
1AA 000 255 X'FF'S
2B6 SEQUENCE SET POINTER 000000000000
TOTAL NAMES IN THIS BLOCK-015. UNUSED BYTES-3363. AVERAGE NAME LENGTH-024.
LEVEL NUMBER-01. DISPLACEMENT TO LAST KEY-02B6. DISPLACEMENT TO FREE SPACE-02BF
(G) - ENTITY NAME IS GENERIC
- End the BLKUPD session.
BLKUPD:
END
READY
terminates the BLKUPD command.