Requests fail during Post Processing with the following errors:
ERROR
———————–
Unable to find an Output Post Processor service to post-process request xxxxx.
Check that the Output Post Processor service is running
CAUSE
Incorrect data in the OPP queue table AQ$FND_CP_GSM_OPP_AQTBL_S, most likely caused by the concurrent managers not being shutdown correctly.
EVIDENCE OF CAUSE
—————
Query shows orphaned OPP subscribers in APPLSYS.AQ$FND_CP_GSM_OPP_AQTBL_S
This is causing select_random_subscriber routine to pick the name of a non-running process.
Solution
Find the active processes for OPP:
SELECT fcp.concurrent_process_id
FROM fnd_concurrent_queues fcq, fnd_concurrent_processes fcp
WHERE concurrent_queue_name = ‘FNDCPOPP’
AND fcq.concurrent_queue_id = fcp.concurrent_queue_id
AND fcq.application_id = fcp.queue_application_id
AND fcp.process_status_code = ‘A’;
Output example:
CONCURRENT_PROCESS_ID
———————
93557
93558
Find the OPP subscribers:
select name from APPLSYS.AQ$FND_CP_GSM_OPP_AQTBL_S;
The name in the table is the concurrent_process_id prefixed with ‘OPP’.
The output should normally correspond to the output of first query: have the same number of records and have as name the concurrent_process_id of the running OPP processes prefixed by OPP
Output example:
NAME
——————————
OPP93558
OPP93557
OPP88933
OPP92625
If there are extra subscribers which are left from previous runs of OPP processes, unsubscribe them:
exec fnd_cp_opp_ipc.unsubscribe(‘<concurrent_process_id>’);
Example:
exec fnd_cp_opp_ipc.unsubscribe(‘88933’);
exec fnd_cp_opp_ipc.unsubscribe(‘92625’);
ERROR
———————–
Unable to find an Output Post Processor service to post-process request xxxxx.
Check that the Output Post Processor service is running
CAUSE
Incorrect data in the OPP queue table AQ$FND_CP_GSM_OPP_AQTBL_S, most likely caused by the concurrent managers not being shutdown correctly.
EVIDENCE OF CAUSE
—————
Query shows orphaned OPP subscribers in APPLSYS.AQ$FND_CP_GSM_OPP_AQTBL_S
This is causing select_random_subscriber routine to pick the name of a non-running process.
Solution
Find the active processes for OPP:
SELECT fcp.concurrent_process_id
FROM fnd_concurrent_queues fcq, fnd_concurrent_processes fcp
WHERE concurrent_queue_name = ‘FNDCPOPP’
AND fcq.concurrent_queue_id = fcp.concurrent_queue_id
AND fcq.application_id = fcp.queue_application_id
AND fcp.process_status_code = ‘A’;
Output example:
CONCURRENT_PROCESS_ID
———————
93557
93558
Find the OPP subscribers:
select name from APPLSYS.AQ$FND_CP_GSM_OPP_AQTBL_S;
The name in the table is the concurrent_process_id prefixed with ‘OPP’.
The output should normally correspond to the output of first query: have the same number of records and have as name the concurrent_process_id of the running OPP processes prefixed by OPP
Output example:
NAME
——————————
OPP93558
OPP93557
OPP88933
OPP92625
If there are extra subscribers which are left from previous runs of OPP processes, unsubscribe them:
exec fnd_cp_opp_ipc.unsubscribe(‘<concurrent_process_id>’);
Example:
exec fnd_cp_opp_ipc.unsubscribe(‘88933’);
exec fnd_cp_opp_ipc.unsubscribe(‘92625’);
No comments:
Post a Comment