Registrations are now open. Join us today!
There is still a lot of work to do on the wiki yet! More information about editing can be found here.
Already have an account?

Microsoft KB Archive/249960

From BetaArchive Wiki
Knowledge Base


COBOL Definitions with Multiple FILLER Fields Do Not Import Properly When You Use the COMTI COBOL Wizard

Article ID: 249960

Article Last Modified on 11/26/2003



APPLIES TO

  • Microsoft SNA Server 4.0
  • Microsoft SNA Server 4.0 Service Pack 1
  • Microsoft SNA Server 4.0 Service Pack 2
  • Microsoft SNA Server 4.0 Service Pack 3
  • Microsoft COM Transaction Integrator for CICS and IMS 1.0
  • Microsoft COM Transaction Integrator for CICS and IMS 1.0 SP1
  • Microsoft COM Transaction Integrator for CICS and IMS 4.0 SP2
  • Microsoft COM Transaction Integrator for CICS and IMS 4.0 SP3



This article was previously published under Q249960

SYMPTOMS

When you import COBOL code by using the COBOL Wizard, COBOL definitions with multiple FILLER fields do not import properly in certain situations. (See the "More Information" section of this article for examples) Developers want to be able to download existing COBOL definitions from the mainframe and change the names of fields that are not needed to FILLER. This allows the client program to access only relevant data elements. By importing this modified COBOL code, the Component Builder calculates the total number of bytes that are passed, because many of the irrelevant fields may be COBOL data type COMP or COMP-3.

RESOLUTION

To resolve this problem, obtain the latest service pack for SNA Server 4.0. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

215838 How to Obtain the Latest SNA Server Version 4.0 Service Pack




STATUS

Microsoft has confirmed that this is a problem in Microsoft SNA Server version 4.0.

This problem was first corrected in SNA Server 4.0 Service Pack 4.

MORE INFORMATION

The following COBOL definition does not import properly. This problem occurs because the FILLER field at the end of a table is followed by another FILLER field, and the redefined section that ends with a FILLER field is followed by another FILLER field.

       01  DFHCOMMAREA.
           05  OUTAREA-R.
               10  DATA1                         PIC X(10).
               10  DATA2                         PIC X(10).
               10  FILLER                        PIC X(10).
               10  DATA3 OCCURS 6 TIMES.
                   15  FILLER              PIC 9(2).
                   15  DATA3ITEM           PIC X(2).
                   15  FILLER              PIC X(3).
               10  FILLER                        PIC X(5).
               10  FILLER                        PIC X(10).
               10  DATA4                         PIC X(30).
               10  DATA4A REDEFINES DATA4.
                   15  FILLER         PIC X(2).
                   15  DATA4AITEM     PIC X(3).
                   15  FILLER         PIC X(5).
               10  FILLER                        PIC X(7).
               10  FILLER                        PIC X(6).
                

When this COBOL definition is imported in SP3 and earlier, it generates the following incorrect definition:

       01  DFHCOMMAREA.
           05  DATA1                            PIC X(10).
           05  DATA2                            PIC X(10).
           05  FILLER                           PIC X(10).
           05  DATA3 OCCURS 6 TIMES.
               10  FILLER                       PIC X(2).
               10  DATA3ITEM                    PIC X(2).
           05  FILLER                           PIC X(17).
           05  DATA4AITEM                       PIC X(3).
           05  FILLER                           PIC X(18).
                

With this fix installed, the following correct COBOL definition is generated:

       01  DFHCOMMAREA.
           05  DATA1                            PIC X(10).
           05  DATA2                            PIC X(10).
           05  FILLER                           PIC X(10).
           05  DATA3 OCCURS 6 TIMES.
               10  FILLER                       PIC X(2).
               10  DATA3ITEM                    PIC X(2).
               10  FILLER                       PIC X(3).
           05  FILLER                           PIC X(17).
           05  DATA4AITEM                       PIC X(3).
           05  FILLER                           PIC X(38).
                


Furthermore, if a table consists of all FILLER fields, then the code imports incorrectly under the SNA Server 4.0 base code and SP1, and does not import at all under SP2 and SP3. With base code and SP1, it appears to import but the component cannot be saved. With SP2 and SP3, the code does not import and a COM Transaction Integrator Import COBOL Wizard error window appears with the following error message:

There are no COBOL fields that can be defined as user-defined members in the group item selected. Select another group item.


With this fix installed, the COBOL code imports correctly.

Keywords: kbbug kbfix kbsna400presp4fix kbqfe kbsna400sp4fix KB249960