E1: BSFN: Input Values Passed to Business Functions Are Getting Truncated If the Data Structure Member's Data Dictionary Item Size is Greater than 30,000
(Doc ID 2938168.1)
Last updated on SEPTEMBER 29, 2024
Applies to:
JD Edwards EnterpriseOne Tools - Version 9.2 to 9.2 [Release 9.2]Information in this document applies to any platform.
Symptoms
Business functions that utilize input data structures with member data dictionary item size greater than 30,000, do not process the input string correctly as the value of the passed input string gets truncated.
For example , a Custom BSFN (Business function) which is a copy of standard BSFN B34A1010( Write One Line to Flat file) and which is using a modified data structure so as to use a data dictionary item of size 99999 ( any size greater than 30K) is writing truncated string rather than the entire passed string of greater than 30K. This truncation is limited to 1695 characters only . As a result, business function works if the passed string is less than 1695 characters but truncates the string if the passed string is greater than 1695 characters. Truncated size takes a random value and varies for different data dictionary item size . For example a DD item of size 50000 might cause a truncation to even shorter length.
The size / length to which the passed string gets truncated depends on the LengthInVersData property value of the data structure member which can be viewed in UTB (view local specifications). It is observed that the value of LengthInVersData stores twice the value of DD item's size as long as the DD item size is <=30000. But it starts storing incorrect random value for dd item size greater than 30K. E.g when viewed in UTB the LengthInVersData will have a value of 3392 for a dd item with size 99K and hence the truncation to (3392/2) -1=1695 characters ( two bytes /character)
High level steps to replicate this issue are as below :
**Replicating this issue requires development of custom application and business function and exact steps are beyond the scope of this document.
- Login to JDE Windows development client (aka Fat client)
- Create a data dictionary item of string type with length 99999. For navigation and detailed steps refer Data Dictionary Guide
- Create a data structure which has the above DD item as one of its member . For navigation and detailed steps refer Data Structure Design Guide
- Create a Business function which uses the data structure above to receive an input string and write the same string to a flat file. This steps requires extensive knowledge of C language. This may be created by referring BSFN guide. Detailed steps for creating such a business function is beyond the scope of this document.
- Use the Business function designed above in a custom application to test input string of size <1695 characters. Notice the output is written correctly to flat file.
- Use the Business function designed above in a custom application to test input string of size >1695 characters. Notice the output is truncated in flat file.
Cause
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |
In this Document
Symptoms |
Cause |
Solution |
References |