SAS Support Site Home | Samples and SAS Notes Home
SAS Notes V6-ENGINE-6822
IMS engine inserts missing values as negative zero when DBFormat is RB8.


The IMS engine inserts zeros into an IMS data base segment field for missing numeric values and blanks for missing character values unless the access descriptor DB Content field specifies that the field should be initialized differently. If the data base field is defined in the access descriptor as real binary (RB8.), then missing values are inserted as a 'negative' zero. The values display as 0 (zero) but are not retrieved with a WHERE clause that specifies WHERE field EQ 0. The only way to retrieve the data is to use a WHERE clause that specificallylocates missing values, ie WHERE field IS MISSING or WHERE field EQ . (missing). In order for WHERE criteria to locate all occurences of zero for the field, the where clause should be coded as WHERE field EQ 0 OR field IS MISSING. This guarantees that all occurences are retrieved by IMS based on the engine's qualified SSA.

Note that this problem can affect non-SAS applications that attempt to locate specific occurences of data. Missing values inserted by the SAS System may not be located by applications that do not specifically take into account the situation defined above.

This problem is corrected at TS Level 405 of Release 6.08 and beyond.


Products: ACCIMS
Component: ENGINE
Priority: HIGH
Status: Outstanding Problem
Date: Wed, 2 Jun 1993

System Release Reported Release Fixed
OS/390 (MVS) 6.07 TS301  
OS/390 (MVS) 6.08 TS404 6.08 TS405  

No Fixes Available