Author |
Message
|
punky |
Posted: Mon Jun 04, 2012 2:45 am Post subject: Non populated fields removed during adapter data object pars |
|
|
 Apprentice
Joined: 26 May 2011 Posts: 44 Location: India
|
Hi All,
I have developed a flow for publishing information updated in the master data.
The issue is quite abstruce..
Taking an example...
Whenever there is some change in master data... say change in address (street), an idoc is published from r/3 and my flow after mapping publishes it to a topic and the subscribers are subscribing it from there.
So, in the idoc there is an recour for <struct_Address> which has 12 fields.
So if the change is made in the field-street (being the 4th field), I can see only four fields in that record (segment). First three being empty tags (<abc></abc>) and fourth one as (<street>12</street>).
So I want to know are these 8 empty tags (from 5 to 12), ignored by adapter (parsing as dataobject) or this is fault from r/3 (SAP CRM system).
In the normal trend from the XML generated before message transformation it is seen that all empty tags after the last populated fiels in same segment are ignored by adapter.
Just to be sure I wanted some help you, if you have faced this issue before...
Cheers,
Punky |
|
Back to top |
|
 |
lancelotlinc |
Posted: Mon Jun 04, 2012 5:09 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
What version of WMB are you using? Put a Trace node just after your SAPInput node and write out the entire payload. This will allow you to determine if SAP is sending the information you need. _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
punky |
Posted: Mon Jun 04, 2012 7:44 am Post subject: |
|
|
 Apprentice
Joined: 26 May 2011 Posts: 44 Location: India
|
I am using WMB 7.0
I have connected to debug to see the incoming data, and the empty tags are not present.
As the trace node will be placed after SAP input node, I think the results seen from debug and trace node will be same.
But the doubt here is with the data object parsing used by the adapter (maybe it ignores the empty tags). |
|
Back to top |
|
 |
mqjeff |
Posted: Mon Jun 04, 2012 7:49 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
You can see if a User Trace shows the values.
The debugger is generally less reliable than a trace node or user trace. It has a tendency to make it's own decisions about what to show and not show. |
|
Back to top |
|
 |
lancelotlinc |
Posted: Mon Jun 04, 2012 7:51 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
The SAPInput node will hand off everything it gets. To be sure of this, you can turn off Validation on that node. If the Trace node placed directly after the SAPInput node has none of the tags you are looking for, then you can request your SAP developer to determine why. WMB does not indiscriminately filter incoming data. If the data comes it, the input nodes pass it along. _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Jun 04, 2012 8:07 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
AFAIK I remember my SAP CRM, you have first some kind of record with blanks and X's telling you which field(s) changed.
The following structure will then contain only the changed fields...
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
punky |
Posted: Mon Jun 04, 2012 8:18 pm Post subject: |
|
|
 Apprentice
Joined: 26 May 2011 Posts: 44 Location: India
|
Hi fjb_saper,
Even my flows are intracting with SAP CRM.
The doubt originates when the blank fields before the changed fields are displayed and after the change fields are ignored.
I have checked and found that the tags are not coming into WMB, so have asked abap side programmers to check the logic they have developed to send data into WMB.
Regards,
Punky |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Jun 04, 2012 8:38 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
punky wrote: |
Hi fjb_saper,
Even my flows are intracting with SAP CRM.
The doubt originates when the blank fields before the changed fields are displayed and after the change fields are ignored.
I have checked and found that the tags are not coming into WMB, so have asked abap side programmers to check the logic they have developed to send data into WMB.
Regards,
Punky |
This may be due to a file IDOC that has been FTP'd?
Typically this may drop the trailing spaces...
Make sure your message set takes care of that...
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
punky |
Posted: Mon Jun 04, 2012 8:48 pm Post subject: |
|
|
 Apprentice
Joined: 26 May 2011 Posts: 44 Location: India
|
Quote: |
This may be due to a file IDOC that has been FTP'd? |
How can I check that?
Quote: |
Make sure your message set takes care of that... |
You mean to say, Insert the empty tags from WMB side when the tags are not received from SAP CRM.
Just to mention (if it can help), we are using qRFC to send data into WMB.
Regards,
Pankaj Joshi[/quote] |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Jun 04, 2012 8:54 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
punky wrote: |
Quote: |
This may be due to a file IDOC that has been FTP'd? |
How can I check that?
Quote: |
Make sure your message set takes care of that... |
You mean to say, Insert the empty tags from WMB side when the tags are not received from SAP CRM.
Just to mention (if it can help), we are using qRFC to send data into WMB.
Regards,
Pankaj Joshi |
Talk to your friendly ABAP programmer producing the IDOC regarding it's setup...  _________________ MQ & Broker admin |
|
Back to top |
|
 |
punky |
Posted: Tue Jun 05, 2012 7:22 am Post subject: |
|
|
 Apprentice
Joined: 26 May 2011 Posts: 44 Location: India
|
Hi friend,
I have checked with an abaper.
The idoc uses an TCP/IP connection when pushed.
The qRFC is used as there is some dependency between two two types of data.
Regards,
Punky |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Jun 05, 2012 7:53 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
punky wrote: |
Hi friend,
I have checked with an abaper.
The idoc uses an TCP/IP connection when pushed.
The qRFC is used as there is some dependency between two two types of data.
Regards,
Punky |
So you got the setup runaround with the other guy talking about configuration...
Ask about the structure of the Idoc... Maybe that will be more concrete...  _________________ MQ & Broker admin |
|
Back to top |
|
 |
punky |
Posted: Fri Jun 08, 2012 8:30 am Post subject: |
|
|
 Apprentice
Joined: 26 May 2011 Posts: 44 Location: India
|
I have found this with the Websphere products...
"When the problem looks complex, the solution is very simple".
I am sharing the solution to this problem.
There is a property in the SAP adapter for ALE data format configuration.
which provides three options for the empty tags (getting and ignoring them).
Options are provided as:
1.BEFORE_AND_AFTER - Sends empty field tags before and after one more populated IDoc field.
2.ONLY_BEFORE - Sends empty field tags before one more populated IDoc field.
3.ALL_UNPOPULATED_FIELDS_SEGMENTS - Sends empty field tags before and after unpopulated fields as well as segments. This is highly performance intensive and meant to be selected if there are no alternatives.
The third one is solving my purpose.
But has a disadvantage in performance front. |
|
Back to top |
|
 |
|