on 06-22-2010 6:17 PM
Hi experts,
I have an RFC --> PI --> JDBC scenario with the following message mapping:
SOURCE --> TRIM --> mapWithDefault [] --> DESTINATION
If the source field doesn't come, the input XML is a follows:
<SOURCE/>
And after the mapping I obtain the following: <DESTINATION></DESTINATION> that is exactly what the reciever system is expecting. This was been working fine until the upgrade to ECC 6.0 of the Sender system. Actually I don't know if it has anything to do, because the RFC XML looks exactly the same, but the user claims it has stopped working since the upgrade.
Now the same mapping, with the same <SOURCE/> input creates this output: <DESTINATION/>. This is not accepted by the reciver system and throws an error.
What can be happening? The message mapping has not changed and the RFC XML looks exactly the same....any ideas?? Thanks! Pablo
We couldn't fix it...we figured out a workaround
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
>. This is not accepted by the reciver system and throws an error.
What is the error?
If you use JBDC adapter, it is no difference, whetehr you have <tag></tag> or <tag />, because this is the same.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
>
> >. This is not accepted by the reciver system and throws an error.
> What is the error?
> If you use JBDC adapter, it is no difference, whetehr you have <tag></tag> or <tag />, because this is the same.
If you see the payload in Internet Explorer, for example you'll see <tag />. But if you see the XML with a text editor, it should be <tag></tag>: Before this issue the receiver system was getting a "blank" value, now it's getting "null" and it can't handle it.
Sarvesh: thanks for your advice but I'm already using that function...
I'll try Pedro's, Srinivas' and Hetal's ideas, but the user has to setup the development box for testing.
I'll update later, thanks for your help. More ideas are appreciated!
Pablo
> But if you see the XML with a text editor, it should be <tag></tag>: Before this issue the receiver system was getting a "blank" value, now it's getting "null" and it can't handle it.
You mean: it should be <tag>SPACE</tag> ?
You can do something like: if length of SOURCE --> TRIM --> mapWithDefault = 0, then: contant(space).
>
> > Sarvesh: thanks for your advice but I'm already using that function...
> May be you did something wrong otherwise MapwithDefault will generate the the tags empty or with value wihich you specified under MapWithDefault function.
I know...but the mapping was previously working. That function was working previously, when the source tag was missing the <tag></tag> structure was generated....no-one modified that mapping
I think presently from RFC you are not at all getting the feild itself <SOURCE> just check in your current payload..perviour version you might getting th field <SOURCE> itself then it was working...now the reason is not working as I guess...in ECC 6.0 onwards if source field is no value then field itself it won't come to PI as a source...I mean if you populate the empty spce explicitly for fied then that field come to PI other wise if there is not value field will not come to PI...please compare the current payload and old payload for Source RFC XML...hope youo understnad..
Regards,
Venu.
> I think presently from RFC you are not at all getting the feild itself <SOURCE> just check in your current payload..perviour version you might getting th field <SOURCE> itself then it was working...now the reason is not working as I guess...in ECC 6.0 onwards if source field is no value then field itself it won't come to PI as a source...I mean if you populate the empty spce explicitly for fied then that field come to PI other wise if there is not value field will not come to PI...please compare the current payload and old payload for Source RFC XML...hope youo understnad..
Hi Venu, I have just checked. In the XML from the ECC6.0 RFC I'm getting the input as <SOURCE></SOURCE>. Thanks for your reply.
> Hi Venu, I have just checked. In the XML from the ECC6.0 RFC I'm getting the input as <SOURCE></SOURCE>.
When the source tag is available, then mapwithdefault paases the empty node.
So the change in your scenario was:
First: source was missing, so mapwithdefault provided default value ' '
second: source is availble, but empty, so the empty string is passed to target.
in my proposol when I wrote "then" I meant to use the "if" function. do constant space to then branch. the source - mapwithdefault to else branch.
Please reimport the RFC and then clear CPA Cache.
That should solve your problem.
Thanks,
Hetal
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Pablo,
RFC XML looks exactly the same, but the user claims it has stopped working since the upgrade
Can you please try importing the RFC again and doing some dummy changes in the mapping .Might be meta data update issue.Also test the RFC from the SAP system once.similarly do some dummy changes in communication channel (like, edit channel and in the description field add some text or spaces and save and activate).Please test again and see if it works ..do the cache refresh also
Regards,
Srinivas
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Pablo,
Try to stop and start again RFC communication channel in RWB (communication channel monitoring).
transaction sxmb_ifr
Integration Monitoring (Runtime workbench) -> Component Monitoring -> Display
Expand the tree, and choose Adapter Engine in Integration Server
Choose Communication Channel Monitoring, use filter as it is, and check RFC communication channels
Best Regards,
Pedro Pereira
Edited by: Pedro Pereira on Jun 22, 2010 7:39 PM
Edited by: Pedro Pereira on Jun 22, 2010 7:50 PM
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
83 | |
10 | |
10 | |
9 | |
7 | |
6 | |
5 | |
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.