COBOL does not have a concept that corresponds directly to SQL's NULL. The closest candidates in COBOL are data items that contain either SPACES or LOW-VALUES. In SQL, NULL is often used to indicate that the data is missing or not applicable.
To maintain the integrity of the source data and to ensure that any data written from your application back to the COBOL source is accurate, you must provide a representational mapping between COBOL's SPACES and LOW-VALUES and the corresponding SQL column values.
Use the NULL_ALPHA_READ variable to indicate which COBOL alphanumeric data should be represented as NULL. For data coming into your application (READs), if a field contains either SPACES or LOW-VALUES in alphanumeric data in the COBOL files, instruct the application to represent it as either NULL or an empty string.
You can also configure NULL_ALPHA_READ to return null data except for columns that are part of a key, which return the data they contain.
Valid values are:
NULL_ALPHA_READ null NUMM_ALPHA_READ null,nokey NULL_ALPHA_READ empty
By default, alphanumeric data is interpreted as null on input to your ODBC-enabled application.
AcuXDBC follows these rules for alphanumeric data coming into an ODBC-enabled application.
If an alphanumeric field contains... | That field comes into the application |
---|---|
All SPACES or all LOW-VALUES | As either NULL or as an empty string, depending on the setting for variables for the data source |
Any other values | Unchanged |