BOPF New Framework for Developers



Comments



Description

WIPRO TECHNOLOGIESBOPF SAP New Framework for Developers: An introduction Arpit Kumar Agarwal 2/17/2015 ...........................................9 Query………........................…………………...........…………………………………………………….…………………………………………….......................................…………………………………………………….....................………………….………………….………………………………………………........10 BOPF Enhancement Framework…….............................................4 Actions……………………………………………………………....2 BOPF Transaction Model.7 Determinations……………………………………………….................…………………..8 Validations………………………………………………………..........4 Business Object Model………………………....…………………………………………….........……………………………………………….....................……………12 Reference………………………………………………………........................6 Association…………………………………………………………………………………………………………………………….....................………………………………………………..........3 BOPF T-Codes…………....……………………………………………11 BOPF Integration………………………………………………………………………………………………………………….............................................................4 Nodes/Subnodes……………………………………………………………...............……………...........…………………........................................…………………………………………………….....................2 BOPF Architecture ...............13 Arpit Kumar Agarwal | Wipro Technologies Page 1 ........……………………………………………………………………………………………...........................................BOPF Table of Contents: Introduction................ This is as a result of developers not understanding how to access the data. this is all about the business objects (BO) modeling which provides the tool and services to model a business object cycle. Now it is released with SAP Business Suite EHP5 SP11.).From the perspective of the consumer layer. This is complete OO-based framework.). etc. etc. PPF etc. SAP Business Suite EHP6 SP05. Business data is modeled consistently in BO nodes and attributes. it can be difficult to enforce best practices and ensure that each developer accesses the object data properly. BOPF BOs will be consumed by UI applications such as WDA applications. We are already familiar with some BO frameworks (defined in Transaction SWO1. interactions with the transaction layer consist of little more than a handful of intuitive API calls. with FPM. BOPF Model The core of the BOPF functionality lies within the BOPF runtime. Arpit Kumar Agarwal | Wipro Technologies Page 2 . we get the whole application infrastructure and integration of various components (i.we can standardize. etc. Earlier this was not available for customer development. navigating BO associations. BOPF is not a new framework. Here. Transportation Management (TM). Health and Safety (EH&S). Environment. In a typical complex object we have a large ABAP team and the tasks are distributed among all the developers. Frequently. Behaviors are defined as actions. Within the BOPF. modularize and save our time during the development. SAPUI5. BOL etc. Workflow. Transaction Layer Interactions with BOs within the BOPF are brokered through a centralized transaction layer which handles low-level transaction handling details such as object locking.BOPF Introduction BOPF stands for business Object Processing Framework. Triggers can be defined using determinations. Using BOPF. The relationships between BOs are defined statically via associations.e. and so on. Validations are performed automatically via validation modules. BOPF also shares some similarities with these models but more evolved. BOPF Architecture Consumer The consumer is implemented as a user interface or an autonomous process participant. it is broadly used in multiple SAP applications and products i. As the name implies. and SAP Business Suite EHP7 and available to customers for their own development. but still very few. everything has its place. In short. Using this framework’s generic services and functionalities. In fact. This allows us to rapidly build applications on a stable and customer-proved infrastructure. trigger their functionality. BRF+. there's no overarching object model which ensures that business objects are accessed consistently.e. the BOPF runtime utilizes the BOPF model definitions created at design time as metadata for instantiating BO instances. This layer contains all of the functionality required to instantiate BOs. navigating BO associations. A process usually consists of multiple transactions executed in succession. the framework also supports data buffering via shared memory as well as the definition of transient nodes and attributes that are loaded on demand. which are explained below: Arpit Kumar Agarwal | Wipro Technologies Page 3 . the executed transactions are divided into several phases. After the action has been executed.BOPF BO Runtime & Application The core of the BOPF functionality lies within the BOPF runtime. All changes that are made during a transaction must either be cleaned up or saved as a complete unit. etc. The BOPF runtime utilizes the BOPF model definitions created at design time as metadata for instantiating BO instances. and so on. Buffer and Database 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. This layer contains all of the functionality required to instantiate BOs. the BO runtime instantiates and invokes its implementing class and hands over the control to the implementation class. BOPF Transaction Model You can divide information processing into indivisible units called transactions. trigger their functionality. BOPF collects the result and returns it to the consumer. The following figure illustrates the phases. if the consumer calls the DO_ACTION core service. For example. In the Business Object Processing Framework (BOPF) transaction model. These are arranged hierarchically to model the various dimensions of the BO data and organized underneath a single root node (much like XML). These types of nodes Arpit Kumar Agarwal | Wipro Technologies Page 4 .g. It is also possible to define transient nodes whose contents are loaded on demand at runtime.There are several different node types supported by the BOPF.BOPF Interaction Phase Save Phase Cleanup Phase Finalization Check Before Save Save BOPF Important T-codes BOB: Business Object Builder /BOBF/CONF_UI: Business Object Configuration BOPF_EWB: Enhancement workbench /BOBF/TEST_UI: Test Business Object Business Object Model • Nodes/Subnodes Nodes are basic key of the BO. The hierarchy can be nested arbitrarily deep depending upon business requirements.most of the time we will beworking with persistent nodes (e. However. nodes which are backed by the database). Persistent attributes represent those attributes that will be persisted whenever the BO is saved.Therefore a node's attributes aredefined in terms of structure definitions from the ABAP Dictionary.Transient attributes are volatile attributes which are loaded on demand.BOPF can come in handy whenever we want to bridge some alternative persistence model (e. Arpit Kumar Agarwal | Wipro Technologies Page 5 . data obtained via service calls). one. Each node consists of one or more attributes which describe the type of data stored within the node. or many rows like the concept ofcontroller contexts with the Web Dynpro programming model. a BO node is like a container which may have zero. At runtime.g.Attributes come in two distinct varieties: persistent attributes and transient attributes. validate etc.) Arpit Kumar Agarwal | Wipro Technologies Page 6 . The functionality provided by an action is defined in terms of an ABAP Objects class that implements the /BOBF/IF_FRW_ACTION interface.BOPF • Actions Actions define the services (or behavior) of a BO and assigned to individual nodes within a BO. In the below screenshot we have SAP defined action category. Functioning of actions is more similar to the methods of an ABAP Objects class. save.e. Implement the class if you want to add actions other than standard (i. the product assignments for sales order items is defined in terms of an association with a product BO called /BOBF/DEMO_PRODUCT.BOPF • Associations Though BOs are designed to be self-contained. we can define a direct and unidirectional relationship from one BO to another. Arpit Kumar Agarwal | Wipro Technologies Page 7 . they do not have to exist in isolation. autonomous entities. etc. Here. This composition technique makes it possible to not only leverage the product BOs data model. but also its behaviors. With associations. These conditions are described in terms of a series of patterns. right click on the INIT_ITEM_FIELDS and select ‘Guided Procedure’. "Derive dependent data immediately after modification" or "Derive dependent data before saving" etc. they are functions that are triggered whenever certain triggering conditions are fulfilled. a determination "is an element assigned to a business object node that describes internal changing business logic on the business object".e. determinations are analogous to database triggers. i.BOPF • Determinations According to the aforementioned BOPF enhancement guide. In some respects. In other words. Arpit Kumar Agarwal | Wipro Technologies Page 8 . To get the above screen. • Validations As the name suggests. this node is used to check internal business logic on the business object.BOPF The logic within a determination is defined via an ABAP Objects class that implements the /BOBF/IF_FRW_DETERMINATION interface.Validations come in two distinct forms: o Action Validations:Action validations are used to determine whether or not a particular action can be executed against a BO node. Arpit Kumar Agarwal | Wipro Technologies Page 9 . If the trigger condition is fulfilled. Query Queries are BO node entities which allow us to search for BOs using various types of search criteria.Queries make it possible for consumers to access BOs without knowing the BO key up front. Such validations are called at pre-defined points within the BOPF BO transaction cycle to ensure that BO nodes are persisted in a consistent state. ID = '12345'). the consistency validation is executed.BOPF • o Consistency Validations: As the name suggests. Queries come in two varieties: o Node Attribute Queries: Node attribute queries are modeled queries whose logic is defined within the BOPF runtime. Each consistency validation configuration contains a trigger condition that is checked by Business Object Processing Framework (BOPF) at several time points during the transaction. a consistency validation behaves in one of the following ways:  Sending messages to the consumer  Sending messages to the consumer and preventing the transaction from being saved until the inconsistency is corrected  Sending messages to the consumer and changing a consistency status variable o The validation logic is encapsulated within an ABAP Objects class that implements the /BOBF/IF_FRW_VALIDATION interface.Queries also integrate quite nicely with search frameworks. consistency validations are used to ensure that a BO node is consistent. If there are inconsistent node instances. Arpit Kumar Agarwal | Wipro Technologies Page 10 . These simple queries can be used whenever you simply need to search for BO nodes by their attributes (e.g. or delete enhancements of business objects in BOPF.BOPF o Custom Queries: Custom queries allow you define your own query logic by plugging in an ABAP Objects class that implements the /BOBF/IF_FRW_QUERY interface. Arpit Kumar Agarwal | Wipro Technologies Page 11 . and BOPF enhancements themselves. At the design time. a base object can be enhanced by more than one enhancement. BOPF Enhancement framework The BOPF Enhancement Workbench is an application that allows you to enhance existing business objects in a business object processing framework (BOPF). These enhancements can also have additional enhancements. All enhancements of one base object build up a tree hierarchy. change. You can use the BOPF Enhancement Workbench to create. We have some integration with BOPF to get the backend data. known as GBI: Gateway BOPF Integration. • SAPUI5:SAPUI5 is designed for building lightweight UIs for casual use. • Floor Plan Manager (FPM):FPM is implemented as a Web Dynpro component and can be easily integrated with BOPF. Arpit Kumar Agarwal | Wipro Technologies Page 12 . • Gateway (OData):SAP NetWeaver Gateway enables you to create and maintain data for consumption by the web (HTML5) and mobile devices (iPhone and Blackberry). Below are some such components: • Dynpro:BOPF provides a standard interface for consumption by the classic Dynpro UI.BOPF An enhancement can only extend entities that are located in a base object and that are defined as extensible. You can extend nodes with the following additional entities: • • • • • Subnodes Attributes Determinations Actions Consistency validation You can extend actions with the following additional entities: • Action validations o Pre action enhancement o Post action enhancement BOPF Integration We can integrate different components of business applications with BOPF. When using BOPF we don’t have to care about the development of adapters or integration layers. BOPF provides configurable and codeless integration of FPM and enables you to seamlessly consume the services of BOPF Business Objects in a modification-free environment. commonly known as FBI: FPM BOPF Integration.The BOPF integration of the Gateway is based on REpresentational State Transfer (REST) and OData standards. ht m 2. It provides a comprehensive API and user interface for defining and processing business rules and expressions.com/community/abap/bopf Arpit Kumar Agarwal | Wipro Technologies Page 13 . BOPF provides adapters for BOL and GenIL integration. With a BOPF-specific expression type. http://help.sap.BOPF • Business Object Layer & GenIL:The Business Object Layer (BOL) provides a generic API for accessing business data.sap. Reference 1. • Post Processing Workflow:With BOPF BOs. it is possible to create BO data retrieval expressions in BRF+. you can integrate business processes using the Post Processing Workflow. These expressions make data of BOs available in BRF+ environments that support any kind of rule processing. http://scn. • Business Rules Framework plus (BRF+):BRF+ is a rule engine.com/saphelp_tm80/helpdata/en/0e/4a3aba521342f685bada9dabb32d5f/content. The Generic Interaction Layer (GenIL) enables uniform access to business data using a stateless request/response format.
Copyright © 2024 DOKUMEN.SITE Inc.