100% found this document useful (1 vote)
63 views9 pages

Bopf

Uploaded by

srsatapathy087
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
63 views9 pages

Bopf

Uploaded by

srsatapathy087
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 9

Business Object Processing Framework(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 your development

 BOPF is also used in SAP customer development projects. It is released with


SAP Business Suite EHP5 SP11, SAP Business Suite EHP6 SP05, and SAP
Business Suite EHP7. Moreover, starting with the SAP NetWeaver 7.50
release, BOPF is available in the SAP NetWeaver standalone system - as part
of the SAP BASIS layer.

 With BOPF, you have a framework at your disposal with which you can
seamlessly integrate different components of business applications.

 When using BOPF you don’t have to care about the development of adapters
or integration layers to consume the following components .

Figure: BOPF acts as a bridging unit between various components

(Link: https://sapyard.com/bopf-for-beginners-part-1-introduction/)
Links : https://sapyard.com/bopf-for-beginners-part-1-introduction/#:~:text=Add%20Sub%20Nodes
%20of%20types,share%20your%20project%20use%20case

FOR DETERMINATION

https://blogs.sap.com/2020/12/10/determination-in-bopf/#:~:text=Step1%3ARun%20Tcode%20BOBT
%20and%20open%20your%20Business%20Object.&text=Step3%3AOnce%20you%20click
%20on,implemented%20in%20Determination%20Implementation%20Class.&text=Conclusion%3A
%20Here%20you%20can%20add,save%20it%20in%20the%20database

bopf :

BOPF (Business Object Processing Framework) is a framework for working


with the BO (Business Objects).

This framework provides tools and services for entire BO life cycle.

BOPF is also used in the development of customer projects

apart from being used in the internal development of SAP.

the main bopf application itself acts as bridging unit between the various
components.

BOR:

The Business Object Repository (BOR) is the central access point for the SAP
business object types and their BAPIs.

The BOR was originally developed for SAP Business Workflow.

BO:

Business Object in SAP Business Workflow is defined as a collection of


methods or events for an entity in business process. Few common Business
Objects in SAP system include Customer, Material, and Vendor.

With the use of Business Objects, all services are provided in the form of
executable methods.

Difference between transient layer and persistent layer in bopf?

Transient layer:

o Interactions with BOs within the BOPF are brokered through a


centralized transaction layer which handles low-level transaction
handling details such as object locking, etc.
o From the perspective of the consumer layer, interactions with the
transaction layer consist of little more than a handful of intuitive API
calls.

Persistent layer :

One of the nice things about the BOPF is that it is rather flexible at the
persistence layer. Though the end goal is normally to store BO data within
the database, the framework also supports data buffering via shared
memory as well as the definition of transient nodes and attributes that are
loaded on demand.

Though the BOPF shares certain similarities to previous business object


models (e.g. business objects defined in Transaction SWO1, GENIL, and BOL).

Persistent:

Here in persistence we use structure which stores in database and we can


fetch the data without using select statement as already select statement is
created in built and used fetch and update the data.

Transient : executed at run time only.

Types of nodes theortitcally:

1. Standard node is the node which we create for Item detail under
header as seen above.
2. Delegated node is the dependent node which we can use as per
our requirement, things like Attachment folder, Text collection can
be used in any particular node as and when required.
3. Business Object Representation Node or Cross BO node are
nodes of other BO as the name says “CROSS”. The framework is well
designed to integrate these functionalities. All we need to know is
the particular constant interface of the BO and we are well to go
which we will come to know as we work with BOPF.

Types of node entities or elements : From a modeling perspective, BOs


are made up of several different types of entities:
 Nodes. Nodes are used to model a BO's data. ...
 Actions. Actions define the services (or behavior) of a BO. ...
 Associations. ...
 Determinations. ...
 Validations. ...
 Queries.
Types of node elements?

Node element depend a own logic.

Actions ----- Actions are assigned to individual nodes within a BO. We need
to call externally to execute action.

(note : we can create actions so many as per our requirement).

Associations ---- We can define a direct and unidirectional relationship from


one BO to another.

a. Determinations --- it will trigger automatically whenever we will


change the node instance.

(note : it will execute implicitly ,no need to call explicitly )

b. Validations ---- its used to validate the fields .


 Action validation -> action validation will check whether action carried
out or not. action will execute before the action are executed.
 Consistency validation -> how determinations will trigger same only
consistency validation will trigger. Its used to check whether the node
have consistency or not.
c. Queries ---- fetching data and displaying data.
 Node attribute Query - standard queries
 Custom Query ---write our own logic in custom query.
d. Alternative Keys --
Different type of key’s in BOPF?

Key --- Key for the node

Parent Key  which node we created that have parent node …that
node have key means that’s parent key.

Root key --- Normal node key only called root key.

Types of determinations?

Transient Determination -> Modifies only transient fields or nodes .for


such determination no locking is necessary.

Persistent Determination->modifies transient and persistent fields or


nodes .here locking is necessary.

1) Predecessor and successor determination?

To specify whether a determination is a predecessor or a successor of


another determination , you define a determination dependency.

2) Determination pattern?

