After adding new SYMBOLICs to the database definition, a program abends with:
DB347005 symbolic SM-01 not found in DMCL
Release: All supported releases.
The SYMBOLIC has not been added in the SEGMENT to *all* entities which require it. For example, assuming the following SCHEMA information:-
ADD RECORD NAME IS REC-01 SHARE STRUCTURE OF RECORD REC-01 VERSION 1 RECORD ID IS 1001 LOCATION MODE IS CALC USING ( REC-01-KEY ) DUPLICATES ARE NOT ALLOWED WITHIN AREA AREA-01 SUBAREA SM-01 . ADD RECORD NAME IS REC-02 SHARE STRUCTURE OF RECORD REC-02 VERSION 1 RECORD ID IS 1002 LOCATION MODE IS VIA SET-01-02 SET WITHIN AREA AREA-02 SUBAREA SM-01 .
Note that records defined to both AREA-01 and AREA-02 have a SYMBOLIC SM-01. Next, assume the following PHYSICAL AREA definitions:-
CREATE PHYSICAL AREA SEG.AREA-01 PRIMARY SPACE 5000 PAGES FROM PAGE 100001 MAXIMUM SPACE 5000 PAGES PAGE SIZE 8904 CHARACTERS INCLUDE SUBAREA SM-01 OFFSET 5 PERCENT FOR 95 PERCENT WITHIN FILE FILE01 FROM 1 FOR ALL BLOCKS ; CREATE PHYSICAL AREA SEG.AREA-02 PRIMARY SPACE 5000 PAGES FROM PAGE 200001 MAXIMUM SPACE 5000 PAGES PAGE SIZE 8904 CHARACTERS WITHIN FILE FILE02 FROM 1 FOR ALL BLOCKS ;
PHYSICAL AREA AREA-02 also requires a SYMBOLIC called SM-01. It is not the same SYMBOLIC (because it's attached to a different area) but it is a different SYMBOLIC with the same name. The error message is slightly misleading because the SYMBOLIC SM-01 is not missing from the DMCL, it's missing from the PHYSICAL AREA within the DMCL.
Add a SYMBOLIC called SM-01 to all entities which require it. For example:
CREATE PHYSICAL AREA SEG.AREA-02 PRIMARY SPACE 5000 PAGES FROM PAGE 200001 MAXIMUM SPACE 5000 PAGES PAGE SIZE 8904 CHARACTERS INCLUDE SUBAREA SM-01 OFFSET 5 PERCENT FOR 95 PERCENT WITHIN FILE FILE02 FROM 1 FOR ALL BLOCKS ;