[Home] [Help]
PACKAGE BODY: APPS.PON_BIZ_EVENTS_PVT
Source
1 PACKAGE BODY PON_BIZ_EVENTS_PVT AS
2 --$Header: PONVEVTB.pls 120.0 2005/06/01 18:30:19 appldev noship $
3
4 g_pkg_name CONSTANT VARCHAR2(25):='PON_BIZ_EVENTS_PVT';
5
6 g_err_loc VARCHAR2(400);
7
8 -- Global variable for status which will be set in different sub-procedures
9 g_return_status VARCHAR2(50);
10
11 -- Indicate if the debug mode is on
12 g_debug_mode VARCHAR2(10);
13
14 -- module name for logging message
15 g_module_prefix CONSTANT VARCHAR2(40) := 'pon.plsql.pon_biz_events_pvt.';
16
17 PROCEDURE RAISE_EVENT (
18 p_api_version IN NUMBER,
19 p_init_msg_list IN VARCHAR2,
20 p_event_name IN VARCHAR2,
21 p_event_key IN VARCHAR2,
22 p_parameter_list IN WF_PARAMETER_LIST_T,
23 x_return_status IN OUT NOCOPY VARCHAR2,
24 x_msg_count IN OUT NOCOPY NUMBER,
25 x_msg_data IN OUT NOCOPY VARCHAR2);
26
27 PROCEDURE LOG_MESSAGE( p_module IN VARCHAR2, p_message IN VARCHAR2) ;
28
29 -- Start of comments
30 -- API name : RAISE_NEG_PUB_EVENT
31 -- Type : Private
32 -- Pre-reqs : Negotiation with the given auction_header_id
33 -- (p_source_auction_header_id) must exists in the database and it
34 -- should be published in the current transaction context
35 -- Function : Calls Workflow API to raise a Business Event for Negotiation
36 -- publication event for the given auction_header_id (p_auction_header_id)
37 -- Modifies : None
38 -- Locks : None
39 --
40 -- Parameters :
41 -- IN : p_api_version NUMBER Required
42 -- IN p_init_msg_list VARCHAR2 DEFAULT FND_API.G_TRUE Optional
43 -- IN : p_commit VARCHAR2 DEFAULT FND_API.G_TRUE Optional
44 -- IN : p_auction_header_id NUMBER Required, auction_header_id
45 -- of the negotiation published
46 -- OUT : x_return_status VARCHAR2, flag to indicate if the procedure
47 -- was successful or not; It can have
48 -- following values -
49 -- FND_API.G_RET_STS_SUCCESS (Success)
50 -- FND_API.G_RET_STS_ERROR (Failed due to error)
51 -- OUT : x_msg_count NUMBER, the number of warning of error messages due
52 -- to this procedure call. It will have following
53 -- values -
54 -- 0 (for Success without warning)
55 -- 1 or more (for Error(s)/Warning(s)
56 -- OUT : x_msg_data VARCHAR2, the standard message data output parameter
57 -- used to return the first message of the stack
58 -- Version : Current version 1.0
59 -- Previous version 1.0
60 -- Initial version 1.0
61 --
62 -- End of comments
63 PROCEDURE RAISE_NEG_PUB_EVENT (
64 p_api_version IN NUMBER,
65 p_init_msg_list IN VARCHAR2 ,
66 p_commit IN VARCHAR2 ,
67 p_auction_header_id IN NUMBER,
68 x_return_status IN OUT NOCOPY VARCHAR2,
69 x_msg_count IN OUT NOCOPY NUMBER,
70 x_msg_data IN OUT NOCOPY VARCHAR2)
71 IS
72 l_auction_header_id PON_AUCTION_HEADERS_ALL.AUCTION_HEADER_ID%TYPE;
73 l_document_number PON_AUCTION_HEADERS_ALL.DOCUMENT_NUMBER%TYPE;
74 l_auction_title PON_AUCTION_HEADERS_ALL.AUCTION_TITLE%TYPE;
75 l_open_bidding_date VARCHAR2(100);
76 l_close_bidding_date VARCHAR2(100);
77 l_publish_date VARCHAR2(100);
78
79 l_parameter_list WF_PARAMETER_LIST_T := WF_PARAMETER_LIST_T();
80
81 BEGIN
82 -- { Start of RAISE_NEG_PUB_EVENT
83
84 BEGIN
85 g_debug_mode := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
86 EXCEPTION
87 WHEN OTHERS THEN
88 g_debug_mode := 'N';
89 END;
90
91 LOG_MESSAGE('raise_neg_pub_event','is being called');
92
93 --
94 -- Populate the Business Event parameters
95 --
96 SELECT
97 AUCTION_HEADER_ID,
98 DOCUMENT_NUMBER ,
99 AUCTION_TITLE,
100 TO_CHAR(OPEN_BIDDING_DATE,'dd-mm-yyyy hh24:mi:ss'),
101 TO_CHAR(CLOSE_BIDDING_DATE,'dd-mm-yyyy hh24:mi:ss'),
102 TO_CHAR(PUBLISH_DATE,'dd-mm-yyyy hh24:mi:ss')
103 INTO
104 l_auction_header_id,
105 l_document_number,
106 l_auction_title,
107 l_open_bidding_date,
108 l_close_bidding_date,
109 l_publish_date
110 FROM PON_AUCTION_HEADERS_ALL
111 WHERE AUCTION_HEADER_ID = p_auction_header_id;
112
113 --
114 -- Add the parameters
115 --
116 wf_event.AddParameterToList( p_name => 'auction_header_id',
117 p_value => l_auction_header_id,
118 p_parameterlist => l_parameter_list);
119
120 wf_event.AddParameterToList( p_name => 'document_number',
121 p_value => l_document_number,
122 p_parameterlist => l_parameter_list);
123
124 wf_event.AddParameterToList( p_name => 'auction_title',
125 p_value => l_auction_title,
126 p_parameterlist => l_parameter_list);
127
128 wf_event.AddParameterToList( p_name => 'open_bidding_date',
129 p_value => l_open_bidding_date,
130 p_parameterlist => l_parameter_list);
131
132 wf_event.AddParameterToList( p_name => 'close_bidding_date',
133 p_value => l_close_bidding_date,
134 p_parameterlist => l_parameter_list);
135
136 wf_event.AddParameterToList( p_name => 'publish_date',
137 p_value => l_publish_date,
138 p_parameterlist => l_parameter_list);
139
140 RAISE_EVENT (
141 p_api_version => p_api_version,
142 p_init_msg_list => p_init_msg_list,
143 p_event_name => 'oracle.apps.pon.event.negotiation.publish',
144 p_event_key => to_char(l_auction_header_id),
145 p_parameter_list => l_parameter_list,
146 x_return_status => x_return_status,
147 x_msg_count => x_msg_count,
148 x_msg_data => x_msg_data);
149
150 END;
151 -- } End of RAISE_NEG_PUB_EVENT
152
153
154 -- Start of comments
155 -- API name : RAISE_RESPNSE_PUB_EVENT
156 -- Type : Private
157 -- Pre-reqs : Response with the given bid_number
158 -- (p_bid_number) must exists in the database
159 -- Function : Calls Workflow API to raise a Business Event for Negotiation
160 -- publication of Response event for the
161 -- given bid_number (p_bid_number)
162 -- Modifies : None
163 -- Locks : None
164 --
165 -- Parameters :
166 -- IN : p_api_version NUMBER Required
167 -- IN : p_init_msg_list VARCHAR2 DEFAULT FND_API.G_FALSE Optional
168 -- IN : p_commit VARCHAR2 DEFAULT FND_API.G_FALSE Optional
169 -- IN : p_bid_number NUMBER Required, bid_number
170 -- of the Response published
171 -- OUT : x_return_status VARCHAR2, flag to indicate if the procedure
172 -- was successful or not; It can have
173 -- following values -
174 -- FND_API.G_RET_STS_SUCCESS (Success)
175 -- FND_API.G_RET_STS_ERROR (Failed due to error)
176 -- OUT : x_msg_count NUMBER, the number of warning of error messages due
177 -- to this procedure call. It will have following
178 -- values -
179 -- 0 (for Success without warning)
180 -- 1 or more (for Error(s)/Warning(s)
181 -- OUT : x_msg_data VARCHAR2, the standard message data output parameter
182 -- used to return the first message of the stack
183 -- Version : Current version 1.0
184 -- Previous version 1.0
185 -- Initial version 1.0
186 --
187 -- End of comments
188
189 PROCEDURE RAISE_RESPNSE_PUB_EVENT(
190 p_api_version IN NUMBER,
191 p_init_msg_list IN VARCHAR2 ,
192 p_commit IN VARCHAR2,
193 p_bid_number IN NUMBER,
194 x_return_status IN OUT NOCOPY VARCHAR2,
195 x_msg_count IN OUT NOCOPY NUMBER,
196 x_msg_data IN OUT NOCOPY VARCHAR2
197 )
198 IS
199 l_bid_number PON_BID_HEADERS. BID_NUMBER%TYPE;
200 l_auction_header_id PON_BID_HEADERS. AUCTION_HEADER_ID%TYPE;
201 l_document_number PON_AUCTION_HEADERS_ALL.DOCUMENT_NUMBER%TYPE;
202 l_trading_partner_contact_id PON_BID_HEADERS.TRADING_PARTNER_CONTACT_ID%TYPE;
203 l_trading_partner_id PON_BID_HEADERS.TRADING_PARTNER_ID%TYPE;
204 l_publish_date VARCHAR2(100);
205 l_surr_bid_created_contct_id PON_BID_HEADERS.SURROG_BID_CREATED_CONTACT_ID%TYPE;
206 l_surrog_bid_created_tp_id PON_BID_HEADERS.SURROG_BID_CREATED_TP_ID%TYPE;
207
208 l_parameter_list WF_PARAMETER_LIST_T := WF_PARAMETER_LIST_T();
209
210 BEGIN
211 -- { Start of RAISE_RESPNSE_PUB_EVENT
212
213 BEGIN
214 g_debug_mode := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
215 EXCEPTION
216 WHEN OTHERS THEN
217 g_debug_mode := 'N';
218 END;
219
220 LOG_MESSAGE('raise_neg_pub_event','is being called');
221
222 --
223 -- Populate the Business Event parameters
224 --
225 SELECT
226 B.BID_NUMBER,
227 B.AUCTION_HEADER_ID,
228 A.DOCUMENT_NUMBER,
229 B.TRADING_PARTNER_CONTACT_ID,
230 B.TRADING_PARTNER_ID,
231 TO_CHAR(B.PUBLISH_DATE,'dd-mm-yyyy hh24:mi:ss'),
232 B.SURROG_BID_CREATED_CONTACT_ID,
233 B.SURROG_BID_CREATED_TP_ID
234 INTO
235 l_bid_number,
236 l_auction_header_id,
237 l_document_number,
238 l_trading_partner_contact_id,
239 l_trading_partner_id,
240 l_publish_date,
241 l_surr_bid_created_contct_id,
242 l_surrog_bid_created_tp_id
243 FROM PON_BID_HEADERS B, PON_AUCTION_HEADERS_ALL A
244 WHERE B.BID_NUMBER = p_bid_number
245 AND A.AUCTION_HEADER_ID = B.AUCTION_HEADER_ID;
246
247 --
248 -- Add the parameters
249 --
250 wf_event.AddParameterToList( p_name => 'bid_number',
251 p_value => l_bid_number,
252 p_parameterlist => l_parameter_list);
253
254 wf_event.AddParameterToList( p_name => 'auction_header_id',
255 p_value => l_auction_header_id,
256 p_parameterlist => l_parameter_list);
257
258 wf_event.AddParameterToList( p_name => 'document_number',
259 p_value => l_document_number,
260 p_parameterlist => l_parameter_list);
261
262 wf_event.AddParameterToList( p_name => 'bidder_tp_contact_id',
263 p_value => l_trading_partner_contact_id,
264 p_parameterlist => l_parameter_list);
265
266 wf_event.AddParameterToList( p_name => 'bidder_tp_id',
267 p_value => l_trading_partner_id,
268 p_parameterlist => l_parameter_list);
269
270 wf_event.AddParameterToList( p_name => 'publish_date',
271 p_value => l_publish_date,
272 p_parameterlist => l_parameter_list);
273
274 wf_event.AddParameterToList( p_name => 'surrog_tp_contact_id',
275 p_value => l_surr_bid_created_contct_id,
276 p_parameterlist => l_parameter_list);
277
278 wf_event.AddParameterToList( p_name => 'surrog_tp_id',
279 p_value => l_surrog_bid_created_tp_id,
280 p_parameterlist => l_parameter_list);
281
282
283 RAISE_EVENT (
284 p_api_version => p_api_version,
285 p_init_msg_list => p_init_msg_list,
286 p_event_name => 'oracle.apps.pon.event.response.publish',
287 p_event_key => to_char(l_bid_number),
291 x_msg_data => x_msg_data);
288 p_parameter_list => l_parameter_list,
289 x_return_status => x_return_status,
290 x_msg_count => x_msg_count,
292
293 END;
294 -- } End of RAISE_RESPNSE_PUB_EVENT
295
296
297 -- Start of comments
298 -- API name : RAISE_RESPNSE_DISQ_EVENT
299 -- Type : Private
300 -- Pre-reqs : Response with the given bid_number
301 -- (p_bid_number) must exists in the database
302 -- Function : Calls Workflow API to raise a Business Event for Disqualification
303 -- of Response event for the given bid_number (p_bid_number)
304 -- Modifies : None
305 -- Locks : None
306 --
307 -- Parameters :
308 -- IN : p_api_version NUMBER Required
309 -- IN : p_init_msg_list VARCHAR2 DEFAULT FND_API.G_FALSE Optional
310 -- IN : p_commit VARCHAR2 DEFAULT FND_API.G_FALSE Optional
311 -- IN : p_bid_number NUMBER Required, bid_number
312 -- of the Response published
313 -- OUT : x_return_status VARCHAR2, flag to indicate if the procedure
314 -- was successful or not; It can have
315 -- following values -
316 -- FND_API.G_RET_STS_SUCCESS (Success)
317 -- FND_API.G_RET_STS_ERROR (Failed due to error)
318 -- OUT : x_msg_count NUMBER, the number of warning of error messages due
319 -- to this procedure call. It will have following
320 -- values -
321 -- 0 (for Success without warning)
322 -- 1 or more (for Error(s)/Warning(s)
323 -- OUT : x_msg_data VARCHAR2, the standard message data output parameter
324 -- used to return the first message of the stack
325 -- Versioni : Current version 1.0
326 -- Previous version 1.0
327 -- Initial version 1.0
328 --
329 -- End of comments
330
331
332 PROCEDURE RAISE_RESPNSE_DISQ_EVENT
333 (
334 p_api_version IN NUMBER,
335 p_init_msg_list IN VARCHAR2 ,
336 p_commit IN VARCHAR2 ,
337 p_bid_number IN NUMBER,
338 x_return_status IN OUT NOCOPY VARCHAR2,
339 x_msg_count IN OUT NOCOPY NUMBER,
340 x_msg_data IN OUT NOCOPY VARCHAR2
341 )
342 IS
343 l_bid_number PON_BID_HEADERS. BID_NUMBER%TYPE;
344 l_auction_header_id PON_BID_HEADERS. AUCTION_HEADER_ID%TYPE;
345 l_document_number PON_AUCTION_HEADERS_ALL.DOCUMENT_NUMBER%TYPE;
346 l_trading_partner_contact_id PON_BID_HEADERS.TRADING_PARTNER_CONTACT_ID%TYPE;
347 l_trading_partner_id PON_BID_HEADERS.TRADING_PARTNER_ID%TYPE;
348 l_publish_date VARCHAR2(100);
349 l_last_update_date VARCHAR2(100);
350 l_disqualify_reason PON_BID_HEADERS.DISQUALIFY_REASON%TYPE;
351
352 l_parameter_list WF_PARAMETER_LIST_T := WF_PARAMETER_LIST_T();
353
354 BEGIN
355 -- { Start of RAISE_RESPNSE_DISQ_EVENT
356
357 BEGIN
358 g_debug_mode := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
359 EXCEPTION
360 WHEN OTHERS THEN
361 g_debug_mode := 'N';
362 END;
363
364 LOG_MESSAGE('raise_neg_pub_event','is being called');
365
366 --
367 -- Populate the Business Event parameters
368 --
369 SELECT
370 B.BID_NUMBER,
371 B.AUCTION_HEADER_ID,
372 A.DOCUMENT_NUMBER,
373 B.TRADING_PARTNER_CONTACT_ID,
374 B.TRADING_PARTNER_ID,
375 TO_CHAR(B.PUBLISH_DATE,'dd-mm-yyyy hh24:mi:ss'),
376 TO_CHAR(B.LAST_UPDATE_DATE,'dd-mm-yyyy hh24:mi:ss'),
377 B.DISQUALIFY_REASON
378 INTO
379 l_bid_number,
380 l_auction_header_id,
381 l_document_number,
382 l_trading_partner_contact_id,
383 l_trading_partner_id,
384 l_publish_date,
385 l_last_update_date,
386 l_disqualify_reason
387 FROM PON_BID_HEADERS B, PON_AUCTION_HEADERS_ALL A
388 WHERE B.BID_NUMBER = p_bid_number
389 AND A.AUCTION_HEADER_ID = B.AUCTION_HEADER_ID;
390
391
392 --
393 -- Add the parameters
394 --
395 wf_event.AddParameterToList( p_name => 'bid_number',
396 p_value => l_bid_number,
397 p_parameterlist => l_parameter_list);
398
399 wf_event.AddParameterToList( p_name => 'auction_header_id',
400 p_value => l_auction_header_id,
401 p_parameterlist => l_parameter_list);
402
403 wf_event.AddParameterToList( p_name => 'document_number',
404 p_value => l_document_number,
405 p_parameterlist => l_parameter_list);
406
407 wf_event.AddParameterToList( p_name => 'bidder_tp_contact_id',
408 p_value => l_trading_partner_contact_id,
409 p_parameterlist => l_parameter_list);
410
411 wf_event.AddParameterToList( p_name => 'bidder_tp_id',
412 p_value => l_trading_partner_id,
413 p_parameterlist => l_parameter_list);
414
415 wf_event.AddParameterToList( p_name => 'publish_date',
416 p_value => l_publish_date,
417 p_parameterlist => l_parameter_list);
418
419 wf_event.AddParameterToList( p_name => 'disqualify_date',
420 p_value => l_last_update_date,
421 p_parameterlist => l_parameter_list);
422
423 wf_event.AddParameterToList( p_name => 'disqualify_reason',
424 p_value => l_disqualify_reason,
428 RAISE_EVENT (
425 p_parameterlist => l_parameter_list);
426
427
429 p_api_version => p_api_version,
430 p_init_msg_list => p_init_msg_list,
431 p_event_name => 'oracle.apps.pon.event.response.disqualify',
432 p_event_key => to_char(l_bid_number),
433 p_parameter_list => l_parameter_list,
434 x_return_status => x_return_status,
435 x_msg_count => x_msg_count,
436 x_msg_data => x_msg_data);
437
438 END;
439 -- } End of RAISE_RESPNSE_DISQ_EVENT
440
441
442 -- Start of comments
443 -- API name : RAISE_NEG_AWD_APPR_STRT_EVENT
444 -- Type : Private
445 -- Pre-reqs : Negotiation with the given auction_header_id
446 -- (p_auction_header_id) must exists in the database
447 -- Function : Calls Workflow API to raise a Business Event for Submission
448 -- of Award Approval event for the given auction_header_id (p_auction_header_id)
449 -- Modifies : None
450 -- Locks : None
451 --
452 -- Parameters :
453 -- IN : p_api_version NUMBER Required
454 -- IN : p_init_msg_list VARCHAR2 DEFAULT FND_API.G_FALSE Optional
455 -- IN : p_commit VARCHAR2 DEFAULT FND_API.G_FALSE Optional
456 -- IN : p_auction_header_id NUMBER Required, auction_header_id
457 -- of the Negotiation submitted
458 -- OUT : x_return_status VARCHAR2, flag to indicate if the procedure
459 -- was successful or not; It can have
460 -- following values -
461 -- FND_API.G_RET_STS_SUCCESS (Success)
462 -- FND_API.G_RET_STS_ERROR (Failed due to error)
463 -- OUT : x_msg_count NUMBER, the number of warning of error messages due
464 -- to this procedure call. It will have following
465 -- values -
466 -- 0 (for Success without warning)
467 -- 1 or more (for Error(s)/Warning(s)
468 -- OUT : x_msg_data VARCHAR2, the standard message data output parameter
469 -- used to return the first message of the stack
470 -- Version : Current version 1.0
471 -- Previous version 1.0
472 -- Initial version 1.0
473 --
474 -- End of comments
475
476
477 PROCEDURE RAISE_NEG_AWD_APPR_STRT_EVENT(
478 p_api_version IN NUMBER,
479 p_init_msg_list IN VARCHAR2,
480 p_commit IN VARCHAR2,
481 p_auction_header_id IN NUMBER,
482 x_return_status IN OUT NOCOPY VARCHAR2,
483 x_msg_count IN OUT NOCOPY NUMBER,
484 x_msg_data IN OUT NOCOPY VARCHAR2
485 )
486 IS
487 l_auction_header_id PON_AUCTION_HEADERS_ALL. AUCTION_HEADER_ID%TYPE;
488 l_document_number PON_AUCTION_HEADERS_ALL.DOCUMENT_NUMBER%TYPE;
489 l_award_appr_ame_trans_id PON_AUCTION_HEADERS_ALL.AWARD_APPR_AME_TRANS_ID%TYPE;
490 l_award_appr_ame_txn_date VARCHAR2(100);
491 l_award_approval_status PON_AUCTION_HEADERS_ALL.AWARD_APPROVAL_STATUS%TYPE;
492 l_wf_award_approval_item_key PON_AUCTION_HEADERS_ALL.WF_AWARD_APPROVAL_ITEM_KEY%TYPE;
493
494 l_parameter_list WF_PARAMETER_LIST_T := WF_PARAMETER_LIST_T();
495
496 BEGIN
497 -- { Start of RAISE_NEG_AWD_APPR_START_EVENT
498
499 BEGIN
500 g_debug_mode := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
501 EXCEPTION
502 WHEN OTHERS THEN
503 g_debug_mode := 'N';
504 END;
505
506 LOG_MESSAGE('RAISE_NEG_AWRD_APPR_START_EVENT','is being called');
507
508 --
509 -- Populate the Business Event parameters
510 --
511 SELECT
512 AUCTION_HEADER_ID,
513 DOCUMENT_NUMBER ,
514 AWARD_APPR_AME_TRANS_ID,
515 TO_CHAR(AWARD_APPR_AME_TXN_DATE,'dd-mm-yyyy hh24:mi:ss'),
516 AWARD_APPROVAL_STATUS,
517 WF_AWARD_APPROVAL_ITEM_KEY
518 INTO
519 l_auction_header_id,
520 l_document_number,
521 l_award_appr_ame_trans_id,
522 l_award_appr_ame_txn_date,
523 l_award_approval_status,
524 l_wf_award_approval_item_key
525 FROM PON_AUCTION_HEADERS_ALL
526 WHERE AUCTION_HEADER_ID = p_auction_header_id;
527
528 --
529 -- Add the parameters
530 --
531 wf_event.AddParameterToList( p_name => 'auction_header_id',
532 p_value => l_auction_header_id,
533 p_parameterlist => l_parameter_list);
534
535 wf_event.AddParameterToList( p_name => 'document_number',
536 p_value => l_document_number,
537 p_parameterlist => l_parameter_list);
538
539 wf_event.AddParameterToList( p_name => 'ame_transaction_id',
540 p_value => l_award_appr_ame_trans_id,
541 p_parameterlist => l_parameter_list);
542
543 wf_event.AddParameterToList( p_name => 'ame_last_trans_date',
544 p_value => l_award_appr_ame_txn_date,
545 p_parameterlist => l_parameter_list);
546
547 wf_event.AddParameterToList( p_name => 'award_approval_status',
548 p_value => l_award_approval_status,
549 p_parameterlist => l_parameter_list);
550
551 wf_event.AddParameterToList( p_name => 'wf_award_appr_item_key',
552 p_value => l_wf_award_approval_item_key,
553 p_parameterlist => l_parameter_list);
554
555 RAISE_EVENT (
556 p_api_version => p_api_version,
560 p_parameter_list => l_parameter_list,
557 p_init_msg_list => p_init_msg_list,
558 p_event_name => 'oracle.apps.pon.event.negotiation.award_approval_start',
559 p_event_key => to_char(l_auction_header_id)||'-'||to_char(l_award_appr_ame_trans_id),
561 x_return_status => x_return_status,
562 x_msg_count => x_msg_count,
563 x_msg_data => x_msg_data);
564
565 END;
566 -- } End of RAISE_NEG_AWD_APPR_START_EVENT
567
568
569
570 -- Start of comments
571 -- API name : RAISE_NEG_AWRD_COMPLETE_EVENT
572 -- Type : Private
573 -- Pre-reqs : Negotiation with the given auction_header_id
574 -- (p_auction_header_id) must exists in the database
575 -- Function : Calls Workflow API to raise a Business Event for Completion
576 -- of Award event for the given auction_header_id (p_auction_header_id)
577 -- Modifies : None
578 -- Locks : None
579 --
580 -- Parameters :
581 -- IN : p_api_version NUMBER Required
582 -- IN : p_init_msg_list VARCHAR2 DEFAULT FND_API.G_FALSE Optional
583 -- IN : p_commit VARCHAR2 DEFAULT FND_API.G_FALSE Optional
584 -- IN : p_auction_header_id NUMBER Required, p_auction_header_id
585 -- of the Negotiation completed
586 -- IN : p_create_po_flag VARCHAR2 Required, Flag to indicate if the user
587 -- has decided to create PO after the completion of
588 -- of the Award of the given Negotiation
589 -- OUT : x_return_status VARCHAR2, flag to indicate if the procedure
590 -- was successful or not; It can have
591 -- following values -
592 -- FND_API.G_RET_STS_SUCCESS (Success)
593 -- FND_API.G_RET_STS_ERROR (Failed due to error)
594 -- OUT : x_msg_count NUMBER, the number of warning of error messages due
595 -- to this procedure call. It will have following
596 -- values -
597 -- 0 (for Success without warning)
598 -- 1 or more (for Error(s)/Warning(s)
599 -- OUT : x_msg_data VARCHAR2, the standard message data output parameter
600 -- used to return the first message of the stack
601 -- Version : Current version 1.0
602 -- Previous version 1.0
603 -- Initial version 1.0
604 --
605 -- End of comments
606
607
608 PROCEDURE RAISE_NEG_AWRD_COMPLETE_EVENT(
609 p_api_version IN NUMBER,
610 p_init_msg_list IN VARCHAR2 ,
611 p_commit IN VARCHAR2 ,
612 p_auction_header_id IN NUMBER,
613 p_create_po_flag IN VARCHAR2,
614 x_return_status IN OUT NOCOPY VARCHAR2,
615 x_msg_count IN OUT NOCOPY NUMBER,
616 x_msg_data IN OUT NOCOPY VARCHAR2
617 )
618 IS
619 l_auction_header_id PON_AUCTION_HEADERS_ALL.AUCTION_HEADER_ID%TYPE;
620 l_document_number PON_AUCTION_HEADERS_ALL.DOCUMENT_NUMBER%TYPE;
621 l_outcome_status PON_AUCTION_HEADERS_ALL.OUTCOME_STATUS%TYPE;
622 l_source_reqs_flag PON_AUCTION_HEADERS_ALL.SOURCE_REQS_FLAG%TYPE;
623 l_share_award_decision PON_AUCTION_HEADERS_ALL.SHARE_AWARD_DECISION%TYPE;
624 l_award_complete_date VARCHAR2(100);
625 l_requisition_based_flag VARCHAR2(3);
626
627 l_parameter_list WF_PARAMETER_LIST_T := WF_PARAMETER_LIST_T();
628
629 BEGIN
630 -- { Start of RAISE_NEG_AWRD_COMPLETE_EVENT
631
632 BEGIN
633 g_debug_mode := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
634 EXCEPTION
635 WHEN OTHERS THEN
636 g_debug_mode := 'N';
637 END;
638
639 LOG_MESSAGE('RAISE_NEG_AWRD_COMPLETE_EVENT','is being called');
640
641 --
642 -- Populate the Business Event parameters
643 --
644 SELECT
645 AUCTION_HEADER_ID,
646 DOCUMENT_NUMBER ,
647 OUTCOME_STATUS,
648 SOURCE_REQS_FLAG,
649 SHARE_AWARD_DECISION,
650 TO_CHAR(AWARD_COMPLETE_DATE,'dd-mm-yyyy hh24:mi:ss'),
651 DECODE(NVL(AUCTION_ORIGINATION_CODE,'N'),'REQUISITION','Y','N')
652 INTO
653 l_auction_header_id ,
654 l_document_number ,
655 l_outcome_status,
656 l_source_reqs_flag,
657 l_share_award_decision,
658 l_award_complete_date,
659 l_requisition_based_flag
660 FROM PON_AUCTION_HEADERS_ALL
661 WHERE AUCTION_HEADER_ID = p_auction_header_id;
662
663 --
664 -- Add the parameters
665 --
666 wf_event.AddParameterToList( p_name => 'auction_header_id',
667 p_value => l_auction_header_id,
668 p_parameterlist => l_parameter_list);
669
670 wf_event.AddParameterToList( p_name => 'document_number',
671 p_value => l_document_number,
672 p_parameterlist => l_parameter_list);
673
674 wf_event.AddParameterToList( p_name => 'outcome_status',
675 p_value => l_outcome_status,
676 p_parameterlist => l_parameter_list);
677
678 wf_event.AddParameterToList( p_name => 'create_po_flag',
679 p_value => p_create_po_flag,
680 p_parameterlist => l_parameter_list);
681
682 wf_event.AddParameterToList( p_name => 'has_requisition_flag',
686 wf_event.AddParameterToList( p_name => 'source_backing_req_lines',
683 p_value => l_requisition_based_flag,
684 p_parameterlist => l_parameter_list);
685
687 p_value => l_source_reqs_flag,
688 p_parameterlist => l_parameter_list);
689
690 wf_event.AddParameterToList( p_name => 'share_award_decision_flag',
691 p_value => l_share_award_decision,
692 p_parameterlist => l_parameter_list);
693
694 wf_event.AddParameterToList( p_name => 'award_complete_date',
695 p_value => l_award_complete_date,
696 p_parameterlist => l_parameter_list);
697
698
699 RAISE_EVENT (
700 p_api_version => p_api_version,
701 p_init_msg_list => p_init_msg_list,
702 p_event_name => 'oracle.apps.pon.event.negotiation.award_complete',
703 p_event_key => to_char(l_auction_header_id),
704 p_parameter_list => l_parameter_list,
705 x_return_status => x_return_status,
706 x_msg_count => x_msg_count,
707 x_msg_data => x_msg_data);
708
709 END;
710 -- } End of RAISE_NEG_AWRD_COMPLETE_EVENT
711
712
713
714 -- Start of comments
715 -- API name : RAISE_PO_CREATION_INIT_EVENT
716 -- Type : Private
717 -- Pre-reqs : Negotiation with the given auction_header_id
718 -- (p_auction_header_id) must exists in the database
719 -- Function : Calls Workflow API to raise a Business Event for PO Creation
720 -- initiation event for the given Negotiation (p_auction_header_id)
721 -- Modifies : None
722 -- Locks : None
723 --
724 -- Parameters :
725 -- IN : p_api_version NUMBER Required
726 -- IN : p_init_msg_list VARCHAR2 DEFAULT FND_API.G_FALSE Optional
727 -- IN : p_commit VARCHAR2 DEFAULT FND_API.G_FALSE Optional
728 -- IN : p_auction_header_id NUMBER Required, p_auction_header_id
729 -- of the Negotiation for which PO creation is started
730 -- IN : p_user_name VARCHAR2 Required, User Name
731 -- of the Negotiation Creator who has initiated PO creation
732 -- IN : p_requisition_based_flag VARCHAR2 Required, Flag to indicate if the
733 -- Negotiation has some backing Requisition(s)
734 -- OUT : x_return_status VARCHAR2, flag to indicate if the procedure
735 -- was successful or not; It can have
736 -- following values -
737 -- FND_API.G_RET_STS_SUCCESS (Success)
738 -- FND_API.G_RET_STS_ERROR (Failed due to error)
739 -- OUT : x_msg_count NUMBER, the number of warning of error messages due
740 -- to this procedure call. It will have following
741 -- values -
742 -- 0 (for Success without warning)
743 -- 1 or more (for Error(s)/Warning(s)
744 -- OUT : x_msg_data VARCHAR2, the standard message data output parameter
745 -- used to return the first message of the stack
746 -- Version : Current version 1.0
747 -- Previous version 1.0
748 -- Initial version 1.0
749 --
750 -- End of comments
751
752 PROCEDURE RAISE_PO_CREATION_INIT_EVENT
753 (
754 p_api_version IN NUMBER,
755 p_init_msg_list IN VARCHAR2 ,
756 p_commit IN VARCHAR2 ,
757 p_auction_header_id IN NUMBER,
758 p_user_name IN VARCHAR2,
759 p_requisition_based_flag IN VARCHAR2,
760 x_return_status IN OUT NOCOPY VARCHAR2,
761 x_msg_count IN OUT NOCOPY NUMBER,
762 x_msg_data IN OUT NOCOPY VARCHAR2
763 )
764 IS
765 l_auction_header_id PON_AUCTION_HEADERS_ALL.AUCTION_HEADER_ID%TYPE;
766 l_document_number PON_AUCTION_HEADERS_ALL.DOCUMENT_NUMBER %TYPE;
767 l_doctype_id PON_AUCTION_HEADERS_ALL.DOCTYPE_ID%TYPE;
768 l_contract_type PON_AUCTION_HEADERS_ALL.CONTRACT_TYPE%TYPE;
769 l_outcome_status PON_AUCTION_HEADERS_ALL.OUTCOME_STATUS%TYPE;
770 l_wf_poncompl_item_key PON_AUCTION_HEADERS_ALL.WF_PONCOMPL_ITEM_KEY%TYPE;
771 l_wf_poncompl_current_round PON_AUCTION_HEADERS_ALL.WF_PONCOMPL_CURRENT_ROUND%TYPE;
772 l_last_update_date VARCHAR2(100);
773 l_source_reqs_flag PON_AUCTION_HEADERS_ALL.SOURCE_REQS_FLAG%TYPE;
774 l_requisition_based_flag VARCHAR2(3);
775
776 l_parameter_list WF_PARAMETER_LIST_T := WF_PARAMETER_LIST_T();
777
778 BEGIN
779 -- { Start of RAISE_PO_CREATION_INIT_EVENT
780
781 BEGIN
782 g_debug_mode := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
783 EXCEPTION
784 WHEN OTHERS THEN
785 g_debug_mode := 'N';
786 END;
787
788 LOG_MESSAGE('RAISE_PO_CREATION_INIT_EVENT','is being called');
789
790 IF (p_requisition_based_flag <> 'REQUISITION') THEN
791 l_requisition_based_flag := 'N';
792 ELSE
793 l_requisition_based_flag := 'Y';
794 END IF;
795
796 --
797 -- Populate the Business Event parameters
798 --
799 SELECT
800 AUCTION_HEADER_ID,
801 DOCUMENT_NUMBER ,
805 WF_PONCOMPL_ITEM_KEY,
802 DOCTYPE_ID,
803 CONTRACT_TYPE,
804 OUTCOME_STATUS,
806 WF_PONCOMPL_CURRENT_ROUND,
807 TO_CHAR(LAST_UPDATE_DATE,'dd-mm-yyyy hh24:mi:ss'),
808 NVL(SOURCE_REQS_FLAG,'N')
809 INTO
810 l_auction_header_id,
811 l_document_number,
812 l_doctype_id,
813 l_contract_type,
814 l_outcome_status,
815 l_wf_poncompl_item_key,
816 l_wf_poncompl_current_round,
817 l_last_update_date,
818 l_source_reqs_flag
819 FROM PON_AUCTION_HEADERS_ALL
820 WHERE AUCTION_HEADER_ID = p_auction_header_id;
821
822 --
823 -- Add the parameters
824 --
825 wf_event.AddParameterToList( p_name => 'auction_header_id',
826 p_value => l_auction_header_id,
827 p_parameterlist => l_parameter_list);
828
829 wf_event.AddParameterToList( p_name => 'document_number',
830 p_value => l_document_number,
831 p_parameterlist => l_parameter_list);
832
833 wf_event.AddParameterToList( p_name => 'doctype_id',
834 p_value => l_doctype_id,
835 p_parameterlist => l_parameter_list);
836
837 wf_event.AddParameterToList( p_name => 'contract_type',
838 p_value => l_contract_type,
839 p_parameterlist => l_parameter_list);
840
841 wf_event.AddParameterToList( p_name => 'user_name',
842 p_value => p_user_name,
843 p_parameterlist => l_parameter_list);
844
845 wf_event.AddParameterToList( p_name => 'outcome_status',
846 p_value => l_outcome_status,
847 p_parameterlist => l_parameter_list);
848
849 wf_event.AddParameterToList( p_name => 'has_requisition_flag',
850 p_value => l_requisition_based_flag,
851 p_parameterlist => l_parameter_list);
852
853 wf_event.AddParameterToList( p_name => 'wf_poncompl_item_key',
854 p_value => l_wf_poncompl_item_key,
855 p_parameterlist => l_parameter_list);
856
857 wf_event.AddParameterToList( p_name => 'wf_poncompl_current_round',
858 p_value => l_wf_poncompl_current_round,
859 p_parameterlist => l_parameter_list);
860
861 wf_event.AddParameterToList( p_name => 'po_initiation_date',
862 p_value => l_last_update_date,
863 p_parameterlist => l_parameter_list);
864
865 wf_event.AddParameterToList( p_name => 'source_backing_req_lines',
866 p_value => l_source_reqs_flag,
867 p_parameterlist => l_parameter_list);
868
869
870 RAISE_EVENT (
871 p_api_version => p_api_version,
872 p_init_msg_list => p_init_msg_list,
873 p_event_name => 'oracle.apps.pon.event.purchaseorder.initiate',
874 p_event_key => to_char(l_auction_header_id)||'-'||to_char(l_wf_poncompl_current_round),
875 p_parameter_list => l_parameter_list,
876 x_return_status => x_return_status,
877 x_msg_count => x_msg_count,
878 x_msg_data => x_msg_data);
879
880 END;
881 -- } End of RAISE_PO_CREATION_INIT_EVENT
882
883
884 --
885 -- Procedure to call Workflow API to raise a Business Event for Negotiation
886 -- events for the given event name (p_event_name)
887 --
888
889 PROCEDURE RAISE_EVENT (
890 p_api_version IN NUMBER,
891 p_init_msg_list IN VARCHAR2,
892 p_event_name IN VARCHAR2,
893 p_event_key IN VARCHAR2,
894 p_parameter_list IN WF_PARAMETER_LIST_T,
895 x_return_status IN OUT NOCOPY VARCHAR2,
896 x_msg_count IN OUT NOCOPY NUMBER,
897 x_msg_data IN OUT NOCOPY VARCHAR2)
898 IS
899 --
900 -- Remember to change the l_api_version for change in the API
901 --
902 l_api_version CONSTANT NUMBER := 1.0;
903 l_api_name CONSTANT VARCHAR2(30) := 'PON_BIZ_EVENTS_PVT';
904
905 l_parameter_list WF_PARAMETER_LIST_T := NULL;
906
907 l_org_id NUMBER;
908 l_user_id NUMBER;
909 l_resp_id NUMBER;
910 l_resp_appl_id NUMBER;
911
912 l_exist VARCHAR2(30);
913
914 BEGIN
915 -- Initialize API return status to success
916 x_return_status := FND_API.G_RET_STS_SUCCESS;
917
918 -- Standard Start of API savepoint
919 SAVEPOINT pon_biz_event_raise_event;
920
921 g_err_loc := '10.0 Going to start in RAISE_EVENT call';
922 LOG_MESSAGE('raise_event', g_err_loc);
923 --
924 -- Standard call to check for call compatibility
925 --
926 IF NOT FND_API.COMPATIBLE_API_CALL ( l_api_version,
927 p_api_version,
928 l_api_name,
929 g_pkg_name )
930 THEN
931 RAISE FND_API.G_EXC_ERROR;
932 END IF;
933
934 g_err_loc := '10.1 Checked the FND_API.COMPATIBLE_API_CALL';
935 LOG_MESSAGE('raise_event', g_err_loc);
936
937 --
938 -- Initialize message list if p_init_msg_list is set to TRUE
939 -- We initialize the list by default. User should pass proper
940 -- value to p_init_msg_list in case this initialization is not
941 -- wanted
942 --
943 IF FND_API.TO_BOOLEAN( p_init_msg_list ) THEN
944 FND_MSG_PUB.INITIALIZE;
945 END IF;
946
947 g_err_loc := '10.2 Checked and called FND_MSG_PUB.INITIALIZE';
948 LOG_MESSAGE('raise_event', g_err_loc);
949
950 -- Get the db session context
951 l_org_id := FND_PROFILE.VALUE( NAME => 'ORG_ID' );
952 l_user_id := FND_PROFILE.VALUE( NAME => 'USER_ID');
953 l_resp_id := FND_PROFILE.VALUE( NAME => 'RESP_ID');
954 l_resp_appl_id := FND_PROFILE.VALUE( NAME => 'RESP_APPL_ID');
955
956 g_err_loc := '10.3 Fetched the FND_PROFILE.VALUEs';
957 LOG_MESSAGE('raise_event', g_err_loc);
958
959 --Check the event is registered and enabled
960 l_exist :=WF_EVENT.TEST(p_event_name);
961
962 g_err_loc := '10.4 Called the WF_EVENT.TEST';
963 LOG_MESSAGE('raise_event', g_err_loc|| 'l_exist:'||l_exist);
964
965 IF (p_parameter_list IS NULL) THEN
966 l_parameter_list := WF_PARAMETER_LIST_T();
967 ELSE
968 l_parameter_list := p_parameter_list;
969 END IF;
970
971 g_err_loc := '10.5 l_parameter_list is initialized';
972 LOG_MESSAGE('raise_event', g_err_loc);
973
974 IF (l_exist <> 'NONE') THEN
975 --{
976 -- Add extra context values to the list
977
978 wf_event.AddParameterToList( p_name => 'org_id',
979 p_value => l_org_id,
980 p_parameterlist => l_parameter_list);
981 wf_event.AddParameterToList( p_name => 'user_id',
982 p_value => l_user_id,
983 p_parameterlist => l_parameter_list);
984 wf_event.AddParameterToList( p_name => 'resp_id',
985 p_value => l_resp_id,
986 p_parameterlist => l_parameter_list);
987 wf_event.AddParameterToList( p_name => 'resp_appl_id',
988 p_value => l_resp_appl_id,
989 p_parameterlist => l_parameter_list);
990
991 g_err_loc := '10.6 End of wf_event.AddParameterToList calls';
992 LOG_MESSAGE('raise_event', g_err_loc);
993
994 --
995 -- Set Everything to defer mode for a better performance
996 --
997 WF_EVENT.SetDispatchMode('ASYNC');
998
999
1000 -- Raise Event
1001 WF_EVENT.RAISE(p_event_name => p_event_name,
1002 p_event_key => p_event_key,
1003 p_parameters => l_parameter_list
1004 );
1005 g_err_loc := '10.7 Called WF_EVENT.RAISE';
1006 LOG_MESSAGE('raise_event', g_err_loc);
1007 --}
1008 ELSE
1009 -- We are not raising any exception if the event does not exist
1010 LOG_MESSAGE('raise_event', 'There is no such event by name: '||p_event_name||'. Business Event is not raised');
1011 END IF;
1012
1013 -- Clear the parameter list
1014 l_parameter_list.DELETE;
1015
1016 EXCEPTION
1017 WHEN OTHERS THEN
1018 x_return_status := FND_API.G_RET_STS_ERROR;
1019 ROLLBACK TO pon_biz_event_raise_event;
1020
1021 FND_MESSAGE.SET_NAME('PON','PON_GENERIC_ERR');
1022 FND_MESSAGE.SET_TOKEN('TOKEN', g_err_loc|| ' :' || SQLCODE || ' :' || SQLERRM);
1023 FND_MSG_PUB.ADD;
1024 LOG_MESSAGE('raise_event', 'An error in the raise_event procedure. Error at:'||g_err_loc || ' :' || SQLCODE || ' :' || SQLERRM);
1025
1026 FND_MSG_PUB.COUNT_AND_GET( p_count => x_msg_count,
1027 p_data => x_msg_data);
1028
1029 END RAISE_EVENT;
1030
1031 -- ======================================================================
1032 -- PROCEDURE : LOG_MESSAGE PRIVATE
1033 -- PARAMETERS :
1034 -- p_module : IN pass the module name
1035 -- p_message: IN the string to be logged
1036 --
1037 -- COMMENT : Common procedure to log messages in FND_LOG.
1038 -- ======================================================================
1039 PROCEDURE LOG_MESSAGE( p_module IN VARCHAR2,
1040 p_message IN VARCHAR2)
1041 IS
1042 BEGIN
1043 IF (g_debug_mode = 'Y') THEN
1044 IF (FND_LOG.level_statement >= FND_LOG.g_current_runtime_level) THEN
1045
1046 FND_LOG.string(log_level => FND_LOG.level_statement,
1047 module => g_module_prefix || p_module,
1048 message => p_message);
1049
1050 END IF;
1051 END IF;
1052 END LOG_MESSAGE;
1053
1054
1055 END PON_BIZ_EVENTS_PVT;