5 types of determination pattern,

1) Derive dependent data immediately after modification


2) Derive dependent data before saving
3) Fill transient attribute of persistent node->> whenever we give
transient structure that time we can choose this radio button.
4) Derive instance of transient subnode
5) Create property ->>To control the attributes (making fields
mandatory, read only of ui fields.)

How to create determination in bopf?

Goto bob -> create custom business object ->create root ->right click on
root ->create dermination.
Popup will appear -> click continue -> and give determination name(starting
any letter) and description->it will show implementation class name (we
need to mention starts with ‘z or y’ only ->continue -> continue->click root
check box->completed.

A business object node is a semantically related set of attributes of a


business object.

Use

Nodes can be used to define and structure your business object. The
attributes of a business object node are defined by dictionary data types.

Dependencies

Nodes can be hierarchically defined and related. Each business object has at
least one root node. Nodes are defined via compositions in a tree, but nodes
can also be related in an arbitrary structure via associations

Example

•ROOT

•ITEM ZBOPFSTUDENT_INFO
000C299CFB221EDB9BF517AD0B227D81 INFORMATION

•PARTY

perform determination:

Functionality
This method executes the determination and has access to modify node
data.

Result

The execution of the method results in the possible modification of node


data of both the determination's BO and of nodes belonging to other BOs.

Parameters

IS_CTX Imports /BOBF/S_FRW_CTX_DET

IT_KEY Imports /BOBF/T_FRW_KEY

IO_READ Imports /BOBF/IF_FRW_READ

IO_MODIFY Imports /BOBF/IF_FRW_MODIFY

EO_MESSAGE Exports /BOBF/IF_FRW_MESSAGE

ET_FAILED_KEY Exports /BOBF/T_FRW_KEY

Exceptions

/BOBF/CX_FRW

Notes

The parameter ET_FAILED_KEY must only be filled in the case of technical


errors(for example a not successful attempt to lock nodes). It cannot be used
to control the transactional behavior like the execution of succeeding
determinations

ZBOPFEMP_DETAILS EMPLOYEE DETAILS

ZBOPFSTUDENT_INFO INFORMATION

ZBOPF_NEMP EMPLOYEE DETAILS

ZNM_ASSOC2 association

ZNM_QUERY4 query def

<---REPORT TO BOPF CONN--->

ZMN_BOPF_GOODS 000C299CFB221EDB9EE87F8F33E1BC29 GOODS-->BOPF


PROGRAM
ZGOODS_BOPF -->REPORT PROGRAM

ZNBOPF_CREATION

ZLS_BOBF_ASS

https://sapcodes.com/2020/07/17/fiori-element-cds-view-with-bopf-crud/
--------->bopf cds and odata integration

bopf connection with cds and odata only works for display mode and it not
creates any entity or entity set in odata so we can't add custom fields.

Standard node is the node which we create for Item detail under header as
seen above.

Delegated node is the dependent node which we can use as per our
requirement, things like Attachment folder,

Text collection can be used in any particular node as and when required.

Business Object Representation Node or Cross BO node are nodes of other


BO as the name says “CROSS”.

The framework is well designed to integrate these functionalities. All we


need to know is the particular constant interface

of the BO and we are well to go which we will come to know as we work with
BOPF.

2nd assignment

ZMN_BOPF_API 000C299CFB221EEBA08015D171720325 BOPF CREATION

ZMN_BOPF_ASS3

BOPF APPL CRUD -------> ZMN_BOPF_API_4

ZLS_BOPF_ASS1

You might also like