DBA Data[Home] [Help]

PACKAGE: APPS.XNP_MESSAGE

Source


1 PACKAGE XNP_MESSAGE AUTHID CURRENT_USER AS
2 /* $Header: XNPMSGPS.pls 120.1.12010000.2 2008/09/25 05:18:29 mpathani ship $ */
3 
4 -- Record type for message header
5 TYPE Msg_Header_Rec_Type IS RECORD
6 (
7 	message_id        NUMBER ,
8 	message_code      VARCHAR2(20),
9 	reference_id      VARCHAR2(1024),
10 	opp_reference_id  VARCHAR2(40),
11 	creation_date     DATE,
12 	sender_name       VARCHAR2(300),  -- increased the size from 40 to 300 for 6880763
13 	recipient_name    VARCHAR2(40),
14 	version           NUMBER ,
15 	direction_indr    VARCHAR2(1),
16 	order_id          NUMBER,
17 	wi_instance_id    NUMBER,
18 	fa_instance_id    NUMBER
19 ) ;
20 
21 
22 -- Timeout variable for dequeing a message from the queue. Used by POP()
23 -- and has a intialized value of one second.
24 --
25 pop_timeout		INTEGER := 1 ;
26 current_version         NUMBER := 1 ;
27 -- Constant visible on commit to the dequeue process
28 C_ON_COMMIT       CONSTANT NUMBER := 1 ;
29 -- Constant visible immediate to the dequeue process
30 C_IMMEDIATE       CONSTANT NUMBER := 2 ;
31 
32 --
33 -- pre and suffixes that are used to generate user defined packages for
34 -- sending, publish messages.
35 -- used by XNPMSGP, XNPSTAC, XNPMBLP packages
36 -- By Anping Wang, bug refer. 1650015
37 -- 02/19/2001
38 g_pkg_prefix CONSTANT VARCHAR2(80) := 'XNP_' ;
39 g_pkg_suffix CONSTANT VARCHAR2(80) := '_U' ;
40 
41 --  Define Exceptions
42     stop_processing exception;
43 
44 --
45 -- Retrieves a comma separated subscriber list for the message
46 --
47 PROCEDURE get_subscriber_list
48 (
49 	p_msg_code IN VARCHAR2
50 	,x_subscriber_list OUT NOCOPY VARCHAR2
51  );
52 
53 -- Retrieves a message for the specified message ID
54 --
55 PROCEDURE get
56 (
57 	p_msg_id IN NUMBER
58 	,x_msg_text OUT NOCOPY VARCHAR2
59 );
60 
61 -- Retrieves a message  and the header for the specified message ID
62 -- Overloaded.
63 -- adabholk 03/2001
64 -- performance fix
65 
66 PROCEDURE get
67 (
68 	p_msg_id IN NUMBER
69 	,x_msg_header OUT NOCOPY MSG_HEADER_REC_TYPE
70 	,x_msg_text OUT NOCOPY VARCHAR2
71 );
72 
73 -- Notifies message processing failures of the event manager to FMC
74 --
75 PROCEDURE notify_fmc
76 (
77 	p_msg_id in NUMBER
78 	,p_error_desc IN VARCHAR2
79 ) ;
80 
81 -- Retrieves the header for a message, given the message ID
82 --
83 PROCEDURE get_header
84 (
85 	p_msg_id IN NUMBER
86 	,x_msg_header OUT NOCOPY msg_header_rec_type
87 );
88 
89 --
90 --
91 -- Wrapper procedure for executing the processing logic
92 -- of a message.
93 --
94 PROCEDURE process
95 (
96 	p_msg_header IN msg_header_rec_type
97 	,p_msg_text IN VARCHAR2
98 	,p_process_reference IN VARCHAR2
99 	,x_error_code OUT NOCOPY NUMBER
100 	,x_error_message OUT NOCOPY VARCHAR2
101 );
102 
103 -- Wrapper for executing default processing logic
104 --
105 PROCEDURE default_process
106 (
107 	p_msg_header IN msg_header_rec_type
108 	,p_msg_text IN VARCHAR2
109 	,x_error_code OUT NOCOPY NUMBER
110 	,x_error_message OUT NOCOPY VARCHAR2
111 );
112 
113 -- Validates a message of type XNP_MESSAGE
114 --
115 PROCEDURE validate
116 (
117 	p_msg_header IN OUT NOCOPY msg_header_rec_type
118 	,p_msg_text IN VARCHAR2
119 	,x_error_code OUT NOCOPY NUMBER
120 	,x_error_message OUT NOCOPY VARCHAR2
121 );
122 
123 -- Gets the next sequence for the Message
124 --
125 PROCEDURE get_sequence
126 (
127 	x_msg_id OUT NOCOPY NUMBER
128 );
129 
130 --
131 --  Enqueues a message on the ORACLE Queue. Set the commit mode
132 --  to C_IMMEDIATE if an immediate commit is required.
133 --
134 PROCEDURE push
135 (
136 	p_msg_header IN msg_header_rec_type
137 	,p_body_text IN VARCHAR2
138 	,p_queue_name IN VARCHAR2
139 	,p_recipient_list IN VARCHAR2 DEFAULT NULL
140 	,p_correlation_id IN VARCHAR2 DEFAULT NULL
141 	,p_priority IN INTEGER DEFAULT 1
142 	,p_commit_mode IN NUMBER DEFAULT c_on_commit
143 	,p_delay IN NUMBER DEFAULT DBMS_AQ.NO_DELAY
144 	,p_fe_name IN VARCHAR2 DEFAULT NULL
145 	,p_adapter_name IN VARCHAR2 DEFAULT NULL
146 );
147 
148 -- overloaded version of PUSH
149 --
150 PROCEDURE push
151 (
152 	p_message_id IN NUMBER
153 	,p_message_code IN VARCHAR2
154 	,p_reference_id IN VARCHAR2
155 	,p_opp_reference_id IN VARCHAR2
156 	,p_direction_indr IN VARCHAR2
157 	,p_creation_date IN DATE
158 	,p_sender_name IN VARCHAR2
159 	,p_recipient_name IN VARCHAR2
160 	,p_version OUT NOCOPY VARCHAR2
161 	,p_order_id IN NUMBER
162 	,p_wi_instance_id IN NUMBER
163 	,p_fa_instance_id IN NUMBER
164 	,p_body_text IN VARCHAR2
165 	,p_queue_name IN VARCHAR2
166 	,p_recipient_list IN VARCHAR2 DEFAULT NULL
167 	,p_correlation_id IN VARCHAR2 DEFAULT NULL
168 	,p_priority IN INTEGER DEFAULT 1
169 	,p_commit_mode IN NUMBER DEFAULT c_on_commit
170 );
171 
172 -- Overloaded PUSH for Adapters
173 --
174 PROCEDURE push
175 (
176 	p_qname IN VARCHAR2
177 	,p_msg_text IN VARCHAR2
178 	,p_fe_name IN VARCHAR2
179 	,p_adapter_name IN VARCHAR2
180 	,x_error_code OUT NOCOPY NUMBER
181 	,x_error_message OUT NOCOPY VARCHAR2
182 	,p_commit_mode IN NUMBER DEFAULT C_IMMEDIATE
183 ) ;
184 
185 -- Overloaded PUSH for Adapters that returns message id
186 --
187 PROCEDURE push
188 (
189         P_QNAME IN VARCHAR2
190         ,P_MSG_TEXT IN VARCHAR2
191         ,P_FE_NAME IN VARCHAR2
192         ,P_ADAPTER_NAME IN VARCHAR2
193         ,X_MSG_ID OUT NOCOPY NUMBER
194         ,X_ERROR_CODE OUT NOCOPY NUMBER
195         ,X_ERROR_MESSAGE OUT NOCOPY VARCHAR2
196 	,p_commit_mode IN NUMBER DEFAULT C_IMMEDIATE
197 );
198 
199 --  Dequeues a message from the ORACLE Queue.
200 --
201 PROCEDURE pop
202 (
203 	p_queue_name IN VARCHAR2
204 	,x_msg_header OUT NOCOPY msg_header_rec_type
205 	,x_body_text OUT NOCOPY VARCHAR2
206 	,x_error_code OUT NOCOPY NUMBER
207 	,x_error_message OUT NOCOPY VARCHAR2
208 	,p_consumer_name IN VARCHAR2 DEFAULT NULL
209 	,p_correlation_id IN VARCHAR2 DEFAULT NULL
210 	,p_commit_mode IN NUMBER DEFAULT c_on_commit
211 	,p_msg_id IN RAW DEFAULT NULL
212 ) ;
213 
214 -- Overloaded POP()
215 --
216 PROCEDURE pop
217 (
218 	p_queue_name IN VARCHAR2
219 	,x_message_id OUT NOCOPY NUMBER
220 	,x_message_code OUT NOCOPY VARCHAR2
221 	,x_reference_id OUT NOCOPY VARCHAR2
222 	,x_opp_reference_id OUT NOCOPY VARCHAR2
223 	,x_body_text OUT NOCOPY VARCHAR2
224 	,x_creation_date OUT NOCOPY DATE
225 	,x_sender_name OUT NOCOPY VARCHAR2
226 	,x_recipient_name OUT NOCOPY VARCHAR2
227 	,x_version OUT NOCOPY VARCHAR2
228 	,x_order_id OUT NOCOPY NUMBER
229 	,x_wi_instance_id OUT NOCOPY NUMBER
230 	,x_fa_instance_id OUT NOCOPY NUMBER
231 	,x_error_code OUT NOCOPY NUMBER
232 	,x_error_message OUT NOCOPY VARCHAR2
233 	,p_consumer_name IN VARCHAR2 DEFAULT NULL
234 	,p_correlation_id IN VARCHAR2 DEFAULT NULL
235 ) ;
236 
237 -- Overloaded POP()
238 --
239 PROCEDURE pop
240 (
241 	p_queue_name IN VARCHAR2
242 	,p_consumer_name IN VARCHAR2
243 	,x_msg_text OUT NOCOPY VARCHAR2
244 	,x_error_code OUT NOCOPY NUMBER
245 	,x_error_msg OUT NOCOPY VARCHAR2
246 	,p_timeout IN NUMBER DEFAULT 1
247 ) ;
248 
249 -- Updates the status of the message given the ID.
250 -- Messages can either be in a READY or PROCESSES state
251 --
252 PROCEDURE update_status
253 (
254 	p_msg_id IN NUMBER
255 	,p_status IN VARCHAR2
256 	,p_error_desc IN VARCHAR2 DEFAULT NULL
257 	,p_order_id IN NUMBER DEFAULT NULL
258 	,p_wi_instance_id IN NUMBER DEFAULT NULL
259 	,p_fa_instance_id IN NUMBER DEFAULT NULL
260 ) ;
261 
262 -- Gets the status of the message given the ID
263 --
264 PROCEDURE get_status
265 (
266 	p_msg_id IN NUMBER
267 	,x_status OUT NOCOPY VARCHAR2
268  ) ;
269 
270 --
271 --Inserts 'XNP_MESSAGE' and the new message as two additional elements
272 --into XNP_MSG_ELEMENTS table.
273 --
274 PROCEDURE xnp_mte_insert_element
275 (
276 	p_msg_code IN VARCHAR2
277 	,p_msg_type IN VARCHAR2
278 );
279 
280 --
281 --Resets the message status to 'READY' and enqueues the message
282 --into the inbound queue for processing.
283 --
284 PROCEDURE fix
285 (
286 	p_msg_id IN NUMBER
287 );
288 
289 -- Deletes the message from the System.
290 -- Ensures there is no runtime data in XNP_MSGS, XNP_TIMER_REGISTRY
291 -- and XNP_CALLBACK_EVENTS
292 --
293 PROCEDURE delete
294 (
295 	p_msg_code IN VARCHAR2
296 ) ;
297 
298 --   Enqueues the message and message body  on a user defined queue .
299 
300 PROCEDURE PUSH_WF(
301          p_msg_header      IN msg_header_rec_type
302         ,p_body_text       IN VARCHAR2
303         ,p_queue_name      IN VARCHAR2
304         ,p_correlation_id  IN VARCHAR2 DEFAULT NULL
305         ,p_priority        IN INTEGER DEFAULT 1
306         ,p_commit_mode     IN NUMBER DEFAULT c_on_commit
307         ,p_delay           IN NUMBER DEFAULT DBMS_AQ.NO_DELAY );
308 
309 
310 END xnp_message;