on 05-06-2016 12:59 PM
Hi Experts,
I have used one transaction_reference field in the source structure and in target structure , here sender is the SOAP system and receiver is the SAP Proxy .
For that field i have used date type as integer and length is 16 in both sender and receiver structure .
My issue is when source send the data in transaction_reference field like '0000000123456789' then it is not showig any error,
BUT if sender the data like '1234567896325874' then it is showing the below error in the SXMB_MONI.
Is there any possibility without changing the data type as string of the field transaction_reference.
Error during XML => ABAP conversion: Request Message; CX_ST_DESERIALIZATION_ERROR in /1SAI/TXS3C5C06AA37A22A5B80A3 Line 88 An error occurred when deserializing in the simple transformation program /1SAI/TXS3C5C06AA37A22A5B80A3 Kernel ErrorId: UNCAUGHT_EXCEPTION (Overflow converting from '123456789123' Kernel ErrorId: CONVT_OVERFLOW) XML Bytepos.: 562 XML Path: ns0:VesselSche An error occurred when deserializing in the simple transformation program /1SAI/TXS3C5C06AA37A22A5B80A3 Overflow converting from '123456789123'</SAP:Stack>
Thanks
Mohith.
Hi Mohit,
It is not complaining about the transaction reference which you shown, it is complaining about the field value '123456789123' , check in payload which field this value contains and check for the length of the field and data type of the field.
Overflow converting from '123456789123' Kernel ErrorId: CONVT_OVERFLOW) XML Bytepos.: 562 XML Path: ns0:VesselSche An error occurred
Regards,
Praveen.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Mohit,
You defined the field type as integer so the maximum integer value is 2147483647 only check this link Integer (Java Platform SE 7 )
MAX_VALUE A constant holding the maximum value an |
And you are trying to send more than this value which is 123456789123 that is why system unable to assign this value to integer and it is failing.
If you want to hold 16 digits then define the field as xsd:double.
Regards,
Praveen.
Hi Mohit,
you need to do 2 steps..
1. check whether data is numeric?
2. Use if without else and pass your source field.
use one udf IsNumeric to do checking
Here we have to use Double class because Integer class maximum support until "1234567891" which around 10 characters only, while you have 16 characters.
Hope your query will be resolved..!! without changing the type in the source and target structure.
Check if this works and share the results..!!
Regards,
Suchita Tomar
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Molith,
Check in the XSD structure of PI where the proxy is reading if you have any restriction about the field mentioned.
Regards.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
83 | |
10 | |
10 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.