Professional Documents
Culture Documents
Course Objectives
Consignee the consignee is the person to whom the shipment is to be delivered to whether by
land, sea or air.
Carrier - Person or company that transports goods and is responsible physical movement of
goods and any possible loss of the goods during transport.
Module 1: TM Overview >
Transportation Scenarios
SAP TM supports following five scenarios:
Domestic Outbound Transportation.
International Outbound Transportation.
Domestic Inbound Transportation.
International Inbound Transportation.
Outsourcing Transportation
Domestic outbound is simplest of all the scenarios. It is further broken down into
following sub scenarios.
Truckload Shipments (FTL or LTL).
Intermodal (IM).
Direct Shipment.
Multi-Stop Shipments.
Pool Shipments.
Module 1: TM Overview > SAP TM
Solution
Module 1: TM Overview > Scenario
and Process Details
Module 1: TM Overview >
Transportation Process
SAP TM divides transportation process into four main categories:
Financial Settlement: Once freight orders have been executed, the next step
requires the completion of financial settlement. Integration with SAP ECC is used
for financial settlement.
Settling Freight Orders.
Settling Forwarding Orders.
Compliance Adherence to international trade and compliance in logistics.
Integration of settlement documents in ECC.
Integration of customer billing.
Module 1: TM Overview > Master
Data
To setup SAP TM we need to set up master data for various transactions. Master data
plays significant role in proper transportation planning and execution. As SAP TM is
integrated with SAP ECC, so ECC master data needs to be synchronized in and used
in TM system. Following are the basic master data maintained in TM.
Locations Production Plant, Distribution Center, Shipping Point, Stock
Transfer Point, Storage location, MRP area, Customer, Vendor, Transportation
Service Provider, Terminal, Store.
Transportation Zones and Hierarchies.
Transportation Lanes ( Routes).
Schedules.
Business Partners.
Carrier Profile.
Product (Materials transferred from ECC).
Dangerous Goods Master.
Module 1: TM Overview >
Transportation Network
Locations
Are geo-coded (longitude and latitude).
Can be assigned to transportation zones.
Can act as trans-shipment locations.
Are the nodes of the transportation network.
Trans-shipment Location It is the intermediate location used for loading and unloading of goods.
Transportation Zones It can group several locations (customers, vendors) as well as other zones. Zones can
be of several types Direct, Postal Code, Region, Mixed. We can also organize zones into hierarchies for
better planning.
Means of Transport It represents class of vehicles. It is used in connection with transportation lane.
Transportation Lanes It represents direct route between two locations for transport of freight. It can be a
direct route between two locations or a location and a transportation zone or two transportation zones.
Transportation Lanes are uni-directional, for reverse route we need to create another Lane. Further it can have
validity period.
Resources A vehicle resource represents a specific vehicle with specific dimension.
Mode of Transport - > Means of Transport -> Resource
A resource specifies the available capacity and the hours in which they can be operated.
Module 1: TM Overview > Charge
Management Master Data
BOBF Model consists of Business object representing business processes. Below are
the main Business objects:
Business Process Object (TOR/TRQ/etc).
Dependent Objects (Attachment Folder/Test Collections).
Master Data Objects (BUPA/Location/FreightAgreement/TCCS)
Meta Data Objects Not in the scope of this session.
Technical Objects Not in the scope of this session
Module 2: BOPF Architecture >
Transaction Codes
Three must know Transaction Codes for TM Developer:
Types of Nodes in BO
Standard Node
Delegated Node
Business Object Representation Node (Cross BO)
Module 2: BOPF Architecture > Object
Elements
BOBF Object model has
following main elements.
1. Associations.
2. Determinations.
3. Validations
Consistency/Action
4. Actions
5. Queries
6. Alternative Keys
7. Status Variables
8. Status Derivators
9. Status Schema
10. Attribute Value Set
Module 2: BOPF Architecture >
Associations
An association is a direct, uni-directional, binary relationship between two business
object nodes.
Associations can have parameters to filter the result of the related nodes.
Associations can only be defined between two nodes and in one defined direction.
Associations have a defined cardinality which gives information about the existence
of an association and the number of associated nodes.
Module 2: BOPF Architecture >
Determinations
A determination is an element of a Business Object node that describes internal
changing business logic on the Business Object.
A determination can be used to trigger business logic based on internal change in
state of Business Object.
A determination is only triggered if trigger nodes are assigned and instances of these
trigger nodes are changed.
Example
Read attributes from master data (for example, the product master) if the product ID
changes.
Calculate the header weight if the item weights change.
Determine status changes based on the quantity changes (see also state guard).
Module 2: BOPF Architecture >
Determinations (Creation)
Module 2: BOPF Architecture >
Determinations (Creation)
Module 2: BOPF Architecture >
Validations
A validation is an element of a business object node that describes some internal
checking business logic on the business object .
Action Validation: a validation can be used to check if an action is allowed.
Consistency Validation: a validation can be used to check the consistency of a
business object.
An action validation is carried out when an action is called before it is performed. If
some validations fail, the action is not performed for the instances where the
validation failed. Depending on the action settings, the action is not performed.
A consistency validation is only triggered if some of the trigger nodes are assigned
and instances of these trigger nodes are changed.
Example
Check if an order can be released depending on a defined time interval for release.
Check if the master data exists and is valid.
Module 2: BOPF Architecture >
Validations
Consistency Validation can be
used to provide warning / error
message and / or prevent save.
Need to populate failed key &
message class
Example
The QUERY_BY_COMPLETION_STATUS queries the outbound deliveries that have a
specific completion status. The completion status is defined as a search parameter. The query
returns the keys of all outbound deliveries that fit the given search criteria. For example, all
outbound deliveries which are not complete.
Module 2: BOPF Architecture > Alternate Key
1. An alternative key is a defined set of attributes of a business object node that is unique for each
node instance.
2. An alternative key can be used to identify a business object node. Multiple alternative keys can be
defined for a business object node.
Example
The key of the root node of the business object outbound delivery is a (non-readable) GUID. One
alternative key is the readable internal number that is also unique and identifies this node instance,
which is defined on the root node (the business object instance).
Module 2: BOPF Architecture >
Node Structure
Module 2: BOPF Architecture > Node Combined
Structure
Module 2: BOPF Architecture - Takeaway
At the completion of this chapter you should be able to: Service Manager
Method Description
QUERY Search, execute a BO query.
RETRIEVE Read data for a given set of node
instance keys.
RETRIEVE_BY_ASSOCIATION Read data via association.
DO_ACTION Execute a given action of a BO
node.
CONVERT_ALTERN_KEY Convert an alternative key to the
technical key.
MODIFY Create, change and delete BO
node instances
Module 3: BOPF Implementation >
Transaction Layer
Transaction Manager
Provides methods to save & exit, save & continue or cleanup the current transaction
Collects all changes, which are done within the current transaction(thus the
architectural layering must be strictly obeyed)
Checks, if the cross business object calls are valid at all (e.g. calling an action of
BO2 out of a check implementation of BO1 is forbidden)
Is only used by the consumer and never out of a BOPF entity implementation
Service Manager
Provides methods to access a business objects service layer methods
Can be used both by the consumer and out of a BOPF entity implementation (to
access a foreign BO)
Module 3: BOPF Implementation >
Service Manager
Service Manager Factory
Service Manager provides an object oriented interface to query BOPF business
Object.
Provides get_service_manager( iv_bo_key ) to receive a service manager instance
for a certain business object
Ensures, that there is always only one service manager instance for each business
object
Can be used both by the consumer and out of a BOPF entity implementation (to
access a foreign BO)
Module 3: BOPF Implementation >
BOPF Architecture
Module 3: BOPF Implementation >
TSM and BOPF
Module 3: BOPF Implementation >
Consumer, TSM and BOPF
Module 3: BOPF Implementation >
Query Definition
A query is a business object entity and is always assigned to a certain node, whose
instances shall be returned
The consumer is able to query either only the keys or the whole data of the resulting
node instances
Queries never modify any node instance data*
There are three types of queries:
Node Attribute Query
Custom Query
Generic Result Query
Module 3: BOPF Implementation >
How to Use Query
A business object can be accessed via a so called Service Manager. The following
coding shows how to get an instance of the service manager for e.g. the business
object TOR
Module 3: BOPF Implementation >
How to Call Query
Module 3: BOPF Implementation >
Retrieve
Retrieve is used to fetch the data for a specific node single or multiple
Below coding example shows how to retrieve the data for the Root node keys that
were found by the query. Method RETRIEVE of the service manager instance is
used.
Module 3: BOPF Implementation >
Retrieve By Association
Retrieve by Association is used to retrieve the data of another node using the
association
Below coding example shows how to retrieve the data for the Item node keys that
were found by the earlier query. Method RETRIEVE_BY_ASSOCIATION of the
service manager instance is used with the composition association from Root to Item
Module 3: BOPF Implementation >
Retrieve By Association
Retrieve By Association (XBO)
The coding example shows how to retrieve the data for the Locations stored in the
items whose Item node keys were retrieved in above code`. Again, method
RETRIEVE_BY_ASSOCIATION of the service manager instance is used with the
Cross BO association (XBO) from Item to Source Location Root that is defined on
the item node of BO TRQ: Retrieve By Association (XBO)
Module 3: BOPF Implementation >
Convert Alternate Key
Below coding example shows how to convert a list of TRQ IDs into the
corresponding Root node keys. Method CONVERT_ALTERN_KEY of the service
manager instance is used.
Module 3: BOPF Implementation > Do
Action (Standard)
Coding example shows how to start an action for a given set of TRQ instances
represented by the corresponding Root node keys. The action CONFIRM of the TRQ
Root node is called:
Module 3: BOPF Implementation > Modify
While the coding examples of the previous sub sections demonstrated how to access
BOPF business objects, we now take a look at how to create, update and delete BO
(node) instances. For these purposes, method MODIFY of the service manager is
used. To demonstrate different possibilities of the method,
Module 3: BOPF Implementation > Modify
Module 3: BOPF Implementation - Takeaway
FPM Floor Plan Manager (FPM) is a Web Dynpro ABAP application that provides a framework for developing new
Web Dynpro ABAP application interfaces consistent with SAP UI guidelines.
In SAP TM, FPM is used to design all the UI screens for the various business functionalities
Module 4: TM UI Overview > FPM and FBI
FBI FPM BOPF Integration
Module 4: TM UI Overview > Why FBI and FPM
LIST UIBB
Module 4: TM UI Overview > UIBB
TREE UIBB
Module 4: TM UI Overview > UIBB
TABBED UIBB
Module 4: TM UI Overview > BO Layer, FPM and FBI
Module 4: TM UI Overview > Identify UI Component
Lists : /BOFU/CL_FBI_GUIBB_LIST
Trees : /BOFU/CL_FBI_GUIBB
Module 4: TM UI Overview > Initial Screen
UI Structure needs a Key of type /BOBF/CONF_KEY (for internal processing) along with the necessary fields
UI Structure can have display-only fields. Such fields can be populated using mapper or view-exit classes
Module 4: TM UI Overview > View Exit Class &
Mapper Class
View Exit: Provides various functionalities for handling the UI fields hiding fields or making them read-only
Example - /SCMTMS/CL_UI_VIEWEXIT_TBO
Contains
Identification Region
Main Toolbar
Content Blocks
Wiring of Content Blocks
Other Content Areas like Initial Screen, Edit Pages etc
Method 1 :
- Launch Web Dynpro Application CUSTOMIZE_COMPONENT (Add as a short cut to your user menu)
- Provide the Component Name and Configuration ID
- Click on New and proceed
Method 2 :
- Configuration editor or customizing editor can be found via UI screen. Go to the Technical Help menu - --
context by right click in the UI.
- Click on Customizing Link
Module 4: TM UI Overview > UI Customization /
Personalization
The logic should be restricted for the specific BO and node and if necessary further transaction level value
filters
Module 4: TM UI Overview > View-Exit : Make
Field Invisible
Method /BOFU/IF_FBI_VIEW_EXITINTF_RUN~ADAPT_FIELD_PROPERTIES can be used to achieve this
functionality
The logic should be restricted for the specific BO and node and if necessary further transaction level value filters
Module 4: TM UI Overview > Retrieve Node Data
For most scenarios, we may need to read the single or multiple node data inside the
view-exit methods
The text for a button (action) can also be changed inside the method
/BOFU/IF_FBI_VIEW_EXITINTF_RUN~ADAPT_ACTION_PROPERTIES
Module 4: TM UI Overview > View-Exit : Event
Handling
Method /BOFU/IF_FBI_VIEW_EXITINTF_RUN~ADAPT_EVENT can be used to handle action
specific validations or making calls to new transactions
The current event is checked via parameter iv_eventid
Method
/BOFU/IF_FBI_VIEW_EXITINTF_RUN~ADAPT_NEEDS_CONFIRMATION can
be used to provide confirmation popup on clicking any action.