BOPF Business Object Development
1. What is the BOPF?
2. Anatomy of a Business Object
Nodes
Determinations
Validations
Actions
Queries
3. BOPF enhancement framework
4. Working with the BOPF Client API
WHAT IS THE BOPF?
• The Business Object Processing Framework is an ABAP OO-based framework that provides a
set of generic services and functionalities to speed up, standardize, and modularize the
development.
• BOPF controls the application business logic as well as the data retrieval of the buffer and
persistency layer.
• The main design principles are a clear separation of the business logic and the buffering of
data .
• Clear structuring of the business logic into small parts with a clear separation of changing
and checking business logic.
Advantages
• Rapid Prototyping
• Reuse of Implementation
• Highly customizable
• Less implementation efforts
• User interface Modelling(UI5 or FBI)
BOPF Architecture
The architecture of BOPF comprises two principal areas:
• Business Application, which is the heart of the application and provides an interface
between the business data, the business logic and the end user.
• BOPF Model, where the runtime configuration parameters for each of the implemented
business objects are located.
Important transactions to note while working on BOPF
• BOBF/CONF_UI: BOPF Modeling Tool.
• /BOBF/CUST_UI: BOPF Enhancement Workbench.
• BOBT: BOPF Test Environment.
• BOB: Business Object Builder .
• BOBX: Business Object Processing Framework
• BOBF: Business Object Processing Framework(Internal Use)
Debug command we have to use for editing purpose.
Anatomy of a Business Object
Nodes
A node is a semantically related set of attributes of a business object.
Nodes can be used to define and structure your business object.
The attributes of a business object node are defined by dictionary data types.
Node artefacts
Tree representation of a business object
Determinations
An element of a business object node that describes internal changing business logic on the business
object.
It used to rigger business logic based on internal changes
There are two types of determinations: Transient and Persistent
The Below picture shows list of sample determinations are created in standard BO /SCMSTMS/TRQ
Validations
A validation is an element of a business object node that describes some internal checking business
logic on the business object.
Validations can be used to check if an action is allowed.
A validation can be used to check the consistency of a business object.
The Below picture shows list of sample validations are created in standard BO /SCMSTMS/TRQ
Action
An action is an element of a business object node that describes an operation performed on that
node.
An action can be used to allow the external triggering of business logic.
An action can only be performed with the number of instances that is configured in the cardinality of
the action.
The Below picture shows list of sample actions are created in standard BO /SCMSTMS/TRQ
Queries
Queries provide the initial point of access to business objects.
They are used by a consumer to look up business object instances that match certain search criteria.
Queries never modify any node instance data
API Overview
BOPF API can be distilled down to three main object types:
• /BOBF/IF_TRA_SERVICE_MANAGER
This interface defines the core API methods needed to interface with BO node elements.
• /BOBF/IF_TRA_TRANSACTION_MGR
This interface provides a façade around BOPF transaction managers which are used to manage
transactions.
• /BOBF/IF_FRW_CONFIGURATION
This interface provides us with access to the BOPF configuration store where all of the design-time
BO configuration metadata is stored.
SAP TM Enhancement guide link
https://help.sap.com/doc/PRODUCTION/c7dab057b713442294901f1f7cbe069d/9.5.0/en-
US/TM9xEnhancementGuide_2017.pdf