A custom SAP Non-Workflow adapter can be used to facilitate the approval process in SAP that does not utilize an existing SAP Workflow.
This section will detail the steps you need to follow for setting up such a custom SAP Non-Workflow adapter that can connect to OneList V6.
Prerequisites:
- OneList v6 adapter is installed on your SAP Backend system
Configuration steps:
Note
This example is based on a Purchase Order workflow
- Create a custom implementation class based on the IQX 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 and leave the implementation blank for now:
- EXECUTE_ACTION
- GET_ATTCHMENT_CONTENT
- GET_OBJECT_DETAILS
- Check, Save and Activate the implementation class.
- Maintain the following OneList configuration tables via SM30 (Note: Use the unit test client)
- /IQX/OL_TASK_DEF - Task Definition
- Create a new entry with the following values:
- Job Type - The description of the type of task e.g. PO_APPROVAL
- O.L.Task ID - The workflow task ID for the object you would like to retrieve the worklist items. e.g. TS20000166
- Project Name - optional
- Number - The number of workflow tasks that should be fetched ???? not sure
- Create a new entry with the following values:
- /IQX/OL_JOB_DEF - Background Job Definition (more info on this - the entries in this table will be used to automatically create background jobs that will run to execute functionality)
- Create a new entry for each of the following values:
- SYNC USER
- Job Type - Use the job type defined in the previous step e.g. SYNC_USER
- Class - /IQX/CL_OL_SYNC_USERS
- Subcomponent - SYNC_USER_REQUEST
- Short Description - Synchronize SAP users to OneList
- Freq in mins - 5
- SYNC ACTIONS
- Job Type - Use the job type defined in the previous step e.g. PO_APPROVAL
- Class - Name of the implementation class created in step 1.c. e.g. ZCL_OL_PO_ADAPTER
- Subcomponent - SYNC_ACTIONS
- Short Description - Synchronize adapter task actions to OneList
- Freq in mins - 2
- SYNC ATTACHMENTS
- Job Type - Use the job type defined in the previous step e.g. PO_APPROVAL
- Class - Name of the implementation class created in step 1.c. e.g. ZCL_OL_PO_ADAPTER
- Subcomponent - SYNC_ATTACHMENTS
- Short Description - Synchronize attachments to OneList
- Freq in mins - 2
- SYNC CHANGED TASK
- Job Type - Use the job type defined in the previous step e.g. PO_APPROVAL
- Class - Name of the implementation class created in step 1.c. e.g. ZCL_OL_PO_ADAPTER
- Subcomponent - SYNC_CHANGED_TASK
- Short Description - Synchronize the changed task list to OneList
- Freq in mins - 2
- SYNC DELTA TASK LIST
- Job Type - Use the job type defined in the previous step e.g. PO_APPROVAL
- Class - Name of the implementation class created in step 1.c. e.g. ZCL_OL_PO_ADAPTER
- Subcomponent - SYNC_DELTA_TASK_LIST
- Short Description - Synchronize detailed task list to OneList (delta tasks)
- Freq in mins - 2
- SYNC USER
- Create a new entry for each of the following values:
- /IQX/OL_ENDPOINT - OneList Service Endpoint
- Create a new entry with the following values:
- OneList URL - Specify the URL endpoint configured for OneList
- OneList Server App Path: /onelistserver/api/DataSync
- SSL Client Identity: e.g. ANONYM
- API Key: The unique API key used by the endpoint
- Active: Checked
- Create a new entry with the following values:
- /IQX/OL_TASK_DEF - Task Definition
- Define a Scheduler background job via SM36 with the following values: (Note: Use the data client)
- 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
Note
Background jobs are usually created by the Basis resource and should be set up to use the existing service user account
Once the OneList Scheduler background job has been created, it will automatically schedule the OneList Adapter jobs defined in the /IQX/OL_JOB_DEF maintenance table (as per entries created in step 4 above).
Suggested schedule for background jobs:
Sub Component | Frequency |
---|---|
SYNC_ACTIONS | Every 2 minutes |
SYNC_ATTACHMENTS | Every 2 minutes |
SYNC_DELTA_TASK_LIST | Every 2 minutes |
SYNC_CHANGED_TASK_LIST | Every 2 minutes |
SYNC_USER | Every 5 minutes |