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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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