on 04-13-2010 5:14 PM
I've defined following type for Receiver JDBC to save data in two different tables
Name Category Type Occurrence
ReceiverDB_DT Complex Type
STATEMENT Element 1..unbounded
TABLE_NAME Element 1
ACTION Attribute xsd:string required
TABLE Element xsd:string 1
ACCESS Element Table1_DT 1
STATEMENT2 Element 1..unbounded
TABLE_NAME Element 1
ACTION Attribute xsd:string required
TABLE Element xsd:string 1
ACCESS Element Table2_DT 1
When I send data of two tables, it is showing data for both the two tables in MONI of PI System, but ultimately it shows only one table's data in message monitoring payload.
what could be the problem?
Thanks,
-Haresh
Hi Haresh,
I presume you are using Insert action.
Check for the message mapping. Test in IR the message mapping and see if both structures are getting populated or not.
Also, instead of having Statement node multiple times you could keep the access node multiple times. This does not concern the problem inquestion.
Revert with findings.
Regards,
Ankesh
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Ankesh,
Thanks for paying attention for problem. I am performing INSERT only.
IR is fine, it's showing both the structure filled properly.
I am not sure how can I have multiple access as I would be mapping different tables before this access tag.
Let me know where should I change?
Thanks
-Haresh
It solved!!!
by just changing Occurrence only as rightly pointed by Ankesh
Name Category Type Occurrence
ReceiverDB_DT Complex Type
STATEMENT Element 1..unbounded
TABLE_NAME Element 1
ACTION Attribute xsd:string required
TABLE Element xsd:string 1
ACCESS Element Table1_DT 1
STATEMENT2 Element 1..unbounded
TABLE_NAME Element 1
ACTION Attribute xsd:string required
TABLE Element xsd:string 1
ACCESS Element Table2_DT 1
Name Category Type Occurrence
ReceiverDB_DT Complex Type
STATEMENT Element 1
TABLE_NAME Element 1
ACTION Attribute xsd:string required
TABLE Element xsd:string 1
ACCESS Element Table1_DT 1..unbounded
STATEMENT2 Element 1
TABLE_NAME Element 1
ACTION Attribute xsd:string required
TABLE Element xsd:string 1
ACCESS Element Table2_DT 1..unbounded
Thanks a lot ankesh
, but ultimately it shows only one table's data in message monitoring payload.
What you mean by the above sentence? Can you please explain a bit more?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
xml payload from MONI
<?xml version="1.0" encoding="utf-8" ?>
- <n0:Sender_DB_MT xmlns:n0="urn:test.com:SAPJDBC" xmlns:prx="urn:sap.com:proxy:ECD:/1SAI/TAS63F0C63EF256577CCC4E:701:2009/02/10">
- <Table1>
<TableData TABLENAME="SAPPIReceiver_Table1" ACTION="INSERT" />
<Table1 ID="A3" Salutation="Mr" LastName="Khandal" FirstName="Haresh" />
</Table1>
- <Table1>
<TableData TABLENAME="SAPPIReceiver_Table1" ACTION="INSERT" />
<Table1 ID="A4" Salutation="Mr" LastName="Rhodes" FirstName="John" />
</Table1>
- <Table2>
<TableData TABLENAME="SAPPIReceiver_Table2" ACTION="INSERT" />
<Table2 EntryId="3" ID="A3" AddressCode="A1" Address1="Adr1" />
</Table2>
- <Table2>
<TableData TABLENAME="SAPPIReceiver_Table2" ACTION="INSERT" />
<Table2 EntryId="4" ID="A4" AddressCode="A2" Address1="Adr2" Address2="tt" City="Chicago" ProvinceCode="IL" PostalCode="60601" CountryCode="US" />
</Table2>
</n0:Sender_DB_MT>
from RWB
<?xml version="1.0" encoding="UTF-8" ?>
- <ns0:ReceiverData_MT xmlns:ns0="urn:test.com:SAPJDBC">
- <STATEMENT>
- <TABLE_NAME ACTION="INSERT">
<TABLE>SAPPIReceiver_Table1</TABLE>
- <ACCESS>
<ID>A3</ID>
<Salutation>Mr</Salutation>
<LastName>Khandal</LastName>
<FirstName>Haresh</FirstName>
</ACCESS>
</TABLE_NAME>
</STATEMENT>
- <STATEMENT>
- <TABLE_NAME ACTION="INSERT">
<TABLE>SAPPIReceiver_Table1</TABLE>
- <ACCESS>
<ID>A4</ID>
<Salutation>Mr</Salutation>
<LastName>Rhodes</LastName>
<FirstName>John</FirstName>
</ACCESS>
</TABLE_NAME>
</STATEMENT>
</ns0:ReceiverData_MT>
Thanks,
The First payload (SXMB_MONI) seems to be that of the Sender message and not the one which we get after mapping in SXMB_MONI
The Second payload is the one which is going into the DB....the one after the mapping is executed.
Where it would have gone wrong --> In-correct mapping program/ logic.
If you test the mapping in IR does it give you the required output?
Regards,
Abhishek.
Ankesh n Abhishek,
I m not able to get the payload for Receiver Message Type.
But i've given test data in message mapping test in IR. and here is the result.
<?xml version="1.0" encoding="UTF-8" ?>
<ns0:Receiver_DB_MT xmlns:ns0="urn:test.com:SAPJDBC">
<STATEMENT>
<TABLE_NAME ACTION="INSERT">
<TABLE>SAPPIReceiver_Table1</TABLE>
<ACCESS>
<ID>A3</ID>
<Salutation>Mr</Salutation>
<LastName>Khandal</LastName>
<FirstName>Haresh</FirstName>
</ACCESS>
</TABLE_NAME>
</STATEMENT>
<STATEMENT>
<TABLE_NAME ACTION="INSERT">
<TABLE>SAPPIReceiver_Table1</TABLE>
<ACCESS>
<ID>A4</ID>
<Salutation>Mr</Salutation>
<LastName>Rhodes</LastName>
<FirstName>John</FirstName>
</ACCESS>
</TABLE_NAME>
</STATEMENT>
<STATEMENT2>
<TABLE_NAME ACTION="INSERT">
<TABLE>SAPPIReceiver_Table2</TABLE>
<ACCESS>
<EntryId>3</EntryId>
<ID>A3</ID>
<AddressCode>A1</AddressCode>
<Address1>Adr1</Address1>
</ACCESS>
</TABLE_NAME>
</STATEMENT2>
<STATEMENT2>
<TABLE_NAME ACTION="INSERT">
<TABLE>SAPPIReceiver_Table2</TABLE>
<ACCESS>
<EntryId>4</EntryId>
<ID>A4</ID>
<AddressCode>A2</AddressCode>
<Address1>Adr2</Address1>
<Address2>tt</Address2>
<City>Chicago</City>
<ProvinceCode>IL</ProvinceCode>
<PostalCode>60601</PostalCode>
<CountryCode>US</CountryCode>
</ACCESS>
</TABLE_NAME>
</STATEMENT2>
</ns0:Receiver_DB_MT>
Is it according to your requirement?
Why are you creating two different STATEMENT nodes for the same TABLE performing the same action.....why not create a single STATEMENT node for table1 and one for table2 with multiple occurences of ACCESS node within....at least is your data for table1 getting inserted into DB properly?
>
> Is it according to your requirement?
> Why are you creating two different STATEMENT nodes for the same TABLE performing the same action.....why not create a single STATEMENT node for table1 and one for table2 with multiple occurences of ACCESS node within....at least is your data for table1 getting inserted into DB properly?
tables are not same those are different tables altogether.
from sender side, I am getting two different tables and each table having multiple records as well.
So how do I define receiver side data type having single statement with multiple occurrences of ACCESS node ?
I mean what type should ACCESS node be typed with?
-Haresh
Haresh,
You were not looking in the right place. In SXMB_MONI You can see set of pipelines correct? Inbound Message, Receiver Identification,Interface Determination, so on.
Please open Request Message Mapping and check for the payload there. It should match your RWB payload. Ok anyways it's different story.
The seems to be with Mapping - in order to confirm the same we would like to see the paylaod in Message Mapping step, which I described above. Can you paste it for us, please?
raj.
See you have SAPPIReceiver_Table1 and SAPPIReceiver_Table2.....so what i told was create (through ampping) one Statement for SAP PIReceiver_Table1 and one for SAPPIReceiver_Table2.....as of now you have to first get the mapping working....changing the structure can be taken care off later (if really required)
Regards,
Abhishek.
I am bit confused...
when I've seen SXMB_MONI in Sender SAP System, it shows me
Green Flag SENDER PROXY IENGINE
Checker Flag SENDER PROXY IENGINE
and SXMB_MONI of PI System
Green Flag CENTRAL Inbound Message Asynchronous EO IENGINE AENGINE
Expand Icon CENTRAL Receiver Grouping Asynchronous EO IENGINE AENGINE
Checker Flag CENTRAL Response Asynchronous EO IENGINE AENGINE
is this ok?
>
> See you have SAPPIReceiver_Table1 and SAPPIReceiver_Table2.....so what i told was create (through ampping) one Statement for SAP PIReceiver_Table1 and one for SAPPIReceiver_Table2.....as of now you have to first get the mapping working....changing the structure can be taken care off later (if really required)
>
> Regards,
> Abhishek.
I've already difined different statement (wiz statement, statement2) for different tables
one question still not answered....what do you see under the payload section of Request Message mapping in SXMB_MONI for this interface? Are you getting proper output in IR --> Mapping --> test if you use the same source payload from SXMB_MONI?
May be the payload itself is not able to satisfy mapping rules.
Regards,
Abhishek.
>
> one question still not answered....what do you see under the payload section of Request Message mapping in SXMB_MONI for this interface? Are you getting proper output in IR --> Mapping --> test if you use the same source payload from SXMB_MONI?
>
> May be the payload itself is not able to satisfy mapping rules.
>
> Regards,
> Abhishek.
Yes, I am able to get the correct result in IR Mapping Test, you can see the same in my response on first page
User | Count |
---|---|
89 | |
10 | |
10 | |
9 | |
6 | |
6 | |
6 | |
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.