COMTI: Need to Define a Decimal Data Type with More Than 18 Digits

Article translations Article translations
Article ID: 275908 - View products that this article applies to.
This article was previously published under Q275908
Expand all | Collapse all


COM Transaction Integrator (COMTI) Component Builder lets the user describe parameters to methods. If you add a parameter of type Decimal, the Component Builder limits the "COBOL Data Type" value of the Decimal parameter to a maximum of 18 digits. However, if a host application is written in a programming language other than COBOL, a decimal parameter that is passed to Customer Information Control System (CICS) may require more than 18 digits.

If you right-click the parameter in Component Builder to bring up the Parameter Properties dialog box, and then click the COBOL Definition tab, you see two spin boxes that allow you to specify the number of digits to the left and right of the parameter's decimal point. The sum of the left and right values default to a maximum of 18. If you try to add numbers with a sum greater than 18, you receive a "DTCOB390" error message.


Component Builder limits all Decimal datatypes to a maximum of 18 digits to comply with COBOL specifications.


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


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.


When you are converting data to and from Windows Automation datatypes, COMTI Component Builder uses the idiom of COBOL to represent the equivalent mainframe datatypes. COBOL datatypes COMP, COMP-3, and DISPLAY are limited to 18 digits. This is in accordance with COBOL specifications. However the mainframe hardware is capable of storing up to 29 digits in a BCD number. Some mainframe languages exploit this capability to let applications use packed decimals up to 29 digits long.

When you are using COMTI with a host application that is written in COBOL, a decimal parameter should never be more than 18 digits long. However, if the host application is written in a language that supports longer packed decimal types, the hotfix allows the longer length to be defined. A decimal datatype cannot exceed 29 digits; this would exceed the size of packed decimal that s370 architecture can handle.


Article ID: 275908 - Last Review: December 29, 2003 - Revision: 3.1
  • 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 4.0 SP2
  • Microsoft COM Transaction Integrator for CICS and IMS 4.0 SP3
kbbug kbfix kbsna400presp4fix kbqfe kbsna400sp4fix KB275908

Give Feedback


Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from