I have this situation
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
If I do a BIND RU, with the subschema ABC01014 and I don't specify a dbname, I expect the search to match the default statement, find it and matches to dbname AB1.
With AB1 entries I expect the subschema name to be change for ABC01011.
But no, the subschema name remains ABC01014 and we get 1474
DB347003 V1850 T736 ABC01014 subschema not found
I changed the default statement for
DBNAME *DEFAULT MATCH ON SUBSCHEMA IS OPTIONAL
SUBSCHEMA ABC????? MAPS TO ABC????1 USING DBNAME AB1
and the problem is corrected.
So, do I understood when the matches operate with the default DBNAME, the MAPS statement in the DBNAME is not in effect?
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 RUNUNIT then we'd expect to find the translation from that DBNAME to be applied.