Skip to Content
Author's profile photo Former Member

To implement the DBM order actions BADI’s to react in DBM order :

This Document describes how to implement the DBM order actions BADI’s to react in the DBM order.

Goto transaction  /DBM/SPRO ( For vehicle related , go for SPRO ) . Drop down the sub structure order->order control-> Execute Define Action.

/wp-content/uploads/2013/05/1_224727.jpg

Note that you can only implement already exist actions only here. Every actions will trigger in the DBM order for their respective events ( that is for multiple events, there  will be one action).

/wp-content/uploads/2013/05/2_224728.png

Consider we  want to implement the action AVAIL_CHECK. Double click it to view the action details of our particular action.

/wp-content/uploads/2013/05/3_224729.png

Execute for each ,in action details specify, for what these action should react. Either for each

Item

Order header

Job

Split header

Task

/wp-content/uploads/2013/05/4_224730.png

Commit level specifies , after which work the system should trigger the COMMIT_WORK.

Either             1. After every action

                         2. End of action

3. End of an event

4. For all events

/wp-content/uploads/2013/05/5_224731.png

Click the implementations button below to see the available implementations

/wp-content/uploads/2013/05/6_224734.png

implementations were already there for this action. One is execute and another one is for finalize. Before going to that, will discuss what these Preparation, Execution and Finalize are.

Checks , Execution and post-processing all these three are the BADI where we gonna implement our work. If we are aware of the webdynpro Enhancement techniques means( pre-exit, post-exit and overwrite exit ) , it ll be easy to understand this cases.

Consider,we are going to do a validation work before the action triggers.. we ll do it in the Checks BADI

Consider, we are gonna do a execution process tat is going to be done along with the action. We ll do it in the Execution BADI.

Consider, we are gonna do finalize process, that is after the action trigger. We ll do it in the Post-processing BADI.

It all depends on the requirement.

If you select any one of the BADI ,(im selecting Check) following screen ll appear . in which you can give the  Enh. Impl name, BADI impl. Name and the implementing class where we gonna code.

/wp-content/uploads/2013/05/7_224735.png

check step here represents , where the check should be execute.

/wp-content/uploads/2013/05/8_224737.png

In the implementing  class .

    Either you can code directly or you can use this class /DBM/CL_ORD_AX_ACFMOD  as a super class and use the method call_action_fm  to call the corresponding FM which has the code (requirement) in it like below.

/wp-content/uploads/2013/05/9_224738.png

Each order has its own instance which we call as flowerpot here.

Flowerpot is a Class /DBM/CL_ORDER which holds all the datas regarding the DBM order.

The attributes of the order instance will have three different sections under each.

      • *_DETAIL – If we created something new in our order or we are changing something in our order means, all datas ll transafer to order via this *_Detail only.
      • *_COM – It holds status quo of the order
      • *_DB – it holds data from the DB


All the order related informations will be avail in the /DBM/CL_ORDER instance itself.

Hope this helps.

Mathan R.

Assigned Tags

      1 Comment
      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member

      Thanks Mathan for valuable knowledge sharing 🙂