Exposing POWL as an OData service
POWL reports are not the newest in technology, but the possibility to expose a POWL report as an OData service will breathe a bit of life into your old POWLs. This is not meant as an advertisment for starting to make a lot of new POWL reports as such, but a good way to turn a few POWL reports into Fiori tiles fast.
Register application ID
Go to transaction “/n/ui2/powl” on the backend system. It is important to precede the transactions with “/n”.
Enter change mode and select “New Entries”.
Enter the application ID and a technical name of choice – and save. You will be prompted for a workbench request:
Check Query ID
Check the query ID is existing. Go to transaction POWL_QUERY. If the query is missing, create a query ID and point it to the POWL Type ID. You will be prompted for a customizing request.
Create query keys
Go to transaction /n/ui2/powl and create an entry for the query:
Mark the query as active:
In the same transaction create a key for the query:
Create the service
Use transaction /n/iwbep/reg_service and create a new service. Use “/UI2/CL_POWL_APPLID_DATA” as the Data Provider Class.
Next click “Create Model” and enter a Technical Model Name based on the Technical Service Name, and give version number 1.
Give the shown Model Provider Class as input and save.
Now it is possible to assign the model – click “Assign Model”:
And give the Model Name chosen earlier for the service, and save again:
Register the service
Start transaction /n/iwfnd/maint_service.
Use the button “Add Service”, and find your service with the Technical Service Name:
Select the service, and click “Add Selected Services”:
Assign a package (or choose Local Object) and click Continue:
Go back, and start the SAP Gateway Client. This could also be your favorite tool for consuming services i.e. Postman.
Use the service
Retrieve metadata from the service with the following request:
Use the collection reference marked below to retrieve data from your POWL:
With the collection reference make a new request – remember that this is very case-sensitive:
And now admire the result from your POWL as an OData service: