Aggrement Checker -Customised technique to update multiple table with BOL Enhancement
Agreement Checker, a name behind design to update multiple custom tables through BOL enhancement. It is applicable for all the Generic scenario of creation and validation of the agreement. Validation of agreement serves as a vital process in any SAP utility project. Agreement is a mutual understanding between two or more legally competent individuals or entities about their rights and duties regarding their past or future performances and considerations.
A live scenario would be Agreement Checker for a waste water utility client. Here it can be used to calculate Risk Index based on different business rules. Risk index will work as the deciding parameter for the client. It will guide the business regarding the risk involved in treating waste water from industrial clients by giving an idea of the severity of the pollutants involved in the trade waste discharge. This information is then used to judge the feasibility of providing waste water treatment services to the client. This blog provides information on updating multiple custom tables through BOL enhancement by using the live example of Agreement Checker Tool.
Design to make the screens available (Agreement Checker) through SAP CRM Service Request or from SAP CRM Web UI work center.
Scenario 1: Create Agreement Checker as follow up to the SAP CRM Service Request.
When an application (New/Change) is received from Third Party system, a service request gets created. As a follow up transaction to SAP CRM Service Request, agreement checker will be created by user. After agreement has been approved, a quotation (a formal statement setting out the estimated cost for a particular job or service) can be created as a follow-up to the agreement checker. Once the quotation is approved, services can be provided by creating a contract with the customer.
Create Agreement Checker by clicking on work center in SAP CRM Web UI
Challenges which lead to creation of the below design and can be helpful in scenarios where such issues are being faced:
1-There were huge number of fields required – More than 350 and SAP standard not recommend to support extension of such big numbers.
2-This forces the use of custom tables. Use of custom table in turns creates the problem of updating custom table using the BOL/GENIL functionality.
3-At present there is no direct solution available to update custom table directly using BOL/GENIL functionality.
4-Independent object inherit is missing for root object.
5-No business role available to support the requirement.
6-No Access object available to support business requirement.
1- The first challenge was resolved by using custom tables to store the custom fields as per business requirements.
2- Business Transaction Object Model was extended to add custom models to support the design
3-The object model developed was linked to the underlying custom database tables thereby creating a link between the buffer (BOL) and database (custom table). Using this linkage the table can directly be updated by simply modifying the collection of the model object.
4-Collection is updated by creating a data reference structure of the same type as the custom table to be updated. This reference structure is then added to the collection by using the standard BOL/GENIL functionality.
5-A separate independent object inherit is created for the root object.
6-Various other dependent objects were created to support the business requirement.
SAP CRM Business object ‘BTOrder’ has been extended to cater such functionality.
OrderADM_H has been extended to create 4 custom objects of the agreement checker. The underlying structure details have been updated against these object.
Path: SPRO->CUSTOMER Relationship Management->CRM Cross-Application Components->Generic Interaction Layer/Object Layer->Component Specific Settings-> Extend Model for Business Transaction with New node.
Path: SPRO->CUSTOMER Relationship Management->CRM Cross-Application Components->Generic Interaction Layer/Object Layer->Component Specific Settings->Extend Model for Business Transaction with New Relation.
Once the BT model is enhanced with the new objects, different configuration is made to cater the BOL requirement by creating different views in component BT117H_SRVC.
Business Role Configuration:
Work Center Configuration:
Database table and its corresponding model node ‘ZTAWG’ dependent root object: BTOrder
BOL enhancement view of the agreement checker node: Database Table View:
BOL enhancement view of the agreement checker node: Object View:
Agreement Checkers view layout configuration:
Implementation in action:
Initial Search Screen
Search for existing agreement and create new agreement checker. In this view we can create a new agreement checker or view an existing, on based, on Agreement ID, type or Employee Responsible ID.
Agreement Checker Header Details
This section contains the main details of the agreement checker including agreement checker ID, Check Type, Check Description, Property number and other details as per requirements from business or industry.
Agreement Checker Substance Details – How history and detail view can be shown for any field or any requirement.
Agreement Checker Risk Index – Example for calculation field on screen
Calculation based on the concentration of various substances present in the waste water. Acts as deciding parameter on whether to provide the services to the customer.
Conclusion and Benefits:
1- The tool has been designed to efficiently display and update a large number of fields in custom tables from BOL/GENIL Functionality.
2- The solution implemented is independent of the number of tables and is able to successfully update multiple tables.
3- The custom created BOL object is used to replicate the behavior of the SAP provided BOL Objects. This custom object is then linked to the underlying custom tables creating data flow between the buffer and the custom table.
4- It eliminates the need to explicitly update the table using traditional approach of locking the table.
5- Custom root and authorization objects have been developed to cater the needs of the client.
6- The tool assists the client in identification of the risk involved in providing waste water services to the industrial customer.
Solution can be implemented for any utility requirement of displaying and updating more than 100 custom fields. The techniques used in the Tool can be used as a generic way of updating multiple custom tables through BOL enhancement.