on 2010 Oct 06 1:02 PM
Hi,
I've been trying to get the example pattern BpmPatternCollectTime from SAP to work on PI 7.1. This pattern waits for messages and collects them into one message. I've checked my BPM against the SAP BPM and the only difference is that I'm using XSLT mapping in the Transformation step. Is this causing the problem ?
I've checked all the blogs I could find, searched for SDN messages, checked SXI_CACHE etc. to no avail.
Scenario is: I'm sending multiple IDOCS from SAP HR system via PFAL, each has 200 persons in them.
I map the IDOCs to the target format (XML) and collect them in the BPM and send to file adapter.
Problem is I only get the first IDOC contents in target message, and the rest are missing.
When I look at the BPM workflow log, Container tab, I can see that there are 3 messages in the MESSAGE_IN entry. I can open them and see the contents fine. This leads me to believe that my Correlation is working ok.
Also in the Block step the COLLECTMESSAGELIST contains 3 entries as it should.
Correlation says:
<CorrelationKey Version="001"><ID>SAP HR</ID></CorrelationKey>
Where 'SAP HR' is the content of the correlation XPath query I defined.
MESSAGES_OUT in the BPM workflow log contain the same 3 messages.
TRACE in the BPM workflow log shows that the mapping of the Transformation step executed ok. Transformation step Operations Mapping is using an XSLT mapping that is copying the input to output as is.
When the BPM is finished the target message only contains the first IDOC data.
How can I get the rest of the data to append to the target message ?
Kind Regards,
Jari Pakarinen
Few basis checks-
1.Make sure you enabled the 'multiline' for the target abstract interface(container object).
2.Make sure you enabled the 'append' mode in container properties.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
Thank you for your reply.
Multiline is enabled on the CollectMessageList Abstract interface.
Container operation is 'Append'.
Do you know if XSLT mapping could be the problem in the Transformation step ?
XSLT is this:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns="http://xxxxxxxx" xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
<xsl:template match="/">
<xsl:copy-of select="*"/>
</xsl:template>
</xsl:stylesheet>
BR, Jari
Edited by: Jari Pakarinen on Oct 6, 2010 3:42 PM
Hi,
Using this mapping XSLT I was able to get the BPM working:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns="http://xxxx.com/xxx" xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
<xsl:template match="/">
<ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
<ns0:Message1>
<xsl:copy-of select="*"/>
</ns0:Message1>
</ns0:Messages>
</xsl:template>
</xsl:stylesheet>
This means you have to wrap the mapping inside
<ns0:Messages><ns0:Message></ns0:Message1></ns0:Messages>
tags. This took a while to find out.
Jari
User | Count |
---|---|
71 | |
10 | |
8 | |
7 | |
7 | |
6 | |
6 | |
6 | |
6 | |
5 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.