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.
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).
Consider we want to implement the action AVAIL_CHECK. Double click it to view the action details of our particular action.
Execute for each ,in action details specify, for what these action should react. Either for each
Item
Order header
Job
Split header
Task
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
Click the implementations button below to see the available implementations
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.
check step here represents , where the check should be execute.
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.
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.
Thanks Mathan for valuable knowledge sharing 🙂