on 02-23-2006 9:27 AM
Hi All,
I need on help in taking decision of the following scenario.
1) I have a file contains multiple records
2) If record starts with 00-02 i need to send the information to idoc processing
3) If others (03-04 etc) I need to send the record information to particular mail-ids on base of 03 0r 04.
4) If any record does not supprot mapping then also i need to send ionformation to particular persons.
It would be greate help in taking design decision.
Thanks and regards,
venu.
Venu,
You do not need any splits.
I suggest you to have 3 reciever determainations and 3 interface mappings which will generate the target mapping and in the condition editor chk the values of target interface and route it.
1-File to idoc->Mapping will generated only records with 02-03 as expected.
2-File to Mail->mapping will generate records with 03-04 required for the mails.
3.File to Mail2->mapping will generate records with other than 00-04 ..
In the content based routing route it to the reciever if there are values in the target XML node..:)..LIKE 00 OR 01..ETC.
I donot like to use BPM in this case.
That should solve your problem easily.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi venu,
This scenario you are trying can be done using <b>CONDITIONAL RECEIVER DETERMINATION and RB SPLIT
without using a BPM.</b>
To do this,
1.create your mapping program that will map the information from the source file
into the destination idoc. This has to be a 1:N split. Just make sure that the destination message type and message interface are are of occurence N.
2. Also, you will have 2 destination interfaces and <b>2 interface mapping, one for the IDOC and one for the mail.</b>
Now, there are a few essential steps in your configuration,
1. In the receiver determination, specify the 2 receiver systems, one for your IDOC and the other for your MAIL.
2. Now, you will have a <b>condition window</b>. Just type the condition on the basis of which the reciver has to be determined for the mail and the idoc business system. Just remember that the <b>condition can be specified only for the source message.</b>
2. In the Interface Determination, you have an option called RB CLASSIC and <b>RB SPLIT.</b>To do a 1:N split, you will have to do a RB_SPLIT.
Thus, your solution can be devised without a BPM.
Hope this helps,
Do let me know if you have any clarification,
Regards,
Bhavesh
PS : This will workonly on SP14 and abover.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Bahvesh,
Nice one ! I was sure there was an easier way to do it than what I had proposed... but I couldn't think of it at the moment.
Just one query on your solution. Would we really want to do a split at the receiver determination? If I understand Venu correctly, you will have all types of records simultaneously in the same message. So you might want to have the same receiver, but just use a 4-way message split in the mapping to cater for all possibilities.
Also, since the absence of a particular type of record might just crash the mapping... care will have to be taken to handle exception conditions in the mapping itself.
What do you think?
Cheers
Manish
Hi Bhavesh,
RB-SPLIT option does not support IDoc adapter. I guess this can be done only using BPM.
Check this thread
<a href="http://help.sap.com/saphelp_nw04/helpdata/en/42/f3b31d48fb1bc8e10000000a11466f/frameset.htm">http://help.sap.com/saphelp_nw04/helpdata/en/42/f3b31d48fb1bc8e10000000a11466f/frameset.htm</a>
Regards,
Dhana
Hi Bhavesh,
I saw one of ur posts regarding RB_SPLIT.
sayinmg....
For your scenario, instead of going for the complexity of RB_SPLIT, one solution i would suggest is, creating to inbound interfaces, interface mapping..etc.
U have given this solution in case of of two inbound RFCs.
Is it possible in my case also.
Cheers,
venu
Hi Venu,
I think there is a small problem which I didnt know about and has been correctly been pointed out by Dhana.
In the link, under the topic Pre requisites,
http://help.sap.com/saphelp_nw04/helpdata/en/42/f3b31d48fb1bc8e10000000a11466f/content.htm
<b>Messages that result from the split in a mapping-based message split are sent using one Adapter Engine. For this reason, only those adapters that run on the Adapter Engine are supported</b>
IDOC runs on the ABAP engine and not on the J2EE engine. As this note says, RB_SPLIT is possible only for adapters running on J2EE engine and what this implies is that for IDOCs, the solution I have suggested will unfortunately not work.
I had tried the RB_SPLIT scenario from a file adapter and not for an IDOC adapter. I think we will have to go for a solution based on a BPM if you want to use an IDOC adapter.
I apologize for mis leading you. I hope you understand that the forum is a place to learn and mistakes are bound to happen.
Regards,
Bhavesh
Hi Venu,
The soltuion I suggested <b>will not work with an IDOC adapter at all</b>. What I tried was a file to file scenario using RB_SPLIT and conditional receiver determination.
Newayz, for your solution using BPM, these are the steps you need to follow,
1. Receive Step --> This is used to collect your source file.
2. Transfrom Step --> This will split your 1 message into N messages. The container element for the target should be multiline as it is a 1:N split
3. Block step --> Each of these N messages have to be passed , so use a block with either FOR EACH or PAR FOR EACH.
4. SELECT step --> this is used to determine whether the message is to be sent to mail or idoc adapter. the select step wil have 2 branches. One for IDOC and other for mail. The condition has to be specified for the branches. You can keep mail as default branch.
5. SEND step --> Each of the branch of the SELECT Step with have a send step. One send will be for IDOC and the other for MAIL.
Remember, your block will contain a SELECT and your SELECT will contain 2 send in 2 different branches.
Hope this solution helps you,
Regards,
Bhavesh
Hi,
Sorry for the confusion here. its not a SELECT step, but called the SWITCH step.
http://help.sap.com/saphelp_nw04/helpdata/en/62/dcef46dae42142911c8f14ca7a7c39/content.htm
Regards,
bhavesh
Hi Venu,
I can think of one option for you (although it is slightly tedious to implement). Use a BPM process with the following logic...
1. The receive step should receive your original message.
2. Use step type Fork with 4 branches.
3. In the 1st branch, use a message mapping (transformation step) to filter out records of type 00-02. The next step on that branch will be to send the message for Idoc processing.
4. In the 2nd branch, use another message mapping (transformation step) to filter out record types 03. THe next step on this branch can be to trigger an alert ( this will send an email to the concerned person.
5. The 3rd branch will be the same as the 2nd, just filter for record types 04.
6. The 4th branch will be to filter out all the remaining record types using a mapping. Then an control step can trigger an alert to the relevant people.
you will need to have exception handling for each of these branches, else if there are no records of a certain type, it will crash your BPM process.
I am sure you can refine this idea further.
Cheers
Manish
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Manish/ Venu,
The RB SPLIT option is done in the INTERFACE DETERMINATION and not in RECEIVER DETERMINATION.
Let me sum the solution to clarify the doubts,
1. Message Mapping
One between the source file and the destination idoc messagetyep
one between the source file and the destination mail messagetype.
2. Like wise 2 Interface mapping.
occurence of both message types and message interface has to be set to unbounded during message mapping and interface mapping.
Now, in cofiguration XI first does RECEIVER DETERMINATION--> INTERFACE DETERMINATION and then INTERFACE MAPPING.
So, you give the condition in the RECEIVER DETERMINATION on the basis of which the receiver is choosen and then you create the 2 interface determination. one for each Idoc and the mail.
Prior to SP14, when 1:N split was to be done, you had to go for a BPM. Now, the same is not needed due to presence of RB_SPLIT.
Check this link on how RB SPLIT works,
http://help.sap.com/saphelp_nw04/helpdata/en/42/ed364cf8593eebe10000000a1553f7/content.htm
Any further clarification guys??,
Regards,
Bhavesh
Message was edited by: Bhavesh Kantilal
User | Count |
---|---|
87 | |
10 | |
10 | |
9 | |
7 | |
6 | |
6 | |
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.