IBM Support

WebSphere Business Integration PeopleSoft Adapter cannot process current dated events when PollFutureEvents feature is enabled

Troubleshooting


Problem

The WebSphere Business Integration PeopleSoft Adapter recursively fetches the same 300 future-dated events and has no chance to processs other current dated events.

Symptom

The PeopleTools has a limitation that when using the Find() method to get records, the maximum return count is 300. WBI PeopleSoft Adapter uses Find() method to get events from PeopleSoft event table during inbound processing according to the findKey CW_STATUS. That may cause a problem if you enable the PollFutureEvents feature. In this case, the adapter first finds the event records with CW_STATUS as 99. So if the first 300 records returned are all future dated events (i.e. CW_DTTM is larger than the current datetime), PeopleSoft adapter will recursively fetch the same 300 future dated events and has no chance to processs other current dated events (i.e. CW_STATUS is 99 and CW_DTTM is no larger than the current datetime).

Resolving The Problem

To overcome this limitation, you need to perform the following changes in PeopleTools.

Pre-requisites:
The event project is created in PeopleTools.

Steps:
1. Open the event project, e.g. "CW_EVENT_V150" project.

2. Save a copy of the record "CW_EVENT_TBL" and change it to a SQL View.
2.1 Double click the record “CW_EVENT_TBL” to open it.
2.2 Click "Record Type" tab.
2.3 Change "Record Type" to "SQL View".
2.4 Press the "Click to open SQL Editor" button.
2.5 Input the following SQL definition, which filters out the future dated events:

SELECT CW_EVENT_ID
,CW_STATUS
,CW_PRIORITY
,CW_OBJECT
,CW_OBJ_KEYS
,CW_VERB
,CW_DTTM
,CW_CONN_ID
FROM PS_CW_EVENT_TBL
WHERE CW_STATUS = '99'
AND CW_DTTM <= SYSDATE
OR CW_STATUS = '0'
OR CW_STATUS = '3'
2.6 Save the changed record as "CW_EVENT_VIEW".
2.7 Click "Yes" when prompts "Do you wish to also save a copy of the PeopleCode".
2.8 Press "F7" to insert "CW_EVENT_VIEW" into the project.

3. Update the "CW_EVENT_BC" component to set the new created SQL View as the search record.
3.1 Double click the "CW_EVENT_BC" component to open it.
3.2 Click the menu "File" -> "Definition Properties" to open the "Component Properties" dialog.
3.3 Under the "Use" tab, select "CW_EVENT_VIEW" as the search record.
3.4 Save and close all the windows.

4. Recreate the "CWEVENT_CI" component interface.
4.1 Click "File"->"New", choose "Component Interface".
4.2 In the dialog "Select source Component for Component Interface", search and select the "CW_EVENT_BC" component.
4.3 Click "Yes" when it prompts “Do you want to default the properties based on the underlying Component definition”.
4.4 Save it as "CWEVENT_CI", click "Yes" to overwrite the existing one.

5. Rebuild the project.

The sample project CW_EVENT_V150 is updated for this solution. You can download it here.
CW_EVENT_V150.zip

[{"Product":{"code":"SSMKUK","label":"WebSphere Adapters Family"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Adapter for PeopleSoft Enterprise","Platform":[{"code":"PF033","label":"Windows"}],"Version":"3.1.2","Edition":"-NA-","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
15 June 2018

UID

swg21375259