on 02-02-2010 7:51 AM
Hi,
I configured a scenario in which I'm using extended receiver determination to determine the receiver of an incoming message. (The reason for this is that there is only one XI system and two ECC systems - DEV and QAS. By means of the setting in a customizing table it can be determined whether the message is sent to DEV or QAS. The message can't be sent to both systems because it is a synchronous interface). The receiver determination calls an Interface Mapping which has target interface Receiver Determination. I made an Abap Mapping program in which the customize table is read and the output message is formed as follows (according to the structure of the Receivers message):
lrf_output_document = lrf_ixml_factory->create_document( ).
lrf_receivers = lrf_output_document->create_simple_element( name = 'Receivers'
parent = lrf_output_document ).
lrf_receiver = lrf_output_document->create_simple_element( name = 'Receiver'
parent = lrf_receivers ).
lrf_element = lrf_output_document->create_simple_element( name = 'Party'
value = ' '
parent = lrf_receiver ).
lrf_element->set_attribute( name = 'agency'
value = ' ' ).
lrf_element->set_attribute( name = 'scheme'
value = ' ' ).
lrf_element = lrf_output_document->create_simple_element( name = 'Service'
value = 'DEV'
parent = lrf_receiver ).
To fill the RESULT field a stream factory is instantiated and a XSTRING is created. When I send a message to the system, the receiver determination dumps: Error when parsing receiver listLength of XML document 129 Error when parsing receiver listLength of XML Document 129 System expected the element 'Receivers'
Looks like the XSTRING has not got the right structure and can not be parsed into the Receivers message. However, when I create a CSTRING, the message looks OK. I also changed the encoding (Codepage 4103).
When I replace the Abap mapping with a message mapping, the receiver determination works OK. However, in that case it is not possible to read the customizing table. I really need the Abap mapping.
Has anyone ever filled the Receivers massage by means of Abap mapping. Any feedback will be appreciated!
Hi,
>>>. I really need the Abap mapping. Has anyone ever filled the Receivers massage by means of Abap mapping. Any feedback will be appreciated!
I did it and it worked without any issues
it's a standard ABAP mapping (nothing special) - there are tons on blogs showing how to work with ABAP mapping
on sdn - please have a look them
for sure it works and there is nothing different then with a normal abap mapping
Regards,
Michal Krawczyk
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
there is a easier way - totally based on my blogs
create an abap mapping that will feed the dynamicconfiguration in ABAP (with z "Z" namespace) - similar thing shown in my blog
/people/michal.krawczyk2/blog/2007/04/26/xipi-throwing-generic-exceptions-from-any-type-of-mapping
and you don't need to create the XML in ABAP mapping just parse it, fill DC and send the same source to the target
(so you don't change the XML)
then add a message mapping to your interface mapping in which you will only use dynamicconfig value
to populate the receiver segment
nice and clean way
Regards,
Michal Krawczyk
User | Count |
---|---|
81 | |
9 | |
9 | |
7 | |
7 | |
6 | |
6 | |
6 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.