In my previous blog post, we had seen BOPF Overview and developing a report program using BOPF framework.
In this blog, we are going to see one of the nice features delivered by SAP with BOPF that is Transaction /BOBF/TEST_UI. This transaction is useful to fetch the data of Forwarding order or Freight order or Freight booking etc without launching the User Interface applications. This transaction is useful either you are working on Support project or Implementation project. Let us see how it is useful.
If you are working on support project, then you can launch this transaction to see the real time data which would help in ticket analysis further for providing a right solution to the customer especially when nodes are associated with a cross BO relationship. To some extent this transaction would also help you to understand whether issue is caused by custom development or standard by checking the displayed data through enhancements to the BO nodes and its structures.
If you are working in Implementation project, you might be required to do some new developments or enhancements to the standard classes (Determinations, Actions and Validations are implemented using OO ABAP in BOPF Environment) to achieve customer expected functionalities. While doing such developments, this transaction would help you to know and understand in which logical entities (Nodes) of Business object the required data got stored and their cross BO relationship can be evaluated. We can trigger actions, validations and determinations right in the test environment. Thus it would also
help as a unit testing environment to ensure your development is working fine after finishing the required enhancements to the standard objects.
Using this TEST UI transaction either we can load instances or create or edit BO instances. To illustrate the experience of /BOBF/TEST_UI, I am going to use the same use case which I explained in my earlier blog post.
Follow the below steps to start working with BOPF Test UI.
- Launch transaction /BOBF/TEST_UI (Use Prefix ‘/N’ or ‘/O’ – Otherwise it will not open) from SAP GUI. If you are working with TM 9.1 version, you can use BOBT transaction to launch the same screen
- Enter Business object name. Here I am entering /SCMTMS/TRQ for this example. Whenever Business object is entered in TEST UI transaction, first you see BO with ROOT node of it.
- Click on the Folder button as shown in the below screenshot. You get to see 3 different options.
- Choose the first option – by QUERY, if you want to get the data based on certain filter criteria. Probably this is best choice when you do not know the key fields.
- Choose the second option – by KEY, if you know exactly the key (Value which is displayed in Hexadecimal or RAWSTRING) of the node. I personally less used this choice 🙁
- Choose the 3rd option – By ALTERNATIVE KEY, if you know the key values such as TRQ_ID or TOR_ID…Etc. I personally most prefer this choice.
Load BO instances:
Use Case: We wanted to display shipment (FWO) information; if FWSD’s are created, corresponding invoice amount and corresponding Forwarding agreement used for charge calculation.
From the above screenshot, Upon selecting the ROOT – TRQ_ID, a popup gets opened -> Enter the FWO number (TRQ ID) -> click OK / ENTER Key-> Order details will be opened. Drill down to the required node instances by selecting the corresponding node.
Finally, data will be displayed as shown in the below screenshot. Nodes and their association with other nodes and Business objects are highlighted in red colored box.
Summary in Detail:
To access the FWO level information, use the Business Object – /SCMTMS/TRQ (Transportation Request). From TRQ business object, to find the Invoices created for this FWO, this information is stored in node CFIR_ROOT which is cross associated with Business Object – /SCMTMS/CUSTFREIGHTINVREQ (Customer Freight invoice request) and Agreement information is stored in node CHARGEITEM which is cross associated with BO – /SCMTMS/TCC_TRNSP_CHRG (Transportation Charges).
All these business objects are mapped with a Cross BO relationship. For a detailed design of each business object and association between business objects and nodes can be seen in transaction – /BOBF/CONF_UI.
Editing/Creating BO instances:
Important Note: Although we can create or edit the node instances, this is not recommended to perform actions especially in Production environment. The below information is published only for testing purposes and for developer knowledge.
We can edit the existing BO instance and save the changes right from test environment. Load the TRQ BO instance for existing FWO -> edit the BO instance by selecting test edit button as shown in the below screenshot -> system is allowed to change/edit the data -> change the required node instances (required field values) -> Click on SAVE.
We can create a new BO instance. After entering the BO name,double click on the ROOT node. Click on Add button to create a new instance. Start filling the required data and click on SAVE after entering the mandatory data to create a FWO. Upon click on SAVE, all the validations will be executed and messages are returned. I personally would not recommend doing so because there may be chances of inconsistency created in the system.
In addition to what we have discussed above, we can also trigger actions, associations, validations and determinations directly from test environment.
Appreciate your suggestions and comments to improve the blog post.