on 04-09-2015 5:42 PM
Hi,
I am working on a requirement where I need to call an SAP RFC (or a web service for that matter) in a loop and collect all the message responses, combine them in to and send it to another system or another BPM process.
I am completely lost as to how collect the data objects into lists something similar to the containerization operation in classic ccBPM. I can then used an n:1 operation mapping to merge the messages. However, I am struck at collecting them itself.
Any help is appreciated.
Thanks,
VJ
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
It is disabled due to just being cardinality 0 to 1 or 1 at the target of the mapping.
In ccBPM, you could easily set a container element to multiline. There is no such feature in BPM. Here, if none of the imported, suitable types has parts where you can store a multiline element, you have to define your own WSDL-based type, with the respective cardinality for a suitable part, and use that as an intermediate Data Object to store the data, until you e. g. send out the collected data, taken from this Data Object.
I think I did get it. Defined an Operation mapping with n:1 cardinality and used the input parameter as the data type for the collection data object.
Thank you guys for the help.
Closing the thread.
VJ
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Vijay,
We are running into a requirement where we nee to request a system for Pending data and then call the same system multiple time to get that data.
1st interface triggered and in response we find out that there are pending data to be picked up say 100.
2nd interface will be used to pick up max 20 and hence it needs to be called 5 times
Question is how to use the response of 1st interface and call 2nd interface and continue till all the 100 data are picked up.
Can you please suggest any solution in detail?
Regards,
Nitin Patil
Nitin,
1. Create a data object - isMore .
2. In the Output Mapping of the 1st call map the field which tells you there are more records to isMore. Assume this writes 100 (as in 100 more records)
3. Then call an Uncontrolled Merge .
4. Then create an Exclusive Choice where you have 2 options - either isMore > 0 or isMore = 0.
5. If isMore > 0 , call Automated activity to make another call to your backend and loop it back to the Uncontrolled Merge. Remember to update the isMore in the Output Mapping.
6. If isMore = 0 , call the next activity or End.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
85 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.