cancel
Showing results for 
Search instead for 
Did you mean: 

How to use BpmPatternCollectTime SAP BASIS 7.01 Pattern for my scenario ?

nirmalkumar_v
Participant
0 Kudos

Hi Everyone,

My Requirement is to collect idocs for a particular period of time(1 hour) and then Write them as a single file.

I used the BpmPatternCollectTime Integration process from SWCV SAP BASIS 7.01 Namespace http://sap.com/xi/XI/System/Patterns to achieve my requirement.  Is this correct ?

I Replaced the abstract interfaces with new ones and used the Integration Process as it is.  The ccBPM is collecting the idocs successfully.  It is getting time out with respect to my requirement.  But thats it.  The transformation part is giving out 3 messages instead of one(when i tested with 3 idocs at different times).  The output from ccBPM only has the first idoc's values.  The rest of the idocs are missing.  What am i doing wrong here ?

I need all the idocs in the final message.

Experts, kindly go through my scenario and let me know how to fulfill my requirements.

kindly find the images of the settings below :

Message Mapping Details

The occurrence at the idoc side is 0 to unbounded, as there are going to be many idocs.

The occurence at target side is 0 to unbounded, as there will be as many target root nodes as the idoc.

Is this correct ?

The idoc side occurence is set as 0 to unbounded as there are going to be many messages.

The target side occurence is set as 1 as there is going to be only one message.

Is this correct ?

I have used the Integration process as it is from the BASIS patterns.  The only changes are the abstract interfaces and the Interface Mapping.  kindly let know if the chosen ccBPM - BpmPatternCollectTime is correct ?

SXMB_MONI_BPE logs:

Tested with 3 idocs triggered from the Integration Engine:

In the mapping step i can see that there are 3 input messages.

But the Mapping output is not producing the required one message, but 3 messages:

3 separate msg ids created at output abstract interface:

kindly suggest the changes that i can make to correct it.

Thank You,

Nirmal

Accepted Solutions (1)

Accepted Solutions (1)

bhavesh_kantilal
Active Contributor
0 Kudos

Looks to be a issue with your mapping logic.

Can you share the mapping logic for the root node of your target message and also the segment where the 3 IDoc's should be combined over.

Regards

Bhavesh

nirmalkumar_v
Participant
0 Kudos

Hi Bhavesh,

kindly find the screenshot of the nodes mapping:

One idoc to One target Message type node.  Thats what i am aiming for.

Thanks,

Nirmal

bhavesh_kantilal
Active Contributor
0 Kudos

The mapping is indeed the problem.

So what you are doing is : You are mapping the Root Node of the IDoc to the Root Node of your Message Type. So for every IDoc, you will get a separate message.

Is your Target Message Type correct? If you want to combine Idocs into a single message you should have one more structure but in your example both header and address have occurence of 1..1 / 0..1

You should have a structure like

DT_Target -> 1.1

   Address --> 0..Ub

      Header --> 1..1

      Address --> 1..1

In your message mapping - make sure your target message type is 1..1 instead of 0 to unbounded

When doing your mapping -> map DEBMAS06 to Address. This will make sure for every IDoc, the Address Node in your target is replicated but the Message Type is 1..1

Regards

Bhavesh

nirmalkumar_v
Participant
0 Kudos

Hi Bhavesh,

yes i was able to generate multiple address in a single message out of multiple idocs.  Thanks for your inputs.

Thank You,

Nirmal

Answers (1)

Answers (1)

markangelo_dihiansan
Active Contributor
0 Kudos

Hi Nirmal,

In the container operation, are you using append?

Regards,

Mark

nirmalkumar_v
Participant
0 Kudos

Hi Mark,

Yes I am using the Append operation:

Thanks,

Nirmal