on 02-27-2008 3:07 AM
Hello everyone!
Here's my scenario:
Multiple IDOCs (of the same message type DEBMAS) may be triggered by a scheduled program (RBDMIDOC). The mapping I created in XI results into individual files being sent to an FTP folder. What I want to happen is for all the IDOCS that were sent to be collected in XI and sent as ONE file to the FTP folder. I understand this can be done using ccBPM, but all the blogs I've seen so far deal with more complex scenarios. Would anyone be willing to show me the basic steps (abstract interfaces to create, creating containers and processes, etc.) to make my scenario possible. I hope y'all can be as simple as possible.
Thanks in advance!
Glenn
Hi
you can use the following approach
Design Objects:
Data Type:
Source Data Type with parent node occurence as 0..unbounded
Target Data Type with parent node occurence as 0...unbounded
Message Type
Message Interfaces
Outbound Asunc
Inbound Async
Outbound Abstract
Inbound Abstrac
Message Mapping
Interface Mapping
Integration Process:
start->receive>loop>receive>container>transformation>send-->stop
and configure the business scenario
Thanks
Rinku Gangwani
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Glenn,
Cool. Keep the Time Dependant example as reference which I've given above.
Import your IDOC DEBMAS into Imported Objects.
Data type and Message type for Target (File)
Create two Interfaces
Abstract Asynchronous Interface --- use IDOC DEBMAS(Interface1)
Abstract Asynchronous Interface --- File Target Message(Interface2)
Message Mapping
Source : IDOC
Target: File Message
Change the occurrence of source message to 0..Unbounded.
Interface Mapping
Source :Interface1
Target : Interface2
Change the occurrence of Source message to 0..unbounded.
BPM
Container Elements
Receive -
Interface1
Receive_ML -
Interface1
Send -
Interface2
Click on the Receive Step -- choose Receive Container element
Clikc on Container Operation -- choose Receive_ML Container element as Target and Receive as Expression
Click on the deadline branch and give 15 mins
Click on Transformation step : Source: Receive_ML , Target : Send
Click on Send Step : use Send Container element
Hope it helps!
raj.
Raj,
Thank you very much for that very detailed response! I will give you feedback on the results as soon as our XI system is up again (they're doing some sort of maintenance right now)
Anurag,
Thanks also for your reply. I would like to use the ccBPM method first before I give your suggestion a try. Thanks anyway!
I really appreciate all your help!
Glenn
Hi Glenn
in the configuration u have to create the following objects
sender agreement:
from sender service using the outbound interafce
Receiver determination:
sender service to BPM
from BPM to Receivwer service
Interface Determination:
corresoponding to each receiver detwermination
receiver agreement:
sender to BPM
BPM to receiver
Thanks
Rinku
Hi Glenn,
An easy approach to achieve your requirement through XML Port in SAP R3 which will avoid the use of ccBPM, as performance of BPM is not good for bulky messages.
IDOC Bundling in SAPR3:
Collecting all the IDocs in R/3(bundling of IDocs), and then sending a single XML file to XI which fulfils the requirement of sending one message to XI.
To post only one message, we will be creating XML port(XML File port is created using transaction WE21).XML port collects all the Idocs in form of an XML file. This file is placed at XI application server after the program RSEOUT00 is executed.
So, in this way you will achieve your requirement in a simple File to File Scenario without any complications ( i mean avoiding BPM).
If you feel comfortable with this approach, go ahead and reward me the points.
Thanks ,
Anurag
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi
as per my approach the idoc will be collectd up to the loop condition fails.
in that approach yopu have to define the loop condition
suppose u can take any field
suppose the condition is
RCVPRN=1
then whenever there is RCVPRN equal to 1 then the isdoc will be processed otherwise the idoc will not be processed.
there are also other approches.
you can also collect the idoc based on the time
i the loop step add a wait step and definf the time limit up to which u want to collect the idoc.
when the time expires the lope will ends and the process will stop.
In that case the BPM process will run for a finite time.
there also other ways to collect the idoc
suppose base don the payload dependent.
Thanks
Rinku
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Glenn,
Do you really need BPM for this scenario?Since you want to send each IDOC to separate file, you can achieve it using normal IDOC to File isn't it?
raj.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Raj,
Currently, the messages being sent to the FTP folder contain one IDOC record per file. What I would like to happen is that multiple IDOC records reflect in only one .txt file.
currently, this how the output files looks like:
CUST GLOBE Manila 001 ...
I want the output files to look like this:
CUST GLOBE Manila 087 ...
CUST SMART Manila 033 ...
CUST ABCDE Manila 023 ...
CUST LKHGB Manila 034 ...
Hope that helps!
Glenn
Glenn,
Got it! So the next question for how long you need to collect is it Time dependant or Count dependant.
For example do u want to collect for 5 mins or let say collect 10 IDOC's.
The best process example design is available in SAP Basis. You tell which one u r gng to chose, then will suggest further.
For Count Depenedant - SAP BASIS 6.40/http://sap.com/xi/XI/System/Patterns/BpmPatternCollectPayload
For Time Dependant - SAP BASIS 6.40/http://sap.com/xi/XI/System/Patterns/BpmPatternCollectTime
raj.
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.