BPM ParforEach Loop
I am having a BLOCk in my BPM. The Mode of the BLOCK is ParforEach.
There is another parameter "CurrentLIne". I dont know what it means and how do I define that. Because its a mandatory fields and when I hit the dropdown box, I am seeing Blank.
In the Multiline Element Attribute : I have assigned an ABSTRACT interface.
Hi Karen,
Multiline Element Attribute : will hold all the abstract messages.
But when you are looping your block it will process only particular abstact message (current).
Currentline is similar to internal table work area in ABAP.
current line will hold a current message when you are looping where as multiline will hold all the messages.
so create another normal abstract container variable with the same abstract interface as that of multiline element (not multiline - do not check multiline checkbox for this).
and use the same in the block configuration,
Regards
Anand
Message was edited by: Anand Torgal
Similar Messages
-
BPM: ParForEach Multiline Issue
Hello,
In an integration process I use the following step sequence:
Transformation: Splitting Abstract Interface A to Multiple Abstract Interfaces A
Block (ParForEach): Loop over multiline container element ( referring to abstract interface a),
and send single message (singleline container element)
Basic behavior of the operations mapping is the following:
abstract interface a ( 1 occurence) -> abstract interface a (0..Unbounded occurences)
Source Message:
submission
item
item
item
Target Message:
submission
item
submission
item
submission
item
In this case I would like to loop over the submissions (using a ParForEach Block) and send three single messages with this structure:
<submission>
<item/>
</submission>
My problem now is the following: When I set the proporties of the ParForEach Block I select multiline
container element a - this is working fine - however when I want to select "current line" the dropdown
list of possible container elements is empty.
I have however set up two container elements (both are referring to abstract interface a), for one of them
the multiline option is activated.
Why does this not work as expected? Could it be a problem with the transformation step to create a
multiple messages?Check if:
1) The single line element defined is having the block name under the Container column (and not process)
2) Check the First, Second, Third points mentioned in this blog...they should solve your problem:
/people/milan.thaker/blog/2008/08/05/modes-in-block-step-of-bpm
Regards,
Abhishek. -
BPM. parForEach block. deadline. multiline element
Hi all,
I have BPM where block parForEach exist. In that block there is another block with send message step(application confirmation demand) and deadline with throw exception step. In parent block (parForEach) I catch this exception and add this element to multiline element.
After parent block(parForEach) I check if multiline element is empty or not and if not I map this element in singleline element and try to send.
The problem is that BPM crashes on transformation from multiline element to singleline element. Workflow log shows CX_SY_REF_IS_INITIAL error. I see this error when multiline element is empty but I especially insert switch step that check if multiline element is empty or not and it shows that element isn't empty.
I already check mapping and also try change multiline element that doesn't helps.
Please help.
Maxim.Hi Mario,
thanks for reply!
When multi element(I specially drop down append step) is empty its go to the "otherwise" branch. So I think the branch is working.
Maxim. -
BPM - Parallel Looping - numberOfCompletedIterations.
Hi,
In the human activity when using parallel looping, two local attributes are generated automatically currentCollectionItem and numberOfCompletedIterations. I need the value in the numberOfCompletedIterations to my webdynpro java component. I mapped the attribute to the string attribute with function String(/numberOfCompletedIterations), irrespective of the number of iterations completed I am getting the value as 0.
Any help will be really appreciated.
Best Wishes
Idhaya Rhi,
hope this link will help u to know about parallel cursor ie using loops inside loops
[http://www.****************/Tutorials/ABAP/ParallelCursor.htm]
regards,
priya -
Hi All
I have searched the web, but could not fine any blog about ParForEach / ForEach
does any one knows of any step by step scenario for ParForEach / ForEach
tanhks.You're asking about dynamic parallel processing, which is described in the online help [over here|http://help.sap.com/saphelp_nw70/helpdata/EN/c5/e4b94a453d11d189430000e829fbbd/content.htm]
-
BPM finishes when reaching exception in loop block
Hi everybody,
we got a loop block in BMP. In the loop block we catch mapping errors by using an exception branch.
What we can see is that when an exception is thrown the process steps into the exception branch an than is leaving the loop block!! So the remaining single messages are not processed!
Is there a workaround?
Regards MarioHi Mario,
Have you used the local correlation for block step.
Can you please give steps you used in BPM, also try to see the below threads
What is the use of block step in BPM? Please help!
BPM ParforEach Loop
BPM loop
also,
BPM Block step
Using BPM (Blocks) when Incoming message has multilple rows
Doubt in BPM
BPM: Block Processing: ParForEach
Regards
Chilla -
Hi,
In bpm which loop is used? ( for , while do etc) ?
Thanks ,
SomenathHi somenath,
in my documentation there is only one loop available, which is called "while loop".
So I think it works like its called
"The loop continues to run while the end condition returns true. To specify the end condition, use the condition editor"
reward every helpful answer
regards, Steffen -
What is the use of block step in BPM? Please help!
Hi Experts,
I would like to know what is the use of block step in BPM? In what cases we can use it?
Can somebody explain BLOCK by relating to any programming language ( java) control step?
Please help!
Thanks
GopalHi,
Block step is similar to what we use curly braces in most of the languages which defines the scope. For example if we are using loop step in bpm to loop through some variable then we can use block step to restrict the scope of loop step up to some point.
Thanks and Regards,
Sudheer. -
Hi Experts,
I am doing one scenario for merging the Idocs data in BPM and sending this one as file.I have done the following steps in BPM
A. Loop with infinite
1.Receive
2.Container Operation(Append)
3.Container Operation(Assign) for count
End loop
B. Transfermation
C. Send
While executing my scenario it is giving only first idoc data in receiver file but its not merging the all idocs data. can you please tell me where i am doing mistake.
Thanks & Regards,
PurushothamHI,
In your Infinite Loop how you are breaking up the loop...
The Receiver step is just accepting the 1st IDOC and BPM instances get instantiated. But later on the Loop is not continued to wait for other IDOCs.
Kindly have a look Re: Idoc multi mappings in a single interface
I am not sure why you are using BPM for this...as you can use the features like
IDOC Collection without BPM, Packaging etc.
Check this blog for multiple IDocs with multiple IDoc types
IDOCs (Multiple Types) Collection in BPM
Refer - SAP Network Blog: Collecting IDocs without using BPM
Collecting IDocs without using BPM
Refer similar discussion
ccBPM Collect Pattern Error
Thanks
Swarup
Edited by: Swarup Sawant on Aug 18, 2008 6:54 AM -
Hello , i have a flat file scenario : XML to RFC and response back to xml , in which case i have a more complex scenario.
Instead of calling RFC multiple times i need to call RFC multiple times through a BPM loop through one xml with duplicated strcutures how is it possible please help me
KrishnaHi ,
Just More info-
Actually if you do the occurence as 0-n then you will be having structure like this-
<Messages>
<Message1>
<Source>
<Header> </Header> (1..1)
<Line> </Line> (1..1)
</Source>
<Source>
<Header> </Header> (1..1)
<Line> </Line> (1..1)
</Source>
</Message1>
<Message1>
<Source>
<Header> </Header> (1..1)
<Line> </Line> (1..1)
</Source>
<Source>
<Header> </Header> (1..1)
<Line> </Line> (1..1)
</Source>
</Message1>
</Messages>
In this case you have multiple Message1 under Messages node. So now it is N number of messages under one tag.
For your scenario, you can try like this-
1) No need of changing any occurence anywhere.
2) Use BPM -mentioned in my earlier reply
I think it will work without 1:N or N:1 mapping Because in your case there is no multiple messages, but you have multiple occurences of each set. So I think you can easily handle with parForEach loop.
For eg. on ParForEach -
http://help.sap.com/saphelp_nw2004s/helpdata/en/27/db283fd0ca8443e10000000a114084/frameset.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/27/db283fd0ca8443e10000000a114084/frameset.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/27/db283fd0ca8443e10000000a114084/frameset.htm
Also check in BPM Patterns for ParForEach.
Regards,
Moorthy
Just check it -
I need to use SOAP adapter at receiver side and expecting 7000-10000 records from sender side.
At sender side Iam using Proxy.
I suspect if SOAP adapter handle this load, BTW I have to use SOAP at reciver side.
Keeping this in mind, any suggestions please.
one solution I can think of is running a batch at sender side, but how many records I can sender at once.
any thoughts on this are appreciated.Hi,
There are two ways of handling this thing.
Option 1. Send the data in batch from Proxy itself by having a for loop in ABAP Client Proxy.
Option 2.To us ethe BPM and to have parForEach loop in a block which will send records in batch as you want.
Hope this solves your problem. Let me know if you need more details on the same.
Thanks
Amit
Reward points if solution helps -
Exception caught by adapter framework
Hi
My scenario is based file -->RFC with BPM (parforEach) and multimapping.
File adapter is picking data according to input file, but RFC couldn't able to process each split data. I am gettign following error.
<b>2006-09-11 10:39:07 Error Exception caught by adapter framework: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: functiontemplate from repository was <null>
2006-09-11 10:39:07 Error Delivery of the message to the application using connection AFW failed, due to: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: functiontemplate from repository was <null>.</b>
Any idea how to resolve this issue..!
Regards
Sankar!Hi..
Does this way i mapped file to BAPI, is this correct way ?
does we change the BAPi structure like this in target side?
Source Structure: TargetStructure
Messages (1:1) Message(1:1)
Message1(1:1) Message1(1:1)
MT_Request(1:1)
Recordset(0:U) --> BAPI_INCOMINGINVOICE(0:U)
HDR (0:1) HeaderData(1:1)
LINEITEM(0:U)
field1(0:1) ---> filed1(0:1)
field2(0:2)
HDR--->GLACCOUNTDATA(0:1)
LINEITEM(0:U)---> item(0:U)
field3(0:1) ---> field(0:1)
field4(0:1) ---> field2(0:1)
and my BPM is :
Receive>Transfromation->Block with asyncSEND--->
Receiver : File_MI
Trasformation: IM, sorec: File_AI and tar: BApi_AI
Block -->parForeach, multi: BAPI_AI, curr: BAPI_AI
asyncSend-->BAPi_AI
<b>Note: My input file should have various headers with associated line items...!</b>
Thanks,
Sankar! -
Hi All,
I have input xml file which consists of 60,000 records and its size above 10MB. I wanted to process this file in XI such a way, where file has to be pick and process, but only 10,000 records should be process also file not split.
Its xml not flat file, As I know in FCC we can achieve it by "Record st per mesage"
Regards,
SameerHi Sameer,
You can try out this scenario with BPM by looping 10000 times but then there is a point of contention because BPM is a memory hogger and looping it for 10000 times , the performance of the system is going to affected seriously.
Regards
joel -
Process, Block & Container Operation
Hi all,
What is the difference between process and block containers?? Where would a container operation step be adptly used?
I am trying to do a BPM scenario with a send step inside a block and I can't set multiline for a block container. I am little confused. Any help.
-TeresaHi Teresa,
Block :
Block is similar to what we use curly braces in most of the languages which defines the scope. For example if we are using loop step in bpm to loop through some variable then we can use block step to restrict the scope of loop step up to some point and block is something similar to defining scope in other prog. languages. the local variables defined in this has a scope of it only and others cannot access the same and block Recieve step is not required just use Send step if it is async message.
Block- is for logical grouping of the process steps
http://help.sap.com/saphelp_nw04/helpdata/en/f6/e1283f2bbad036e10000000a114084/content.htm
Container :
A transformation step in BPM is a abstraction of message/interface mappings, So u can use a container variable directly inside your message mappings to map container variable to data element.
U can look at the thread : "Container object in Message Mapping" to know how to access the container variable inside your message mapping.
Contaniers - Variables in the Integration process.
https://www.sdn.sap.com/sdn/collaboration.sdn?contenttype=url&content=https%3A//forums.sdn.sap.com/thread.jspa%3FforumID%3D44%26threadID%3D41502.
Regards
Agasthuri Doss
Message was edited by: Agasthuri Doss Baladandapani -
Dear all,
My requirement is like thiis.
I have n senders(10) which i need to merge in to 1 and send to the receiver.
Logic implemented:
1)Loop:
Counter!=5.
2)Receiver
LineElement
3)Container1
Append single line element to multi line element
4)container2
Assign counter+1.
end loop
5)Transfermation
interface mapping
Single line element
target interface
Note:
If I take the line item as Multiline I am geeting an error that the element must not return multi line
6)send
targetinterface
when I execute the same I am getting 2 different messages ie 2 different files are generated with out merging.
Kindly help.
Thanks,
SrinivasHi
use the following process in the BPM
start>loop>receive>container1>container2>transform>send-->stop
container1-->to collect the multiple idocs.
container2-->to increment the value of the variable to check the loop condition.
>If I take the line item as Multiline I am geeting an error that the element must not return multi line
if you are getting the error as, that the element must not return multi line
for that check whether the occurence for the target node is 0..unbounded.
Thanks
Rinku
Maybe you are looking for
-
Fields for selection in FPCJ : Bank details not showing for Postal Order
Hi Sap Gurus, I have a requirement in which while recieving the payment from FPCJ of type postal order i am not able to enter the bank details. which are available for Cheque payments. In our system the fields to determine the bank account and bank d
-
How do i make an apple ID that can download apps But not have a credit card entered
My iphone keeps saying i must put in a credit card to download but i dont want to put in my credit card number
-
Is there a way to hook up a xbox 360 to a macbook pro?
Is there a way to hook up a xbox 360 to a macbook pro? I'm about to move to college and I don't have a tv but I want to play my xbox if its possible.
-
IOS 8 AirPrint Bug: Email printing is slow. iOS 7 works fine.
I have been troubleshooting the AirPrint bug for several days and could not find a solution for this. Whenever I print an email (even an almost blank email), it takes about 25 - 30 seconds before the print job is sent to the printer, after that the p
-
Running Web Dynpro Applications in Different Browsers
Hi, I runned an Web Dynpro Application in different browsers(Opera, Firefox and Internet Explorer). The problem is that in Firefox is running fine, but in Internet Explorer some controls are missing and in Opera I got an Error Page that say the follo