Skip to Content

While configuring my Scenario, I came across the transactional behavior of the Business Process engine. It made it easier to track the error in any step of BPM. Also an inspirational comment by Mr. Bhavesh Kantilal, a popular contributor on SDN, to explain the transactional behavior of BPM made me take this opportunity to explain it with the help of this blog.

                            

I have taken a very basic scenario to explain this behavior.

A file is placed on ftp. It is picked by the file adapter and delivered to the receive step of BPM. It passes through different mapping logics and sent back to the ftp.

 

BPM design.

Step 1) Receive step: – abstract asynchronous interface to receive the file.

Step 2) Transformation step: – First mapping.

Step 3) Block Step: – To accumulate various BPM steps.

Step 4) Transformation step: – Second mapping.

Step 5) Transformation step: – Third mapping.

Step 6) Send step: – abstract asynchronous interface to send the file

image

 

 

The mapping for the third transformation step is shown in the figure. I have deliberately failed the salary field in the mapping so as to explain the significance of the transactional behavior of BPM.

image

 

Block start and Block End have two values i.e. New transaction and No new transaction.

In this case they are set to New transaction.

image

 

When I place the file on ftp, process instance for the BPM is generated.

Go to SXI_MONITOR to monitor the process instance. As there is an error in the salary field for third mapping, BPM fails.

image

 

In order to track the cause of the error click on PE.

Select Goto and click on List with technical details.

 

image

Here we can see that the status of Block step is red, which implies that we can track the error up to the Block. This is because the Block start is set to new transaction. In case if it was set to no new transaction the error status would have been restricted up to BPM level.

image

 

In another case I have checked the Create New Transaction for the third transformation step.

image

Again I place the file on ftp, this triggers the BPM. As there is an error in the salary field, process instance fails. In this case when you check the technical details the error status for the third transformation step is also displayed. This is because the Create new transaction for the third mapping is checked.

image

Click on the container tab and Open the Trace field in it.

image

image

 

Here you can track the error up to the field level, as we can see that it displays the field (salary) for which the error had occurred.

image

 

We have seen the advantage of the transactional behavior; the disadvantage is that it decreases the performance. This is because for each step in which the transaction is activated database is updated

 

Hence we can conclude that the transactional behavior is an optimization between monitoring and performance. Based on the criticality of the step its transaction should be activated or deactivated.

References: https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/200a4efc-f547-2a10-02bf-ada1d207d7e3

To report this post you need to login first.

6 Comments

You must be Logged on to comment or reply to a post.

  1. Bhavesh Kantilal
    Hey Milan,
    This blog was very useful.
    I left reading it until a rainy day but a BPM I was developing refused to provide me with the proper trace and then reading through this blog gave me the reason on what I had missed.

    Thanks,
    Bhavesh

    (0) 
  2. Beena Thekdi
    During the migration process problems have been reported for this blog. The blog content may look corrupt due to not supported HTML code on this platform. Please adjust the blog content manually before moving it to an official community.
    (0) 
  3. Sheetal Deshmukh
    During the migration process problems have been reported for this blog. The blog content may look corrupt due to not supported HTML code on this platform. Please adjust the blog content manually before moving it to an official community.
    (0) 
  4. srinivas kapu
    During the migration process problems have been reported for this blog. The blog content may look corrupt due to not supported HTML code on this platform. Please adjust the blog content manually before moving it to an official community.
    (0) 
  5. Tieyan Fu
    I read through all of your blogs which are very precise and straightforward with easy to understand examples. Many thanks!
    (0) 

Leave a Reply