cancel
Showing results for 
Search instead for 
Did you mean: 

java.sql.SQLException: FATAL ERROR document format: structure 'Statement',

Former Member
0 Kudos

Hi Gurus,

I did JDBC to SRM scenario. In that the incoming message is posted successfull to the SRM server. But in the acknowledgement message is not delivered to the sender. It gives an error message in the RWB. Its states that the field 'ADATE' contains no values. But when i check the XML payload in RWB it shows value in that particular field. the date format in the X and the Database table is correct both are in the same format as yyyy-mm-dd. But still its giving error messge. Help me to resolve this issue.

This is my payload structure

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

- <ns0:MT_IMT_Prices_Processed_date_time xmlns:ns0="http://nmhg.com/PRMS_SRM_IMT_Prices">

- <Statement>

- <Update action="UPDATE">

<table>NSAICIP</table>

</Update>

- <Access>

<ADATE>2009-03-16</ADATE>

<ATIME>06:50:27</ATIME>

</Access>

- <Key>

<CIPLT>x</CIPLT>

<CIPRD>xxxxxxx</CIPRD>

<CIKEY>xxxxxxxxx</CIKEY>

</Key>

</Statement>

</ns0:MT_IMT_Prices_Processed_date_time>

Regards,

Rama

Accepted Solutions (0)

Answers (2)

Answers (2)

former_member206760
Active Contributor
0 Kudos

Dear Rama,

JDBC adapter is async hence the response from SRM cannot be mapped to JDBC .

But it can be done ( with BPM )

1. Receive step to receive the records

also here is the sender channel u select records with say status 'N' and update the status to 'I'.

2. sync send step to send the data to SRM proxy and receiving it back

3. transformation step so that you can have a mapping which will be used to update the source table records with status 'C'

4. async send step

Former Member
0 Kudos

Hi,

I have used BPM to send the acknowledgement message.

1. Receive step

2. send

3.Transformation: transform the incoming xml to the acknowledged xml message

4. Send to the sender

I think the problem in the date format. i dont know how to resolve.

Hi praveen,

Ya.. i have used that structure for JDBC side.

Thanks

Regards,

Rama

former_member181985
Active Contributor
0 Kudos

You said you are using JDBC in Sender mode. Then what is the necessity of the above structure.

You have to define a structure as per the JDBC response.

former_member200962
Active Contributor
0 Kudos

Hi,

I think the problem in the date format. i dont know how to resolve.

If the Date format is correct....the problem seems to be in the way the Structure is defined for the JDBC side

Your structure:

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

<ns0:MT_IMT_Prices_Processed_date_time xmlns:ns0="http://nmhg.com/PRMS_SRM_IMT_Prices">

<Statement>

<Update action="UPDATE">

<table>NSAICIP</table>

</Update>

<Access>

<ADATE>2009-03-16</ADATE>

<ATIME>06:50:27</ATIME>

</Access>

<Key>

<CIPLT>x</CIPLT>

<CIPRD>xxxxxxx</CIPRD>

<CIKEY>xxxxxxxxx</CIKEY>

</Key>

</Statement>

</ns0:MT_IMT_Prices_Processed_date_time>

The correct format: (Check for the start and end position of dbTableName tab)

<ns0:MT_IMT_Prices_Processed_date_time xmlns:ns0="http://nmhg.com/PRMS_SRM_IMT_Prices"> 
<Statement>
<dbTableName action=u201DUPDATEu201D>
<table>NSAICIP</table>
<access>
<ADATE>2009-03-16</ADATE> 
<ATIME>06:50:27</ATIME> 
</access>
<key> 
<CIPLT>x</CIPLT> 
<CIPRD>xxxxxxx</CIPRD> 
<CIKEY>xxxxxxxxx</CIKEY> 
</key>
</dbTableName>
</Statement>
</ns0:MT_IMT_Prices_Processed_date_time>

For more info refer this link:

http://help.sap.com/saphelp_nw04/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm

As far as possible use the same tab names and the same case for the tab-names (other than table entries) as those mentioned in the above link.

Regards,

Abhishek.

former_member181985
Active Contributor
0 Kudos

R u using JDBC Adapter in Sender or Receiver Mode?

Former Member
0 Kudos

Hi Praveen,

I am using in the sender mode. The probelm in acknowledge message.

Thanks.

Regards,

Rama

former_member181985
Active Contributor
0 Kudos

AFAIK, JDBC adapter doesnt support acknowledgements. It wont request for acknowledgements.

Are you using the below structure for JDBC or SRM?

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

    * <ns0:MT_IMT_Prices_Processed_date_time xmlns:ns0="http://nmhg.com/PRMS_SRM_IMT_Prices">
    * <Statement>
    * <Update action="UPDATE">

<table>NSAICIP</table>
</Update>

    * <Access>

<ADATE>2009-03-16</ADATE>
<ATIME>06:50:27</ATIME>
</Access>

    * <Key>

<CIPLT>x</CIPLT>
<CIPRD>xxxxxxx</CIPRD>
<CIKEY>xxxxxxxxx</CIKEY>
</Key>
</Statement>
</ns0:MT_IMT_Prices_Processed_date_time>