Dynamic SQL user program starts getting SQLCODE -44 after CARS1808
book
Article ID: 115555
calendar_today
Updated On:
Products
DatacomDATACOM - AD
Issue/Introduction
Customer has a dynamic SQL program that can be used to quickly test Datacom SQL queries. It ran fine till CARS1808 maintenance has been deployed; with CARS1808, it started returning an SQLCODE -44 (HOST VARIABLE NUMBER <xxx> HAS INVALID DATA TYPE <xxx>).
Environment
CA Datacom SQL 15.1 with CARS1808
Cause
DBSGMPR module has been changed (by SO04357 PTF) to edit the SQLDA fields and issue an SQLCODE -44. The new edits prevent memory overlays. Some of the new edits are such as a zero data address. This might happen if the number of SQLVARs that are used (SQLN) is higher than the number of SQLVARs actually filled in.
Resolution
Dumped SQLDA from the OPEN: the SQLDATA field is zero for all the SQLVAR entries. It must be set to a valid address because this is the address used to return columns from the query.
Additional Information
Additional details about SQLDA in Dynamic SQL programs can be found on "SQL Descriptor Area (SQLDA)" section of CA Datacom 15.1 documentation.