Date post: | 07-Jul-2018 |
Category: |
Documents |
Upload: | david-morales-cespede |
View: | 331 times |
Download: | 18 times |
of 60
8/18/2019 DBM Order Engine Cookbook
1/60
Dealer BusinessManagement
Order Engine
Customizing and Configuration of DBM Order Engine
Date: September 2007
Release: DBM 6.00, SP02
8/18/2019 DBM Order Engine Cookbook
2/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 2 of 60
Icons in Body Text
Icon Meaning
Caution
Example
Note
Recommendation
Syntax
Additional icons are used in SAP Library documentation to help you identify different types
of information at a glance. For more information, see Help on Help General InformationClasses and Information Classes for Business Information Warehouse on the first page of any version of SAP Library.
Typographic Conventions
Type Style Description
Example text Words or characters quoted from the screen. These include fieldnames, screen titles, pushbuttons labels, menu names, menu paths,and menu options.
Cross-references to other documentation.
Example text Emphasized words or phrases in body text, graphic titles, and tabletitles.
EXAMPLE TEXT Technical names of system objects. These include report names,program names, transaction codes, table names, and key concepts of aprogramming language when they are surrounded by body text, for example, SELECT and INCLUDE.
Exampl e t ext Output on the screen. This includes file and directory names and their paths, messages, names of variables and parameters, source text, and
names of installation, upgrade and database tools.Example text Exact user entry. These are words or characters that you enter in the
system exactly as they appear in the documentation.
Variable user entry. Angle brackets indicate that you replace thesewords and characters with appropriate entries to make entries in thesystem.
EXAMPLE TEXT Keys on the keyboard, for example, F2 or ENTER.
8/18/2019 DBM Order Engine Cookbook
3/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 3 of 60
Table of Contents
1 INTRODUCTION..................................................................................................................5
1.1 PURPOSE OF THE DOCUMENT .........................................................................................51.2 OVERVIEW ......................................................................................................................5
2 CUSTOMIZING OF THE EVENTS AND ACTIONS..........................................................8
2.1 CUSTOMIZING - OVERVIEW .............................................................................................82.2 DEFINE EVENTS ..............................................................................................................9
2.2.1 Event Customizing ..............................................................................................102.2.1.1 Event........................................................................................................................102.2.1.2 Description...............................................................................................................102.2.1.3 Access Sequence ...................................................................................................10
2.2.1.4 Selection Level........................................................................................................102.2.1.5 Selection Dialog Box...............................................................................................112.2.1.6 Delete Selection Flag .............................................................................................16
2.2.1.7 Event Mode Control................................................................................................162.2.1.8 Event Automatic Save ............................................................................................162.2.1.9 Usage on Screen ....................................................................................................172.2.1.10 Event Exit Flag ........................................................................................................202.2.1.11 System Event Flag..................................................................................................202.2.1.12 Tools on Event level ...............................................................................................21
2.2.2 Subsequent Event Customizing.........................................................................222.3 DEFINE ACTIONS...........................................................................................................24
2.3.1 Action Customizing .............................................................................................26 2.3.1.1 Action .......................................................................................................................26
2.3.1.2 Description...............................................................................................................262.3.1.3 Execution Level.......................................................................................................262.3.1.4 Update .....................................................................................................................272.3.1.5 Commit Level ..........................................................................................................272.3.1.6 System Action Flag.................................................................................................302.3.1.7 Dialog Flag ..............................................................................................................302.3.1.8 Status ID..................................................................................................................302.3.1.9 Status Cancellation Flag ........................................................................................302.3.1.10 Document Flow Flag...............................................................................................302.3.1.11 Document Flow Object Type..................................................................................302.3.1.12 Document Flow Sequence Number .......................................................................342.3.1.13 Action BAdI – Preparation......................................................................................352.3.1.14 Action BAdI – Execution.........................................................................................37
2.3.1.15 Action BAdI – Finalize ............................................................................................402.3.2 Action Status Customizing .................................................................................44
2.4 DEFINE T ABLE OF CRITERIA ..........................................................................................462.5 DEFINE ACCESS SEQUENCES .......................................................................................482.6 DEFINE ACTION CONTROL ............................................................................................492.7 DEFINE PROCEDURE FOR ORDER STATUS....................................................................532.8 ASSIGN PROCEDURE FOR ORDER STATUS....................................................................542.9 DEFINE SCHEMA FOR MESSAGE SUBSTITUTION ............................................................542.10 VMS INTEGRATION .......................................................................................................572.11 DBM VERSIONIZER.......................................................................................................58
8/18/2019 DBM Order Engine Cookbook
4/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 4 of 60
8/18/2019 DBM Order Engine Cookbook
5/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 5 of 60
1 Introduction
1.1 Purpose of the document
As a Dealer Management System, this component (DBM) supports the industry-specificsales and service processes of dealers and dealer organizations, as well as vehicleimporters, authorized dealers, and OEM vendors. This includes handling of new and usedvehicles sales, vehicle service, and parts management.
The component is distinguished by its multi-brand capability as well as its ability to managedifferent locations, customer-specific settings with regard to language and country, such as
currency and taxes, mean that it can be deployed worldwide.
The component supports the integration of processes between the dealer and the OriginalEquipment Manufacturer (OEM) within a vehicle order (vertical integration). Furthermore, italso supports horizontal integration between dealers. For example, members of dealer organizations can obtain an overview of the parts and vehicles in stock for the entire dealer organization.
As a dealer, you can manage an order from its creation, through its completion, and rightdown to its billing phase. Order Engine enables processes to be modeled flexibly. In thisway, you can meet different requirements that arise from the OEM or due to the size of acompany.
This document provides you with a description of the Order Engine concept in Dealer
Business Management (DBM) solution.The target audience of this document is implementation consultants. It describes in detailhow the customer business process can be mapped in the DBM solution using events andactions.
For reasons of simplicity, we use the term dealer throughout this document. According to context, this term can refer to the car dealer or dealer organizations,vehicle importers, authorized dealers, or OEM-dedicated vendors.
We also use the term, DBM Order , to refer to orders of all types, such as, Service
Order, Vehicle Order or Parts Order.
1.2 Overview
The Order Engine concept is new and used flexibly in DBM solution. It dealers to controltheir business processes based on different criteria like Control Code, Order Type, ItemCategory, etc.
8/18/2019 DBM Order Engine Cookbook
6/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 6 of 60
The Order Engine concept uses the Events and Actions to control the business processes.The criteria technique is used to determine actions for an event in a highly flexible manner.We describe the criteria technique in detail in subsequent sections.
EVENTS
An event refers to a business process step or representation of multiple process steps.
An event is triggered directly by the user, an external interface, or indirectly, for example,when creating a new order, adding new items to an order, or performing other businesssteps.
An event can determine one or more actions.
If the user triggers an event, the Order Engine is called and it executes the determinedorder actions in the sequence defined in Order Engine Customizing.
ACTIONS
An action refers to a self-contained business transaction. At the end of an order action, thesystem can, for example, trigger an update, set the status, include a new document todocument flow, etc.
The actions can be classified into two groups:
- Business actions that create a dependant document and set a status
- Order actions that control and change the order
Each action results in an implementation where the business logic is implemented.
The link between events and actions is set in the Order Engine ‘Action Control’customizing. For more information, see section 2.4.
8/18/2019 DBM Order Engine Cookbook
7/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 7 of 60
The graphic below depicts the operational flow of the Order Engine.
ORDER ENGINE
8/18/2019 DBM Order Engine Cookbook
8/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 8 of 60
2 Customizing of the Events and Actions
2.1 Customizing - Overview
As mentioned above, events and actions trigger the operations flow of the Order Engine.To enable the customer to exploit the full flexibility and power of the Order Engine, DBMprovides the possibility to customize the events, actions and the sequence in which theyare executed.
To define the settings for the Order Engine in Customizing, choose Logistics Execution
Dealer Business Management (DBM) Order Order Control.
Based on your business process, you can configure the Order Engine using the followingsettings under Order Control:
Define Events
Define Action Control
Define Procedure for Order Status
Assign Procedure for Order Status
Define Schema for Message Substitution
Enhancements
Further, under Enhancements, you can use the use the following settings:
Define Status ID
Define Action
BAdI: Action Preparation
BAdI: Action Execution
BAdI: Action Post-Processing
Define Table of Criteria
Define Access Sequence
You link VMS actions to a DBM action via Order Control VMS Extension. In Customizing,
choose Order Control Order Control VMS Extensions and configure the followingsettings:
Define Table of Criteria for Order Control - VMS Action Determination
Define Access Sequence for VMS Action Determination
Define VMS Action Control from Order Action
In addition, you can find the following configuration tools by choosing Order Control Order Control Tools in Customizing:
8/18/2019 DBM Order Engine Cookbook
9/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 9 of 60
Order Engine Version Generator
Order Engine Version Analysis
Order Control Customizing Checks
For a detailed description of the settings, see the respective sub-section under Customizing.
The description of customizing settings in this document differs in sequence thanthat you will find in the IMG.
2.2 Define Events
In this IMG activity, the Events are defined as a first step. An Event is a business processstep which is triggered by a user or an external Interface working on the DBM Order. Anexample of an Event would be: Creation of a New Order; Adding a New Item, and so on.
System events play a particularly important role.
System events must not be changed in any way, as this may have unexpectedconsequences. For example, if a System Event is deleted, the associated program
might terminate. System Events cannot be replaced. Enhancements are possible,such as, additional actions or subsequent events.
To configure settings for Order Engine Events, choose Logistics Execution Dealer
Business Management (DBM) Order Order Control Define Events in Customizing.
In customizing for Events, all defined Events are displayed. To view further details, selectan Event and then click Detail or, double-click on an Event.
In the Display View “Events”: Details screen, you can maintain customizing in the following
areas:
In the application screen area where it is possible to maintain information on theevent itself, such as, Event name, Event description, Selection level, and so on
In the structure under Subsequent Event where you can add, modify, or both,subsequent events and specify their sequence of execution
8/18/2019 DBM Order Engine Cookbook
10/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 10 of 60
2.2.1 Event Customizing
This section describes each element of the Event ‘Details’ in detail and its influence uponthe Order Engine.
2.2.1.1 Event
Event – the name of the event must be unique.
2.2.1.2 Description
Description – free text that best describes the event. It should be maintained in all the usedlanguages.
2.2.1.3 Access Sequence Access Sequence controls which criteria tables should be read, and in which sequence,when the event is triggered. Based on criteria tables the Order Engine determines whichactions are assigned to the event (for more information, see the section under Define Access Sequence).
2.2.1.4 Selection Level
Selection level defines the level in the Order’s object hierarchy at which the selection ismade before execution of the event.
8/18/2019 DBM Order Engine Cookbook
11/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 11 of 60
This field is used by the Order Engine in conjunction with the Selection Dialog Box (EventCustomizing). For an event, it is defined on the level the selection must be done. Based onthe selection level, the Order Engine flags the right entries and executes the event.
Possible entries, for the flag selection level, are:
0 – Header
1 – Job
2 – Item
3 – Split Header
4 - Split Header and Job
7 – Task
The levels described here are the standard selection levels delivered by SAP. These
selection levels cover most business processes. To cover customer-specific businessprocesses that cannot be mapped by the standard selection levels, we offer anenhancement concept via BADI implementation. You can then redefine your selectionlevels. See the example above.
2.2.1.5 Select ion Dialog Box
Selection Dialog Box– controls the Order Engine in order to display or not a selectiondialog window. This field is used in conjunction with the Selection Level (EventCustomizing).
If the flag is set to Never Display, ‘3 - Never Display - Select All If No
Selection Is Made’ or ‘4 - Never Display - Select all Always then no
selection dialog window will be displayed.
If the flag is set to ‘1 - If No Selection Is Made or ‘2 - Always Display then
a selection dialog window is displayed with the entry/entries you defined on Selection Level(Event Customizing).
Possibility to redefinethe logic for selection
8/18/2019 DBM Order Engine Cookbook
12/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 12 of 60
Possible entries, for the flag dialog box, are:
Never Display – The selection of the entry/entries must be done in the DBMorder itself according to the Customizing for Selection Level (Event Customizing). If
the user doesn’t select any entry, the Order Engine will display a message and theaction will be stopped.
For the event “GDSMVT_CREATE” the Selection Level is Item , then the user
must select the items that should be posted in DBM Order (on the Item tab page,you must select the item(s) in the ALV grid), otherwise no item is selected and amessage is displayed.
1 If No Selection Is Made – the selection can be done in the DBM order
according to the Selection Level (Event Customizing) and then no selection dialogwindow will appear. If you do not select any entry in the DBM order a selectiondialog window will appear and then you must select the entry/entries.
1. Select the item(s)
2. Execute Event for theselected item(s)
8/18/2019 DBM Order Engine Cookbook
13/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 13 of 60
Subsequently the Order Engine executes the action(s) assigned to the event for allthe selected items.
For the event “GDSMVT_CREATE” the Selection Level is Item , then the user can
select the items to be posted, in the DBM Order. (You can select the Items fromthe Item list). If you do not select the items in DBM, a selection dialog window willappear, populated with all items from the order. You then select those items for posting.
The user selects the itemdirect in DBM and press onbutton “Post GI”. No dialogselection is displayed andthe selected items areposted.
The user doesn’t select theitem direct in DBM and presson button “Post GI”.
A selection dialog is displayedwhere the user selects theitems. The selected item(s) areposted.
8/18/2019 DBM Order Engine Cookbook
14/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 14 of 60
2 Always Display – Independent of the Items selected in the DBM order itself,
a selection dialog window will always be displayed and the user must select theentry/entries. Subsequently the Order Engine executes the action(s) assigned tothe event for all the selected items.
For the event “GDSMVT_CREATE” the Selection Level (Event Customizing) is
Item. When the event is triggered by the user, a selection dialog appears,
populated with the Items of the order which are relevant for Goods Movement. Theuser selects the required Items for posting the Goods Movement.
3 Never Display - Select All If No Selection Is Made – The item
selection can be done inside the DBM order itself according to the Selection Level(Event Customizing). If no Items are selected in the DBM order, the Order Enginewill automatically select all of them. Subsequently, the Order Engine executes theaction(s) assigned to the event for all the selected items.
Independent of the Items selected in theDBM order itself, a selection dialog windowwill always be displayed and the user mustselect the entry/entries.
8/18/2019 DBM Order Engine Cookbook
15/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 15 of 60
For the event “GDSMVT_CREATE”, the Selection Level (Event Customizing) isItem . Items, for which Goods Movement can be posted, are selected, and then the
Event is triggered. If no items are selected, then the Order Engine pre-selects allrespective Items by default for posting Goods Issue.
4 Never Display - Select all Always – Independent of selected Items
in the DBM order itself, the Order Engine will automatically select all items.Subsequently, the Order Engine executes the action(s) assigned to the event for all the selected items.
For the event “GDSMVT_CREATE” the Selection Level (Event Customizing) is
Item. When the event is triggered by the user, independent of the selected Items
in the DBM order itself, the Order Engine will select all relevant items automaticallyfor posting Goods Issue.
The user doesn’t select the itemdirectly in the Item List and clickson “Post GI”. The order engineselects, automatically, all the items
and posts them.
The user selects the item(s)direct in Item List and clicks on
“Post GI”. No dialog selectionis displayed and the selecteditems are posted.
8/18/2019 DBM Order Engine Cookbook
16/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 16 of 60
2.2.1.6 Delete Selection Flag
Delete Selection Flag – controls the Order Engine in order to determine whether thepreviously selected entries should be reset, after the execution of the Event (andsubsequent events) is complete.
2.2.1.7 Event Mode Control
Event Mode Control – Determines which events are allowed to be triggered based on theorder state, in conjunction with the status of the order and the order activity type (display
mode, change mode)
1 Always Active – these events are always allowed (also in Display Mode)
2 Only Active in Change Mode (Status-Dependent)- these events are
allowed only in Change Mode and only if at least one status relevant actionassigned to the given event can be executed according to the Order status.
3 Always Active in Change Mode – these events are always allowed in
Change Mode
2.2.1.8 Event Automatic Save
Event Automatic Save – Controls whether the Order Engine needs to automatically save
the DBM Order before the execution of the current Event.Possible entries for the flag Event Automatic Save, are:
Do Not Save – the order is not saved before the execution of the actual event
1 Save Automatically – the order is saved first before starting the current
event
2 Save After Query – a pop-up window appears and the user must decide if
the order should be saved or not before executing the actual event. Oncancellation of the pop-up the order processing will be stopped.
Independent of the selected Items in theDBM order itself, the Order Engine will selectall of them.
8/18/2019 DBM Order Engine Cookbook
17/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 17 of 60
If a dependant business object is created with an event, the flag must be set,otherwise, inconsistencies may occur, for example, labor value added -> confirm ->leave order without save A confirmation was done for an item, that was never saved.
2.2.1.9 Usage on Screen
Event Usage on Screen – specify if the event has a corresponding control on UI.
Possible entries are:
0 Does Not Appear on the Interface – the event has no correspondingcontrol on the UI level. The event is triggered internally either by another action or by the UI through the users key stroke.
Event ITEM_CHANGE is triggered by pressing enter after selecting an item.
1 Separate Button on the Interface – the event has a corresponding
button in the Application Toolbar. In this case the event can be triggered by theuser clicking on the button. The button is shown only if the event is allowed to beexecuted (at least one action assigned to this event can be executed)
8/18/2019 DBM Order Engine Cookbook
18/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 18 of 60
Event ITEM_DELETE has its own button on UI. The button is shown in the toolbar of the ALV grid.
2 Displayed in the List of Events – the event has a corresponding
entry in the list of events container. The list is built dynamically at run time usingthis setting. In this case the event can be triggered by selecting it from the list of events.
The event create notification (NOTIF_CREATE) is shown in the list of events. Theevent is shown only if it can be executed (at least one action assigned to this event
ITEM_DELETE – own button on UI
8/18/2019 DBM Order Engine Cookbook
19/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 19 of 60
can be executed) otherwise is hidden. The Order Engine controls the displaying or hiding the event based on customizing.
3 Dynamic Button on the Interface – a button for the Event is
dynamically created in the application toolbar based on the description of the Eventbutton and icon.
If the Event can be executed (at least one action assigned to this event can beexecuted) the button is shown. The generic code is translated, based oncustomizing, to the name of the event and the Order Engine is called with theevent name as import parameter.
List of Events
8/18/2019 DBM Order Engine Cookbook
20/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 20 of 60
2.2.1.10 Event Exit Flag
Event Exit Flag – Setting this flag triggers exit of the Order after the completion of the
execution of the Event.
Example: If you set this flag for event ORD_SAVE the order maintenance transaction willbe exited after saving.
2.2.1.11 System Event Flag
System Event Flag – System Events are events which change the Order internally and aredelivered by SAP.
The flag indicates whether or not the event is a System Event. System Events play aparticularly important role.
The corresponding UI button
is shown if the event can beexecuted.
8/18/2019 DBM Order Engine Cookbook
21/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 21 of 60
System Events must not be changed, as this may have unexpected consequences.For example, if they are deleted, the associated program might terminate.
System Events cannot be replaced as these events are hard-coded in the programflow. System Events can, however, be enhanced by additional actions.
2.2.1.12 Tools on Event level
As of version DBM 6.00, SAP provides useful tools in analyzing the relationship betweenevents and actions. These tools can be grouped into three categories (each tool has acorresponding button in the event customizing screen).
Event Tree – gives a picture regarding the actions determined and subsequent
events assigned to the selected event. You can see which actions are triggered bythe selected event and for each action it shows the execution level, the statusassigned to it, status level and if a Commit should be done. With this feature yousee all relevant information regarding the event and assigned actions withoutnavigating to the action itself. You can also navigate to the implementation of the
Actions from the tree.
The event GDSMVT_CREATE has as subsequent event ORD_CLOSE and callsthe actions AVAIL_CHECK_B, GDSMVT_CREATE, GDSMVT_SYNC.
Tools on
event level
8/18/2019 DBM Order Engine Cookbook
22/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 22 of 60
Check – performs elementary checks on event level as defined in the check tool.
For example this tool checks if the event is already linked to an action or if theevent has an access sequence assigned to it.
Relevance – it gives an overview regarding the criteria fields involved in
determining the actions assigned to the event.
For the event GDSMVT_CREATE the relevant criteria fields are sales documentcategory and technical item category.
2.2.2 Subsequent Event Customizing
Each subsequent event is, in fact, an event as described in the previous section – seeEvent Customizing. The subsequent event is used if in the business process it isnecessary to execute more than one event in a single step. The subsequent events can bedefined in the Subsequent Events folder.
8/18/2019 DBM Order Engine Cookbook
23/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 23 of 60
Subsequent Events are called after the completion of an event to which they areassigned. This is not the same as in the case of a recursive event call. Here, the event“A” is called from another event “B” through an action assigned to the event “B”.
8/18/2019 DBM Order Engine Cookbook
24/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 24 of 60
2.3 Define Actions
In this IMG activity, the user defines the Actions for order control (order actions). An actiondescribes a self-contained and closed business transaction.
System actions are delivered only by SAP and change the Order internally. System actionsplay a particularly important role. They are required for critical operations of an Order, suchas, create, change, save, and so on.
System actions should not be changed or deleted. However, you can add new actions.
To configure settings for the Order Engine Action in Customizing, choose Logistics
Execution Dealer Business Management (DBM) Order Order Control
Enhancements Define Actions.
All defined actions are displayed and the user has the possibility to select the action, andclick on Details to modify the properties of the Action.
8/18/2019 DBM Order Engine Cookbook
25/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 25 of 60
Double-click on the desired action or click Details of an action. An overview screen isdisplayed in which you can view the primary properties of the Action.
The action maintenance screen consists of two specific areas for maintenance of Customizing:
The ‘Detail’ area where the user maintains the primary information regarding the Action, such as, the action name, action description, execution level, status level,and so on.
The ‘Status’ node where the Order Engine status prerequisites are maintained andthese are used to determine whether an action can be executed or not (double-click on Status in the structure).
For each action the Order Engine performs some logical steps independent of the Order Engine customizing executing the BAdI’s implementations, in the sequence defined bycreation of BAdI, in BAdI implementation layer. BAdI implementations assigned to anaction can be part of the SAP standard delivery, or, if the process requires, they can bethose of the customer’s own BAdI’s implementation (range of BAdI implementation layer 100-200).
The link between events and actions is created in Customizing under the Order Engine Action Control.
8/18/2019 DBM Order Engine Cookbook
26/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 26 of 60
2.3.1 Act ion Customizing
This chapter describes each element of an Order Engine Action, and its influence upon theOrder Engine.
The picture below illustrates the main screen of the Action Customizing.
2.3.1.1 Action
Action – the name of the action must be unique
2.3.1.2 Description
Description – free text that best describes the action. A description of an action is importantfor the action log.
2.3.1.3 Execution Level
Execution Level - controls the Order Engine to execute the Action once for the selectedlevel. The execution is done at the following levels:
1 Header Level
2 Job Level
3 Item Level
5 Split Header Level
8/18/2019 DBM Order Engine Cookbook
27/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 27 of 60
7 Task Level
The execution level influences the implementation of the Action. Therefore, a change of theexecution level is normally not possible without replacing/rewriting the BAdI implementationfor the Action since the implementation relies on the initial selected entries.
2.3.1.4 Update
The Update field provides information to the Order Engine on whether a commit should beperformed or not.
Possible entries are:
1 - Commit
2 - Commit Work and Wait
‘ ‘ No Commit
The flag is useful, for instance, if one of the BADI implementations assigned to the actioncall standard BAPI, as in such cases it would be necessary to execute a ‘Commit’. TheOrder Engine checks if the flag Update is set to Commit or Commit Work and Wait,
and if no errors occurred during any of the Action’s implementations, then the Order Enginecarries out a commit as is customized.
If the flag Update is set to No Commit the Order Engine does not commit the changes.
These changes would be committed only when a subsequent Action is customized toCommit.
If an Action requires a database update from the previous action to be completed, than youmust set COMMIT WORK AND WAIT. Example: Creation of material reservation andposting of a material document.
If a BAPI can be called more than once without commit, it is possible to choose NOCOMMIT and then commit when saving the order.
Independent of the Update flag setting, the Order Engine checks if errors occurred duringan Action execution. In the case of errors, the processing stops and error messages aredisplayed.
Commit is always carried out by the Order Engine, no commit statement is allowed in any Action implementation.
2.3.1.5 Commit LevelThe commit level controls the level on which the Order Engine commits. If the flag Updateis set to No Commit, the commit level setting is not taken into account. The commit levelensures order consistency in case actions create further standard documents. Allprocesses must be in the same LUW and the commit must be done together.
8/18/2019 DBM Order Engine Cookbook
28/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 28 of 60
Possible entries are:
After every Action – the commit will be done after each executed selected
level. Selected level is determined in conjunction with execution level for an action.
For Action “CBOOK_WORK” the execution level is item. This means that the user selects the required items on the UI and triggers the event “CBOOK_WORK”. TheOrder Engine will execute the action “CBOOK_WORK” for each selected item. TheOrder Engine will commit repeatedly after each execution of the action for the item.
1 End of an Action – the commit will be done at the end of the action. If the
execution level of the action is not header, the action is executed for all selecteditems and the commit is done at the end of the action. This commit level is useful if
a single commit is required after the action is executed for all the selected objects.
2 End of an Event – the commit will be done at the end of the event.. As
indicated above, an event can be associated with one or more actions. If the eventis associated with more than one action then the Order Engine will execute all theactions and than do a Commit, if all the actions were successfully executed.
3 After all subsequent Events – the Commit will be done after the
execution of all subsequent events.
8/18/2019 DBM Order Engine Cookbook
29/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 29 of 60
The graphic below depicts commit control of the Order Engine.
When using the setting After all subsequent Events, make sure that all actionsassigned to an event have the same commit level. The Order Engine will otherwisereturn an error message.
During external calls with NO_COMMIT all actions should have a commit level 3 if relevant for a commit.
Event
Event
…
Event
Action
Action
Act ion
Subsequent Event A
Subsequent Event B
Item 10
Item 20
Commit
Commit
Commit
Commit
Commit
Level 3
Level 1
Levelspace
Level 2
8/18/2019 DBM Order Engine Cookbook
30/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 30 of 60
2.3.1.6 System Action Flag
System actions are delivered by SAP and change the Order internally.
System Action Flag - indicates if the action is a system action or not. System actions aredelivered by SAP and play a particularly important role. They are required for criticalfunctions like order creation, changing, saving etc, for an order.
System actions should not be changed or deleted. However, you can enhance systemactions with additional execution implementations. You can also enhance systemactions by adding checks in the prepare BAdI’s implementation.
2.3.1.7 Dialog Flag
Dialog flag – indicates if the function module(s) associated with the Action are allowed tocall a screen or not. For instance RFC function modules shouldn’t be associated with anaction which has the field Dialog Flag set.
2.3.1.8 Status ID
The Status ID is the status set for the executed action. The status set by an action couldhave an influence on the execution possibility of other actions. For more information, seethe section, Action Status Customizing. For the definition of status level, see Action StatusCustomizing.
2.3.1.9 Status Cancellation Flag
Status Cancellation Flag – indicates to the Order Engine whether the Action carries out areversal of an action status. If this flag is set, then the Order Engine reverses the status of the action (set the status back to ‘A’).
Example: The action GDSMVT_CANCEL cancels the standard documents and sets thestatus GDSMVT_CREATE back to initial.
2.3.1.10 Document Flow Flag
Document Flow Flag – indicates if the action is relevant for document flow or not. If this flagis set, the Order Engine will write the document flow, based on the customizing of objecttype and sequence number. For more information, see the next section.
2.3.1.11 Document Flow Object Type
Document Flow Object Type - specifies a generic description of an object.
In the object type definition, objects are defined by specification of their components.
An object type has the following components:
8/18/2019 DBM Order Engine Cookbook
31/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 31 of 60
Basic data, such as name, creator
Key fields for uniquely identifying an object
Attributes as properties of an object
Methods with parameters and exceptions as valid activities on an object
Events for describing status changes
Implementation in the program
The Object Relationship Service creates the link between the DBM order and the standarddocument based on the Document Flow Object Type. With the link created, you can thendefine which field and structure from DBM order are associated with the standarddocument.
You can find a definition and description of the object types in the tables,/DBM/OE_DOCFLOW and /DBM/OE_DOCFLOWT, respectively.
Document flow object types delivered by SAP include:
OBJTYPE SEQ TNAME FNAME TCODE BEZEI
/DBM/ORDER 1
BKPF 1 /DBM/SPLHDR_COM DOCNUM FB03 Downpayment Request
BKPF 2 FB03 Accounting document
BUS2012 1 ME23N Pur. Order
BUS2017 1 /DBM/VBEP_COM MBLNR MB03 Goods Movement
BUS2017 2 MB03 Goods Receipt
BUS2032 1 /DBM/SPLIT_COM SDVBELN VA03 SD Order
BUS2072 1 /DBM/VBAP_COM BELNR_K_IN KSB5 Controlling Document
BUS2072 2 /DBM/SPLIT_COM BELNR_E_IN KSB5 Controlling Document
BUS2072 3 /DBM/SPLIT_COM BELNR_E_IN KSB5Cancel ControllingDocument
BUS2072 4 /DBM/SPLIT_COM DOCNUM KSB5Time ManagementControlling Document
BUS2075 1 /DBM/VBAK_COM AUFNR KO03 Internal Order
BUS2075 2 /DBM/SPLHDR_COM AUFNR_REC KO03 Internal Order
BUS2075 3 /DBM/SPLHDR_COM DOCNUM KKF3 CO Production Order
BUS2093 1 /DBM/VBEP_COM RSNUM MB23 Reservation
BUS2105 1 /DBM/VBAP_COM BANFN ME53 Purchase Requisition
BUS2222 1 /DBM/SPLIT_COM DOCNUM WTY Warranty Claim
BUS2400 1 /DBM/VBAP_COM DOCNUM /DBM/ORDER03 DBM Order
CACSDOC 1 /DBM/SPLHDR_COM DOCNUM CACSMD513 Commission Document
QMSM 1 /DBM/SPLHDR_COM DOCNUM IQS3 Notification taskVBRK 1 /DBM/SPLIT_COM DOCNUM VF03 Billing Document
VBRK 2 /DBM/SPLIT_COM DOCNUM VF03 Cancel Billing Document
VBRK 3 /DBM/SPLIT_COM DOCNUM VF03Pro Forma BillingDocument
8/18/2019 DBM Order Engine Cookbook
32/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 32 of 60
The following example of action customizing explains the Document Flow customizing for the action BILLING_CREATE (that is, create standard billing document).
When the action (BILLING_CREATE) is triggered, the Order Engine is notified that abusiness document was created during this action (the flag document flow is set). TheOrder Engine is also notified of the object type to which this document should be assigned(Object Type = VBRK).
As described in the overview section of this document, the Order Engine performs the
following steps, sequentially:
8/18/2019 DBM Order Engine Cookbook
33/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 33 of 60
The Order Engine checks if a document should be added to the Document Flow. Based onthe object type (reading the table /DBM/OE_DOCFLOW) the document number is identifiedin DBM communication structures (in our example the billing document is stored in table/dbm/split_com-docnum – see the table above).
The action which creates a document flow entry is responsible to write the relevantdocument number in the field structure defined in table /dbm/oe_docflow (in our
Calls each Action’simplementation
CALL BA DI …->EXECUTION
Check if the action canbe executed
CALL BADI …->
Determine the Actions
Get selected items
Commit
Create Document i nDocument Flow
CALL BADI …->FINALIZE
Set/Reset action st atus
CALL BA DI …->FINALIZE
8/18/2019 DBM Order Engine Cookbook
34/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 34 of 60
example the billing document is passed over the structure /dbm/split_com, fielddocnum – see the table above).
2.3.1.12 Document Flow Sequence Number
Document Flow Sequence Number – the sequence number which is assigned internally bythe system if several entries are stored for the same object type. The object type andsequence number will identify uniquely, which entry should be selected by the Order Engine when the action is triggered. In the table /DBM/OE_DOCFLOW, it is possible tohave more entries for the same object type, but pointing to different structures.
In table /DBM/OE_DOCFLOW there are two entries for the object type BUS2075 -Internal Order, once for internal order assigned to header (/DBM/VBAK_COM- AUFNR), and once for internal order assigned to split header (/DBM/SPLHDR_COM- AUFNR_REC) but with different sequence number. This results in two differentactions, respectively: INT_ORD_CREATE and INTORD_CREATE_RE. InCustomizing, these are the same object type, however, they have different sequencenumbers. Each of the actions has a different implementations and the actionimplementation itself determines which structure must be updated with the internalorder number.
2 different actions having thesame Object Type, butdifferent Sequence Number.First will update the structure/dbm/vbak_com-aufnr and thesecond will update/dbm/splhdr_com-aufnr-recwith the internal order number
The action will updatethe structure/dbm/vbak_com-aufnr with internal order number
The function module
will update thestructure/dbm/splhdr_com-aufnr_rec withinternal order
8/18/2019 DBM Order Engine Cookbook
35/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 35 of 60
2.3.1.13 Action BAdI – Preparat ion
In this IMG activity, you can create a BAdI Implementation that is executed before an order
action is executed.
As described earlier, the Order Engine performs certain steps for each action. One of thesesteps is to execute checks at the beginning of an action. If a BAdI implementation wascreated for the executed action than the method PREPARE is executed.
The customer can implement their own checks by creating a new BAdI implementation.The easiest way to create a BAdI implementation is directly in Customizing – click Checks.
The names of the new BAdI implementation and Class name must be entered, and thesystem will automatically create a new BAdI implementation and the corresponding class.The BAdI filter values are also automatically added with the Action name as a filter value.
BAdI definition /DBM/BADI_OE_ACTION_PREPARE is part of the enhancement spot/DBM/ORDER_ENGINE_IMPL and is called several times (before the event, action, andfrom the user interface).
Filter parameter CHECK_STEP defines at which step(s) an implementation is called. At thebeginning of an Action the CHECK_STEP filter value has value ‘0’.
The creation of the BAdI can be done also via BAdI builder.
Always check the DBM Order for Syntax Errors after the implementation andactivation of a BAdI.
If you create your own BAdI implementations, than you must consider the following:
Only the exception classes /DBM/CX_OE_ACTION_DENIED and/DBM/CX_OE_INTERNAL_ERROR are available at this time.
Do not run database updates in this BAdI.
Example of Prepare BAdI implementation
8/18/2019 DBM Order Engine Cookbook
36/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 36 of 60
Filter values are automatically added and can be modified manually in the BAdI builder:
CHECK_STEP = 0 AND (ACTION = ‘Action Name 1’ OR ACTION = ‘Action Name 2’)
The class was automatically created with the name entered:
In other words the Order Engine gets the BAdI implementations based on the filter valuesand for each BAdI implementation executes the method, prepare.
8/18/2019 DBM Order Engine Cookbook
37/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 37 of 60
2.3.1.14 Action BAdI – Execut ion
In this IMG activity, you can create a BAdI Implementation that is executed during an order
action.
The BAdI execution represents the action itself. Depending upon the business process, an Action could have one or more execution BAdI implementations assigned to it. The BAdIImplementation Layer determines the sequence. Any new customer BAdI implementationsare executed after standard action BAdI implementations.
There are certain standard BAdI implementations, without filter, which are executed withevery action:
/DBM/ORD_AC_EXE_VMS_BEFORE
/DBM/ORD_AC_EXE_VMS_AFTER
You can implement your own coding by creating a new BAdI implementation. The easiest
way to create a BAdI implementation is directly in Customizing – click Execution.
The creation of the BAdI can also be done via the BAdI bilder.
Always check the DBM Order for Syntax Errors after the implementation andactivation of a BAdI.
The BAdI definition /DBM/BADI_OE_ACTION_EXECUTE is part of the enhancement spot/DBM/ORDER_ENGINE_IMPL and the action name is used as a filter value.
When creating your own BAdI implementations, you must consider the following:
8/18/2019 DBM Order Engine Cookbook
38/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 38 of 60
Exception class /DBM/CX_OE_ACTION_ERROR indicates an error during actionprocessing. The processing of the event stops immediately, the message log isdisplayed, and the control returns to the user. Use the following statements totrigger the exception in an Action:
Data: lv_dummy.message eNNN into lv_dummy.io_order->bal_add_symessage( ).raise exception /dbm/cx_oe_action_error.
Exception class /DBM/CX_OE_INTERNAL_ERROR usually leads to an abort of order processing and should only be used if an unexpected program situation or data inconsistencies occur.Use the following statements to trigger the exception:
Data: lv_dummy.
message aNNN into lv_dummy.io_order->bal_add_symessage( ).raise exception /dbm/cx_oe_internal_error.
Only check for the SCLTD indicator.
Never change the SLCTD or SLCTD_EXT indicator.
If processing is successful, you should return value /DBM/CL_ORDER_ENGINE=>
C_ACTION_OK in the return parameter CV_SUCCESS. Otherwise, processingcontinues with the next subobject (for example, item). In this case no status wouldbe set, no document flow would be updated, and so on.
An Action BAdI implementation MUST NOT have a COMMIT WORK or COMMITWORK AND WAIT statements inside. The commit is done at the action level basedon the Action customizing (see subchapter 2.3.1.4 Update in Action Customizing).
The events, having assigned actions which commits, MUST NOT be calledrecursively, over Order Engine, inside other action BAdI implementation, unless thems_oe_cont r ol - no_ commi t flag is set. Not following this rule might result inserious data inconsistencies.
Use the class /DBM/CL_ORD_AX_EMPTY_ACTION in case an action sets only a
status and has no particular implementation
Example of Execution BAdI implementation
8/18/2019 DBM Order Engine Cookbook
39/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 39 of 60
Filter values are automatically added and can be modified manually in BAdI builder:
ACTION = ‘Action Name 1’ OR ACTION = ‘Action Name 2’
The class was automatically created with the name entered:
In other words, the Order Engine gets the BAdI implementations based on the filter valuesand for each BAdI implementation, executes the method execution.
8/18/2019 DBM Order Engine Cookbook
40/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 40 of 60
To support customers who have already implemented the actions over the Action functionmodules, we have provided the class /DBM/CL_ORD_AX_ACFMOD. All new Actionclasses which call the old DBM 5.00 function modules should inherit from this class andcall the method cal l _act i on_f m.
We recommend that you develop new actions directly in the method and not insidefunction modules, which will be called via class /DBM/CL_ORD_AX_ACFMOD.
2.3.1.15 Act ion BAdI – Finalize
In this IMG activity, you can create a BAdI Implementation that is executed after an order action has been executed.
Again, the Order Engine performs certain steps for each action that is successfullyexecuted. One of these steps is to add additional information at the end of an action (setstatus, write in document flow, and so on). If a finalize BAdI implementation was created for the executed action, than the method FINALIZE is executed.
8/18/2019 DBM Order Engine Cookbook
41/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 41 of 60
An action could have one or more finalize BAdI implementations assigned to it. The BAdIImplementation Layer determines the sequence. Any new customer BAdI implementationwill be executed after standard action BAdI implementation.
There are certain standard BAdI implementations, without filter, which are executed withevery action:
/DBM/ORD_AC_FIN_STATUS
/DBM/ORD_AC_FIN_DOCUMENT_FLOW
The BAdI definition /DBM/BADI_OE_ACTION_FINALIZE is part of the enhancement spot/DBM/ORDER_ENGINE_IMPL and the action name is used as a filter value.
You can implement your own checks by creating a new BAdI implementation. The easiestway to create the BAdI implementation is directly in customizing – click Post-Processing.
The creation of the BAdI can also be done via the BAdI builder.
Always check the DBM Order for Syntax Errors after the implementation andactivation of a BAdI.
The following is an example of Finalize BAdI implementation.
8/18/2019 DBM Order Engine Cookbook
42/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 42 of 60
Filter values:
ACTION = ‘Action Name 1’ OR ACTION = ‘Action Name 2’ OR ….
The finalize method will be executed if one of the illustrated actions above is triggered.
The class was automatically created with the name entered:
8/18/2019 DBM Order Engine Cookbook
43/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 43 of 60
In other words, the Order Engine gets the BAdI implementations based on the filter valuesand, for each BAdI implementation executes the method finalize.
If you create your own BAdI implementations, you must consider the following:
Only exception class /DBM/CX_OE_INTERNAL_ERROR is available at this time. Itusually leads to an abort of order processing and should only be used if anunexpected program situation or data inconsistencies occur.Use the following statements to trigger the exception:
data: lv_dummy.
message aNNN into lv_dummy.io_order->bal_add_symessage( ).raise exception /dbm/cx_oe_internal_error.
The BAdI is only processed if the action is executed successfully.
Never update any order data in this BAdI.
Status changes and document flow is updated (but not stored on the database).
The commit work may be performed afterwards.
Do not execute events in finalize implementations.
Under which circumstance should a new Action be created and when should a new Action BAdI’s implementation be added?
There is no rule for determining the best approach. Instead, we provide here in thisdocument, examples and simple cases as a guide for mapping a business process.
8/18/2019 DBM Order Engine Cookbook
44/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 44 of 60
An action describes a self-contained business transaction. We therefore recommendthat you create an individual action that covers a step in the business process.
An action BAdI implementation performs a logical operation on the order data and isnot a singular entity describing a business process unit.
If a BAdI implementation can be described as a business process, then there must bea 1:1 relation between the action and the BAdI implementations.
If several BAdI implementations, working in conjunction, describe the whole businessprocess, than create and assign all necessary Action BAdI implementations in thecorrect sequence to an action.
If a system action does not cover the customer’s business process completely, than anew Action BAdI implementation can be created and assigned to the System Action toenhance the existing process.
2.3.2 Action Status Customizing
This section describes how to control the execution of an action based on Order status.
The following Order status types are possible:
Not Relevant
A Not Edited
B Partially Processed
C Completely Processed
The Order Engine performs, among other steps, a status request. Based on the Order status, the Order Engine checks whether or not the current Action can be executed.
In other words, each Action can influence the execution of other actions based on thestatus type it sets on the Order. The status types defined in Customizing are preconditionsfor the execution of an Action.
Status level: the level at which the status object is created.
Check level: is the level determined by the Order Engine. The status check is carried outon the basis of the following check levels:
Selection level of the event
8/18/2019 DBM Order Engine Cookbook
45/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 45 of 60
Execution level of the action
Status level of the prerequisite status
How can the customizing above be read, from Order Engine’s perspective?
The action BILLING_CREATE (Create an Invoice) is executed if the statuses:
BILLING_CREATE is (Not Edited OR Partially Processed) AND CBOOK_WORK is (not relevant OR Completely Processed) AND CONFIRM is (not relevant OR Completely Processed) AND GDSMVT_CREATE is (not relevant OR Completely Processed) AND ORD_SAVE is (Completely Processed) AND RELEASE is (not relevant OR Completely Processed) AND TIMEBOOK_CONFIRM is (not relevant OR Completely Processed).
In other words, the action BILLING_CREATE can be executed if certain steps, from abusiness point of view, have already been executed. You must first execute the followingsteps, for example, before you can create an invoice for a DBM Order:
An invoice was not already created
An invoice was created for a different split-job
Labor Items are booked
Parts Items are posted (Goods Issued)
The DBM Order is confirmed
The above steps are influenced by the execution of other Actions. This gives you fullflexibility to map business processes to Order Engine Actions and thereby control their execution. For example, CBOOK_WORK action (confirm labor items) is executed if theorder was released; the RELEASE action is executed if the internal order was created;and, so on.
8/18/2019 DBM Order Engine Cookbook
46/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 46 of 60
This same algorithm applies to all preconditions.
2.4 Define Table of Criteria
In this IMG activity, it is possible to control the granularity level at which the Events and the Actions are linked. For this purpose, you can generate new tables of criteria.
We strongly recommend that you do not change the shipped tables. If you were todelete the tables, for example, the system events and actions will not work. DefineCustom criteria tables if you wish to customize table criteria.
To define the Order Engine table of criteria in Customizing, choose Logistics Execution
Dealer Business Management (DBM) Order Order Control Define Table of Criteria.
If you select add/modify table of criteria in the structure, an overview screen appears.
All defined Criteria Tables are displayed.
The order can bereleased if the internal
order was created andthe status for the actionitself is not edited ORpartially processed.
The user can confirm the labour items if the order was confirmedand the status fort he action itself is not edited OR partiallyprocessed.
Necessary steps for the first precondition CBOOK_WORK
8/18/2019 DBM Order Engine Cookbook
47/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 47 of 60
Select the required key fields from the available fields
Save the settings
In the Header view, select a condition table and choose Goto -> Details or double-clickon a criteria table.
To generate a new criteria table, choose Generate.
Choose Table Maint. Generator and enter the required data, for generation of the
table maintenance dialog
In this example the criteria table Z_OE_EVAC_VEP will be analyzed. Based on thiscustomizing it is possible to control the Order Engine to map the Actions to an Eventaccording to certain criteria.
Fields used for selection of events.
8/18/2019 DBM Order Engine Cookbook
48/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 48 of 60
2.5 Define Access Sequences
In this IMG activity, the Access Sequence for the criteria tables can be defined. The AccessSequence is the sequence in which the criteria tables are accessed to determine theactions for an event.
For this customizing, it is possible to control the sequence in which the Order Enginesearches for actions in the selected criteria tables. If no suitable entry is found in the firstcriteria table, the Order Engine checks the next criteria table and, so on. A criteria tablethat is not a part of the Access Sequence would never be accessed for any matchingentries for the criteria event.
To define the Order Engine’s access sequence in Customizing, choose Logistics Execution
Dealer Business Management (DBM) Order Order Control Enhancements Define Access Sequence.
The Access Sequence GDSM has assigned the following criteria tables:
8/18/2019 DBM Order Engine Cookbook
49/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 49 of 60
When the Event GDSMVT_CREATE is triggered, the Order Engine reads only the criteriatables assigned to the Access Sequence GDSM and determines the actions assigned tothe event; the other criteria tables are disregarded. If the One Table Flag is set the criteriatechnique stops scanning further tables as soon as a matching entry is found in a table. Inother words, the criteria technique scans the tables mentioned in the access sequence untila matching entry is found. As soon as the system finds a matching entry, it stops. If you donot set this indicator, the system scans all the tables in the access sequence.
2.6 Define Action Control
In this IMG activity, you link the Events to Actions.
To control an action by linking to an event in Customizing, choose Logistics Execution
Dealer Business Management (DBM) Order Order Control Define Action Control.
In the following, we describe how created events and actions are linked.
8/18/2019 DBM Order Engine Cookbook
50/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 50 of 60
Suppose the business process needs to have different actions assigned to the same event,the dependency being on Sales Document Category and Technical Item Category. In theexample below, the event is GDSMVT_CREATE and the assignment of the actions aredefined for the criteria table /DBM/OE_EVAC_VTI .
If possible all actions should be defined in the same table.
All determined actions of all criteria tables are used except in case the single tab flag is set.
You have the possibility to navigate between Events and Actions.
The graphic below depicts the navigation from the event GDSMVT_CREATE to all relatedactions – this is an easy way to see all actions assigned to an event, especially if theactions are in different criteria tables.
8/18/2019 DBM Order Engine Cookbook
51/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 51 of 60
In the following, we show the navigation from the action ORD_CLOSE to all related events – this is an easy way to see all events assigned to an action, especially if the events are indifferent criteria tables.
8/18/2019 DBM Order Engine Cookbook
52/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 52 of 60
8/18/2019 DBM Order Engine Cookbook
53/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 53 of 60
2.7 Define Procedure for Order Status
In this IMG activity, it is possible to define Custom order status types and also to defineconditions that control status determination.
You can freely define and calculate the order status in the DBM order based on acombination of order status types.
The following rules apply for the calculation of the order status:
The list of order status types is sorted in ascending order.
The specific order status is a candidate if its conditions are true with respect to theorder that has just been checked.
If all the conditions apply to the next order status in the list, this order statusbecomes the new candidate.
If an order status does not contain any conditions, it automatically becomes thecandidate.
The specific condition is true if the action status in the DBM order is blank, larger than or equal to the value in the condition.
If one of the conditions is false, the calculation stops and the next status ischecked.
If there is no candidate, the system sets the order status to blank.
Acti on status in order Acti on status in condit ion True or False
not processed (A) A True
not processed (A) B or C False
partly processed (B) C False
OR
Select and doubleclick
8/18/2019 DBM Order Engine Cookbook
54/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 54 of 60
completely processed (C) A, B or C True
2.8 Assign Procedure for Order Status
In this IMG activity, you define the assignment of an existing schema/ procedure to a salesorganization and plant.
Before you proceed with this activity, you must customize the procedure for order status(see Define Procedure for Order Status)
By assigning a procedure for order status you ensure that the order status of the DBMorder is calculated within the bounds of specific sales organizations and plants andaccording to the specific schema/procedure.
It is not possible to use different status schema, for example, for different order types, as allorders are displayed in the order transaction and a selection would not be possible anylonger as the same status (e.g. 1000) could have completely different meanings.
2.9 Define Schema for Message Substitution
In this IMG activity, you can define a schema for message substitution.If you do not want to use the system messages that are displayed when you executeactions, you can replace them.
SchemaSAP was previouslydefined (see Define Procedure for Order Status chapter)
8/18/2019 DBM Order Engine Cookbook
55/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 55 of 60
These are the rules for substitution entries:
The amount of parameters in messages must be equal
The message type cannot be substituted by a less important one. Allowedsubstitutions are:
o 'A' with 'A'
o 'E' with 'A' or 'E'
o 'W' with 'A', 'E' or 'W'
o 'I', 'S' with any
You can set a flag to define the importance of the message:
0 Display / Important
1 Hide / Not important
Important messages always appear in the message dialog box after the action has beencompleted.Messages that are not important are not displayed when the dialog box appears. Instead,these messages are saved to the action log. The All messages option in the dialog boxallows you to display all messages, including those less important. There is a similar optionin the action log history.
You can assign this schema to a specific order type under Define Order Type.
8/18/2019 DBM Order Engine Cookbook
56/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 56 of 60
If you do not define any substitution rules, (there is no schema or, the message is not in theschema), the system applies the following:
Message type 'A', 'E', 'W' - importance flag 0: Display / Important
Message type 'I', 'S' - importance flag 1: Hide / Not important
You can also define settings for the importance flag without message substitution.
8/18/2019 DBM Order Engine Cookbook
57/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 57 of 60
2.10 VMS Integration
Define Table of Criteria for Order Control - VMS Action Determination
In this IMG activity, you define the fields that the system uses to determine the VMS actionfor an order control action.
Define Access Sequence for VMS Action Determination
In this IMG activity, you can define the access sequence for determining a VMS action froman order action.
Define VMS Action Control from Order Action
In this IMG activity, you can define the relationship between VMS actions and order controlactions.
The Order Engine action with fields from the /dbm/oe_vmac criteria tables determine threeadditional fields: Check Action, Execute Action and a Flag for determining the time of theVMS action execution (before or after the Order Engine action execution).
If no VMS action is determined for a Check Action than no check for whether a VMS actionis allowed would be performed.
The VMS Execute Action is intended to be executed by default after the execution of theconfigured Order Engine action. If the flag for Execute before OE action is checked, thenthe Execute Action is executed before the Order Engine action.
Some VMS actions require action specific data. The BAdI which makes these dataavailable is the /DBM/BADI_VEHICLE_ACTIONS . The BAdI has the method
8/18/2019 DBM Order Engine Cookbook
58/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 58 of 60
EXECUTE_FURTHER_ACTIONS to control the contents of the DBM vehicle buffer, beforethe vehicle action is carried out. You can change the contents of the following parameters:
IV_ACTION - Action
IO_ORDER - DBM Order
IS_VLCDIAVEHI - VELO: Dialog Structure for Vehicles
CS_VLCACTDATA_HEAD - VELO: Transfer Structure for Actions (Header Data)
CS_VLCACTDATA_ITEM - VELO: Transfer Structure for Actions (Item Data)
CT_VLCADDDATA - VELO: Vehicle Additional Data
2.11 DBM Versionizer
The DBM Versionizer is a tool designed to help consultants during implementation to takesnapshots of the customizing as a version. This helps keep track of the customizingchanges made during the project and enables easy comparison with the deliveredcustomizing. For more information, see SAP note 1039310.
In short, the DBM Versionizer is the Version Management for customizing tables in DBM.The only difference is that the user needs to explicitly generate a Version as a snapshot.
The basis for using the Versionizer is the Usage. A usage could be defined as anapplication entity that groups together all the customizing tables relevant for that
application. For example, the usage OE would refer to a group of all the tables normallyreferred to as the Order Engine Customizing. A Version Generated for this usage wouldtake a snap shot of all the tables for this usage, and store this in an XML format. This datacan be re-read in the future. For more information on other Usages, see SAP note1039310.
In Customizing, choose Logistics Execution Dealer Business Management
Order Order Control Tools Order Engine Version Generator .
An Application Version (snapshot of the current customizing) is generated is takenby executing the report /DBM/VT_VERSION_GENERATE. The only selectioncriterion for the Version Generation is the usage for which the version generation isrequired.
The Application Version generated is specific to the user, and is not accessible for the other users.
In Customizing, choose Logistics Execution Dealer Business Management
Order Order Control Tools Order Engine Version Analysis.
The Version Analyzer, henceforth referred to as the Versionizer, provides all thefeatures referred to earlier, and remains the point from where all the versions areaccessed and can be compared.The Versionizer is mainly used for comparing two different Versions. TheseVersions are referred to as the ‘Reference Version’ and the ‘Comparison Version’.
8/18/2019 DBM Order Engine Cookbook
59/60
SAP®
© 2007 SAP AG Title: DBM Order Engine
Version: 1.0
Date: September 2007
Page 59 of 60
All delta information is provided in the direction of Reference to Comparisonversions. That is, an entry in the Reference Version that is missing in theComparison Version, is shown as a deleted entry (red) in the reference versiondisplay. Vice-Versa, an entry in the Comparison Version that is missing in theReference Version, is shown as a new entry (green) in the comparison versiondisplay.
Below is a screenshot of the Version Analyzer.
8/18/2019 DBM Order Engine Cookbook
60/60
SAP®
Features available in the Versioni zer
• Display of a certain version - It is possible to access the various version types byselecting the Version Type and the Version Number.
• Comparison between two Versions – As explained earlier, the Version Analyzer canbe used to compare two different versions.
• Logs – The Versionizer displays exception messages for all the differences betweenthe loaded versions. This can be accessed through the button ‘Display Logs’.
• Sync-Navigation- To enable ease in comparing tables, a synchronized navigation isprovided that can be used for scrolling both the reference and the comparisonversion together, both horizontally or Vertically.
• Filter – Among all the tables in the usage, it is possible to filter the display, with onlythose tables that have different table contents. This can be done via the check-box‘Filter On: Only tables with different contents’
• Customizing – It is possible to find the navigation path to a certain customizing table,via the button ‘Find Customizing’.
• Quick Filter – A Quick filter is provided, that can be used to control the display of thetable entries when comparing two versions. This can be used to control whether todisplay Identical Entries or Changed Entries or New/Deleted Entries.
• Activation – Some usages allow activation of a certain version for a user. This isenabled for the usage ‘OE’ currently. Activation of a certain version would then
enable the user to use that Version’s customizing while using the DBM Order. Thecurrent customizing of the client would then be ignored. Activation of a Version isdone by selecting the Version as a reference Version and then clicking on the‘Activate’ button. This can be used for instance to check if a certain symptom isdue to recent change in the customizing, by activating the customizing from aprevious version (taken before the customizing changes were made). A Versiononce activated should be deactivated subsequently by the ‘Deactivate’ button.
• XML Display – All the generated version snapshots are stored in an XML format. Allthe version, therefore, are enabled to be displayed in an XML format. This can bedone by the checkbox ‘Display as XML’. From the XML display mode, it is possibleto download the table contents in an XML format, onto a local text file.