How Conditions are used in TMS
Remember condition technique from SAP ERP world, used for fetching the data by accessing tables in defined sequence. The conditions in Transportation Management system (TMS) is not based on the condition technique as used in SAP ERP. This blog introduce how conditions are used in TMS.
In Transportation Management System (TMS) the condition is a proposition on which another proposition depends; or what data to be fetched based on the filters and selection. There are no tables, access sequence, or procedure to define, rather SAP had provided predefined conditions and one can assign or set selection filters to fetch or determine a certain value. A condition maps input values to output values and can consist of single Boolean value that can be used to select business object or output may comprise several output values derived from the input values based on the decision-making.
SAP had provided set of predefined conditions to automatically determine organizational units in ordering, planning, and purchasing and creating own or copying the existing condition does not allow rule based findings of organizational units.
However generic conditions can be defined and maintained by the users. SAP provides default data access definitions** and assignments of data access definitions to condition type, but user can add, change or delete these if required in customizing (SAP transportation managementà Basic functionà Conditions). SAP recommends if required to enhance the assignment to the default condition types and Do Not delete data access definitions from the assignment provided by SAP. After adding the assignment select the corresponding data access definitions for the input values of the assigned condition type. Use the data access definitions that are assigned by default to ensure that data access definition is available when condition is called.
Keep in mind; one must use predefined conditions for rule based findings of organizational units, e.g. /SCMTMS/SRQ_ORGUNITS (Organizational units for Shipment request) or /SCMTMS/FOR_ORGUNITS (Organizational units for Freight orders). For instance in below example we want to assign Sales org 50000635, Division 10 and Distribution channel 10 to Shipment request type ZSR1. For system to default this sales area for ZSR1 request type we can assign the values to /SCMTMS/SRQ_ORGUNITS condition.
Go to charge management and condition in user menu and define condition*.
Select the condition /SCMTMS/SRQ_ORGUNITS
- Ø Assign SRQ_TYPE to data object description field
- Ø Position is like access sequence
- Ø Assign name of BO (business object) /SCMTMS/SHIPMENTREQUEST
- Ø Name of the BO node as ROOT
- Ø BO Node field name SRQ_TYPE (shipment request type)
- Ø And then Assign the ZSR1 to field value
- Ø This condition tells system to look (determine) organization values to be picked in case of shipment request type is ZSR1
- Ø The sales area values to be picked is assigned by clicking on insert button
- Ø In input filed apply <> as constant
- Ø In output fields assign the values for Sales org, division, and distribution Channel etc.
Based on the above condition system will determine above Sales Area for ZSR1 shipment request type.
In some ways it is similar to condition technique but in other ways system is looking up values based on the business object and BO nodes. Just remember Field value and output is the master data or selection parameters defined by the user to restrict and fetch out the values.
Above condition is set to determine sales organization, division and distribution channel (50000635, 10, and 10) for shipment request type ZSR1.
The conditions are not only used for Org units’ determinations but also for freight unit building rules, definitions of incompatibilities etc. Conditions are generic filters, can steer which profiles, rules are to be applied to which objects, must be fast and less complicated. For instance do not ship water bottles in frozen truck, or do not ship Ice cream in refrigerated trucks.
Condition can directly access the business object (BO) and fetch value for instance total weight to bill and weight will be picked by direct BO access. On the other hand condition can use Business Rule Framework (BRF) where value is calculated based on the values of the BO for instance based on a transportation group a specific freight unit building rule is determined.
For instance a condition can be defined to select a particular Freight Unit building rule based on the Ship-from and Ship-to location as below.
Ship-from location: US_01_XX and Ship-to location: DE_01_XX and FU_BUILD_XX with FU ID: 72
Go to charge management and condition in user menu and define condition
Press Save and click on Click on the SHIPFROM field and maintain the value on the right hand side.
Click then on the SHIPTO field and maintain the value on the right hand side
With this condition FU Building Rule FU_BUILD_XX (ID: 72) will be used.
In similar way conditions can be used for print outputs, charge management, and to define incompatibilities for system to filter and select data based on the selection criteria.
* One must use predefined conditions for rule based findings of organizational units.
** The input values are defined by data access definition and can be selected from a set of predefined data access definition depending on the condition type selected e.g. condition type refers to shipment request the system the available fields will be from Shipment Request business object as data access definition.