Forum Stats

  • 3,769,308 Users
  • 2,252,946 Discussions
  • 7,874,982 Comments

Discussions

How to Insert Multiple rows in database from Oracle Bpm human Task

Hi Community,

I am new to Oracle BPM. I have just finished my first process where I take data from a Human task and Insert it to Database using a Web service.
How do i create a Business Object which can take multiple rows as Input. Basically I want to repeat the same section multiple times.
Then Insert each section a individual rows in database.

Please suggest how to proceed here. Also keep in mind i am using a web service o insert my data to database.
Please point to any article or documentation .

Regards
Dibyajit Roy

Answers

  • Martien van den Akker
    Martien van den Akker Member Posts: 2,776 Bronze Crown
    edited May 6, 2019 3:04AM

    Hi,

    First off all: one of the performance recommendations is not to transfer much data throughout BPM process. Mitigate the amount of data in your process to preferably only primary keys of the entities.

    Doing so, your task then should preferably only get the primary key of the entity as input data, and then have the from (when impemented in ADF) fetch all the necessary data from  the database. Then you can also update the data in the same form.

    But when you do want to have the Form take in the data and have the service (Database adapter?), called from BPM process,  do the insert, you should have a task payload based on an xsd with the rows as a repetative element (maxOccurs=unbounded). If you generate the form in ADF, you would get a table on those rows.

    Then in BPM you can traverse the rows in the array. But you can also supply multiple rows to the database adapter, as a collection. You would need to do a transformation from the output of the task into the input of the service. You can use XSLT for that.

    Regards,
    Martien