APAR status
Closed as program error.
Error description
When using the QISS/Query Interface with the SAPRequest node to retrieve raw table data from SAP, if the cumulative size of all columns in a single row is greater than 512 bytes then it is possible for column data to be returned in the wrong order. The problem occurs because the built in RFC_READ_TABLE uses a fixed data type as it's return type with a 512 byte limit. In order to work around this if the column data exceeds 512 bytes then the adapter makes multiple calls to retrieve each group of columns. Under most circumstances this behaves as expected, however in some cases SAP returns the data from subsequent calls in a different order. This can lead to rows containing mised data. The QISS Adapter already allows the user to specify a customer function module to use instead of RFC_READ_DATA, this should allow a customer to change the data type of the return to something which holds more than 512 characters however even under these circumstances the adapter will still make multiple calls if the column size totals more than 512 bytes. This APAR introduces the environment variable MQSI_SAP_QISS_CUSTOMRFC_FETCH_SIZE if set to a positive integer then this will set the maximum size of column data that the adapter will attempt to fetch in a single call when it is using a custom RFC function module. For example: export MQSI_SAP_QISS_CUSTOMRFC_FETCH_SIZE=2048 Would allow up to 2Kb of data to be fetched in a single call. It is the users responsibility to ensure that this value does not exceed the limit for their customer RFC module. The envinroment variable must be set and visible in the Integration Node / Integration Server's shell environment prior to startup and changes require a restart to become effective.
Local fix
Problem summary
**************************************************************** USERS AFFECTED: All users of IBM Integration Bus version 10.1 or App Connect Enterprise version 11 or 12 using the SAPRequest Node with the QISS/Query interface. Platforms affected: MultiPlatform **************************************************************** PROBLEM DESCRIPTION: When using the QISS/Query Interface with the SAPRequest node to retrieve raw table data from SAP, if the cumulative size of all columns in a single row is greater than 512 bytes then it is possible for column data to be returned in the wrong order. The problem occurs because the built in RFC_READ_TABLE uses a fixed data type as it's return type with a 512 byte limit. In order to work around this if the column data exceeds 512 bytes then the adapter makes multiple calls to retrieve each group of columns. Under most circumstances this behaves as expected, however in some cases SAP returns the data from subsequent calls in a different order. This can lead to rows containing missing data. The QISS Adapter already allows the user to specify a customer function module to use instead of RFC_READ_DATA, this should allow a customer to change the data type of the return to something which holds more than 512 characters however even under these circumstances the adapter will still make multiple calls if the column size totals more than 512 bytes.
Problem conclusion
This APAR introduces the environment variable MQSI_SAP_QISS_CUSTOMRFC_FETCH_SIZE if set to a positive integer then this will set the maximum size of column data that the adapter will attempt to fetch in a single call when it is using a custom RFC function module. For example: export MQSI_SAP_QISS_CUSTOMRFC_FETCH_SIZE=2048 Would allow up to 2Kb of data to be fetched in a single call. It is the users responsibility to ensure that this value does not exceed the limit for their customer RFC module. The environment variable must be set and visible in the Integration Node / Integration Server's shell environment prior to startup and changes require a restart to become effective. --------------------------------------------------------------- The fix is targeted for delivery in the following PTFs: Version Maintenance Level v11.0 11.0.0.25 v12.0 12.0.12.0 The latest available maintenance can be obtained from: http://www-01.ibm.com/support/docview.wss?rs=849&uid=swg27006041 If the maintenance level is not yet available,information on its planned availability can be found on: http://www-1.ibm.com/support/docview.wss?rs=849&uid=swg27006308 ---------------------------------------------------------------
Temporary fix
Comments
APAR Information
APAR number
IT39351
Reported component name
APP CONNECT ENT
Reported component ID
5724J0550
Reported release
B00
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2021-12-09
Closed date
2024-01-22
Last modified date
2024-01-22
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
APP CONNECT ENT
Fixed component ID
5724J0550
Applicable component levels
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSDR5J","label":"IBM App Connect Enterprise"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"B00","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
22 January 2024