....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
A LOGICAL FILE LF1 FOR CONCAT KEYWORD EXAMPLES
A
A R RECORD1 PFILE(PF1)
A
A DATE CONCAT(MTH DAY YEAR)
A
A K MTH
A K DAY
For the logical file described by Figure 1, COPY DDS generates keys and key names derived from the physical file.
FD LF1 LABEL RECORDS ARE STANDARD.
01 LOG-RECORD.
COPY DDS-ALL-FORMATS OF LF1.
05 LF1-RECORD PIC X(8).
* I-O FORMAT:RECORD-1 FROM FILE LF1 OF LIBRARY COPYDDS
*
*THE KEY DEFINITIONS FOR RECORD FORMAT RECORD1
* NUMBER NAME RETRIEVAL TYPE ALTSEQ
* 0001 MTH-DDS ASCENDING AN NO
* KEY NAME ORIGINATES FROM PHYSICAL FILE
* 0002 DAY-DDS-DDS ASCENDING AN NO
* KEY NAME ORIGINATES FROM PHYSICAL FILE
05 RECORD1 REDEFINES LF1-RECORD.
06 DATE-DDS PIC X(8).
06 FILLER REDEFINES DATE-DDS.
07 MTH-DDS PIC X(2).
07 DAY-DDS-DDS PIC X(2).
07 FILLER PIC X(4).
The COPY statement adds the suffix -DDS to the field names MTH and DATE because MTH is a key that originates from the physical file, and DATE is an ILE COBOL reserved word. The COPY statement adds the suffix -DDS twice to the field name DAY because DAY is both a key that originates from the physical file and an ILE COBOL reserved word.
Note that if you move your COPY statement from the File Section to the Working-Storage Section or to the Linkage Section, the fields subordinate to DATE-DDS are no longer available:
WORKING-STORAGE SECTION.
01 WRK-RECORD.
COPY DDS-ALL-FORMATS OF LF1.
05 LF1-RECORD PIC X(8).
* I-O FORMAT:RECORD-1 FROM FILE LF1 OF LIBRARY COPYDDS
*
05 RECORD1 REDEFINES LF1-RECORD.
06 DATE-DDS PIC X(8).