Lancer un fnd_request.submit_request dans le dequeue d'un message
Bonjour à tous,
Je poste mon problème ici ne sachant pas où le mettre.
Je travaille actuellement sur la mise en place de queue qui me permettent de faire transiter des messages.
La mise en place des queues et le dequeuing des messages fonctionnent.
Mon problème réside dans le fait que lorsque je dequeue les messages je lance unecommande fnd_request.submit_request:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
PROCEDURE _dequeue_message(
context RAW,
reginfo SYS.AQ$_REG_INFO,
descr SYS.AQ$_DESCRIPTOR,
payload RAW,
payloadl NUMBER)
IS
r_dequeue_options DBMS_AQ.DEQUEUE_OPTIONS_T;
r_message_properties DBMS_AQ.MESSAGE_PROPERTIES_T;
v_message_handle RAW(16);
o_payload XXHR_HRM_MESSAGE_TYPE;
ref_doc XMLTYPE;
update_query VARCHAR(4000) ;
obj xxhr_create_detail_wf_obj;
req_id NUMBER;
BEGIN
r_dequeue_options.msgid := descr.msg_id;
r_dequeue_options.consumer_name := descr.consumer_name;
DBMS_AQ.DEQUEUE(
queue_name => descr.queue_name,
dequeue_options => r_dequeue_options,
message_properties => r_message_properties,
payload => o_payload,
msgid => v_message_handle
);
req_id :=
fnd_request.submit_request (
application => 'XXHR',
program => 'C_WF',
description => 'C_WF',
start_time => NULL,
sub_request => FALSE,
argument1 => 69044,
argument2 => CHR (0)
COMMIT;
END dequeue_message; |
Et req_id vaut toujours 0.
Par contre lorsque je lance bêtement la commande sans le dequeue cela fonctionne, req_id ne vaut pas 0.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
DECLARE
req_id NUMBER;
BEGIN
req_id:=fnd_request.submit_request (
application => 'XXHR',
program => 'C_WF',
description => 'C_WF',
start_time => NULL,
sub_request => FALSE,
argument1 => 69044,
argument2 => CHR (0)
);
COMMIT;
END;
/ |
si quelqu'un a une idée je suis preneur.
Merci d'avance