DBA Data[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;