The AS/400 maintains a system file, QADBFDEP, which contains file dependency information. Each record contains the following fields:
DBFFIL File name DBFLIB Library name DBFFDP Dependent file name DBFLDP Dependent file library DBFTDP Dependency type (Data, View, Indirect)
The key to the file is DBFLIB, DBFFIL, DBFLDP, DBFFDP. The CL program in 1 is an example of how you can use this file to delete all dependent logical files belonging to a specified file.
The key to the file is DBFLIB, DBFFIL, DBFLDP, DBFFDP. The CL program in Figure 1 is an example of how you can use this file to delete all dependent logical files belonging to a specified file.
The program is called using a library name and a file name. The data base dependency file is positioned to the requested file and is read until the file or library name is changed or until the end of file is reached. The dependent file is deleted with a prompt. You can call this program from any other program.
Alon Fluxman Highlands Ranch, Colorado
Editor: Notice the POSITION parameter in the OVRDBF command. This essentially lets you position a file in a CL program. This program uses *KEYAE (key-after or equal). The record identified by the search values (in this case the search value is the variable &KEY) is the first record received.
There are five position types related to keyed files:
*KEYB(key-before) *KEYBE(key-before or equal) *KEY (key-equal) *KEYA(key-after) *KEYAE(key-after or equal)
You can also retrieve the first record of the file with *START, the last record in the file with *END or a specific relative record number with *RRN. See the CL Reference, Volume 4 (SC21-9778).
The "2" after *KEYAE is the number-of-fields value. This specifies that only the first two fields of the key are being used as the key (file QADBFDEP has a four field key). By displaying the file description for file QADBFDEP, you can determine the characteristics of the key. The *N specifies that all record formats in this file are to be read. &KEY is the variable whose value is compared to the partial composite key specified in the OVRDBF command.
TechTalk: Using File Dependency Information
Figure 1 CL program to delete dependent logical files
Figure 1: The CL Program 100 PGM PARM(&LIBRARY &FILE) 200 DCL VAR(&LIBRARY) TYPE(*CHAR) LEN(10) 300 DCL VAR(&FILE) TYPE(*CHAR) LEN(10) 400 DCL VAR(&KEY) TYPE(*CHAR) LEN(20) 500 DCLF FILE(QADBFDEP) 600 CHGVAR %SST(&KEY 1 10) &LIBRARY 700 CHGVAR %SST(&KEY 11 10) &FILE 800 OVRDBF FILE(QADBFDEP) MBR(*FIRST) POSITION(*KEYAE 2 + 900 *N &KEY) LVLCHK(*NO) SEQONLY(*YES) 1000 1100 LOOP: RCVF 1200 MONMSG MSGID(CPF0864) EXEC(GOTO CMDLBL(END)) 1300 IF (&DBFLIB *NE &LIBRARY) GOTO END 1400 IF (&DBFFIL *NE &FILE) GOTO END 1500 ?DLTF FILE(&DBFLIB/&DBFFDP) 1600 MONMSG CPF0000 1700 GOTO LOOP 1800 END: ENDPGM
LATEST COMMENTS
MC Press Online