on 12-05-2012 1:41 PM
Szenario:
I am polling two EDI-Message types (DESADV and INVOIC) from a single X.400-Mailbox. I want to use the "Content-Based Sender Determination" to process both EDIFACT messages differently (because their message/data type is also different). So I activate the check box "Content-Based Sender Determination" and configured the CC as outlined in the attached screenshot.
In the CC-Monitoring audit, I always get the following error:
"No contentbased routing rule applied. Creating message with default values fromParty "", toParty "", fromService "BS_WECO_TEST", toService "", action "SI_out_DESADV96A", actionNS "http://mac-geiz.de/xi/if_lief/weco"."
Question:
In the field "Contains" I entered the string "DESADV,96A" because this CC should pick up DESADV96A EDIFACT messages. What do I have to enter in the field attachmant number so that the routing rule is regognized by the system? "1" or "#1" or "BilaterallyDefinedBodyPart"?
Please advice! Thank you in advance, Joerg
Hi Jorg,
1) In the field 'contains', you need to enter the value of a field that is present in the payload or attachments.
2)If the field is present in the payload, you need to enter the value '0' for the column 'attachment number'. If the field is present in any of the attachment, you need to provide attachment number of the attachment (Attachment number start from 1).
Thanks,
Nidin. M
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Dear Nidin,
thank you for your quick answer! Now the systems seams to work properly, althoug the audit log confuses me.
I have configured the following rules now in a "message-type-independent" CC and I have created 2 sender agreements with SI_out_DESADV96A and SI_out_INVOIC96A interfaces using that same CC:
The audit log shows 2 lines for the routing rules:
It implies that 2 messages are created, both using the SI_out_DESADV96A interface, although the 2 rules refer to the SI_out_DESADV96A and the SI_out_INVOIC96A interface. Can you explain that to me?
Thank you,
Joerg
Dear Joerg,
It appears, from the first entry in the audit log log, that the CONDITION expression to match the invoice message as specified in the X400 channel did not hit the actual X400 message (containing invoice in its payload) when it was polled off from the mailbox.
The condition field is a collection of strings separated by a comma. This string must be constructed to match the sender party, receiver party ( as EDIFACT identifiers) as well as the message type name and its version. All of these strings will be matched to be present in the message not necessarily in order.
If the match is not found then, the default agreement ,being the first in the list that the adapter carries internally for this channel, is matched.
Therefore it is a good design to use a content based receiver determination (using xpaths) in the "flow" that is configured as the default/generic agreement attached to the channel.
This generic agreement is chosen when all the conditions dont match and will do the necessary content based routing.
Best Regards,
Bhagyesh
Message was edited by: Bhagyesh Hede due to the incorect explanation of the condition field being a regular expression. It is a normal collection string.
Dear Bhagyesh,
thank you very much for your very detailed answer. There are still some minor questions remaining for my understanding:
If the match is not found then, the default agreement ,being the first in the list that the adapter carries internally for this channel, is matched.
Where can I see (and maybe influence) what the default sender agreement is?
Is is the first agreement that used the channel?
What is this internal list the adapter carries for that channel?
Does the where-used-list of the channel provide an answer?
Therefore it is a good design to use a content based receiver determination (using xpaths) in the "flow" that is configured as the default/generic agreement attached to the channel.
This generic agreement is chosen when all the conditions dont match and will do the necessary content based routing.
How should I set up this? I cannot define a condition in xpaths if the sender interface is
not known.
Thany you in advance,
Joerg
Hi Jörg,
we're currently fighting at the same stage. Have you ever found a working configuration for that? We're on SAP PO 7.4 with B2B Add-on SP4 and try to configure those X.400 Scenarios.
Thanks for your answer
Christian
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Christian,
I got the solution to work like described above. The trick was that I had to enter the attachment number 0. My reply to Nidrin was just to try to understand, how the system works in detail. Unfortunately I still don't understand it, but it works :-).
What exactly is your spefici issue?
Best regards,
Joerg
Hi Jörg,
I have configured a generic polling Adapter with Content-based Sender Determination. This also works for us with attachment no. 0
For each of the table entries I've to build an iflow with an appropriate x.400 Senderchannel inclunding SenderSystem/SenderPartner. My first attemp was to use the EDI Seperator to reduce the configuration objects. Second I try to use SOAP Sender due to less of configuration mandatory.
Nothing of above works. I'm only allowed to use X.400 channels for the Partner and there also have to configure the X.400 box / polling Intervall etc. That's a lot of confusion because the message is already polled.
Perhaps I'm missing something?
I would be glad if you can give me your configuration Details of the whole scenario
Best regards
Christian
Hello Christian,
here is my configuration:
I have created a business system only to contain a generic sender X400 channel:
Note that the table at the bottom contains 4 entries for EDI invoice and EDI desadv for 2 suppliers (= 2 business systems).
For these 4 cases I have created a configuration scenario, each having a dummy receiver agreement and a X400 sender channel set to the status "inactive". Here is an example of one of the 4 setups:
Sender agreement:
X400 sender channel:
I hope this is of help for you.
Best regards,
Jörg
Hi Jörg,
thank you very much for your detailed explanation. I will give this a try in our PO-System.
One more question is: How to handle Delivery Notice. Here we have to use a different Protocoll Name X.400 Delivery Report XML
If I got it right we have to reference the same generic polling channel (named CC_X400_Sender_MAILBOX_generic in your excample) too. But how to configure the Content based Sender Determination in that case? How to configure the iFlow for those Delivery Notice? Do I have to use an additional X.400 Dummy-Sender for each Partner? Here, the documentation von SAP did not help. Furthermore there will be tons of deactive X.400 Sender-Dummy-Adatper (of course also in Monitoring) which is a Little bit confusing
Thanks for your assistance
Christian
User | Count |
---|---|
94 | |
11 | |
11 | |
10 | |
9 | |
8 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.