Here is the DDL for the APPLCTL file that is discussed in Record level reengineering. The primary table is called TB_APPLCTL. The four secondary tables are called TB_APPLCTL_010, TB_APPLCTL_020, TB_APPLCTL_030, and TB_APPLCTL_040.
CREATE TABLE TB_APPLCTL (
OBJECT_ID CHAR(06) NOT NULL
,REC_TYPE CHAR(03) NOT NULL
,USER_ID CHAR(08) NOT NULL
,USER_ID_LAST_CHG CHAR(08) NOT NULL
,LAST_CHG_DATE DATE NOT NULL
,PRIMARY KEY (OBJECT_ID, REC_TYPE, USER_ID))
IN CVTDB.APPLCTL0;
CREATE TABLE TB_APPLCTL_010(
OBJECT_ID CHAR(06) NOT NULL
,REC_TYPE CHAR(03) NOT NULL
,USER_ID CHAR(08) NOT NULL
,APPL_CODE CHAR(03) NOT NULL
,APPL_NAME CHAR(30) NOT NULL
,APPL_OWNER_LNAME CHAR(20) NOT NULL
,APPL_OWNER_FNAME CHAR(10) NOT NULL
,APPL_OWNER_PHONE CHAR(10) NOT NULL
,APPL_OWNER_DEPT CHAR(150) NOT NULL
,PRIMARY KEY (OBJECT_ID, REC_TYPE, USER_ID)
,FOREIGN KEY (OBJECT_ID, REC_TYPE, USER_ID)
REFERENCES TB_APPLCTL ON DELETE CASCADE)
IN CVTDB.APPLCTL1 ;
CREATE TABLE TB_APPLCTL_020(
OBJECT_ID CHAR(06) NOT NULL
,REC_TYPE CHAR(03) NOT NULL
,USER_ID CHAR(08) NOT NULL
,APPL_CODE CHAR(03) NOT NULL
,FILE_NAME CHAR(18) NOT NULL
,DD_NAME CHAR(08) NOT NULL
,PATH_NAME1 CHAR(08) NOT NULL
,PATH_NAME2 CHAR(08) NOT NULL
,PATH_NAME3 CHAR(08) NOT NULL
,PATH_NAME4 CHAR(08) NOT NULL
,PATH_NAME5 CHAR(08) NOT NULL
,PATH_NAME6 CHAR(08) NOT NULL
,KEY_LEN DEC(3,0) NOT NULL
,REC_LEN DEC(5,0) NOT NULL
,READ_FLG CHAR(01) NOT NULL
,DELETE_FLG CHAR(01) NOT NULL
,INSERT_FLG CHAR(01) NOT NULL
,UPDATE_FLG CHAR(01) NOT NULL
,MAXIMUM_CT DEC(13,0) NOT NULL
,MINIMUM_CT DEC(13,0) NOT NULL
,AVERAGE_CT DEC(13,0) NOT NULL
,SHR_OPT_1 DEC(1) NOT NULL
,SHR_OPT_2 DEC(1) NOT NULL
,DISK_VOL1 CHAR(06) NOT NULL
,DISK_VOL2 CHAR(06) NOT NULL
,DISK_VOL3 CHAR(06) NOT NULL
,DISK_VOL4 CHAR(06) NOT NULL
,DISK_VOL5 CHAR(06) NOT NULL
,PRIMARY KEY (OBJECT_ID, REC_TYPE, USER_ID)
,FOREIGN KEY (OBJECT_ID, REC_TYPE, USER_ID)
REFERENCES TB_APPLCTL ON DELETE CASCADE)
IN CVTDB.APPLCTL2 ;
CREATE TABLE TB_APPLCTL_030(
OBJECT_ID CHAR(06) NOT NULL
,REC_TYPE CHAR(03) NOT NULL
,USER_ID CHAR(08) NOT NULL
,APPL_CODE CHAR(03) NOT NULL
,PROGRAM_NAME CHAR(08) NOT NULL
,PROGRAM_DESCR CHAR(58) NOT NULL
,K_LOC DEC(9,0) NOT NULL
,ONLINE_FLG CHAR(01) NOT NULL
,BATCH_FLG CHAR(01) NOT NULL
,RUN_CYCLE CHAR(01) NOT NULL
,LANG CHAR(01) NOT NULL
,COMPILE_OPTIONS CHAR(50) NOT NULL
,PRIMARY KEY (OBJECT_ID, REC_TYPE, USER_ID)
,FOREIGN KEY (OBJECT_ID, REC_TYPE, USER_ID)
REFERENCES TB_APPLCTL ON DELETE CASCADE)
IN CVTDB.APPLCTL3 ;
CREATE TABLE TB_APPLCTL_040(
OBJECT_ID CHAR(06) NOT NULL
,REC_TYPE CHAR(03) NOT NULL
,USER_ID CHAR(08) NOT NULL
,APPL_CODE CHAR(03) NOT NULL
,JOB_NAME CHAR(08) NOT NULL
,JOB_DESCR CHAR(25) NOT NULL
,RERUNNABLE CHAR(01) NOT NULL
,CRIT_PATH CHAR(01) NOT NULL
,CALLOUT CHAR(01) NOT NULL
,MUST_COMPLETE CHAR(01) NOT NULL
,PREREQ CHAR(01) NOT NULL
,POSTREQ CHAR(01) NOT NULL
,RUN_CYCLE CHAR(01) NOT NULL
,REPORT_TITLE_01 CHAR(20) NOT NULL
,REPORT_TITLE_02 CHAR(20) NOT NULL
,REPORT_TITLE_03 CHAR(20) NOT NULL
,REPORT_TITLE_04 CHAR(20 NOT NULL
,REPORT_TITLE_05 CHAR(20) NOT NULL
,RESTART_INSTR CHAR(75) NOT NULL
,PRIMARY KEY (OBJECT_ID, REC_TYPE, USER_ID)
,FOREIGN KEY (OBJECT_ID, REC_TYPE, USER_ID)
REFERENCES TB_APPLCTL ON DELETE CASCADE)
IN CVTDB.APPLCTL4 ;
Here is the COBOL copybook for the APPLCTL file.
01 APPL-CONTROL-REC .
02 APPL-CONTROL-KEY .
03 MULTREC-KEY .
05 OBJECT-ID PIC X(6) .
05 RECORD-TYPE PIC X(3) .
88 OWNER-RECORD VALUE '010' .
88 FILE-RECORD VALUE '020' .
88 PROGRAM-RECORD VALUE '030' .
88 JOB-RECORD VALUE '040' .
05 USER-ID PIC X(8) .
02 TYPE-010-REC .
03 APPL-CODE PIC X(3) .
03 APPL-NAME PIC X(30) .
03 APPL-OWNER-LNAME PIC X(20) .
03 APPL-OWNER-FNAME PIC X(10) .
03 APPL-OWNER-PHONE PIC X(10) .
03 APPL-OWNER-DEPT PIC X(150) .
03 FILLER PIC X(10) .
03 USER-ID-LAST-CHG PIC X(8) .
03 LAST-CHG-DATE PIC S9(9) COMP-3 .
02 TYPE-020-REC REDEFINES TYPE-010-REC .
03 APPL-CODE PIC X(3) .
03 FILE-NAME PIC X(18) .
03 DD-NAME PIC X(8) .
03 PATH-NAME1 PIC X(8) .
03 PATH-NAME2 PIC X(8) .
03 PATH-NAME2 PIC X(8) .
03 PATH-NAME3 PIC X(8) .
03 PATH-NAME4 PIC X(8) .
03 PATH-NAME5 PIC X(8) .
03 PATH-NAME6 PIC X(8) .
03 KEY-LEN PIC S9(3) COMP-3 .
03 REC-LEN PIC S9(5) COMP-3 .
03 READ-FLG PIC X .
03 DELETE-FLG PIC X .
03 INSERT-FLG PIC X .
03 UPDATE-FLG PIC X .
03 MAXIMUM-CT PIC S9(13) COMP-3 .
03 MINIMUM-CT PIC S9(13) COMP-3 .
03 AVERAGE-CT PIC S9(13) COMP-3 .
03 SHR-OPT-1 PIC 9 .
03 SHR-OPT-2 PIC 9 .
03 DISK-VOL1 PIC X(6) .
03 DISK-VOL2 PIC X(6) .
03 DISK-VOL3 PIC X(6) .
03 DISK-VOL4 PIC X(6) .
03 DISK-VOL5 PIC X(6) .
03 FILLER PIC X(94) .
03 USER-ID-LAST-CHG PIC X(8) .
03 LAST-CHG-DATE PIC S9(9) COMP-3 .
02 TYPE-030-REC REDEFINES TYPE-010-REC .
03 APPL-CODE PIC X(3) .
03 PROGRAM-NAME PIC X(8) .
03 PROGRAM-DESCR PIC X(58) .
03 K-LOC PIC 9(9) .
03 ONLINE-FLG PIC X .
03 BATCH-FLG PIC X .
03 RUN-CYCLE PIC X .
88 DAILY VALUE 'D' .
88 WEEKLY VALUE 'W' .
88 MONTHLY VALUE 'M' .
88 QUARTERLY VALUE 'Q' .
88 YEARLY VALUE 'Y' .
88 ON-REQUEST VALUE 'O' .
88 SPECIAL VALUE 'S' .
03 LANG PIC X .
88 COBOL-LANG VALUE 'C' .
88 COBOL2 VALUE '2' .
88 COBOL-LE VALUE 'L' .
88 ASSEMBLER VALUE 'A' .
88 OTHER-LANG VALUE 'O' .
03 SPECIAL-COMPILE-OPTIONS PIC X(50) .
03 DATA-CHANGE-FLG PIC X .
03 FILLER PIC X(100) .
03 USER-ID-LAST-CHG PIC X(8) .
03 LAST-CHG-DATE PIC S9(9) COMP-3 .
02 TYPE-040-REC REDEFINES TYPE-010-REC .
03 APPL-CODE PIC X(3) .
03 JOB-NAME PIC X(8) .
03 JOB-DESCR PIC X(25) .
03 RERUNNABLE-FLG PIC X .
88 YES VALUE 'Y' .
88 NO-RERUN VALUE 'N' .
03 CRITICAL-PATH-FLG PIC X .
88 YES VALUE 'Y' .
88 NOT-CRITICAL VALUE 'N' .
03 CALL-OUT-FLG PIC X .
88 YES VALUE 'Y' .
88 NO-CALLOUT VALUE 'N' .
03 MUST-COMPLETE-FLG PIC X .
88 YES VALUE 'Y' .
88 NO-COMPLETE VALUE 'N' .
03 PREREQ-FLG PIC X .
88 YES VALUE 'Y' .
88 NO-PREREQ VALUE 'N' .
03 POSTREQ-FLG PIC X .
88 YES VALUE 'Y' .
88 NO-POSTREQ VALUE 'N' .
03 JOB-RUN-CYCLE PIC X .
88 DAILY VALUE 'D' .
88 WEEKLY VALUE 'W' .
88 MONTHLY VALUE 'M' .
88 QUARTERLY VALUE 'Q' .
88 YEARLY VALUE 'Y' .
88 ON-REQUEST VALUE 'O' .
88 SPECIAL VALUE 'S' .
03 REPORT-TITLE PIC X(20)
OCCURS 5 .
03 SPECIAL-RESTART-INSTR PIC X(75) .
03 FILLER PIC X(15) .
03 USER-ID-LAST-CHG PIC X(8) .
03 LAST-CHG-DATE PIC S9(9) COMP-3 .