Skip to Content

SAP Fiori LL11 – Consultants should know about OData troubleshooting

SAP Fiori Lessons Learned 11

Consultants should know about OData troubleshooting

 

Background:

SAP Fiori apps are out of the solution but you face several issues because main functions are in backend ERP and each customer has different backend setup/configuration. OData is the communication channel to the backend servers via get/post/put method.

 

Lessons Learned:

Understanding OData and backend function are must requirements for consultants.

  • Application consultants should learn about OData technical and runtime behavior
  • Technical consultants should learn about ERP application functions
  • Both application consultants and technical consultants should work together

 

Consultants should know following steps.

 

Step 1. Identity the OData service call

1.1 Run the app

1.2 Inspect element

Right click -> Inspect element (Chrome), F12 (IE), then go to Network tab

/wp-content/uploads/2013/11/inspect_322841.png

Ignore the warning or error message in the Console tab at this point in time. Focus on OData troubleshooting.

 

1.3 Refresh the app or browser

/wp-content/uploads/2013/11/refresh_322851.png

1.4 Find the last called OData URI

Scroll down to the bottom of inspect element and find the OData /sap/opu/odata/sap/.. from bottom.

/wp-content/uploads/2013/11/odata_322877.png

http://<host>.<domain>:<port>/sap/opu/odata/sap/GBAPP_POAPPROVAL;mo/WorkflowTaskCollection(SAP__Origin=’ONE_800′,WorkitemID=’000001104681′)/HeaderDetails?$expand=ItemDetails,Notes,Attachments,ItemDetails/Limits

 

Step 2. Test OData in the Gateway client

2.1 Copy & Paste the OData URI

Transaction: /IWFND/GW_CLIENT. You should logon with the application user same as Fiori app logon.

/wp-content/uploads/2013/11/gw_client_322879.png

2.1 Check the OData response

/wp-content/uploads/2013/11/data_322895.png

If http response is not 200, you may have some connection setting issue.

If tttp response is 200 but OData service does not return application data, you should go Step.5 debug section.

 

Step 3. Check error log

3.1 Transaction /IWFND/ERROR_LOG

/wp-content/uploads/2013/11/error_log_322917.png

Select the “Error Context”

/wp-content/uploads/2013/11/call_stack_322919.png

Call Stack helps you to set external break points.

/wp-content/uploads/2013/11/stack_322920.png

3.2 Transaction /IWFND/APPS_LOG

/wp-content/uploads/2013/11/app_log_322921.png

Reference: Troubleshooting a SAP Netweaver Gateway Service

 

Step 4. Find the Runtime Data Provider class

4.1 Transaction /IWFND/MAINT_SERVICE

/wp-content/uploads/2013/11/maint_service_322937.png

/wp-content/uploads/2013/11/class_322938.png

4.2 Transaction SE24

Open the Data Provider Class. Go to Property tab.

/wp-content/uploads/2013/11/package_322942.png

4.3 Transaction SE80

Open the package.

/wp-content/uploads/2013/11/class2_322949.png

Class -> Runtime Data Provider Class -> Method -> Redefinitions

The example OData URI has &expand oprion, so you should look at the method GET_EXPANDED_ENTITY.

/wp-content/uploads/2013/11/map2_322950.png

Step 5. Set External break points and debug

5.1 Check the user

Go to Utilities -> Settings

/wp-content/uploads/2013/11/debug2_322951.png

Make sure the user is application user.

/wp-content/uploads/2013/11/debug_user_322964.png

5.2 Set external break points

/wp-content/uploads/2013/11/method_322965.png

5.3 Debug

Test the OData URI from Gateway Client. You can now debug the code. Most of case, issue is related with ERP customizing or master data.

Each customer has different customizing setting and master data.

 

Regards,

Masa

SAP Rapid Innovation Group – RIG

21 Comments
You must be Logged on to comment or reply to a post.