DBA Data[Home] [Help]

PACKAGE BODY: APPS.PON_WITH_DRAW_PKG

Source


1 PACKAGE BODY PON_WITH_DRAW_PKG AS
2 /* $Header: PONWDRAWB.pls 120.10 2012/03/05 10:57:34 puppulur noship $ */
3 
4 PROCEDURE SEND_WDRAW_BY_BUYER_NOTIF
5 (
6 L_AUCTION_HEADER_ID IN NUMBER,
7 L_BID_NUMBER        IN NUMBER,
8 L_WITHDRAW_REASON   IN VARCHAR2
9 
10 ) AS
11 l_itemtype        wf_items.item_type%TYPE;
12 l_itemkey         wf_items.item_key%TYPE;
13 l_process         wf_process_activities.process_name%TYPE;
14 x_role_name            VARCHAR2(100);
15 l_user_table wf_directory.usertable;
16 l_document_number pon_auction_headers_all.document_number%TYPE;
17 l_auction_title pon_auction_headers_all.auction_title%TYPE;
18 L_TRADING_PARTNER_ID pon_auction_headers_all.TRADING_PARTNER_ID%TYPE;
19 L_TRADING_PARTNER_CONTACT_ID pon_auction_headers_all.TRADING_PARTNER_CONTACT_ID%TYPE;
20 L_PREPARER_TP_NAME HZ_PARTIES.PARTY_NAME%TYPE;
21 L_TRADING_PARTNER_CONTACT_NAME PON_AUCTION_HEADERS_ALL.TRADING_PARTNER_CONTACT_NAME%TYPE;
22 L_AUCTION_HEADER_ID_ORIG_AMEND PON_AUCTION_HEADERS_ALL.AUCTION_HEADER_ID_ORIG_AMEND%TYPE;
23 L_BID_TRADING_PARTNER_ID pon_bid_headers.TRADING_PARTNER_ID%TYPE;
24 L_BID_TRADPART_CNTC_ID pon_bid_headers.TRADING_PARTNER_CONTACT_ID%TYPE;
25 L_DOCUMENT_TYPE VARCHAR2(100);
26 L_DOCUMENT_TYPE_CODE VARCHAR2(100);
27 L_PREVIEW_DATE DATE;
28 L_START_DATE DATE;
29 L_END_DATE DATE;
30 L_SUPPLIER AP_SUPPLIERS.VENDOR_NAME%TYPE;
31 L_SUPPLIER_SITE_ID NUMBER;
32 L_SUPPLIER_SITE_NAME AP_SUPPLIER_SITES_ALL.VENDOR_SITE_CODE%TYPE:=NULL;
33 L_FROM_USER HZ_PARTIES.PARTY_NAME%TYPE;
34 X_VIEW_QUOTE_URL VARCHAR2(2000);
35 X_NOTIFICATION_ID NUMBER;
36 L_NOTIF_SUBSCR_FLAG VARCHAR2(1);
37 
38 L_STEP NUMBER;
39 
40 L_RECORD_STATUS VARCHAR2(1);
41 
42 BEGIN
43 
44 L_STEP:=1;
45 
46 l_itemtype:='PONWDRAW';
47 l_itemkey:=To_Char(l_bid_number)||'-'||To_Char(l_auction_header_id);
48 l_process:='RESPONSE_WITH_DRAW';
49 
50 /* Document Type */
51 
52 SELECT FL.LOOKUP_CODE,FL.MEANING INTO L_DOCUMENT_TYPE_CODE,L_DOCUMENT_TYPE
53      FROM
54      PON_AUCTION_HEADERS_ALL PAH,
55      PON_AUC_DOCTYPES DOC,
56      FND_LOOKUPS FL
57      WHERE
58      PAH.AUCTION_HEADER_ID=L_AUCTION_HEADER_ID
59      AND
60      PAH.DOCTYPE_ID=DOC.DOCTYPE_ID
61      AND
62      FL.LOOKUP_TYPE='PON_AUCTION_DOC_TYPES'
63      AND
64      FL.LOOKUP_CODE = DOC.INTERNAL_NAME ;
65 
66 /* Now check the notification subscription */
67 
68 L_NOTIF_SUBSCR_FLAG:='N';
69 
70 IF L_DOCUMENT_TYPE_CODE='SOLICITATION'
71 THEN
72 
73 SELECT Nvl(SOL_SUBSCRIPTION_FLAG,'N') INTO L_NOTIF_SUBSCR_FLAG
74                 FROM
75                 PON_NOTIF_SUBSCRIPTION_GROUPS
76                 WHERE
77                 NOTIF_GROUP_CODE='S_OFFER_WITH_DRAW'
78                 AND
79                 NOTIF_GROUP_TYPE='TO_SUPPLIER'
80                 AND
81                 ROWNUM=1;
82 END IF;
83 
84 IF L_DOCUMENT_TYPE_CODE='BUYER_AUCTION'
85 THEN
86 
87 SELECT Nvl(AUCTION_SUBSCRIPTION_FLAG,'N') INTO L_NOTIF_SUBSCR_FLAG
88                 FROM
89                 PON_NOTIF_SUBSCRIPTION_GROUPS
90                 WHERE
91                 NOTIF_GROUP_CODE='S_OFFER_WITH_DRAW'
92                 AND
93                 NOTIF_GROUP_TYPE='TO_SUPPLIER'
94                 AND
95                 ROWNUM=1;
96 END IF;
97 IF L_DOCUMENT_TYPE_CODE='REQUEST_FOR_INFORMATION'
98 THEN
99 
100 SELECT Nvl(RFI_SUBSCRIPTION_FLAG,'N') INTO L_NOTIF_SUBSCR_FLAG
101                 FROM
102                 PON_NOTIF_SUBSCRIPTION_GROUPS
103                 WHERE
104                 NOTIF_GROUP_CODE='S_OFFER_WITH_DRAW'
105                 AND
106                 NOTIF_GROUP_TYPE='TO_SUPPLIER'
107                 AND
108                 ROWNUM=1;
109 END IF;
110 IF L_DOCUMENT_TYPE_CODE='REQUEST_FOR_QUOTE'
111 THEN
112 
113 SELECT Nvl(RFQ_SUBSCRIPTION_FLAG,'N') INTO L_NOTIF_SUBSCR_FLAG
114                 FROM
115                 PON_NOTIF_SUBSCRIPTION_GROUPS
116                 WHERE
117                 NOTIF_GROUP_CODE='S_OFFER_WITH_DRAW'
118                 AND
119                 NOTIF_GROUP_TYPE='TO_SUPPLIER'
120                 AND
121                 ROWNUM=1;
122 END IF;
123 IF L_NOTIF_SUBSCR_FLAG='Y'
124 THEN
125 
126 wf_engine.CreateProcess(itemtype => l_itemtype,
127                         itemkey  => l_itemkey,
128                         process  => l_process);
129 
130 L_STEP:=2;
131 
132 SELECT PAH.DOCUMENT_NUMBER,PAH.AUCTION_TITLE,PAH.TRADING_PARTNER_ID,
133 PAH.VIEW_BY_DATE,PAH.OPEN_BIDDING_DATE,PAH.CLOSE_BIDDING_DATE,PAH.TRADING_PARTNER_CONTACT_ID,
134 PAH.TRADING_PARTNER_CONTACT_NAME,
135 PAH.AUCTION_HEADER_ID_ORIG_AMEND
136 INTO L_DOCUMENT_NUMBER,L_AUCTION_TITLE,L_TRADING_PARTNER_ID,
137 L_PREVIEW_DATE,L_START_DATE,L_END_DATE,L_TRADING_PARTNER_CONTACT_ID,
138 L_FROM_USER,
139 L_AUCTION_HEADER_ID_ORIG_AMEND
140 FROM
141 PON_AUCTION_HEADERS_ALL PAH WHERE PAH.AUCTION_HEADER_ID=L_AUCTION_HEADER_ID;
142 
143 L_STEP:=3;
144 
145 /* Receiver will be the supplier user in this case */
146 
147 SELECT PBH.TRADING_PARTNER_CONTACT_NAME INTO L_TRADING_PARTNER_CONTACT_NAME
148 FROM PON_BID_HEADERS PBH
149 WHERE
150 PBH.BID_NUMBER=L_BID_NUMBER
151 AND
152 PBH.AUCTION_HEADER_ID=L_AUCTION_HEADER_ID
153 AND
154 ROWNUM<2;
155 
156 L_STEP:=5;
157 
158  IF L_DOCUMENT_TYPE_CODE IN ('SOLICITATION')
159  THEN
160 
161  wf_engine.SetItemAttrText (itemtype   => l_itemtype,
162                            itemkey    => l_itemkey,
163                            aname      => 'DOCUMENT_TYPE',
164                            avalue     => FND_MESSAGE.GET_STRING('PON','PON_AUC_NEG_X'));
165 
166  wf_engine.SetItemAttrText (itemtype   => l_itemtype,
167                            itemkey    => l_itemkey,
168                            aname      => 'RESPONSE_TYPE',
169                            avalue     => FND_MESSAGE.GET_STRING('PON','PON_AUCTS_BID_X')||' '||L_BID_NUMBER);
170 
171  wf_engine.SetItemAttrText (itemtype   => l_itemtype,
172                            itemkey    => l_itemkey,
173                            aname      => 'RESPONSE',
174                            avalue     => FND_MESSAGE.GET_STRING('PON','PON_AUCTS_BID_X'));
175 
176 
177  ELSE
178 
179  wf_engine.SetItemAttrText (itemtype   => l_itemtype,
180                            itemkey    => l_itemkey,
181                            aname      => 'DOCUMENT_TYPE',
182                            avalue     => FND_MESSAGE.GET_STRING('PON','PON_AUC_NEG'));
183 
184  wf_engine.SetItemAttrText (itemtype   => l_itemtype,
185                            itemkey    => l_itemkey,
186                            aname      => 'RESPONSE_TYPE',
187                            avalue     => FND_MESSAGE.GET_STRING('PON','PON_AUCTS_BID_R')||' '||L_BID_NUMBER);
188 
189  wf_engine.SetItemAttrText (itemtype   => l_itemtype,
190                            itemkey    => l_itemkey,
191                            aname      => 'RESPONSE',
192                            avalue     => FND_MESSAGE.GET_STRING('PON','PON_AUCTS_BID_R'));
193 
194  END IF;
195 
196  wf_engine.SetItemAttrText (itemtype   => l_itemtype,
197                            itemkey    => l_itemkey,
198                            aname      => 'SOURCE_DOC_TYPE',
199                            avalue     => L_DOCUMENT_TYPE||' '||L_DOCUMENT_NUMBER);
200 
201 
202 wf_engine.SetItemAttrText (itemtype   => l_itemtype,
203                            itemkey    => l_itemkey,
204                            aname      => 'RECEIVER',
205                            avalue     => L_TRADING_PARTNER_CONTACT_NAME);
206 
207 SELECT HZ.PARTY_NAME INTO L_PREPARER_TP_NAME
208 FROM
209 HZ_PARTIES HZ
210 WHERE
211 PARTY_ID=L_TRADING_PARTNER_ID;
212 
213 L_STEP:=6;
214 
215 wf_engine.SetItemAttrText (itemtype   => l_itemtype,
216                            itemkey    => l_itemkey,
217                            aname      => 'PREPARER_TP_NAME',
218                            avalue     => L_PREPARER_TP_NAME);
219 
220 wf_engine.SetItemAttrText (itemtype   => l_itemtype,
221                            itemkey    => l_itemkey,
222                            aname      => 'DOC_NUMBER',
223                            avalue     => L_DOCUMENT_NUMBER);
224 
225 wf_engine.SetItemAttrText (itemtype   => l_itemtype,
226                            itemkey    => l_itemkey,
227                            aname      => 'AUCTION_TITLE',
228                            avalue     => L_AUCTION_TITLE);
229 
230 wf_engine.SetItemAttrText (itemtype   => l_itemtype,
231                            itemkey    => l_itemkey,
232                            aname      => 'SUB_AUCTION_TITLE',
233                            avalue     => L_AUCTION_TITLE);
234 
235 wf_engine.SetItemAttrText (itemtype   => l_itemtype,
236                            itemkey    => l_itemkey,
237                            aname      => 'ORIGIN_USER_NAME',
238                            avalue     => L_FROM_USER);
239 
240 /* Response URL Bug Chnages */
241 wf_engine.SetItemAttrNumber(itemtype => l_itemtype,
242                               itemkey  => l_itemkey,
243                               aname    => 'BID_ID',
244                               avalue   => L_BID_NUMBER);
245 
246 wf_engine.SetItemAttrNumber(itemtype => l_itemtype,
247                               itemkey  => l_itemkey,
248                               aname    => 'AUCTION_ID',
249                               avalue   => L_AUCTION_HEADER_ID);
250 
251 /* Preview Date,Open Date,Close Date,Withdrawn Date */
252 
253 IF L_PREVIEW_DATE IS NULL THEN
254 wf_engine.SetItemAttrDate (itemtype   => l_itemtype,
255                            itemkey    => l_itemkey,
256                            aname      => 'NEG_PREVIEW_DATE',
257                            avalue     => NULL);
258 ELSE
259 wf_engine.SetItemAttrDate (itemtype   => l_itemtype,
260                            itemkey    => l_itemkey,
261                            aname      => 'NEG_PREVIEW_DATE',
262                            avalue     => L_PREVIEW_DATE);
263 END IF;
264 
265 
266 IF L_START_DATE IS NULL THEN
267 wf_engine.SetItemAttrDate (itemtype   => l_itemtype,
268                            itemkey    => l_itemkey,
269                            aname      => 'NEG_OPEN_DATE',
270                            avalue     => NULL);
271 ELSE
272 wf_engine.SetItemAttrDate (itemtype   => l_itemtype,
273                            itemkey    => l_itemkey,
274                            aname      => 'NEG_OPEN_DATE',
275                            avalue     => L_START_DATE);
276 END IF;
277 
278 IF L_END_DATE IS NULL THEN
279 
280 wf_engine.SetItemAttrDate (itemtype   => l_itemtype,
281                            itemkey    => l_itemkey,
282                            aname      => 'NEG_CLOSE_DATE',
283                            avalue     => NULL);
284 ELSE
285 
286 wf_engine.SetItemAttrDate (itemtype   => l_itemtype,
287                            itemkey    => l_itemkey,
288                            aname      => 'NEG_CLOSE_DATE',
289                            avalue     => L_END_DATE);
290 END IF;
291 
292 wf_engine.SetItemAttrDate (itemtype   => l_itemtype,
293                            itemkey    => l_itemkey,
294                            aname      => 'NEG_WITH_DRAWN_DATE',
295                            avalue     => SYSDATE);
296 
297 /* Supplier, Supplier Site */
298 
299 SELECT PBH.TRADING_PARTNER_NAME,PBH.VENDOR_SITE_ID
300 INTO L_SUPPLIER,L_SUPPLIER_SITE_ID
301 FROM
302 PON_BID_HEADERS PBH
303 WHERE
304 PBH.AUCTION_HEADER_ID=L_AUCTION_HEADER_ID
305 AND
306 PBH.BID_NUMBER=L_BID_NUMBER;
307 
308 L_STEP:=7;
309 
310 wf_engine.SetItemAttrText (itemtype   => l_itemtype,
311                            itemkey    => l_itemkey,
312                            aname      => 'SUPPLIER',
313                            avalue     => L_SUPPLIER);
314 
315 IF L_SUPPLIER_SITE_ID IS NOT NULL AND L_SUPPLIER_SITE_ID <> -1
316 THEN
317 SELECT APS.VENDOR_SITE_CODE INTO L_SUPPLIER_SITE_NAME
318 FROM
319 AP_SUPPLIER_SITES_ALL APS
320 WHERE
321 APS.VENDOR_SITE_ID=L_SUPPLIER_SITE_ID;
322 
323 END IF;
324 
325 L_STEP:=8;
326 
327 wf_engine.SetItemAttrText (itemtype   => l_itemtype,
328                            itemkey    => l_itemkey,
329                            aname      => 'SUPPLIER_SITE',
330                            avalue     => L_SUPPLIER_SITE_NAME);
331 
332 wf_engine.SetItemAttrText (itemtype   => l_itemtype,
333                            itemkey    => l_itemkey,
334                            aname      => 'WITHDRAW_REASON',
335                            avalue     => L_WITHDRAW_REASON);
336 
337 /* Set View Response URL */
338 
339    x_view_quote_url:=pon_wf_utl_pkg.get_dest_page_url (p_dest_func => 'PONRESENQ_VIEWBID',p_notif_performer  => 'SUPPLIER');
340 
341    Begin
342    SELECT notification_id  INTO x_notification_id from
343    WF_ITEM_ACTIVITY_STATUSES WHERE ITEM_TYPE=l_itemtype
344    AND ITEM_KEY=l_itemkey
345    AND ASSIGNED_USER IS NOT NULL
346    AND ROWNUM<=1;
347    EXCEPTION
348    WHEN No_Data_Found THEN
349    x_notification_id:=NULL;
350    WHEN OTHERS THEN
351    NULL;
352    END;
353    IF(x_notification_id IS NOT null) THEN
354    x_view_quote_url:=REPLACE(x_view_quote_url,'&#NID',x_notification_id);
355    END IF;
356 
357 wf_engine.SetItemAttrText (itemtype   => l_itemtype,
358                            itemkey    => l_itemkey,
359                            aname      => 'URL',
360                            avalue     => x_view_quote_url);
361 
362 
363 wf_engine.StartProcess(itemtype => l_itemtype,
364                        itemkey  => l_itemkey );
365 
366 END IF;
367 
368 
369 UPDATE PON_BID_HEADERS
370 SET
371 WITHDRAW_REASON=L_WITHDRAW_REASON,
372 BID_STATUS='ARCHIVED'
373 WHERE
374 AUCTION_HEADER_ID=L_AUCTION_HEADER_ID
375 AND
376 BID_NUMBER=L_BID_NUMBER;
377 
378 /* Record an Entry in Supplier Activities table for Withdraw Action */
379 
380 
381 SELECT PBH.TRADING_PARTNER_ID,PBH.TRADING_PARTNER_CONTACT_ID,
382 PAH.AUCTION_HEADER_ID_ORIG_AMEND
383 INTO L_BID_TRADING_PARTNER_ID,L_BID_TRADPART_CNTC_ID,
384 L_AUCTION_HEADER_ID_ORIG_AMEND
385 FROM PON_BID_HEADERS PBH,
386      PON_AUCTION_HEADERS_ALL PAH
387 WHERE
388 PAH.AUCTION_HEADER_ID=L_AUCTION_HEADER_ID and
389 PBH.AUCTION_HEADER_ID=L_AUCTION_HEADER_ID AND
390 PBH.BID_NUMBER=L_BID_NUMBER;
391 
392     PON_CONSOLE_PVT.record_supplier_activity(
393           L_AUCTION_HEADER_ID ,
394           L_AUCTION_HEADER_ID_ORIG_AMEND ,
395           L_BID_TRADING_PARTNER_ID ,
396           L_BID_TRADPART_CNTC_ID ,
397           userenv('SESSIONID') ,
398           'WITHDRAW_OFFER' ,
399           L_BID_NUMBER,
400           L_RECORD_STATUS ) ;
401 
402 /* End */
403 
404 COMMIT;
405 
406 EXCEPTION
407 WHEN OTHERS THEN
408 WF_CORE.CONTEXT('SEND_WDRAW_BY_BUYER_NOTIF','SEND_WDRAW_BY_BUYER_NOTIF',L_ITEMTYPE,L_ITEMKEY);
409 WF_CORE.RAISE('ERROR_NAME');
410 RAISE_APPLICATION_ERROR(-20041, 'FAILURE AT STEP ' , TRUE);
411 END;
412 
413 PROCEDURE SEND_WDRAW_BY_SUPPLIER_NOTIF
414 (
415 L_AUCTION_HEADER_ID IN NUMBER,
416 L_BID_NUMBER        IN NUMBER,
417 L_WITHDRAW_REASON   IN VARCHAR2
418 
419 ) AS
420 l_itemtype        wf_items.item_type%TYPE;
421 l_itemkey         wf_items.item_key%TYPE;
422 l_process         wf_process_activities.process_name%TYPE;
423 x_role_name            VARCHAR2(100);
424 l_user_table wf_directory.usertable;
425 l_document_number pon_auction_headers_all.document_number%TYPE;
426 l_auction_title pon_auction_headers_all.auction_title%TYPE;
427 L_TRADING_PARTNER_ID pon_auction_headers_all.TRADING_PARTNER_ID%TYPE;
428 L_TRADING_PARTNER_CONTACT_ID pon_auction_headers_all.TRADING_PARTNER_CONTACT_ID%TYPE;
429 L_PREPARER_TP_NAME HZ_PARTIES.PARTY_NAME%TYPE;
430 L_TRADING_PARTNER_CONTACT_NAME PON_AUCTION_HEADERS_ALL.TRADING_PARTNER_CONTACT_NAME%TYPE;
431 L_AUCTION_HEADER_ID_ORIG_AMEND PON_AUCTION_HEADERS_ALL.AUCTION_HEADER_ID_ORIG_AMEND%TYPE;
432 L_BID_TRADING_PARTNER_ID pon_bid_headers.TRADING_PARTNER_ID%TYPE;
433 L_BID_TRADPART_CNTC_ID pon_bid_headers.TRADING_PARTNER_CONTACT_ID%TYPE;
434 L_DOCUMENT_TYPE VARCHAR2(100);
435 L_DOCUMENT_TYPE_CODE VARCHAR2(100);
436 L_PREVIEW_DATE DATE;
437 L_START_DATE DATE;
438 L_END_DATE DATE;
439 L_SUPPLIER AP_SUPPLIERS.VENDOR_NAME%TYPE;
440 L_SUPPLIER_SITE_ID NUMBER;
441 L_SUPPLIER_SITE_NAME AP_SUPPLIER_SITES_ALL.VENDOR_SITE_CODE%TYPE:=NULL;
442 L_FROM_USER HZ_PARTIES.PARTY_NAME%TYPE;
443 
444 X_VIEW_QUOTE_URL VARCHAR2(2000);
445 X_NOTIFICATION_ID NUMBER;
446 L_NOTIF_SUBSCR_FLAG VARCHAR2(1);
447 
448 L_RECORD_STATUS VARCHAR2(1);
449 
450 BEGIN
451 
452 l_itemtype:='PONWDRAW';
453 l_itemkey:=To_Char(l_bid_number)||'-'||To_Char(l_auction_header_id);
454 l_process:='RESPONSE_WITH_DRAW';
455 
456 /* Document Type */
457 
458 SELECT FL.LOOKUP_CODE,FL.MEANING INTO L_DOCUMENT_TYPE_CODE,L_DOCUMENT_TYPE
459      FROM
460      PON_AUCTION_HEADERS_ALL PAH,
461      PON_AUC_DOCTYPES DOC,
462      FND_LOOKUPS FL
463      WHERE
464      PAH.AUCTION_HEADER_ID=L_AUCTION_HEADER_ID
465      AND
466      PAH.DOCTYPE_ID=DOC.DOCTYPE_ID
467      AND
468      FL.LOOKUP_TYPE='PON_AUCTION_DOC_TYPES'
469      AND
470      FL.LOOKUP_CODE = DOC.INTERNAL_NAME ;
471 
472 /* Now check the notification subscription */
473 
474 L_NOTIF_SUBSCR_FLAG:='N';
475 
476 IF L_DOCUMENT_TYPE_CODE='SOLICITATION'
477 THEN
478 
479 SELECT Nvl(SOL_SUBSCRIPTION_FLAG,'N') INTO L_NOTIF_SUBSCR_FLAG
480                 FROM
481                 PON_NOTIF_SUBSCRIPTION_GROUPS
482                 WHERE
483                 NOTIF_GROUP_CODE='B_OFFER_WITH_DRAW'
484                 AND
485                 NOTIF_GROUP_TYPE='TO_BUYER'
486                 AND
487                 ROWNUM=1;
488 END IF;
489 
490 IF L_DOCUMENT_TYPE_CODE='BUYER_AUCTION'
491 THEN
492 
493 SELECT Nvl(AUCTION_SUBSCRIPTION_FLAG,'N') INTO L_NOTIF_SUBSCR_FLAG
494                 FROM
495                 PON_NOTIF_SUBSCRIPTION_GROUPS
496                 WHERE
497                 NOTIF_GROUP_CODE='B_OFFER_WITH_DRAW'
498                 AND
499                 NOTIF_GROUP_TYPE='TO_BUYER'
500                 AND
501                 ROWNUM=1;
502 END IF;
503 IF L_DOCUMENT_TYPE_CODE='REQUEST_FOR_INFORMATION'
504 THEN
505 
506 SELECT Nvl(RFI_SUBSCRIPTION_FLAG,'N') INTO L_NOTIF_SUBSCR_FLAG
507                 FROM
508                 PON_NOTIF_SUBSCRIPTION_GROUPS
509                 WHERE
510                 NOTIF_GROUP_CODE='B_OFFER_WITH_DRAW'
511                 AND
512                 NOTIF_GROUP_TYPE='TO_BUYER'
513                 AND
514                 ROWNUM=1;
515 END IF;
516 IF L_DOCUMENT_TYPE_CODE='REQUEST_FOR_QUOTE'
517 THEN
518 
519 SELECT Nvl(RFQ_SUBSCRIPTION_FLAG,'N') INTO L_NOTIF_SUBSCR_FLAG
520                 FROM
521                 PON_NOTIF_SUBSCRIPTION_GROUPS
522                 WHERE
523                 NOTIF_GROUP_CODE='B_OFFER_WITH_DRAW'
524                 AND
525                 NOTIF_GROUP_TYPE='TO_BUYER'
526                 AND
527                 ROWNUM=1;
528 END IF;
529 IF L_NOTIF_SUBSCR_FLAG='Y'
530 THEN
531 
532 wf_engine.CreateProcess(itemtype => l_itemtype,
533                         itemkey  => l_itemkey,
534                         process  => l_process);
535 
536 SELECT PAH.TRADING_PARTNER_CONTACT_NAME,PAH.DOCUMENT_NUMBER,PAH.AUCTION_TITLE,PAH.TRADING_PARTNER_ID,
537 PAH.VIEW_BY_DATE,PAH.OPEN_BIDDING_DATE,PAH.CLOSE_BIDDING_DATE,PAH.TRADING_PARTNER_CONTACT_ID,
538 PAH.AUCTION_HEADER_ID_ORIG_AMEND
539 INTO L_TRADING_PARTNER_CONTACT_NAME,L_DOCUMENT_NUMBER,L_AUCTION_TITLE,L_TRADING_PARTNER_ID,
540 L_PREVIEW_DATE,L_START_DATE,L_END_DATE,L_TRADING_PARTNER_CONTACT_ID,
541 L_AUCTION_HEADER_ID_ORIG_AMEND
542 FROM
543 PON_AUCTION_HEADERS_ALL PAH WHERE PAH.AUCTION_HEADER_ID=L_AUCTION_HEADER_ID;
544 
545 SELECT PBH.TRADING_PARTNER_CONTACT_NAME INTO L_FROM_USER
546 FROM PON_BID_HEADERS PBH
547 WHERE
548 PBH.BID_NUMBER=L_BID_NUMBER
549 AND
550 PBH.AUCTION_HEADER_ID=L_AUCTION_HEADER_ID
551 AND
552 ROWNUM<2;
553 
554 
555 
556 
557  IF L_DOCUMENT_TYPE_CODE IN ('SOLICITATION')
558  THEN
559 
560  wf_engine.SetItemAttrText (itemtype   => l_itemtype,
561                            itemkey    => l_itemkey,
562                            aname      => 'DOCUMENT_TYPE',
563                            avalue     => FND_MESSAGE.GET_STRING('PON','PON_AUC_NEG_X'));
564 
565  wf_engine.SetItemAttrText (itemtype   => l_itemtype,
566                            itemkey    => l_itemkey,
567                            aname      => 'RESPONSE_TYPE',
568                            avalue     => FND_MESSAGE.GET_STRING('PON','PON_AUCTS_BID_X')||' '||L_BID_NUMBER);
569 
570 wf_engine.SetItemAttrText (itemtype   => l_itemtype,
571                            itemkey    => l_itemkey,
572                            aname      => 'RESPONSE',
573                            avalue     => FND_MESSAGE.GET_STRING('PON','PON_AUCTS_BID_X'));
574 
575 
576  ELSE
577 
578  wf_engine.SetItemAttrText (itemtype   => l_itemtype,
579                            itemkey    => l_itemkey,
580                            aname      => 'DOCUMENT_TYPE',
581                            avalue     => FND_MESSAGE.GET_STRING('PON','PON_AUC_NEG'));
582 
583  wf_engine.SetItemAttrText (itemtype   => l_itemtype,
584                            itemkey    => l_itemkey,
585                            aname      => 'RESPONSE_TYPE',
586                            avalue     => FND_MESSAGE.GET_STRING('PON','PON_AUCTS_BID_R')||' '||L_BID_NUMBER);
587 
588 wf_engine.SetItemAttrText (itemtype   => l_itemtype,
589                            itemkey    => l_itemkey,
590                            aname      => 'RESPONSE',
591                            avalue     => FND_MESSAGE.GET_STRING('PON','PON_AUCTS_BID_R'));
592 
593  END IF;
594 
595  wf_engine.SetItemAttrText (itemtype   => l_itemtype,
596                            itemkey    => l_itemkey,
597                            aname      => 'SOURCE_DOC_TYPE',
598                            avalue     => L_DOCUMENT_TYPE||' '||L_DOCUMENT_NUMBER);
599 
600 
601 wf_engine.SetItemAttrText (itemtype   => l_itemtype,
602                            itemkey    => l_itemkey,
603                            aname      => 'RECEIVER',
604                            avalue     => L_TRADING_PARTNER_CONTACT_NAME);
605 
606 SELECT HZ.PARTY_NAME INTO L_PREPARER_TP_NAME
607 FROM
608 HZ_PARTIES HZ
609 WHERE
610 PARTY_ID=L_TRADING_PARTNER_ID;
611 
612 wf_engine.SetItemAttrText (itemtype   => l_itemtype,
613                            itemkey    => l_itemkey,
614                            aname      => 'PREPARER_TP_NAME',
615                            avalue     => L_PREPARER_TP_NAME);
616 
617 wf_engine.SetItemAttrText (itemtype   => l_itemtype,
618                            itemkey    => l_itemkey,
619                            aname      => 'DOC_NUMBER',
620                            avalue     => L_DOCUMENT_NUMBER);
621 
622 wf_engine.SetItemAttrText (itemtype   => l_itemtype,
623                            itemkey    => l_itemkey,
624                            aname      => 'AUCTION_TITLE',
625                            avalue     => L_AUCTION_TITLE);
626 
627 wf_engine.SetItemAttrText (itemtype   => l_itemtype,
628                            itemkey    => l_itemkey,
629                            aname      => 'SUB_AUCTION_TITLE',
630                            avalue     => L_AUCTION_TITLE);
631 
632 wf_engine.SetItemAttrText (itemtype   => l_itemtype,
633                            itemkey    => l_itemkey,
634                            aname      => 'ORIGIN_USER_NAME',
635                            avalue     => L_FROM_USER);
636 
637 /* Response URL Bug Chnages */
638 wf_engine.SetItemAttrNumber(itemtype => l_itemtype,
639                               itemkey  => l_itemkey,
640                               aname    => 'BID_ID',
641                               avalue   => L_BID_NUMBER);
642 
643 wf_engine.SetItemAttrNumber(itemtype => l_itemtype,
644                               itemkey  => l_itemkey,
645                               aname    => 'AUCTION_ID',
646                               avalue   => L_AUCTION_HEADER_ID);
647 
648 
649 /* Preview Date,Open Date,Close Date,Withdrawn Date */
650 
651 IF L_PREVIEW_DATE IS NULL THEN
652 wf_engine.SetItemAttrDate (itemtype   => l_itemtype,
653                            itemkey    => l_itemkey,
654                            aname      => 'NEG_PREVIEW_DATE',
655                            avalue     => NULL);
656 ELSE
657 wf_engine.SetItemAttrDate (itemtype   => l_itemtype,
658                            itemkey    => l_itemkey,
659                            aname      => 'NEG_PREVIEW_DATE',
660                            avalue     => L_PREVIEW_DATE);
661 END IF;
662 
663 
664 IF L_START_DATE IS NULL THEN
665 wf_engine.SetItemAttrDate (itemtype   => l_itemtype,
666                            itemkey    => l_itemkey,
667                            aname      => 'NEG_OPEN_DATE',
668                            avalue     => NULL);
669 ELSE
670 wf_engine.SetItemAttrDate (itemtype   => l_itemtype,
671                            itemkey    => l_itemkey,
672                            aname      => 'NEG_OPEN_DATE',
673                            avalue     => L_START_DATE);
674 END IF;
675 
676 IF L_END_DATE IS NULL THEN
677 
678 wf_engine.SetItemAttrDate (itemtype   => l_itemtype,
679                            itemkey    => l_itemkey,
680                            aname      => 'NEG_CLOSE_DATE',
681                            avalue     => NULL);
682 ELSE
683 
684 wf_engine.SetItemAttrDate (itemtype   => l_itemtype,
685                            itemkey    => l_itemkey,
686                            aname      => 'NEG_CLOSE_DATE',
687                            avalue     => L_END_DATE);
688 END IF;
689 
690 wf_engine.SetItemAttrDate (itemtype   => l_itemtype,
691                            itemkey    => l_itemkey,
692                            aname      => 'NEG_WITH_DRAWN_DATE',
693                            avalue     => SYSDATE);
694 
695 /* Supplier, Supplier Site */
696 
697 SELECT PBH.TRADING_PARTNER_NAME,PBH.VENDOR_SITE_ID
698 INTO L_SUPPLIER,L_SUPPLIER_SITE_ID
699 FROM
700 PON_BID_HEADERS PBH
701 WHERE
702 PBH.AUCTION_HEADER_ID=L_AUCTION_HEADER_ID
703 AND
704 PBH.BID_NUMBER=L_BID_NUMBER;
705 
706 wf_engine.SetItemAttrText (itemtype   => l_itemtype,
707                            itemkey    => l_itemkey,
708                            aname      => 'SUPPLIER',
709                            avalue     => L_SUPPLIER);
710 
711 IF L_SUPPLIER_SITE_ID IS NOT NULL AND L_SUPPLIER_SITE_ID <> -1
712 THEN
713 
714 SELECT APS.VENDOR_SITE_CODE INTO L_SUPPLIER_SITE_NAME
715 FROM
716 AP_SUPPLIER_SITES_ALL APS
717 WHERE
718 APS.VENDOR_SITE_ID=L_SUPPLIER_SITE_ID;
719 
720 END IF;
721 
722 wf_engine.SetItemAttrText (itemtype   => l_itemtype,
723                            itemkey    => l_itemkey,
724                            aname      => 'SUPPLIER_SITE',
725                            avalue     => L_SUPPLIER_SITE_NAME);
726 
727 wf_engine.SetItemAttrText (itemtype   => l_itemtype,
728                            itemkey    => l_itemkey,
729                            aname      => 'WITHDRAW_REASON',
730                            avalue     => L_WITHDRAW_REASON);
731 
732    x_view_quote_url:=pon_wf_utl_pkg.get_dest_page_url (p_dest_func => 'PONRESENQ_VIEWBID',p_notif_performer  => 'BUYER');
733 
734    Begin
735    SELECT notification_id  INTO x_notification_id from
736    WF_ITEM_ACTIVITY_STATUSES WHERE ITEM_TYPE=l_itemtype
737    AND ITEM_KEY=l_itemkey
738    AND ASSIGNED_USER IS NOT NULL
739    AND ROWNUM<=1;
740    EXCEPTION
741    WHEN No_Data_Found THEN
742    x_notification_id:=NULL;
743    WHEN OTHERS THEN
744    NULL;
745    END;
746    IF(x_notification_id IS NOT null) THEN
747    x_view_quote_url:=REPLACE(x_view_quote_url,'&#NID',x_notification_id);
748    END IF;
749 
750 wf_engine.SetItemAttrText (itemtype   => l_itemtype,
751                            itemkey    => l_itemkey,
752                            aname      => 'URL',
753                            avalue     => x_view_quote_url);
754 
755 
756 wf_engine.StartProcess(itemtype => l_itemtype,
757                        itemkey  => l_itemkey );
758 
759 END IF;
760 
761 UPDATE PON_BID_HEADERS
762 SET
763 WITHDRAW_REASON=L_WITHDRAW_REASON,
764 BID_STATUS='ARCHIVED'
765 WHERE
766 AUCTION_HEADER_ID=L_AUCTION_HEADER_ID
767 AND
768 BID_NUMBER=L_BID_NUMBER;
769 
770 /* Record an Entry in Supplier Activities table for Withdraw Action */
771 
772 SELECT PBH.TRADING_PARTNER_ID,PBH.TRADING_PARTNER_CONTACT_ID,
773 PAH.AUCTION_HEADER_ID_ORIG_AMEND
774 INTO L_BID_TRADING_PARTNER_ID,L_BID_TRADPART_CNTC_ID,
775 L_AUCTION_HEADER_ID_ORIG_AMEND
776 FROM PON_BID_HEADERS PBH,
777     PON_AUCTION_HEADERS_ALL PAH
778 WHERE
779 PAH.AUCTION_HEADER_ID = L_AUCTION_HEADER_ID AND
780 PBH.AUCTION_HEADER_ID=L_AUCTION_HEADER_ID AND
781 PBH.BID_NUMBER=L_BID_NUMBER;
782 
783     PON_CONSOLE_PVT.record_supplier_activity(
784           L_AUCTION_HEADER_ID ,
785           L_AUCTION_HEADER_ID_ORIG_AMEND ,
786           L_BID_TRADING_PARTNER_ID ,
787           L_BID_TRADPART_CNTC_ID ,
788           userenv('SESSIONID') ,
789           'WITHDRAW_OFFER' ,
790           L_BID_NUMBER,
791           L_RECORD_STATUS ) ;
792 
793 /* End */
794 
795 COMMIT;
796 
797 EXCEPTION
798 WHEN OTHERS THEN
799 WF_CORE.CONTEXT('SEND_WDRAW_BY_SUPPLIER_NOTIF','SEND_WDRAW_BY_SUPPLIER_NOTIF',L_ITEMTYPE,L_ITEMKEY);
800 WF_CORE.RAISE('ERROR_NAME');
801 RAISE_APPLICATION_ERROR(-20041, 'FAILURE AT STEP ' , TRUE);
802 END;
803 
804 END PON_WITH_DRAW_PKG;