+ All Categories
Home > Documents > DBM Order Engine Cookbook

DBM Order Engine Cookbook

Date post: 07-Jul-2018
Category:
Upload: david-morales-cespede
View: 331 times
Download: 18 times
Share this document with a friend

of 60

Transcript
  • 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.


Recommended