cancel
Showing results for 
Search instead for 
Did you mean: 

Simple collect ccBPM scenario

Former Member
0 Kudos

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

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

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

Former Member
0 Kudos

Thanks! I'll try out both your suggestions, then give you feedback. In the meantime, if any of you have a more detailed procedure to share, it would be most welcome.

Regards,

Glenn

justin_santhanam
Active Contributor
0 Kudos

Glenn,

As i said if you choose either one of the pattern I mentioned, I can suggest further!

raj.

Former Member
0 Kudos

Hello Raj!

I would like it to be Time dependent since the sending of the IDOCs occur every 15mins.

Many thanks!

Glenn

justin_santhanam
Active Contributor
0 Kudos

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.

Former Member
0 Kudos

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

Former Member
0 Kudos

Hello Raj,

Follow-up question, is any special configuration I need to do in the Integration Directory (routing) for this scenario?

Thanks!

Glenn

justin_santhanam
Active Contributor
0 Kudos

Glenn,

Nothing, usual scenario settings. Like two receiver Determination, two Interface Determination one Receiver agreement and one sender agreement.

raj.

Former Member
0 Kudos

Hi Raj,

Silly question, what would I need the extra receiver determination for? Would that be for the abstract interface?

Glenn

Former Member
0 Kudos

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

Answers (3)

Answers (3)

Former Member
0 Kudos

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

Former Member
0 Kudos

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

Former Member
0 Kudos

Thanks for the info, Rinku!

I guess what I need to know is what kind of message types, message interfaces (abstract?), integration processes, etc. to create for my scenario. I am a total ccBPM before.

Glenn

Former Member
0 Kudos

Hi

you will create the message type using ur data type that u have created .

the message interfaces are created using the message type.

for BPM u have to use the abstract interafces.

An abstract interface having no direction it will acr as a inbound as well asoutbound interface.

Thanks

Rinku

justin_santhanam
Active Contributor
0 Kudos

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.

Former Member
0 Kudos

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

justin_santhanam
Active Contributor
0 Kudos

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.