The following error messages are observed:
DBNAME *DEFAULT MATCH ON SUBSCHEMA IS OPTIONAL
SUBSCHEMA ABC????? MAPS TO ABC????? USING DBNAME AB1
and
DBNAME AB1 MATCH ON SUBSCHEMA IS OPTIONAL
SEGMENT RECAB101 180 BIND count
SUBSCHEMA ABC????? MAPS TO ABC????1
When doing a BIND RUN-UNIT with the subschema ABC01014 and no DBNAME, the expectation is that the search should match the default statement, find it and map to dbname AB1. With DBNAME AB1, the mapping should change the subschema name to ABC01011.
But no, the subschema name remains ABC01014 and the result is the 1474
DB347003 V1850 T736 ABC01014 subschema not found
By changing the *DEFAULT specification to this:
DBNAME *DEFAULT MATCH ON SUBSCHEMA IS OPTIONAL
SUBSCHEMA ABC????? MAPS TO ABC????1 USING DBNAME AB1
the problem is corrected.
Does this mean that when the matches operates with the default DBNAME, the MAPS statement in the DBNAME is not in effect?
Release: All supported releases.
It is working correctly. IDMS only does the subschema matches at the first level that it finds. With no DBNAME specified that is the default specified on the DBTABLE level. If a DBNAME is specified on the BIND RUN-UNIT then the translation from that DBNAME should be applied.