This information is current as of QV 8.5.
If a QVD is used as input to a MAPPING LOAD, mapping will not work if the QVD loads optimized. For example:
Map1: MAPPING LOAD * FROM codes.qvd (qvd); Map F1 USING Map1;
Field F1 will not map. You will receive no warning of this problem.
The Reference Guide documents this restriction:
Mapping load does not support the use of QVD files as input source. The QVD must first be loaded to a table and then a mapping load can be made.
Here is an example of the workaround suggested by the Ref Guide:
TempMap: LOAD * FROM codes.qvd (qvd); Map1: MAPPING LOAD * RESIDENT TempMap; DROP TABLE TempMap;
Forcing an un-optimized load is another workaround. This technique is not documented in the Ref Guide but it seems to work reliably in QV 8.5. There is no guarantee it will work in future releases.
Map1: MAPPING LOAD * FROM codes.qvd (qvd) WHERE 1=1;
The "WHERE 1=1" clause will force an un-optimized load.