cancel
Showing results for 
Search instead for 
Did you mean: 

Error in JDBC adapter

Former Member
0 Kudos

Hello.

We want to SELECT data from AS400 DB using the JDBC adapter, but the next message is always returned:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

- <!-- Inbound Message

-->

- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">

<SAP:Category>XIAdapterFramework</SAP:Category>

<SAP:Code area="MESSAGE">GENERAL</SAP:Code>

<SAP:P1 />

<SAP:P2 />

<SAP:P3 />

<SAP:P4 />

<SAP:AdditionalText>com.sap.aii.af.ra.ms.api.DeliveryException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'GCPREMAT' (structure 'Statement'): com.ibm.as400.access.ExtendedIllegalArgumentException: numDigits (0): The parameter value is out of the allowed range.</SAP:AdditionalText>

<SAP:ApplicationFaultMessage namespace="" />

<SAP:Stack />

<SAP:Retry>M</SAP:Retry>

</SAP:Error>

The original message we send to the adapter is:

<?xml version="1.0" encoding="utf-8" ?>

- <root>

- <Statement>

- <GCPREMAT action="DELETE">

- <key>

<GNUCDE>030771</GNUCDE>

</key>

</GCPREMAT>

</Statement>

</root>

where GCPREMAT is the File and GNUCDE is one of the key fields and "030771" it's a valid value for several records.

can anyone help me to find the error?

Thank you very much.

Alberto.

Accepted Solutions (0)

Answers (5)

Answers (5)

Former Member
0 Kudos

Go to data type

there in Statement>GCPREMAT>

if any field is greater than defined maximum permisible length then this type of error will come.

go and check all the field lengh and verify it with Payload.

just change the maximum permissible length.

it will help you.

Regards

Sumit Gupta

nisarkhan_n
Active Contributor
0 Kudos

Yes the data type length is not matching with the DB field, make sure the legnth is sufficenet enought to hold the data coming.

Former Member
0 Kudos

Dear Alberto,

This is happening due to the field length defined in the data type.

just go to that field and change the maximum length greater that 6.

it will solve the issue.

PS: reward points if useful.

Former Member
0 Kudos

I've checked that the value 030771 is valid for the field GNUCDE.

Alberto.

Former Member
0 Kudos

you are passing the data that is out of range of DB. just chek it in Test data..

Thanks

Farooq.