Assumptions about the state of uninitialized storage can bite the best
of us.  Last year we ran into a problem with the Cobol code generated
by the SQL Coprocessor using Enterprise Cobol 3.3 under DB2 V8.

In the SQL---PLIST it was generating the following FILLER area:

02 SQL---STMT-NUM    PIC S9(9) COMP-5.
02 FILLER          PIC X(20).

Apparently the FILLER area is used by DB2 to store some bit switches
and its logic assumes that initially the FILLER contains x'00'.
*Usually* this is true, but we ran into some very weird application
abends in an IMS MPR.  .

It turned out that we were a bit behind in our Cobol maintenance.
After the maintenance was applied the generated code changed to:

02 SQL---STMT-NUM    PIC S9(9) COMP-5.
02 FILLER          PIC X(20) VALUE IS
   X'0000000000000000000000000000000000000000'

In my experience this is the first time that a programmer's protest
that "It's not my fault!" turned out to be true.  :-)

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to