[Home] [Help]
PACKAGE BODY: APPS.XDP_DQUTILS
Source
1 PACKAGE BODY XDP_DQUTILS AS
2 /* $Header: XDPDQUTB.pls 120.1 2005/06/14 08:11:38 appldev $ */
3
4
5 /******** PROCEDURE ValidateDequeuer ***********/
6 /*
7 * Author: V.Rajaram
8 * Date Created: Feb-22-1999
9 *
10 * INPUT: Queue Type
11 * OUTPUT: Dequeue Procedure
12 *
13 *
14 * This Procedure checks if the queue name is valid. If yes, inserts
15 * the DQer instance entry in the DQer registration table and
16 * returns the correct deque procedure to be executed by the DQer.
17 * Else raises application error which is inturn trapped by the caller
18 *
19 *
20 * Usage: General
21 */
22
23 Procedure RegisterDQ (p_QueueName in varchar2,
24 p_DQPid in number,
25 p_QueueProc OUT NOCOPY varchar2)
26
27 is
28 e_InvalidQueueException exception;
29 ErrMsg varchar2(100);
30 l_InternalQName varchar2(80);
31 l_temp varchar2(100);
32 Begin
33
34 /*
35 * Get the CallBack Function to start the Dequeuer
36 */
37
38 BEGIN
39 select DQ_PROC_NAME, INTERNAL_Q_NAME
40 into p_QueueProc, l_InternalQName
41 from XDP_DQ_CONFIGURATION
42 -- INTERNAL_Q_NAME is upper so no need to check
43 -- where UPPER( INTERNAL_Q_NAME ) = upper( p_QueueName);
44 -- skilaru 03/27/2001
45 where INTERNAL_Q_NAME = upper(p_QueueName);
46
47
48 EXCEPTION
49 WHEN NO_DATA_FOUND THEN
50 Raise e_InvalidQueueException;
51 ErrMsg := 'Queue Name: ' || p_QueueName || ' Not found';
52 END;
53
54
55 /* Every thing kewl insert into XDP_DQ_REGISTRATION with the Dequeuer */
56
57 /* Get an Unique Queue Name */
58 select to_char(XDP_DQER_NAME_S.NEXTVAL) into l_temp from dual;
59 l_temp := p_QueueName || l_temp;
60
61 insert into XDP_DQER_REGISTRATION (DQER_NAME,
62 DQER_PROCESS_ID,
63 INTERNAL_Q_NAME,
64 MODULE_NAME,
65 created_by,
66 creation_date,
67 last_updated_by,
68 last_update_date,
69 last_update_login
70 )
71 values (l_temp,
72 p_DQPid,
73 l_InternalQName,
74 'DONTKNOW',
75 FND_GLOBAL.USER_ID,
76 sysdate,
77 FND_GLOBAL.USER_ID,
78 sysdate,
79 FND_GLOBAL.LOGIN_ID);
80
81 EXCEPTION
82 WHEN e_InvalidQueueException then
83 RAISE_APPLICATION_ERROR(-20540, ErrMsg);
84 END RegisterDQ;
85
86
87
88 /******** PROCEDURE ExecDQProc ***********/
89 /*
90 * Author: V.Rajaram
91 * Date Created: Feb-22-1999
92 *
93 * INPUT: Dequeue Procedure
94 * OUTPUT: ErrorCode and Error String
95 *
96 * This procedure Executes the input dequeue procedure
97 * This can be used to launch and procedure also
98 *
99 * Usage: General
100 */
101
102 Procedure ExecDQProc ( p_QueueProc in varchar2)
103
104 is
105 l_ParamList XDP_UTILITIES.t_ParameterList;
106 Begin
107
108 -- dbms_output.put_line('Calling Procedure: ' || p_QueueProc);
109
110 XDP_UTILITIES.RunProc(0, p_QueueProc, l_ParamList);
111
112 END ExecDQProc;
113
114 Procedure DeregisterDQ (p_DQPid in number)
115 is
116
117 begin
118
119 delete from XDP_DQER_REGISTRATION
120 where DQER_PROCESS_ID = p_DQPid;
121
122 end DeregisterDQ;
123
124 End XDP_DQUTILS;