Workflow Adapter setup
A custom SAP Workflow adapter can be used to facilitate the approval process for an existing SAP Workflow. This Adapter will provide a link between SAP and OneList, sending decision tasks to OneList and retrieving the associated actions (decisions made) from OneList, then updating the workflow with these decisions.
This section will detail the steps you need to follow for setting up such a custom SAP Workflow adapter that can connect to OneList V6.
Note
This example is based on a standard SAP Purchase Order workflow
The SAP Package /IQX/ONELIST_ADAPTER contains the relevant development objects that will be used to set up the custom adapter.
Prerequisites:
OneList v6 Adapter framework is installed on your SAP Backend system
SAP Workflow already completely built and functional.
SAP Development tasks
Create a custom implementation class based on the IQX Adapter base class:
Use the Class Builder in SAP (t-code SE24) to open the class /IQX/CL_SAP_WL_ADPT.
From the menu bar, select Edit → Create Subclass.
Enter the name of the subclass in the Class field.
e.g. ZCL_OL_PO_ADAPTER
Enter a short description in the Description field.
e.g. Purchase Order adapter for OneList
Choose Save.
Enter the Package and choose Save again.
Redefine the following inherited methods (click on the method for the implementation example):
Create the new methods (called by GET_OBJECT_DETAILS) to retrieve the correct PO information, as well as set up the Action buttons in OneList:
Check, Save and Activate the implementation class.
OneList Adapter framework configuration
Maintain the OneList configuration tables via transaction /IQX/OL_CONFIG.
Note 1: If the above-mentioned transaction does not exist, then follow the instructions for the previous version below.
Note 2: Use the configuration / development development client, and transport this configuration to subsequent systems like QA and the Productive system. If you have a development Unit Test client, use SCC1 to copy the config from the configuration client..
Note that there is a sequence to be followed, as per the tree structure, shown below:OneList Endpoint configuration
Add entries for each of the systems in your SAP landscape. When you save this information, SAP will prompt you for a transport request. This will enable you to transport the entries to your Quality Assurance and Productive systems, as well as importing into your Development Unit Testing Client.
Notes:IQX will provide the values that need to be entered for the OneList URL and API Key.
All entries should be marked as 'active' under normal circumstances. The OneList Adapter will dynamically determine the correct URL and API key based on the system that it is running in. Only in unusual situations will the endpoint be marked as inactive, but then the Adapter will not be able to call the OneList instance.
There is a transaction (/IQX/OL_ENDPOINT) that can be run in the 'active' clients (Unit Test, QA and PRD) to maintain these values directly in the active/target system. This should only be used when emergency maintenance needs to be performed (DOS attack, etc.). The changed values should be copied back into the configuration client and added to a new transport.
In the transaction /IQX/OL_ENDPOINT there is a 'Connection Test' option to check for the correctness of the URL and API key. This can be executed in each system:
or, for example,
OneList Integration configuration
Note that you will (only once) have to configure a User integration entry. You may end up with multiple processes integrating with OneList, each of which will require their own entry here (and follow-on entries - see below). It does not matter how many processes you integrate with OneList, you will only need to do this step once - the processes all share the user integration. Add an entry to synchronise the SAP users with OneList, as follows:
There is no need to specify a Workflow task or FAB form for the user synchronisation.
Background job setup
Define a Scheduler background job via SM36 with the following values:
Note: Do this in the client where you are executing your testing (Dev Unit Test or QAS) and in the live / productive client at go-live.Enter the Job Name - ONELIST_SCHEDULER
Enter the Job Class - B
Press the Step button
Enter the User - e.g. OL_ADMIN (Note: This should be a service user account created for background jobs)
Enter the ABAP Program Name - /IQX/ONELIST_JOBS
Press the Save button
Press the Start conditions button
Press the Date/Time button and enter the scheduled start date and time
Press the Period Values button and choose Other period from the options
Enter 1 in the Minute(s) field
Press the Save button to complete the setup
Once the OneList Scheduler background job has been created, it will automatically schedule the OneList Adapter jobs defined in the 'OneList Job configuration' entries above (or the /IQX/OL_JOB_DEF maintenance table, below, for older versions).
IQX OneList Documentation - 6.40