cancel
Showing results for 
Search instead for 
Did you mean: 

JDBC receiver scenario: empty payload

ravi_reddy1
Participant
0 Kudos

Hi Folks,

My scenario is  Proxy to JDBC .( ECC--> PI---> oracle db)

while triggering the test message from sap system (sproxy)  we are getting the data to PI (Moni level) successfully.

But checked in Message monitoring (RWB) details tab  message coming as empty payload.

Payload from SAP(proxy):

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

- <n0:MT_Revenue_MNP_Sender xmlns:n0="urn:bsnl-in:IF016:FI:Commission_Revenue_MNP_UPDATE" xmlns:prx="urn:sap.com:proxy:DEV:/1SAI/TAS4A8CFBE280A3FACAF509:701:2011/07/20">

  <BILLNO>000000000000000016071500011426</BILLNO>

  <SAP_DOCUMENTNO>1800000017</SAP_DOCUMENTNO>

  <ERP_STATUS>2</ERP_STATUS>

  </n0:MT_Revenue_MNP_Sender>

In Message Monitoring all messages are in scheduled state:

Payload in Message monitoring:

Payload is coming as empty in rwb.

please tell me where is the wrong?

Regards,

Ravi

Accepted Solutions (1)

Accepted Solutions (1)

iaki_vila
Active Contributor
0 Kudos

Hi Ravi,

Kindly check the XML format structure, i think you are not following it for UPDATE case: Defining an UPDATE Statement - Advanced Adapter Engine - SAP Library

Regards.

ravi_reddy1
Participant
0 Kudos

Hi Vila,

see the screen shot of receiver jdbc structure.

i mapped like following way:

StatementName:

dbtablename:

action:

access:

can u tell this mapping is right or wrong?

Regards,
Ravi

former_member237514
Participant
0 Kudos

Hi Ravi,

Need to maintain Database table name as well ,

refer the below link

http://www.sappi.sapag.co.in/jdbc2-jdbc-sap-xi-senario/jdbc-2-jdbc-step-by-step-guide/

Former Member
0 Kudos

Hi Ravi,

Have you created Operation mapping and associated the Message Mapping there? And Operation mapping referenced to Interface determination?

iaki_vila
Active Contributor
0 Kudos

Hi Ravi,

Follow Kavitha's suggestion. In the link that i shared points out:


<StatementName>

<dbTableName action="UPDATE">

<table>realDbTableName</table>

<access>

<col1>val1</col1>

<col2>val2new</col2>

</access>

<key1>

<col2>val2old</col2>

<col4>val4</col4>

</key1>

<key2>

<col2>val2old2</col2>

</key2>

</dbTableName>

</StatementName>

You have to set the DB table name, it he table is one schema don't forget to et mySchema.myTable.

Also, i noticed that you are not using any key in your screeshoot, the key structure is equivalent to the WHERE in the UPDATE SQL instruction.

Regards.

ravi_reddy1
Participant
0 Kudos

HI Mitra,

Yes i maintained OM in Interface determination correctly.

Regards,
Ravi

ravi_reddy1
Participant
0 Kudos

Hi Kavitha/Vila,

i alredy maintain the dbtablename under main root node..

see the screenshot:

and also i mapped this field to constant .

Regards,

Ravi

ravi_reddy1
Participant
0 Kudos

Hi Vila,

i alredy used the dbname in structure.

testing purpose i taken update,

i am using insert option. so i dont need key filed

Regards,
Ravi

former_member237514
Participant
0 Kudos

Hi Ravi,

did u check the link which i sent previous to you ,

ravi_reddy1
Participant
0 Kudos

HI Kavitha,

i have a field TABLE in my structure see once . and i mapped with actual db table name.

Regards,

Ravi

iaki_vila
Active Contributor
0 Kudos

Hi Ravi,

Ok, i misunderstood your and i thought that you was using the UPDATE option.

I think the XML format is not case-sensitive but you can change the tag 'TABLE' by 'table'.

Have you checked any exception in the communication channel monitoring for this JDBC receiver channel?

Could you share the JDBC XML message that you are generating?, in this way we can check quickly any possible typo error, if this is really happening.

Regards.

ravi_reddy1
Participant
0 Kudos

Hi Vila,

i changed the FIeld TABLE to table but no use.

while triggering from sproxy it reached to moni successfully with black flag.

see the payload in moni level:

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

- <n0:MT_Expenditure_MonthlyData_update_sender xmlns:n0="urn:bsnl-in:IF013:FI:Commission_Expenditure_monthly_update" xmlns:prx="urn:sap.com:proxy:DEV:/1SAI/TAS5D3B277AD2C7CDC430C2:701:2011/07/20">

<BILLNO>134234343</BILLNO>

<SAP_DOCUMENTNO>2324234</SAP_DOCUMENTNO>

<ERP_STATUS>2</ERP_STATUS>

</n0:MT_Expenditure_MonthlyData_update_sender>

while cheking RWB message monitoring it stuck in message shedule status:

aIn Audit log of Message monitoring i see the message status is "Message successfully put into the queue."

ii cheked the queues but queues are empty.

i cheked the payload in message content tab in message mapping and i got fine payload.

then why these message stuck in Message monitoring and status as "To Be Delivered" status.

i checked in RWB cc monitoring using JDBC receiver channel, but message is not came.


then where is the message? how to resolve this issue?


Regards,

Ravi



















iaki_vila
Active Contributor
0 Kudos

Hi Ravi,

Only to know if the message is leaving PI, try to force an error that you can see in the communication channel monitoring:

1. Set a table name that it doesn't exist.

2. Set a bad connection URL.

If you don't appreciate any exception, you can focus on the receiver JDBC channel.

Regards.

Answers (1)

Answers (1)

ravi_reddy1
Participant
0 Kudos

any body help me on this..

i think problem is in message mapping?

Please give me some solution ?

Regards,

Ravi