DBA Data[Home] [Help]

PACKAGE BODY: APPS.PON_NEGOTIATION_COPY_GRP

Source


1 PACKAGE BODY PON_NEGOTIATION_COPY_GRP AS
2 --$Header: PONGCPYB.pls 120.76.12010000.2 2008/10/21 07:18:47 amundhra ship $
3 
4 g_pkg_name      CONSTANT VARCHAR2(25):='PON_NEGOTIATION_COPY_GRP';
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 -- Inform the middle tier in case of super large auction
12 g_ret_conc_req_submitted VARCHAR2(30) := 'CONC_REQ_SUBMITTED';
13 
14 -- Indicate if the debug mode is on
15 g_debug_mode    VARCHAR2(10) := 'Y';
16 
17 -- module name for logging message
18 g_module_prefix CONSTANT VARCHAR2(40) := 'pon.plsql.pon_negotiation_copy_grp.';
19 
20 --
21 -- Few variables redifened as done in SourcingCommonUtil and ContractCommonUtil
22 --
23 g_buyer_auction     CONSTANT VARCHAR2(25):='BUYER_AUCTION';
24 g_contract_auction  CONSTANT VARCHAR2(25):='AUCTION';
25 
26 g_rfq               CONSTANT VARCHAR2(25):='REQUEST_FOR_QUOTE';
27 g_contract_rfq      CONSTANT VARCHAR2(25):='RFQ';
28 
29 g_rfi               CONSTANT VARCHAR2(25):='REQUEST_FOR_INFORMATION';
30 g_contract_rfi      CONSTANT VARCHAR2(25):='RFI';
31 
32 -- Global variable to hold the doctype_id for RFI
33 g_rfi_doctype_id    NUMBER;
34 g_rfq_doctype_id    NUMBER;
35 g_auction_doctype_id NUMBER;
36 --
37 -- Flag to know if the Source Negotiation had any line containg
38 -- some Price Elements that has been inactivated currently
39 --
40 g_has_inactive_pe_flag  VARCHAR2(1);
41 
42 -- Global variable to hold the Document Number variable
43 g_neg_doc_number    PON_AUCTION_HEADERS_ALL.DOCUMENT_NUMBER%TYPE;
44 
45 -- Global variable for message sufix
46 g_message_suffix    PON_AUC_DOCTYPES.MESSAGE_SUFFIX%TYPE;
47 
48 -- Global variable for auction_origination_code
49 g_auc_origination_code    PON_AUCTION_HEADERS_ALL.AUCTION_ORIGINATION_CODE%TYPE;
50 
51 -- Global variable for Rate Based Temp Labor line type
52 g_temp_labor CONSTANT VARCHAR2(10) := 'TEMP LABOR';
53 
54 -- Global variable for inactive attribute message flag
55 g_added_inactv_attr_grp_msg VARCHAR2(1);
56 
57 g_source_doc_id NUMBER;
58 g_source_doc_num VARCHAR2(30);
59 g_source_doc_int_name VARCHAR2(50);
60 
61 -- flag to know if lot/lot line/group/group line is deleted (due to style)
62 g_line_deleted VARCHAR2(1);
63 
64 PROCEDURE COPY_HEADER_BASIC (p_source_auction_header_id IN NUMBER,
65                           p_auction_header_id           IN NUMBER,
66                           p_tp_id                       IN NUMBER,
67                           p_tp_contact_id               IN NUMBER,
68                           p_tp_name                     IN VARCHAR2,
69                           p_tpc_name                    IN VARCHAR2,
70                           p_user_id                     IN NUMBER,
71                           p_source_doctype_id           IN NUMBER,
72                           p_doctype_id                  IN NUMBER,
73                           p_copy_type                   IN VARCHAR2,
74                           p_is_award_approval_reqd      IN VARCHAR2,
75                           p_retain_attachments          IN VARCHAR2,
76                           p_retain_clause               IN VARCHAR2,
77                           p_source_orig_round_id        IN NUMBER,
78                           p_source_prev_round_id        IN NUMBER,
79                           p_round_number                IN NUMBER,
80                           p_last_amendment_number       IN NUMBER,
81                           p_source_orig_amend_id        IN NUMBER,
82                           p_source_doctype_grp_name     IN VARCHAR2,
83                           p_source_auc_orig_code        IN VARCHAR2,
84                           x_contracts_doctype           OUT NOCOPY VARCHAR2,
85                           x_contract_type               OUT NOCOPY VARCHAR2,
86                           x_document_number             OUT NOCOPY VARCHAR2);
87 
88 PROCEDURE COPY_HEADER (p_source_auction_header_id       IN NUMBER,
89                           p_auction_header_id           IN NUMBER,
90                           p_tp_id                       IN NUMBER,
91                           p_tp_contact_id               IN NUMBER,
92                           p_tp_name                     IN VARCHAR2,
93                           p_tpc_name                    IN VARCHAR2,
94                           p_user_id                     IN NUMBER,
95                           p_source_doctype_id           IN NUMBER,
96                           p_doctype_id                  IN NUMBER,
97                           p_copy_type                   IN VARCHAR2,
98                           p_org_id                      IN NUMBER,
99                           p_is_award_approval_reqd      IN VARCHAR2,
100                           p_retain_clause               IN VARCHAR2,
101                           p_update_clause               IN VARCHAR2,
102                           p_retain_attachments          IN VARCHAR2,
103                           p_source_orig_round_id        IN NUMBER,
104                           p_source_prev_round_id        IN NUMBER,
105                           p_round_number                IN NUMBER,
106                           p_last_amendment_number       IN NUMBER,
107                           p_source_orig_amend_id        IN NUMBER,
108                           p_source_doctype_grp_name     IN VARCHAR2,
109                           p_source_auc_orig_code        IN VARCHAR2,
110                           x_document_number                OUT NOCOPY VARCHAR2);
111 
112 PROCEDURE COPY_CONTRACTS_ATTACHMENTS (
113                           p_source_auction_header_id    IN NUMBER,
114                           p_auction_header_id           IN NUMBER,
115                           p_tp_id                       IN NUMBER,
116                           p_tp_contact_id               IN NUMBER,
117                           p_tp_name                     IN VARCHAR2,
118                           p_tpc_name                    IN VARCHAR2,
119                           p_user_id                     IN NUMBER,
120                           p_source_doctype_id           IN NUMBER,
121                           p_doctype_id                  IN NUMBER,
122                           p_copy_type                   IN VARCHAR2,
123                           p_org_id                      IN NUMBER,
124                           p_is_award_approval_reqd      IN VARCHAR2,
125                           p_retain_clause               IN VARCHAR2,
126                           p_update_clause               IN VARCHAR2,
127                           p_retain_attachments          IN VARCHAR2,
128                           p_contracts_doctype           IN VARCHAR2,
129                           p_contract_type               IN VARCHAR2,
130                           p_document_number             IN VARCHAR2);
131 
132 PROCEDURE COPY_LINES (    p_source_auction_header_id    IN NUMBER,
133                           p_auction_header_id           IN NUMBER,
134                           p_tp_id                       IN NUMBER,
135                           p_tp_contact_id               IN NUMBER,
136                           p_tp_name                     IN VARCHAR2,
137                           p_tpc_name                    IN VARCHAR2,
138                           p_user_id                     IN NUMBER,
139                           p_source_doctype_id           IN NUMBER,
140                           p_doctype_id                  IN NUMBER,
141                           p_copy_type                   IN VARCHAR2,
142                           p_round_number                IN NUMBER,
143                           p_last_amendment_number       IN NUMBER,
144                           p_retain_attachments          IN VARCHAR2,
145                           p_staggered_closing_interval        IN NUMBER,
146                           p_from_line_number                  IN NUMBER,
147                           p_to_line_number                    IN NUMBER );
148 
149 PROCEDURE COPY_SECTION ( p_source_auction_header_id   IN NUMBER,
150                            p_auction_header_id          IN NUMBER,
151                            p_tp_id                      IN NUMBER,
152                            p_tp_contact_id              IN NUMBER,
153                            p_tp_name                    IN VARCHAR2,
154                            p_tpc_name                   IN VARCHAR2,
155                            p_user_id                    IN NUMBER,
156                            p_source_doctype_id          IN NUMBER,
157                            p_doctype_id                 IN NUMBER,
158                            p_copy_type                  IN VARCHAR2);
159 
160 
161 PROCEDURE COPY_HEADER_ATTRIBUTE (  p_source_auction_header_id IN NUMBER,
162                             p_auction_header_id        IN NUMBER,
163                             p_tp_id                    IN NUMBER,
164                             p_tp_contact_id            IN NUMBER,
165                             p_tp_name                  IN VARCHAR2,
166                             p_tpc_name                 IN VARCHAR2,
167                             p_user_id                  IN NUMBER,
168                             p_source_doctype_id        IN NUMBER,
169                             p_doctype_id               IN NUMBER,
170                             p_copy_type                IN VARCHAR2
171                           );
172 
173 PROCEDURE COPY_HEADER_ATTRIBUTE_SCORE (p_source_auction_header_id IN NUMBER,
174                                 p_auction_header_id        IN NUMBER,
175                                 p_tp_id                    IN NUMBER,
176                                 p_tp_contact_id            IN NUMBER,
177                                 p_tp_name                  IN VARCHAR2,
178                                 p_tpc_name                 IN VARCHAR2,
179                                 p_user_id                  IN NUMBER,
180                                 p_source_doctype_id        IN NUMBER,
181                                 p_doctype_id               IN NUMBER,
182                                 p_copy_type                IN VARCHAR2
183                                 );
184 
185 PROCEDURE COPY_LINE_ATTRIBUTE ( p_source_auction_header_id   IN NUMBER,
186                            p_auction_header_id          IN NUMBER,
187                            p_tp_id                      IN NUMBER,
188                            p_tp_contact_id              IN NUMBER,
189                            p_tp_name                    IN VARCHAR2,
190                            p_tpc_name                   IN VARCHAR2,
191                            p_user_id                    IN NUMBER,
192                            p_source_doctype_id          IN NUMBER,
193                            p_doctype_id                 IN NUMBER,
194                            p_copy_type                  IN VARCHAR2,
195                            p_from_line_number           IN NUMBER,
196                            p_to_line_number             IN NUMBER );
197 
198 PROCEDURE COPY_LINE_ATTRIBUTE_SCORE (p_source_auction_header_id IN NUMBER,
199                                 p_auction_header_id        IN NUMBER,
200                                 p_tp_id                    IN NUMBER,
201                                 p_tp_contact_id            IN NUMBER,
202                                 p_tp_name                  IN VARCHAR2,
203                                 p_tpc_name                 IN VARCHAR2,
204                                 p_user_id                  IN NUMBER,
205                                 p_source_doctype_id        IN NUMBER,
206                                 p_doctype_id               IN NUMBER,
207                                 p_copy_type                IN VARCHAR2,
208                           p_from_line_number                IN NUMBER,
209                           p_to_line_number                  IN NUMBER );
210 
211 PROCEDURE COPY_PRICE_DIFF (   p_source_auction_header_id   IN NUMBER,
212                               p_auction_header_id          IN NUMBER,
213                               p_tp_id                      IN NUMBER,
214                               p_tp_contact_id              IN NUMBER,
215                               p_tp_name                    IN VARCHAR2,
216                               p_tpc_name                   IN VARCHAR2,
217                               p_user_id                    IN NUMBER,
218                               p_doctype_id                 IN NUMBER,
219                               p_copy_type                  IN VARCHAR2,
220                           p_from_line_number                IN NUMBER,
221                           p_to_line_number                  IN NUMBER );
222 
223 PROCEDURE COPY_SHIPMENTS (   p_source_auction_header_id    IN NUMBER,
224                              p_auction_header_id           IN NUMBER,
225                              p_tp_id                       IN NUMBER,
226                              p_tp_contact_id               IN NUMBER,
227                              p_tp_name                     IN VARCHAR2,
228                              p_tpc_name                    IN VARCHAR2,
229                              p_user_id                     IN NUMBER,
230                              p_doctype_id                  IN NUMBER,
231                              p_source_doctype_id           IN NUMBER,
232                              p_copy_type                   IN VARCHAR2,
233                           p_from_line_number                IN NUMBER,
234                           p_to_line_number                  IN NUMBER );
235 
236 PROCEDURE COPY_PRICE_ELEMENTS (  p_source_auction_header_id IN NUMBER,
237                                  p_auction_header_id        IN NUMBER,
238                                  p_tp_id                    IN NUMBER,
239                                  p_tp_contact_id            IN NUMBER,
240                                  p_tp_name                  IN VARCHAR2,
241                                  p_tpc_name                 IN VARCHAR2,
242                                  p_user_id                  IN NUMBER,
243                                  p_source_doctype_id        IN NUMBER,
244                                  p_doctype_id               IN NUMBER,
245                                  p_copy_type                IN VARCHAR2,
246                                  p_source_doc_num           IN VARCHAR2,
247                           p_from_line_number                IN NUMBER,
248                           p_to_line_number                  IN NUMBER );
249 
250 PROCEDURE COPY_CURRENCIES ( p_source_auction_header_id      IN NUMBER,
251                             p_auction_header_id             IN NUMBER,
252                             p_tp_id                         IN NUMBER,
253                             p_tp_contact_id                 IN NUMBER,
254                             p_tp_name                       IN VARCHAR2,
255                             p_tpc_name                      IN VARCHAR2,
256                             p_user_id                       IN NUMBER,
257                             p_doctype_id                    IN NUMBER,
258                             p_copy_type                     IN VARCHAR2);
259 
260 PROCEDURE COPY_INVITEES (   p_source_auction_header_id      IN NUMBER,
261                             p_auction_header_id             IN NUMBER,
262                             p_tp_id                         IN NUMBER,
263                             p_tp_contact_id                 IN NUMBER,
264                             p_tp_name                       IN VARCHAR2,
265                             p_tpc_name                      IN VARCHAR2,
266                             p_user_id                       IN NUMBER,
267                             p_doctype_id                    IN NUMBER,
268                             p_copy_type                     IN VARCHAR2,
269                             p_org_id                        IN NUMBER,
270                             p_round_number                  IN NUMBER);
271 
272 
273 PROCEDURE COPY_NEG_TEAM (p_source_auction_header_id        IN NUMBER,
274                          p_auction_header_id               IN NUMBER,
275                          p_tp_id                           IN NUMBER,
276                          p_tp_contact_id                   IN NUMBER,
277                          p_tp_name                         IN VARCHAR2,
278                          p_tpc_name                        IN VARCHAR2,
279                          p_user_id                         IN NUMBER,
280                          p_doctype_id                      IN NUMBER,
281                          p_copy_type                       IN VARCHAR2,
282                          p_user_name                       IN VARCHAR2,
283                          p_mgr_id                          IN NUMBER);
284 
285 PROCEDURE COPY_PARTY_LINE_EXCLUSIONS (
286                          p_source_auction_header_id        IN NUMBER,
287                          p_auction_header_id               IN NUMBER,
288                          p_user_id                         IN NUMBER,
289                          p_doctype_id                      IN NUMBER,
290                          p_copy_type                       IN VARCHAR2,
291                           p_from_line_number                IN NUMBER,
292                           p_to_line_number                  IN NUMBER );
293 
294 PROCEDURE COPY_PF_SUPPLIER_VALUES (
295                          p_source_auction_header_id        IN NUMBER,
296                          p_auction_header_id               IN NUMBER,
297                          p_user_id                         IN NUMBER,
298                          p_doctype_id                      IN NUMBER,
299                          p_copy_type                       IN VARCHAR2,
300                           p_from_line_number                IN NUMBER,
301                           p_to_line_number                  IN NUMBER );
302 
303 PROCEDURE COPY_FORM_DATA (
304                          p_source_auction_header_id        IN NUMBER,
305                          p_auction_header_id               IN NUMBER,
306                          p_user_id                         IN NUMBER,
307                          p_doctype_id                      IN NUMBER,
308                          p_source_doctype_id               IN NUMBER,
309                          p_copy_type                       IN VARCHAR2);
310 
311 PROCEDURE COPY_FORM_CHILDREN (
312                          p_source_auction_header_id        IN NUMBER,
313                          p_auction_header_id               IN NUMBER,
314                          p_user_id                         IN NUMBER,
315                          p_doctype_id                      IN NUMBER,
316                          p_source_doctype_id               IN NUMBER,
317                          p_copy_type                       IN VARCHAR2);
318 
319 PROCEDURE COPY_FORM_FIELD_CHILDREN (
320                          p_orig_parent_fld_values_fk       IN NUMBER,
321                          p_new_parent_field_values_fk      IN NUMBER,
322                          p_user_id                         IN NUMBER,
323                          p_new_entity_pk1                  IN VARCHAR2,
324                          p_form_id                         IN NUMBER,
325                          p_old_entity_pk1                  IN VARCHAR2);
326 
327 
328 
329 
330 PROCEDURE COPY_LINES_AND_CHILDREN(
331                     p_api_version                 IN          NUMBER,
332                     p_init_msg_list               IN          VARCHAR2,
333                     p_source_auction_header_id    IN          NUMBER,
334                     p_destination_auction_hdr_id  IN          NUMBER,
335                     p_trading_partner_id          IN          NUMBER ,
336                     p_trading_partner_contact_id  IN          NUMBER ,
337                     p_language                    IN          VARCHAR2,
338                     p_user_id                     IN          NUMBER,
339                     p_doctype_id                  IN          NUMBER,
340                     p_copy_type                   IN          VARCHAR2,
341                     p_is_award_approval_reqd      IN          VARCHAR2,
342                     p_user_name                   IN          VARCHAR2,
343                     p_mgr_id                      IN          NUMBER,
344                     p_retain_clause               IN          VARCHAR2,
345                     p_update_clause               IN          VARCHAR2,
346                     p_retain_attachments          IN          VARCHAR2,
347                     p_tpc_name                    IN          VARCHAR2,
348                     p_tp_name                     IN          VARCHAR2,
349                     p_source_doctype_id           IN          NUMBER,
350                     p_org_id                      IN          NUMBER,
351                     p_round_number                IN          NUMBER,
352                     p_last_amendment_number       IN          NUMBER,
353                     p_source_doc_num              IN          VARCHAR2,
354                     p_style_id                    IN          NUMBER,
355                     x_return_status               OUT NOCOPY  VARCHAR2,
356                     x_msg_count                   OUT NOCOPY  NUMBER,
357                     x_msg_data                    OUT NOCOPY  VARCHAR2
358                     );
359 
360 PROCEDURE  PON_LRG_DRAFT_TO_LRG_PF_COPY (
361                 p_source_auction_hdr_id IN pon_large_neg_pf_values.AUCTION_HEADER_ID%type,
362                    p_destination_auction_hdr_id IN pon_large_neg_pf_values.AUCTION_HEADER_ID%type,
363                 p_user_id IN number);
364 
365 PROCEDURE PON_ORD_DRAFT_TO_LRG_PF_COPY (
366                 p_source_auction_hdr_id IN pon_large_neg_pf_values.AUCTION_HEADER_ID%type,
367                 p_destination_auction_hdr_id IN pon_large_neg_pf_values.AUCTION_HEADER_ID%type,
368                 p_user_id IN number);
369 
370 procedure renumber_lines(p_auction_header_id IN  NUMBER);
371 
372 TYPE AUC_HDR_TYPE_BASE_DATA IS RECORD (
373 
374     BID_VISIBILITY_CODE         PON_AUCTION_HEADERS_ALL.BID_VISIBILITY_CODE%TYPE,
375     BID_SCOPE_CODE              PON_AUCTION_HEADERS_ALL.BID_SCOPE_CODE%TYPE,
376     CONTRACT_TYPE               PON_AUCTION_HEADERS_ALL.CONTRACT_TYPE%TYPE,
377     PO_START_DATE               PON_AUCTION_HEADERS_ALL.PO_START_DATE%TYPE,
378     PO_END_DATE                 PON_AUCTION_HEADERS_ALL.PO_END_DATE%TYPE,
379     PO_AGREED_AMOUNT            PON_AUCTION_HEADERS_ALL.PO_AGREED_AMOUNT%TYPE,
380     MANUAL_CLOSE_FLAG           PON_AUCTION_HEADERS_ALL.MANUAL_CLOSE_FLAG%TYPE,
381     MANUAL_EXTEND_FLAG          PON_AUCTION_HEADERS_ALL.MANUAL_EXTEND_FLAG%TYPE,
382     SHOW_BIDDER_NOTES           PON_AUCTION_HEADERS_ALL.SHOW_BIDDER_NOTES%TYPE,
383     MULTIPLE_ROUNDS_FLAG        PON_AUCTION_HEADERS_ALL.MULTIPLE_ROUNDS_FLAG%TYPE,
384     AUTO_EXTEND_FLAG            PON_AUCTION_HEADERS_ALL.AUTO_EXTEND_FLAG%TYPE,
385     AUTO_EXTEND_ALL_LINES_FLAG  PON_AUCTION_HEADERS_ALL.AUTO_EXTEND_ALL_LINES_FLAG%TYPE,
386     AUTO_EXTEND_MIN_TRIGGER_RANK PON_AUCTION_HEADERS_ALL.AUTO_EXTEND_MIN_TRIGGER_RANK%TYPE,
387     AUTO_EXTEND_DURATION        PON_AUCTION_HEADERS_ALL.AUTO_EXTEND_DURATION%TYPE,
388     AUTO_EXTEND_TYPE_FLAG       PON_AUCTION_HEADERS_ALL.AUTO_EXTEND_TYPE_FLAG%TYPE,
389     GLOBAL_AGREEMENT_FLAG       PON_AUCTION_HEADERS_ALL.GLOBAL_AGREEMENT_FLAG%TYPE,
390     PO_MIN_REL_AMOUNT           PON_AUCTION_HEADERS_ALL.PO_MIN_REL_AMOUNT%TYPE,
391     EVENT_ID                    PON_AUCTION_HEADERS_ALL.EVENT_ID%TYPE,
392     EVENT_TITLE                 PON_AUCTION_HEADERS_ALL.EVENT_TITLE%TYPE,
393     BID_RANKING                 PON_AUCTION_HEADERS_ALL.BID_RANKING%TYPE,
394     BILL_TO_LOCATION_ID         PON_AUCTION_HEADERS_ALL.BILL_TO_LOCATION_ID%TYPE,
395     SHIP_TO_LOCATION_ID         PON_AUCTION_HEADERS_ALL.SHIP_TO_LOCATION_ID%TYPE,
396     CARRIER_CODE                PON_AUCTION_HEADERS_ALL.CARRIER_CODE%TYPE,
397     FREIGHT_TERMS_CODE          PON_AUCTION_HEADERS_ALL.FREIGHT_TERMS_CODE%TYPE,
398     FOB_CODE                    PON_AUCTION_HEADERS_ALL.FOB_CODE%TYPE,
399     BID_LIST_TYPE               PON_AUCTION_HEADERS_ALL.BID_LIST_TYPE%TYPE,
400     BID_FREQUENCY_CODE          PON_AUCTION_HEADERS_ALL.BID_FREQUENCY_CODE%TYPE,
401     FULL_QUANTITY_BID_CODE      PON_AUCTION_HEADERS_ALL.FULL_QUANTITY_BID_CODE%TYPE,
402     RANK_INDICATOR              PON_AUCTION_HEADERS_ALL.RANK_INDICATOR%TYPE,
403     SHOW_BIDDER_SCORES          PON_AUCTION_HEADERS_ALL.SHOW_BIDDER_SCORES%TYPE,
404 
405     PF_TYPE_ALLOWED             PON_AUCTION_HEADERS_ALL.PF_TYPE_ALLOWED%TYPE,
406 
407     PRICE_DRIVEN_AUCTION_FLAG   PON_AUCTION_HEADERS_ALL.PRICE_DRIVEN_AUCTION_FLAG%TYPE,
408     MIN_BID_CHANGE_TYPE         PON_AUCTION_HEADERS_ALL.MIN_BID_CHANGE_TYPE%TYPE,
409     PAYMENT_TERMS_ID            PON_AUCTION_HEADERS_ALL.PAYMENT_TERMS_ID%TYPE,
410     ALLOW_PRICE_ELEMENT         VARCHAR2(1),
411     NO_PRICE_QTY_ITEMS_POSSIBLE VARCHAR2(1),
412     START_PRICE                 VARCHAR2(1),
413     RESERVE_PRICE               VARCHAR2(1),
414     TARGET_PRICE                VARCHAR2(1),
415     CURRENT_PRICE               VARCHAR2(1),
416     BEST_PRICE                  VARCHAR2(1),
417     PRICE_BREAK                 VARCHAR2(1),
418     ALLOW_PRICE_DIFFERENTIAL    VARCHAR2(1),
419     NUMBER_OF_BIDS              NUMBER,
420     AWARD_TYPE_RULE_FIXED_VALUE VARCHAR2(20),
421     CURRENCY_CODE          PON_AUCTION_HEADERS_ALL.CURRENCY_CODE%TYPE,
422     RATE_TYPE          PON_AUCTION_HEADERS_ALL.RATE_TYPE%TYPE,
423     FIRST_LINE_CLOSE_DATE       PON_AUCTION_HEADERS_ALL.FIRST_LINE_CLOSE_DATE%TYPE,
424     STAGGERED_CLOSING_INTERVAL  PON_AUCTION_HEADERS_ALL.STAGGERED_CLOSING_INTERVAL%TYPE,
425     PRICE_TIERS_INDICATOR       PON_AUCTION_HEADERS_ALL.PRICE_TIERS_INDICATOR%TYPE,
426     QTY_PRICE_TIERS_ENABLED_FLAG  PON_AUCTION_HEADERS_ALL.QTY_PRICE_TIERS_ENABLED_FLAG%TYPE
427    );
428 
429 --
430 -- This variable will be used access the doctype based bizrule data accross different procedure.
431 -- This will be initialized in the COPY_HEADER_BASIC procedure. Hence, it should be used only after a
432 -- call to that procedure.
433 --
434 g_auc_doctype_rule_data   AUC_HDR_TYPE_BASE_DATA;
435 
436 
437 TYPE NEG_STYLE_DATA IS RECORD (
438 
439     style_id                        pon_auction_headers_all.style_id%type,
440     line_attribute_enabled_flag        pon_auction_headers_all.line_attribute_enabled_flag%type,
441     line_mas_enabled_flag        pon_auction_headers_all.line_mas_enabled_flag%type,
442     price_element_enabled_flag        pon_auction_headers_all.price_element_enabled_flag%type,
443     rfi_line_enabled_flag        pon_auction_headers_all.rfi_line_enabled_flag%type,
444     lot_enabled_flag                pon_auction_headers_all.lot_enabled_flag%type,
445     group_enabled_flag                pon_auction_headers_all.group_enabled_flag%type,
446     large_neg_enabled_flag        pon_auction_headers_all.large_neg_enabled_flag%type,
447     hdr_attribute_enabled_flag        pon_auction_headers_all.hdr_attribute_enabled_flag%type,
448     neg_team_enabled_flag        pon_auction_headers_all.neg_team_enabled_flag%type,
449     proxy_bidding_enabled_flag        pon_auction_headers_all.proxy_bidding_enabled_flag%type,
450     power_bidding_enabled_flag        pon_auction_headers_all.power_bidding_enabled_flag%type,
451     auto_extend_enabled_flag        pon_auction_headers_all.auto_extend_enabled_flag%type,
452     team_scoring_enabled_flag        pon_auction_headers_all.team_scoring_enabled_flag%type,
453     qty_price_tiers_enabled_flag       pon_auction_headers_all.qty_price_tiers_enabled_flag%type
454 
455    );
456 
457 -- this variable stores raw style settings (data from style table)
458 g_neg_style_raw NEG_STYLE_DATA;
459 
460 -- this variable stores reconciled style settings, it's used to control copy routines
461 g_neg_style_control NEG_STYLE_DATA;
462 
463 
464 g_price_break_response                pon_auction_headers_all.price_break_response%type;
465 
466 FUNCTION GET_HDR_CROSS_COPY_DATA ( p_source_auction_header_id IN NUMBER,
467                                    p_auction_header_id        IN NUMBER,
468                                    p_doctype_id               IN NUMBER,
469                                    p_copy_type                IN VARCHAR2,
470                                    p_source_doctype_id        IN NUMBER,
471                                    p_tp_id                    IN NUMBER) RETURN AUC_HDR_TYPE_BASE_DATA;
472 
473 PROCEDURE LOG_MESSAGE( p_module   IN VARCHAR2, p_message IN VARCHAR2) ;
474 
475 
476 PROCEDURE SET_NEG_STYLE ( p_source_auction_header_id IN NUMBER,
477                           p_tp_id                    IN NUMBER,
478                           p_doctype_id               IN NUMBER,
479                           p_copy_type                IN VARCHAR2,
480                           p_style_id                 IN NUMBER);
481 
482 
483 PROCEDURE REMOVE_LOT_AND_GROUP (p_auction_header_id IN NUMBER,
484                                 p_lot_enabled       IN VARCHAR2,
485                                 p_group_enabled     IN VARCHAR2,
486                                 p_from_line_number                IN NUMBER,
487                                 p_to_line_number                  IN NUMBER );
488 
489 
490 -- Start of comments
491 --      API name  : COPY_NEGOTIATION
492 --
493 --      Type      : Group
494 --
495 --      Pre-reqs  : Negotiation with the given auction_header_id
496 --                        (p_source_auction_header_id) must exists in the database
497 --
498 --      Function  : Creates a negotiation from copying the negotiation
499 --                        with given auction_header_id (p_source_auction_header_id)
500 --
501 --     Parameters:
502 --     IN   :      p_api_version       NUMBER   Required
503 --     IN   :      p_init_msg_list     VARCHAR2   DEFAULT   FND_API.G_TRUE Optional
504 --     IN   :      p_is_conc_call            VARCHAR2   Required This indicates if the
505 --                                      procedure is called online or via a concurrent program
506 --     IN   :      p_source_auction_header_id  NUMBER Required, auction_header_id
507 --                                                      of the source negotiation
508 --     IN   :      p_trading_partner_id    NUMBER Required,  trading_partner_id of user
509 --                                                      for which the reultant negotiation will be created
510 --     IN   :      p_trading_partner_contact_id     NUMBER Required,
511 --                                                      trading_partner_contact_id of user for which the
512 --                                                      reultant negotiation will be created
513 --     IN   :      p_language         VARCHAR2 Required, language of the resultant negotiation
514 --     IN   :      p_user_id          NUMBER Required, user_id (FND) of the calling user;
515 --                                                      It will used for WHO informations also
516 --     IN   :      p_doctype_id       NUMBER Required, doctype_id of the output negotiation
517 --     IN   :      p_copy_type        VARCHAR2 Required, Type of Copy action;
518 --                                                      It should be one of the following -
519 --                                                      g_new_rnd_copy (NEW_ROUND)
520 --                                                      g_active_neg_copy (COPY_ACTIVE)
521 --                                                      g_draft_neg_copy (COPY_DRAFT)
522 --                                                      g_amend_copy (AMENDMENT)
523 --                                                      g_rfi_to_other_copy (COPY_TO_DOC)
524 --     IN   :      p_is_award_approval_reqd     VARCHAR2 Required, flag to decide if
525 --                                                      award approval is required;
526 --                                                      Permissible values are Y or N
527 --
528 --     IN   :      p_user_name      VARCHAR2 Required, user name of the caller in
529 --                                                     the PON_NEG_TEAM_MEMBERS.USER_NAME format
530 --
531 --     IN   :      p_mgr_id       NUMBER Required, manager id of the caller in
532 --                                                     the PON_NEG_TEAM_MEMBERS.USER_ID format
533 --
534 --     IN   :      p_retain_clause  VARCHAR2 Required, flag to carry forward the
535 --                                                      Contracts related information;
536 --                                                      Permissible values are Y or N
537 --     IN   :      p_update_clause  VARCHAR2 Required, flag to ue/updatedate the Contracts
538 --                                                      related information from library;
539 --                                                      Permissible values are Y or N
540 --     IN   :      p_retain_attachments      VARCHAR2 Required, flag to carry forward the
541 --                                                      attachments related to negotiation;
542 --                                                      Permissible values are Y or N
543 --     IN   :      p_large_auction_header_id NUMBER Optional, In the case of the
544 --                                                      source auction being a super large one,
545 --                                                      non null value of this parameter
546 --                                                      corresponds to the header id of the new
547 --                                                      auction whose header has been created.
548 --                                                      Non null values of this parameter
549 --                                                      indicate that this procedure is called from
550 --                                                      a concurrent procedure
551 --     IN   :      p_style_id         NUMBER Optional    This parameter gives the
552 --                                                      style id of the
553 --                                                      destination auction
554 --     OUT  :      x_auction_header_id      NUMBER,     auction_header_id of the
555 --                                                      generated negotiation;
556 --
557 --     OUT  :      x_document_number        NUMBER,       document number of the
558 --                                                      generated negotiation;
559 --
560 --     OUT  :      x_request_id             NUMBER,       id of the  concurrent
561 --                                                      request generated;
562 --
563 --     OUT  :      x_return_status          VARCHAR2, flag to indicate if the copy procedure
564 --                                                       was successful or not; It can have
565 --                                                      following values -
566 --                                                         FND_API.G_RET_STS_SUCCESS (Success)
567 --                                                         FND_API.G_RET_STS_ERROR  (Success with warning)
568 --                                                         FND_API.G_RET_STS_UNEXP_ERROR (Failed due to error)
569 --                                                         g_ret_conc_req_submitted (if a concurrent request is submitted)
570 --
571 --     OUT  :      x_msg_count              NUMBER,   the number of warning of error messages due
572 --                                                       to this procedure call. It will have following
573 --                                                       values  -
574 --                                                       0 (for Success without warning)
575 --                                                       1 (for failure with error, check the
576 --                                                       x_return_status if it is error or waring)
577 --                                                       1 or more (for Success with warning, check the x_return_status)
578 --
579 --     OUT  :      x_msg_data               VARCHAR2,  the standard message data output parameter
580 --                                                       used to return the first message of the stack
581 --
582 --    Version    : Current version    1.0
583 --                 Previous version   1.0
584 --                 Initial version    1.0
585 --
586 -- End of comments
587 
588 
589 PROCEDURE COPY_NEGOTIATION(
590                     p_api_version                 IN          NUMBER,
591                     p_init_msg_list               IN          VARCHAR2,
592                     p_is_conc_call                IN          VARCHAR2,
593                     p_source_auction_header_id    IN          NUMBER,
594                     p_trading_partner_id          IN          NUMBER ,
595                     p_trading_partner_contact_id  IN          NUMBER ,
596                     p_language                    IN          VARCHAR2,
597                     p_user_id                     IN          NUMBER,
598                     p_doctype_id                  IN          NUMBER,
599                     p_copy_type                   IN          VARCHAR2,
600                     p_is_award_approval_reqd      IN          VARCHAR2,
601                     p_user_name                   IN          VARCHAR2,
602                     p_mgr_id                      IN          NUMBER,
603                     p_retain_clause               IN          VARCHAR2,
604                     p_update_clause               IN          VARCHAR2,
605                     p_retain_attachments          IN          VARCHAR2,
606                     p_large_auction_header_id     IN         NUMBER,
607                     p_style_id                    IN         NUMBER,
608                     x_auction_header_id           OUT NOCOPY  NUMBER,
609                     x_document_number             OUT NOCOPY VARCHAR2,
610                     x_request_id                  OUT NOCOPY  NUMBER,
611                     x_return_status               OUT NOCOPY  VARCHAR2,
612                     x_msg_count                   OUT NOCOPY  NUMBER,
613                     x_msg_data                    OUT NOCOPY  VARCHAR2
614                     )
615 IS
616 
617     --
618     -- Remember to change the l_api_version for change in the API
619     --
620     l_api_version    CONSTANT  NUMBER := 1.0;
621 
622 
623     --
624     -- define local variables
625     --
626     l_api_name       CONSTANT  VARCHAR2(30) := 'PON_NEGOTIATION_COPY_GRP';
627     l_procedure_name CONSTANT  VARCHAR2(20) := 'COPY_NEGOTIATION';
628 
629 
630     l_auction_header_id        NUMBER := NULL;
631     l_user_id                  NUMBER;
632     l_tp_id                    NUMBER;
633     l_tp_contact_id            NUMBER;
634 
635     l_tp_name                  HZ_PARTIES.PARTY_NAME%TYPE := NULL;
636     l_tpc_name                 HZ_PARTIES.PARTY_NAME%TYPE := NULL;
637 
638     l_source_doctype_id        NUMBER := NULL;
639     l_source_orig_round_id     NUMBER := NULL;
640     l_source_prev_round_id     NUMBER := NULL;
641     l_source_orig_amend_id     NUMBER := NULL;
642 
643 
644     l_is_award_approval_reqd   VARCHAR2(1);
645     l_retain_attachments       VARCHAR2(1);
646     l_last_amendment_number    NUMBER := 0;
647     l_org_id                   NUMBER := 0;
648     l_round_number             NUMBER := 0;
649     l_source_doctype_grp_name  PON_AUC_DOCTYPES.DOCTYPE_GROUP_NAME%TYPE;
650     l_source_auc_orig_code     PON_AUCTION_HEADERS_ALL.AUCTION_ORIGINATION_CODE%TYPE;
651     l_source_doc_num           PON_AUCTION_HEADERS_ALL.DOCUMENT_NUMBER%TYPE;
652 
653 --This variable is used to store the document number of the new auction
654 --that is created by the COPY_HEADER procedure
655     l_new_doc_number           PON_AUCTION_HEADERS_ALL.DOCUMENT_NUMBER%TYPE;
656     l_is_amendment             VARCHAR2(20);
657     l_error_code_update        VARCHAR2(2000);
658     l_error_msg_update         VARCHAR2(2000);
659 
660 --This variable is a flag that indicates if the source auction is a
661 --super large one or not. It is initialized using a procedure
662     l_is_super_large_auction   VARCHAR2(1);
663 
664 --This variable is used to store the id of the concurrent request that is
665 --submitted for copying super large auctions. This is initialised to the
666 --return value of FND_REQUEST.submit_request.
667     l_request_id               NUMBER := -1;
668 
669 --This variable is initialised to the destination auction header id,
670 --p_large_auction_header_id, for valid value of it.
671 --This variable will take a valid value when the COPY_NEGOTIATION procedure
672 --is called by the concurrent procedure
673     l_large_auction_header_id  NUMBER := NULL;
674 
675 --This variable is used to store the style_id of the source auction.
676 --This is set to the value obtained from the database using an
677 --SQL query
678     l_style_id                 NUMBER := NULL;
679 --Bug # 5591755
680     l_newround_amendment_count NUMBER;
681     l_locked_auction_header_id NUMBER;
682 
683 
684 BEGIN
685 -- { Beginning of COPY_NEGOTIATION
686 
687         --
688         -- If it is a concurrent call, then make use of
689         -- p_large_auction_header_id. This is the header id of the
690         -- auction whose header has been created.
691         --
692         if p_is_conc_call = FND_API.G_TRUE
693         then
694                 LOG_MESSAGE('copy_negotiation','This is a concurrent call...');
695                 l_large_auction_header_id := p_large_auction_header_id;
696         end if;
697 
698         l_user_id                  := p_user_id;
699         l_tp_id                    := p_trading_partner_id;
700         l_tp_contact_id            := p_trading_partner_contact_id;
701         l_is_award_approval_reqd   := 'Y';
702         l_retain_attachments       := 'Y';
703         g_added_inactv_attr_grp_msg := 'N';
704 
705         g_return_status := FND_API.G_RET_STS_SUCCESS;
706 
707         --
708         --Check for StyleId here
709         --If it is -1, then the styleId of the source auction
710         --has to be retained
711         --
712         if nvl(p_style_id,-1) < 0 then
713                 select style_id into l_style_id from pon_auction_headers_all
714                 where auction_header_id = p_source_auction_header_id;
715         else
716                 l_style_id := p_style_id;
717         end if;
718 
719         BEGIN
720                 g_debug_mode := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
721         EXCEPTION
722                 WHEN OTHERS THEN
723                     g_debug_mode := 'N';
724         END;
725 
726         LOG_MESSAGE('copy_negotiation','Copy Negotiation is starting');
727         LOG_MESSAGE('copy_negotiation','Parameters: p_copy_type:'||p_copy_type);
728         LOG_MESSAGE('copy_negotiation','Parameters: p_doctype_id:'|| p_doctype_id);
729         LOG_MESSAGE('copy_negotiation','Parameters: p_init_msg_list:'|| p_init_msg_list);
730 
731         --
732         -- This API can be called with or without commit option
733         -- Hence it should be able to rollback to the point of the
734         -- transaction where it was started.
735         -- Thus issuing a save point
736         --
737         SAVEPOINT  PON_NEGOTIATION_COPY_GRP;
738 
739         --
740         -- Standard call to check for call compatibility
741         --
742         IF NOT FND_API.COMPATIBLE_API_CALL ( l_api_version,
743                                              p_api_version,
744                                              l_api_name,
745                                              G_PKG_NAME )
746         THEN
747             RAISE FND_API.G_EXC_ERROR;
748         END IF;
749 
750         --
751         -- Initialize message list if p_init_msg_list is set to TRUE
752         -- We initialize the list by default. User should pass proper
753         -- value to p_init_msg_list in case this initialization is not
754         -- wanted
755         --
756         IF FND_API.TO_BOOLEAN( p_init_msg_list ) THEN
757            LOG_MESSAGE('copy_negotiation','Initializing the FND_MSG_PUB stack');
758            FND_MSG_PUB.INITIALIZE;
759            LOG_MESSAGE('copy_negotiation','Clearing the FND_MESSAGE stack');
760            FND_MESSAGE.CLEAR;
761         END IF;
762 
763         --
764         --  Initialize APIto return the status as success initially
765         --  Will be setting it to ERRORs in the exception block
766         --  whenever required
767         --
768         x_return_status := FND_API.G_RET_STS_SUCCESS;
769 
770         --
771         --Check if the source auction is a
772         --super large one or not.
773         --call the pl/sql procedure IS_SUPER_LARGE_NEG and set
774         --l_is_super_large_auction accordingly
775         --
776         IF PON_LARGE_AUCTION_UTIL_PKG.IS_SUPER_LARGE_NEG(p_source_auction_header_id) THEN
777             l_is_super_large_auction := 'Y';
778         ELSE
779             l_is_super_large_auction := 'N';
780         END IF;
781 
782 
783         --
784         -- Get the user contact name for the given
785         -- trading_partner_contact_id
786         -- The user contact name will be used in the user name like
787         -- columns in all the tables
788         --
789         BEGIN
790         SELECT USER_NAME
791            INTO l_tpc_name
792            FROM FND_USER
793            WHERE USER_ID = l_user_id;
794         EXCEPTION
795               WHEN NO_DATA_FOUND THEN
796         -- The way I am adding this error may get changed in the future.
797         -- So, please be aware of that
798         FND_MESSAGE.SET_NAME('PON','PON_INVALID_TP_CONTACT_ID');
799                                 FND_MSG_PUB.ADD;
800                                 RAISE FND_API.G_EXC_ERROR;
801          END;
802         --
803         -- Get the company name for the given trading_partner_id
804         -- The resultant company name will be used in the trading partner
805         --name column of PON_AUCTION_HEADERS_ALL table
806         --
807         BEGIN
808                    SELECT  PARTY_NAME
809                  INTO l_tp_name
810                  FROM HZ_PARTIES
811                  WHERE PARTY_ID = l_tp_id;
812         EXCEPTION
813                    WHEN NO_DATA_FOUND THEN
814         -- The way I am adding this error may get changed in the future.
815         -- So, please be aware of that
816         FND_MESSAGE.SET_NAME('PON','PON_INVALID_TP_ID');
817                                 FND_MSG_PUB.ADD;
818                                 RAISE FND_API.G_EXC_ERROR;
819         END;
820 
821         --
822         -- Check if the value of the p_is_award_approval_reqd parameter is
823         -- garbage or not. Set it to default otherwise
824         --
825         IF (p_is_award_approval_reqd <> 'Y') THEN
826                 l_is_award_approval_reqd := 'N';
827         END IF;
828 
829         --
830         -- Check if the value of the p_is_award_approval_reqd parameter is
831         -- garbage or not. Set it to default otherwise
832         --
833         IF (p_retain_attachments <> 'Y') THEN
834                 l_retain_attachments := 'N';
835         END IF;
836 
837         --
838         -- Check if the value of the p_copy_type parameter is
839         -- valid or not.
840         -- Raise an error with the PON_INV_COPY_OPTION message
841         -- to the caller in case of invalid p_copy_type parameter
842         --
843         IF (p_copy_type <> g_new_rnd_copy     AND
844             p_copy_type <> g_active_neg_copy  AND
845             p_copy_type <> g_draft_neg_copy   AND
846             p_copy_type <> g_amend_copy       AND
847             p_copy_type <> g_rfi_to_other_copy) THEN
848 
849                         -- The way I am adding this error may get changed in the
850                         -- future.
851                         -- So, please be aware of that
852                         FND_MESSAGE.SET_NAME('PON','PON_INV_COPY_OPTION');
853                         FND_MSG_PUB.ADD;
854                         RAISE FND_API.G_EXC_ERROR;
855         END IF;
856 
857           g_err_loc := '-1. Doing validation checks prior to copy';
858           --
859           -- Bug# 5591755
860           --If creating a header row,
861           --in case of new round or amendment take a DB lock here
862           --
863           IF
864           ((l_is_super_large_auction = 'Y' AND p_is_conc_call = FND_API.G_FALSE) or (l_is_super_large_auction = 'N'))
865           AND
866           (p_copy_type = g_new_rnd_copy OR p_copy_type = g_amend_copy)
867           THEN
868 
869             LOG_MESSAGE('copy_negotiation','Locking the header');
870 
871             SELECT auction_header_id
872             INTO l_locked_auction_header_id
873             FROM pon_auction_headers_all
874             WHERE auction_header_id = p_source_auction_header_id
875             FOR UPDATE;
876 
877 
878           -- Check if the there are already new rounds or
879           -- amendments created for this action
880           -- This is for checking the multiple clicks of buttons
881           -- when creating the new rounds or amendments
882           --
883 
884           BEGIN
885 
886               if p_copy_type = g_new_rnd_copy then
887 
888                 LOG_MESSAGE('copy_negotiation','Checking for multiple new rounds');
889 
890                 select count(auction_header_id)
891                 into l_newround_amendment_count
892                 from pon_auction_headers_all
893                 where auction_header_id_prev_round = p_source_auction_header_id;
894                 LOG_MESSAGE('copy_negotiation','l_newround_amendment_count : ' || l_newround_amendment_count);
895 
896                 if l_newround_amendment_count <> 0 then
897 
898                   LOG_MESSAGE('copy_negotiation','Adding error to the FND stack to indicate parallel new rounds creation error and raising FND_API.G_EXC_ERROR');
899                   FND_MESSAGE.SET_NAME('PON','PON_MULTI_NEWRND_OR_AMND_ERR');
900                   FND_MSG_PUB.ADD;
901                   RAISE FND_API.G_EXC_ERROR;
902 
903                 end if;
904 
905               elsif  p_copy_type = g_amend_copy then
906 
907                 LOG_MESSAGE('copy_negotiation','Checking for multiple new rounds or amendments');
908 
909                 select count(auction_header_id)
910                 into l_newround_amendment_count
911                 from pon_auction_headers_all
912                 where auction_header_id_prev_amend = p_source_auction_header_id;
913 
914                 LOG_MESSAGE('copy_negotiation','l_newround_amendment_count : ' || l_newround_amendment_count);
915 
916                 if l_newround_amendment_count <> 0 then
917 
918                   LOG_MESSAGE('copy_negotiation','Adding error to the FND stack to indicate parallel amendments creation error and raising FND_API.G_EXC_ERROR;');
919                   FND_MESSAGE.SET_NAME('PON','PON_MULTI_NEWRND_OR_AMND_ERR');
920                   FND_MSG_PUB.ADD;
921                   RAISE FND_API.G_EXC_ERROR;
922 
923                 end if;
924 
925               end if;
926 
927           EXCEPTION
928                   WHEN FND_API.G_EXC_ERROR  THEN
929                           ROLLBACK TO PON_NEGOTIATION_COPY_GRP;
930                           x_return_status := FND_API.G_RET_STS_ERROR  ;
931                           FND_MSG_PUB.COUNT_AND_GET( p_count    => x_msg_count,
932                                                      p_data    =>  x_msg_data
933                                                    );
934 
935                           LOG_MESSAGE('copy_negotiation','An error in the procedure. Error at:'||g_err_loc || ' :' || SQLCODE || ' :' || SQLERRM);
936                           return;
937           END;
938 
939           END IF;
940 
941 
942         --
943         -- Fetch few important attributes of the source negotiation to
944         --create parameters for subsequent procedure calls. The given
945         -- negotiation (p_source_auction_header_id)
946         -- document should exist in the database.
947         -- Raise an error with the PON_CONFIG_NEG_NUMB_INVALID message
948         -- to the caller in case of invalid p_source_auction_header_id
949         -- parameter
950         --
951         BEGIN
952         SELECT A.DOCTYPE_ID, A.AUCTION_HEADER_ID_ORIG_ROUND, A.AUCTION_HEADER_ID_PREV_ROUND,
953         nvl(A.AUCTION_ROUND_NUMBER,1), nvl( A.AMENDMENT_NUMBER,0), A.AUCTION_HEADER_ID_ORIG_AMEND,
954         A.ORG_ID, D.DOCTYPE_GROUP_NAME, D.MESSAGE_SUFFIX, A.AUCTION_ORIGINATION_CODE,A.DOCUMENT_NUMBER,
955         A.PRICE_BREAK_RESPONSE
956         INTO l_source_doctype_id, l_source_orig_round_id, l_source_prev_round_id, l_round_number,
957         l_last_amendment_number, l_source_orig_amend_id, l_org_id, l_source_doctype_grp_name,
958         g_message_suffix, l_source_auc_orig_code,l_source_doc_num, g_price_break_response
959         FROM  PON_AUCTION_HEADERS_ALL A, PON_AUC_DOCTYPES D
960         WHERE auction_header_id = p_source_auction_header_id AND D.DOCTYPE_ID = A.DOCTYPE_ID ;
961         EXCEPTION
962                    WHEN NO_DATA_FOUND THEN
963         -- The way I am adding this error may get changed in the future.
964         -- So, please be aware of that
965         FND_MESSAGE.SET_NAME('PON','PON_INVALID_NEG_NUM');
966                                 FND_MSG_PUB.ADD;
967                                 RAISE FND_API.G_EXC_ERROR;
968            END;
969 
970         -- load data for negotiation style
971         SET_NEG_STYLE ( p_source_auction_header_id => p_source_auction_header_id,
972                         p_tp_id => p_trading_partner_id,
973                         p_doctype_id => p_doctype_id,
974                         p_copy_type => p_copy_type,
975                         p_style_id => p_style_id);
976 
977 
978         -- initialize flag
979         g_line_deleted := 'N';
980 
981         g_err_loc := '0. Copy is going to be started';
982 
983         --
984         --Copy the header here
985         --COPY_HEADER is called if
986         -- (1) It is a super large auction and the header is not yet
987         -- created for it.
988         -- This is the case when the call to COPY_NEGOTIATION is made
989         -- online for a super large auction
990         -- In this case just create a header and return SUCCESS to the
991         -- caller procedure
992         -- OR
993         -- (2) It is an ordinary auction. In this case the
994         -- default/current flow has to be maintained.
995         --
996 
997 
998 
999 
1000         if  (l_is_super_large_auction = 'Y' AND p_is_conc_call = FND_API.G_FALSE) or (l_is_super_large_auction = 'N')
1001         then
1002                 --
1003                 -- Get the new auction_header_id for the new negotiation document
1004                 -- from
1005                 -- the PON_AUCTION_HEADERS_ALL_S sequence
1006                 --
1007                         SELECT PON_AUCTION_HEADERS_ALL_S.NEXTVAL
1008                         INTO l_auction_header_id
1009                         FROM DUAL;
1010                 --
1011                 --Initialise global variables here
1012                 --
1013 
1014                 g_err_loc := '0.1 Going to get Cross Copy Data';
1015 
1016                 --
1017                 -- Call the function to get the Cross Copy related doctype_id based
1018                 -- bizrules data
1019                 --
1020 
1021                 g_auc_doctype_rule_data := GET_HDR_CROSS_COPY_DATA (p_source_auction_header_id ,
1022                                                      l_auction_header_id,
1023                                                      p_doctype_id,
1024                                                      p_copy_type,
1025                                                      l_source_doctype_id,
1026                                                              l_tp_id);
1027 
1028                 LOG_MESSAGE('copy_negotiation','g_auc_doctype_rule_data initialised to:'||
1029                 'BID_VISIBILITY_CODE : '||g_auc_doctype_rule_data.BID_VISIBILITY_CODE ||
1030                 'BID_SCOPE_CODE : '||g_auc_doctype_rule_data.BID_SCOPE_CODE  ||
1031                 'CONTRACT_TYPE : '||g_auc_doctype_rule_data.CONTRACT_TYPE||
1032                 'PO_START_DATE : '||g_auc_doctype_rule_data.PO_START_DATE  ||
1033                 'PO_END_DATE : '||g_auc_doctype_rule_data.PO_END_DATE ||
1034                 'PO_AGREED_AMOUNT : '||g_auc_doctype_rule_data.PO_AGREED_AMOUNT||
1035                 'MANUAL_CLOSE_FLAG : '||g_auc_doctype_rule_data.MANUAL_CLOSE_FLAG   ||
1036                 'MANUAL_EXTEND_FLAG : '||g_auc_doctype_rule_data.MANUAL_EXTEND_FLAG  ||
1037                 'SHOW_BIDDER_NOTES : '||g_auc_doctype_rule_data.SHOW_BIDDER_NOTES   ||
1038                 'MULTIPLE_ROUNDS_FLAG : '||g_auc_doctype_rule_data.MULTIPLE_ROUNDS_FLAG ||
1039                 'AUTO_EXTEND_FLAG : '||g_auc_doctype_rule_data.AUTO_EXTEND_FLAG||
1040                 'AUTO_EXTEND_ALL_LINES_FLAG : '||g_auc_doctype_rule_data.AUTO_EXTEND_ALL_LINES_FLAG  ||
1041                 'AUTO_EXTEND_MIN_TRIGGER_RANK : '||g_auc_doctype_rule_data.AUTO_EXTEND_MIN_TRIGGER_RANK ||
1042                 'AUTO_EXTEND_DURATION : '||g_auc_doctype_rule_data.AUTO_EXTEND_DURATION||
1043                 'AUTO_EXTEND_TYPE_FLAG  : '||g_auc_doctype_rule_data.AUTO_EXTEND_TYPE_FLAG   ||
1044                 'GLOBAL_AGREEMENT_FLAG   : '||g_auc_doctype_rule_data.GLOBAL_AGREEMENT_FLAG   ||
1045                 'PO_MIN_REL_AMOUNT  : '||g_auc_doctype_rule_data.PO_MIN_REL_AMOUNT   ||
1046                 'EVENT_ID : '||g_auc_doctype_rule_data.EVENT_ID||
1047                 'EVENT_TITLE : '||g_auc_doctype_rule_data.EVENT_TITLE ||
1048                 'BID_RANKING : '||g_auc_doctype_rule_data.BID_RANKING ||
1049                 'BILL_TO_LOCATION_ID : '||g_auc_doctype_rule_data.BILL_TO_LOCATION_ID ||
1050                 'SHIP_TO_LOCATION_ID  : '||g_auc_doctype_rule_data.SHIP_TO_LOCATION_ID ||
1051                 'CARRIER_CODE : '||g_auc_doctype_rule_data.CARRIER_CODE||
1052                 'FREIGHT_TERMS_CODE  : '||g_auc_doctype_rule_data.FREIGHT_TERMS_CODE  ||
1053                 'FOB_CODE : '||g_auc_doctype_rule_data.FOB_CODE||
1054                 'BID_LIST_TYPE  : '||g_auc_doctype_rule_data.BID_LIST_TYPE   ||
1055                 'BID_FREQUENCY_CODE  : '||g_auc_doctype_rule_data.BID_FREQUENCY_CODE  ||
1056                 'FULL_QUANTITY_BID_CODE  : '||g_auc_doctype_rule_data.FULL_QUANTITY_BID_CODE  ||
1057                 'RANK_INDICATOR  : '||g_auc_doctype_rule_data.RANK_INDICATOR  ||
1058                 'SHOW_BIDDER_SCORES  : '||g_auc_doctype_rule_data.SHOW_BIDDER_SCORES  ||
1059                 'PF_TYPE_ALLOWED : '||g_auc_doctype_rule_data.PF_TYPE_ALLOWED ||
1060                 'PRICE_DRIVEN_AUCTION_FLAG   : '||g_auc_doctype_rule_data.PRICE_DRIVEN_AUCTION_FLAG   ||
1061                 'MIN_BID_CHANGE_TYPE : '||g_auc_doctype_rule_data.MIN_BID_CHANGE_TYPE ||
1062                 'PAYMENT_TERMS_ID : '||g_auc_doctype_rule_data.PAYMENT_TERMS_ID||
1063                 'ALLOW_PRICE_ELEMENT  : '||g_auc_doctype_rule_data.ALLOW_PRICE_ELEMENT ||
1064                 'NO_PRICE_QTY_ITEMS_POSSIBLE : '||g_auc_doctype_rule_data.NO_PRICE_QTY_ITEMS_POSSIBLE ||
1065                 'START_PRICE : '||g_auc_doctype_rule_data.START_PRICE ||
1066                 'RESERVE_PRICE   : '||g_auc_doctype_rule_data.RESERVE_PRICE   ||
1067                 'TARGET_PRICE : '||g_auc_doctype_rule_data.TARGET_PRICE||
1068                 'CURRENT_PRICE  : '||g_auc_doctype_rule_data.CURRENT_PRICE   ||
1069                 'PRICE_BREAK : '||g_auc_doctype_rule_data.PRICE_BREAK ||
1070                 'ALLOW_PRICE_DIFFERENTIAL : '||g_auc_doctype_rule_data.ALLOW_PRICE_DIFFERENTIAL||
1071                 'NUMBER_OF_BIDS  : '||g_auc_doctype_rule_data.NUMBER_OF_BIDS  ||
1072                 'AWARD_TYPE_RULE_FIXED_VALUE : '||g_auc_doctype_rule_data.AWARD_TYPE_RULE_FIXED_VALUE ||
1073                 'CURRENCY_CODE  : '||g_auc_doctype_rule_data.CURRENCY_CODE  ||
1074                 'RATE_TYPE  : '||g_auc_doctype_rule_data.RATE_TYPE  );
1075 
1076                 g_err_loc := '0.2 Header Copy is going to be started';
1077                 LOG_MESSAGE('copy_negotiation','Copy Header is starting');
1078 
1079                 COPY_HEADER (
1080                       p_source_auction_header_id =>     p_source_auction_header_id,
1081                       p_auction_header_id        =>     l_auction_header_id,
1082                       p_tp_id                    =>     l_tp_id,
1083                       p_tp_contact_id            =>           l_tp_contact_id,
1084                       p_tp_name                  =>     l_tp_name,
1085                       p_tpc_name                 =>     l_tpc_name,
1086                       p_user_id                  =>     l_user_id,
1087                       p_source_doctype_id        =>     l_source_doctype_id,
1088                       p_doctype_id               =>     p_doctype_id,
1089                       p_copy_type                =>     p_copy_type,
1090                       p_org_id                   =>     l_org_id,
1091                       p_is_award_approval_reqd   =>     l_is_award_approval_reqd,
1092                       p_retain_clause            =>     p_retain_clause,
1093                       p_update_clause            =>     p_update_clause,
1094                       p_retain_attachments       =>     l_retain_attachments,
1095                       p_source_orig_round_id     =>     l_source_orig_round_id,
1096                       p_source_prev_round_id     =>     l_source_prev_round_id,
1097                       p_round_number             =>     l_round_number,
1098                       p_last_amendment_number    =>     l_last_amendment_number,
1099                       p_source_orig_amend_id     =>     l_source_orig_amend_id,
1100                       p_source_doctype_grp_name  =>     l_source_doctype_grp_name,
1101                       p_source_auc_orig_code     =>     l_source_auc_orig_code,
1102                       x_document_number                 =>        l_new_doc_number
1103                      );
1104         x_document_number := l_new_doc_number;
1105                 g_err_loc := '2. After Copying Header';
1106 
1107                 LOG_MESSAGE('copy_negotiation','Copied the header with document number : '||l_new_doc_number);
1108                 --
1109                 -- if it is a super large auction, then initiate a concurrent
1110                 -- request, update the PON_AUCTION_HEADERS_ALL and return with a
1111                 -- CONC_REQ_SUBMITTED status
1112                 --
1113                 if (l_is_super_large_auction = 'Y') then
1114 
1115                         LOG_MESSAGE('copy_negotiation','Trying to submit a concurrent request ');
1116 
1117                         l_request_id := FND_REQUEST.submit_request(
1118                                                         application    =>    'PON',
1119                                                         program        =>    'PON_COPY_NEGOTIATIONS',
1120                                                         description    =>    null,
1121                                                         start_time     =>    null,
1122                                                         sub_request    =>    FALSE,
1123                                                         argument1      =>    to_char(p_api_version),
1124                                                         argument2      =>    p_init_msg_list,
1125                                                         argument3      =>    to_char(p_source_auction_header_id),
1126                                                         argument4      =>    to_char(p_trading_partner_id),
1127                                                         argument5      =>    to_char(p_trading_partner_contact_id),
1128                                                         argument6      =>    p_language,
1129                                                         argument7      =>    to_char(p_user_id),
1130                                                         argument8      =>    to_char(p_doctype_id),
1131                                                         argument9      =>    p_copy_type,
1132                                                         argument10     =>    p_is_award_approval_reqd,
1133                                                         argument11     =>    p_user_name,
1134                                                         argument12     =>    to_char(p_mgr_id),
1135                                                         argument13     =>    p_retain_clause,
1136                                                         argument14     =>    p_update_clause,
1137                                                         argument15     =>    p_retain_attachments,
1138                                                         argument16     =>    to_char(l_auction_header_id),
1139                                                         argument17     =>    to_char(l_style_id));
1140 
1141                         g_err_loc := '3. Before submitting the concurrent request';
1142                         --update the pon_auction_headers_all table
1143                         --
1144                         update pon_auction_headers_all set
1145                         request_id = l_request_id,
1146                         requested_by = p_user_id,
1147                         request_date = sysdate,
1148                         last_update_date = sysdate,
1149                         last_updated_by = p_user_id,
1150                         complete_flag = 'N'
1151                         where auction_header_id = l_auction_header_id;
1152                         --
1153                         --Inform the caller that the source auction is a
1154                         --super large one
1155                         --
1156                         x_return_status := G_RET_CONC_REQ_SUBMITTED;
1157                         x_request_id := l_request_id;
1158 
1159                         LOG_MESSAGE('copy_negotiation','Submitted a concurrent request with id  : '||l_request_id);
1160 
1161                 end if;
1162 
1163                 x_auction_header_id := l_auction_header_id;
1164                 --
1165                 --Header is successfully created.
1166                 --Return this new auction header id to the caller
1167                 --
1168 
1169         end if;
1170 
1171 
1172         if (l_is_super_large_auction = 'Y' AND p_is_conc_call = FND_API.G_TRUE) or l_is_super_large_auction = 'N' then
1173                 -- control comes here if
1174                 -- (1) It is a super large auction and the
1175                 -- it is a call from concurrent procedure where we have the
1176                 -- header for the new auction already created in
1177                 -- which case we resume the task of copying
1178                 -- the lines, etc. of the super large auction.
1179                 -- OR
1180                 -- (2) It is an ordinary auction. In this case the
1181                 -- default/current flow has to be maintained.
1182                 --
1183                         if l_is_super_large_auction = 'Y' then
1184                             --This block is entered in the case of a cocnurrent call
1185                             l_auction_header_id := l_large_auction_header_id;
1186                             x_auction_header_id := l_large_auction_header_id;
1187                             --
1188                             --Initialise global variables here
1189                             --
1190 
1191                             g_err_loc := '1.1 Going to get Cross Copy Data';
1192 
1193                             --
1194                             -- Call the function to get the Cross Copy related doctype_id based
1195                             -- bizrules data
1196                             --
1197                             LOG_MESSAGE('copy_negotiation','Initialising g_auc_doctype_rule_data');
1198                             g_auc_doctype_rule_data := GET_HDR_CROSS_COPY_DATA (p_source_auction_header_id ,
1199                                                                  l_auction_header_id,
1200                                                                  p_doctype_id,
1201                                                                  p_copy_type,
1202                                                                  l_source_doctype_id,
1203                                                                  l_tp_id);
1204                             LOG_MESSAGE('copy_negotiation','g_auc_doctype_rule_data initialised to:'||
1205                             'BID_VISIBILITY_CODE : '||g_auc_doctype_rule_data.BID_VISIBILITY_CODE ||
1206                             'BID_SCOPE_CODE : '||g_auc_doctype_rule_data.BID_SCOPE_CODE  ||
1207                             'CONTRACT_TYPE : '||g_auc_doctype_rule_data.CONTRACT_TYPE||
1208                             'PO_START_DATE : '||g_auc_doctype_rule_data.PO_START_DATE  ||
1209                             'PO_END_DATE : '||g_auc_doctype_rule_data.PO_END_DATE ||
1210                             'PO_AGREED_AMOUNT : '||g_auc_doctype_rule_data.PO_AGREED_AMOUNT||
1211                             'MANUAL_CLOSE_FLAG : '||g_auc_doctype_rule_data.MANUAL_CLOSE_FLAG   ||
1212                             'MANUAL_EXTEND_FLAG : '||g_auc_doctype_rule_data.MANUAL_EXTEND_FLAG  ||
1213                             'SHOW_BIDDER_NOTES : '||g_auc_doctype_rule_data.SHOW_BIDDER_NOTES   ||
1214                             'MULTIPLE_ROUNDS_FLAG : '||g_auc_doctype_rule_data.MULTIPLE_ROUNDS_FLAG ||
1215                             'AUTO_EXTEND_FLAG : '||g_auc_doctype_rule_data.AUTO_EXTEND_FLAG||
1216                             'AUTO_EXTEND_ALL_LINES_FLAG : '||g_auc_doctype_rule_data.AUTO_EXTEND_ALL_LINES_FLAG  ||
1217                             'AUTO_EXTEND_MIN_TRIGGER_RANK : '||g_auc_doctype_rule_data.AUTO_EXTEND_MIN_TRIGGER_RANK ||
1218                             'AUTO_EXTEND_DURATION : '||g_auc_doctype_rule_data.AUTO_EXTEND_DURATION||
1219                             'AUTO_EXTEND_TYPE_FLAG  : '||g_auc_doctype_rule_data.AUTO_EXTEND_TYPE_FLAG   ||
1220                             'GLOBAL_AGREEMENT_FLAG   : '||g_auc_doctype_rule_data.GLOBAL_AGREEMENT_FLAG   ||
1221                             'PO_MIN_REL_AMOUNT  : '||g_auc_doctype_rule_data.PO_MIN_REL_AMOUNT   ||
1222                             'EVENT_ID : '||g_auc_doctype_rule_data.EVENT_ID||
1223                             'EVENT_TITLE : '||g_auc_doctype_rule_data.EVENT_TITLE ||
1224                             'BID_RANKING : '||g_auc_doctype_rule_data.BID_RANKING ||
1225                             'BILL_TO_LOCATION_ID : '||g_auc_doctype_rule_data.BILL_TO_LOCATION_ID ||
1226                             'SHIP_TO_LOCATION_ID  : '||g_auc_doctype_rule_data.SHIP_TO_LOCATION_ID ||
1227                             'CARRIER_CODE : '||g_auc_doctype_rule_data.CARRIER_CODE||
1228                             'FREIGHT_TERMS_CODE  : '||g_auc_doctype_rule_data.FREIGHT_TERMS_CODE  ||
1229                             'FOB_CODE : '||g_auc_doctype_rule_data.FOB_CODE||
1230                             'BID_LIST_TYPE  : '||g_auc_doctype_rule_data.BID_LIST_TYPE   ||
1231                             'BID_FREQUENCY_CODE  : '||g_auc_doctype_rule_data.BID_FREQUENCY_CODE  ||
1232                             'FULL_QUANTITY_BID_CODE  : '||g_auc_doctype_rule_data.FULL_QUANTITY_BID_CODE  ||
1233                             'RANK_INDICATOR  : '||g_auc_doctype_rule_data.RANK_INDICATOR  ||
1234                             'SHOW_BIDDER_SCORES  : '||g_auc_doctype_rule_data.SHOW_BIDDER_SCORES  ||
1235                             'PF_TYPE_ALLOWED : '||g_auc_doctype_rule_data.PF_TYPE_ALLOWED ||
1236                             'PRICE_DRIVEN_AUCTION_FLAG   : '||g_auc_doctype_rule_data.PRICE_DRIVEN_AUCTION_FLAG   ||
1237                             'MIN_BID_CHANGE_TYPE : '||g_auc_doctype_rule_data.MIN_BID_CHANGE_TYPE ||
1238                             'PAYMENT_TERMS_ID : '||g_auc_doctype_rule_data.PAYMENT_TERMS_ID||
1239                             'ALLOW_PRICE_ELEMENT  : '||g_auc_doctype_rule_data.ALLOW_PRICE_ELEMENT ||
1240                             'NO_PRICE_QTY_ITEMS_POSSIBLE : '||g_auc_doctype_rule_data.NO_PRICE_QTY_ITEMS_POSSIBLE ||
1241                             'START_PRICE : '||g_auc_doctype_rule_data.START_PRICE ||
1242                             'RESERVE_PRICE   : '||g_auc_doctype_rule_data.RESERVE_PRICE   ||
1243                             'TARGET_PRICE : '||g_auc_doctype_rule_data.TARGET_PRICE||
1244                             'CURRENT_PRICE  : '||g_auc_doctype_rule_data.CURRENT_PRICE   ||
1245                             'PRICE_BREAK : '||g_auc_doctype_rule_data.PRICE_BREAK ||
1246                             'ALLOW_PRICE_DIFFERENTIAL : '||g_auc_doctype_rule_data.ALLOW_PRICE_DIFFERENTIAL||
1247                             'NUMBER_OF_BIDS  : '||g_auc_doctype_rule_data.NUMBER_OF_BIDS  ||
1248                             'AWARD_TYPE_RULE_FIXED_VALUE : '||g_auc_doctype_rule_data.AWARD_TYPE_RULE_FIXED_VALUE ||
1249                             'CURRENCY_CODE  : '||g_auc_doctype_rule_data.CURRENCY_CODE  ||
1250                             'RATE_TYPE  : '||g_auc_doctype_rule_data.RATE_TYPE  );
1251 
1252                         end if;
1253 
1254                         LOG_MESSAGE('copy negotiation','Calling COPY_LINES_AND_CHILDREN for '||l_auction_header_id);
1255 
1256                         COPY_LINES_AND_CHILDREN(
1257                             p_api_version                  =>         p_api_version,
1258                             p_init_msg_list                =>         p_init_msg_list,
1259                             p_source_auction_header_id     =>         p_source_auction_header_id,
1260                             p_destination_auction_hdr_id   =>         l_auction_header_id       ,
1261                             p_trading_partner_id           =>         p_trading_partner_id,
1262                             p_trading_partner_contact_id   =>         p_trading_partner_contact_id,
1263                             p_language                     =>         p_language,
1264                             p_user_id                      =>         p_user_id,
1265                             p_doctype_id                   =>         p_doctype_id,
1266                             p_copy_type                    =>         p_copy_type,
1267                             p_is_award_approval_reqd       =>         p_is_award_approval_reqd,
1268                             p_user_name                    =>         p_user_name,
1269                             p_mgr_id                       =>         p_mgr_id,
1270                             p_retain_clause                =>         p_retain_clause,
1271                             p_update_clause                =>         p_update_clause,
1272                             p_retain_attachments           =>         p_retain_attachments,
1273                             p_tpc_name                     =>         l_tpc_name,
1274                             p_tp_name                     =>         l_tp_name,
1275                             p_source_doctype_id            =>         l_source_doctype_id,
1276                             p_org_id                      =>          l_org_id,
1277                             p_round_number                 =>         l_round_number,
1278                             p_last_amendment_number        =>         l_last_amendment_number,
1279                             p_source_doc_num               =>         l_source_doc_num,
1280                             p_style_id                     =>         l_style_id,
1281                             x_return_status                =>         x_return_status,
1282                             x_msg_count                    =>         x_msg_count,
1283                             x_msg_data                     =>         x_msg_data
1284                             );
1285                         --
1286                         -- Set the COMPLETE_FLAG for this acution in PON_AUCTION_HEADERS_ALL
1287                         -- to 'Y' since the auction has been copied successfully
1288                         --
1289                         update pon_auction_headers_all set
1290                         complete_flag = 'Y'
1291                         where auction_header_id = l_auction_header_id;
1292 
1293         end if;
1294 
1295         --
1296         -- Commit the work
1297         --
1298         LOG_MESSAGE('copy negotiation','Committing the work from COPY_NEGOTIATION before returning...');
1299         COMMIT;
1300 
1301 
1302         --
1303         -- Bug# 5591755
1304         --This exception block is to release the lock put on the row
1305         --in pon_auction_headers_all for p_auction_header_id
1306 EXCEPTION
1307         WHEN OTHERS THEN
1308           ROLLBACK TO PON_NEGOTIATION_COPY_GRP;
1309           x_return_status := FND_API.G_RET_STS_ERROR;
1310           FND_MSG_PUB.COUNT_AND_GET( p_count    => x_msg_count,
1311                                      p_data    =>  x_msg_data
1312                                    );
1313           LOG_MESSAGE('copy_negotiation','An error in the procedure. Error at:'||g_err_loc || ' :' || SQLCODE || ' :' || SQLERRM);
1314           return;
1315 
1316 END;
1317 --} End of COPY_NEGOTIATION
1318 
1319 PROCEDURE COPY_HEADER (   p_source_auction_header_id IN NUMBER,
1320                           p_auction_header_id        IN NUMBER,
1321                           p_tp_id                    IN NUMBER,
1322                           p_tp_contact_id            IN NUMBER,
1323                           p_tp_name                  IN VARCHAR2,
1324                           p_tpc_name                 IN VARCHAR2,
1325                           p_user_id                  IN NUMBER,
1326                           p_source_doctype_id        IN NUMBER,
1327                           p_doctype_id               IN NUMBER,
1328                           p_copy_type                IN VARCHAR2,
1329                           p_org_id                   IN NUMBER,
1330                           p_is_award_approval_reqd   IN VARCHAR2,
1331                           p_retain_clause            IN VARCHAR2,
1332                           p_update_clause            IN VARCHAR2,
1333                           p_retain_attachments       IN VARCHAR2,
1334                           p_source_orig_round_id     IN NUMBER,
1335                           p_source_prev_round_id     IN NUMBER,
1336                           p_round_number             IN NUMBER,
1337                           p_last_amendment_number    IN NUMBER,
1338                           p_source_orig_amend_id     IN NUMBER,
1339 
1340                           p_source_doctype_grp_name  IN VARCHAR2,
1341                           p_source_auc_orig_code     IN VARCHAR2,
1342                           x_document_number          OUT NOCOPY VARCHAR2
1343                       )
1344  IS
1345         l_contracts_doctype VARCHAR2(50);
1346         l_contract_type     PON_AUCTION_HEADERS_ALL.CONTRACT_TYPE%TYPE;
1347         l_document_number   PON_AUCTION_HEADERS_ALL.DOCUMENT_NUMBER%TYPE;
1348         l_return_value      NUMBER;
1349  BEGIN --{ Start of COPY_HEADER
1350 
1351         --
1352         -- Create the negotiation header data first
1353         --
1354         g_err_loc := '1.0 Going to Start Copy Basic';
1355         COPY_HEADER_BASIC (p_source_auction_header_id ,
1356                            p_auction_header_id,
1357                            p_tp_id,
1358                            p_tp_contact_id,
1359                            p_tp_name,
1360                            p_tpc_name,
1361                            p_user_id,
1362                            p_source_doctype_id,
1363                            p_doctype_id,
1364                            p_copy_type,
1365                            p_is_award_approval_reqd,
1366                            p_retain_attachments,
1367                            p_retain_clause,
1368                            p_source_orig_round_id,
1369                            p_source_prev_round_id,
1370                            p_round_number,
1371                            p_last_amendment_number,
1372                            p_source_orig_amend_id,
1373                            p_source_doctype_grp_name,
1374                            p_source_auc_orig_code,
1375                            l_contracts_doctype,
1376                            l_contract_type,
1377                            l_document_number);
1378 
1379         x_document_number := l_document_number;
1380 
1381         g_err_loc := '1.11 Going to create discussions record';
1382         l_return_value := PON_THREAD_DISC_PKG.insert_pon_discussions(
1383 	                       p_entity_name => 'PON_AUCTION_HEADERS_ALL',
1384 			       p_entity_pk1 => p_auction_header_id,
1385 			       p_entity_pk2 => '',
1386 			       p_entity_pk3 => '',
1387 			       p_entity_pk4 => '',
1388 			       p_entity_pk5 => '',
1389 			       p_subject => p_auction_header_id,
1390 			       p_language_code => userenv('LANG'),
1391 			       p_party_id => p_tp_contact_id,
1392 			       p_validation_class => 'oracle.apps.pon.auctions.discussions.NegDiscussionValidation'
1393 	                    );
1394         g_err_loc := '1.12 Done  create discussions record';
1395 
1396         --
1397         -- Copy Section related information for Header Requirement
1398         -- only if the style allows
1399         --
1400         if  g_neg_style_raw.HDR_ATTRIBUTE_ENABLED_FLAG = 'Y'
1401           then
1402                COPY_SECTION ( p_source_auction_header_id =>  p_source_auction_header_id,
1403                          p_auction_header_id        =>  p_auction_header_id,
1404                          p_tp_id                    =>  p_tp_id,
1405                          p_tp_contact_id            =>  p_tp_contact_id,
1406                          p_tp_name                  =>  p_tp_name,
1407                          p_tpc_name                 =>  p_tpc_name,
1408                          p_user_id                  =>  p_user_id,
1409                          p_source_doctype_id        =>  p_source_doctype_id,
1410                          p_doctype_id               =>  p_doctype_id,
1411                          p_copy_type                =>  p_copy_type
1412                        );
1413        end if;
1414 
1415         --
1416         -- Create the Contracts and Attachments data
1417         --
1418         g_err_loc := '1.13 Going to Start COPY_CONTRACTS_ATTACHMENTS';
1419         COPY_CONTRACTS_ATTACHMENTS (p_source_auction_header_id ,
1420                                     p_auction_header_id,
1421                                     p_tp_id,
1422                                     p_tp_contact_id,
1423                                     p_tp_name,
1424                                     p_tpc_name,
1425                                     p_user_id,
1426                                     p_source_doctype_id,
1427                                     p_doctype_id,
1428                                     p_copy_type,
1429                                     p_org_id,
1430                                     p_is_award_approval_reqd,
1431                                     p_retain_clause,
1432                                     p_update_clause,
1433                                     p_retain_attachments,
1434                                     l_contracts_doctype,
1435                                     l_contract_type,
1436                                     l_document_number);
1437 
1438 END;--} End of COPY_HEADER
1439 
1440 PROCEDURE COPY_HEADER_BASIC (p_source_auction_header_id IN NUMBER,
1441                              p_auction_header_id        IN NUMBER,
1442                              p_tp_id                    IN NUMBER,
1443                              p_tp_contact_id            IN NUMBER,
1444 
1445                              p_tp_name                  IN VARCHAR2,
1446                              p_tpc_name                 IN VARCHAR2,
1447                              p_user_id                  IN NUMBER,
1448                              p_source_doctype_id        IN NUMBER,
1449                              p_doctype_id               IN NUMBER,
1450                              p_copy_type                IN VARCHAR2,
1451                              p_is_award_approval_reqd   IN VARCHAR2,
1452                              p_retain_attachments       IN VARCHAR2,
1453                              p_retain_clause            IN VARCHAR2,
1454                              p_source_orig_round_id     IN NUMBER,
1455                              p_source_prev_round_id     IN NUMBER,
1456                              p_round_number             IN NUMBER,
1457                              p_last_amendment_number    IN NUMBER,
1458                              p_source_orig_amend_id     IN NUMBER,
1459                              p_source_doctype_grp_name  IN VARCHAR2,
1460                              p_source_auc_orig_code     IN VARCHAR2,
1461                              x_contracts_doctype        OUT NOCOPY VARCHAR2,
1462                              x_contract_type            OUT NOCOPY VARCHAR2,
1463                              x_document_number          OUT NOCOPY VARCHAR2
1464                             )
1465  IS
1466         l_is_succession            CHAR(1);
1467         l_source_doc_number        VARCHAR2(20) := NULL;
1468         l_source_doc_id            NUMBER := NULL;
1469         l_source_doc_msg_app       VARCHAR2(4)  := NULL;
1470         l_source_doc_msg           VARCHAR2(30) := NULL;
1471         l_source_doc_msg_suffix    VARCHAR2(2)  := NULL;
1472         l_source_doc_line_msg      VARCHAR2(30) := NULL;
1473         l_source_doc_internal_name VARCHAR2(50) := NULL;
1474 
1475         l_auction_header_id_orig_round  NUMBER;
1476         l_auction_header_id_prev_round  NUMBER;
1477         l_auction_round_number          NUMBER;
1478         l_last_amendment_number         NUMBER;
1479         l_copy_buyer_id                 VARCHAR2(1);
1480         l_document_number               PON_AUCTION_HEADERS_ALL.DOCUMENT_NUMBER%TYPE;
1481         l_contract_terms_exisits        VARCHAR2(2);
1482         l_contract_doctype              VARCHAR2(50);
1483         l_is_award_approval_reqd        VARCHAR2(2);
1484         l_destination_doctype_grp_name PON_AUC_DOCTYPES.DOCTYPE_GROUP_NAME%TYPE;
1485 
1486         l_disp_best_price_blind         VARCHAR2(1) := NULL;
1487         l_val2                          VARCHAR2(300) := NULL;
1488         l_val3                          VARCHAR2(300) := NULL;
1489         l_val4                          VARCHAR2(300) := NULL;
1490 
1491         t_record   AUC_HDR_TYPE_BASE_DATA;
1492 
1493         l_MinBidPriceVal1 VARCHAR2(1) := 'N';
1494         l_MinBidPriceVal2 VARCHAR2(240) := NULL;
1495         l_MinBidPriceVal3 VARCHAR2(1) := NULL;
1496         l_MinBidPriceVal4 VARCHAR2(240) := NULL;
1497 
1498  BEGIN --{ Start of COPY_HEADER_BASIC
1499 
1500          l_is_succession := 'N'; -- By default we assume that it is a copy
1501          l_copy_buyer_id := 'N';
1502 
1503          --
1504          -- Decide if it is a succession case
1505          --
1506          IF ( p_copy_type = g_amend_copy OR
1507               (p_copy_type = g_new_rnd_copy AND p_source_doctype_id = p_doctype_id)
1508             )
1509          THEN
1510                 l_is_succession := 'Y';
1511          END IF;
1512 
1513          --
1514          -- Carry the buyer_id for Amendment, Same doctype New Round and
1515          -- Draft Copy. Draft copy should not carry it as it does not carry the Requisition data too
1516          --
1517          IF ( l_is_succession = 'Y' ) THEN
1518               l_copy_buyer_id := 'Y';
1519          END IF;
1520 
1521          IF ( p_copy_type = g_rfi_to_other_copy) THEN
1522                         SELECT INTERNAL_NAME, MESSAGE_SUFFIX , DOCUMENT_NUMBER
1523                         INTO  l_source_doc_internal_name, l_source_doc_msg_suffix,
1524                               l_source_doc_number
1525                         FROM  PON_AUC_DOCTYPES P, PON_AUCTION_HEADERS_ALL A
1526                         WHERE P.DOCTYPE_ID = A.DOCTYPE_ID
1527                         AND   AUCTION_HEADER_ID = p_source_auction_header_id;
1528 
1529                         LOG_MESSAGE('copy_negotiation','1.1.0.1 --- Starting Copy Header Basic. l_source_doc_msg_suffix:'||l_source_doc_msg_suffix);
1530 
1531                         l_source_doc_msg := 'PON_AUCTS_DOC_NUMBER_'||l_source_doc_msg_suffix;
1532                         l_source_doc_id := p_source_auction_header_id;
1533                         l_source_doc_line_msg := 'PON_AUCTS_LINE';
1534                         l_source_doc_msg_app := 'PON';
1535 
1536          END IF;
1537 
1538          --
1539          -- Will keep all the SOURCE DOC related attribute for all cross copy documents
1540          -- driven from Start New Round option of Negotiation Summary page
1541          --
1542          IF ( p_copy_type = g_new_rnd_copy AND p_doctype_id <> p_source_doctype_id) THEN
1543                         SELECT INTERNAL_NAME, MESSAGE_SUFFIX , DOCUMENT_NUMBER
1544                         INTO    l_source_doc_internal_name, l_source_doc_msg_suffix,
1545                                 l_source_doc_number
1546                         FROM PON_AUC_DOCTYPES P, PON_AUCTION_HEADERS_ALL A
1547                         WHERE P.DOCTYPE_ID = A.DOCTYPE_ID
1548                         AND AUCTION_HEADER_ID = p_source_auction_header_id;
1549 
1550                         LOG_MESSAGE('copy_negotiation','1.1.0.2 --- Starting Copy Header Basic. l_source_doc_msg_suffix:'||l_source_doc_msg_suffix);
1551 
1552                         l_source_doc_msg := 'PON_AUCTS_DOC_NUMBER_'||l_source_doc_msg_suffix;
1553                         l_source_doc_id := p_source_auction_header_id;
1554                         l_source_doc_line_msg := 'PON_AUCTS_LINE';
1555                         l_source_doc_msg_app := 'PON';
1556         END IF;
1557 
1558         -- Populate the global variables to be used in the lines
1559         g_source_doc_id := l_source_doc_id;
1560         g_source_doc_num := l_source_doc_number;
1561         g_source_doc_int_name := l_source_doc_internal_name;
1562 
1563         --
1564         -- Set the AUCTION_HEADER_ID_ORIG_ROUND
1565         -- Logic -
1566         -- IF <NEW ROUND CREATION> THEN
1567         --     IF <LAST ROUND HAS NO ORIG ROUND> THEN
1568         --             IF <LAST ROUND HAS AMENDMENT> THEN
1569         --                     AUCTION_HEADER_ID_ORIG_ROUND =
1570         --                             AUCTION_HEADER_ID_ORIG_AMEND
1571         --             ELSE
1572         --                     AUCTION_HEADER_ID_ORIG_ROUND =
1573         --                             SOURCE AUCTION_HEADER_ID
1574         --             END
1575         --     ELSE
1576         --             AUCTION_HEADER_ID_ORIG_ROUND =
1577         --                     SOURCE AUCTION_HEADER_ID_ORIG_ROUND
1578         --     END
1579         -- ELSE IF <AMENDMENT CREATION> THEN
1580         --     AUCTION_HEADER_ID_ORIG_ROUND =
1581         --                     SOURCE AUCTION_HEADER_ID_ORIG_ROUND
1582         -- ELSE
1583         --     AUCTION_HEADER_ID_ORIG_ROUND = NULL;
1584         -- END
1585         --
1586 
1587         IF (p_copy_type = g_new_rnd_copy ) THEN
1588                 LOG_MESSAGE('copy_negotiation','1.1.1 --- inside NEW_ROUND');
1589                 IF (p_source_orig_round_id IS NULL) THEN
1590                         --
1591                         -- Check if first round negotiation has been amended
1592                         --
1593                         LOG_MESSAGE('copy_negotiation','1.1.1 --- inside NEW_ROUND.1');
1594 
1595                         IF (p_last_amendment_number > 0) THEN
1596                                 l_auction_header_id_orig_round := p_source_orig_amend_id;
1597                         ELSE
1598                                 l_auction_header_id_orig_round := p_source_auction_header_id;
1599                         END IF;
1600                         LOG_MESSAGE('copy_negotiation','1.1.1.1 --- inside NEW_ROUND.2:'||to_char(l_auction_header_id_orig_round));
1601                 ELSE
1602                         l_auction_header_id_orig_round := p_source_orig_round_id;
1603                 END IF;
1604 
1605                 --
1606                 -- Set the prev_round to source auction header id
1607                 --
1608                 l_auction_header_id_prev_round := p_source_auction_header_id;
1609                 --
1610                 -- increase the round number
1611                 --
1612                 l_auction_round_number := p_round_number + 1;
1613 
1614                 -- default the amendment number
1615                 l_last_amendment_number := 0;
1616 
1617         ELSIF (p_copy_type = g_amend_copy) THEN
1618                 l_auction_header_id_orig_round := p_source_orig_round_id;
1619                 --
1620                 -- For amendment keep the old prev round id
1621                 --
1622                 l_auction_header_id_prev_round := p_source_prev_round_id;
1623                 --
1624                 -- For amendment keep the old round number
1625                 --
1626                 l_auction_round_number := p_round_number;
1627 
1628                 -- increase the amendment number
1629                 l_last_amendment_number := p_last_amendment_number +1;
1630         ELSE
1631                 --
1632                 -- Set it to NULL for all other process i.e. Draft Copy, Copy From RFI
1633                 -- to Auction/RFQ, Active Negotiation Copy and Cross Copy
1634                 --
1635                 -- ER:5092239 :- the orig_round column will have same value as auction_header_id during copy
1636                 l_auction_header_id_orig_round := p_auction_header_id;
1637                 l_auction_header_id_prev_round := NULL;
1638                 --
1639                 -- For all other cases make it to 1
1640                 --
1641                 l_auction_round_number := 1;
1642 
1643                 -- default the amendment number
1644                 l_last_amendment_number := 0;
1645 
1646         END IF;
1647 
1648         --
1649         -- Formulate the Document Number
1650         --
1651         LOG_MESSAGE('copy_negotiation','1.1.1 l_auction_round_number is:'||l_auction_round_number||' and p_copy_type:'||p_copy_type);
1652         LOG_MESSAGE('copy_negotiation','1.1.2 l_auction_header_id_orig_round is:'|| l_auction_header_id_orig_round ||' and l_last_amendment_number:'|| l_last_amendment_number);
1653 
1654         -- If multiround document
1655         IF (l_auction_round_number IS NOT NULL AND l_auction_round_number > 1) THEN
1656                 l_document_number := l_auction_header_id_orig_round||'-'||l_auction_round_number;
1657                 LOG_MESSAGE('copy_negotiation','1.1.2 -- in 1, doc_number:'||l_document_number);
1658                 IF ( p_copy_type = g_amend_copy ) THEN
1659                        l_document_number := l_document_number||','||l_last_amendment_number;
1660                        LOG_MESSAGE('copy_negotiation','1.1.2 -- in 2, doc_number:'||l_document_number);
1661                 ELSE
1662                         IF (l_last_amendment_number > 0) THEN
1663                                 l_document_number := l_document_number||','||l_last_amendment_number;
1664                         END IF;
1665                 END IF;
1666          ELSIF ( l_last_amendment_number > 0 ) THEN -- a first round negotiation that has been amended
1667                 l_document_number := p_source_orig_amend_id||','|| l_last_amendment_number;
1668                 LOG_MESSAGE('copy_negotiation','1.1.2 -- in 3, doc_number:'||l_document_number);
1669          ELSE
1670                 l_document_number := p_auction_header_id;
1671                 LOG_MESSAGE('copy_negotiation','1.1.2 -- in 4, doc_number:'||l_document_number);
1672          END IF;
1673 
1674         LOG_MESSAGE('copy_negotiation','1.1.2 l_document_number is:'|| l_document_number);
1675 
1676         --
1677         -- Set the output parameter x_document_number with the docuement number
1678         --
1679         x_document_number := l_document_number;
1680         g_neg_doc_number  := l_document_number;
1681 
1682         LOG_MESSAGE('copy_negotiation','1.1.3 going to check if contracts is installed');
1683 
1684 
1685         --
1686         -- CONTERMS_EXIST_FLAG setting check using the following logic -
1687         --
1688         -- IF ( User has decided to keep the contracts) THEN
1689         --     IF (Contract is installed) THEN
1690         --             IF (Source document has contracts) THEN
1691         --                     CONTERMS_EXIST_FLAG = Y
1692         --             ELSE
1693         --                    CONTERMS_EXIST_FLAG= N
1694         --             END IF;
1695         --    ELSE
1696         --            CONTERMS_EXIST_FLAG = N
1697         --    END IF;
1698         -- ELSE
1699         --    CONTERMS_EXIST_FLAG = N
1700         -- END IF;
1701         --
1702         -- This was the logic as implemented in AuctionHeadersAllEntityExpert.contractTermsExist method
1703         -- and ContractsServerUtil
1704         --
1705         IF (p_retain_clause = 'Y') THEN
1706                 --
1707                 -- Check if contracts is installed or not
1708                 --
1709                 l_contract_terms_exisits := PON_CONTERMS_UTL_GRP.IS_CONTRACTS_INSTALLED;
1710                 IF (l_contract_terms_exisits = 'T') THEN
1711 
1712                 LOG_MESSAGE('copy_negotiation','1.1.3.1 contracts is installed');
1713 
1714                         --
1715                         -- Find the appropriate CONTRACT doc type when not responding
1716                         --
1717                         IF (p_source_doctype_grp_name = g_buyer_auction) THEN
1718                                 l_contract_doctype := g_contract_auction;
1719                         ELSIF (p_source_doctype_grp_name = g_rfq) THEN
1720                                 l_contract_doctype := g_contract_rfq;
1721                         ELSIF (p_source_doctype_grp_name = g_rfi) THEN
1722                                 l_contract_doctype := g_contract_rfi;
1723                         END IF;
1724 
1725                         l_contract_terms_exisits := PON_CONTERMS_UTL_PVT.CONTRACT_TERMS_EXIST(l_contract_doctype, p_source_auction_header_id);
1726                         IF (l_contract_terms_exisits <> 'Y' ) THEN
1727                                 l_contract_terms_exisits := 'N';
1728                         END IF;
1729 
1730                         --
1731                         -- Note that this is the contract doctype for the source document
1732                         --
1733                         x_contracts_doctype := l_contract_doctype;
1734 
1735                 ELSE
1736                         l_contract_terms_exisits := 'N';
1737                 LOG_MESSAGE('copy_negotiation','1.1.3.2 contracts is not installed');
1738                 END IF;
1739         ELSE
1740                 l_contract_terms_exisits := 'N';
1741         END IF;
1742 
1743 
1744        t_record := g_auc_doctype_rule_data;
1745        -- Initialize the global variable for future use
1746 --       g_auc_doctype_rule_data := t_record;
1747 
1748 
1749        --
1750        -- To be used by the COPY_CONTRACTS_ATTACHMENTS procedure
1751        --
1752        x_contract_type := t_record.CONTRACT_TYPE;
1753 
1754         --
1755         -- Update the AUCTION_ORIGINATION_CODE with the source document
1756         -- internal name if it is copy from RFI to Auction/RFQ. Set it to NULL
1757         -- for the active negotiation copy. Carry it in all other cases
1758         -- (AuctionHeaderaAllVOImpl logic)
1759         --
1760         IF (p_copy_type = g_rfi_to_other_copy) THEN
1761                 g_auc_origination_code := l_source_doc_internal_name;
1762         ELSIF (p_copy_type = g_active_neg_copy) THEN
1763                 g_auc_origination_code := NULL;
1764         ELSE
1765                 g_auc_origination_code := p_source_auc_orig_code;
1766         END IF;
1767 
1768         --
1769         -- Award Approval Flag is not applicable for RFI
1770         -- and it shouldn't be changed automatically for Amendment
1771         --
1772         l_is_award_approval_reqd := p_is_award_approval_reqd;
1773         IF (fnd_profile.value('PON_AWARD_APPROVAL_ENABLED') = 'Y' ) THEN
1774                 IF (p_doctype_id = g_rfi_doctype_id) THEN
1775                         l_is_award_approval_reqd := 'N';
1776                 END IF;
1777         ELSE
1778                 l_is_award_approval_reqd := 'N';
1779         END IF;
1780 
1781         --
1782         -- Generate a warning message if it's going to be a new round for a negotiation with
1783         -- some responses in the last round (createNewRound method logic of
1784         -- AuctionHeadersAllVOImpl class)
1785         --
1786         IF (p_copy_type = g_new_rnd_copy  AND
1787                 'AWARD' = t_record.AWARD_TYPE_RULE_FIXED_VALUE AND
1788                 t_record.NUMBER_OF_BIDS > 0) THEN
1789 
1790                 -- Now there will be a new generic message instead of the old doctype specific
1791                 -- PON_AUC_NEXT_ROUND_WARNING variants
1792                 FND_MESSAGE.SET_NAME('PON','PON_NEG_NEXT_ROUND_WARNING');
1793                 -- The way I am adding this error may get changed in the future.
1794                 -- So, please be aware of that
1795                 FND_MSG_PUB.ADD;
1796         END IF;
1797 
1798 
1799         --
1800         -- Check for Staggered Closing Controls
1801         --
1802         BEGIN
1803               g_err_loc := '1.2 Checking the destination doctype group name';
1804               SELECT DOCTYPE_GROUP_NAME
1805                 INTO l_destination_doctype_grp_name
1806               FROM PON_AUC_DOCTYPES
1807               WHERE DOCTYPE_ID = p_doctype_id;
1808         EXCEPTION
1809                 WHEN OTHERS THEN
1810                      FND_MESSAGE.SET_NAME('PON','PON_AUC_NO_DATA_EXISTS');
1811                      FND_MSG_PUB.ADD;
1812                      RAISE FND_API.G_EXC_ERROR;
1813         END;
1814 
1815         --
1816         -- Staggered Closing is applicable only for AUCTION.
1817         --
1818         IF( l_destination_doctype_grp_name <> g_buyer_auction ) THEN
1819                 t_record.STAGGERED_CLOSING_INTERVAL := NULL;
1820                 t_record.FIRST_LINE_CLOSE_DATE := NULL;
1821         END IF;
1822 
1823         --
1824         -- FIRST_LINE_CLOSE_DATE will be retained only for Amendment Creation and draftauction copy.
1825         --
1826         IF( p_copy_type = g_active_neg_copy OR p_copy_type = g_new_rnd_copy  OR p_copy_type = g_draft_neg_copy) THEN
1827                 t_record.FIRST_LINE_CLOSE_DATE := NULL;
1828         END IF;
1829 
1830         --
1831         -- DISPLAY_BEST_PRICE_BLIND_FLAG default needs to be loaded here
1832         --
1833         PON_PROFILE_UTIL_PKG.RETRIEVE_PARTY_PREF_COVER
1834                         (p_party_id        =>  p_tp_id,
1835                         p_app_short_name  =>  'PON',
1836                         p_pref_name       =>  'BEST_PRICE_VISIBLE_BLIND',
1837                         x_pref_value      =>  l_disp_best_price_blind,
1838                         x_pref_meaning    =>  l_val2,
1839                         x_status          =>  l_val3,
1840                         x_exception_msg   =>  l_val4);
1841 
1842 
1843         --
1844         -- Bug 4924436 - Enforce min bid price across rounds
1845         -- If new round copy, also copy the new control
1846         -- to enforce min bid price across rounds
1847         --
1848         IF (p_copy_type = g_new_rnd_copy ) THEN
1849           --
1850           --  Get the default value for the Enforce Min Bid Price Across Rounds' control
1851           --  If not set on the admin config page, the value is 'N'
1852           --
1853           PON_PROFILE_UTIL_PKG.RETRIEVE_PARTY_PREF_COVER(
1854                         p_party_id        =>  p_tp_id,
1855                         p_app_short_name  =>  'PON',
1856                         p_pref_name       =>  'ENFORCE_MIN_BID_PRICE',
1857                         x_pref_value      =>  l_MinBidPriceVal1,
1858                         x_pref_meaning    =>  l_MinBidPriceVal2,
1859                         x_status          =>  l_MinBidPriceVal3,
1860                         x_exception_msg   =>  l_MinBidPriceVal4
1861                         );
1862 
1863           --
1864           -- Check possible error
1865           --
1866           IF (l_MinBidPriceVal3 <> FND_API.G_RET_STS_SUCCESS) THEN
1867                          -- Log Error
1868                          LOG_MESSAGE('copy_negotiation','Could not find the default value for enforce min bid price control. Please check the negotiation configuration.');
1869                          l_MinBidPriceVal1 := 'N';
1870           END IF;
1871 
1872 
1873           -- if source document or current document is RFI
1874           -- set the flag explicitly to N
1875    	      IF ((p_source_doctype_id = g_rfi_doctype_id) OR
1876               (p_doctype_id = g_rfi_doctype_id)) THEN
1877                  l_MinBidPriceVal1 := 'N';
1878           END IF;
1879 
1880           LOG_MESSAGE('copy_negotiation','Default Enforce Min Bid Price Across Rounds:'||l_MinBidPriceVal1);
1881         END IF;
1882         -- end enforce bid price flag code.
1883 
1884         g_err_loc := '1.3 Going to insert data into PON_AUCTION_HEADERS_ALL';
1885 
1886         INSERT INTO PON_AUCTION_HEADERS_ALL
1887               ( AUCTION_HEADER_ID,
1888                 AUCTION_TITLE,
1889                 AUCTION_STATUS,
1890                 AUCTION_STATUS_NAME,
1891                 AWARD_STATUS,
1892                 AWARD_STATUS_NAME,
1893                 AUCTION_TYPE,
1894                 CONTRACT_TYPE,
1895                 TRADING_PARTNER_CONTACT_NAME,
1896                 TRADING_PARTNER_CONTACT_ID,
1897                 TRADING_PARTNER_NAME,
1898                 TRADING_PARTNER_NAME_UPPER,
1899                 TRADING_PARTNER_ID,
1900                 SHIP_TO_LOCATION_ID,
1901                 BILL_TO_LOCATION_ID,
1902                 OPEN_BIDDING_DATE,
1903                 CLOSE_BIDDING_DATE,
1904                 ORIGINAL_CLOSE_BIDDING_DATE,
1905                 VIEW_BY_DATE,
1906                 AWARD_BY_DATE,
1907                 PUBLISH_DATE,
1908                 CLOSE_DATE,
1909                 CANCEL_DATE,
1910                 TIME_ZONE,
1911                 BID_VISIBILITY_CODE,
1912                 BID_LIST_TYPE,
1913                 BID_FREQUENCY_CODE,
1914                 BID_SCOPE_CODE,
1915                 AUTO_EXTEND_FLAG,
1916                 AUTO_EXTEND_NUMBER,
1917                 NUMBER_OF_EXTENSIONS,
1918                 NUMBER_OF_BIDS,
1919                 MIN_BID_DECREMENT,
1920                 PRICE_DRIVEN_AUCTION_FLAG,
1921                 PAYMENT_TERMS_ID,
1922                 FREIGHT_TERMS_CODE,
1923                 FOB_CODE,
1924                 CARRIER_CODE,
1925                 CURRENCY_CODE,
1926                 RATE_TYPE,
1927                 RATE_DATE,
1928                 RATE,
1929                 NOTE_TO_BIDDERS,
1930                 ATTACHMENT_FLAG,
1931                 LANGUAGE_CODE,
1932                 CREATION_DATE,
1933                 CREATED_BY,
1934                 LAST_UPDATE_DATE,
1935                 LAST_UPDATED_BY,
1936                 WF_ITEM_KEY,
1937                 WF_ROLE_NAME,
1938                 AUTO_EXTEND_ALL_LINES_FLAG,
1939                 AUTO_EXTEND_MIN_TRIGGER_RANK,
1940                 MIN_BID_INCREMENT,
1941                 ALLOW_OTHER_BID_CURRENCY_FLAG,
1942                 SHIPPING_TERMS_CODE,
1943                 SHIPPING_TERMS,
1944                 AUTO_EXTEND_DURATION,
1945                 PROXY_BID_ALLOWED_FLAG,
1946                 PUBLISH_RATES_TO_BIDDERS_FLAG,
1947                 ATTRIBUTES_EXIST,
1948                 ORDER_NUMBER,
1949                 DOCUMENT_TRACKING_ID,
1950                 PO_TXN_FLAG,
1951                 EVENT_ID,
1952                 EVENT_TITLE,
1953                 SEALED_AUCTION_STATUS,
1954                 SEALED_ACTUAL_UNLOCK_DATE,
1955                 SEALED_ACTUAL_UNSEAL_DATE,
1956                 SEALED_UNLOCK_TP_CONTACT_ID,
1957                 SEALED_UNSEAL_TP_CONTACT_ID,
1958                 MODE_OF_TRANSPORT,
1959                 MODE_OF_TRANSPORT_CODE,
1960                 PO_START_DATE,
1961                 PO_END_DATE,
1962                 PO_AGREED_AMOUNT,
1963                 MIN_BID_CHANGE_TYPE,
1964                 FULL_QUANTITY_BID_CODE,
1965                 NUMBER_PRICE_DECIMALS,
1966                 AUTO_EXTEND_TYPE_FLAG,
1967                 AUCTION_ORIGINATION_CODE,
1968                 MULTIPLE_ROUNDS_FLAG,
1969                 AUCTION_HEADER_ID_ORIG_ROUND,
1970                 AUCTION_HEADER_ID_PREV_ROUND,
1971                 AUCTION_ROUND_NUMBER,
1972                 MANUAL_CLOSE_FLAG,
1973                 MANUAL_EXTEND_FLAG,
1974                 AUTOEXTEND_CHANGED_FLAG,
1975                 DOCTYPE_ID,
1976                 OFFER_TYPE,
1977                 MAX_RESPONSES,
1978                 RESPONSE_ALLOWED_FLAG,
1979                 FOB_NEG_FLAG,
1980                 CARRIER_NEG_FLAG,
1981                 FREIGHT_TERMS_NEG_FLAG,
1982                 MAX_RESPONSE_ITERATIONS,
1983                 PAYMENT_TERMS_NEG_FLAG,
1984                 MODE_OF_TRANSPORT_NEG_FLAG,
1985                 CONTRACT_ID,
1986                 CONTRACT_VERSION_NUM,
1987                 SHIPPING_TERMS_NEG_FLAG,
1988                 SHIPPING_METHOD_NEG_FLAG,
1989                 USE_REGIONAL_PRICING_FLAG,
1990                 SHOW_BIDDER_NOTES,
1991                 DERIVE_TYPE,
1992                 PRE_DELETE_AUCTION_STATUS,
1993                 DRAFT_LOCKED,
1994                 DRAFT_LOCKED_BY,
1995                 DRAFT_LOCKED_BY_CONTACT_ID,
1996                 DRAFT_LOCKED_DATE,
1997                 DRAFT_UNLOCKED_BY,
1998                 DRAFT_UNLOCKED_BY_CONTACT_ID,
1999                 DRAFT_UNLOCKED_DATE,
2000                 MAX_LINE_NUMBER,
2001                 BID_RANKING,
2002                 RANK_INDICATOR,
2003                 SHOW_BIDDER_SCORES,
2004                 OPEN_AUCTION_NOW_FLAG,
2005                 PUBLISH_AUCTION_NOW_FLAG,
2006                 TEMPLATE_ID,
2007                 REMINDER_DATE,
2008                 ORG_ID,
2009                 BUYER_ID,
2010                 MANUAL_EDIT_FLAG,
2011                 WF_PONCOMPL_ITEM_KEY,
2012                 HAS_PE_FOR_ALL_ITEMS,
2013                 HAS_PRICE_ELEMENTS,
2014                 PO_MIN_REL_AMOUNT,
2015                 GLOBAL_AGREEMENT_FLAG,
2016                 OUTCOME_STATUS,
2017                 SOURCE_REQS_FLAG,
2018                 AWARD_COMPLETE_DATE,
2019                 WF_PONCOMPL_CURRENT_ROUND,
2020                 SECURITY_LEVEL_CODE,
2021                 WF_APPROVAL_ITEM_KEY,
2022                 APPROVAL_STATUS,
2023                 SOURCE_DOC_ID,
2024                 SOURCE_DOC_NUMBER,
2025                 SOURCE_DOC_MSG,
2026                 SOURCE_DOC_LINE_MSG,
2027                 SOURCE_DOC_MSG_APP,
2028                 SHARE_AWARD_DECISION,
2029                 DESCRIPTION,
2030                 TEMPLATE_SCOPE,
2031                 TEMPLATE_STATUS,
2032                 IS_TEMPLATE_FLAG,
2033                 AWARD_APPROVAL_FLAG,
2034                 AWARD_APPROVAL_STATUS,
2035                 AWARD_APPR_AME_TRANS_ID,
2036                 AWARD_APPR_AME_TRANS_PREV_ID,
2037                 WF_AWARD_APPROVAL_ITEM_KEY,
2038                 AMENDMENT_NUMBER,
2039                 AMENDMENT_DESCRIPTION,
2040                 AUCTION_HEADER_ID_ORIG_AMEND,
2041                 AUCTION_HEADER_ID_PREV_AMEND,
2042                 DOCUMENT_NUMBER,
2043                 AWARD_APPR_AME_TXN_DATE,
2044                 HDR_ATTR_ENABLE_WEIGHTS,
2045                 -- HDR_ATTRIBUTE_DISPLAY_SCORE, I think somebody has dropped the column for new enhancement
2046                 HDR_ATTR_MAXIMUM_SCORE,
2047                 ATTRIBUTE_LINE_NUMBER,
2048                 HDR_ATTR_DISPLAY_SCORE,
2049                 CONTERMS_EXIST_FLAG,
2050                 CONTERMS_ARTICLES_UPD_DATE,
2051                 CONTERMS_DELIV_UPD_DATE,
2052                 AWARD_MODE,
2053                 HAS_HDR_ATTR_FLAG,
2054                 AWARD_DATE,
2055                 MAX_INTERNAL_LINE_NUM,
2056                 IS_PAUSED,
2057                 PAUSE_REMARKS,
2058                 LAST_PAUSE_DATE,
2059                 MAX_DOCUMENT_LINE_NUM,
2060                 PF_TYPE_ALLOWED,              -- For Transformation bidding project
2061                 SUPPLIER_VIEW_TYPE,           -- For Transformation bidding project
2062                 ABSTRACT_DETAILS,             -- Abstract/Forms project
2063                 MAX_BID_COLOR_SEQUENCE_ID,    -- CPA and Console related columns
2064                 HAS_ITEMS_FLAG,
2065                 SUPPLIER_ENTERABLE_PYMT_FLAG,
2066                 PROGRESS_PAYMENT_TYPE,
2067                 PROGRESS_PYMT_NEGOTIABLE_FLAG,
2068                 ADVANCE_NEGOTIABLE_FLAG,
2069                 RECOUPMENT_NEGOTIABLE_FLAG,
2070                 MAX_RETAINAGE_NEGOTIABLE_FLAG,
2071                 RETAINAGE_NEGOTIABLE_FLAG,
2072                 PROJECT_ID,
2073                 INT_ATTRIBUTE_CATEGORY  ,
2074                 INT_ATTRIBUTE1,
2075                 INT_ATTRIBUTE2,
2076                 INT_ATTRIBUTE3,
2077                 INT_ATTRIBUTE4,
2078                 INT_ATTRIBUTE5,
2079                 INT_ATTRIBUTE6,
2080                 INT_ATTRIBUTE7,
2081                 INT_ATTRIBUTE8,
2082                 INT_ATTRIBUTE9,
2083                 INT_ATTRIBUTE10,
2084                 INT_ATTRIBUTE11,
2085                 INT_ATTRIBUTE12,
2086                 INT_ATTRIBUTE13,
2087                 INT_ATTRIBUTE14,
2088                 INT_ATTRIBUTE15,
2089                 EXT_ATTRIBUTE_CATEGORY,
2090                 EXT_ATTRIBUTE1,
2091                 EXT_ATTRIBUTE2,
2092                 EXT_ATTRIBUTE3,
2093                 EXT_ATTRIBUTE4,
2094                 EXT_ATTRIBUTE5,
2095                 EXT_ATTRIBUTE6,
2096                 EXT_ATTRIBUTE7,
2097                 EXT_ATTRIBUTE8,
2098                 EXT_ATTRIBUTE9,
2099                 EXT_ATTRIBUTE10,
2100                 EXT_ATTRIBUTE11,
2101                 EXT_ATTRIBUTE12,
2102                 EXT_ATTRIBUTE13,
2103                 EXT_ATTRIBUTE14,
2104                 EXT_ATTRIBUTE15,
2105                 STYLE_ID,
2106                 LINE_ATTRIBUTE_ENABLED_FLAG,
2107                 LINE_MAS_ENABLED_FLAG,
2108                 PRICE_ELEMENT_ENABLED_FLAG,
2109                 RFI_LINE_ENABLED_FLAG,
2110                 LOT_ENABLED_FLAG,
2111                 GROUP_ENABLED_FLAG,
2112                 LARGE_NEG_ENABLED_FLAG,
2113                 HDR_ATTRIBUTE_ENABLED_FLAG,
2114                 NEG_TEAM_ENABLED_FLAG,
2115                 PROXY_BIDDING_ENABLED_FLAG,
2116                 POWER_BIDDING_ENABLED_FLAG,
2117                 AUTO_EXTEND_ENABLED_FLAG,
2118                 TEAM_SCORING_ENABLED_FLAG,
2119                 HAS_SCORING_TEAMS_FLAG,
2120                 PO_STYLE_ID,
2121                 PRICE_BREAK_RESPONSE,
2122                 NUMBER_OF_LINES,
2123                 LAST_LINE_NUMBER,
2124                 BID_DECREMENT_METHOD,
2125                 STAGGERED_CLOSING_INTERVAL,
2126                 FIRST_LINE_CLOSE_DATE,
2127                 DISPLAY_BEST_PRICE_BLIND_FLAG,
2128 		ENFORCE_PREVRND_BID_PRICE_FLAG,
2129                 QTY_PRICE_TIERS_ENABLED_FLAG,
2130                 PRICE_TIERS_INDICATOR,
2131 		TWO_PART_FLAG)
2132 
2133                 SELECT
2134                 p_auction_header_id,
2135                 AUCTION_TITLE,
2136                 'DRAFT',                       --  AUCTION_STATUS
2137                 NULL,                          --  AUCTION_STATUS_NAME
2138                 'NO',                          --  AWARD_STATUS
2139                 NULL,                          --  AWARD_STATUS_NAME
2140                 AUCTION_TYPE,
2141                 t_record.CONTRACT_TYPE ,
2142                 --
2143                 -- During amendment we should retain the same
2144                 -- trading_partner_contact_name
2145                 --
2146                 decode (p_copy_type,
2147                           g_amend_copy, TRADING_PARTNER_CONTACT_NAME,
2148                           p_tpc_name),    -- TRADING_PARTNER_CONTACT_NAME
2149                 --
2150                 -- During amendment we should retain the same
2151                 -- trading_partner_contact_id
2152                 --
2153                 decode (p_copy_type,
2154                           g_amend_copy, TRADING_PARTNER_CONTACT_ID,
2155                           p_tp_contact_id),    -- TRADING_PARTNER_CONTACT_ID
2156                 p_tp_name,
2157                 UPPER(p_tp_name),
2158                 p_tp_id,
2159                 t_record.SHIP_TO_LOCATION_ID,  -- SHIP_TO_LOCATION_ID
2160                 t_record.BILL_TO_LOCATION_ID,  -- BILL_TO_LOCATION_ID
2161                 --
2162                 -- OPEN_BIDDING_DATE should get copied for Amendment.
2163                 -- It should be defaulted to NULL and then one hour after current date for
2164                 -- all other cases. This is the current Copy Reset logic in
2165                 -- AuctionHeadersAllVoImpl
2166                 --
2167                 decode(p_copy_type,
2168                          g_amend_copy, OPEN_BIDDING_DATE,
2169                          SYSDATE+1/24),
2170                 decode(p_copy_type,
2171                          g_amend_copy, CLOSE_BIDDING_DATE,
2172                          NULL),                  -- CLOSE_BIDDING_DATE
2173                 NULL,                            -- ORIGINAL_CLOSE_BIDDING_DATE
2174                 decode(p_copy_type,
2175                          g_amend_copy, VIEW_BY_DATE,
2176                          NULL),                  -- VIEW_BY_DATE
2177                 decode(p_copy_type,
2178                          g_amend_copy, AWARD_BY_DATE,
2179                          NULL),                  -- AWARD_BY_DATE
2180                 NULL,                            -- PUBLISH_DATE
2181                 NULL,                            -- CLOSE_DATE
2182                 NULL,                            -- CANCEL_DATE
2183                 NULL,                            -- TIME_ZONE, it seems to be always null
2184                 t_record.BID_VISIBILITY_CODE,    -- BID_VISIBILITY_CODE
2185                 t_record.BID_LIST_TYPE,          -- BID_LIST_TYPE
2186                 t_record.BID_FREQUENCY_CODE,     -- BID_FREQUENCY_CODE
2187                 t_record.BID_SCOPE_CODE,         -- BID_SCOPE_CODE
2188                 t_record.AUTO_EXTEND_FLAG,       -- AUTO_EXTEND_FLAG
2189                 decode(nvl(t_record.AUTO_EXTEND_FLAG,'N'),
2190                              'Y', AUTO_EXTEND_NUMBER,
2191                              NULL),              -- AUTO_EXTEND_NUMBER,
2192                 NULL,                            -- NUMBER_OF_EXTENSIONS
2193                 0,                               -- NUMBER_OF_BIDS
2194                 decode(t_record.PRICE_DRIVEN_AUCTION_FLAG,
2195                              'N', NULL,
2196                              MIN_BID_DECREMENT), -- MIN_BID_DECREMENT
2197                 t_record.PRICE_DRIVEN_AUCTION_FLAG,  -- PRICE_DRIVEN_AUCTION_FLAG
2198                 t_record.PAYMENT_TERMS_ID,       -- PAYMENT_TERMS_ID
2199                 t_record.FREIGHT_TERMS_CODE ,    -- FREIGHT_TERMS_CODE
2200                 t_record.FOB_CODE,               -- FOB_CODE
2201                 t_record.CARRIER_CODE,           -- CARRIER_CODE
2202                 t_record.CURRENCY_CODE ,       -- CURRENCY_CODE
2203                 t_record.RATE_TYPE,                   -- RATE_TYPE
2204                 RATE_DATE,
2205                 RATE,
2206                 NOTE_TO_BIDDERS,
2207                 decode (p_retain_attachments,
2208                         'Y', ATTACHMENT_FLAG,
2209                         'N'),                    -- ATTACHMENT_FLAG
2210                 LANGUAGE_CODE,
2211                 SYSDATE,                         -- CREATION_DATE
2212                 p_user_id,                       -- CREATED_BY
2213                 SYSDATE,                         -- LAST_UPDATE_DATE
2214                 p_user_id,                       -- LAST_UPDATED_BY
2215                 NULL,                            -- WF_ITEM_KEY
2216                 NULL,                            -- WF_ROLE_NAME
2217                 t_record.AUTO_EXTEND_ALL_LINES_FLAG, -- AUTO_EXTEND_ALL_LINES_FLAG
2218                 t_record.AUTO_EXTEND_MIN_TRIGGER_RANK, -- AUTO_EXTEND_MIN_TRIGGER_RANK
2219                 decode(t_record.PRICE_DRIVEN_AUCTION_FLAG,
2220                              'N', NULL,
2221                              MIN_BID_INCREMENT), -- MIN_BID_INCREMENT
2222                 ALLOW_OTHER_BID_CURRENCY_FLAG,
2223                 SHIPPING_TERMS_CODE,             -- Always NULL
2224                 SHIPPING_TERMS,                  -- Always NULL
2225                 t_record.AUTO_EXTEND_DURATION,   -- AUTO_EXTEND_DURATION
2226                 PROXY_BID_ALLOWED_FLAG,          -- Always NULL though bizrule is available
2227                 PUBLISH_RATES_TO_BIDDERS_FLAG,
2228                 ATTRIBUTES_EXIST,
2229                 NULL,                            -- ORDER_NUMBER
2230                 NULL,                            -- DOCUMENT_TRACKING_ID
2231                 NULL,                            -- PO_TXN_FLAG
2232                 --
2233                 -- for the new round and amendment cases, we do keep event information
2234                 -- (AuctionHeadersAllVOimpl logic)
2235                 --
2236                 decode(p_copy_type,
2237                           g_new_rnd_copy, t_record.EVENT_ID,
2238                           g_amend_copy, EVENT_ID,
2239                           NULL),                 -- EVENT_ID
2240                 --
2241                 -- for the new round and amendment cases, we do keep event information
2242                 -- (AuctionHeadersAllVOimpl logic)
2243                 --
2244                 decode(p_copy_type,
2245                           g_new_rnd_copy, t_record.EVENT_TITLE,
2246                           g_amend_copy, EVENT_TITLE,
2247                           NULL),                 -- EVENT_TITLE
2248                 --
2249                 -- Set sealed_auction_status to Locked if bidVisibilityCode = 'SEALED_AUCTION'
2250                 -- (AuctionHeadersAllVOimpl logic). But I will set it to NULL always and the publish
2251                 -- logic will change it if required
2252                 --
2253                 NULL,                            -- SEALED_AUCTION_STATUS
2254                 NULL,                            -- SEALED_ACTUAL_UNLOCK_DATE
2255                 NULL,                            -- SEALED_ACTUAL_UNSEAL_DATE
2256                 NULL,                            -- SEALED_UNLOCK_TP_CONTACT_ID
2257                 NULL,                            -- SEALED_UNSEAL_TP_CONTACT_ID
2258                 MODE_OF_TRANSPORT,               -- Seems to be NULL always
2259                 MODE_OF_TRANSPORT_CODE,          -- Seems to be NULL always
2260                 t_record.PO_START_DATE ,         -- PO_START_DATE
2261                 t_record.PO_END_DATE,            -- PO_END_DATE,
2262                 t_record.PO_AGREED_AMOUNT ,      -- PO_AGREED_AMOUNT,
2263                 t_record.MIN_BID_CHANGE_TYPE,    -- MIN_BID_CHANGE_TYPE
2264                 --
2265                 -- For blankets cannot restrict user to bid on full quantity
2266                 -- (AuctionHeadersALLEOImpl logic)
2267                 -- The same logic applies for the newly introduced CPA also
2268                 --
2269                 decode(t_record.CONTRACT_TYPE,
2270                         'BLANKET', 'PARTIAL_QTY_BIDS_ALLOWED',
2271                         'CONTRACT', 'PARTIAL_QTY_BIDS_ALLOWED',
2272                         t_record.FULL_QUANTITY_BID_CODE) ,  -- FULL_QUANTITY_BID_CODE
2273                 --
2274                 -- Even if the NUMBER_PRICE_DECIMALS is NULL (draft) we are not setting it to
2275                 -- 1000 as that will be done in the AuctionHeadersALLEOImpl
2276                 --
2277                 NUMBER_PRICE_DECIMALS,
2278                 t_record.AUTO_EXTEND_TYPE_FLAG,  -- AUTO_EXTEND_TYPE_FLAG
2279                 --
2280                 -- Update the AUCTION_ORIGINATION_CODE with the source document
2281                 -- internal name if it is copy from RFI to Auction/RFQ. Set it to NULL
2282                 -- for the active negotiation copy. Carry it in all other cases
2283                 -- (AuctionHeaderaAllVOImpl logic)
2284                 --
2285                 g_auc_origination_code, -- AUCTION_ORIGINATION_CODE
2286                 t_record.MULTIPLE_ROUNDS_FLAG,     -- MULTIPLE_ROUNDS_FLAG
2287                 l_auction_header_id_orig_round,    -- AUCTION_HEADER_ID_ORIG_ROUND
2288                 l_auction_header_id_prev_round,    -- AUCTION_HEADER_ID_PREV_ROUND
2289                 l_auction_round_number,            -- AUCTION_ROUND_NUMBER
2290                 t_record.MANUAL_CLOSE_FLAG,        -- MANUAL_CLOSE_FLAG
2291                 t_record.MANUAL_EXTEND_FLAG,       -- MANUAL_EXTEND_FLAG
2292                 NULL,                              -- AUTOEXTEND_CHANGED_FLAG, Can not find any reason to carry it
2293                 p_doctype_id,                      -- DOCTYPE_ID
2294                 OFFER_TYPE,
2295                 --
2296                 -- Carry over the Sysadmin setting for Award Appr. flag except for copy
2297                 -- for Amendment
2298                 --
2299                 NULL,                              -- MAX_RESPONSES
2300                 --
2301                 -- Still carrying it though it is genrally Y in the DB and there is a bizrule
2302                 -- applicable for Offers (RESPONSE_ALLOWED_FLAG)
2303                 --
2304                 RESPONSE_ALLOWED_FLAG,
2305                 --
2306                 -- Still carrying it though it is genrally N in the DB
2307                 -- (FOB_NEG_FLAG)
2308                 --
2309                 FOB_NEG_FLAG,
2310                 CARRIER_NEG_FLAG,                  -- Still carrying it though it is genrally N in the DB
2311                 FREIGHT_TERMS_NEG_FLAG,            -- Still carrying it though it is genrally N in the DB
2312                 NULL,                              -- MAX_RESPONSE_ITERATIONS
2313                 PAYMENT_TERMS_NEG_FLAG,            -- Still carrying it though it is genrally N in the DB
2314                 MODE_OF_TRANSPORT_NEG_FLAG,        -- Still carrying it though it is genrally N in the DB
2315                 decode (p_retain_clause,
2316                          'Y', CONTRACT_ID,
2317                          NULL),                    -- CONTRACT_ID
2318                 decode (p_retain_clause,
2319                          'Y', CONTRACT_VERSION_NUM,
2320                          NULL),                    -- CONTRACT_VERSION_NUM, will be updated later if reqd
2321                 SHIPPING_TERMS_NEG_FLAG,           -- Still carrying it though it is genrally N in the DB
2322                 SHIPPING_METHOD_NEG_FLAG,          -- Still carrying it though it is genrally N in the DB
2323                 USE_REGIONAL_PRICING_FLAG,         -- Still carrying it though it is genrally NULL in the DB
2324                 --
2325                 -- Set SHOW_BIDDER_NOTES to N if bidVisibilityCode = 'SEALED_AUCTION'
2326                 -- (AuctionHeadersALLEOImpl logic)
2327                 --
2328                 decode(t_record.BID_VISIBILITY_CODE,
2329                            'SEALED_BIDDING', 'N',
2330                            t_record.SHOW_BIDDER_NOTES),    -- SHOW_BIDDER_NOTES
2331                 DERIVE_TYPE,
2332                 NULL,                              -- PRE_DELETE_AUCTION_STATUS, it is always null in BOLC
2333                 'Y',                               -- DRAFT_LOCKED
2334                 p_tp_id,                           -- DRAFT_LOCKED_BY  we populate it with trading_partner_id
2335                 p_tp_contact_id,                   -- DRAFT_LOCKED_BY_CONTACT_ID, tp_contact_id
2336                 SYSDATE,                           -- DRAFT_LOCKED_DATE
2337                 NULL,                              -- DRAFT_UNLOCKED_BY
2338                 NULL,                              -- DRAFT_UNLOCKED_BY_CONTACT_ID
2339                 NULL,                              -- DRAFT_UNLOCKED_DATE
2340                 NULL,                              -- MAX_LINE_NUMBER (unused)
2341                 t_record.BID_RANKING,              -- BID_RANKING
2342                 t_record.RANK_INDICATOR,           -- RANK_INDICATOR
2343                 --
2344                 -- SHOW_BIDDER_SCORES will be changed to NONE if the BID_RANKING is PRICE_ONLY.
2345                 --
2346                 decode(t_record.BID_RANKING,
2347                          'PRICE_ONLY', 'NONE',
2348                          t_record.SHOW_BIDDER_SCORES),  -- SHOW_BIDDER_SCORES
2349                 'N',                        -- OPEN_AUCTION_NOW_FLAG, always defaulted to N
2350                 'N',                        -- PUBLISH_AUCTION_NOW_FLAG, always defaulted to N, Copy Reset logic
2351                 NULL,                       -- TEMPLATE_ID
2352                 NULL,                       -- REMINDER_DATE, Copy Reset logic
2353                 ORG_ID,
2354                 --
2355                 -- Keep the buyer_id only for draft, amendment, same doctype new round
2356                 --
2357                 decode(l_copy_buyer_id,
2358                         'Y', BUYER_ID,
2359                         NULL),              -- BUYER_ID
2360                 'Y',                        -- MANUAL_EDIT_FLAG , setting it to Y otherwise user can not edit a draft with REQ/BPA
2361                 NULL,                       -- WF_PONCOMPL_ITEM_KEY, to be set to NULL
2362                 --
2363                 -- It is set to N. Later on this will be set to Y or N while being published
2364                 -- (setChildrenExistFlags method logic in AuctionHeadersALLEOImpl)
2365                 --
2366                 'N',                        -- HAS_PE_FOR_ALL_ITEMS
2367                 --
2368                 -- It is also set to N. Later on this will be set to Y or N while being published
2369                 -- (setChildrenExistFlags method logic in AuctionHeadersALLEOImpl)
2370                 --
2371                 'N',                        -- HAS_PRICE_ELEMENTS
2372                 t_record.PO_MIN_REL_AMOUNT, --  PO_MIN_REL_AMOUNT
2373                 t_record.GLOBAL_AGREEMENT_FLAG,  -- GLOBAL_AGREEMENT_FLAG
2374                 NULL,                       -- OUTCOME_STATUS
2375                 --
2376                 -- SOURCE_REQS_FLAG to be set to null as per the copyReset method logic in
2377                 -- AuctionHeadersAllVOImpl
2378                 --
2379                 NULL,                       -- SOURCE_REQS_FLAG
2380                 NULL,                       -- AWARD_COMPLETE_DATE
2381                 NULL,                       -- WF_PONCOMPL_CURRENT_ROUND, to be set to NULL
2382                 --
2383                 -- SECURITY_LEVEL_CODE can be set to PUBLIC if it is null
2384                 -- if neg team is disabled by style and old value is PRIVATE
2385                 -- reset to PUBLIC
2386                 --
2387                 decode(g_neg_style_control.neg_team_enabled_flag,
2388                         'N', decode(SECURITY_LEVEL_CODE, 'PRIVATE', 'PUBLIC',
2389                                   nvl(SECURITY_LEVEL_CODE, 'PUBLIC')),
2390                     nvl(SECURITY_LEVEL_CODE, 'PUBLIC')), -- SECURITY_LEVEL_CODE
2391                 NULL,                       -- WF_APPROVAL_ITEM_KEY, to be set to NULL
2392                 --
2393                 -- If there are no value for APPROVAL_STATUS then set it to NOT_REQUIRED
2394                 -- Otherwise set it to REQUIRED. We are not setting it to the actual status
2395                 -- as setApprovalStatusValue method of AuctionHeadersALLEOImpl will
2396                 -- set it while publising the negotiation or saving the negotiation as draft
2397                 --
2398                 decode(nvl(APPROVAL_STATUS, 'NOT_REQUIRED'),
2399                         'NOT_REQUIRED', 'NOT_REQUIRED',
2400                         'REQUIRED'),        -- APPROVAL_STATUS
2401                 --
2402                 -- We are going to keep the SOURCE_DOC_XX fields for Copy To Auction,
2403                 -- Copy To RFQ as well as any cross doctype copy. This is a new behavior
2404                 --
2405                 decode(l_is_succession,
2406                         'Y', SOURCE_DOC_ID,
2407                         l_source_doc_id),         -- SOURCE_DOC_ID
2408                 decode(l_is_succession,
2409                         'Y', SOURCE_DOC_NUMBER,
2410                         l_source_doc_number),     -- SOURCE_DOC_NUMBER
2411                 decode(l_is_succession,
2412                         'Y', SOURCE_DOC_MSG,
2413                         l_source_doc_msg), -- SOURCE_DOC_MSG
2414                 decode(l_is_succession,
2415                         'Y', SOURCE_DOC_LINE_MSG,
2416                         l_source_doc_line_msg),   -- SOURCE_DOC_LINE_MSG
2417                 decode(l_is_succession,
2418                         'Y', SOURCE_DOC_MSG_APP,
2419                         l_source_doc_msg_app ),   -- SOURCE_DOC_MSG_APP
2420                 --
2421                 -- Set SHARE_AWARD_DECISION to N, setCommonDefaults method logic
2422                 -- in AuctionHeadersALLEOImpl
2423                 --
2424                 'N',                        -- SHARE_AWARD_DECISION
2425                 NULL,                       -- DESCRIPTION, The DESCRIPTION field is only for templates
2426                 NULL,                       -- TEMPLATE_SCOPE,
2427                 NULL,                       -- TEMPLATE_STATUS,
2428                 NULL,                       -- IS_TEMPLATE_FLAG,
2429                 --
2430                 -- Carry over the Sysadmin setting for Award Appr. flag except for copy
2431                 -- for Amendment
2432                 --
2433                 decode(p_copy_type,
2434                          g_amend_copy, AWARD_APPROVAL_FLAG,
2435                          l_is_award_approval_reqd),          -- AWARD_APPROVAL_FLAG
2436                 decode(p_copy_type,
2437                          g_amend_copy, AWARD_APPROVAL_STATUS,
2438                          decode(l_is_award_approval_reqd,
2439                                 'Y', 'REQUIRED',
2440                                 'NOT_REQUIRED')),    -- AWARD_APPROVAL_STATUS
2441                 NULL,                       -- AWARD_APPR_AME_TRANS_ID
2442                 NULL,                       -- AWARD_APPR_AME_TRANS_PREV_ID
2443                 NULL,                       -- WF_AWARD_APPROVAL_ITEM_KEY
2444                 decode(p_copy_type,
2445                         g_amend_copy, nvl(AMENDMENT_NUMBER,0)+1,
2446                         0),                 -- AMENDMENT_NUMBER
2447                 NULL,                       -- AMENDMENT_DESCRIPTION
2448                 decode(p_copy_type,
2449                         g_amend_copy, AUCTION_HEADER_ID_ORIG_AMEND,
2450                         p_auction_header_id),      -- AUCTION_HEADER_ID_ORIG_AMEND
2451                 decode(p_copy_type,
2452                        'AMENDMENT', p_source_auction_header_id,
2453                         NULL),               -- AUCTION_HEADER_ID_PREV_AMEND
2454                 l_document_number,           -- DOCUMENT_NUMBER
2455                 NULL,                        -- AWARD_APPR_AME_TXN_DATE
2456                 --
2457                 -- AuctionHeadersALLEOImpl.setAdminPrefScoreSettings may override this later on
2458                 --
2459                 HDR_ATTR_ENABLE_WEIGHTS,
2460                 -- HDR_ATTRIBUTE_DISPLAY_SCORE, Some body has removed the column in prcdv10p
2461                 HDR_ATTR_MAXIMUM_SCORE,
2462                 ATTRIBUTE_LINE_NUMBER,
2463                 HDR_ATTR_DISPLAY_SCORE,
2464                 l_contract_terms_exisits,    -- CONTERMS_EXIST_FLAG
2465                 --
2466                 -- No existing logic, hence keeping the CONTERMS_ARTICLES_UPD_DATE and
2467                 -- CONTERMS_DELIV_UPD_DATE
2468                 --
2469                 CONTERMS_ARTICLES_UPD_DATE,
2470                 CONTERMS_DELIV_UPD_DATE,
2471                 NULL,                        -- AWARD_MODE
2472                 HAS_HDR_ATTR_FLAG,
2473                 NULL,                        -- AWARD_DATE
2474                 --
2475                 -- AuctionHeadersAllVOImpl logic
2476                 --
2477                 decode(l_is_succession,
2478                        'Y', MAX_INTERNAL_LINE_NUM,
2479                        NULL),                -- MAX_INTERNAL_LINE_NUM
2480                 NULL,                        -- IS_PAUSED
2481                 NULL,                        -- PAUSE_REMARKS
2482                 NULL,                        -- LAST_PAUSE_DATE
2483                 decode(p_copy_type, g_amend_copy, MAX_DOCUMENT_LINE_NUM,
2484                        g_new_rnd_copy, MAX_DOCUMENT_LINE_NUM,
2485                        NULL),                -- MAX_DOCUMENT_LINE_NUM
2486                 --
2487                 -- Transformation project:
2488 
2489                 --
2490                 t_record.PF_TYPE_ALLOWED,    -- PF_TYPE_ALLOWED
2491                 --
2492                 -- Transformation project logic:
2493                 -- Since RFI has no price elements, set the column to TRANSFORMED
2494                 -- while copying to a RFI
2495                 --
2496                 decode(p_doctype_id,
2497                         g_rfi_doctype_id, 'TRANSFORMED',
2498                         decode(g_neg_style_control.price_element_enabled_flag,
2499                           'N', 'TRANSFORMED', SUPPLIER_VIEW_TYPE)), -- SUPPLIER_VIEW_TYPE
2500                 ABSTRACT_DETAILS,             -- Abstract/Forms project related column
2501                 --
2502                 -- CPA and Console projects related columns
2503                 --
2504                 -- MAX_BID_COLOR_SEQUENCE_ID Field Logic
2505                 -- ---------------------------------------------------------
2506                 -- Copy MAX_BID_COLOR_SEQUENCE_ID field as is for New Round and
2507                 -- Amendments. In all other cases reset it to -1. Keeping it for cross copy.
2508                 -- Keep all other columns intact
2509                 --
2510                 decode(p_copy_type,
2511                         g_active_neg_copy, -1,
2512                         g_draft_neg_copy, -1,
2513                         MAX_BID_COLOR_SEQUENCE_ID),  -- MAX_BID_COLOR_SEQUENCE_ID
2514                 HAS_ITEMS_FLAG,
2515                 decode(p_doctype_id, g_rfq_doctype_id, SUPPLIER_ENTERABLE_PYMT_FLAG, 'N'),
2516                 decode(p_doctype_id, g_rfq_doctype_id, PROGRESS_PAYMENT_TYPE, 'NONE'),
2517                 decode(p_doctype_id, g_rfq_doctype_id, PROGRESS_PYMT_NEGOTIABLE_FLAG, 'N'),
2518                 decode(p_doctype_id, g_rfq_doctype_id, ADVANCE_NEGOTIABLE_FLAG, 'N'),
2519                 decode(p_doctype_id, g_rfq_doctype_id, RECOUPMENT_NEGOTIABLE_FLAG, 'N'),
2520                 decode(p_doctype_id, g_rfi_doctype_id, 'N', MAX_RETAINAGE_NEGOTIABLE_FLAG),
2521                 decode(p_doctype_id, g_rfi_doctype_id, 'N', RETAINAGE_NEGOTIABLE_FLAG),
2522                 PROJECT_ID,
2523                 INT_ATTRIBUTE_CATEGORY,
2524                 INT_ATTRIBUTE1,
2525                 INT_ATTRIBUTE2,
2526                 INT_ATTRIBUTE3,
2527                 INT_ATTRIBUTE4,
2528                 INT_ATTRIBUTE5,
2529                 INT_ATTRIBUTE6,
2530                 INT_ATTRIBUTE7,
2531                 INT_ATTRIBUTE8,
2532                 INT_ATTRIBUTE9,
2533                 INT_ATTRIBUTE10,
2534                 INT_ATTRIBUTE11,
2535                 INT_ATTRIBUTE12,
2536                 INT_ATTRIBUTE13,
2537                 INT_ATTRIBUTE14,
2538                 INT_ATTRIBUTE15,
2539                 EXT_ATTRIBUTE_CATEGORY,
2540                 EXT_ATTRIBUTE1,
2541                 EXT_ATTRIBUTE2,
2542                 EXT_ATTRIBUTE3,
2543                 EXT_ATTRIBUTE4,
2544                 EXT_ATTRIBUTE5,
2545                 EXT_ATTRIBUTE6,
2546                 EXT_ATTRIBUTE7,
2547                 EXT_ATTRIBUTE8,
2548                 EXT_ATTRIBUTE9,
2549                 EXT_ATTRIBUTE10,
2550                 EXT_ATTRIBUTE11,
2551                 EXT_ATTRIBUTE12,
2552                 EXT_ATTRIBUTE13,
2553                 EXT_ATTRIBUTE14,
2554                 EXT_ATTRIBUTE15,
2555                 g_neg_style_raw.STYLE_ID,
2556                 g_neg_style_raw.LINE_ATTRIBUTE_ENABLED_FLAG,
2557                 g_neg_style_raw.LINE_MAS_ENABLED_FLAG,
2558                 g_neg_style_raw.PRICE_ELEMENT_ENABLED_FLAG,
2559                 g_neg_style_raw.RFI_LINE_ENABLED_FLAG,
2560                 g_neg_style_raw.LOT_ENABLED_FLAG,
2561                 g_neg_style_raw.GROUP_ENABLED_FLAG,
2562                 g_neg_style_raw.LARGE_NEG_ENABLED_FLAG,
2563                 g_neg_style_raw.HDR_ATTRIBUTE_ENABLED_FLAG,
2564                 g_neg_style_raw.NEG_TEAM_ENABLED_FLAG,
2565                 g_neg_style_raw.PROXY_BIDDING_ENABLED_FLAG,
2566                 g_neg_style_raw.POWER_BIDDING_ENABLED_FLAG,
2567                 g_neg_style_raw.AUTO_EXTEND_ENABLED_FLAG,
2568                 g_neg_style_raw.TEAM_SCORING_ENABLED_FLAG,
2569                 DECODE(g_neg_style_raw.TEAM_SCORING_ENABLED_FLAG, 'N', 'N', HAS_SCORING_TEAMS_FLAG),
2570                 decode(p_doctype_id, g_rfi_doctype_id, NULL, PO_STYLE_ID),
2571                 g_price_break_response,
2572                 NUMBER_OF_LINES,
2573                 LAST_LINE_NUMBER,
2574                 decode(p_doctype_id, g_auction_doctype_id, BID_DECREMENT_METHOD, ''),
2575                 t_record.STAGGERED_CLOSING_INTERVAL,
2576                 t_record.FIRST_LINE_CLOSE_DATE,
2577                 decode(t_record.BEST_PRICE, 'Y',
2578                     decode(p_source_doctype_id, g_rfi_doctype_id,
2579                         l_disp_best_price_blind, DISPLAY_BEST_PRICE_BLIND_FLAG),
2580                     'N'), -- DISPLAY_BEST_PRICE_BLIND_FLAG
2581                 -- copy the flag to enforce previous round bid price as start price for amendment
2582                 -- else copy the configured value
2583                 DECODE(p_copy_type, g_amend_copy, ENFORCE_PREVRND_BID_PRICE_FLAG, l_MinBidPriceVal1),
2584                 g_neg_style_raw.QTY_PRICE_TIERS_ENABLED_FLAG,
2585                 t_record.PRICE_TIERS_INDICATOR,
2586 		DECODE(p_doctype_id, g_rfq_doctype_id, TWO_PART_FLAG, NULL)
2587                 FROM  PON_AUCTION_HEADERS_ALL
2588                 WHERE AUCTION_HEADER_ID = p_source_auction_header_id;
2589 
2590 END;
2591  --} End of COPY_HEADER_BASIC
2592 
2593 
2594 --
2595 -- Procedure to Copy the Negotiation Lines and Line Attachments
2596 --
2597 PROCEDURE COPY_LINES (   p_source_auction_header_id IN NUMBER,
2598                          p_auction_header_id        IN NUMBER,
2599                          p_tp_id                    IN NUMBER,
2600                          p_tp_contact_id            IN NUMBER,
2601                          p_tp_name                  IN VARCHAR2,
2602                          p_tpc_name                 IN VARCHAR2,
2603                          p_user_id                  IN NUMBER,
2604                          p_source_doctype_id        IN NUMBER,
2605                          p_doctype_id               IN NUMBER ,
2606                          p_copy_type                IN VARCHAR2,
2607                          p_round_number             IN NUMBER,
2608                          p_last_amendment_number    IN NUMBER,
2609                          p_retain_attachments       IN VARCHAR2,
2610                          p_staggered_closing_interval IN NUMBER,
2611                          p_from_line_number         IN NUMBER,
2612                          p_to_line_number           IN NUMBER
2613                       )
2614 --{
2615  IS
2616         l_amendment_update               PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2617         l_disp_line_number               PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2618 
2619         l_line_number                    PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2620         l_item_description               PON_NEG_COPY_DATATYPES_GRP.VARCHAR2500_TYPE;
2621         l_category_id                    PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2622         l_category_name                  PON_NEG_COPY_DATATYPES_GRP.VARCHAR300_TYPE;
2623         l_ip_category_id                 PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2624         l_uom_code                       PON_NEG_COPY_DATATYPES_GRP.VARCHAR20_TYPE;
2625         l_quantity                       PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2626         l_need_by_date                   PON_NEG_COPY_DATATYPES_GRP.SIMPLE_DATE_TYPE; -- need to change?
2627         l_ship_to_location_id            PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2628         l_target_price                   PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2629         l_threshold_price                PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2630         l_bid_start_price                PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2631         l_note_to_bidders                PON_NEG_COPY_DATATYPES_GRP.VARCHAR4000_TYPE;
2632         l_attachment_flag                PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
2633         l_language_code                  PON_NEG_COPY_DATATYPES_GRP.VARCHAR20_TYPE;
2634         l_reserve_price                  PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2635         l_display_target_price_flag      PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
2636         l_current_price                  PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2637         l_type                           PON_NEG_COPY_DATATYPES_GRP.VARCHAR20_TYPE;
2638         l_lot_line_number                PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2639         l_min_bid_increment              PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2640         l_min_bid_decrement              PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2641         l_unit_of_measure                PON_NEG_COPY_DATATYPES_GRP.VARCHAR50_TYPE;
2642         l_po_min_rel_amount              PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2643         l_has_attributes_flag            PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
2644         l_transportation_origin          PON_NEG_COPY_DATATYPES_GRP.VARCHAR300_TYPE;
2645         l_transportation_dest            PON_NEG_COPY_DATATYPES_GRP.VARCHAR300_TYPE;
2646         l_multiple_prices_flag           PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
2647         l_tbd_pricing_flag               PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
2648         l_need_by_start_date             PON_NEG_COPY_DATATYPES_GRP.SIMPLE_DATE_TYPE;
2649         l_modified_flag                  PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
2650         l_freight_terms_code             PON_NEG_COPY_DATATYPES_GRP.VARCHAR50_TYPE;
2651         l_org_id                         PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2652         l_has_price_elements_flag        PON_NEG_COPY_DATATYPES_GRP.VARCHAR300_TYPE;
2653         l_line_type_id                   PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2654         l_order_type_lookup_code         PON_NEG_COPY_DATATYPES_GRP.VARCHAR50_TYPE;
2655         l_line_origination_code          PON_NEG_COPY_DATATYPES_GRP.VARCHAR50_TYPE;
2656         l_requisition_number             PON_NEG_COPY_DATATYPES_GRP.VARCHAR20_TYPE;
2657         l_item_revision                  PON_NEG_COPY_DATATYPES_GRP.VARCHAR20_TYPE;
2658         l_item_id                        PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2659         l_item_number                    PON_NEG_COPY_DATATYPES_GRP.VARCHAR1000_TYPE;
2660         l_price_break_type               PON_NEG_COPY_DATATYPES_GRP.VARCHAR50_TYPE;
2661         l_price_break_neg_flag           PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
2662         l_has_shipments_flag             PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
2663         l_source_doc_number              PON_NEG_COPY_DATATYPES_GRP.VARCHAR20_TYPE;
2664         l_source_line_number             PON_NEG_COPY_DATATYPES_GRP.VARCHAR20_TYPE;
2665         l_souce_doc_id                   PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2666         l_source_line_id                 PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2667         l_price_disabled_flag            PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
2668         l_quantity_disabled_flag         PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
2669         l_job_id                         PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2670         l_additional_job_details         PON_NEG_COPY_DATATYPES_GRP.VARCHAR2000_TYPE;
2671         l_po_agreed_amount               PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2672         l_has_price_differentials_flag   PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
2673         l_differential_response_type     PON_NEG_COPY_DATATYPES_GRP.VARCHAR20_TYPE;
2674         l_purchase_basis                 PON_NEG_COPY_DATATYPES_GRP.VARCHAR50_TYPE;
2675         l_is_quantity_scored             PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
2676         l_is_need_by_date_scored         PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
2677         l_last_amendment_update          PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2678         l_modified_date                  PON_NEG_COPY_DATATYPES_GRP.SIMPLE_DATE_TYPE;
2679         l_price_diff_shipment_number     PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2680 
2681         --
2682         -- Lot based project related columns
2683         --
2684         l_group_type                     PON_NEG_COPY_DATATYPES_GRP.VARCHAR50_TYPE;
2685         l_parent_line_number             PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2686         l_document_disp_line_number      PON_NEG_COPY_DATATYPES_GRP.VARCHAR50_TYPE;
2687         l_max_sub_line_sequence_number   PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2688         l_sub_line_sequence_number       PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2689 
2690         --
2691         -- Transformation project related columns
2692         --
2693         l_has_buyer_pfs_flag             PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
2694         l_unit_target_price              PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2695         l_unit_display_target_flag       PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
2696 
2697         l_had_obsoleted_pe               PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
2698         l_had_obsolete_attr_group        PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
2699 
2700         l_has_active_buyer_pe_flag       PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
2701         l_has_active_supplier_pe_flag    PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
2702 
2703         l_rfi_doctype_id                 NUMBER;
2704         l_has_some_obsolete_attr_group   VARCHAR2(1);
2705         l_has_temp_labor_lines           VARCHAR2(1);
2706         l_is_succession                  VARCHAR2(1);
2707         l_has_descriptors                VARCHAR2(1);
2708 
2709         --Complex work project related columns
2710                 l_has_payments_flag              PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
2711                 l_advance_amount                                 PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2712                 l_recoupment_rate_percent        PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2713                 l_progress_pymt_rate_percent     PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2714                 l_retainage_rate_percent         PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2715                 l_max_retainage_amount           PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2716                 l_work_approver_user_id          PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2717                 l_project_id                     PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2718                 l_project_task_id                PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2719                 l_project_award_id               PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2720                 l_project_expenditure_type       PON_NEG_COPY_DATATYPES_GRP.VARCHAR50_TYPE;
2721                 l_project_exp_organization_id    PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
2722                 l_project_exp_item_date          PON_NEG_COPY_DATATYPES_GRP.SIMPLE_DATE_TYPE;
2723 
2724          --Staggered closing project
2725          l_close_bidding_date PON_NEG_COPY_DATATYPES_GRP.SIMPLE_DATE_TYPE;
2726          l_copy_close_bidding_date varchar2(1);
2727 
2728          -- Quantity Based Price Tiers
2729          l_has_quantity_tiers_flag             PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
2730 
2731 BEGIN
2732 
2733          --
2734          -- Initialize it to false and then set it in the fetch block
2735          --
2736          l_has_some_obsolete_attr_group := 'N';
2737          l_has_temp_labor_lines := 'N';
2738          g_has_inactive_pe_flag := 'N';
2739 
2740          --
2741          -- Initialize is_succession based on p_copy_type
2742          --
2743          if (p_copy_type = g_amend_copy OR
2744              (p_copy_type = g_new_rnd_copy AND p_source_doctype_id = p_doctype_id)) then
2745                 l_is_succession := 'Y';
2746          else
2747                 l_is_succession := 'N';
2748          end if;
2749 
2750          --Copy the close bidding dates for lines in case of amendments of a
2751          --staggered auction
2752          IF (p_staggered_closing_interval is not null AND
2753              p_copy_type = g_amend_copy ) THEN
2754             l_copy_close_bidding_date := 'Y';
2755          ELSE
2756             l_copy_close_bidding_date := 'N';
2757          END IF;
2758 
2759          --
2760          -- This is a candidate for bulk collect and bulk insert as we have to populate
2761          -- the disp_line_number in a sequence
2762          --
2763          SELECT
2764                 A.DISP_LINE_NUMBER,
2765                 A.LAST_AMENDMENT_UPDATE,
2766                 A.LINE_NUMBER,
2767                 A.ITEM_DESCRIPTION,
2768                 A.CATEGORY_ID,
2769                 A.CATEGORY_NAME,
2770                 A.IP_CATEGORY_ID,
2771                 A.UOM_CODE,
2772                 A.QUANTITY,
2773                 A.NEED_BY_DATE, -- NEED TO CHANGE? No, carry it over
2774                 A.SHIP_TO_LOCATION_ID,
2775                 A.TARGET_PRICE,
2776                 A.THRESHOLD_PRICE,
2777          		-- Bug 4740593 decode added as part of enforcing previous round bid price project
2778 		        -- Do not copy line start price for new round
2779                 DECODE(p_copy_type, 'NEW_ROUND', NULL, A.BID_START_PRICE),
2780                 A.NOTE_TO_BIDDERS,
2781                 A.ATTACHMENT_FLAG,
2782                 A.LANGUAGE_CODE,
2783                 A.RESERVE_PRICE,
2784                 A.DISPLAY_TARGET_PRICE_FLAG,
2785                 A.CURRENT_PRICE,
2786                 A.TYPE,
2787                 A.LOT_LINE_NUMBER,
2788                 A.MIN_BID_INCREMENT,
2789                 A.MIN_BID_DECREMENT,
2790                 A.UNIT_OF_MEASURE,
2791                 A.PO_MIN_REL_AMOUNT,
2792                 A.HAS_ATTRIBUTES_FLAG,
2793                 A.TRANSPORTATION_ORIGIN,
2794                 A.TRANSPORTATION_DEST,
2795                 A.MULTIPLE_PRICES_FLAG,
2796                 A.TBD_PRICING_FLAG,
2797                 A.NEED_BY_START_DATE,
2798                 A.FREIGHT_TERMS_CODE,
2799                 A.MODIFIED_FLAG,
2800                 A.ORG_ID,
2801                 A.HAS_PRICE_ELEMENTS_FLAG,
2802                 A.LINE_TYPE_ID,
2803                 A.ORDER_TYPE_LOOKUP_CODE,
2804                 A.LINE_ORIGINATION_CODE,
2805                 A.REQUISITION_NUMBER,
2806                 A.ITEM_REVISION,
2807                 A.ITEM_ID,
2808                 A.ITEM_NUMBER,
2809                 A.PRICE_BREAK_TYPE,
2810                 A.PRICE_BREAK_NEG_FLAG,
2811                 A.HAS_SHIPMENTS_FLAG,
2812                 A.SOURCE_DOC_NUMBER,
2813                 A.SOURCE_LINE_NUMBER,
2814                 A.SOURCE_DOC_ID,
2815                 A.SOURCE_LINE_ID,
2816                 A.PRICE_DISABLED_FLAG,
2817                 A.QUANTITY_DISABLED_FLAG,
2818                 A.JOB_ID,
2819                 A.ADDITIONAL_JOB_DETAILS,
2820                 A.PO_AGREED_AMOUNT,
2821                 A.HAS_PRICE_DIFFERENTIALS_FLAG,
2822                 A.DIFFERENTIAL_RESPONSE_TYPE,
2823                 A.PURCHASE_BASIS,
2824                 A.IS_QUANTITY_SCORED,
2825                 A.IS_NEED_BY_DATE_SCORED,
2826                 A.LAST_AMENDMENT_UPDATE,
2827                 A.MODIFIED_DATE,
2828                 A.PRICE_DIFF_SHIPMENT_NUMBER,
2829                 NVL(A.GROUP_TYPE, 'LINE'),   -- Lot based project default logic
2830                 A.PARENT_LINE_NUMBER,
2831                 A.DOCUMENT_DISP_LINE_NUMBER,
2832                 A.MAX_SUB_LINE_SEQUENCE_NUMBER,
2833                 A.SUB_LINE_SEQUENCE_NUMBER,
2834                 A.HAS_BUYER_PFS_FLAG,
2835                 A.UNIT_TARGET_PRICE,
2836                 A.UNIT_DISPLAY_TARGET_FLAG,
2837                 DECODE(NVL(COUNTER.C1, 0), 0,'N','Y') HAD_OBSOLETED_PE,
2838                 DECODE(NVL(AA.C2,0),0,'N','Y')  HAD_OBSOLETE_ATTR_GROUP,
2839                 DECODE(NVL(COUNTER.NUM_BUYER_PFS, 0), 0, 'N', 'Y') HAS_ACTIVE_BUYER_PE_FLAG,
2840                 DECODE(NVL(COUNTER.NUM_SUPPLIER_PFS, 0), 0, 'N', 'Y') HAS_ACTIVE_SUPPLIER_PE_FLAG,
2841                     A.HAS_PAYMENTS_FLAG,
2842                                 A.ADVANCE_AMOUNT,
2843                                 A.RECOUPMENT_RATE_PERCENT,
2844                                 A.PROGRESS_PYMT_RATE_PERCENT,
2845                                 A.RETAINAGE_RATE_PERCENT,
2846                                 A.MAX_RETAINAGE_AMOUNT,
2847                                 A.WORK_APPROVER_USER_ID,
2848                                 A.PROJECT_ID,
2849 
2850                                 A.PROJECT_TASK_ID,
2851                                 A.PROJECT_AWARD_ID,
2852                                 A.PROJECT_EXPENDITURE_TYPE,
2853                                 A.PROJECT_EXP_ORGANIZATION_ID,
2854                                 A.PROJECT_EXPENDITURE_ITEM_DATE,
2855                                 decode(l_copy_close_bidding_date, 'Y', A.CLOSE_BIDDING_DATE,null),
2856                 A.HAS_QUANTITY_TIERS
2857          BULK COLLECT
2858          INTO
2859                 l_disp_line_number,
2860                 l_amendment_update,
2861                 l_line_number,
2862                 l_item_description,
2863                 l_category_id,
2864                 --
2865                 -- The category name is not revalidated from the mtl table so it will have the
2866                 -- older name set in the source doc
2867                 --
2868                 l_category_name,
2869                 l_ip_category_id,
2870                 l_uom_code,
2871                 l_quantity,
2872                 l_need_by_date, -- need to change?
2873                 l_ship_to_location_id,
2874                 l_target_price,
2875                 l_threshold_price,
2876                 l_bid_start_price,
2877                 l_note_to_bidders,
2878                 l_attachment_flag,
2879                 l_language_code,
2880                 l_reserve_price,
2881                 l_display_target_price_flag,
2882                 l_current_price,
2883                 l_type,
2884                 l_lot_line_number,
2885                 l_min_bid_increment,
2886                 l_min_bid_decrement,
2887                 l_unit_of_measure,
2888                 l_po_min_rel_amount,
2889                 l_has_attributes_flag,
2890                 l_transportation_origin,
2891                 l_transportation_dest,
2892                 l_multiple_prices_flag,
2893                 l_tbd_pricing_flag,
2894                 l_need_by_start_date,
2895                 l_freight_terms_code,
2896                 l_modified_flag,
2897                 l_org_id,
2898                 l_has_price_elements_flag,
2899                 l_line_type_id,
2900                 l_order_type_lookup_code,
2901                 l_line_origination_code,
2902                 l_requisition_number,
2903                 l_item_revision,
2904                 l_item_id,
2905                 l_item_number,
2906                 l_price_break_type,
2907                 l_price_break_neg_flag,
2908                 l_has_shipments_flag,
2909                 l_source_doc_number,
2910                 l_source_line_number,
2911                 l_souce_doc_id,
2912                 l_source_line_id,
2913                 l_price_disabled_flag,
2914                 l_quantity_disabled_flag,
2915                 l_job_id,
2916                 l_additional_job_details,
2917                 l_po_agreed_amount,
2918                 l_has_price_differentials_flag,
2919                 l_differential_response_type,
2920                 l_purchase_basis,
2921                 l_is_quantity_scored,
2922                 l_is_need_by_date_scored,
2923                 l_last_amendment_update,
2924                 l_modified_date,
2925                 l_price_diff_shipment_number,
2926                 l_group_type,                    -- Lot project related columns start
2927                 l_parent_line_number,
2928                 l_document_disp_line_number,
2929                 l_max_sub_line_sequence_number,
2930                 l_sub_line_sequence_number,
2931                 l_has_buyer_pfs_flag,            -- Transformation project related columns start
2932                 l_unit_target_price,
2933                 l_unit_display_target_flag,
2934                 l_had_obsoleted_pe,              --  It will return Y if there are any disabled Price Element
2935                 l_had_obsolete_attr_group,       --  It will return Y if there are any disabled Attributes
2936                 l_has_active_buyer_pe_flag,      -- It will return Y if there are any active buyer price elements
2937                 l_has_active_supplier_pe_flag,    -- It will return Y if there are any active supplier price elements
2938                 l_has_payments_flag,
2939                 l_advance_amount,
2940                 l_recoupment_rate_percent,
2941                 l_progress_pymt_rate_percent,
2942                 l_retainage_rate_percent,
2943                 l_max_retainage_amount,
2944                 l_work_approver_user_id,
2945                 l_project_id,
2946                 l_project_task_id,
2947                 l_project_award_id,
2948                 l_project_expenditure_type,
2949                 l_project_exp_organization_id,
2950                 l_project_exp_item_date,
2951                 l_close_bidding_date,
2952                 l_has_quantity_tiers_flag
2953         FROM PON_AUCTION_ITEM_PRICES_ALL A,
2954         (SELECT  sum(decode(VL.ENABLED_FLAG,'N',1,0)) C1,
2955                 sum(decode(VL.ENABLED_FLAG,'Y',decode(P.PF_TYPE,'BUYER',1,0),0)) NUM_BUYER_PFS,
2956                 sum(decode(VL.ENABLED_FLAG,'Y',decode(P.PF_TYPE,'SUPPLIER',decode(P.PRICE_ELEMENT_TYPE_ID,-10,0,1),0),0)) NUM_SUPPLIER_PFS,
2957                 AUCTION_HEADER_ID,
2958                 LINE_NUMBER
2959                 FROM     PON_PRICE_ELEMENTS P, PON_PRICE_ELEMENT_TYPES VL
2960                 WHERE    P.PRICE_ELEMENT_TYPE_ID  = VL.PRICE_ELEMENT_TYPE_ID
2961                 GROUP BY AUCTION_HEADER_ID, LINE_NUMBER) COUNTER,
2962 
2963         (SELECT COUNT(ATTRIBUTE_NAME) C2,
2964                                 AUCTION_HEADER_ID,
2965                                 LINE_NUMBER
2966                          FROM PON_AUCTION_ATTRIBUTES,
2967                               FND_LOOKUP_VALUES
2968                          WHERE
2969                               LOOKUP_TYPE = 'PON_LINE_ATTRIBUTE_GROUPS'
2970                               AND (ENABLED_FLAG = 'N'
2971                                         OR
2972                                         SYSDATE NOT BETWEEN NVL(START_DATE_ACTIVE,SYSDATE - 1 )
2973                                         AND NVL(END_DATE_ACTIVE,SYSDATE + 1 ))
2974                               AND ATTR_GROUP = LOOKUP_CODE
2975                               AND  ATTR_LEVEL = 'LINE'
2976                               AND VIEW_APPLICATION_ID = 0
2977                               AND SECURITY_GROUP_ID = 0
2978                         GROUP BY AUCTION_HEADER_ID, LINE_NUMBER)AA
2979 
2980         WHERE A.AUCTION_HEADER_ID = p_source_auction_header_id
2981         AND   A.AUCTION_HEADER_ID = COUNTER.AUCTION_HEADER_ID (+)
2982         AND   A.LINE_NUMBER = COUNTER.LINE_NUMBER (+)
2983         AND   A.AUCTION_HEADER_ID = AA.AUCTION_HEADER_ID (+)
2984         AND   A.LINE_NUMBER = AA.LINE_NUMBER (+)
2985         AND   A.line_number >= p_from_line_number
2986         AND   A.line_number <= p_to_line_number
2987         ORDER BY A.DISP_LINE_NUMBER;
2988 
2989 
2990          IF (l_line_number.COUNT <> 0) THEN
2991          --{
2992                 FOR x IN 1..l_line_number.COUNT
2993                 LOOP
2994 
2995                    --R12 COMPLEX WORK
2996                    -- If destination document type is RFI then all the complex
2997                                    -- work attributes should be null
2998                        IF (p_doctype_id = g_rfi_doctype_id) THEN
2999                            l_has_payments_flag (x) := 'N';
3000                            l_advance_amount (x) := NULL;
3001                            l_recoupment_rate_percent(x) := NULL;
3002                            l_progress_pymt_rate_percent(x) := NULL;
3003                        l_retainage_rate_percent(x) := NULL;
3004                        l_max_retainage_amount(x) := NULL;
3005                        l_work_approver_user_id(x) := NULL;
3006                        l_project_id(x) := NULL;
3007                        l_project_task_id(x) := NULL;
3008                        l_project_award_id(x) := NULL;
3009                        l_project_expenditure_type(x) := NULL;
3010                        l_project_exp_organization_id(x) := NULL;
3011                        l_project_exp_item_date(x) := NULL;
3012                        ELSIF (p_doctype_id = g_auction_doctype_id) THEN
3013                        -- If destination document type is RFI then all the complex
3014                                         -- work attributes should be null except for retainage columns
3015                        l_has_payments_flag (x) := 'N';
3016                        l_advance_amount (x) := NULL;
3017                        l_recoupment_rate_percent(x) := NULL;
3018                        l_progress_pymt_rate_percent(x) := NULL;
3019                        l_work_approver_user_id(x) := NULL;
3020                        l_project_id(x) := NULL;
3021                        l_project_task_id(x) := NULL;
3022                        l_project_award_id(x) := NULL;
3023                        l_project_expenditure_type(x) := NULL;
3024                        l_project_exp_organization_id(x) := NULL;
3025                        l_project_exp_item_date(x) := NULL;
3026                         END IF;
3027 
3028 
3029                         IF (p_source_doctype_id = g_rfi_doctype_id AND
3030                                 p_doctype_id <> p_source_doctype_id) THEN
3031 
3032                                 l_souce_doc_id(x) := g_source_doc_id;
3033                                 l_source_doc_number(x) := g_source_doc_num;
3034                                 l_line_origination_code(x) := g_source_doc_int_name;
3035 
3036                                 IF (l_disp_line_number(x) IS NOT NULL) THEN
3037                                         l_source_line_number(x) := to_char(l_disp_line_number(x));
3038                                 ELSE
3039                                         l_source_line_number(x) := NULL;
3040                                 END IF;
3041 
3042                                 l_source_line_id(x) := l_disp_line_number(x);
3043                         END IF;
3044 
3045 --                        l_disp_line_number(x) := x;
3046 
3047                       --
3048                       -- Following two if block logic are derived from the defaulting logic
3049                       -- from Lot based project
3050                       --
3051                       IF (l_document_disp_line_number(x) IS NULL) THEN
3052                           l_document_disp_line_number(x) := to_char(x);
3053                       END IF;
3054 
3055                       IF (l_sub_line_sequence_number(x) IS NULL) THEN
3056                           l_sub_line_sequence_number(x) := to_char(x);
3057                       END IF;
3058 
3059 
3060                       -- l_amendment_update(x) := 0; -- Have to modify for Amendment
3061 
3062                       --l_modified_date(x) := NULL;
3063                       l_modified_flag(x) := NULL;
3064 
3065                       --
3066                       -- The Source line reference, Requisition reference
3067                       -- shouldn't be copied for active copy. They will be carried over in all
3068                       -- other cases
3069                       --
3070                       IF (p_copy_type = g_active_neg_copy OR
3071                            p_copy_type = g_draft_neg_copy) THEN
3072                           l_souce_doc_id(x) := NULL;
3073                           l_source_doc_number(x) := NULL;
3074                           l_line_origination_code(x) := NULL;
3075                           l_source_line_number(x) := NULL;
3076                           l_source_line_id(x) := NULL;
3077                           l_requisition_number(x) := NULL;
3078                       END IF;
3079 
3080                       IF (g_auc_doctype_rule_data.CONTRACT_TYPE = 'STANDARD' ) THEN
3081                           l_po_agreed_amount(x) := NULL;
3082                       END IF;
3083 
3084                       --
3085                       -- The amendment update is set to zero except for
3086                       -- amendment (copyReset logic in AuctionItemPricesAllVOImpl)
3087                       --
3088                       IF (p_copy_type <> g_amend_copy ) THEN
3089                           l_last_amendment_update(x) := 0;
3090                       END IF;
3091 
3092                       --
3093                       -- Blind copy of copyReset logic from AuctionItemPricesAllVOImpl
3094                       -- May need to change it later on
3095                       --
3096                       IF (p_copy_type = g_active_neg_copy OR
3097                           p_copy_type = g_rfi_to_other_copy) THEN
3098                                 l_modified_date(x) := SYSDATE;
3099                       END IF;
3100 
3101                        --
3102                        -- If there are any inactive PE AND the destination document can have
3103                        -- some Price Elements then we have to flag it as modified. It
3104                        -- is automatically modified and not done by the user. It can be done
3105                        -- at cross copy as well amendment (if a PE is deactivated). The
3106                        -- deactivated Price Elements will be listed down later while
3107                        -- copying Price Elements
3108                        --
3109                       IF ((p_copy_type = g_new_rnd_copy
3110                            OR p_copy_type = g_amend_copy
3111                            OR p_copy_type = g_rfi_to_other_copy )
3112                           AND ((l_had_obsoleted_pe(x) = 'Y' AND
3113                                 g_auc_doctype_rule_data.ALLOW_PRICE_ELEMENT = 'Y')
3114                                OR l_had_obsolete_attr_group(x) = 'Y'))THEN
3115 
3116                                 l_modified_date(x) := SYSDATE;
3117                                 l_modified_flag(x) := 'Y';
3118 
3119                                 IF (p_copy_type = g_amend_copy) THEN
3120                                    l_last_amendment_update(x) := p_last_amendment_number + 1;
3121                                 END IF;
3122 
3123                       END IF;
3124 
3125                       --
3126                       -- Flag the g_has_inactive_pe_flag if not already done for future use.
3127                       --
3128                       IF ( g_auc_doctype_rule_data.ALLOW_PRICE_ELEMENT = 'Y'
3129                             AND l_had_obsoleted_pe(x) = 'Y'
3130                             AND g_has_inactive_pe_flag = 'N' ) THEN
3131                           g_has_inactive_pe_flag := 'Y';
3132                       END IF;
3133 
3134                       --
3135                       -- Check if the line is modified due to style
3136                       --
3137                       -- attribute disabled by style and the line has attributes
3138                       IF (l_has_attributes_flag(x) = 'Y' AND
3139                           g_neg_style_control.line_attribute_enabled_flag = 'N') THEN
3140 
3141                                 l_has_attributes_flag(x) := 'N';
3142 
3143                                 l_modified_date(x) := SYSDATE;
3144                                 l_modified_flag(x) := 'Y';
3145 
3146                       END IF;
3147 
3148                       -- mas disabled by style
3149                       IF ((l_is_quantity_scored(x) = 'Y' OR
3150                            l_is_need_by_date_scored(x) = 'Y' ) AND
3151                            g_neg_style_control.line_mas_enabled_flag = 'N') THEN
3152 
3153                                 l_is_quantity_scored(x) := 'N';
3154                                 l_is_need_by_date_scored(x) := 'N';
3155 
3156                                 l_modified_date(x) := SYSDATE;
3157                                 l_modified_flag(x) := 'Y';
3158                       END IF;
3159 
3160                       --
3161                       -- Quantity based price tiers project
3162                       -- If source negotiation has price tiers but style for new negotiation does not allow
3163                       -- price tiers then set the flag to 'N'
3164                       --
3165                       IF (l_has_quantity_tiers_flag(x) = 'Y' AND
3166                            g_neg_style_control.qty_price_tiers_enabled_flag = 'N') THEN
3167 
3168                                 l_has_quantity_tiers_flag(x) := 'N';
3169                                 l_modified_date(x) := SYSDATE;
3170                                 l_modified_flag(x) := 'Y';
3171                       END IF;
3172 
3173                       --
3174                       -- Check if there is any line with some obsolete group.  Flag the
3175                       -- l_has_some_obsolete_attr_group in that case
3176                       --
3177                       IF (l_has_some_obsolete_attr_group <> 'Y') THEN
3178                          IF (l_had_obsolete_attr_group(x) = 'Y') THEN
3179                             l_has_some_obsolete_attr_group := 'Y';
3180                          END IF;
3181                       END IF;
3182 
3183                       --
3184                       -- Cross Copy Logic For Lines
3185                       --
3186                       -- If the PE are not applicable to the destination doctype and source has
3187                       -- some PE then it should be marked as automatically modified
3188                       --
3189                       IF ((g_auc_doctype_rule_data.ALLOW_PRICE_ELEMENT = 'N' OR
3190                            g_neg_style_control.price_element_enabled_flag = 'N') AND
3191                           (l_has_price_elements_flag(x) = 'Y' OR
3192                            l_has_buyer_pfs_flag(x) = 'Y')) THEN
3193                              l_has_active_buyer_pe_flag(x) := 'N';
3194                              l_has_active_supplier_pe_flag(x) := 'N';
3195                              l_unit_target_price(x) := NULL;
3196                              l_unit_display_target_flag(x) := 'N';
3197                              l_modified_date(x) := SYSDATE;
3198                              l_modified_flag(x) := 'Y';
3199                       END IF;
3200 
3201                       -- If there are no supplier price elements, make sure line price fields are reset
3202                       IF (l_has_active_supplier_pe_flag(x) = 'N') THEN
3203 
3204                         l_unit_target_price(x) := NULL;
3205                         l_unit_display_target_flag(x) := 'N';
3206 
3207                       END IF;
3208 
3209                       --
3210                       -- This is the modified logic to mark the Global Agreement Flag to on in the following cases -
3211                       --       1. Copy From RFI -> Auction/RFQ and RFI has Rate Based Temp Labor line(s)
3212                       --       2. New Round From RFI -> Auction/RFQ and RFI has Rate Based Temp Labor line(s)
3213                       --       3. Draft Copy From RFI -> Auction/RFQ and RFI has Rate Based Temp Labor line(s)
3214                       --
3215                       IF (p_copy_type = g_rfi_to_other_copy OR
3216                            ((p_copy_type = g_new_rnd_copy OR p_copy_type = g_draft_neg_copy) AND
3217                                 (p_source_doctype_id = g_rfi_doctype_id AND p_doctype_id <> p_source_doctype_id ))) THEN
3218 
3219                                 IF( l_purchase_basis(x) = g_temp_labor AND l_has_temp_labor_lines <> 'Y') THEN
3220                                         l_has_temp_labor_lines := 'Y';
3221                                 END IF;
3222                       END IF;
3223 
3224 
3225                       -- Note: The following logic applies to copy/new round,
3226      	              -- and doesn't apply to amendment
3227 
3228                       --
3229                       -- Similarly Price Breaks should be removed
3230                       --
3231                       -- PBs are dropped if not allowed, mark the line as modified
3232                       IF (p_copy_type <> g_amend_copy) THEN
3233                         IF (g_auc_doctype_rule_data.PRICE_BREAK = 'N' AND
3234                           	l_price_break_type(x) <> 'NONE') THEN
3235                             l_price_break_type(x) := 'NONE';
3236                             l_has_shipments_flag(x) := 'N';
3237                             l_modified_date(x) := SYSDATE;
3238                             l_modified_flag(x) := 'Y';
3239                         END IF;
3240                       END IF;
3241 
3242                       --
3243                       -- Check all the prices if they need to carry over
3244                       --
3245                       IF (g_auc_doctype_rule_data.START_PRICE = 'N' )  THEN
3246                            l_bid_start_price(x) := NULL;
3247                       END IF;
3248 
3249                       IF (g_auc_doctype_rule_data.RESERVE_PRICE = 'N' )  THEN
3250                            l_reserve_price(x) := NULL;
3251                       END IF;
3252 
3253                       IF (g_auc_doctype_rule_data.TARGET_PRICE = 'N' )  THEN
3254                            l_target_price(x) := NULL;
3255                       END IF;
3256 
3257                       IF (g_auc_doctype_rule_data.CURRENT_PRICE = 'N' )  THEN
3258                            l_current_price(x) := NULL;
3259                       END IF;
3260 
3261                       --
3262                       -- Currently only RFI has the NO_PRICE_QTY_ITEMS_POSSIBLE flag on and we will set
3263                       -- this flag off once we are creating any other document type from RFI .
3264                       -- We will keep the lines intact as possible otherwise.
3265                       --
3266                        IF (p_source_doctype_id = g_rfi_doctype_id AND
3267                                 p_doctype_id <> p_source_doctype_id) THEN
3268 
3269                             -- The Lines should be with Price and Qty
3270                             l_price_disabled_flag(x) := 'N';
3271                             l_quantity_disabled_flag(x) := 'N';
3272 
3273                        END IF;
3274 
3275                       -- Check if the doctype_id of RFI
3276                       l_rfi_doctype_id := g_rfi_doctype_id;
3277 
3278                       IF (l_rfi_doctype_id = p_doctype_id
3279                           AND p_doctype_id <> p_source_doctype_id) THEN
3280                              -- For Cross Copy To RFI make all these fields NULL
3281 
3282                              -- default the score information
3283                              IF (l_is_quantity_scored(x) = 'Y' OR l_is_need_by_date_scored(x) = 'Y') THEN
3284                                   l_is_quantity_scored(x) := 'N';
3285                                   l_is_need_by_date_scored(x) := 'N';
3286 
3287                                   l_modified_date(x) := SYSDATE;
3288                                   l_modified_flag(x) := 'Y';
3289                              END IF;
3290 
3291                              l_po_min_rel_amount(x) := NULL;
3292                              l_requisition_number(x) := NULL;
3293 
3294                              --set the has_quantity_tiers to null for RFIs
3295                              l_has_quantity_tiers_flag(x) := NULL;
3296 
3297 
3298                       END IF;
3299 
3300                       --
3301                       -- Lot based bidding project cross copy logic
3302                       -- ("when cross-copying, set pon_auction_item_prices_all.source_line_number using
3303                       -- pon_auction_item_prices_all.document_disp_line_number)
3304                       --
3305                       IF (p_doctype_id <> p_source_doctype_id AND
3306                           (  p_copy_type = g_new_rnd_copy
3307                           OR p_copy_type = g_amend_copy
3308                           OR p_copy_type = g_rfi_to_other_copy)) THEN
3309                              l_source_line_number(x) := l_document_disp_line_number(x);
3310                       END IF;
3311 
3312 
3313 
3314                       -- Unified Catalog Feature is not supported on RFIs
3315                       -- ex...ip category id and descriptors
3316                       IF (p_doctype_id = g_rfi_doctype_id and
3317                           p_source_doctype_id <> p_doctype_id) THEN
3318 
3319                         select decode(count(attribute_name), 0, 'N', 'Y')
3320                         into   l_has_descriptors
3321                         from   pon_auction_attributes
3322                         where  auction_header_id = p_source_auction_header_id and
3323                                line_number = l_line_number(x) and
3324                                ip_category_id is not null and
3325                                rownum = 1;
3326 
3327 
3328                         IF (l_ip_category_id(x) is not null or l_has_descriptors = 'Y') THEN
3329 
3330                           l_ip_category_id(x) := null;
3331 
3332                           IF (p_copy_type = g_new_rnd_copy OR
3333                               p_copy_type = g_amend_copy) THEN
3334 
3335                             l_modified_date(x) := SYSDATE;
3336                             l_modified_flag(x) := 'Y';
3337 
3338 
3339                             IF (p_copy_type = g_amend_copy) THEN
3340                               l_last_amendment_update(x) := p_last_amendment_number + 1;
3341                             END IF;
3342 
3343                           END IF;
3344 
3345                         END IF;
3346 
3347                       END IF;
3348 
3349 
3350                       --
3351                       -- Copy Attachments for Lines if user wants to retain the attachments of the
3352                       -- source document and the corresponding line in the source document has
3353                       -- attachment flag on. It tried to assume that the original document should have
3354                       -- the ATTACHMENT_FLAG properly set to prevent redundant calls on
3355                       -- FND_ATTACHED_DOCUMENTS2_PKG API. But, most of the time it is NULL
3356                       -- even if there are attachments. Hence dropping the condition as of now
3357                       --
3358                       IF ( p_retain_attachments = 'Y' ) THEN
3359                            -- AND l_attachment_flag(x) = 'Y' ) THEN
3360                               FND_ATTACHED_DOCUMENTS2_PKG.COPY_ATTACHMENTS (
3361                                 X_from_entity_name  =>  'PON_AUCTION_ITEM_PRICES_ALL',
3362                                 X_from_pk1_value    =>  to_char(p_source_auction_header_id),
3363                                 X_from_pk2_value    =>  to_char(l_line_number(x)),
3364                                 X_to_entity_name    =>  'PON_AUCTION_ITEM_PRICES_ALL',
3365                                 X_to_pk1_value      =>  to_char(p_auction_header_id), -- PK1_VALUE
3366                                 X_to_pk2_value      =>  to_char(l_line_number(x)),
3367                                 X_created_by        =>  p_user_id,            -- CREATED_BY
3368                                 X_last_update_login =>  fnd_global.login_id   -- LAST_UPDATE_LOGIN
3369                               );
3370 
3371                       END IF;
3372 
3373                 END LOOP;
3374 
3375                 FORALL x IN 1..l_line_number.COUNT
3376                      INSERT
3377                      INTO PON_AUCTION_ITEM_PRICES_ALL
3378                        (AUCTION_HEADER_ID,
3379                         AWARD_STATUS,
3380                         LINE_NUMBER,
3381                         ITEM_DESCRIPTION,
3382                         CATEGORY_ID,
3383                         CATEGORY_NAME,
3384                         IP_CATEGORY_ID,
3385                         UOM_CODE,
3386                         QUANTITY,
3387                         NEED_BY_DATE,
3388                         SHIP_TO_LOCATION_ID,
3389                         NUMBER_OF_BIDS,
3390                         LOWEST_BID_PRICE,
3391                         LOWEST_BID_QUANTITY,
3392                         LOWEST_BID_PROMISED_DATE,
3393                         LOWEST_BID_NUMBER,
3394                         CLOSEST_PROMISED_DATE,
3395                         CLOSEST_BID_PRICE,
3396                         CLOSEST_BID_QUANTITY,
3397                         CLOSEST_BID_NUMBER,
3398                         TARGET_PRICE,
3399                         THRESHOLD_PRICE,
3400                         BID_START_PRICE,
3401                         NOTE_TO_BIDDERS,
3402                         ATTACHMENT_FLAG,
3403                         LANGUAGE_CODE,
3404                         CREATION_DATE,
3405                         CREATED_BY,
3406                         LAST_UPDATE_DATE,
3407                         LAST_UPDATED_BY,
3408                         AUCTION_CREATION_DATE,
3409                         CLOSE_BIDDING_DATE,
3410                         NUMBER_OF_EXTENSIONS,
3411                         RESERVE_PRICE,
3412                         DISPLAY_TARGET_PRICE_FLAG,
3413                         CURRENT_PRICE,
3414                         BEST_BID_PRICE,
3415                         BEST_BID_QUANTITY,
3416                         BEST_BID_PROMISED_DATE,
3417                         BEST_BID_NUMBER,
3418                         TYPE,
3419                         LOT_LINE_NUMBER,
3420                         MIN_BID_INCREMENT,
3421                         MIN_BID_DECREMENT,
3422                         BEST_BID_PROXY_LIMIT_PRICE,
3423                         BEST_BID_CURRENCY_PRICE,
3424                         BEST_BID_CURRENCY_CODE,
3425                         PO_MIN_REL_AMOUNT,
3426                         BEST_BID_FIRST_BID_PRICE,
3427                         UNIT_OF_MEASURE,
3428                         HAS_ATTRIBUTES_FLAG,
3429                         TRANSPORTATION_ORIGIN,
3430                         TRANSPORTATION_DEST,
3431                         AUCTION_HEADER_ID_ORIG_ROUND,
3432                         AUCTION_HEADER_ID_PREV_ROUND,
3433                         LINE_NUMBER_ORIGINAL_ROUND,
3434                         LINE_NUMBER_PREV_ROUND,
3435                         MULTIPLE_PRICES_FLAG,
3436                         RESIDUAL_QUANTITY,
3437                         PENDING_QUANTITY,
3438                         CANCEL_QUANTITY,
3439                         NUMBER_OF_COMMITMENTS,
3440                         NUMBER_OF_PENDING_COMMITMENTS,
3441                         TBD_PRICING_FLAG,
3442                         NEED_BY_START_DATE,
3443                         PRICE,
3444                         FREIGHT_TERMS_CODE,
3445                         AWARDED_QUANTITY,
3446                         MODIFIED_FLAG,
3447                         BEST_BID_BID_PRICE,
3448                         BEST_BID_SCORE,
3449                         BEST_BID_BID_NUMBER,
3450                         BEST_BID_BID_CURRENCY_PRICE,
3451                         BEST_BID_BID_CURRENCY_CODE,
3452                         ORG_ID,
3453                         HAS_PRICE_ELEMENTS_FLAG,
3454                         LINE_TYPE_ID,
3455                         ORDER_TYPE_LOOKUP_CODE,
3456                         LINE_ORIGINATION_CODE,
3457                         REQUISITION_NUMBER,
3458                         ITEM_REVISION,
3459                         ITEM_ID,
3460                         ITEM_NUMBER,
3461                         PRICE_BREAK_TYPE,
3462                         PRICE_BREAK_NEG_FLAG,
3463                         HAS_SHIPMENTS_FLAG,
3464                         SOURCE_DOC_NUMBER,
3465                         SOURCE_LINE_NUMBER,
3466                         SOURCE_DOC_ID,
3467                         SOURCE_LINE_ID,
3468                         ALLOCATION_STATUS,
3469                         PRICE_DISABLED_FLAG,
3470                         QUANTITY_DISABLED_FLAG,
3471                         JOB_ID,
3472                         ADDITIONAL_JOB_DETAILS,
3473                         PO_AGREED_AMOUNT,
3474                         HAS_PRICE_DIFFERENTIALS_FLAG,
3475                         DIFFERENTIAL_RESPONSE_TYPE,
3476                         PURCHASE_BASIS,
3477                         IS_QUANTITY_SCORED,
3478                         IS_NEED_BY_DATE_SCORED,
3479                         DISP_LINE_NUMBER,
3480                         LAST_UPDATE_LOGIN,
3481                         LAST_AMENDMENT_UPDATE,
3482                         MODIFIED_DATE,
3483                         PRICE_DIFF_SHIPMENT_NUMBER,
3484                         GROUP_TYPE,
3485                         PARENT_LINE_NUMBER,
3486                         DOCUMENT_DISP_LINE_NUMBER,
3487                         MAX_SUB_LINE_SEQUENCE_NUMBER,
3488                         SUB_LINE_SEQUENCE_NUMBER,
3489                         HAS_BUYER_PFS_FLAG,
3490                         UNIT_TARGET_PRICE,
3491                         UNIT_DISPLAY_TARGET_FLAG,
3492                                                 HAS_PAYMENTS_FLAG,
3493                                ADVANCE_AMOUNT,
3494                             RECOUPMENT_RATE_PERCENT,
3495                             PROGRESS_PYMT_RATE_PERCENT,
3496                             RETAINAGE_RATE_PERCENT,
3497                                                 MAX_RETAINAGE_AMOUNT,
3498                                                 WORK_APPROVER_USER_ID,
3499                                                 PROJECT_ID,
3500                                                 PROJECT_TASK_ID,
3501                                                 PROJECT_AWARD_ID,
3502                                                 PROJECT_EXPENDITURE_TYPE,
3503                                                 PROJECT_EXP_ORGANIZATION_ID,
3504                                                 PROJECT_EXPENDITURE_ITEM_DATE,
3505                         HAS_QUANTITY_TIERS)
3506                         VALUES (
3507                                 p_auction_header_id,
3508                                 NULL,                               --  AWARD_STATUS, defaulted to NULL
3509                                 l_line_number(x),
3510                                 l_item_description(x),
3511                                 l_category_id(x),
3512                                 l_category_name(x),
3513                                 l_ip_category_id(x),
3514                                 --
3515                                 -- UOM_CODE is carried as we only create RFI lines with Price and
3516                                 -- Qunatity for cross-copy
3517                                 --
3518                                 l_uom_code(x),
3519                                 l_quantity(x),
3520                                 l_need_by_date(x),                  -- NEED_BY_DATE is carried over
3521                                 l_ship_to_location_id(x),
3522                                 NULL,                               --  NUMBER_OF_BIDS, defaulted to NULL
3523                                 NULL,                               --  LOWEST_BID_PRICE, defaulted to NULL
3524                                 NULL,                               --  LOWEST_BID_QUANTITY, defaulted to NULL
3525                                 NULL,                               --  LOWEST_BID_PROMISED_DATE, defaulted to NULL
3526                                 NULL,                               --  LOWEST_BID_NUMBER, defaulted to NULL
3527                                 NULL,                               --  CLOSEST_PROMISED_DATE, defaulted to NULL
3528                                 NULL,                               --  CLOSEST_BID_PRICE, defaulted to NULL
3529                                 NULL,                               --  CLOSEST_BID_QUANTITY, defaulted to NULL
3530                                 NULL,                               --  CLOSEST_BID_NUMBER, defaulted to NULL
3531                                 l_target_price(x),
3532                                 l_threshold_price(x),
3533                                 l_bid_start_price(x),
3534                                 l_note_to_bidders(x),
3535                                 l_attachment_flag(x),
3536                                 l_language_code(x),
3537                                 SYSDATE,                            --  CREATION_DATE
3538                                 p_user_id ,                         --  CREATED_BY
3539                                 SYSDATE,                            --  LAST_UPDATE_DATE
3540                                 p_user_id,                          --  LAST_UPDATED_BY
3541                                 NULL,                               --  AUCTION_CREATION_DATE
3542 
3543                                 l_close_bidding_date(x),               --  CLOSE_BIDDING_DATE, defaulted to NULL
3544                                 NULL,                               --  NUMBER_OF_EXTENSIONS, defaulted to NULL
3545                                 l_reserve_price(x),                 --  RESERVE_PRICE
3546                                 l_display_target_price_flag(x),
3547                                 l_current_price(x),
3548                                 NULL,                               --  BEST_BID_PRICE, defaulted to NULL
3549                                 NULL,                               --  BEST_BID_QUANTITY , defaulted to NULL
3550                                 NULL,                               --  BEST_BID_PROMISED_DATE , defaulted to NULL
3551                                 NULL,                               --  BEST_BID_NUMBER  , defaulted to NULL
3552                                 l_type(x),                          --  TYPE, seems NULL always
3553                                 l_lot_line_number(x),
3554                                 l_min_bid_increment(x),             --  MIN_BID_INCREMENT keeping it
3555                                 l_min_bid_decrement(x),             --  MIN_BID_DECREMENT keeping it
3556                                 NULL,                               --  BEST_BID_PROXY_LIMIT_PRICE, defaulted to NULL
3557                                 NULL,                               --  BEST_BID_CURRENCY_PRICE, defaulted to NULL
3558                                 NULL,                               --  BEST_BID_CURRENCY_CODE, defaulted to NULL
3559                                 l_po_min_rel_amount(x),             --  PO_MIN_REL_AMOUNT, only reset for copy to RFI
3560                                 NULL,                               --  BEST_BID_FIRST_BID_PRICE, defaulted to NULL
3561                                 l_unit_of_measure(x),
3562                                 l_has_attributes_flag(x),
3563                                 l_transportation_origin(x),
3564                                 l_transportation_dest(x),
3565                                 NULL,                               -- AUCTION_HEADER_ID_ORIG_ROUND, No need to take care, they're not used ?
3566                                 NULL,                               -- AUCTION_HEADER_ID_PREV_ROUND, No need to take care, they're not used ?
3567                                 NULL,                               -- LINE_NUMBER_ORIGINAL_ROUND, No need to take care, they're not used ?
3568                                 NULL,                               -- LINE_NUMBER_PREV_ROUND, No need to take care, they're not used ?
3569                                 l_multiple_prices_flag(x),
3570                                 NULL,                               --  RESIDUAL_QUANTITY
3571                                 NULL,                               --  PENDING_QUANTITY, defaulted to NULL
3572                                 NULL,                               --  CANCEL_QUANTITY, defaulted to NULL
3573                                 NULL,                               --  NUMBER_OF_COMMITMENTS, defaulted to NULL
3574                                 NULL,                               --  NUMBER_OF_PENDING_COMMITMENTS, defaulted to NULL
3575                                 l_tbd_pricing_flag(x),
3576                                 l_need_by_start_date(x),            -- NEED_BY_START_DATE
3577                                 NULL,                               --  PRICE
3578                                 l_freight_terms_code(x),
3579                                 NULL,                               -- AWARDED_QUANTITY, defaulted to NULL
3580                                 l_modified_flag(x),                 -- MODIFIED_FLAG
3581                                 NULL,                               -- BEST_BID_BID_PRICE, defaulted to NULL
3582                                 NULL,                               -- BEST_BID_SCORE, defaulted to NULL
3583                                 NULL,                               -- BEST_BID_BID_NUMBER, defaulted to NULL
3584                                 NULL,                               -- BEST_BID_BID_CURRENCY_PRICE, defaulted to NULL
3585                                 NULL,                               -- BEST_BID_BID_CURRENCY_CODE, defaulted to NULL
3586                                 l_org_id(x),
3587                                 l_has_active_supplier_pe_flag(x),
3588                                 l_line_type_id(x),
3589                                 l_order_type_lookup_code(x),        -- ORDER_TYPE_LOOKUP_CODE
3590                                 l_line_origination_code(x),         -- LINE_ORIGINATION_CODE
3591                                 l_requisition_number(x),            -- REQUISITION_NUMBER
3592                                 l_item_revision(x),
3593                                 l_item_id(x),
3594                                 l_item_number(x),
3595                                 l_price_break_type(x),
3596                                 l_price_break_neg_flag(x),
3597                                 l_has_shipments_flag(x),
3598                                 l_source_doc_number(x) ,            -- SOURCE_DOC_NUMBER, defaulted to NULL for active copy
3599                                 l_source_line_number(x) ,           -- SOURCE_LINE_NUMBER, defaulted to NULL for active copy
3600                                 l_souce_doc_id(x) ,                 -- SOURCE_DOC_ID, defaulted to NULL for active copy
3601                                 l_source_line_id(x) ,               -- SOURCE_LINE_ID, defaulted to NULL for active copy
3602                                 NULL,                               -- ALLOCATION_STATUS, defaulted to NULL
3603                                 l_price_disabled_flag(x),
3604                                 l_quantity_disabled_flag(x),
3605                                 l_job_id(x),
3606                                 l_additional_job_details(x),
3607                                 l_po_agreed_amount(x),              -- PO_AGREED_AMOUNT, keeping this except for active copy
3608                                 decode( g_auc_doctype_rule_data.ALLOW_PRICE_DIFFERENTIAL,
3609                                         'Y', l_has_price_differentials_flag(x),
3610                                         'N'),                       -- HAS_PRICE_DIFFERENTIALS_FLAG
3611                                 l_differential_response_type(x),
3612                                 l_purchase_basis(x),
3613                                 l_is_quantity_scored(x),
3614                                 l_is_need_by_date_scored(x),
3615                                 l_disp_line_number(x),
3616                                 p_user_id,
3617                                 l_last_amendment_update(x),
3618                                 l_modified_date(x),
3619                                 l_price_diff_shipment_number(x),
3620                                 l_group_type(x),                    -- Lot based project related columns
3621                                 l_parent_line_number(x),
3622                                 l_document_disp_line_number(x),     -- Is it properly set?
3623                                 decode(l_is_succession, 'Y', l_max_sub_line_sequence_number(x), null),
3624                                 l_sub_line_sequence_number(x),
3625                                 l_has_active_buyer_pe_flag(x),      -- Transformation project related columns
3626                                 l_unit_target_price(x),
3627                                 l_unit_display_target_flag(x),
3628                                 l_has_payments_flag (x),
3629                                 l_advance_amount (x),
3630                                                                 l_recoupment_rate_percent(x),
3631                                                                 l_progress_pymt_rate_percent(x),
3632                                                                 l_retainage_rate_percent(x),
3633                                                                 l_max_retainage_amount(x),
3634                                                                 l_work_approver_user_id(x),
3635                                                                 l_project_id(x),
3636                                                                 l_project_task_id(x),
3637                                                                 l_project_award_id(x),
3638                                                                 l_project_expenditure_type(x),
3639                                                                 l_project_exp_organization_id(x),
3640                                                                 l_project_exp_item_date(x),
3641                                l_has_quantity_tiers_flag(x));
3642 
3643         END IF; --}
3644 
3645         --
3646         -- Add warning message if there are some obsolete attribute group
3647         -- (Exsisting copyReset method logic of AuctionItemPricesAllVOImpl class)
3648         --
3649         IF (l_has_some_obsolete_attr_group = 'Y') THEN
3650                 -- log the message
3651                 LOG_MESSAGE('copy_negotiation','Some of the source attribute group type is/are obsolete.' );
3652 
3653                 --
3654                 -- The way I am adding this warning may get changed in the future.
3655                 -- So, please be aware of that. No need to add the doctype variant of the message
3656                 -- as they are all practically same
3657                 --
3658                 FND_MESSAGE.SET_NAME('PON','PON_AUC_INACTIVE_ATTR_GROUP');
3659                 FND_MSG_PUB.ADD;
3660 
3661                 g_added_inactv_attr_grp_msg := 'Y';
3662 
3663                 -- Set the warning flag on
3664                 g_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3665 
3666         END IF;
3667 
3668         --
3669         -- This is logic as implemented in setOutcomeAndGlobalFlag method of
3670         -- NegotiationCreationAMImpl.
3671         -- If there are any Rate Based Temp Labor lines in the source negotiation
3672         -- then mark the Global Agreement Flag on as these line type can not
3673         -- exsist without this flag on. We are not setting the Contract Type to
3674         -- BPA as it can be BPA or CPA and user can choose them on the Creation
3675         -- Header page
3676         --
3677         IF (l_has_temp_labor_lines = 'Y') THEN
3678                 UPDATE PON_AUCTION_HEADERS_ALL
3679                         SET GLOBAL_AGREEMENT_FLAG = 'Y'
3680                 WHERE AUCTION_HEADER_ID = p_auction_header_id;
3681         END IF;
3682 END;
3683  --} End of COPY_LINES
3684 
3685 --
3686 -- Procedure to copy the section information for Requirement aka Header Attributes.
3687 -- Note there is no entry in section table for Line Attributes.
3688 --
3689 PROCEDURE COPY_SECTION ( p_source_auction_header_id   IN NUMBER,
3690                            p_auction_header_id          IN NUMBER,
3691                            p_tp_id                      IN NUMBER,
3692                            p_tp_contact_id              IN NUMBER,
3693                            p_tp_name                    IN VARCHAR2,
3694                            p_tpc_name                   IN VARCHAR2,
3695                            p_user_id                    IN NUMBER,
3696                            p_source_doctype_id          IN NUMBER,
3697                            p_doctype_id                 IN NUMBER,
3698                            p_copy_type                  IN VARCHAR2)
3699 IS
3700 BEGIN
3701 --{
3702         --
3703         -- Cross Copy Logic For Section
3704         --
3705                 insert into pon_auction_sections
3706                            ( AUCTION_HEADER_ID,
3707                              LINE_NUMBER,
3708                              ATTRIBUTE_LIST_ID,
3709                              SECTION_ID,
3710                              PREVIOUS_SECTION_ID,
3711                              ATTR_GROUP_SEQ_NUMBER,
3712                              SECTION_NAME,
3713                              CREATION_DATE,
3714                              CREATED_BY,
3715                              LAST_UPDATE_DATE,
3716                              LAST_UPDATED_BY,
3717                              LAST_UPDATE_LOGIN,
3718 			     TWO_PART_SECTION_TYPE)
3719                       select
3720                            p_auction_header_id,
3721                            LINE_NUMBER,
3722                            ATTRIBUTE_LIST_ID,
3723 		           PON_AUCTION_SECTIONS_S.NEXTVAL,
3724 		                   -- Team Scoring
3725 		                   -- Commenting the following line to allow copying of sections
3726 		                   -- even in case of cross copy or draft copy as previous section
3727 		                   -- id is needed while copying team assignments on the new document
3728                            -- decode(p_copy_type, g_new_rnd_copy,SECTION_ID, g_amend_copy, SECTION_ID,null),
3729                            --
3730                            SECTION_ID,
3731                            ATTR_GROUP_SEQ_NUMBER,
3732                            SECTION_NAME,
3733                            SYSDATE,
3734                            p_user_id,
3735                            SYSDATE,
3736                            p_user_id,
3737                            p_user_id,
3738 			   DECODE(p_doctype_id, g_rfq_doctype_id, TWO_PART_SECTION_TYPE,	NULL)
3739                 FROM PON_AUCTION_SECTIONS
3740                 WHERE AUCTION_HEADER_ID = p_source_auction_header_id;
3741         --}
3742 
3743  END;
3744  --} End of COPY_SECTION
3745 
3746 
3747 /*======================
3748 FROM HERE
3749 ======================*/
3750 
3751 
3752 
3753 
3754 --
3755 -- Procedure to copy the header attributes for a given a negotiation.
3756 --
3757 
3758 PROCEDURE COPY_HEADER_ATTRIBUTE (  p_source_auction_header_id IN NUMBER,
3759                             p_auction_header_id        IN NUMBER,
3760                             p_tp_id                    IN NUMBER,
3761                             p_tp_contact_id            IN NUMBER,
3762                             p_tp_name                  IN VARCHAR2,
3763                             p_tpc_name                 IN VARCHAR2,
3764                             p_user_id                  IN NUMBER,
3765                             p_source_doctype_id        IN NUMBER,
3766                             p_doctype_id               IN NUMBER,
3767                             p_copy_type                IN VARCHAR2
3768                           )
3769  IS
3770 
3771                 l_line_number           PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
3772                 l_attribute_name        PON_NEG_COPY_DATATYPES_GRP.VARCHAR4000_TYPE;
3773                 l_description           PON_NEG_COPY_DATATYPES_GRP.VARCHAR300_TYPE;
3774                 l_datatype              PON_NEG_COPY_DATATYPES_GRP.VARCHAR20_TYPE;
3775                 l_mandatory_flag        PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
3776                 l_value                 PON_NEG_COPY_DATATYPES_GRP.VARCHAR4000_TYPE;
3777                 l_display_prompt        PON_NEG_COPY_DATATYPES_GRP.VARCHAR100_TYPE;
3778                 l_help_text             PON_NEG_COPY_DATATYPES_GRP.VARCHAR2000_TYPE;
3779                 l_display_target_flag   PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
3780                 l_attribute_list_id     PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
3781                 l_display_only_flag     PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
3782                 l_sequence_number       PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
3783                 l_copied_from_cat_flag  PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
3784                 l_weight                PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
3785                 l_scoring_type          PON_NEG_COPY_DATATYPES_GRP.VARCHAR50_TYPE;
3786                 l_attr_level            PON_NEG_COPY_DATATYPES_GRP.VARCHAR50_TYPE;
3787                 l_attr_group            PON_NEG_COPY_DATATYPES_GRP.VARCHAR300_TYPE;
3788                 l_attr_max_score        PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
3789                 l_internal_attr_flag    PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
3790                 l_attr_group_seq_number PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
3791                 l_attr_disp_seq_number  PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
3792 
3793                 l_modified_flag         PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
3794                 l_modified_date         PON_NEG_COPY_DATATYPES_GRP.SIMPLE_DATE_TYPE;
3795                 l_last_amendment_update PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
3796                 l_ip_category_id        PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
3797                 l_ip_descriptor_id      PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
3798                 l_is_obsolete_attribute PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
3799                 l_section_name PON_NEG_COPY_DATATYPES_GRP.VARCHAR300_TYPE;
3800         		l_knockout_score PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
3801                 l_scoring_method PON_NEG_COPY_DATATYPES_GRP.VARCHAR50_TYPE;
3802 
3803                 l_has_inactv_hdr_attr_grp  VARCHAR2(1);
3804 
3805                 l_contract_type     PON_AUCTION_HEADERS_ALL.CONTRACT_TYPE%TYPE;
3806 
3807  BEGIN
3808  --{ Start of COPY_HEADER_ATTRIBUTE
3809 
3810           l_has_inactv_hdr_attr_grp := 'N';
3811 
3812          --
3813          -- Need to apply the bulkcopy approach as we have to use some logic based on the
3814          -- obsolete attributes and it will be bit clumsy to handle it in the direct insert
3815          --
3816          SELECT
3817                 LINE_NUMBER,
3818                 ATTRIBUTE_NAME,
3819                 DESCRIPTION,
3820                 DATATYPE    ,
3821                 MANDATORY_FLAG,
3822                 VALUE,
3823                 DISPLAY_PROMPT,
3824                 HELP_TEXT,
3825                 DISPLAY_TARGET_FLAG,
3826                 ATTRIBUTE_LIST_ID,
3827                 DISPLAY_ONLY_FLAG,
3828                 SEQUENCE_NUMBER,
3829                 COPIED_FROM_CAT_FLAG,
3830                 WEIGHT,
3831                 SCORING_TYPE,
3832                 ATTR_LEVEL ,
3833                 ATTR_GROUP,
3834                 ATTR_MAX_SCORE,
3835                 INTERNAL_ATTR_FLAG,
3836                 ATTR_GROUP_SEQ_NUMBER,
3837                 ATTR_DISP_SEQ_NUMBER ,
3838                 MODIFIED_FLAG,
3839                 MODIFIED_DATE,
3840                 LAST_AMENDMENT_UPDATE,
3841                 IP_CATEGORY_ID,
3842                 IP_DESCRIPTOR_ID,
3843                 IS_OBSOLETE_ATTRIBUTE,
3844                 SECTION_NAME,
3845                 KNOCKOUT_SCORE,
3846                 SCORING_METHOD
3847          BULK COLLECT
3848          INTO
3849                 l_line_number,
3850                 l_attribute_name,
3851                 l_description,
3852                 l_datatype,
3853                 l_mandatory_flag,
3854                 l_value,
3855                 l_display_prompt,
3856                 l_help_text,
3857                 l_display_target_flag,
3858                 l_attribute_list_id,
3859                 l_display_only_flag,
3860                 l_sequence_number,
3861                 l_copied_from_cat_flag,
3862                 l_weight,
3863                 l_scoring_type,
3864                 l_attr_level,
3865                 l_attr_group,
3866                 l_attr_max_score,
3867                 l_internal_attr_flag,
3868                 l_attr_group_seq_number,
3869                 l_attr_disp_seq_number,
3870                 l_modified_flag,
3871                 l_modified_date,
3872                 l_last_amendment_update,
3873                 l_ip_category_id,
3874                 l_ip_descriptor_id,
3875                 l_is_obsolete_attribute,
3876                 l_section_name,
3877                 l_knockout_score,
3878                 l_scoring_method
3879          FROM
3880          (SELECT P.LINE_NUMBER,
3881                 P.ATTRIBUTE_NAME,
3882                 P.DESCRIPTION,
3883                 P.DATATYPE    ,
3884                 P.MANDATORY_FLAG,
3885                 P.VALUE,
3886                 P.DISPLAY_PROMPT,
3887                 P.HELP_TEXT,
3888                 P.DISPLAY_TARGET_FLAG,
3889                 P.ATTRIBUTE_LIST_ID,
3890                 P.DISPLAY_ONLY_FLAG,
3891                 P.SEQUENCE_NUMBER,
3892                 P.COPIED_FROM_CAT_FLAG,
3893                 P.WEIGHT,
3894                 P.SCORING_TYPE,
3895                 P.ATTR_LEVEL ,
3896                 P.ATTR_GROUP,
3897                 P.ATTR_MAX_SCORE,
3898                 P.INTERNAL_ATTR_FLAG,
3899                 P.ATTR_GROUP_SEQ_NUMBER,
3900                 P.ATTR_DISP_SEQ_NUMBER ,
3901                 P.MODIFIED_FLAG,
3902                 P.MODIFIED_DATE,
3903                 P.LAST_AMENDMENT_UPDATE,
3904                 P.IP_CATEGORY_ID,
3905                 P.IP_DESCRIPTOR_ID,
3906                 'N' AS IS_OBSOLETE_ATTRIBUTE,
3907                 P.SECTION_NAME,
3908                 P.KNOCKOUT_SCORE,
3909                 P.SCORING_METHOD
3910         FROM PON_AUCTION_ATTRIBUTES P
3911         WHERE P.AUCTION_HEADER_ID = p_source_auction_header_id
3912         AND   P.ATTR_LEVEL = 'HEADER'
3913         AND   g_neg_style_control.hdr_attribute_enabled_flag = 'Y'
3914         --copy the header attributes only once
3915         --so we need the below where condition
3916         --AND   p_from_line_number = 1
3917         GROUP BY P.LINE_NUMBER, P.ATTRIBUTE_NAME, P.DESCRIPTION, P.DATATYPE,
3918                  P.MANDATORY_FLAG, P.VALUE, P.DISPLAY_PROMPT, P.HELP_TEXT, P.DISPLAY_TARGET_FLAG,
3919                  P.ATTRIBUTE_LIST_ID, P.DISPLAY_ONLY_FLAG, P.SEQUENCE_NUMBER,    P.COPIED_FROM_CAT_FLAG,
3920                  P.WEIGHT, P.SCORING_TYPE,    P.ATTR_LEVEL, P.ATTR_GROUP, P.ATTR_MAX_SCORE, P.INTERNAL_ATTR_FLAG,
3921                  P.ATTR_GROUP_SEQ_NUMBER, P.ATTR_DISP_SEQ_NUMBER,    P.MODIFIED_FLAG, P.MODIFIED_DATE,
3922                  P.LAST_AMENDMENT_UPDATE, P.IP_CATEGORY_ID, P.IP_DESCRIPTOR_ID,P.SECTION_NAME,P.KNOCKOUT_SCORE,P.SCORING_METHOD
3923       );
3924 
3925         IF (l_attribute_name.COUNT <> 0) THEN
3926         --{
3927                  FOR x IN 1..l_attribute_name.COUNT
3928                  LOOP
3929                  --{
3930 
3931                       l_modified_flag(x) := NULL;
3932 
3933                       IF ( p_copy_type = g_active_neg_copy OR
3934                             p_copy_type = g_rfi_to_other_copy) THEN
3935                               l_modified_date(x):= SYSDATE;
3936                       END IF;
3937 
3938                       IF (p_copy_type = g_active_neg_copy OR
3939                            p_copy_type = g_rfi_to_other_copy OR
3940                            p_copy_type = g_new_rnd_copy) THEN
3941                               l_last_amendment_update(x) := 0;
3942                       END IF;
3943 
3944                 --}
3945                 END LOOP;
3946 
3947                   FORALL x IN 1..l_attribute_name.COUNT
3948                         INSERT
3949                         INTO PON_AUCTION_ATTRIBUTES
3950                                (AUCTION_HEADER_ID,
3951                                 LINE_NUMBER,
3952                                 ATTRIBUTE_NAME,
3953                                 DESCRIPTION,
3954                                 DATATYPE,
3955                                 MANDATORY_FLAG,
3956                                 VALUE,
3957                                 DISPLAY_PROMPT,
3958                                 HELP_TEXT,
3959                                 DISPLAY_TARGET_FLAG,
3960                                 CREATION_DATE,
3961                                 CREATED_BY,
3962                                 LAST_UPDATE_DATE,
3963                                 LAST_UPDATED_BY,
3964                                 ATTRIBUTE_LIST_ID,
3965                                 DISPLAY_ONLY_FLAG,
3966                                 SEQUENCE_NUMBER,
3967                                 COPIED_FROM_CAT_FLAG,
3968                                 WEIGHT,
3969                                 SCORING_TYPE,
3970                                 ATTR_LEVEL,
3971                                 ATTR_GROUP,
3972                                 ATTR_MAX_SCORE,
3973                                 INTERNAL_ATTR_FLAG,
3974                                 ATTR_GROUP_SEQ_NUMBER,
3975                                 ATTR_DISP_SEQ_NUMBER,
3976                                 MODIFIED_FLAG,
3977                                 MODIFIED_DATE,
3978                                 LAST_AMENDMENT_UPDATE,
3979                                 IP_CATEGORY_ID,
3980                                 IP_DESCRIPTOR_ID,
3981                                 SECTION_NAME,
3982                                 KNOCKOUT_SCORE,
3983                                 SCORING_METHOD)
3984                         VALUES
3985                                (p_auction_header_id,
3986                                 l_line_number(x),
3987                                 l_attribute_name(x),
3988                                 l_description(x),
3989                                 l_datatype(x),
3990                                 l_mandatory_flag(x),
3991                                 l_value(x),
3992                                 l_display_prompt(x),
3993                                 l_help_text(x),
3994                                 l_display_target_flag(x),
3995                                 SYSDATE,                        -- CREATION_DATE
3996                                 p_user_id,                      -- CREATED_BY
3997                                 SYSDATE,                        -- LAST_UPDATE_DATE
3998                                 p_user_id,                      -- LAST_UPDATED_BY
3999                                 l_attribute_list_id(x),
4000                                 l_display_only_flag(x),
4001                                 l_sequence_number(x),
4002                                 l_copied_from_cat_flag(x),
4003                                 l_weight(x),
4004                                 l_scoring_type(x),
4005                                 l_attr_level(x),
4006                                 l_attr_group(x),
4007                                 l_attr_max_score(x),
4008                                 l_internal_attr_flag(x),
4009                                 l_attr_group_seq_number(x),
4010                                 l_attr_disp_seq_number(x),
4011                                 l_modified_flag(x),
4012                                 l_modified_date(x),
4013                                 l_last_amendment_update(x),
4014                                 l_ip_category_id(x),
4015                                 l_ip_descriptor_id(x),
4016                                 l_section_name(x),
4017                                 l_knockout_score(x),
4018                                 l_scoring_method(x));
4019 
4020          --}
4021         END IF;
4022  END;
4023  --} End of COPY_HEADER_ATTRIBUTE
4024 
4025 
4026 --
4027 -- Procedure to copy the line as well as header attributes for a given a negotiation.
4028 -- It will also populate the obsolete attribute groups with the default attribute group
4029 -- value
4030 --
4031 PROCEDURE COPY_LINE_ATTRIBUTE (  p_source_auction_header_id IN NUMBER,
4032                             p_auction_header_id        IN NUMBER,
4033                             p_tp_id                    IN NUMBER,
4034                             p_tp_contact_id            IN NUMBER,
4035                             p_tp_name                  IN VARCHAR2,
4036                             p_tpc_name                 IN VARCHAR2,
4037                             p_user_id                  IN NUMBER,
4038                             p_source_doctype_id        IN NUMBER,
4039                             p_doctype_id               IN NUMBER,
4040                             p_copy_type                IN VARCHAR2,
4041                             p_from_line_number         IN NUMBER,
4042                             p_to_line_number           IN NUMBER
4043                           )
4044  IS
4045 
4046                 l_line_number           PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
4047                 l_attribute_name        PON_NEG_COPY_DATATYPES_GRP.VARCHAR4000_TYPE;
4048                 l_description           PON_NEG_COPY_DATATYPES_GRP.VARCHAR300_TYPE;
4049                 l_datatype              PON_NEG_COPY_DATATYPES_GRP.VARCHAR20_TYPE;
4050                 l_mandatory_flag        PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
4051                 l_value                 PON_NEG_COPY_DATATYPES_GRP.VARCHAR4000_TYPE;
4052                 l_display_prompt        PON_NEG_COPY_DATATYPES_GRP.VARCHAR100_TYPE;
4053                 l_help_text             PON_NEG_COPY_DATATYPES_GRP.VARCHAR2000_TYPE;
4054                 l_display_target_flag   PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
4055                 l_attribute_list_id     PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
4056                 l_display_only_flag     PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
4057                 l_sequence_number       PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
4058                 l_copied_from_cat_flag  PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
4059                 l_weight                PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
4060                 l_scoring_type          PON_NEG_COPY_DATATYPES_GRP.VARCHAR50_TYPE;
4061                 l_attr_level            PON_NEG_COPY_DATATYPES_GRP.VARCHAR50_TYPE;
4062                 l_attr_group            PON_NEG_COPY_DATATYPES_GRP.VARCHAR300_TYPE;
4063                 l_attr_max_score        PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
4064                 l_internal_attr_flag    PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
4065                 l_attr_group_seq_number PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
4066                 l_attr_disp_seq_number  PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
4067 
4068                 l_modified_flag         PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
4069                 l_modified_date         PON_NEG_COPY_DATATYPES_GRP.SIMPLE_DATE_TYPE;
4070                 l_last_amendment_update PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
4071                 l_ip_category_id        PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
4072                 l_ip_descriptor_id      PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
4073                 l_is_obsolete_attribute PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
4074                 l_section_name PON_NEG_COPY_DATATYPES_GRP.VARCHAR300_TYPE;
4075         		l_knockout_score PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
4076                 l_scoring_method PON_NEG_COPY_DATATYPES_GRP.VARCHAR50_TYPE;
4077 
4078                 l_val1                  VARCHAR2(300) := NULL;
4079                 l_val2                  VARCHAR2(300) := NULL;
4080                 l_val3                  VARCHAR2(300) := NULL;
4081                 l_val4                  VARCHAR2(300) := NULL;
4082 
4083                 l_group_val1       VARCHAR2(300) := NULL;
4084 
4085                 l_temp                 VARCHAR2(300);
4086                 l_has_inactv_hdr_attr_grp  VARCHAR2(1);
4087 
4088                 l_contract_type     PON_AUCTION_HEADERS_ALL.CONTRACT_TYPE%TYPE;
4089 
4090  BEGIN
4091  --{ Start of COPY_LINE_ATTRIBUTE
4092 
4093           l_has_inactv_hdr_attr_grp := 'N';
4094 
4095           --
4096           --  Get the default attribute group to substitute the obsolete attribute groups
4097           --  if encountered. l_val1 will have the desired value.
4098           --
4099           PON_PROFILE_UTIL_PKG.RETRIEVE_PARTY_PREF_COVER(
4100                         p_party_id        =>  p_tp_id,
4101                         p_app_short_name  =>  'PON',
4102                         p_pref_name       =>  'LINE_ATTR_DEFAULT_GROUP',
4103                         x_pref_value      =>  l_val1,
4104                         x_pref_meaning    =>  l_val2,
4105                         x_status          =>  l_val3,
4106                         x_exception_msg   =>  l_val4
4107                         );
4108 
4109          -- Now l_val1 has default Attr_group
4110          --
4111          -- Check possible error
4112          --
4113          IF (l_val3 <> FND_API.G_RET_STS_SUCCESS) THEN
4114                         -- Log Error
4115                         LOG_MESSAGE('copy_negotiation','Could not find the default line attribute group. Please check the negotiation configuration.');
4116                         l_val1 := 'GENERAL';
4117          END IF;
4118          LOG_MESSAGE('copy_negotiation','Default Line Attribute Group:'||l_val1);
4119 
4120          BEGIN
4121                  SELECT 'Y'
4122                     INTO l_temp
4123                  FROM   FND_LOOKUPS
4124                  WHERE  LOOKUP_TYPE  = 'PON_LINE_ATTRIBUTE_GROUPS'
4125                  AND  LOOKUP_CODE = l_val1
4126                  AND  (ENABLED_FLAG = 'N'   OR
4127                          SYSDATE NOT BETWEEN
4128                          NVL(START_DATE_ACTIVE,SYSDATE-1) AND
4129                          NVL(END_DATE_ACTIVE,SYSDATE+1));
4130                  --
4131                  -- If the control is here that mens that the admin set default attribute
4132                  -- group is itself not valid at this moment. Set it to some hardcode value
4133                  --
4134                  l_val1 := 'GENERAL';
4135 
4136                  -- Need to make sure that meaning column is there
4137                  -- Sued to populate section_name column.
4138 
4139                  SELECT MEANING
4140                     INTO l_val2
4141                  FROM   FND_LOOKUPS
4142                  WHERE  LOOKUP_TYPE  = 'PON_LINE_ATTRIBUTE_GROUPS'
4143                  AND  LOOKUP_CODE = l_val1;
4144 
4145                  -- Needed as we need to make sure that there is some default line group meaning
4146 
4147                  LOG_MESSAGE('copy_negotiation','Default Line Attribute is inactive itself. Setting default attribute group to:'||l_group_val1);
4148 
4149          EXCEPTION
4150                 WHEN NO_DATA_FOUND THEN
4151                         NULL;
4152          END;
4153 
4154 
4155 
4156          --
4157          -- Need to apply the bulkcopy approach as we have to use some logic based on the
4158          -- obsolete attributes and it will be bit clumsy to handle it in the direct insert
4159          --
4160          SELECT
4161                 LINE_NUMBER,
4162                 ATTRIBUTE_NAME,
4163                 DESCRIPTION,
4164                 DATATYPE    ,
4165                 MANDATORY_FLAG,
4166                 VALUE,
4167                 DISPLAY_PROMPT,
4168                 HELP_TEXT,
4169                 DISPLAY_TARGET_FLAG,
4170                 ATTRIBUTE_LIST_ID,
4171                 DISPLAY_ONLY_FLAG,
4172                 SEQUENCE_NUMBER,
4173                 COPIED_FROM_CAT_FLAG,
4174                 WEIGHT,
4175                 SCORING_TYPE,
4176                 ATTR_LEVEL ,
4177                 ATTR_GROUP,
4178                 ATTR_MAX_SCORE,
4179                 INTERNAL_ATTR_FLAG,
4180                 ATTR_GROUP_SEQ_NUMBER,
4181                 ATTR_DISP_SEQ_NUMBER ,
4182                 MODIFIED_FLAG,
4183                 MODIFIED_DATE,
4184                 LAST_AMENDMENT_UPDATE,
4185                 IP_CATEGORY_ID,
4186                 IP_DESCRIPTOR_ID,
4187                 IS_OBSOLETE_ATTRIBUTE,
4188                 SECTION_NAME,
4189                 KNOCKOUT_SCORE,
4190                 SCORING_METHOD
4191          BULK COLLECT
4192          INTO
4193                 l_line_number,
4194                 l_attribute_name,
4195                 l_description,
4196                 l_datatype,
4197                 l_mandatory_flag,
4198                 l_value,
4199                 l_display_prompt,
4200                 l_help_text,
4201                 l_display_target_flag,
4202                 l_attribute_list_id,
4203                 l_display_only_flag,
4204                 l_sequence_number,
4205                 l_copied_from_cat_flag,
4206                 l_weight,
4207                 l_scoring_type,
4208                 l_attr_level,
4209                 l_attr_group,
4210                 l_attr_max_score,
4211                 l_internal_attr_flag,
4212                 l_attr_group_seq_number,
4213                 l_attr_disp_seq_number,
4214                 l_modified_flag,
4215                 l_modified_date,
4216                 l_last_amendment_update,
4217                 l_ip_category_id,
4218                 l_ip_descriptor_id,
4219                 l_is_obsolete_attribute,
4220                 l_section_name,
4221                 l_knockout_score,
4222                 l_scoring_method
4223          FROM
4224          (
4225         SELECT P.LINE_NUMBER,
4226                 P.ATTRIBUTE_NAME,
4227                 P.DESCRIPTION,
4228                 P.DATATYPE    ,
4229                 P.MANDATORY_FLAG,
4230                 P.VALUE,
4231                 P.DISPLAY_PROMPT,
4232                 P.HELP_TEXT,
4233                 P.DISPLAY_TARGET_FLAG,
4234                 P.ATTRIBUTE_LIST_ID,
4235                 P.DISPLAY_ONLY_FLAG,
4236                 P.SEQUENCE_NUMBER,
4237                 P.COPIED_FROM_CAT_FLAG,
4238                 P.WEIGHT,
4239                 P.SCORING_TYPE,
4240                 P.ATTR_LEVEL ,
4241                 P.ATTR_GROUP,
4242                 P.ATTR_MAX_SCORE,
4243                 P.INTERNAL_ATTR_FLAG,
4244                 P.ATTR_GROUP_SEQ_NUMBER,
4245                 P.ATTR_DISP_SEQ_NUMBER ,
4246                 P.MODIFIED_FLAG,
4247                 P.MODIFIED_DATE,
4248                 P.LAST_AMENDMENT_UPDATE,
4249                 P.IP_CATEGORY_ID,
4250                 P.IP_DESCRIPTOR_ID,
4251                 DECODE(NVL(COUNT(LOOKUP_CODE),0),0,'N','Y') IS_OBSOLETE_ATTRIBUTE,
4252                 P.SECTION_NAME,
4253                 P.KNOCKOUT_SCORE,
4254                 P.SCORING_METHOD
4255          FROM PON_AUCTION_ATTRIBUTES P,
4256                 (SELECT LOOKUP_CODE
4257                  FROM   FND_LOOKUPS
4258                  WHERE  LOOKUP_TYPE  = 'PON_LINE_ATTRIBUTE_GROUPS'
4259                  AND  (ENABLED_FLAG = 'N'
4260                         OR SYSDATE NOT BETWEEN NVL(START_DATE_ACTIVE,SYSDATE - 1 )
4261                                AND NVL(END_DATE_ACTIVE,SYSDATE + 1 ))
4262                 ) A
4263         WHERE P.AUCTION_HEADER_ID = p_source_auction_header_id
4264         AND   P.ATTR_GROUP = A.LOOKUP_CODE(+)
4265         AND   P.ATTR_LEVEL = 'LINE'
4266         AND   g_neg_style_control.line_attribute_enabled_flag = 'Y'
4267         AND   (P.SEQUENCE_NUMBER > -1 OR g_neg_style_control.line_mas_enabled_flag = 'Y')
4268         AND   (P.IP_CATEGORY_ID is null OR (P.IP_CATEGORY_ID is not null and p_doctype_id <> g_rfi_doctype_id))
4269         AND   P.line_number >= p_from_line_number
4270         AND   P.line_number <= p_to_line_number
4271         GROUP BY P.LINE_NUMBER, P.ATTRIBUTE_NAME, P.DESCRIPTION, P.DATATYPE,
4272                  P.MANDATORY_FLAG, P.VALUE, P.DISPLAY_PROMPT, P.HELP_TEXT, P.DISPLAY_TARGET_FLAG,
4273                  P.ATTRIBUTE_LIST_ID, P.DISPLAY_ONLY_FLAG, P.SEQUENCE_NUMBER,    P.COPIED_FROM_CAT_FLAG,
4274                  P.WEIGHT, P.SCORING_TYPE,    P.ATTR_LEVEL, P.ATTR_GROUP, P.ATTR_MAX_SCORE, P.INTERNAL_ATTR_FLAG,
4275                  P.ATTR_GROUP_SEQ_NUMBER, P.ATTR_DISP_SEQ_NUMBER,    P.MODIFIED_FLAG, P.MODIFIED_DATE,
4276                  P.LAST_AMENDMENT_UPDATE, P.IP_CATEGORY_ID, P.IP_DESCRIPTOR_ID,P.SECTION_NAME,P.KNOCKOUT_SCORE,P.SCORING_METHOD);
4277 
4278         IF (l_attribute_name.COUNT <> 0) THEN
4279         --{
4280                  FOR x IN 1..l_attribute_name.COUNT
4281                  LOOP
4282                  --{
4283 
4284                       l_modified_flag(x) := NULL;
4285 
4286                       IF ( p_copy_type = g_active_neg_copy OR
4287                             p_copy_type = g_rfi_to_other_copy) THEN
4288                               l_modified_date(x):= SYSDATE;
4289                       END IF;
4290 
4291                       IF (p_copy_type = g_active_neg_copy OR
4292                            p_copy_type = g_rfi_to_other_copy OR
4293                            p_copy_type = g_new_rnd_copy) THEN
4294                               l_last_amendment_update(x) := 0;
4295                       END IF;
4296 
4297                       --
4298                       -- If the attribute is modified due to style
4299                       -- set the flags
4300                       --
4301                       IF ((p_copy_type = g_new_rnd_copy OR
4302                            p_copy_type = g_rfi_to_other_copy ) AND
4303                            l_attr_level(x) = 'LINE' AND
4304                            l_weight(x) is not null AND
4305                            g_neg_style_control.line_mas_enabled_flag = 'N') THEN
4306 
4307                                 l_modified_date(x) := SYSDATE;
4308                                 l_modified_flag(x) := 'Y';
4309 
4310                       END IF;
4311 
4312                       --
4313                       -- If there are any obsolete attribute group then
4314                       -- substitute it with default attribute group as decided
4315                       -- by the system admin before hand
4316                       --
4317                       IF (l_is_obsolete_attribute(x) = 'Y' AND l_attr_level(x) = 'LINE') THEN
4318                               l_attr_group(x) := l_val1;
4319                               l_section_name(x) := l_val2;
4320                       END IF;
4321 
4322                       --
4323                       -- Cross Copy Logic For Attributes
4324                       --
4325                       -- Do not copy weights for lines when destination document type
4326                       -- is RFI.
4327                       -- The weights for the Lines are dropped as RFI doesn't support
4328                       -- Multi Attribute Scoring feature.
4329                       --
4330                       -- Same if line mas is disabled
4331                       IF ((g_rfi_doctype_id = p_doctype_id
4332                               AND p_doctype_id <> p_source_doctype_id
4333                           OR g_neg_style_control.line_mas_enabled_flag = 'N')
4334                                AND l_attr_level(x) <> 'HEADER' ) THEN
4335                                   l_weight(x) := NULL;
4336                       END IF;
4337 
4338                       IF ( g_neg_style_control.line_mas_enabled_flag = 'N'
4339                               AND l_attr_level(x) <> 'HEADER' ) THEN
4340                                   l_scoring_type(x) := 'NONE';
4341                       END IF;
4342                 --}
4343                 END LOOP;
4344 
4345                   FORALL x IN 1..l_attribute_name.COUNT
4346                         INSERT
4347                         INTO PON_AUCTION_ATTRIBUTES
4348                                (AUCTION_HEADER_ID,
4349                                 LINE_NUMBER,
4350                                 ATTRIBUTE_NAME,
4351                                 DESCRIPTION,
4352                                 DATATYPE,
4353                                 MANDATORY_FLAG,
4354                                 VALUE,
4355                                 DISPLAY_PROMPT,
4356                                 HELP_TEXT,
4357                                 DISPLAY_TARGET_FLAG,
4358                                 CREATION_DATE,
4359                                 CREATED_BY,
4360                                 LAST_UPDATE_DATE,
4361                                 LAST_UPDATED_BY,
4362                                 ATTRIBUTE_LIST_ID,
4363                                 DISPLAY_ONLY_FLAG,
4364                                 SEQUENCE_NUMBER,
4365                                 COPIED_FROM_CAT_FLAG,
4366                                 WEIGHT,
4367                                 SCORING_TYPE,
4368                                 ATTR_LEVEL,
4369                                 ATTR_GROUP,
4370                                 ATTR_MAX_SCORE,
4371                                 INTERNAL_ATTR_FLAG,
4372                                 ATTR_GROUP_SEQ_NUMBER,
4373                                 ATTR_DISP_SEQ_NUMBER,
4374                                 MODIFIED_FLAG,
4375                                 MODIFIED_DATE,
4376                                 LAST_AMENDMENT_UPDATE,
4377                                 IP_CATEGORY_ID,
4378                                 IP_DESCRIPTOR_ID,
4379                                 SECTION_NAME,
4380                                 KNOCKOUT_SCORE,
4381                                 SCORING_METHOD)
4382                         VALUES
4383                                (p_auction_header_id,
4384                                 l_line_number(x),
4385                                 l_attribute_name(x),
4386                                 l_description(x),
4387                                 l_datatype(x),
4388                                 l_mandatory_flag(x),
4389                                 l_value(x),
4390                                 l_display_prompt(x),
4391                                 l_help_text(x),
4392                                 l_display_target_flag(x),
4393                                 SYSDATE,                        -- CREATION_DATE
4394                                 p_user_id,                      -- CREATED_BY
4395                                 SYSDATE,                        -- LAST_UPDATE_DATE
4396                                 p_user_id,                      -- LAST_UPDATED_BY
4397                                 l_attribute_list_id(x),
4398                                 l_display_only_flag(x),
4399                                 l_sequence_number(x),
4400                                 l_copied_from_cat_flag(x),
4401                                 l_weight(x),
4402                                 l_scoring_type(x),
4403                                 l_attr_level(x),
4404                                 l_attr_group(x),
4405                                 l_attr_max_score(x),
4406                                 l_internal_attr_flag(x),
4407                                 l_attr_group_seq_number(x),
4408                                 l_attr_disp_seq_number(x),
4409                                 l_modified_flag(x),
4410                                 l_modified_date(x),
4411                                 l_last_amendment_update(x),
4412                                 l_ip_category_id(x),
4413                                 l_ip_descriptor_id(x),
4414                                 l_section_name(x),
4415                                 l_knockout_score(x),
4416                                 l_scoring_method(x));
4417 
4418 
4419                                 -- Synch up descriptors when copying
4420                                 -- only update descriptor name and remove dropped descriptors
4421                                 SELECT contract_type
4422                                 INTO   l_contract_type
4423                                 FROM   pon_auction_headers_all
4424                                 WHERE  auction_header_id = p_auction_header_id;
4425 
4426                                 IF (l_contract_type in ('BLANKET', 'CONTRACT') and
4427                                     p_copy_type in (g_active_neg_copy, g_draft_neg_copy) and
4428                                     p_doctype_id <> g_rfi_doctype_id) THEN
4429 
4430 
4431                                   DELETE FROM pon_auction_attributes paa
4432                                   WHERE  paa.auction_header_id = p_auction_header_id and
4433                                          paa.attr_level = 'LINE' and
4434                                          paa.ip_category_id is not null and
4435                                          not exists (select null
4436                                                      from   icx_cat_agreement_attrs_v
4437                                                      where  rt_category_id = paa.ip_category_id and
4438                                                             attribute_id = paa.ip_descriptor_id and
4439                                                             language = userenv('LANG'));
4440 
4441 
4442                                   UPDATE pon_auction_attributes paa
4443                                   SET    attribute_name = (select attribute_name
4444                                                            from   icx_cat_agreement_attrs_v
4445                                                            where  rt_category_id = paa.ip_category_id and
4446                                                                   attribute_id = paa.ip_descriptor_id and
4447                                                                   language = userenv('LANG'))
4448                                   WHERE  paa.auction_header_id = p_auction_header_id and
4449                                          paa.attr_level = 'LINE' and
4450                                          paa.ip_category_id is not null;
4451 
4452 
4453                                 END IF;
4454 
4455          --}
4456         END IF;
4457  END;
4458  --} End of COPY_LINE_ATTRIBUTE
4459 
4460 
4461 
4462 --
4463 -- R12 onwards Requiremnts ( Header Attr) can also have scores.
4464 -- So this procedure
4465 --
4466 PROCEDURE COPY_HEADER_ATTRIBUTE_SCORE (p_source_auction_header_id IN NUMBER,
4467                                 p_auction_header_id        IN NUMBER,
4468                                 p_tp_id                    IN NUMBER,
4469                                 p_tp_contact_id            IN NUMBER,
4470                                 p_tp_name                  IN VARCHAR2,
4471                                 p_tpc_name                 IN VARCHAR2,
4472                                 p_user_id                  IN NUMBER,
4473                                 p_source_doctype_id        IN NUMBER,
4474                                 p_doctype_id               IN NUMBER,
4475                                 p_copy_type                IN VARCHAR2
4476                                 )
4477  IS
4478 
4479  BEGIN
4480 --{
4481                 INSERT
4482                 INTO PON_ATTRIBUTE_SCORES
4483                 (       AUCTION_HEADER_ID,
4484                         LINE_NUMBER,
4485                         ATTRIBUTE_SEQUENCE_NUMBER,
4486                         VALUE,
4487                         FROM_RANGE,
4488                         TO_RANGE,
4489                         SCORE,
4490                         ATTRIBUTE_LIST_ID,
4491                         SEQUENCE_NUMBER,
4492                         CREATION_DATE,
4493                         CREATED_BY,
4494                         LAST_UPDATE_DATE,
4495                         LAST_UPDATED_BY
4496                 )
4497                 (SELECT
4498                         p_auction_header_id,
4499                         pas.LINE_NUMBER,
4500                         pas.ATTRIBUTE_SEQUENCE_NUMBER,
4501                         pas.VALUE,
4502                         pas.FROM_RANGE,
4503                         pas.TO_RANGE,
4504                         pas.SCORE,
4505                         pas.ATTRIBUTE_LIST_ID,
4506                         pas.SEQUENCE_NUMBER,
4507                         SYSDATE,     -- CREATION_DATE
4508                         p_user_id,   -- CREATED_BY
4509                         SYSDATE,     -- LAST_UPDATE_DATE
4510                         p_user_id    -- LAST_UPDATED_BY
4511                 FROM PON_ATTRIBUTE_SCORES pas,
4512                      PON_AUCTION_ATTRIBUTES paa
4513                  WHERE pas.AUCTION_HEADER_ID = p_source_auction_header_id
4514                   AND  pas.auction_header_id = paa.auction_header_id
4515                   AND  pas.line_number = paa.line_number
4516                   AND  paa.attr_level = 'HEADER'
4517                   AND  pas.attribute_sequence_number = paa.sequence_number
4518                   AND  g_neg_style_control.hdr_attribute_enabled_flag = 'Y'
4519                  ) ;
4520 
4521  END;
4522  --} End of COPY_HEADER_ATTRIBUTE_SCORE
4523 
4524 
4525 --
4526 -- Procedure to Copy the Attribute Score information. It only copies the
4527 -- Attribute Scores if the destination document type can have Attribute Scores
4528 -- as governed by appropriate bizrule.
4529 --
4530 PROCEDURE COPY_LINE_ATTRIBUTE_SCORE (p_source_auction_header_id IN NUMBER,
4531                                 p_auction_header_id        IN NUMBER,
4532                                 p_tp_id                    IN NUMBER,
4533                                 p_tp_contact_id            IN NUMBER,
4534                                 p_tp_name                  IN VARCHAR2,
4535                                 p_tpc_name                 IN VARCHAR2,
4536                                 p_user_id                  IN NUMBER,
4537                                 p_source_doctype_id        IN NUMBER,
4538                                 p_doctype_id               IN NUMBER,
4539                                 p_copy_type                IN VARCHAR2,
4540                                 p_from_line_number         IN NUMBER,
4541                                 p_to_line_number           IN NUMBER
4542 --the rows in the range p_from_line_number(included) to p_to_line_number(excluded) will be copied
4543                                 )
4544  IS
4545 
4546  BEGIN
4547 --{
4548         --
4549         -- Cross Copy Logic For Attribute Scores
4550         --
4551         -- Do not copy attributes scores if it is Copy To RFI.
4552         -- We are not hardcoding the rule here by checking if the
4553         -- p_doctype_id <> g_rfi_doctype_id then only carry the score.
4554         -- Rather we are checking if BID_RANKING bizrule for the destination
4555         -- document type permits theAttribute Scores or not and then copying
4556         -- the Attribute Score values if permitted to do so.
4557         --
4558 
4559         IF (g_auc_doctype_rule_data.BID_RANKING = 'MULTI_ATTRIBUTE_SCORING' ) THEN
4560         --{
4561                 INSERT
4562                 INTO PON_ATTRIBUTE_SCORES
4563                 (       AUCTION_HEADER_ID,
4564                         LINE_NUMBER,
4565                         ATTRIBUTE_SEQUENCE_NUMBER,
4566                         VALUE,
4567                         FROM_RANGE,
4568                         TO_RANGE,
4569                         SCORE,
4570                         ATTRIBUTE_LIST_ID,
4571                         SEQUENCE_NUMBER,
4572                         CREATION_DATE,
4573                         CREATED_BY,
4574                         LAST_UPDATE_DATE,
4575                         LAST_UPDATED_BY
4576                 )
4577                 (SELECT
4578                         p_auction_header_id,
4579                         pas.LINE_NUMBER,
4580                         pas.ATTRIBUTE_SEQUENCE_NUMBER,
4581                         pas.VALUE,
4582                         pas.FROM_RANGE,
4583                         pas.TO_RANGE,
4584                         pas.SCORE,
4585                         pas.ATTRIBUTE_LIST_ID,
4586                         pas.SEQUENCE_NUMBER,
4587                         SYSDATE,     -- CREATION_DATE
4588                         p_user_id,   -- CREATED_BY
4589                         SYSDATE,     -- LAST_UPDATE_DATE
4590                         p_user_id    -- LAST_UPDATED_BY
4591                 FROM PON_ATTRIBUTE_SCORES pas,
4592                      PON_AUCTION_ATTRIBUTES paa
4593                  WHERE pas.AUCTION_HEADER_ID = p_source_auction_header_id
4594                   AND  pas.auction_header_id = paa.auction_header_id
4595                   AND  pas.line_number = paa.line_number
4596                   AND  paa.attr_level = 'LINE'
4597                   AND  pas.attribute_sequence_number = paa.sequence_number
4598                   AND  g_neg_style_control.line_mas_enabled_flag = 'Y'
4599                   AND  pas.line_number >= p_from_line_number
4600                   AND  pas.line_number <= p_to_line_number
4601                  ) ;
4602 
4603         --}
4604         END IF;
4605 
4606 END;
4607  --} End of COPY_LINE_ATTRIBUTE_SCORE
4608 
4609 
4610 /*======================
4611 TILL HERE
4612 ======================*/
4613 
4614 
4615 --
4616 -- Procedure to copy the Price Differential information if allowed to do so
4617 -- by the bizrule for the destination document type
4618 --
4619 PROCEDURE COPY_PRICE_DIFF (p_source_auction_header_id IN NUMBER,
4620                            p_auction_header_id        IN NUMBER,
4621                            p_tp_id                    IN NUMBER,
4622                            p_tp_contact_id            IN NUMBER,
4623                            p_tp_name                  IN VARCHAR2,
4624                            p_tpc_name                 IN VARCHAR2,
4625                            p_user_id                  IN NUMBER,
4626                            p_doctype_id               IN NUMBER,
4627                            p_copy_type                IN VARCHAR2,
4628                            p_from_line_number         IN NUMBER,
4629                            p_to_line_number           IN NUMBER
4630                            )
4631  IS
4632 
4633  BEGIN
4634  -- { Start of COPY_PRICE_DIFF
4635 
4636         -- Check the bizrule verdict
4637         IF (g_auc_doctype_rule_data.ALLOW_PRICE_DIFFERENTIAL = 'Y') THEN
4638         -- {
4639 
4640                 LOG_MESSAGE('copy_price_diff','inserting rows into PON_PRICE_DIFFERENTIALS');
4641 
4642                 INSERT
4643                 INTO PON_PRICE_DIFFERENTIALS
4644                 (       AUCTION_HEADER_ID,
4645                         LINE_NUMBER,
4646                         SHIPMENT_NUMBER,
4647                         PRICE_DIFFERENTIAL_NUMBER,
4648                         PRICE_TYPE,
4649                         MULTIPLIER,
4650                         CREATION_DATE,
4651                         CREATED_BY,
4652                         LAST_UPDATE_DATE,
4653                         LAST_UPDATED_BY,
4654                         LAST_UPDATE_LOGIN
4655                 )
4656                 (SELECT
4657                         p_auction_header_id,
4658                         LINE_NUMBER,
4659                         SHIPMENT_NUMBER,
4660                         PRICE_DIFFERENTIAL_NUMBER,
4661                         PRICE_TYPE,
4662                         MULTIPLIER,
4663                         SYSDATE,           -- CREATION_DATE
4664                         p_user_id,         -- CREATED_BY
4665                         SYSDATE,           -- LAST_UPDATE_DATE
4666                         p_user_id,         -- LAST_UPDATED_BY
4667                         p_user_id          -- LAST_UPDATE_LOGIN
4668                  FROM PON_PRICE_DIFFERENTIALS
4669                  WHERE AUCTION_HEADER_ID = p_source_auction_header_id
4670                  AND LINE_NUMBER >= p_from_line_number
4671                  AND LINE_NUMBER <= p_to_line_number) ;
4672         -- }
4673         END IF;
4674 
4675  END;
4676  --} End of COPY_PRICE_DIFF
4677 
4678 
4679 --
4680 -- Procedure to copy the payments information
4681 -- The payments are not copied if the destination doctype can't have one
4682 -- Payments are supported only for RFQs
4683 --
4684 PROCEDURE COPY_PAYMENTS  (p_source_auction_header_id IN NUMBER,
4685                           p_auction_header_id        IN NUMBER,
4686                           p_user_id                  IN NUMBER,
4687                           p_doctype_id               IN NUMBER,
4688                           p_source_doctype_id        IN NUMBER,
4689                           p_retain_attachments       IN VARCHAR2,
4690                           p_from_line_number                IN NUMBER,
4691                           p_to_line_number                  IN NUMBER
4692                          )
4693  IS
4694  l_destination_payment_id NUMBER;
4695 
4696   CURSOR c_attachment_pymt_lines IS
4697     SELECT DISTINCT
4698       psps.auction_header_id source_auc_id,
4699       psps.line_number source_line_number,
4700       psps.payment_id source_payment_id,
4701       paps.auction_header_id dest_auc_id,
4702       paps.line_number dest_line_number,
4703       paps.payment_id dest_payment_id
4704     FROM
4705       PON_AUC_PAYMENTS_SHIPMENTS paps,
4706       FND_ATTACHED_DOCUMENTS fnd,
4707       PON_AUC_PAYMENTS_SHIPMENTS psps
4708     WHERE psps.auction_header_id = p_source_auction_header_id
4709           AND paps.auction_header_id = p_auction_header_id
4710           AND paps.line_number = psps.line_number
4711           AND paps.payment_display_number = psps.payment_display_number
4712           AND fnd.pk1_value = to_char(psps.auction_header_id)
4713           AND fnd.pk2_value = to_char(psps.line_number)
4714           AND fnd.pk3_value = to_char(psps.payment_id)
4715           AND fnd.entity_name = 'PON_AUC_PAYMENTS_SHIPMENTS'
4716           AND psps.line_number >= p_from_line_number
4717           AND psps.line_number <= p_to_line_number;
4718 
4719  BEGIN
4720  -- { Start of COPY_PAYMENTS
4721         LOG_MESSAGE('copy negotiation','in COPY_PAYMENTS for '||p_source_auction_header_id);
4722         --
4723         -- Should copy only when Payments are allowed for the
4724         -- destination doctype id (p_doctype_id). Payments are not allowed
4725         -- for RFIs and Auction.
4726                 -- If source and destination doctypes are not same don't copy payments
4727         --
4728         IF (p_doctype_id IN (g_auction_doctype_id, g_rfi_doctype_id)
4729                     OR (p_doctype_id<>p_source_doctype_id)) THEN
4730         -- {
4731             --Payments are not allowed for RFI and Auctions
4732             return;
4733                 ELSE
4734                 LOG_MESSAGE('copy negotiation','When source document is an RFQ - Before executing payments cursor');
4735                 --if there are any payments in the source doc copy them
4736                 --Insert payments
4737                 g_err_loc := '1. Before inserting into pon_auc_payments_shipments';
4738                 LOG_MESSAGE('copy_negotiation','Before Insert into pon_auc_payments_shipments');
4739 
4740                 INSERT INTO
4741                 PON_AUC_PAYMENTS_SHIPMENTS
4742                 (       AUCTION_HEADER_ID,
4743                                         PAYMENT_ID,
4744                         LINE_NUMBER,
4745                         PAYMENT_DISPLAY_NUMBER,
4746                         PAYMENT_TYPE_CODE,
4747                         PAYMENT_DESCRIPTION,
4748                         SHIP_TO_LOCATION_ID,
4749                         QUANTITY,
4750                         UOM_CODE,
4751                         TARGET_PRICE,
4752                         NEED_BY_DATE,
4753                         WORK_APPROVER_USER_ID,
4754                         NOTE_TO_BIDDERS,
4755                                                 PROJECT_ID,
4756                                                 PROJECT_TASK_ID,
4757                                                 PROJECT_AWARD_ID,
4758                                                 PROJECT_EXPENDITURE_TYPE,
4759                                                 PROJECT_EXP_ORGANIZATION_ID,
4760                                                 PROJECT_EXPENDITURE_ITEM_DATE,
4761                         CREATION_DATE,
4762                         CREATED_BY,
4763                         LAST_UPDATE_DATE,
4764                         LAST_UPDATED_BY,
4765                         LAST_UPDATE_LOGIN
4766                       )
4767                 (SELECT
4768                         p_auction_header_id,
4769                         PON_AUC_PAYMENTS_SHIPMENTS_S1.NEXTVAL,
4770                         LINE_NUMBER,
4771                         PAYMENT_DISPLAY_NUMBER,
4772                         PAYMENT_TYPE_CODE,
4773                         PAYMENT_DESCRIPTION,
4774                         SHIP_TO_LOCATION_ID,
4775                         QUANTITY,
4776                         UOM_CODE,
4777                         TARGET_PRICE,
4778                         NEED_BY_DATE,
4779                         WORK_APPROVER_USER_ID,
4780                         NOTE_TO_BIDDERS,
4781                         PROJECT_ID,
4782                         PROJECT_TASK_ID,
4783                         PROJECT_AWARD_ID,
4784                         PROJECT_EXPENDITURE_TYPE,
4785                         PROJECT_EXP_ORGANIZATION_ID,
4786                         PROJECT_EXPENDITURE_ITEM_DATE,
4787                         SYSDATE,
4788                         p_user_id,
4789                         SYSDATE,
4790                         p_user_id,
4791                         fnd_global.login_id
4792                   FROM  pon_auc_payments_shipments
4793                  WHERE  auction_header_id = p_source_auction_header_id
4794                  AND line_number >= p_from_line_number
4795                  AND line_number <= p_to_line_number
4796 
4797                               );
4798                 g_err_loc := '2. After inserting into pon_auc_payments_shipments';
4799                 LOG_MESSAGE('copy_negotiation','After Insert into pon_auc_payments_shipments');
4800                 --
4801                 -- Copy Attachments for Payments if user wants to retain the attachments of the
4802                 -- source document
4803                       --
4804                 IF ( p_retain_attachments = 'Y' ) THEN
4805                     FOR payment_line_rec in c_attachment_pymt_lines LOOP
4806                         g_err_loc := '3. before calling copy payments attachments';
4807                         LOG_MESSAGE('copy_negotiation','Before copying attachments for payments. Source id =' ||payment_line_rec.source_payment_id);
4808                         LOG_MESSAGE('copy_negotiation','Before copying attachments for payments. Destination id =' ||payment_line_rec.dest_payment_id);
4809 
4810                         FND_ATTACHED_DOCUMENTS2_PKG.COPY_ATTACHMENTS (
4811                           X_from_entity_name  =>  'PON_AUC_PAYMENTS_SHIPMENTS',
4812                           X_from_pk1_value    =>  to_char(payment_line_rec.source_auc_id),
4813                           X_from_pk2_value    =>  to_char(payment_line_rec.source_line_number),
4814                           X_from_pk3_value    =>  to_char(payment_line_rec.source_payment_id),
4815                           X_to_entity_name    =>  'PON_AUC_PAYMENTS_SHIPMENTS',
4816                           X_to_pk1_value      =>  to_char(payment_line_rec.dest_auc_id),
4817                           X_to_pk2_value      =>  to_char(payment_line_rec.dest_line_number),
4818                           X_to_pk3_value      =>  to_char(payment_line_rec.dest_payment_id),
4819                           X_created_by        =>  p_user_id,
4820                           X_last_update_login =>  fnd_global.login_id
4821                         );
4822                         g_err_loc := '4. After calling copy payments attachments';
4823                         LOG_MESSAGE('copy_negotiation','After copying attachments for payments. Source id='||payment_line_rec.source_payment_id);
4824                         LOG_MESSAGE('copy_negotiation','After copying attachments for payments. Destination id='||payment_line_rec.dest_payment_id);
4825                    END LOOP;
4826                 END IF; --End of retain attachments
4827         --}
4828         END IF; --End of if p_doctype_id IN (g_auction_doctype_id, g_rfi_doctype_id)
4829  END;
4830  --} End of COPY_PAYMENTS
4831 
4832 
4833 --
4834 -- Procedure to copy the Shipment (Price Break) information, if bizrule at all allows to retain
4835 -- the Price Breaks information for the destination document type. The Price Breaks
4836 -- are not copied if the destination doctype can't have one
4837 --
4838 PROCEDURE COPY_SHIPMENTS (p_source_auction_header_id IN NUMBER,
4839                           p_auction_header_id        IN NUMBER,
4840                           p_tp_id                    IN NUMBER,
4841                           p_tp_contact_id            IN NUMBER,
4842                           p_tp_name                  IN VARCHAR2,
4843                           p_tpc_name                 IN VARCHAR2,
4844                           p_user_id                  IN NUMBER,
4845                           p_doctype_id               IN NUMBER,
4846                           p_source_doctype_id        IN NUMBER,
4847                           p_copy_type                IN VARCHAR2,
4848                           p_from_line_number                IN NUMBER,
4849                           p_to_line_number                  IN NUMBER
4850                          )
4851  IS
4852 
4853         l_keep_effective_start_date  VARCHAR2(1) ;
4854         l_keep_effective_end_date    VARCHAR2(1) ;
4855         l_src_price_tiers_indicator  VARCHAR2(30);
4856 
4857  BEGIN
4858  -- { Start of COPY_SHIPMENTS
4859 
4860         LOG_MESSAGE('copy_shipments','Entered the procedure');
4861 
4862         l_keep_effective_start_date  := 'Y';
4863         l_keep_effective_end_date    := 'Y';
4864 
4865         SELECT price_tiers_indicator
4866         INTO l_src_price_tiers_indicator
4867         FROM pon_auction_headers_all
4868         WHERE auction_header_id = p_source_auction_header_id;
4869 
4870         --
4871         -- Should copy only when Price Breaks are allowed for the
4872         -- destination doctype id (p_doctype_id)
4873         --
4874         IF (g_auc_doctype_rule_data.PRICE_BREAK = 'Y'
4875             AND
4876             l_src_price_tiers_indicator = 'PRICE_BREAKS' ) THEN
4877         -- {
4878                 --
4879                 -- Donot keep the effective start and end date for
4880                 -- Copy Active Negotiation or COPY TO AUCTION/RFQ  options
4881                 --
4882                 IF (p_copy_type = g_active_neg_copy OR
4883                       p_copy_type = g_rfi_to_other_copy) THEN
4884                               l_keep_effective_start_date := 'N';
4885                               l_keep_effective_end_date := 'N';
4886                 END IF;
4887 
4888                 LOG_MESSAGE('copy_shipments','Copying price breaks from auction '|| p_source_auction_header_id || ' to ' || p_auction_header_id);
4889 
4890                 --
4891                 -- Inseting records
4892                 --
4893                 INSERT INTO
4894                 PON_AUCTION_SHIPMENTS_ALL
4895                 (       AUCTION_HEADER_ID,
4896                         LINE_NUMBER,
4897                         SHIPMENT_NUMBER,
4898                         SHIPMENT_TYPE,
4899                         SHIP_TO_ORGANIZATION_ID,
4900                         SHIP_TO_LOCATION_ID,
4901                         QUANTITY,
4902                         PRICE,
4903                         EFFECTIVE_START_DATE,
4904                         EFFECTIVE_END_DATE,
4905                         ORG_ID,
4906                         CREATION_DATE,
4907                         CREATED_BY,
4908                         LAST_UPDATE_DATE,
4909                         LAST_UPDATED_BY,
4910                         LAST_UPDATE_LOGIN,
4911                         HAS_PRICE_DIFFERENTIALS_FLAG,
4912                         DIFFERENTIAL_RESPONSE_TYPE
4913                 )
4914                 (SELECT
4915                         p_auction_header_id,
4916                         LINE_NUMBER,
4917                         SHIPMENT_NUMBER,
4918                         SHIPMENT_TYPE,
4919                         SHIP_TO_ORGANIZATION_ID,
4920                         SHIP_TO_LOCATION_ID,
4921                         QUANTITY,
4922                         PRICE,
4923                         decode (l_keep_effective_start_date,
4924                                 'Y', EFFECTIVE_START_DATE,
4925                                 NULL),   -- EFFECTIVE_START_DATE
4926                         decode (l_keep_effective_end_date,
4927                                 'Y', EFFECTIVE_END_DATE,
4928                                 NULL),   -- EFFECTIVE_END_DATE
4929                         ORG_ID,       -- Do we need to set thi OrgId to the current one
4930                         SYSDATE,      -- CREATION_DATE
4931                         p_user_id,    -- CREATED_BY
4932                         SYSDATE,      -- LAST_UPDATE_DATE
4933                         p_user_id,    -- LAST_UPDATED_BY
4934                         p_user_id,    -- LAST_UPDATE_LOGIN
4935                         decode ( g_auc_doctype_rule_data.ALLOW_PRICE_DIFFERENTIAL,
4936                                  'Y', HAS_PRICE_DIFFERENTIALS_FLAG,
4937                                  'N'), -- HAS_PRICE_DIFFERENTIALS_FLAG
4938                         decode ( g_auc_doctype_rule_data.ALLOW_PRICE_DIFFERENTIAL,
4939                                  'Y', DIFFERENTIAL_RESPONSE_TYPE ,
4940                                  NULL)  -- DIFFERENTIAL_RESPONSE_TYPE
4941                 FROM PON_AUCTION_SHIPMENTS_ALL
4942                 WHERE AUCTION_HEADER_ID = p_source_auction_header_id
4943                  AND SHIPMENT_TYPE = 'PRICE BREAK'
4944                 AND line_number >= p_from_line_number
4945                 AND line_number <= p_to_line_number) ;
4946         --}
4947         ELSIF (l_src_price_tiers_indicator = 'QUANTITY_BASED'
4948                 AND g_auc_doctype_rule_data.QTY_PRICE_TIERS_ENABLED_FLAG = 'Y'
4949                 AND g_neg_style_control.qty_price_tiers_enabled_flag = 'Y'
4950                 ) THEN
4951         --{
4952                 LOG_MESSAGE('copy_shipments','Copying price tiers from auction '|| p_source_auction_header_id || ' to ' || p_auction_header_id);
4953                 --
4954                 -- Inseting records
4955                 --
4956                 INSERT INTO
4957                 PON_AUCTION_SHIPMENTS_ALL
4958                 (       AUCTION_HEADER_ID,
4959                         LINE_NUMBER,
4960                         SHIPMENT_NUMBER,
4961                         SHIPMENT_TYPE,
4962                         SHIP_TO_ORGANIZATION_ID,
4963                         SHIP_TO_LOCATION_ID,
4964                         QUANTITY, -- This is the MIN Quantity field for quantity based Price tiers
4965                         PRICE,
4966 	                ORG_ID,
4967 	                CREATION_DATE,
4968 	                CREATED_BY,
4969 	                LAST_UPDATE_DATE,
4970 	                LAST_UPDATED_BY,
4971 	                LAST_UPDATE_LOGIN,
4972 	                MAX_QUANTITY,
4973                     HAS_PRICE_DIFFERENTIALS_FLAG-- This is for quantity price Tiers only
4974                 )
4975                 (SELECT
4976                         p_auction_header_id,
4977                         LINE_NUMBER,
4978                         SHIPMENT_NUMBER,
4979                         SHIPMENT_TYPE,
4980                         SHIP_TO_ORGANIZATION_ID,
4981                         SHIP_TO_LOCATION_ID,
4982                         QUANTITY,
4983                         PRICE,
4984                         ORG_ID,       -- Do we need to set the orgId to the current one
4985                         SYSDATE,      -- CREATION_DATE
4986                         p_user_id,    -- CREATED_BY
4987                         SYSDATE,      -- LAST_UPDATE_DATE
4988                         p_user_id,    -- LAST_UPDATED_BY
4989                         p_user_id,    -- LAST_UPDATE_LOGIN
4990                         MAX_QUANTITY, -- Max Quantity for qty based price tiers
4991                         'N'            -- HAS_PRICE_DIFFERENTIALS_FLAG
4992                  FROM PON_AUCTION_SHIPMENTS_ALL
4993                  WHERE AUCTION_HEADER_ID = p_source_auction_header_id
4994                  AND SHIPMENT_TYPE = 'QUANTITY BASED'
4995                  AND line_number >= p_from_line_number
4996                  AND line_number <= p_to_line_number);
4997 
4998         --}
4999         END IF;
5000  END;
5001  --} End of COPY_SHIPMENTS
5002 
5003 --
5004 -- Procedure to copy the Price Elements information, if bizrule at all allows to retain
5005 -- the Price Elements information for the destination document type. The Price Elements
5006 -- are not copied if the destination doctype can't have one
5007 --
5008 
5009 PROCEDURE COPY_PRICE_ELEMENTS (p_source_auction_header_id IN NUMBER,
5010                               p_auction_header_id        IN NUMBER,
5011                               p_tp_id                    IN NUMBER,
5012                               p_tp_contact_id            IN NUMBER,
5013                               p_tp_name                  IN VARCHAR2,
5014                               p_tpc_name                 IN VARCHAR2,
5015                               p_user_id                  IN NUMBER,
5016                               p_source_doctype_id        IN NUMBER,
5017                               p_doctype_id               IN NUMBER,
5018                               p_copy_type                IN VARCHAR2,
5019                               p_source_doc_num           IN VARCHAR2,
5020                               p_from_line_number         IN NUMBER,
5021                               p_to_line_number           IN NUMBER
5022                              )
5023 IS
5024 BEGIN
5025 --{ Start of COPY_PRICE_ELEMENTS
5026 
5027         --
5028         -- Do not copy Price Elements if it is Copy To RFI
5029         --
5030         IF (g_auc_doctype_rule_data.ALLOW_PRICE_ELEMENT = 'Y' and
5031             g_neg_style_control.price_element_enabled_flag = 'Y') THEN
5032         -- {
5033                 --
5034                 -- Copy Logic:
5035                 -- Copy all the price elements EXCEPT the Line Price Element
5036                 -- as it will be inserted later on while publishing the negotiation
5037                 -- depending on the other criteria.
5038                 --
5039                 INSERT INTO
5040                 PON_PRICE_ELEMENTS
5041                 (       AUCTION_HEADER_ID,
5042                         LINE_NUMBER,
5043                         LIST_ID,
5044                         PRICE_ELEMENT_TYPE_ID,
5045                         PRICING_BASIS,
5046                         VALUE,
5047                         DISPLAY_TARGET_FLAG,
5048                         SEQUENCE_NUMBER,
5049                         CREATION_DATE,
5050                         CREATED_BY,
5051                         LAST_UPDATE_DATE,
5052                         LAST_UPDATED_BY,
5053                         PF_TYPE,
5054                         DISPLAY_TO_SUPPLIERS_FLAG
5055                 )
5056                 (SELECT
5057                         p_auction_header_id,
5058                         P.LINE_NUMBER,
5059                         P.LIST_ID,
5060                         P.PRICE_ELEMENT_TYPE_ID,
5061                         P.PRICING_BASIS,
5062                         P.VALUE,
5063                         P.DISPLAY_TARGET_FLAG,
5064                         P.SEQUENCE_NUMBER,
5065                         SYSDATE,
5066                         p_user_id,
5067                         SYSDATE,
5068                         p_user_id,
5069                         PF_TYPE,                   -- Tranformation project related column
5070                         DISPLAY_TO_SUPPLIERS_FLAG  -- Tranformation project related column
5071                 FROM PON_PRICE_ELEMENTS P,
5072                           PON_PRICE_ELEMENT_TYPES_VL VL
5073                 WHERE P.AUCTION_HEADER_ID = p_source_auction_header_id
5074                 AND P.PRICE_ELEMENT_TYPE_ID <> -10
5075                 AND P.PRICE_ELEMENT_TYPE_ID  = VL.PRICE_ELEMENT_TYPE_ID
5076                 AND VL.ENABLED_FLAG = 'Y'
5077                 AND P.line_number >= p_from_line_number
5078                 AND P.line_number <= p_to_line_number) ;
5079 
5080         --}
5081         END IF;
5082  END;
5083  --} End of COPY_PRICE_ELEMENTS
5084 
5085 --
5086 -- Procedure to copy the Currencies
5087 --
5088 PROCEDURE COPY_CURRENCIES ( p_source_auction_header_id IN NUMBER,
5089                             p_auction_header_id        IN NUMBER,
5090                             p_tp_id                    IN NUMBER,
5091                             p_tp_contact_id            IN NUMBER,
5092                             p_tp_name                  IN VARCHAR2,
5093                             p_tpc_name                 IN VARCHAR2,
5094                             p_user_id                  IN NUMBER,
5095                             p_doctype_id               IN NUMBER,
5096                             p_copy_type                IN VARCHAR2
5097                           )
5098  IS
5099 
5100  BEGIN
5101  -- { Start of COPY_CURRENCIES
5102 
5103                 INSERT INTO
5104                 PON_AUCTION_CURRENCY_RATES
5105                 (
5106                         AUCTION_HEADER_ID,
5107                         AUCTION_CURRENCY_CODE,
5108                         BID_CURRENCY_CODE,
5109                         RATE,
5110                         NUMBER_PRICE_DECIMALS,
5111                         LAST_UPDATED_BY,
5112                         LAST_UPDATE_DATE,
5113                         RATE_TYPE,
5114                         RATE_DATE,
5115                         CREATION_DATE,
5116                         CREATED_BY,
5117                         LIST_ID,
5118                         DERIVE_TYPE,
5119                         SEQUENCE_NUMBER,
5120                         RATE_DSP,
5121                         LAST_AMENDMENT_UPDATE,
5122                         MODIFIED_FLAG
5123                 )
5124                 (SELECT
5125                         p_auction_header_id,       -- AUCTION_HEADER_ID
5126                         AUCTION_CURRENCY_CODE,
5127                         BID_CURRENCY_CODE,
5128                         RATE,
5129                         NUMBER_PRICE_DECIMALS,
5130                         p_user_id,                 -- LAST_UPDATED_BY
5131                         SYSDATE,                   -- LAST_UPDATE_DATE
5132                         RATE_TYPE,
5133                         RATE_DATE,
5134                         SYSDATE,                   -- CREATION_DATE
5135                         p_user_id,                 -- CREATED_BY
5136                         LIST_ID,
5137                         DERIVE_TYPE,
5138                         SEQUENCE_NUMBER,
5139                         RATE_DSP,
5140                         --
5141                         -- AmendmentUpdate attribute value is only carried over
5142                         -- only for Amendment copy. It is set to default value 0
5143                         -- in all other cases
5144                         --
5145                         decode (p_copy_type, g_amend_copy,
5146                                 LAST_AMENDMENT_UPDATE,
5147                                 0),   -- LAST_AMENDMENT_UPDATE
5148                         --
5149                         -- MODIFIED_FLAG is always set to NULL
5150                         --
5151                         NULL          -- MODIFIED_FLAG
5152                 FROM PON_AUCTION_CURRENCY_RATES
5153                 WHERE AUCTION_HEADER_ID = p_source_auction_header_id ) ;
5154  END;
5155  --} End of COPY_CURRENCIES
5156 
5157 --
5158 -- Procedure to copy the invitees of a given negotiation
5159 --
5160 PROCEDURE COPY_INVITEES (p_source_auction_header_id IN NUMBER,
5161                          p_auction_header_id        IN NUMBER,
5162                          p_tp_id                    IN NUMBER,
5163                          p_tp_contact_id            IN NUMBER,
5164                          p_tp_name                  IN VARCHAR2,
5165                          p_tpc_name                 IN VARCHAR2,
5166                          p_user_id                  IN NUMBER,
5167                          p_doctype_id               IN NUMBER,
5168                          p_copy_type                IN VARCHAR2,
5169                          p_org_id                   IN NUMBER,
5170                          p_round_number             IN NUMBER
5171                         )
5172  IS
5173                 l_list_id                      PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
5174                 l_sequence                     PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
5175                 l_trading_partner_name         PON_NEG_COPY_DATATYPES_GRP.VARCHAR300_TYPE;
5176                 l_trading_partner_id           PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
5177                 l_trading_partner_contact_name PON_NEG_COPY_DATATYPES_GRP.VARCHAR300_TYPE;
5178                 l_trading_partner_contact_id   PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
5179                 l_new_supplier_name            PON_NEG_COPY_DATATYPES_GRP.VARCHAR300_TYPE;
5180                 l_new_supplier_contact_fname   PON_NEG_COPY_DATATYPES_GRP.VARCHAR300_TYPE;
5181                 l_new_supplier_contact_lname   PON_NEG_COPY_DATATYPES_GRP.VARCHAR300_TYPE;
5182                 l_new_supplier_email           PON_NEG_COPY_DATATYPES_GRP.VARCHAR300_TYPE;
5183                 l_note_to_new_supplier         PON_NEG_COPY_DATATYPES_GRP.VARCHAR300_TYPE;
5184                 l_wf_user_name                 PON_NEG_COPY_DATATYPES_GRP.VARCHAR50_TYPE;
5185                 l_invitation_id                PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
5186                 l_auction_creation_date        PON_NEG_COPY_DATATYPES_GRP.SIMPLE_DATE_TYPE;
5187                 l_bid_currency_code            PON_NEG_COPY_DATATYPES_GRP.VARCHAR20_TYPE;
5188                 l_number_price_decimals        PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
5189                 l_rate                         PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
5190                 l_derive_type                  PON_NEG_COPY_DATATYPES_GRP.VARCHAR20_TYPE;
5191                 l_additional_contact_email     PON_NEG_COPY_DATATYPES_GRP.VARCHAR300_TYPE;
5192                 l_round_number                 PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
5193                 l_supp_acknowledgement         PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
5194                 l_ack_partner_contact_id       PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
5195                 l_acknowledgement_time         PON_NEG_COPY_DATATYPES_GRP.SIMPLE_DATE_TYPE;
5196                 l_ack_note_to_auctioneer       PON_NEG_COPY_DATATYPES_GRP.VARCHAR4000_TYPE;
5197                 l_registration_id              PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
5198                 l_rate_dsp                     PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
5199                 l_vendor_site_id               PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
5200                 l_vendor_site_code             PON_NEG_COPY_DATATYPES_GRP.VARCHAR20_TYPE;
5201                 l_last_amendment_update        PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
5202                 l_modified_flag                PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
5203                 -- Lot based bidding project related column
5204                 l_access_type                  PON_NEG_COPY_DATATYPES_GRP.VARCHAR50_TYPE;
5205                 l_auction_round_number         NUMBER := 0;
5206                 -- New Suppleir Registration changes
5207                 l_requested_supplier_id        PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
5208                 l_requested_supplier_name      PON_NEG_COPY_DATATYPES_GRP.VARCHAR300_TYPE;
5209                 l_requested_supp_contact_id    PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
5210                 l_requested_supp_contact_name  PON_NEG_COPY_DATATYPES_GRP.VARCHAR300_TYPE;
5211                 -- warning for inactive suppliers
5212                 l_inactive_suppliers           PON_NEG_COPY_DATATYPES_GRP.VARCHAR300_TYPE;
5213                 l_supplier_names               VARCHAR2(2000);
5214                 l_last_seq_number              NUMBER;
5215 		-- bug 7376924, handling inactive supplier contact
5216  	        l_inactive_supplier_contacts PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
5217 
5218                 l_auction_header_id_orig_amend PON_AUCTION_HEADERS_ALL.AUCTION_HEADER_ID_ORIG_AMEND%type;
5219 
5220 BEGIN
5221 -- { Start of COPY_INVITEES
5222 
5223         l_last_seq_number := 0;
5224 
5225         --
5226         -- TODO Check the logic once more particularly for new round with same and diff doctype id
5227         --      Check for l_auction_round_number too
5228         --
5229         -- The logic is bit lengthy and better to be implemented in bulkcopy manner
5230         -- If required we can shift this to direct copy too but that may be bit clumsy
5231         --
5232         -- Always expect p_round_number to be 1 or higher
5233         --
5234         IF (p_copy_type = g_new_rnd_copy ) THEN
5235                 l_auction_round_number := p_round_number + 1;
5236         ELSE
5237                 l_auction_round_number := p_round_number;
5238         END IF;
5239 
5240         SELECT AUCTION_HEADER_ID_ORIG_AMEND
5241         INTO l_auction_header_id_orig_amend
5242         FROM PON_AUCTION_HEADERS_ALL
5243         WHERE AUCTION_HEADER_ID = p_source_auction_header_id;
5244 
5245         --
5246         -- For Copy Negotiation and Amendment
5247         --
5248         IF (p_copy_type = g_amend_copy) THEN
5249         --{
5250                 SELECT  LIST_ID,
5251                         SEQUENCE,
5252                         TRADING_PARTNER_NAME,
5253                         TRADING_PARTNER_ID,
5254                         TRADING_PARTNER_CONTACT_NAME,
5255                         TRADING_PARTNER_CONTACT_ID,
5256                         NEW_SUPPLIER_NAME,
5257                         NEW_SUPPLIER_CONTACT_FNAME,
5258                         NEW_SUPPLIER_CONTACT_LNAME,
5259                         NEW_SUPPLIER_EMAIL,
5260                         NOTE_TO_NEW_SUPPLIER,
5261                         WF_USER_NAME,
5262                         INVITATION_ID,
5263                         AUCTION_CREATION_DATE,
5264                         BID_CURRENCY_CODE,
5265                         NUMBER_PRICE_DECIMALS,
5266                         RATE,
5267                         DERIVE_TYPE,
5268                         ADDITIONAL_CONTACT_EMAIL,
5269                         ROUND_NUMBER,
5270                         SUPP_ACKNOWLEDGEMENT,
5271                         ACK_PARTNER_CONTACT_ID,
5272                         ACKNOWLEDGEMENT_TIME,
5273                         ACK_NOTE_TO_AUCTIONEER,
5274                         REGISTRATION_ID,
5275                         RATE_DSP,
5276                         LAST_AMENDMENT_UPDATE,
5277                         VENDOR_SITE_ID,
5278                         VENDOR_SITE_CODE,
5279                         MODIFIED_FLAG,
5280                         ACCESS_TYPE,
5281 			REQUESTED_SUPPLIER_ID,
5282 			REQUESTED_SUPPLIER_NAME,
5283 			REQUESTED_SUPPLIER_CONTACT_ID,
5284 			REQUESTED_SUPP_CONTACT_NAME
5285                  BULK COLLECT
5286                  INTO
5287                         l_list_id,
5288                         l_sequence,
5289                         l_trading_partner_name,
5290                         l_trading_partner_id,
5291                         l_trading_partner_contact_name,
5292                         l_trading_partner_contact_id,
5293                         l_new_supplier_name,
5294                         l_new_supplier_contact_fname,
5295                         l_new_supplier_contact_lname,
5296                         l_new_supplier_email,
5297                         l_note_to_new_supplier,
5298                         l_wf_user_name,
5299                         l_invitation_id,
5300                         l_auction_creation_date,
5301                         l_bid_currency_code,
5302                         l_number_price_decimals,
5303                         l_rate,
5304                         l_derive_type,
5305                         l_additional_contact_email,
5306                         l_round_number,
5307                         l_supp_acknowledgement,
5308                         l_ack_partner_contact_id,
5309                         l_acknowledgement_time,
5310                         l_ack_note_to_auctioneer,
5311                         l_registration_id,
5312                         l_rate_dsp,
5313                         l_last_amendment_update,
5314                         l_vendor_site_id,
5315                         l_vendor_site_code,
5316                         l_modified_flag,
5317                         l_access_type,
5318 			l_requested_supplier_id,
5319 			l_requested_supplier_name,
5320 			l_requested_supp_contact_id,
5321 			l_requested_supp_contact_name
5322                  FROM
5323                        (SELECT
5324                         PBP.LIST_ID,
5325                         PBP.SEQUENCE,
5326                         PBP.TRADING_PARTNER_NAME,
5327                         PBP.TRADING_PARTNER_ID,
5328                         PBP.TRADING_PARTNER_CONTACT_NAME,
5329                         PBP.TRADING_PARTNER_CONTACT_ID,
5330                         PBP.NEW_SUPPLIER_NAME,
5331                         PBP.NEW_SUPPLIER_CONTACT_FNAME,
5332                         PBP.NEW_SUPPLIER_CONTACT_LNAME,
5333                         PBP.NEW_SUPPLIER_EMAIL,
5334                         PBP.NOTE_TO_NEW_SUPPLIER,
5335                         PBP.WF_USER_NAME,
5336                         PBP.INVITATION_ID,
5337                         PBP.AUCTION_CREATION_DATE,
5338                         PBP.BID_CURRENCY_CODE,
5339                         PBP.NUMBER_PRICE_DECIMALS,
5340                         PBP.RATE,
5341                         PBP.DERIVE_TYPE,
5342                         PBP.ADDITIONAL_CONTACT_EMAIL,
5343                         PBP.ROUND_NUMBER,
5344                         PBP.SUPP_ACKNOWLEDGEMENT,
5345                         PBP.ACK_PARTNER_CONTACT_ID,
5346                         PBP.ACKNOWLEDGEMENT_TIME,
5347                         PBP.ACK_NOTE_TO_AUCTIONEER,
5348                         PBP.REGISTRATION_ID,
5349                         PBP.RATE_DSP,
5350                         PBP.LAST_AMENDMENT_UPDATE,
5351                         PBP.VENDOR_SITE_ID,
5352                         PBP.VENDOR_SITE_CODE,
5353                         PBP.MODIFIED_FLAG,
5354                         PBP.ACCESS_TYPE,
5355   			NULL REQUESTED_SUPPLIER_ID,
5356 			NULL REQUESTED_SUPPLIER_NAME,
5357 			NULL REQUESTED_SUPPLIER_CONTACT_ID,
5358 			NULL REQUESTED_SUPP_CONTACT_NAME
5359                 FROM PON_BIDDING_PARTIES  PBP,
5360                         AP_SUPPLIER_SITES_ALL PS,
5361                         AP_SUPPLIERS PV
5362                 WHERE PBP.AUCTION_HEADER_ID = p_source_auction_header_id
5363                         AND PV.PARTY_ID = PBP.TRADING_PARTNER_ID
5364                         AND PS.VENDOR_ID = PV.VENDOR_ID
5365                         AND (PS.PURCHASING_SITE_FLAG = 'Y' OR PS.RFQ_ONLY_SITE_FLAG = 'Y')
5366                         AND NVL(PS.INACTIVE_DATE, SYSDATE) >= SYSDATE
5367                         AND PS.ORG_ID = p_org_id
5368                         AND PS.VENDOR_SITE_ID = PBP.VENDOR_SITE_ID
5369                 UNION
5370                 SELECT
5371                         PBP.LIST_ID,
5372                         PBP.SEQUENCE,
5373                         PBP.TRADING_PARTNER_NAME,
5374                         PBP.TRADING_PARTNER_ID,
5375                         PBP.TRADING_PARTNER_CONTACT_NAME,
5376                         PBP.TRADING_PARTNER_CONTACT_ID,
5377                         PBP.NEW_SUPPLIER_NAME,
5378                         PBP.NEW_SUPPLIER_CONTACT_FNAME,
5379                         PBP.NEW_SUPPLIER_CONTACT_LNAME,
5380                         PBP.NEW_SUPPLIER_EMAIL,
5381                         PBP.NOTE_TO_NEW_SUPPLIER,
5382                         PBP.WF_USER_NAME,
5383                         PBP.INVITATION_ID,
5384                         PBP.AUCTION_CREATION_DATE,
5385                         PBP.BID_CURRENCY_CODE,
5386                         PBP.NUMBER_PRICE_DECIMALS,
5387                         PBP.RATE,
5388                         PBP.DERIVE_TYPE,
5389                         PBP.ADDITIONAL_CONTACT_EMAIL,
5390                         PBP.ROUND_NUMBER,
5391                         PBP.SUPP_ACKNOWLEDGEMENT,
5392                         PBP.ACK_PARTNER_CONTACT_ID,
5393                         PBP.ACKNOWLEDGEMENT_TIME,
5394                         PBP.ACK_NOTE_TO_AUCTIONEER,
5395                         PBP.REGISTRATION_ID,
5396                         PBP.RATE_DSP,
5397                         PBP.LAST_AMENDMENT_UPDATE,
5398                         PBP.VENDOR_SITE_ID,
5399                         PBP.VENDOR_SITE_CODE,
5400                         PBP.MODIFIED_FLAG,
5401                         PBP.ACCESS_TYPE,
5402   		        PBP.REQUESTED_SUPPLIER_ID,
5403 			PBP.REQUESTED_SUPPLIER_NAME,
5404 			PBP.REQUESTED_SUPPLIER_CONTACT_ID,
5405 			PBP.REQUESTED_SUPP_CONTACT_NAME
5406                 FROM PON_BIDDING_PARTIES  PBP
5407                 WHERE PBP.AUCTION_HEADER_ID = p_source_auction_header_id
5408                         AND (PBP.VENDOR_SITE_ID = -1 OR
5409                              PBP.VENDOR_SITE_ID IS NULL) ) A;
5410 
5411         --} End of if  Amendment
5412         ELSIF (p_copy_type = g_active_neg_copy
5413             OR p_copy_type = g_draft_neg_copy ) THEN
5414         --{
5415                 SELECT  LIST_ID,
5416                         SEQUENCE,
5417                         TRADING_PARTNER_NAME,
5418                         TRADING_PARTNER_ID,
5419                         TRADING_PARTNER_CONTACT_NAME,
5420                         TRADING_PARTNER_CONTACT_ID,
5421                         NEW_SUPPLIER_NAME,
5422                         NEW_SUPPLIER_CONTACT_FNAME,
5423                         NEW_SUPPLIER_CONTACT_LNAME,
5424                         NEW_SUPPLIER_EMAIL,
5425                         NOTE_TO_NEW_SUPPLIER,
5426                         WF_USER_NAME,
5427                         INVITATION_ID,
5428                         AUCTION_CREATION_DATE,
5429                         BID_CURRENCY_CODE,
5430                         NUMBER_PRICE_DECIMALS,
5431                         RATE,
5432                         DERIVE_TYPE,
5433                         ADDITIONAL_CONTACT_EMAIL,
5434                         ROUND_NUMBER,
5435                         SUPP_ACKNOWLEDGEMENT,
5436                         ACK_PARTNER_CONTACT_ID,
5437                         ACKNOWLEDGEMENT_TIME,
5438                         ACK_NOTE_TO_AUCTIONEER,
5439                         REGISTRATION_ID,
5440                         RATE_DSP,
5441                         LAST_AMENDMENT_UPDATE,
5442                         VENDOR_SITE_ID,
5443                         VENDOR_SITE_CODE,
5444                         MODIFIED_FLAG,
5445                         ACCESS_TYPE,
5446 			REQUESTED_SUPPLIER_ID,
5447 			REQUESTED_SUPPLIER_NAME,
5448 			REQUESTED_SUPPLIER_CONTACT_ID,
5449 			REQUESTED_SUPP_CONTACT_NAME
5450                  BULK COLLECT
5451                  INTO
5452                         l_list_id,
5453                         l_sequence,
5454                         l_trading_partner_name,
5455                         l_trading_partner_id,
5456                         l_trading_partner_contact_name,
5457                         l_trading_partner_contact_id,
5458                         l_new_supplier_name,
5459                         l_new_supplier_contact_fname,
5460                         l_new_supplier_contact_lname,
5461                         l_new_supplier_email,
5462                         l_note_to_new_supplier,
5463                         l_wf_user_name,
5464                         l_invitation_id,
5465                         l_auction_creation_date,
5466                         l_bid_currency_code,
5467                         l_number_price_decimals,
5468                         l_rate,
5469                         l_derive_type,
5470                         l_additional_contact_email,
5471                         l_round_number,
5472                         l_supp_acknowledgement,
5473                         l_ack_partner_contact_id,
5474                         l_acknowledgement_time,
5475                         l_ack_note_to_auctioneer,
5476                         l_registration_id,
5477                         l_rate_dsp,
5478                         l_last_amendment_update,
5479                         l_vendor_site_id,
5480                         l_vendor_site_code,
5481                         l_modified_flag,
5482                         l_access_type,
5483 			l_requested_supplier_id,
5484 			l_requested_supplier_name,
5485 			l_requested_supp_contact_id,
5486 			l_requested_supp_contact_name
5487                  FROM
5488                        (SELECT
5489                         PBP.LIST_ID,
5490                         PBP.SEQUENCE,
5491                         PBP.TRADING_PARTNER_NAME,
5492                         PBP.TRADING_PARTNER_ID,
5493                         PBP.TRADING_PARTNER_CONTACT_NAME,
5494                         PBP.TRADING_PARTNER_CONTACT_ID,
5495                         PBP.NEW_SUPPLIER_NAME,
5496                         PBP.NEW_SUPPLIER_CONTACT_FNAME,
5497                         PBP.NEW_SUPPLIER_CONTACT_LNAME,
5498                         PBP.NEW_SUPPLIER_EMAIL,
5499                         PBP.NOTE_TO_NEW_SUPPLIER,
5500                         PBP.WF_USER_NAME,
5501                         PBP.INVITATION_ID,
5502                         PBP.AUCTION_CREATION_DATE,
5503                         PBP.BID_CURRENCY_CODE,
5504                         PBP.NUMBER_PRICE_DECIMALS,
5505                         PBP.RATE,
5506                         PBP.DERIVE_TYPE,
5507                         PBP.ADDITIONAL_CONTACT_EMAIL,
5508                         PBP.ROUND_NUMBER,
5509                         PBP.SUPP_ACKNOWLEDGEMENT,
5510                         PBP.ACK_PARTNER_CONTACT_ID,
5511                         PBP.ACKNOWLEDGEMENT_TIME,
5512                         PBP.ACK_NOTE_TO_AUCTIONEER,
5513                         PBP.REGISTRATION_ID,
5514                         PBP.RATE_DSP,
5515                         PBP.LAST_AMENDMENT_UPDATE,
5516                         PBP.VENDOR_SITE_ID,
5517                         PBP.VENDOR_SITE_CODE,
5518                         PBP.MODIFIED_FLAG,
5519                         PBP.ACCESS_TYPE,
5520        			NULL REQUESTED_SUPPLIER_ID,
5521 			NULL REQUESTED_SUPPLIER_NAME,
5522 			NULL REQUESTED_SUPPLIER_CONTACT_ID,
5523 			NULL REQUESTED_SUPP_CONTACT_NAME
5524                 FROM PON_BIDDING_PARTIES  PBP,
5525                         AP_SUPPLIER_SITES_ALL PS,
5526                         AP_SUPPLIERS PV
5527                 WHERE PBP.AUCTION_HEADER_ID = p_source_auction_header_id
5528                         AND PV.PARTY_ID = PBP.TRADING_PARTNER_ID
5529                         AND PS.VENDOR_ID = PV.VENDOR_ID
5530 	      	            AND nvl(PV.start_date_active, sysdate) <= sysdate
5531 	                  	AND nvl(PV.end_date_active,  sysdate) >= sysdate
5532                         AND (PS.PURCHASING_SITE_FLAG = 'Y' OR PS.RFQ_ONLY_SITE_FLAG = 'Y')
5533                         AND NVL(PS.INACTIVE_DATE, SYSDATE) >= SYSDATE
5534                         AND PS.ORG_ID = p_org_id
5535                         AND PS.VENDOR_SITE_ID = PBP.VENDOR_SITE_ID
5536                 UNION
5537                 -- suppliers with site = -1
5538                 SELECT
5539                         PBP.LIST_ID,
5540                         PBP.SEQUENCE,
5541                         PBP.TRADING_PARTNER_NAME,
5542                         PBP.TRADING_PARTNER_ID,
5543                         PBP.TRADING_PARTNER_CONTACT_NAME,
5544                         PBP.TRADING_PARTNER_CONTACT_ID,
5545                         PBP.NEW_SUPPLIER_NAME,
5546                         PBP.NEW_SUPPLIER_CONTACT_FNAME,
5547                         PBP.NEW_SUPPLIER_CONTACT_LNAME,
5548                         PBP.NEW_SUPPLIER_EMAIL,
5549                         PBP.NOTE_TO_NEW_SUPPLIER,
5550                         PBP.WF_USER_NAME,
5551                         PBP.INVITATION_ID,
5552                         PBP.AUCTION_CREATION_DATE,
5553                         PBP.BID_CURRENCY_CODE,
5554                         PBP.NUMBER_PRICE_DECIMALS,
5555                         PBP.RATE,
5556                         PBP.DERIVE_TYPE,
5557                         PBP.ADDITIONAL_CONTACT_EMAIL,
5558                         PBP.ROUND_NUMBER,
5559                         PBP.SUPP_ACKNOWLEDGEMENT,
5560                         PBP.ACK_PARTNER_CONTACT_ID,
5561                         PBP.ACKNOWLEDGEMENT_TIME,
5562                         PBP.ACK_NOTE_TO_AUCTIONEER,
5563                         PBP.REGISTRATION_ID,
5564                         PBP.RATE_DSP,
5565                         PBP.LAST_AMENDMENT_UPDATE,
5566                         PBP.VENDOR_SITE_ID,
5567                         PBP.VENDOR_SITE_CODE,
5568                         PBP.MODIFIED_FLAG,
5569                         PBP.ACCESS_TYPE,
5570                         NULL REQUESTED_SUPPLIER_ID,
5571                         NULL REQUESTED_SUPPLIER_NAME,
5572                         NULL REQUESTED_SUPPLIER_CONTACT_ID,
5573                         NULL REQUESTED_SUPP_CONTACT_NAME
5574                 FROM PON_BIDDING_PARTIES  PBP,
5575                      AP_SUPPLIERS PV
5576                 WHERE PBP.AUCTION_HEADER_ID = p_source_auction_header_id
5577                         AND (PBP.VENDOR_SITE_ID = -1 OR
5578                              PBP.VENDOR_SITE_ID IS NULL)
5579                         AND PBP.TRADING_PARTNER_ID  = PV.PARTY_ID
5580 	      	            AND NVL(pv.start_date_active, sysdate) <= sysdate
5581 	                    AND NVL(pv.end_date_active,  sysdate) >= sysdate
5582                 UNION
5583 		-- requested suppliers
5584                 SELECT
5585                         PBP.LIST_ID,
5586                         PBP.SEQUENCE,
5587                         PBP.TRADING_PARTNER_NAME,
5588                         PBP.TRADING_PARTNER_ID,
5589                         PBP.TRADING_PARTNER_CONTACT_NAME,
5590                         PBP.TRADING_PARTNER_CONTACT_ID,
5591                         PBP.NEW_SUPPLIER_NAME,
5592                         PBP.NEW_SUPPLIER_CONTACT_FNAME,
5593                         PBP.NEW_SUPPLIER_CONTACT_LNAME,
5594                         PBP.NEW_SUPPLIER_EMAIL,
5595                         PBP.NOTE_TO_NEW_SUPPLIER,
5596                         PBP.WF_USER_NAME,
5597                         PBP.INVITATION_ID,
5598                         PBP.AUCTION_CREATION_DATE,
5599                         PBP.BID_CURRENCY_CODE,
5600                         PBP.NUMBER_PRICE_DECIMALS,
5601                         PBP.RATE,
5602                         PBP.DERIVE_TYPE,
5603                         PBP.ADDITIONAL_CONTACT_EMAIL,
5604                         PBP.ROUND_NUMBER,
5605                         PBP.SUPP_ACKNOWLEDGEMENT,
5606                         PBP.ACK_PARTNER_CONTACT_ID,
5607                         PBP.ACKNOWLEDGEMENT_TIME,
5608                         PBP.ACK_NOTE_TO_AUCTIONEER,
5609                         PBP.REGISTRATION_ID,
5610                         PBP.RATE_DSP,
5611                         PBP.LAST_AMENDMENT_UPDATE,
5612                         PBP.VENDOR_SITE_ID,
5613                         PBP.VENDOR_SITE_CODE,
5614                         PBP.MODIFIED_FLAG,
5615                         PBP.ACCESS_TYPE,
5616                         PBP.REQUESTED_SUPPLIER_ID,
5617                         PBP.REQUESTED_SUPPLIER_NAME,
5618                         PBP.REQUESTED_SUPPLIER_CONTACT_ID,
5619                         PBP.REQUESTED_SUPP_CONTACT_NAME
5620                 FROM PON_BIDDING_PARTIES  PBP
5621                 WHERE PBP.AUCTION_HEADER_ID = p_source_auction_header_id
5622                         AND PBP.trading_partner_id IS NULL
5623 		        AND pbp.requested_supplier_id NOT IN (
5624                             SELECT supplier_reg_id FROM  pos_supplier_registrations
5625                             WHERE registration_status = 'REJECTED')
5626             ) A;
5627         --} End of if Copy Negotiation
5628         ELSE -- new round
5629         --{
5630                 SELECT  LIST_ID,
5631                         SEQUENCE,
5632                         TRADING_PARTNER_NAME,
5633                         TRADING_PARTNER_ID,
5634                         TRADING_PARTNER_CONTACT_NAME,
5635                         TRADING_PARTNER_CONTACT_ID,
5636                         NEW_SUPPLIER_NAME,
5637                         NEW_SUPPLIER_CONTACT_FNAME,
5638                         NEW_SUPPLIER_CONTACT_LNAME,
5639                         NEW_SUPPLIER_EMAIL,
5640                         NOTE_TO_NEW_SUPPLIER,
5641                         WF_USER_NAME,
5642                         INVITATION_ID,
5643                         AUCTION_CREATION_DATE,
5644                         BID_CURRENCY_CODE,
5645                         NUMBER_PRICE_DECIMALS,
5646                         RATE,
5647                         DERIVE_TYPE,
5648                         ADDITIONAL_CONTACT_EMAIL,
5649                         ROUND_NUMBER,
5650                         SUPP_ACKNOWLEDGEMENT,
5651                         ACK_PARTNER_CONTACT_ID,
5652                         ACKNOWLEDGEMENT_TIME,
5653                         ACK_NOTE_TO_AUCTIONEER,
5654                         REGISTRATION_ID,
5655                         RATE_DSP,
5656                         LAST_AMENDMENT_UPDATE,
5657                         VENDOR_SITE_ID,
5658                         VENDOR_SITE_CODE,
5659                         MODIFIED_FLAG,
5660                         ACCESS_TYPE,
5661 			REQUESTED_SUPPLIER_ID,
5662 			REQUESTED_SUPPLIER_NAME,
5663 			REQUESTED_SUPPLIER_CONTACT_ID,
5664 			REQUESTED_SUPP_CONTACT_NAME
5665                  BULK COLLECT
5666                  INTO
5667                         l_list_id,
5668                         l_sequence,
5669                         l_trading_partner_name,
5670                         l_trading_partner_id,
5671                         l_trading_partner_contact_name,
5672                         l_trading_partner_contact_id,
5673                         l_new_supplier_name,
5674                         l_new_supplier_contact_fname,
5675                         l_new_supplier_contact_lname,
5676                         l_new_supplier_email,
5677                         l_note_to_new_supplier,
5678                         l_wf_user_name,
5679                         l_invitation_id,
5680                         l_auction_creation_date,
5681                         l_bid_currency_code,
5682                         l_number_price_decimals,
5683                         l_rate,
5684                         l_derive_type,
5685                         l_additional_contact_email,
5686                         l_round_number,
5687                         l_supp_acknowledgement,
5688                         l_ack_partner_contact_id,
5689                         l_acknowledgement_time,
5690                         l_ack_note_to_auctioneer,
5691                         l_registration_id,
5692                         l_rate_dsp,
5693                         l_last_amendment_update,
5694                         l_vendor_site_id,
5695                         l_vendor_site_code,
5696                         l_modified_flag,
5697                         l_access_type,
5698 			l_requested_supplier_id,
5699 			l_requested_supplier_name,
5700 			l_requested_supp_contact_id,
5701 			l_requested_supp_contact_name
5702                 FROM (SELECT    LIST_ID,
5703                                 SEQUENCE,
5704                                 TRADING_PARTNER_NAME,
5705                                 TRADING_PARTNER_ID,
5706                                 TRADING_PARTNER_CONTACT_NAME,
5707                                 TRADING_PARTNER_CONTACT_ID,
5708                                 NEW_SUPPLIER_NAME,
5709                                 NEW_SUPPLIER_CONTACT_FNAME,
5710                                 NEW_SUPPLIER_CONTACT_LNAME,
5711                                 NEW_SUPPLIER_EMAIL,
5712                                 NOTE_TO_NEW_SUPPLIER,
5713                                 WF_USER_NAME,
5714                                 INVITATION_ID,
5715                                 AUCTION_CREATION_DATE,
5716                                 BID_CURRENCY_CODE,
5717                                 NUMBER_PRICE_DECIMALS,
5718                                 RATE,
5719                                 DERIVE_TYPE,
5720                                 ADDITIONAL_CONTACT_EMAIL,
5721                                 ROUND_NUMBER,
5722                                 SUPP_ACKNOWLEDGEMENT,
5723                                 ACK_PARTNER_CONTACT_ID,
5724                                 ACKNOWLEDGEMENT_TIME,
5725                                 ACK_NOTE_TO_AUCTIONEER,
5726                                 REGISTRATION_ID,
5727                                 RATE_DSP,
5728                                 LAST_AMENDMENT_UPDATE,
5729                                 VENDOR_SITE_ID,
5730                                 VENDOR_SITE_CODE,
5731                                 MODIFIED_FLAG,
5732                                 ACCESS_TYPE,
5733 				NULL REQUESTED_SUPPLIER_ID,
5734 				NULL REQUESTED_SUPPLIER_NAME,
5735 				NULL REQUESTED_SUPPLIER_CONTACT_ID,
5736 				NULL REQUESTED_SUPP_CONTACT_NAME
5737                         FROM PON_BIDDING_PARTIES PBP,
5738                              AP_SUPPLIERS PV
5739                         WHERE PBP.AUCTION_HEADER_ID = p_source_auction_header_id
5740                         AND (TRADING_PARTNER_ID,TRADING_PARTNER_CONTACT_ID,nvl(VENDOR_SITE_ID,-1))
5741                         NOT IN (SELECT PBH.TRADING_PARTNER_ID,
5742                                        PBH.TRADING_PARTNER_CONTACT_ID,
5743                                        NVL(PBH.VENDOR_SITE_ID,-1) VENDOR_SITE_ID
5744                                        FROM  PON_BID_HEADERS PBH
5745                                        WHERE PBH.SHORTLIST_FLAG = 'N'
5746                                        AND PBH.AUCTION_HEADER_ID IN
5747                                            (SELECT AUCTION_HEADER_ID
5748                                             FROM   PON_AUCTION_HEADERS_ALL
5749                                             WHERE  AUCTION_HEADER_ID_ORIG_AMEND =
5750                                                    l_auction_header_id_orig_amend)
5751                                                     AND PBH.BID_STATUS IN('ACTIVE','RESUBMISSION'))
5752                         AND PBP.TRADING_PARTNER_ID = PV.PARTY_ID
5753 		      	        AND nvl(PV.start_date_active, sysdate) <= sysdate
5754 	  	                AND nvl(PV.end_date_active,  sysdate) >= sysdate
5755                       UNION
5756                       -- requested suppliers
5757                       SELECT    LIST_ID,
5758                                 SEQUENCE,
5759                                 TRADING_PARTNER_NAME,
5760                                 TRADING_PARTNER_ID,
5761                                 TRADING_PARTNER_CONTACT_NAME,
5762                                 TRADING_PARTNER_CONTACT_ID,
5763                                 NEW_SUPPLIER_NAME,
5764                                 NEW_SUPPLIER_CONTACT_FNAME,
5765                                 NEW_SUPPLIER_CONTACT_LNAME,
5766                                 NEW_SUPPLIER_EMAIL,
5767                                 NOTE_TO_NEW_SUPPLIER,
5768                                 WF_USER_NAME,
5769                                 INVITATION_ID,
5770                                 AUCTION_CREATION_DATE,
5771                                 BID_CURRENCY_CODE,
5772                                 NUMBER_PRICE_DECIMALS,
5773                                 RATE,
5774                                 DERIVE_TYPE,
5775                                 ADDITIONAL_CONTACT_EMAIL,
5776                                 ROUND_NUMBER,
5777                                 SUPP_ACKNOWLEDGEMENT,
5778                                 ACK_PARTNER_CONTACT_ID,
5779                                 ACKNOWLEDGEMENT_TIME,
5780                                 ACK_NOTE_TO_AUCTIONEER,
5781                                 REGISTRATION_ID,
5782                                 RATE_DSP,
5783                                 LAST_AMENDMENT_UPDATE,
5784                                 VENDOR_SITE_ID,
5785                                 VENDOR_SITE_CODE,
5786                                 MODIFIED_FLAG,
5787                                 ACCESS_TYPE,
5788                                 REQUESTED_SUPPLIER_ID,
5789                                 REQUESTED_SUPPLIER_NAME,
5790                                 REQUESTED_SUPPLIER_CONTACT_ID,
5791                                 REQUESTED_SUPP_CONTACT_NAME
5792                         FROM PON_BIDDING_PARTIES PBP
5793                         WHERE PBP.AUCTION_HEADER_ID = p_source_auction_header_id
5794                               AND PBP.trading_partner_id IS NULL
5795                                 AND PBP.requested_supplier_id NOT IN (
5796                                      SELECT supplier_reg_id
5797                                      FROM  pos_supplier_registrations
5798                                      WHERE registration_status = 'REJECTED')
5799                        UNION -- suppliers from bid headers
5800                        SELECT
5801                                 -1 as LIST_ID,
5802                                 to_number(null) as SEQUENCE,
5803                                 PBH.TRADING_PARTNER_NAME,
5804                                 PBH.TRADING_PARTNER_ID,
5805                                 TRADING_PARTNER_CONTACT_NAME,
5806                                 TRADING_PARTNER_CONTACT_ID,
5807                                 NULL as NEW_SUPPLIER_NAME,
5808                                 NULL as NEW_SUPPLIER_CONTACT_FNAME,
5809                                 NULL as NEW_SUPPLIER_CONTACT_LNAME,
5810                                 NULL as NEW_SUPPLIER_EMAIL,
5811                                 NULL as NOTE_TO_NEW_SUPPLIER,
5812                                 NULL as WF_USER_NAME,
5813                                 to_number(NULL) as INVITATION_ID,
5814                                 to_date(NULL) as AUCTION_CREATION_DATE,
5815                                 NULL as BID_CURRENCY_CODE,
5816                                 to_number(NULL) as NUMBER_PRICE_DECIMALS,
5817                                 TO_NUMBER(NULL) as RATE,
5818                                 NULL as DERIVE_TYPE,
5819                                 NULL as ADDITIONAL_CONTACT_EMAIL,
5820                                 l_auction_round_number as ROUND_NUMBER,
5821                                 NULL as SUPP_ACKNOWLEDGEMENT,
5822                                 to_number(NULL) as ACK_PARTNER_CONTACT_ID,
5823                                 to_date(NULL) as ACKNOWLEDGEMENT_TIME,
5824                                 NULL as ACK_NOTE_TO_AUCTIONEER,
5825                                 to_number(NULL) as REGISTRATION_ID,
5826                                 TO_NUMBER(NULL) as RATE_DSP,
5827                                 0 as LAST_AMENDMENT_UPDATE,
5828                                 -1 as VENDOR_SITE_ID,
5829                                 '-1' as VENDOR_SITE_CODE,
5830                                 to_char(NULL) as MODIFIED_FLAG,
5831                                 'FULL' as  ACCESS_TYPE,   -- The default value of ACCESS_TYPE seems to be FULL
5832 				NULL REQUESTED_SUPPLIER_ID,
5833 				NULL REQUESTED_SUPPLIER_NAME,
5834 				NULL REQUESTED_SUPPLIER_CONTACT_ID,
5835 				NULL REQUESTED_SUPP_CONTACT_NAME
5836                         FROM PON_BID_HEADERS  PBH
5837                         WHERE PBH.SHORTLIST_FLAG <> 'N'
5838                         AND PBH.AUCTION_HEADER_ID IN
5839                               (SELECT AUCTION_HEADER_ID
5840                                FROM   PON_AUCTION_HEADERS_ALL
5841                                WHERE  AUCTION_HEADER_ID_ORIG_AMEND =
5842                                       l_auction_header_id_orig_amend
5843                                       )
5844                         AND  PBH.BID_STATUS IN ('ACTIVE', 'RESUBMISSION')
5845                         AND  PBH.TRADING_PARTNER_ID NOT IN
5846                                  (SELECT NVL(TRADING_PARTNER_ID, -1)
5847                                   FROM   PON_BIDDING_PARTIES
5848                                   WHERE  AUCTION_HEADER_ID = p_source_auction_header_id)
5849                         AND PBH.trading_partner_contact_name =
5850                                (SELECT MIN(trading_partner_contact_name)
5851                                 FROM pon_bid_headers pbhinner
5852                                 WHERE pbhinner.trading_partner_id = pbh.trading_partner_id
5853                                 AND pbhinner.auction_header_id = pbh.auction_header_id
5854                                 GROUP BY pbhinner.auction_header_id, pbhinner.trading_partner_id)
5855                         GROUP BY TRADING_PARTNER_ID, TRADING_PARTNER_NAME, TRADING_PARTNER_CONTACT_ID, TRADING_PARTNER_CONTACT_NAME
5856                         ORDER BY SEQUENCE ASC NULLS LAST) A;
5857 
5858         --} End of else of if Copy Negotiation or Amendment
5859         END IF;
5860 
5861         IF (l_list_id.COUNT <> 0) THEN
5862         --{
5863                  FOR x IN 1..l_list_id.COUNT
5864                  LOOP
5865                  -- { Start of loop
5866                       --
5867                       -- For amendments, need to carry over supplier ack data
5868                       --
5869                       IF (p_copy_type <> g_amend_copy ) THEN
5870                               l_supp_acknowledgement(x) := NULL;
5871                               l_ack_partner_contact_id(x) := NULL;
5872                               l_acknowledgement_time(x) := NULL;
5873                               l_ack_note_to_auctioneer(x) := NULL;
5874                               l_last_amendment_update(x) := 0;
5875                               l_registration_id(x) := NULL;
5876                       END IF;
5877 
5878                       --
5879                       -- Reset the round number for the Copy and Copy To Document cases
5880                       --
5881                       IF (p_copy_type = g_active_neg_copy
5882                           OR p_copy_type = g_rfi_to_other_copy) THEN
5883                               l_round_number(x) := 1;
5884                       END IF;
5885 
5886                       l_modified_flag(x) := NULL;
5887                       --
5888                       -- Lot based project defaulting logic:
5889                       -- The default value of the access type is FULL
5890                       --
5891                       IF (l_access_type(x) IS NULL) THEN
5892                               l_access_type(x) := 'FULL';
5893                       END IF;
5894 
5895                       --
5896                       -- Set the Sequence field if it is null i.e. it was added in the last round
5897                       --
5898                       IF (l_sequence(x) IS NOT NULL) THEN
5899                               l_last_seq_number := l_sequence(x);
5900                       ELSE
5901                               l_sequence(x) := l_last_seq_number + 10;
5902                               l_last_seq_number := l_last_seq_number + 10;
5903                       END IF;
5904 
5905                   --} End of loop
5906                   END LOOP;
5907 
5908                   --
5909                   -- Insert the data
5910                   --
5911                   FORALL x IN 1..l_list_id.COUNT
5912                   --{ Start of inserting into loop
5913 
5914                         INSERT INTO PON_BIDDING_PARTIES
5915                         (
5916                                 AUCTION_HEADER_ID,
5917                                 LIST_ID,
5918                                 LAST_UPDATE_DATE,
5919                                 LAST_UPDATED_BY,
5920                                 SEQUENCE,
5921                                 TRADING_PARTNER_NAME,
5922                                 TRADING_PARTNER_ID,
5923                                 TRADING_PARTNER_CONTACT_NAME,
5924                                 TRADING_PARTNER_CONTACT_ID,
5925                                 NEW_SUPPLIER_NAME,
5926                                 NEW_SUPPLIER_CONTACT_FNAME,
5927                                 NEW_SUPPLIER_CONTACT_LNAME,
5928                                 NEW_SUPPLIER_EMAIL,
5929                                 NOTE_TO_NEW_SUPPLIER,
5930                                 WF_USER_NAME,
5931                                 INVITATION_ID,
5932                                 CREATION_DATE,
5933                                 CREATED_BY,
5934                                 AUCTION_CREATION_DATE,
5935                                 BID_CURRENCY_CODE,
5936                                 NUMBER_PRICE_DECIMALS,
5937                                 RATE,
5938                                 DERIVE_TYPE,
5939                                 ADDITIONAL_CONTACT_EMAIL,
5940                                 ROUND_NUMBER,
5941                                 SUPP_ACKNOWLEDGEMENT,
5942                                 ACK_PARTNER_CONTACT_ID,
5943                                 ACKNOWLEDGEMENT_TIME,
5944                                 ACK_NOTE_TO_AUCTIONEER,
5945                                 REGISTRATION_ID,
5946                                 RATE_DSP,
5947                                 LAST_AMENDMENT_UPDATE,
5948                                 VENDOR_SITE_ID,
5949                                 VENDOR_SITE_CODE,
5950                                 MODIFIED_FLAG,
5951                                 ACCESS_TYPE,
5952 				REQUESTED_SUPPLIER_ID,
5953 				REQUESTED_SUPPLIER_NAME,
5954 				REQUESTED_SUPPLIER_CONTACT_ID,
5955 				REQUESTED_SUPP_CONTACT_NAME
5956                         )
5957                         VALUES
5958                         (
5959                                 p_auction_header_id,
5960                                 l_list_id(x),
5961                                 SYSDATE ,
5962                                 p_user_id ,
5963                                 l_sequence(x),
5964                                 l_trading_partner_name(x),
5965                                 l_trading_partner_id(x),
5966                                 l_trading_partner_contact_name(x),
5967                                 l_trading_partner_contact_id(x),
5968                                 l_new_supplier_name(x),
5969                                 l_new_supplier_contact_fname(x),
5970                                 l_new_supplier_contact_lname(x),
5971                                 l_new_supplier_email(x),
5972                                 l_note_to_new_supplier(x),
5973                                 l_wf_user_name(x),
5974                                 l_invitation_id(x),
5975                                 SYSDATE ,
5976                                 p_user_id ,
5977                                 l_auction_creation_date(x),
5978                                 l_bid_currency_code(x),
5979                                 l_number_price_decimals(x),
5980                                 l_rate(x),
5981                                 l_derive_type(x),
5982                                 l_additional_contact_email(x),
5983                                 l_round_number(x),
5984                                 l_supp_acknowledgement(x),
5985                                 l_ack_partner_contact_id(x),
5986                                 l_acknowledgement_time(x),
5987                                 l_ack_note_to_auctioneer(x),
5988                                 l_registration_id(x),
5989                                 l_rate_dsp(x),
5990                                 l_last_amendment_update(x),
5991                                 l_vendor_site_id(x),
5992                                 l_vendor_site_code(x),
5993                                 l_modified_flag(x),
5994                                 --in case of large auctions, we do not allow party exclusions
5995                                 --so we need this decode
5996                                 decode (g_neg_style_control.large_neg_enabled_flag,'Y','FULL', l_access_type(x)),
5997 				l_requested_supplier_id(x),
5998 				l_requested_supplier_name(x),
5999 				l_requested_supp_contact_id(x),
6000 				l_requested_supp_contact_name(x)
6001                         ) ;
6002 
6003                   --} End of inserting into the pon_bidding_parties
6004          --} End of IF (l_list_id.COUNT <> 0)
6005          END IF;
6006 
6007    if (p_copy_type = g_new_rnd_copy
6008        OR p_copy_type = g_active_neg_copy
6009        OR p_copy_type = g_draft_neg_copy ) THEN
6010      --{ add inactive suppliers warning
6011      BEGIN
6012        SELECT
6013             DISTINCT PBP.trading_partner_name BULK COLLECT INTO l_inactive_suppliers
6014        FROM PON_BIDDING_PARTIES  PBP,
6015             PO_VENDORS PV
6016        WHERE PBP.AUCTION_HEADER_ID = p_source_auction_header_id
6017             AND PV.PARTY_ID = PBP.TRADING_PARTNER_ID
6018   	    AND ( nvl(pv.start_date_active, sysdate) > sysdate OR
6019    	    nvl(pv.end_date_active,  sysdate) < sysdate );
6020      EXCEPTION WHEN no_data_found THEN
6021         NULL;
6022      END;
6023      l_supplier_names := '';
6024      IF (l_inactive_suppliers.COUNT <> 0) THEN
6025      --{
6026        l_supplier_names := l_inactive_suppliers(1);
6027        FOR x IN 2..l_inactive_suppliers.COUNT
6028        LOOP
6029        -- { Start of loop
6030          l_supplier_names := l_supplier_names || '; ' || l_inactive_suppliers(x);
6031        -- } End of loop
6032        END LOOP;
6033 
6034        -- give warning for inactive suppliers
6035        FND_MESSAGE.SET_NAME('PON','PON_INACTIVE_SUPP_INVITEE_W'||'_'||g_message_suffix);
6036        FND_MESSAGE.SET_TOKEN('LIST',l_supplier_names);
6037        FND_MSG_PUB.ADD;
6038        g_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6039      --}
6040      END IF;
6041 
6042      --bug 7376924, begin of inactive supplier contact handling logic
6043      BEGIN
6044 	BEGIN
6045 	 SELECT
6046 	     DISTINCT PBP.trading_partner_contact_id BULK COLLECT
6047 	     INTO l_inactive_supplier_contacts
6048 	 FROM PON_BIDDING_PARTIES PBP,
6049 	      HZ_RELATIONSHIPS HZR
6050 	 WHERE PBP.AUCTION_HEADER_ID = p_auction_header_id
6051 	   AND HZR.SUBJECT_ID =  PBP.TRADING_PARTNER_CONTACT_ID
6052 	   AND HZR.OBJECT_ID = PBP.TRADING_PARTNER_ID
6053 	   AND HZR.RELATIONSHIP_CODE = 'CONTACT_OF'
6054 	     AND ( (nvl(HZR.START_DATE, SYSDATE-1)>= SYSDATE) OR
6055 		   (nvl(HZR.END_DATE, SYSDATE+1) <= SYSDATE)
6056 	     );
6057 	 EXCEPTION WHEN no_data_found THEN
6058 	 NULL;
6059 	END;
6060 
6061       BEGIN
6062 	FOR x IN 1..l_inactive_supplier_contacts.COUNT
6063 	LOOP
6064 
6065 	UPDATE PON_BIDDING_PARTIES
6066 	SET trading_partner_contact_name = NULL,
6067 	    trading_partner_contact_id = NULL
6068 	WHERE  auction_header_id = p_auction_header_id
6069 	AND TRADING_PARTNER_CONTACT_ID = l_inactive_supplier_contacts(x);
6070 
6071 	END LOOP;
6072       END;
6073 
6074      END;
6075      -- bug 7376924, end of inactive supplier handling logic
6076 
6077      -- add warning for prospective suppliers that are REJECTED
6078      --l_inactive_suppliers := NULL;
6079      BEGIN
6080        SELECT  DISTINCT PBP.requested_supplier_name BULK COLLECT INTO l_inactive_suppliers
6081        FROM PON_BIDDING_PARTIES PBP,
6082             Pos_supplier_registrations posreg
6083        WHERE PBP.AUCTION_HEADER_ID = p_source_auction_header_id
6084 	    AND posreg.SUPPLIER_REG_ID = pbp.REQUESTED_SUPPLIER_ID
6085             AND posreg.REGISTRATION_STATUS = 'REJECTED';
6086      EXCEPTION WHEN no_data_found THEN
6087         NULL;
6088      END;
6089 
6090      l_supplier_names := '';
6091      IF (l_inactive_suppliers.COUNT <> 0) THEN
6092      --{
6093        l_supplier_names := l_inactive_suppliers(1);
6094        FOR x IN 2..l_inactive_suppliers.COUNT
6095        LOOP
6096        -- { Start of loop
6097          l_supplier_names := l_supplier_names || '; ' || l_inactive_suppliers(x);
6098        -- } End of loop
6099        END LOOP;
6100 
6101        -- give warning for inactive suppliers
6102        FND_MESSAGE.SET_NAME('PON','PON_RS_REJECTED_INVITEE_W'||'_'||g_message_suffix);
6103        FND_MESSAGE.SET_TOKEN('LIST',l_supplier_names);
6104        FND_MSG_PUB.ADD;
6105        g_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6106      --}
6107      END IF;
6108   END IF; --}
6109  END;
6110  --} End of COPY_INVITEES
6111 
6112 --
6113 -- Procedure to copy Negotiation Team Members for the given negotiation
6114 --
6115 PROCEDURE COPY_NEG_TEAM (p_source_auction_header_id IN NUMBER,
6116                          p_auction_header_id        IN NUMBER,
6117                          p_tp_id                    IN NUMBER,
6118                          p_tp_contact_id            IN NUMBER,
6119                          p_tp_name                  IN VARCHAR2,
6120                          p_tpc_name                 IN VARCHAR2,
6121                          p_user_id                  IN NUMBER,
6122                          p_doctype_id               IN NUMBER,
6123                          p_copy_type                IN VARCHAR2,
6124                          p_user_name                IN VARCHAR2,
6125                          p_mgr_id                   IN NUMBER
6126                         )
6127  IS
6128                 l_list_id                PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
6129                 l_user_id                PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
6130                 l_menu_name              PON_NEG_COPY_DATATYPES_GRP.VARCHAR50_TYPE;
6131                 l_member_type            PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
6132                 l_approver_flag          PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
6133                 l_approval_status        PON_NEG_COPY_DATATYPES_GRP.VARCHAR50_TYPE;
6134                 l_task_name              PON_NEG_COPY_DATATYPES_GRP.VARCHAR4000_TYPE;
6135                 l_target_date            PON_NEG_COPY_DATATYPES_GRP.SIMPLE_DATE_TYPE;
6136                 l_completion_date        PON_NEG_COPY_DATATYPES_GRP.SIMPLE_DATE_TYPE;
6137                 l_business_group_id      PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
6138                 l_effective_start_date   PON_NEG_COPY_DATATYPES_GRP.SIMPLE_DATE_TYPE;
6139                 l_effective_end_date     PON_NEG_COPY_DATATYPES_GRP.SIMPLE_DATE_TYPE;
6140                 l_user_start_date        PON_NEG_COPY_DATATYPES_GRP.SIMPLE_DATE_TYPE;
6141                 l_user_end_date          PON_NEG_COPY_DATATYPES_GRP.SIMPLE_DATE_TYPE;
6142                 l_last_amendment_update  PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
6143                 l_modified_flag          PON_NEG_COPY_DATATYPES_GRP.VARCHAR1_TYPE;
6144                 l_auc_business_group_id  PON_NEG_COPY_DATATYPES_GRP.NUMBER_TYPE;
6145                 l_full_name              PON_NEG_COPY_DATATYPES_GRP.VARCHAR300_TYPE;
6146                 l_last_notif_date        PON_NEG_COPY_DATATYPES_GRP.SIMPLE_DATE_TYPE;
6147                 l_is_creator_included    BOOLEAN :=  FALSE;
6148                 l_is_manager_included    BOOLEAN := FALSE;
6149                 l_count NUMBER;
6150                 l_inactive_mem  VARCHAR2(4000);
6151  BEGIN
6152  -- { Start of COPY_NEG_TEAM
6153         --
6154         -- The existing logic is bit complex and is formulated using the bulkcopy
6155         -- style. As of now it will not use the direct copy as it will be complex to
6156         -- construct.
6157         --
6158         g_err_loc := '9.1 ';
6159         SELECT
6160                 PNTM.LIST_ID,
6161                 PNTM.USER_ID,
6162                 PNTM.MENU_NAME,
6163                 PNTM.MEMBER_TYPE,
6164                 PNTM.APPROVER_FLAG,
6165                 PNTM.APPROVAL_STATUS,
6166                 PNTM.TASK_NAME,
6167                 PNTM.TARGET_DATE,
6168                 PNTM.COMPLETION_DATE,
6169                 P.BUSINESS_GROUP_ID,
6170                 P.EFFECTIVE_START_DATE,
6171                 P.EFFECTIVE_END_DATE,
6172                 U.START_DATE USER_START_DATE,
6173                 U.END_DATE USER_END_DATE,
6174                 PNTM.LAST_AMENDMENT_UPDATE,
6175                 PNTM.MODIFIED_FLAG,
6176                 PNTM.LAST_NOTIFIED_DATE,
6177                 F.BUSINESS_GROUP_ID
6178         BULK COLLECT
6179         INTO
6180                 l_list_id,
6181                 l_user_id,
6182                 l_menu_name,
6183                 l_member_type,
6184                 l_approver_flag,
6185                 l_approval_status,
6186                 l_task_name,
6187                 l_target_date,
6188                 l_completion_date,
6189                 l_business_group_id,
6190                 l_effective_start_date,
6191                 l_effective_end_date,
6192                 l_user_start_date,
6193                 l_user_end_date,
6194                 l_last_amendment_update,
6195                 l_modified_flag,
6196                 l_last_notif_date,
6197                 l_auc_business_group_id
6198         FROM PON_NEG_TEAM_MEMBERS PNTM,
6199                 FND_USER U,
6200                 PER_ALL_PEOPLE_F P,
6201                 PER_ALL_ASSIGNMENTS_F A,
6202                 PER_ALL_POSITIONS S,
6203                 PON_AUCTION_HEADERS_ALL AH,
6204                 FINANCIALS_SYSTEM_PARAMS_ALL F
6205         WHERE U.USER_ID = PNTM.USER_ID
6206         AND PNTM.AUCTION_HEADER_ID = p_source_auction_header_id
6207         AND AH.AUCTION_HEADER_ID = PNTM.AUCTION_HEADER_ID
6208         AND NVL(F.ORG_ID, -9999) = NVL(AH.ORG_ID, -9999)
6209         AND P.PERSON_ID = U.EMPLOYEE_ID
6210         AND P.EFFECTIVE_END_DATE =
6211                (SELECT MAX(PP.EFFECTIVE_END_DATE)
6212                 FROM PER_ALL_PEOPLE_F PP
6213                 WHERE PP.PERSON_ID = U.EMPLOYEE_ID)
6214         AND A.PERSON_ID  = P.PERSON_ID
6215         AND A.PRIMARY_FLAG  = 'Y'
6216         AND ((A.ASSIGNMENT_TYPE = 'E' AND P.CURRENT_EMPLOYEE_FLAG = 'Y') OR
6217              (A.ASSIGNMENT_TYPE = 'C' AND P.CURRENT_NPW_FLAG = 'Y'))
6218         AND A.EFFECTIVE_END_DATE =
6219                (SELECT MAX(AA.EFFECTIVE_END_DATE)
6220                 FROM PER_ALL_ASSIGNMENTS_F AA
6221                 WHERE AA.PRIMARY_FLAG = 'Y'
6222                 AND AA.ASSIGNMENT_TYPE in ('E', 'C')
6223                 AND AA.PERSON_ID = P.PERSON_ID)
6224         AND A.POSITION_ID = S.POSITION_ID(+)
6225         AND TRUNC(SYSDATE) BETWEEN P.EFFECTIVE_START_DATE AND P.EFFECTIVE_END_DATE
6226         AND HAS_NEED_TO_COPY_MEMBER(p_user_id, p_mgr_id,p_copy_type,
6227                 PNTM.USER_ID, PNTM.MEMBER_TYPE, F.BUSINESS_GROUP_ID,
6228                 P.BUSINESS_GROUP_ID, P.EFFECTIVE_START_DATE,
6229                 P.EFFECTIVE_END_DATE, U.START_DATE, U.END_DATE) = 'Y';
6230 
6231 
6232         l_count := l_user_id.COUNT;
6233 
6234         g_err_loc := '9.2 ';
6235         IF (l_user_id.COUNT <> 0) THEN
6236         --{
6237                  g_err_loc := '9.3 ';
6238                  FOR x IN 1..l_user_id.COUNT
6239                  LOOP
6240                  --{
6241                         g_err_loc := '9.4 ';
6242                         --
6243                         -- for amendments, we will not change the original creator
6244                         --
6245                         IF (p_copy_type <> g_amend_copy AND
6246                              p_user_id = l_user_id(x)) THEN
6247                                 --
6248                                 -- set the member type
6249                                 --
6250                                 l_member_type(x) := 'C';
6251 
6252                                 --
6253                                 -- give the creator Edit privileges
6254                                 --
6255                                 l_menu_name(x) := 'PON_SOURCING_EDITNEG';
6256                                 --
6257                                 -- set approver flag to N for the creator
6258                                 --
6259                                 l_approver_flag(x) := 'N';
6260                                 l_is_creator_included := TRUE;
6261 
6262                         END IF;
6263 
6264                         --
6265                         -- for amendments, we will not change the original manager
6266                         --
6267                         IF (p_copy_type <> g_amend_copy AND
6268                              p_mgr_id = l_user_id(x)) THEN
6269                                 --
6270                                 -- set the member type
6271                                 --
6272                                 l_member_type(x) := 'M';
6273                                 --
6274                                 -- give the creator Edit privileges
6275                                 --
6276                                 l_menu_name(x) := 'PON_SOURCING_EDITNEG';
6277 
6278                                 --
6279                                 -- set approver flag as usual to Manager
6280                                 --
6281                                 l_approver_flag(x) := 'Y';
6282                                 l_is_manager_included := TRUE;
6283 
6284                         END IF;
6285 
6286                         --
6287                         -- copy reset logic
6288                         --
6289                         -- for amendments, we will carry over data related to task completion dates
6290                         IF (p_copy_type <> g_amend_copy ) THEN
6291                                 l_target_date(x) := NULL;
6292                                 l_completion_date(x) := NULL;
6293 
6294                                 --
6295                                 -- only relevant during the amendment process
6296                                 --
6297                                 l_last_amendment_update(x) := 0;
6298                                 --
6299                                 -- Last Notified Date data only to be carried over
6300                                 -- for Negotiation Amendment
6301                                 --
6302                                 l_last_notif_date(x) := null;
6303                         END IF;
6304 
6305                         l_approval_status(x) := NULL;
6306                         l_modified_flag(x) := NULL;
6307                  --}
6308                  END LOOP;
6309                  g_err_loc := '9.5 ';
6310                  --
6311                  -- We have to add the creator as team member if not already added
6312                  -- For Amendment we preserve the creator intact
6313                  --
6314                  IF (l_is_creator_included = FALSE AND
6315                       p_copy_type <> g_amend_copy) THEN
6316                         l_count := l_user_id.COUNT+1;
6317                         l_list_id(l_count) := -1;
6318                         l_user_id(l_count) := p_user_id;
6319                         l_menu_name(l_count) := 'PON_SOURCING_EDITNEG';
6320                         l_member_type(l_count) := 'C';
6321                         l_approver_flag(l_count) := 'N';
6322                         l_approval_status(l_count) := NULL;
6323                         l_task_name(l_count) := NULL;
6324                         l_target_date(l_count) := NULL;
6325                         l_completion_date(l_count) := NULL;
6326                         l_last_amendment_update(l_count) := 0;
6327                         l_modified_flag(l_count) := NULL;
6328                         l_last_notif_date(l_count) := NULL;
6329                 END IF;
6330 
6331                 g_err_loc := '9.6 ';
6332                 --
6333                 -- We have to add the manager of the user as manager if
6334                 -- not already added
6335                 --
6336                 IF (l_is_manager_included = FALSE
6337                      AND p_copy_type <> g_amend_copy
6338                      AND p_mgr_id IS NOT NULL) THEN
6339                         l_count := l_count+1;
6340                         l_list_id(l_count) := -1;
6341                         l_user_id(l_count) := p_mgr_id;
6342                         l_menu_name(l_count) := 'PON_SOURCING_EDITNEG';
6343                         l_member_type(l_count) := 'M';
6344                         l_approver_flag(l_count) := 'Y';
6345                         l_approval_status(l_count) := NULL;
6346                         l_task_name(l_count) := NULL;
6347                         l_target_date(l_count) := NULL;
6348                         l_completion_date(l_count) := NULL;
6349                         l_last_amendment_update(l_count) := 0;
6350                         l_modified_flag(l_count) := NULL;
6351                         l_last_notif_date(l_count) := NULL;
6352                 END IF;
6353          --}
6354          ELSE
6355          --{
6356                 --
6357                 -- So, we do not have any negotiation team members from
6358                 -- last negotiation document. Thus we need to add the creator
6359                 -- and the manager in the team member list
6360                 --
6361                 -- Add the user data
6362                 --
6363                 g_err_loc := '9.7 ';
6364                 l_count := l_count+1;
6365                 l_list_id(l_count) := -1;
6366                 l_user_id(l_count) := p_user_id;
6367                 l_menu_name(l_count) := 'PON_SOURCING_EDITNEG';
6368                 l_member_type(l_count) := 'C';
6369                 l_approver_flag(l_count) := 'N';
6370                 l_approval_status(l_count) := NULL;
6371                 l_task_name(l_count) := NULL;
6372                 l_target_date(l_count) := NULL;
6373                 l_completion_date(l_count) := NULL;
6374                 l_last_amendment_update(l_count) := 0;
6375                 l_modified_flag(l_count) := NULL;
6376                 l_last_notif_date(l_count) := NULL;
6377 
6378                 --
6379                 -- Add the manager data if it is valid
6380                 --
6381                 IF ( p_mgr_id IS NOT NULL) THEN
6382                     l_count := l_user_id.COUNT+1;
6383                     l_list_id(l_count) := -1;
6384                     l_user_id(l_count) := p_mgr_id;
6385                     l_menu_name(l_count) := 'PON_SOURCING_EDITNEG';
6386                     l_member_type(l_count) := 'M';
6387                     l_approver_flag(l_count) := 'Y';
6388                     l_approval_status(l_count) := NULL;
6389                     l_task_name(l_count) := NULL;
6390                     l_target_date(l_count) := NULL;
6391                     l_completion_date(l_count) := NULL;
6392                     l_last_amendment_update(l_count) := 0;
6393                     l_modified_flag(l_count) := NULL;
6394                     l_last_notif_date(l_count) := NULL;
6395                 END IF;
6396          --}
6397          END IF;
6398 
6399           g_err_loc := '9.8 ';
6400           --
6401           -- Insert data
6402           --
6403           FORALL x IN 1..l_user_id.COUNT
6404                 INSERT INTO
6405                 PON_NEG_TEAM_MEMBERS
6406                 (
6407                         AUCTION_HEADER_ID,
6408                         LIST_ID,
6409                         USER_ID,
6410                         MENU_NAME,
6411                         MEMBER_TYPE,
6412                         APPROVER_FLAG,
6413                         APPROVAL_STATUS,
6414                         TASK_NAME,
6415                         TARGET_DATE,
6416                         COMPLETION_DATE,
6417                         CREATION_DATE,
6418                         CREATED_BY,
6419                         LAST_UPDATE_DATE,
6420                         LAST_UPDATED_BY,
6421                         LAST_AMENDMENT_UPDATE,
6422                         MODIFIED_FLAG,
6423                         LAST_NOTIFIED_DATE
6424 
6425                 )
6426                 VALUES
6427                 (
6428                         p_auction_header_id,
6429                         l_list_id(x),
6430                         l_user_id(x),
6431                         l_menu_name(x),
6432                         l_member_type(x),
6433                         l_approver_flag(x),
6434                         l_approval_status(x),
6435                         l_task_name(x),
6436                         l_target_date(x),
6437                         l_completion_date(x),
6438                         SYSDATE,
6439                         p_user_id,
6440                         SYSDATE,
6441                         p_user_id,
6442                         l_last_amendment_update(x),
6443                         l_modified_flag(x),
6444                         l_last_notif_date(x)
6445                 ) ;
6446 
6447         --
6448         -- Add the invalid Negotiation Team members on the FND_MSG_PUB stack
6449         -- for the display as warning message.
6450         --
6451         -- It is assumed that if there are any extra team members having 'N' type
6452         -- in the original negotiation (as compared to the newly created negotiation)
6453         -- then they must be inactivated team members as of now and
6454         -- hence can be added to the inactivated negotiation team member
6455         -- list. As of now the logic seems to be correct for all the
6456         -- cases.
6457         --
6458 
6459         g_err_loc := '9.9 ';
6460 
6461         SELECT
6462                 FULL_NAME
6463         BULK COLLECT
6464         INTO
6465                 l_full_name
6466         FROM   (SELECT PNTM.USER_ID, P.FULL_NAME
6467                 FROM PON_NEG_TEAM_MEMBERS PNTM,
6468                           FND_USER U, PER_ALL_PEOPLE_F P
6469                 WHERE U.USER_ID = PNTM.USER_ID
6470                 AND PNTM.AUCTION_HEADER_ID = p_source_auction_header_id
6471                 AND PNTM.MEMBER_TYPE = 'N'
6472                 AND P.PERSON_ID = U.EMPLOYEE_ID
6473                 MINUS
6474                 SELECT PNTM.USER_ID, P.FULL_NAME
6475                 FROM PON_NEG_TEAM_MEMBERS PNTM,
6476                         FND_USER U, PER_ALL_PEOPLE_F P
6477                 WHERE U.USER_ID = PNTM.USER_ID
6478                 AND PNTM.AUCTION_HEADER_ID = p_auction_header_id
6479                 AND P.PERSON_ID = U.EMPLOYEE_ID);
6480 
6481           --
6482           -- Add the invalid users in the stack
6483           --
6484           IF (l_full_name.COUNT <> 0) THEN
6485           --{
6486                  FND_MESSAGE.SET_NAME('PON','PON_AUC_INACTIVE_MEMBERS_W'||'_'|| g_message_suffix);
6487                  l_inactive_mem := '; 1. '||l_full_name(1);
6488 
6489                  g_err_loc := '9.10 ';
6490                  FOR x IN 2..l_full_name.COUNT
6491                  LOOP
6492                         l_inactive_mem :=  l_inactive_mem||' '||x||'. '|| l_full_name(x);
6493                  END LOOP;
6494 
6495                 -- The way I am adding this error may get changed in the future.
6496                 -- So, please be aware of that
6497                 FND_MESSAGE.SET_TOKEN('LIST',l_inactive_mem);
6498                 FND_MSG_PUB.ADD;
6499 
6500                  -- Set the status
6501                  g_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
6502           --}
6503           END IF;
6504  END;
6505  --} End of COPY_NEG_TEAM
6506 
6507 --
6508 -- Function to check if a negotiation team member should be copied or not
6509 --
6510 FUNCTION HAS_NEED_TO_COPY_MEMBER ( p_login_user_id          IN NUMBER,
6511                                    p_login_manager_id         IN NUMBER,
6512                                    p_copy_type                IN VARCHAR2,
6513                                    p_memeber_id               IN NUMBER,
6514                                    p_memeber_type             IN VARCHAR2,
6515                                    p_busines_group_id         IN NUMBER,
6516                                    p_member_busines_group_id  IN NUMBER,
6517                                    p_member_eff_start_date    IN DATE,
6518                                    p_member_eff_end_date      IN DATE,
6519                                    p_member_user_start_date   IN DATE,
6520                                    p_member_user_end_date     IN DATE) RETURN VARCHAR2
6521 IS
6522     l_return_value  VARCHAR2(1);
6523 BEGIN
6524 --{ Start of HAS_NEED_TO_COPY_MEMBER
6525 
6526     l_return_value  := 'N';
6527         --
6528         -- when creating the amendment, we will not remove any collaboration
6529         -- team members
6530         --
6531     IF(p_copy_type = 'AMENDMENT') THEN
6532         l_return_value  := 'Y';
6533         --
6534         -- copy the logged in user
6535         --
6536     ELSIF ( p_login_user_id = p_memeber_id) THEN
6537         l_return_value  := 'Y';
6538         --
6539         -- copy the logged in user's manager
6540         --
6541     ELSIF ( p_login_manager_id = p_memeber_id) THEN
6542            l_return_value  := 'Y';
6543 
6544         --
6545         -- Since this member was added by the system automatically,
6546         -- remove the old creator
6547         --
6548     ELSIF ( p_memeber_type = 'C') THEN
6549            l_return_value  := 'N';
6550         --
6551         -- Since this member was added by the system automatically,
6552         -- remove the old manager
6553         --
6554     ELSIF ( p_memeber_type = 'M') THEN
6555            l_return_value  := 'N';
6556 
6557         --
6558         -- Member is a normal Team Member (member type is "N")
6559         --
6560     ELSE
6561                 l_return_value := 'Y';
6562                 IF (fnd_profile.value('HR_CROSS_BUSINESS_GROUP') <> 'Y' ) THEN
6563                    IF (p_busines_group_id <> p_member_busines_group_id ) THEN
6564                       l_return_value := 'N';
6565                    END IF;
6566                 END IF;
6567 
6568                 IF  (l_return_value = 'N'  OR
6569                       p_member_eff_start_date > SYSDATE  OR
6570                       p_member_eff_end_date < SYSDATE OR
6571                       p_member_user_start_date > SYSDATE  OR
6572                       p_member_user_end_date < SYSDATE) THEN
6573                         l_return_value := 'N';
6574                 END IF;
6575 
6576     END IF;
6577 
6578     RETURN l_return_value;
6579 
6580 END HAS_NEED_TO_COPY_MEMBER;
6581 --} End of HAS_NEED_TO_COPY_MEMBER
6582 
6583 --
6584 -- Procedure to blindly copy the PON_PARTY_LINE_EXCLUSIONS data.
6585 -- It does not have any business logic as of now. So, it is a blind copy.
6586 --
6587 PROCEDURE COPY_PARTY_LINE_EXCLUSIONS (
6588                          p_source_auction_header_id        IN NUMBER,
6589                          p_auction_header_id               IN NUMBER,
6590                          p_user_id                         IN NUMBER,
6591                          p_doctype_id                      IN NUMBER,
6592                          p_copy_type                       IN VARCHAR2,
6593                          p_from_line_number                IN NUMBER,
6594                          p_to_line_number                  IN NUMBER)
6595 IS
6596 BEGIN
6597  -- { Start of COPY_PARTY_LINE_EXCLUSIONS
6598 
6599         --
6600         -- join on pbp.sequence to exclude inactive, rejected suppliers from getting copied over
6601         --
6602         INSERT INTO  PON_PARTY_LINE_EXCLUSIONS
6603         (       AUCTION_HEADER_ID,
6604                 TRADING_PARTNER_ID,
6605                 VENDOR_SITE_ID,
6606                 LINE_NUMBER,
6607                 CREATION_DATE,
6608                 CREATED_BY,
6609                 LAST_UPDATE_DATE,
6610                 LAST_UPDATED_BY,
6611                 LAST_UPDATE_LOGIN,
6612                 SEQUENCE_NUMBER
6613         )
6614         (SELECT p_auction_header_id,   -- AUCTION_HEADER_ID
6615                 ple.TRADING_PARTNER_ID,
6616                 ple.VENDOR_SITE_ID,
6617                 ple.LINE_NUMBER,
6618                 SYSDATE,               -- CREATION_DATE
6619                 p_user_id,             -- CREATED_BY
6620                 SYSDATE,               -- LAST_UPDATE_DATE
6621                 p_user_id,             -- LAST_UPDATED_BY
6622                 p_user_id,             -- LAST_UPDATE_LOGIN
6623                 ple.SEQUENCE_NUMBER
6624          FROM PON_PARTY_LINE_EXCLUSIONS ple, pon_bidding_parties pbp
6625          WHERE ple.AUCTION_HEADER_ID = p_source_auction_header_id
6626          AND ple.line_number >= p_from_line_number
6627          AND ple.line_number <= p_to_line_number
6628 	 AND pbp.auction_header_id = p_auction_header_id
6629 	 AND ple.sequence_number = pbp.sequence
6630         ) ;
6631 
6632  END;
6633 -- } End of COPY_PARTY_LINE_EXCLUSIONS
6634 
6635 --
6636 -- Procedure to blindly copy the PON_PF_SUPPLIER_VALUES data.
6637 -- It does not have any business logic as of now. So, it is a blind copy.
6638 --
6639 PROCEDURE COPY_PF_SUPPLIER_VALUES (
6640                          p_source_auction_header_id        IN NUMBER,
6641                          p_auction_header_id               IN NUMBER,
6642                          p_user_id                         IN NUMBER,
6643                          p_doctype_id                      IN NUMBER,
6644                          p_copy_type                       IN VARCHAR2,
6645                          p_from_line_number                IN NUMBER,
6646                          p_to_line_number                  IN NUMBER)
6647 IS
6648 BEGIN
6649  -- { Start of PON_PF_SUPPLIER_VALUES
6650 
6651         LOG_MESSAGE('copy negotiation','in COPY_PF_SUPPLIER_VALUES for '||p_source_auction_header_id||' to '||p_auction_header_id);
6652 
6653         --
6654         -- Do not copy Price Factor Values if it is Copy To RFI
6655         --
6656         IF (g_auc_doctype_rule_data.ALLOW_PRICE_ELEMENT = 'Y') THEN
6657         -- {
6658           -- Copy Logic:
6659           -- Copy all the price factor values EXCEPT
6660           -- where the price factor has become inactive
6661           -- join on pbp.sequence to exclude inactive, rejected suppliers from getting copied over
6662 
6663                 INSERT INTO  PON_PF_SUPPLIER_VALUES
6664                         (   AUCTION_HEADER_ID,
6665                              LINE_NUMBER,
6666                             PF_SEQ_NUMBER,
6667                             SUPPLIER_SEQ_NUMBER,
6668                             VALUE,
6669                             CREATION_DATE,
6670                             CREATED_BY,
6671                             LAST_UPDATE_DATE,
6672                             LAST_UPDATED_BY,
6673                             LAST_UPDATE_LOGIN
6674                          )
6675                 (SELECT     p_auction_header_id,   -- AUCTION_HEADER_ID
6676                             PPSV.LINE_NUMBER,
6677                             PPSV.PF_SEQ_NUMBER,
6678                             PPSV.SUPPLIER_SEQ_NUMBER,
6679                             PPSV.VALUE,
6680                             SYSDATE,               -- CREATION_DATE
6681                             p_user_id,             -- CREATED_BY
6682                             SYSDATE,               -- LAST_UPDATE_DATE
6683                             p_user_id,             -- LAST_UPDATED_BY
6684                             p_user_id              -- LAST_UPDATE_LOGIN
6685                  FROM PON_PF_SUPPLIER_VALUES     PPSV,
6686                       PON_PRICE_ELEMENTS         PPE,
6687                       PON_PRICE_ELEMENT_TYPES_VL VL,
6688                       PON_BIDDING_PARTIES PBP
6689                  WHERE PPSV.AUCTION_HEADER_ID = p_source_auction_header_id AND
6690                        PPSV.AUCTION_HEADER_ID = PPE.AUCTION_HEADER_ID AND
6691                        PPSV.LINE_NUMBER = PPE.LINE_NUMBER AND
6692                        PPSV.PF_SEQ_NUMBER = PPE.SEQUENCE_NUMBER AND
6693                        PPE.PRICE_ELEMENT_TYPE_ID  = VL.PRICE_ELEMENT_TYPE_ID AND
6694                        VL.ENABLED_FLAG = 'Y' AND
6695                        PPSV.line_number >= p_from_line_number AND
6696                        PPSV.line_number <= p_to_line_number AND
6697                        PBP.auction_header_id = p_auction_header_id AND
6698                        PBP.sequence = PPSV.SUPPLIER_SEQ_NUMBER
6699                        ) ;
6700 
6701         --}
6702         END IF;
6703 
6704  END;
6705 -- } End of COPY_PF_SUPPLIER_VALUES
6706 
6707  --
6708  -- Procedure to copy the Event Abstract related data.
6709  --
6710  PROCEDURE COPY_FORM_DATA (
6711                          p_source_auction_header_id        IN NUMBER,
6712                          p_auction_header_id               IN NUMBER,
6713                          p_user_id                         IN NUMBER,
6714                          p_doctype_id                      IN NUMBER,
6715                          p_source_doctype_id         IN NUMBER,
6716                          p_copy_type                       IN VARCHAR2)
6717  IS
6718         l_inactive_sections NUMBER;
6719         l_abstract_id NUMBER;
6720 
6721  BEGIN
6722   -- { Start of COPY_FORM_DATA
6723 
6724         BEGIN
6725                 -- Get the id of the abstract from pon_forms_sections
6726             SELECT PFS.FORM_ID
6727                    INTO l_abstract_id
6728             FROM PON_FORMS_SECTIONS PFS
6729             WHERE PFS.FORM_CODE='ABSTRACT';
6730 
6731             EXCEPTION WHEN OTHERS THEN
6732                 l_abstract_id := -1;
6733         END;
6734 
6735 
6736         --
6737         -- STATUS will be same for amendment and multi round
6738         --
6739         IF (p_copy_type = g_amend_copy OR p_copy_type = g_new_rnd_copy) THEN
6740 
6741                 INSERT INTO PON_FORMS_INSTANCES
6742                 (        ENTITY_CODE,
6743                          ENTITY_PK1,
6744                          FORM_ID,
6745                          STATUS,
6746                          CREATION_DATE,
6747                          CREATED_BY,
6748                          LAST_UPDATE_DATE,
6749                          LAST_UPDATED_BY,
6750                          LAST_UPDATE_LOGIN,
6751                          XML_LAST_SENT_DATE
6752                 )
6753                 (SELECT
6754                         FI.ENTITY_CODE,
6755                         TO_CHAR(p_auction_header_id),
6756                         FI.FORM_ID,
6757                         decode (FI.FORM_ID,
6758                                 l_abstract_id, NULL,
6759                                 FI.STATUS),
6760                         SYSDATE,
6761                         p_user_id,
6762                         SYSDATE,
6763                         p_user_id,
6764                         p_user_id,
6765                         XML_LAST_SENT_DATE
6766                 FROM    PON_FORMS_SECTIONS FS,
6767                         PON_FORMS_INSTANCES FI
6768                 WHERE  FI.ENTITY_CODE = 'PON_AUCTION_HEADERS_ALL'
6769                 AND FI.ENTITY_PK1 = TO_CHAR(p_source_auction_header_id)
6770                 AND FI.FORM_ID = FS.FORM_ID
6771                 AND FS.STATUS = 'ACTIVE');
6772 
6773         END IF;
6774 
6775         --
6776         -- While same doctype copy,
6777         -- 1.  for Active Negotiation Copy STATUS will be NOT_ENTERED
6778         -- 2.  for Draff Negotiation Copy STATUS will be NOT_ENTERED
6779         --
6780         IF (p_copy_type = g_active_neg_copy OR p_copy_type = g_draft_neg_copy) THEN
6781 
6782                 INSERT INTO PON_FORMS_INSTANCES
6783                 (        ENTITY_CODE,
6784                          ENTITY_PK1,
6785                          FORM_ID,
6786                          STATUS,
6787                          CREATION_DATE,
6788                          CREATED_BY,
6789                          LAST_UPDATE_DATE,
6790                          LAST_UPDATED_BY,
6791                          LAST_UPDATE_LOGIN,
6792                          XML_LAST_SENT_DATE
6793                 )
6794                 (SELECT
6795                         FI.ENTITY_CODE,
6796                         TO_CHAR(p_auction_header_id),
6797                         FI.FORM_ID,
6798                         decode (FI.FORM_ID,
6799                                 l_abstract_id, NULL,
6800                                 'NOT_ENTERED'),  -- STATUS
6801                         SYSDATE,
6802                         p_user_id,
6803                         SYSDATE,
6804                         p_user_id,
6805                         p_user_id,
6806                         NULL
6807                 FROM  PON_FORMS_INSTANCES FI,
6808                       PON_FORMS_SECTIONS FS
6809                 WHERE  ENTITY_CODE = 'PON_AUCTION_HEADERS_ALL'
6810                 AND ENTITY_PK1 = TO_CHAR(p_source_auction_header_id)
6811                 AND FI.FORM_ID = FS.FORM_ID
6812                 AND FS.STATUS = 'ACTIVE');
6813         END IF;
6814 
6815         -- there will be an information message in case of any inactive sections
6816         SELECT
6817                 COUNT(1)
6818         INTO
6819                 l_inactive_sections
6820         FROM  PON_FORMS_INSTANCES FI,
6821                    PON_FORMS_SECTIONS FS
6822         WHERE  FI.ENTITY_CODE = 'PON_AUCTION_HEADERS_ALL'
6823         AND FI.ENTITY_PK1 = TO_CHAR(p_source_auction_header_id)
6824         AND FI.FORM_ID = FS.FORM_ID
6825         AND FS.STATUS = 'INACTIVE';
6826 
6827         IF (l_inactive_sections > 0) THEN
6828 
6829                 -- The way I am adding this error may get changed in the future.
6830                 -- So, please be aware of that
6831                 FND_MESSAGE.SET_NAME('PON','PON_INACTIVE_FORMS_COPY_INFO');
6832                 FND_MSG_PUB.ADD;
6833 
6834                 -- Set the status
6835                 g_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
6836         END IF;
6837 
6838         -- Call the COPY_FORM_CHILDREN to copy children
6839         LOG_MESSAGE('copy_negotiation','Copy Form and section children data is starting');
6840 
6841         COPY_FORM_CHILDREN (
6842                          p_source_auction_header_id        => p_source_auction_header_id,
6843                          p_auction_header_id               => p_auction_header_id,
6844                          p_user_id                         => p_user_id,
6845                          p_doctype_id                      => p_doctype_id,
6846                          p_source_doctype_id         => p_source_doctype_id,
6847                          p_copy_type                       => p_copy_type);
6848 
6849  END;
6850  -- } End of COPY_FORM_DATA
6851 
6852  --
6853  -- Procedure to copy the Event Abstract Forms related data.
6854  --
6855  PROCEDURE COPY_FORM_CHILDREN (
6856                          p_source_auction_header_id        IN NUMBER,
6857                          p_auction_header_id               IN NUMBER,
6858                          p_user_id                         IN NUMBER,
6859                          p_doctype_id                      IN NUMBER,
6860                          p_source_doctype_id               IN NUMBER,
6861                          p_copy_type                       IN VARCHAR2)
6862  IS
6863 
6864         CURSOR c_negotiation_forms IS
6865                 SELECT
6866                         FI.FORM_ID
6867                 FROM PON_FORMS_INSTANCES FI,
6868                           PON_FORMS_SECTIONS FS
6869                 WHERE FI.ENTITY_CODE = 'PON_AUCTION_HEADERS_ALL'
6870                 AND FI.ENTITY_PK1 = TO_CHAR(p_source_auction_header_id)
6871                 AND FI.FORM_ID = FS.FORM_ID
6872                 AND FS.STATUS = 'ACTIVE';
6873 
6874         l_has_children NUMBER;
6875         l_orig_parent_field_val_fk NUMBER;
6876 
6877 
6878  BEGIN
6879   -- { Start of COPY_FORM_CHILDREN
6880 
6881     FOR form IN c_negotiation_forms LOOP
6882     -- {
6883             SELECT
6884                     COUNT(1)
6885             INTO
6886                     l_has_children
6887             FROM PON_FORM_FIELD_VALUES
6888             WHERE FORM_ID = form.FORM_ID
6889             AND OWNING_ENTITY_CODE = 'PON_AUCTION_HEADERS_ALL'
6890             AND ENTITY_PK1 = TO_CHAR(p_source_auction_header_id)
6891             AND PARENT_FIELD_VALUES_FK = -1;
6892 
6893             IF l_has_children > 0 THEN
6894 
6895                     SELECT
6896                             FORM_FIELD_VALUE_ID
6897                     INTO
6898                             l_orig_parent_field_val_fk
6899                     FROM PON_FORM_FIELD_VALUES
6900                     WHERE FORM_ID = form.FORM_ID
6901                     AND OWNING_ENTITY_CODE = 'PON_AUCTION_HEADERS_ALL'
6902                     AND ENTITY_PK1 = TO_CHAR(p_source_auction_header_id)
6903                     AND PARENT_FIELD_VALUES_FK = -1;
6904 
6905                     COPY_FORM_FIELD_CHILDREN (
6906                                      p_orig_parent_fld_values_fk        => -1,
6907                                      p_new_parent_field_values_fk       => -1,
6908                                      p_user_id                          => p_user_id,
6909                                      p_new_entity_pk1                   => to_char(p_auction_header_id),
6910                                      p_form_id                          => form.FORM_ID,
6911                                      p_old_entity_pk1                   => to_char(p_source_auction_header_id));
6912 
6913             END IF;
6914     -- }
6915     END LOOP;
6916  END;
6917  -- } End of COPY_FORM_CHILDREN
6918 
6919  --
6920  -- Procedure to copy the Event Abstract Form Fields data.
6921  --
6922  PROCEDURE COPY_FORM_FIELD_CHILDREN (
6923                          p_orig_parent_fld_values_fk        IN NUMBER,
6924                          p_new_parent_field_values_fk       IN NUMBER,
6925                          p_user_id                          IN NUMBER,
6926                          p_new_entity_pk1                   IN VARCHAR2,
6927                          p_form_id                          IN NUMBER,
6928                          p_old_entity_pk1                   IN VARCHAR2)
6929  IS
6930 
6931         l_new_field_values_fk NUMBER;
6932 
6933         CURSOR c_field_values_cursor IS
6934                 SELECT
6935                         FORM_FIELD_VALUE_ID,
6936                         FORM_ID ,
6937                         OWNING_ENTITY_CODE ,
6938                         ENTITY_PK1 ,
6939                         SECTION_ID ,
6940                         PARENT_FIELD_VALUES_FK ,
6941                         TEXTCOL1 ,
6942                         TEXTCOL2 ,
6943                         TEXTCOL3 ,
6944                         TEXTCOL4 ,
6945                         TEXTCOL5 ,
6946                         TEXTCOL6 ,
6947                         TEXTCOL7 ,
6948                         TEXTCOL8 ,
6949                         TEXTCOL9 ,
6950                         TEXTCOL10,
6951                         TEXTCOL11,
6952                         TEXTCOL12,
6953                         TEXTCOL13,
6954                         TEXTCOL14,
6955                         TEXTCOL15,
6956                         TEXTCOL16,
6957                         TEXTCOL17,
6958                         TEXTCOL18,
6959                         TEXTCOL19,
6960                         TEXTCOL20,
6961                         TEXTCOL21,
6962                         TEXTCOL22,
6963                         TEXTCOL23,
6964                         TEXTCOL24,
6965                         TEXTCOL25,
6966                         TEXTCOL26,
6967                         TEXTCOL27,
6968                         TEXTCOL28,
6969                         TEXTCOL29,
6970                         TEXTCOL30,
6971                         TEXTCOL31,
6972                         TEXTCOL32,
6973                         TEXTCOL33,
6974                         TEXTCOL34,
6975                         TEXTCOL35,
6976                         TEXTCOL36,
6977                         TEXTCOL37,
6978                         TEXTCOL38,
6979                         TEXTCOL39,
6980                         TEXTCOL40,
6981                         TEXTCOL41,
6982                         TEXTCOL42,
6983                         TEXTCOL43,
6984                         TEXTCOL44,
6985                         TEXTCOL45,
6986                         TEXTCOL46,
6987                         TEXTCOL47,
6988                         TEXTCOL48,
6989                         TEXTCOL49,
6990                         TEXTCOL50,
6991                         TEXTCOL51,
6992                         TEXTCOL52,
6993                         TEXTCOL53,
6994                         TEXTCOL54,
6995                         TEXTCOL55,
6996                         TEXTCOL56,
6997                         TEXTCOL57,
6998                         TEXTCOL58,
6999                         TEXTCOL59,
7000                         TEXTCOL60,
7001                         TEXTCOL61,
7002                         TEXTCOL62,
7003                         TEXTCOL63,
7004                         TEXTCOL64,
7005                         TEXTCOL65,
7006                         TEXTCOL66,
7007                         TEXTCOL67,
7008                         TEXTCOL68,
7009                         TEXTCOL69,
7010                         TEXTCOL70,
7011                         TEXTCOL71,
7012                         TEXTCOL72,
7013                         TEXTCOL73,
7014                         TEXTCOL74,
7015                         TEXTCOL75,
7016                         TEXTCOL76,
7017                         TEXTCOL77,
7018                         TEXTCOL78,
7019                         TEXTCOL79,
7020                         TEXTCOL80,
7021                         TEXTCOL81,
7022                         TEXTCOL82,
7023                         TEXTCOL83,
7024                         TEXTCOL84,
7025                         TEXTCOL85,
7026                         TEXTCOL86,
7027                         TEXTCOL87,
7028                         TEXTCOL88,
7029                         TEXTCOL89,
7030                         TEXTCOL90,
7031                         TEXTCOL91,
7032                         TEXTCOL92,
7033                         TEXTCOL93,
7034                         TEXTCOL94,
7035                         TEXTCOL95,
7036                         TEXTCOL96,
7037                         TEXTCOL97,
7038                         TEXTCOL98,
7039                         TEXTCOL99,
7040                         TEXTCOL100 ,
7041                         TEXTCOL101 ,
7042                         TEXTCOL102 ,
7043                         TEXTCOL103 ,
7044                         TEXTCOL104 ,
7045                         TEXTCOL105 ,
7046                         TEXTCOL106 ,
7047                         TEXTCOL107 ,
7048                         TEXTCOL108 ,
7049                         TEXTCOL109 ,
7050                         TEXTCOL110 ,
7051                         TEXTCOL111 ,
7052                         TEXTCOL112 ,
7053                         TEXTCOL113 ,
7054                         TEXTCOL114 ,
7055                         TEXTCOL115 ,
7056                         TEXTCOL116 ,
7057                         TEXTCOL117 ,
7058                         TEXTCOL118 ,
7059                         TEXTCOL119 ,
7060                         TEXTCOL120 ,
7061                         TEXTCOL121 ,
7062                         TEXTCOL122 ,
7063                         TEXTCOL123 ,
7064                         TEXTCOL124 ,
7065                         TEXTCOL125 ,
7066                         TEXTCOL126 ,
7067                         TEXTCOL127 ,
7068                         TEXTCOL128 ,
7069                         TEXTCOL129 ,
7070                         TEXTCOL130 ,
7071                         TEXTCOL131 ,
7072                         TEXTCOL132 ,
7073                         TEXTCOL133 ,
7074                         TEXTCOL134 ,
7075                         TEXTCOL135 ,
7076                         TEXTCOL136 ,
7077                         TEXTCOL137 ,
7078                         TEXTCOL138 ,
7079                         TEXTCOL139 ,
7080                         TEXTCOL140 ,
7081                         TEXTCOL141 ,
7082                         TEXTCOL142 ,
7083                         TEXTCOL143 ,
7084                         TEXTCOL144 ,
7085                         TEXTCOL145 ,
7086                         TEXTCOL146 ,
7087                         TEXTCOL147 ,
7088                         TEXTCOL148 ,
7089                         TEXTCOL149 ,
7090                         TEXTCOL150 ,
7091                         TEXTCOL151 ,
7092                         TEXTCOL152 ,
7093                         TEXTCOL153 ,
7094                         TEXTCOL154 ,
7095                         TEXTCOL155 ,
7096                         TEXTCOL156 ,
7097                         TEXTCOL157 ,
7098                         TEXTCOL158 ,
7099                         TEXTCOL159 ,
7100                         TEXTCOL160 ,
7101                         TEXTCOL161 ,
7102                         TEXTCOL162 ,
7103                         TEXTCOL163 ,
7104                         TEXTCOL164 ,
7105                         TEXTCOL165 ,
7106                         TEXTCOL166 ,
7107                         TEXTCOL167 ,
7108                         TEXTCOL168 ,
7109                         TEXTCOL169 ,
7110                         TEXTCOL170 ,
7111                         TEXTCOL171 ,
7112                         TEXTCOL172 ,
7113                         TEXTCOL173 ,
7114                         TEXTCOL174 ,
7115                         TEXTCOL175 ,
7116                         TEXTCOL176 ,
7117                         TEXTCOL177 ,
7118                         TEXTCOL178 ,
7119                         TEXTCOL179 ,
7120                         TEXTCOL180 ,
7121                         TEXTCOL181 ,
7122                         TEXTCOL182 ,
7123                         TEXTCOL183 ,
7124                         TEXTCOL184 ,
7125                         TEXTCOL185 ,
7126                         TEXTCOL186 ,
7127                         TEXTCOL187 ,
7128                         TEXTCOL188 ,
7129                         TEXTCOL189 ,
7130                         TEXTCOL190 ,
7131                         TEXTCOL191 ,
7132                         TEXTCOL192 ,
7133                         TEXTCOL193 ,
7134                         TEXTCOL194 ,
7135                         TEXTCOL195 ,
7136                         TEXTCOL196 ,
7137                         TEXTCOL197 ,
7138                         TEXTCOL198 ,
7139                         TEXTCOL199 ,
7140                         TEXTCOL200 ,
7141                         TEXTCOL201 ,
7142                         TEXTCOL202 ,
7143                         TEXTCOL203 ,
7144                         TEXTCOL204 ,
7145                         TEXTCOL205 ,
7146                         TEXTCOL206 ,
7147                         TEXTCOL207 ,
7148                         TEXTCOL208 ,
7149                         TEXTCOL209 ,
7150                         TEXTCOL210 ,
7151                         TEXTCOL211 ,
7152                         TEXTCOL212 ,
7153                         TEXTCOL213 ,
7154                         TEXTCOL214 ,
7155                         TEXTCOL215 ,
7156                         TEXTCOL216 ,
7157                         TEXTCOL217 ,
7158                         TEXTCOL218 ,
7159                         TEXTCOL219 ,
7160                         TEXTCOL220 ,
7161                         TEXTCOL221 ,
7162                         TEXTCOL222 ,
7163                         TEXTCOL223 ,
7164                         TEXTCOL224 ,
7165                         TEXTCOL225 ,
7166                         TEXTCOL226 ,
7167                         TEXTCOL227 ,
7168                         TEXTCOL228 ,
7169                         TEXTCOL229 ,
7170                         TEXTCOL230 ,
7171                         TEXTCOL231 ,
7172                         TEXTCOL232 ,
7173                         TEXTCOL233 ,
7174                         TEXTCOL234 ,
7175                         TEXTCOL235 ,
7176                         TEXTCOL236 ,
7177                         TEXTCOL237 ,
7178                         TEXTCOL238 ,
7179                         TEXTCOL239 ,
7180                         TEXTCOL240 ,
7181                         TEXTCOL241 ,
7182                         TEXTCOL242 ,
7183                         TEXTCOL243 ,
7184                         TEXTCOL244 ,
7185                         TEXTCOL245 ,
7186                         TEXTCOL246 ,
7187                         TEXTCOL247 ,
7188                         TEXTCOL248 ,
7189                         TEXTCOL249 ,
7190                         TEXTCOL250 ,
7191                         DATECOL1 ,
7192                         DATECOL2 ,
7193                         DATECOL3 ,
7194                         DATECOL4 ,
7195                         DATECOL5 ,
7196                         DATECOL6 ,
7197                         DATECOL7 ,
7198                         DATECOL8 ,
7199                         DATECOL9 ,
7200                         DATECOL10,
7201                         DATECOL11,
7202                         DATECOL12,
7203                         DATECOL13,
7204                         DATECOL14,
7205                         DATECOL15,
7206                         DATECOL16,
7207                         DATECOL17,
7208                         DATECOL18,
7209                         DATECOL19,
7210                         DATECOL20,
7211                         DATECOL21,
7212                         DATECOL22,
7213                         DATECOL23,
7214                         DATECOL24,
7215                         DATECOL25,
7216                         DATECOL26,
7217                         DATECOL27,
7218                         DATECOL28,
7219                         DATECOL29,
7220                         DATECOL30,
7221                         DATECOL31,
7222                         DATECOL32,
7223                         DATECOL33,
7224                         DATECOL34,
7225                         DATECOL35,
7226                         DATECOL36,
7227                         DATECOL37,
7228                         DATECOL38,
7229                         DATECOL39,
7230                         DATECOL40,
7231                         DATECOL41,
7232                         DATECOL42,
7233                         DATECOL43,
7234                         DATECOL44,
7235                         DATECOL45,
7236                         DATECOL46,
7237                         DATECOL47,
7238                         DATECOL48,
7239                         DATECOL49,
7240                         DATECOL50 ,
7241                         NUMBERCOL1 ,
7242                         NUMBERCOL2 ,
7243                         NUMBERCOL3 ,
7244                         NUMBERCOL4 ,
7245                         NUMBERCOL5 ,
7246                         NUMBERCOL6 ,
7247                         NUMBERCOL7 ,
7248                         NUMBERCOL8 ,
7249                         NUMBERCOL9 ,
7250                         NUMBERCOL10,
7251                         NUMBERCOL11,
7252                         NUMBERCOL12,
7253                         NUMBERCOL13,
7254                         NUMBERCOL14,
7255                         NUMBERCOL15,
7256                         NUMBERCOL16,
7257                         NUMBERCOL17,
7258                         NUMBERCOL18,
7259                         NUMBERCOL19,
7260                         NUMBERCOL20,
7261                         NUMBERCOL21,
7262                         NUMBERCOL22,
7263                         NUMBERCOL23,
7264                         NUMBERCOL24,
7265                         NUMBERCOL25,
7266                         NUMBERCOL26,
7267                         NUMBERCOL27,
7268                         NUMBERCOL28,
7269                         NUMBERCOL29,
7270                         NUMBERCOL30,
7271                         NUMBERCOL31,
7272                         NUMBERCOL32,
7273                         NUMBERCOL33,
7274                         NUMBERCOL34,
7275                         NUMBERCOL35,
7276                         NUMBERCOL36,
7277                         NUMBERCOL37,
7278                         NUMBERCOL38,
7279                         NUMBERCOL39,
7280                         NUMBERCOL40,
7281                         NUMBERCOL41,
7282                         NUMBERCOL42,
7283                         NUMBERCOL43,
7284                         NUMBERCOL44,
7285                         NUMBERCOL45,
7286                         NUMBERCOL46,
7287                         NUMBERCOL47,
7288                         NUMBERCOL48,
7289                         NUMBERCOL49,
7290                         NUMBERCOL50,
7291                         CREATION_DATE ,
7292                         CREATED_BY ,
7293                         LAST_UPDATE_DATE ,
7294                         LAST_UPDATED_BY ,
7295                         LAST_UPDATE_LOGIN
7296                 FROM  PON_FORM_FIELD_VALUES
7297                 WHERE  PARENT_FIELD_VALUES_FK = p_orig_parent_fld_values_fk
7298                 AND FORM_ID = p_form_id
7299                 AND ENTITY_PK1 = p_old_entity_pk1
7300                 AND OWNING_ENTITY_CODE='PON_AUCTION_HEADERS_ALL';
7301 
7302 
7303  BEGIN
7304  -- { Start of COPY_FORM_FIELD_CHILDREN
7305 
7306         FOR field_value IN c_field_values_cursor LOOP
7307         -- {
7308 
7309                 SELECT
7310                         PON_FORM_FIELD_VALUES_S.NEXTVAL
7311                 INTO
7312                         l_new_field_values_fk
7313                 FROM DUAL;
7314 
7315                 INSERT INTO
7316                         PON_FORM_FIELD_VALUES
7317                 (
7318                         FORM_FIELD_VALUE_ID,
7319                         FORM_ID,
7320                         OWNING_ENTITY_CODE,
7321                         ENTITY_PK1,
7322                         SECTION_ID,
7323                         PARENT_FIELD_VALUES_FK,
7324                         TEXTCOL1,
7325                         TEXTCOL2,
7326                         TEXTCOL3,
7327                         TEXTCOL4,
7328                         TEXTCOL5,
7329                         TEXTCOL6,
7330                         TEXTCOL7,
7331                         TEXTCOL8,
7332                         TEXTCOL9,
7333                         TEXTCOL10,
7334                         TEXTCOL11,
7335                         TEXTCOL12,
7336                         TEXTCOL13,
7337                         TEXTCOL14,
7338                         TEXTCOL15,
7339                         TEXTCOL16,
7340                         TEXTCOL17,
7341                         TEXTCOL18,
7342                         TEXTCOL19,
7343                         TEXTCOL20,
7344                         TEXTCOL21,
7345                         TEXTCOL22,
7346                         TEXTCOL23,
7347                         TEXTCOL24,
7348                         TEXTCOL25,
7349                         TEXTCOL26,
7350                         TEXTCOL27,
7351                         TEXTCOL28,
7352                         TEXTCOL29,
7353                         TEXTCOL30,
7354                         TEXTCOL31,
7355                         TEXTCOL32,
7356                         TEXTCOL33,
7357                         TEXTCOL34,
7358                         TEXTCOL35,
7359                         TEXTCOL36,
7360                         TEXTCOL37,
7361                         TEXTCOL38,
7362                         TEXTCOL39,
7363                         TEXTCOL40,
7364                         TEXTCOL41,
7365                         TEXTCOL42,
7366                         TEXTCOL43,
7367                         TEXTCOL44,
7368                         TEXTCOL45,
7369                         TEXTCOL46,
7370                         TEXTCOL47,
7371                         TEXTCOL48,
7372                         TEXTCOL49,
7373                         TEXTCOL50,
7374                         TEXTCOL51,
7375                         TEXTCOL52,
7376                         TEXTCOL53,
7377                         TEXTCOL54,
7378                         TEXTCOL55,
7379                         TEXTCOL56,
7380                         TEXTCOL57,
7381                         TEXTCOL58,
7382                         TEXTCOL59,
7383                         TEXTCOL60,
7384                         TEXTCOL61,
7385                         TEXTCOL62,
7386                         TEXTCOL63,
7387                         TEXTCOL64,
7388                         TEXTCOL65,
7389                         TEXTCOL66,
7390                         TEXTCOL67,
7391                         TEXTCOL68,
7392                         TEXTCOL69,
7393                         TEXTCOL70,
7394                         TEXTCOL71,
7395                         TEXTCOL72,
7396                         TEXTCOL73,
7397                         TEXTCOL74,
7398                         TEXTCOL75,
7399                         TEXTCOL76,
7400                         TEXTCOL77,
7401                         TEXTCOL78,
7402                         TEXTCOL79,
7403                         TEXTCOL80,
7404                         TEXTCOL81,
7405                         TEXTCOL82,
7406                         TEXTCOL83,
7407                         TEXTCOL84,
7408                         TEXTCOL85,
7409                         TEXTCOL86,
7410                         TEXTCOL87,
7411                         TEXTCOL88,
7412                         TEXTCOL89,
7413                         TEXTCOL90,
7414                         TEXTCOL91,
7415                         TEXTCOL92,
7416                         TEXTCOL93,
7417                         TEXTCOL94,
7418                         TEXTCOL95,
7419                         TEXTCOL96,
7420                         TEXTCOL97,
7421                         TEXTCOL98,
7422                         TEXTCOL99,
7423                         TEXTCOL100,
7424                         TEXTCOL101,
7425                         TEXTCOL102,
7426                         TEXTCOL103,
7427                         TEXTCOL104,
7428                         TEXTCOL105,
7429                         TEXTCOL106,
7430                         TEXTCOL107,
7431                         TEXTCOL108,
7432                         TEXTCOL109,
7433                         TEXTCOL110,
7434                         TEXTCOL111,
7435                         TEXTCOL112,
7436                         TEXTCOL113,
7437                         TEXTCOL114,
7438                         TEXTCOL115,
7439                         TEXTCOL116,
7440                         TEXTCOL117,
7441                         TEXTCOL118,
7442                         TEXTCOL119,
7443                         TEXTCOL120,
7444                         TEXTCOL121,
7445                         TEXTCOL122,
7446                         TEXTCOL123,
7447                         TEXTCOL124,
7448                         TEXTCOL125,
7449                         TEXTCOL126,
7450                         TEXTCOL127,
7451                         TEXTCOL128,
7452                         TEXTCOL129,
7453                         TEXTCOL130,
7454                         TEXTCOL131,
7455                         TEXTCOL132,
7456                         TEXTCOL133,
7457                         TEXTCOL134,
7458                         TEXTCOL135,
7459                         TEXTCOL136,
7460                         TEXTCOL137,
7461                         TEXTCOL138,
7462                         TEXTCOL139,
7463                         TEXTCOL140,
7464                         TEXTCOL141,
7465                         TEXTCOL142,
7466                         TEXTCOL143,
7467                         TEXTCOL144,
7468                         TEXTCOL145,
7469                         TEXTCOL146,
7470                         TEXTCOL147,
7471                         TEXTCOL148,
7472                         TEXTCOL149,
7473                         TEXTCOL150,
7474                         TEXTCOL151,
7475                         TEXTCOL152,
7476                         TEXTCOL153,
7477                         TEXTCOL154,
7478                         TEXTCOL155,
7479                         TEXTCOL156,
7480                         TEXTCOL157,
7481                         TEXTCOL158,
7482                         TEXTCOL159,
7483                         TEXTCOL160,
7484                         TEXTCOL161,
7485                         TEXTCOL162,
7486                         TEXTCOL163,
7487                         TEXTCOL164,
7488                         TEXTCOL165,
7489                         TEXTCOL166,
7490                         TEXTCOL167,
7491                         TEXTCOL168,
7492                         TEXTCOL169,
7493                         TEXTCOL170,
7494                         TEXTCOL171,
7495                         TEXTCOL172,
7496                         TEXTCOL173,
7497                         TEXTCOL174,
7498                         TEXTCOL175,
7499                         TEXTCOL176,
7500                         TEXTCOL177,
7501                         TEXTCOL178,
7502                         TEXTCOL179,
7503                         TEXTCOL180,
7504                         TEXTCOL181,
7505                         TEXTCOL182,
7506                         TEXTCOL183,
7507                         TEXTCOL184,
7508                         TEXTCOL185,
7509                         TEXTCOL186,
7510                         TEXTCOL187,
7511                         TEXTCOL188,
7512                         TEXTCOL189,
7513                         TEXTCOL190,
7514                         TEXTCOL191,
7515                         TEXTCOL192,
7516                         TEXTCOL193,
7517                         TEXTCOL194,
7518                         TEXTCOL195,
7519                         TEXTCOL196,
7520                         TEXTCOL197,
7521                         TEXTCOL198,
7522                         TEXTCOL199,
7523                         TEXTCOL200,
7524                         TEXTCOL201,
7525                         TEXTCOL202,
7526                         TEXTCOL203,
7527                         TEXTCOL204,
7528                         TEXTCOL205,
7529                         TEXTCOL206,
7530                         TEXTCOL207,
7531                         TEXTCOL208,
7532                         TEXTCOL209,
7533                         TEXTCOL210,
7534                         TEXTCOL211,
7535                         TEXTCOL212,
7536                         TEXTCOL213,
7537                         TEXTCOL214,
7538                         TEXTCOL215,
7539                         TEXTCOL216,
7540                         TEXTCOL217,
7541                         TEXTCOL218,
7542                         TEXTCOL219,
7543                         TEXTCOL220,
7544                         TEXTCOL221,
7545                         TEXTCOL222,
7546                         TEXTCOL223,
7547                         TEXTCOL224,
7548                         TEXTCOL225,
7549                         TEXTCOL226,
7550                         TEXTCOL227,
7551                         TEXTCOL228,
7552                         TEXTCOL229,
7553                         TEXTCOL230,
7554                         TEXTCOL231,
7555                         TEXTCOL232,
7556                         TEXTCOL233,
7557                         TEXTCOL234,
7558                         TEXTCOL235,
7559                         TEXTCOL236,
7560                         TEXTCOL237,
7561                         TEXTCOL238,
7562                         TEXTCOL239,
7563                         TEXTCOL240,
7564                         TEXTCOL241,
7565                         TEXTCOL242,
7566                         TEXTCOL243,
7567                         TEXTCOL244,
7568                         TEXTCOL245,
7569                         TEXTCOL246,
7570                         TEXTCOL247,
7571                         TEXTCOL248,
7572                         TEXTCOL249,
7573                         TEXTCOL250,
7574                         DATECOL1,
7575                         DATECOL2,
7576                         DATECOL3,
7577                         DATECOL4,
7578                         DATECOL5,
7579                         DATECOL6,
7580                         DATECOL7,
7581                         DATECOL8,
7582                         DATECOL9,
7583                         DATECOL10,
7584                         DATECOL11,
7585                         DATECOL12,
7586                         DATECOL13,
7587                         DATECOL14,
7588                         DATECOL15,
7589                         DATECOL16,
7590                         DATECOL17,
7591                         DATECOL18,
7592                         DATECOL19,
7593                         DATECOL20,
7594                         DATECOL21,
7595                         DATECOL22,
7596                         DATECOL23,
7597                         DATECOL24,
7598                         DATECOL25,
7599                         DATECOL26,
7600                         DATECOL27,
7601                         DATECOL28,
7602                         DATECOL29,
7603                         DATECOL30,
7604                         DATECOL31,
7605                         DATECOL32,
7606                         DATECOL33,
7607                         DATECOL34,
7608                         DATECOL35,
7609                         DATECOL36,
7610                         DATECOL37,
7611                         DATECOL38,
7612                         DATECOL39,
7613                         DATECOL40,
7614                         DATECOL41,
7615                         DATECOL42,
7616                         DATECOL43,
7617                         DATECOL44,
7618                         DATECOL45,
7619                         DATECOL46,
7620                         DATECOL47,
7621                         DATECOL48,
7622                         DATECOL49,
7623                         DATECOL50,
7624                         NUMBERCOL1,
7625                         NUMBERCOL2,
7626                         NUMBERCOL3,
7627                         NUMBERCOL4,
7628                         NUMBERCOL5,
7629                         NUMBERCOL6,
7630                         NUMBERCOL7,
7631                         NUMBERCOL8,
7632                         NUMBERCOL9,
7633                         NUMBERCOL10,
7634                         NUMBERCOL11,
7635                         NUMBERCOL12,
7636                         NUMBERCOL13,
7637                         NUMBERCOL14,
7638                         NUMBERCOL15,
7639                         NUMBERCOL16,
7640                         NUMBERCOL17,
7641                         NUMBERCOL18,
7642                         NUMBERCOL19,
7643                         NUMBERCOL20,
7644                         NUMBERCOL21,
7645                         NUMBERCOL22,
7646                         NUMBERCOL23,
7647                         NUMBERCOL24,
7648                         NUMBERCOL25,
7649                         NUMBERCOL26,
7650                         NUMBERCOL27,
7651                         NUMBERCOL28,
7652                         NUMBERCOL29,
7653                         NUMBERCOL30,
7654                         NUMBERCOL31,
7655                         NUMBERCOL32,
7656                         NUMBERCOL33,
7657                         NUMBERCOL34,
7658                         NUMBERCOL35,
7659                         NUMBERCOL36,
7660                         NUMBERCOL37,
7661                         NUMBERCOL38,
7662                         NUMBERCOL39,
7663                         NUMBERCOL40,
7664                         NUMBERCOL41,
7665                         NUMBERCOL42,
7666                         NUMBERCOL43,
7667                         NUMBERCOL44,
7668                         NUMBERCOL45,
7669                         NUMBERCOL46,
7670                         NUMBERCOL47,
7671                         NUMBERCOL48,
7672                         NUMBERCOL49,
7673                         NUMBERCOL50,
7674                         CREATION_DATE,
7675                         CREATED_BY,
7676                         LAST_UPDATE_DATE,
7677                         LAST_UPDATED_BY,
7678                         LAST_UPDATE_LOGIN
7679                 )
7680                 VALUES
7681                 (
7682                         l_new_field_values_fk,
7683                         field_value.FORM_ID,
7684                         'PON_AUCTION_HEADERS_ALL',
7685                         p_new_entity_pk1,
7686                         field_value.SECTION_ID,
7687                         p_new_parent_field_values_fk,
7688                         field_value.TEXTCOL1,
7689                         field_value.TEXTCOL2,
7690                         field_value.TEXTCOL3,
7691                         field_value.TEXTCOL4,
7692                         field_value.TEXTCOL5,
7693                         field_value.TEXTCOL6,
7694                         field_value.TEXTCOL7,
7695                         field_value.TEXTCOL8,
7696                         field_value.TEXTCOL9,
7697                         field_value.TEXTCOL10,
7698                         field_value.TEXTCOL11,
7699                         field_value.TEXTCOL12,
7700                         field_value.TEXTCOL13,
7701                         field_value.TEXTCOL14,
7702                         field_value.TEXTCOL15,
7703                         field_value.TEXTCOL16,
7704                         field_value.TEXTCOL17,
7705                         field_value.TEXTCOL18,
7706                         field_value.TEXTCOL19,
7707                         field_value.TEXTCOL20,
7708                         field_value.TEXTCOL21,
7709                         field_value.TEXTCOL22,
7710                         field_value.TEXTCOL23,
7711                         field_value.TEXTCOL24,
7712                         field_value.TEXTCOL25,
7713                         field_value.TEXTCOL26,
7714                         field_value.TEXTCOL27,
7715                         field_value.TEXTCOL28,
7716                         field_value.TEXTCOL29,
7717                         field_value.TEXTCOL30,
7718                         field_value.TEXTCOL31,
7719                         field_value.TEXTCOL32,
7720                         field_value.TEXTCOL33,
7721                         field_value.TEXTCOL34,
7722                         field_value.TEXTCOL35,
7723                         field_value.TEXTCOL36,
7724                         field_value.TEXTCOL37,
7725                         field_value.TEXTCOL38,
7726                         field_value.TEXTCOL39,
7727                         field_value.TEXTCOL40,
7728                         field_value.TEXTCOL41,
7729                         field_value.TEXTCOL42,
7730                         field_value.TEXTCOL43,
7731                         field_value.TEXTCOL44,
7732                         field_value.TEXTCOL45,
7733                         field_value.TEXTCOL46,
7734                         field_value.TEXTCOL47,
7735                         field_value.TEXTCOL48,
7736                         field_value.TEXTCOL49,
7737                         field_value.TEXTCOL50,
7738                         field_value.TEXTCOL51,
7739                         field_value.TEXTCOL52,
7740                         field_value.TEXTCOL53,
7741                         field_value.TEXTCOL54,
7742                         field_value.TEXTCOL55,
7743                         field_value.TEXTCOL56,
7744                         field_value.TEXTCOL57,
7745                         field_value.TEXTCOL58,
7746                         field_value.TEXTCOL59,
7747                         field_value.TEXTCOL60,
7748                         field_value.TEXTCOL61,
7749                         field_value.TEXTCOL62,
7750                         field_value.TEXTCOL63,
7751                         field_value.TEXTCOL64,
7752                         field_value.TEXTCOL65,
7753                         field_value.TEXTCOL66,
7754                         field_value.TEXTCOL67,
7755                         field_value.TEXTCOL68,
7756                         field_value.TEXTCOL69,
7757                         field_value.TEXTCOL70,
7758                         field_value.TEXTCOL71,
7759                         field_value.TEXTCOL72,
7760                         field_value.TEXTCOL73,
7761                         field_value.TEXTCOL74,
7762                         field_value.TEXTCOL75,
7763                         field_value.TEXTCOL76,
7764                         field_value.TEXTCOL77,
7765                         field_value.TEXTCOL78,
7766                         field_value.TEXTCOL79,
7767                         field_value.TEXTCOL80,
7768                         field_value.TEXTCOL81,
7769                         field_value.TEXTCOL82,
7770                         field_value.TEXTCOL83,
7771                         field_value.TEXTCOL84,
7772                         field_value.TEXTCOL85,
7773                         field_value.TEXTCOL86,
7774                         field_value.TEXTCOL87,
7775                         field_value.TEXTCOL88,
7776                         field_value.TEXTCOL89,
7777                         field_value.TEXTCOL90,
7778                         field_value.TEXTCOL91,
7779                         field_value.TEXTCOL92,
7780                         field_value.TEXTCOL93,
7781                         field_value.TEXTCOL94,
7782                         field_value.TEXTCOL95,
7783                         field_value.TEXTCOL96,
7784                         field_value.TEXTCOL97,
7785                         field_value.TEXTCOL98,
7786                         field_value.TEXTCOL99,
7787                         field_value.TEXTCOL100,
7788                         field_value.TEXTCOL101,
7789                         field_value.TEXTCOL102,
7790                         field_value.TEXTCOL103,
7791                         field_value.TEXTCOL104,
7792                         field_value.TEXTCOL105,
7793                         field_value.TEXTCOL106,
7794                         field_value.TEXTCOL107,
7795                         field_value.TEXTCOL108,
7796                         field_value.TEXTCOL109,
7797                         field_value.TEXTCOL110,
7798                         field_value.TEXTCOL111,
7799                         field_value.TEXTCOL112,
7800                         field_value.TEXTCOL113,
7801                         field_value.TEXTCOL114,
7802                         field_value.TEXTCOL115,
7803                         field_value.TEXTCOL116,
7804                         field_value.TEXTCOL117,
7805                         field_value.TEXTCOL118,
7806                         field_value.TEXTCOL119,
7807                         field_value.TEXTCOL120,
7808                         field_value.TEXTCOL121,
7809                         field_value.TEXTCOL122,
7810                         field_value.TEXTCOL123,
7811                         field_value.TEXTCOL124,
7812                         field_value.TEXTCOL125,
7813                         field_value.TEXTCOL126,
7814                         field_value.TEXTCOL127,
7815                         field_value.TEXTCOL128,
7816                         field_value.TEXTCOL129,
7817                         field_value.TEXTCOL130,
7818                         field_value.TEXTCOL131,
7819                         field_value.TEXTCOL132,
7820                         field_value.TEXTCOL133,
7821                         field_value.TEXTCOL134,
7822                         field_value.TEXTCOL135,
7823                         field_value.TEXTCOL136,
7824                         field_value.TEXTCOL137,
7825                         field_value.TEXTCOL138,
7826                         field_value.TEXTCOL139,
7827                         field_value.TEXTCOL140,
7828                         field_value.TEXTCOL141,
7829                         field_value.TEXTCOL142,
7830                         field_value.TEXTCOL143,
7831                         field_value.TEXTCOL144,
7832                         field_value.TEXTCOL145,
7833                         field_value.TEXTCOL146,
7834                         field_value.TEXTCOL147,
7835                         field_value.TEXTCOL148,
7836                         field_value.TEXTCOL149,
7837                         field_value.TEXTCOL150,
7838                         field_value.TEXTCOL151,
7839                         field_value.TEXTCOL152,
7840                         field_value.TEXTCOL153,
7841                         field_value.TEXTCOL154,
7842                         field_value.TEXTCOL155,
7843                         field_value.TEXTCOL156,
7844                         field_value.TEXTCOL157,
7845                         field_value.TEXTCOL158,
7846                         field_value.TEXTCOL159,
7847                         field_value.TEXTCOL160,
7848                         field_value.TEXTCOL161,
7849                         field_value.TEXTCOL162,
7850                         field_value.TEXTCOL163,
7851                         field_value.TEXTCOL164,
7852                         field_value.TEXTCOL165,
7853                         field_value.TEXTCOL166,
7854                         field_value.TEXTCOL167,
7855                         field_value.TEXTCOL168,
7856                         field_value.TEXTCOL169,
7857                         field_value.TEXTCOL170,
7858                         field_value.TEXTCOL171,
7859                         field_value.TEXTCOL172,
7860                         field_value.TEXTCOL173,
7861                         field_value.TEXTCOL174,
7862                         field_value.TEXTCOL175,
7863                         field_value.TEXTCOL176,
7864                         field_value.TEXTCOL177,
7865                         field_value.TEXTCOL178,
7866                         field_value.TEXTCOL179,
7867                         field_value.TEXTCOL180,
7868                         field_value.TEXTCOL181,
7869                         field_value.TEXTCOL182,
7870                         field_value.TEXTCOL183,
7871                         field_value.TEXTCOL184,
7872                         field_value.TEXTCOL185,
7873                         field_value.TEXTCOL186,
7874                         field_value.TEXTCOL187,
7875                         field_value.TEXTCOL188,
7876                         field_value.TEXTCOL189,
7877                         field_value.TEXTCOL190,
7878                         field_value.TEXTCOL191,
7879                         field_value.TEXTCOL192,
7880                         field_value.TEXTCOL193,
7881                         field_value.TEXTCOL194,
7882                         field_value.TEXTCOL195,
7883                         field_value.TEXTCOL196,
7884                         field_value.TEXTCOL197,
7885                         field_value.TEXTCOL198,
7886                         field_value.TEXTCOL199,
7887                         field_value.TEXTCOL200,
7888                         field_value.TEXTCOL201,
7889                         field_value.TEXTCOL202,
7890                         field_value.TEXTCOL203,
7891                         field_value.TEXTCOL204,
7892                         field_value.TEXTCOL205,
7893                         field_value.TEXTCOL206,
7894                         field_value.TEXTCOL207,
7895                         field_value.TEXTCOL208,
7896                         field_value.TEXTCOL209,
7897                         field_value.TEXTCOL210,
7898                         field_value.TEXTCOL211,
7899                         field_value.TEXTCOL212,
7900                         field_value.TEXTCOL213,
7901                         field_value.TEXTCOL214,
7902                         field_value.TEXTCOL215,
7903                         field_value.TEXTCOL216,
7904                         field_value.TEXTCOL217,
7905                         field_value.TEXTCOL218,
7906                         field_value.TEXTCOL219,
7907                         field_value.TEXTCOL220,
7908                         field_value.TEXTCOL221,
7909                         field_value.TEXTCOL222,
7910                         field_value.TEXTCOL223,
7911                         field_value.TEXTCOL224,
7912                         field_value.TEXTCOL225,
7913                         field_value.TEXTCOL226,
7914                         field_value.TEXTCOL227,
7915                         field_value.TEXTCOL228,
7916                         field_value.TEXTCOL229,
7917                         field_value.TEXTCOL230,
7918                         field_value.TEXTCOL231,
7919                         field_value.TEXTCOL232,
7920                         field_value.TEXTCOL233,
7921                         field_value.TEXTCOL234,
7922                         field_value.TEXTCOL235,
7923                         field_value.TEXTCOL236,
7924                         field_value.TEXTCOL237,
7925                         field_value.TEXTCOL238,
7926                         field_value.TEXTCOL239,
7927                         field_value.TEXTCOL240,
7928                         field_value.TEXTCOL241,
7929                         field_value.TEXTCOL242,
7930                         field_value.TEXTCOL243,
7931                         field_value.TEXTCOL244,
7932                         field_value.TEXTCOL245,
7933                         field_value.TEXTCOL246,
7934                         field_value.TEXTCOL247,
7935                         field_value.TEXTCOL248,
7936                         field_value.TEXTCOL249,
7937                         field_value.TEXTCOL250,
7938                         field_value.DATECOL1,
7939                         field_value.DATECOL2,
7940                         field_value.DATECOL3,
7941                         field_value.DATECOL4,
7942                         field_value.DATECOL5,
7943                         field_value.DATECOL6,
7944                         field_value.DATECOL7,
7945                         field_value.DATECOL8,
7946                         field_value.DATECOL9,
7947                         field_value.DATECOL10,
7948                         field_value.DATECOL11,
7949                         field_value.DATECOL12,
7950                         field_value.DATECOL13,
7951                         field_value.DATECOL14,
7952                         field_value.DATECOL15,
7953                         field_value.DATECOL16,
7954                         field_value.DATECOL17,
7955                         field_value.DATECOL18,
7956                         field_value.DATECOL19,
7957                         field_value.DATECOL20,
7958                         field_value.DATECOL21,
7959                         field_value.DATECOL22,
7960                         field_value.DATECOL23,
7961                         field_value.DATECOL24,
7962                         field_value.DATECOL25,
7963                         field_value.DATECOL26,
7964                         field_value.DATECOL27,
7965                         field_value.DATECOL28,
7966                         field_value.DATECOL29,
7967                         field_value.DATECOL30,
7968                         field_value.DATECOL31,
7969                         field_value.DATECOL32,
7970                         field_value.DATECOL33,
7971                         field_value.DATECOL34,
7972                         field_value.DATECOL35,
7973                         field_value.DATECOL36,
7974                         field_value.DATECOL37,
7975                         field_value.DATECOL38,
7976                         field_value.DATECOL39,
7977                         field_value.DATECOL40,
7978                         field_value.DATECOL41,
7979                         field_value.DATECOL42,
7980                         field_value.DATECOL43,
7981                         field_value.DATECOL44,
7982                         field_value.DATECOL45,
7983                         field_value.DATECOL46,
7984                         field_value.DATECOL47,
7985                         field_value.DATECOL48,
7986                         field_value.DATECOL49,
7987                         field_value.DATECOL50,
7988                         field_value.NUMBERCOL1,
7989                         field_value.NUMBERCOL2,
7990                         field_value.NUMBERCOL3,
7991                         field_value.NUMBERCOL4,
7992                         field_value.NUMBERCOL5,
7993                         field_value.NUMBERCOL6,
7994                         field_value.NUMBERCOL7,
7995                         field_value.NUMBERCOL8,
7996                         field_value.NUMBERCOL9,
7997                         field_value.NUMBERCOL10,
7998                         field_value.NUMBERCOL11,
7999                         field_value.NUMBERCOL12,
8000                         field_value.NUMBERCOL13,
8001                         field_value.NUMBERCOL14,
8002                         field_value.NUMBERCOL15,
8003                         field_value.NUMBERCOL16,
8004                         field_value.NUMBERCOL17,
8005                         field_value.NUMBERCOL18,
8006                         field_value.NUMBERCOL19,
8007                         field_value.NUMBERCOL20,
8008                         field_value.NUMBERCOL21,
8009                         field_value.NUMBERCOL22,
8010                         field_value.NUMBERCOL23,
8011                         field_value.NUMBERCOL24,
8012                         field_value.NUMBERCOL25,
8013                         field_value.NUMBERCOL26,
8014                         field_value.NUMBERCOL27,
8015                         field_value.NUMBERCOL28,
8016                         field_value.NUMBERCOL29,
8017                         field_value.NUMBERCOL30,
8018                         field_value.NUMBERCOL31,
8019                         field_value.NUMBERCOL32,
8020                         field_value.NUMBERCOL33,
8021                         field_value.NUMBERCOL34,
8022                         field_value.NUMBERCOL35,
8023                         field_value.NUMBERCOL36,
8024                         field_value.NUMBERCOL37,
8025                         field_value.NUMBERCOL38,
8026                         field_value.NUMBERCOL39,
8027                         field_value.NUMBERCOL40,
8028                         field_value.NUMBERCOL41,
8029                         field_value.NUMBERCOL42,
8030                         field_value.NUMBERCOL43,
8031                         field_value.NUMBERCOL44,
8032                         field_value.NUMBERCOL45,
8033                         field_value.NUMBERCOL46,
8034                         field_value.NUMBERCOL47,
8035                         field_value.NUMBERCOL48,
8036                         field_value.NUMBERCOL49,
8037                         field_value.NUMBERCOL50,
8038                         SYSDATE,
8039                         p_user_id,
8040                         SYSDATE,
8041                         p_user_id,
8042                         p_user_id);
8043 
8044                 --
8045                 -- Recursive calls to copy nested children
8046                 --
8047                 COPY_FORM_FIELD_CHILDREN (
8048                                 p_orig_parent_fld_values_fk        => field_value.FORM_FIELD_VALUE_ID,
8049                                 p_new_parent_field_values_fk       => l_new_field_values_fk,
8050                                 p_user_id                          => p_user_id,
8051                                 p_new_entity_pk1                   => p_new_entity_pk1,
8052                                 p_form_id                          => p_form_id,
8053                                 p_old_entity_pk1                   => p_old_entity_pk1);
8054         -- }
8055         END LOOP;
8056 
8057 
8058  END;
8059  -- } End of COPY_FORM_FIELD_CHILDREN
8060 
8061 --This procedure copies all the attributes of an auction except the
8062 --header, which should have been already created by calling COPY_HEADER
8063 --procedure before calling this procedure.That is to say, a call to
8064 --this procedure must succeed the one to COPY_HEADER
8065 PROCEDURE COPY_LINES_AND_CHILDREN(
8066                     p_api_version                 IN          NUMBER,
8067                     p_init_msg_list               IN          VARCHAR2,
8068                     p_source_auction_header_id    IN          NUMBER,
8069                     p_destination_auction_hdr_id  IN          NUMBER,
8070                     p_trading_partner_id          IN          NUMBER ,
8071                     p_trading_partner_contact_id  IN          NUMBER ,
8072                     p_language                    IN          VARCHAR2,
8073                     p_user_id                     IN          NUMBER,
8074                     p_doctype_id                  IN          NUMBER,
8075                     p_copy_type                   IN          VARCHAR2,
8076                     p_is_award_approval_reqd      IN          VARCHAR2,
8077                     p_user_name                   IN          VARCHAR2,
8078                     p_mgr_id                      IN          NUMBER,
8079                     p_retain_clause               IN          VARCHAR2,
8080                     p_update_clause               IN          VARCHAR2,
8081                     p_retain_attachments          IN          VARCHAR2,
8082                     p_tpc_name                    IN          VARCHAR2,
8083                     p_tp_name                     IN          VARCHAR2,
8084                     p_source_doctype_id           IN          NUMBER,
8085                     p_org_id                      IN          NUMBER,
8086                     p_round_number                IN          NUMBER,
8087                     p_last_amendment_number       IN          NUMBER,
8088                     p_source_doc_num              IN          VARCHAR2,
8089                     p_style_id                    IN          NUMBER,
8090                     x_return_status               OUT NOCOPY  VARCHAR2,
8091                     x_msg_count                   OUT NOCOPY  NUMBER,
8092                     x_msg_data                    OUT NOCOPY  VARCHAR2
8093                     )
8094 IS
8095         CALL_COPY_PF_SUPPLIER_VALUES VARCHAR2(25):='FALSE' ;
8096         CALL_PON_LRG_DRAFT_TO_ORD_PF VARCHAR2(25):='FALSE';
8097         CALL_PON_LRG_DRAFT_TO_LRG_PF VARCHAR2(25):='FALSE';
8098         CALL_PON_ORD_DRAFT_TO_LRG_PF VARCHAR2(25) := 'FALSE';
8099         CURRENT_STATUS VARCHAR2(25);
8100         IS_LARGE_SOURCE VARCHAR2(1);
8101         IS_LARGE_DESTINATION VARCHAR2(1);
8102         l_auction_header_id NUMBER := p_destination_auction_hdr_id;
8103         l_tp_id NUMBER := p_trading_partner_id;
8104         l_tp_contact_id NUMBER := p_trading_partner_contact_id;
8105         l_tp_name HZ_PARTIES.PARTY_NAME%TYPE := NULL;
8106         l_tpc_name  HZ_PARTIES.PARTY_NAME%TYPE := NULL;
8107         l_user_id NUMBER := p_user_id;
8108         l_source_doctype_id NUMBER := p_source_doctype_id;
8109         l_round_number NUMBER := p_round_number;
8110         L_SOURCE_DOC_NUM VARCHAR2(25) := p_source_doc_num;
8111         L_ORG_ID  NUMBER := p_org_id;
8112         L_LAST_AMENDMENT_NUMBER NUMBER := p_last_amendment_number;
8113         L_IS_AMENDMENT VARCHAR2(20);
8114         L_RETAIN_ATTACHMENTS VARCHAR2(1);
8115         l_error_code_update VARCHAR2(2000);
8116         l_error_msg_update  VARCHAR2(2000);
8117         l_max_line_number NUMBER := NULL;
8118         l_batch_end NUMBER := NULL;
8119         l_batch_start NUMBER := NULL;
8120 
8121         l_name      PON_NEG_COPY_DATATYPES_GRP.VARCHAR100_TYPE;
8122         l_inactive_pe_name   VARCHAR2(4000);
8123         l_return_status VARCHAR2(1);
8124         l_batch_size NUMBER;
8125         l_last_line_number NUMBER;
8126         l_number_of_lines NUMBER;
8127 
8128         l_s_pe_enabled_flag VARCHAR2(1);
8129         l_s_bid_ranking VARCHAR2(240);
8130         l_s_line_attr_enabled_flag VARCHAR2(1);
8131         l_s_rfi_line_enabled_flag VARCHAR2(1);
8132         l_s_doctype_name VARCHAR2(240);
8133         l_s_pf_type_allowed VARCHAR2(25);
8134         l_s_contract_type PON_AUCTION_HEADERS_ALL.CONTRACT_TYPE%TYPE;
8135         l_s_global_agmt_flag VARCHAR2(1);
8136         l_s_lot_enabled_flag VARCHAR2(1);
8137         l_s_grp_enabled_flag VARCHAR2(1);
8138         l_s_has_hdr_attr_flag VARCHAR2(1);
8139         l_s_hdr_attr_enabled_flag VARCHAR2(1);
8140         l_s_attributes_exist VARCHAR2(240);
8141 
8142         l_d_mas_enabled_flag VARCHAR2(1);
8143         l_d_line_attr_enabled_flag VARCHAR2(1);
8144         l_d_rfi_line_enabled_flag VARCHAR2(1);
8145         l_d_doctype_name VARCHAR2(240);
8146         l_d_pe_enabled_flag VARCHAR2(1); --styles flag for PE
8147         l_d_po_style_id pon_auction_headers_all.po_style_id%type;
8148         l_d_pb_enabled_flag VARCHAR2(1); --styles flag for PB
8149         l_d_pd_enabled_flag VARCHAR2(1); --styles flag for PD
8150         l_contract_type     PON_AUCTION_HEADERS_ALL.CONTRACT_TYPE%TYPE;
8151         l_d_lot_enabled_flag VARCHAR2(1);
8152         l_d_grp_enabled_flag VARCHAR2(1);
8153         l_d_hdr_attr_enabled_flag VARCHAR2(1);
8154 
8155         l_dummy1     VARCHAR2(240);
8156         l_dummy2     VARCHAR2(240);
8157         l_dummy3     VARCHAR2(30);
8158         l_dummy4     VARCHAR2(30);
8159         l_dummy5     VARCHAR2(1);
8160         l_dummy6     VARCHAR2(1);
8161         l_dummy7     VARCHAR2(1);
8162         l_dummy8     VARCHAR2(1);
8163         l_dummy9     VARCHAR2(30);
8164 
8165         l_hdr_attributes_allowed boolean;
8166         l_line_attributes_allowed boolean;
8167         l_hdr_attr_scores_allowed boolean;
8168         l_line_attr_scores_allowed boolean;
8169         l_price_elements_allowed boolean;
8170         l_price_breaks_allowed boolean;
8171         l_price_differentials_allowed boolean;
8172 
8173         --staggered closing changes
8174         l_staggered_closing_interval NUMBER;
8175 
8176 BEGIN
8177 --{ Start of COPY_LINES_AND_CHILDREN
8178 
8179 LOG_MESSAGE('copy_lines_and_children','in COPY_LINES_AND_CHILDREN for '|| p_source_auction_header_id ||' to '||p_destination_auction_hdr_id);
8180         l_tp_name := p_tp_name;
8181         l_tpc_name := p_tpc_name;
8182         L_RETAIN_ATTACHMENTS := p_retain_attachments;
8183 
8184 --QUERY THE STYLES TABLE TO KNOW IF THE DESTINATION AUCTION IS A LARGE ONE OR
8185 --NOT
8186 
8187 
8188         select nvl(headers.LARGE_NEG_ENABLED_FLAG,'N'),
8189         headers.AUCTION_STATUS,
8190         nvl(styles.LARGE_NEG_ENABLED_FLAG,'N'),
8191         staggered_closing_interval into IS_LARGE_SOURCE,CURRENT_STATUS,IS_LARGE_DESTINATION,l_staggered_closing_interval
8192         from
8193         PON_AUCTION_HEADERS_ALL headers,
8194         PON_NEGOTIATION_STYLES styles
8195         where
8196         headers.AUCTION_HEADER_ID = p_source_auction_header_id and
8197         styles.STYLE_ID = p_style_id;
8198 
8199         LOG_MESSAGE('copy_lines_and_children','IS_LARGE_DESTINATION = '||IS_LARGE_DESTINATION);
8200 
8201 ----------------------------------------------------------------------------------
8202 --HANDLE THE IMPACT OF STYLES HERE
8203 ----------------------------------------------------------------------------------
8204 
8205         LOG_MESSAGE('copy_lines_and_children','Handling the impact of styles on cross copy; selecting the flags for destination auction');
8206 
8207         --
8208         --Collect the style related information for
8209         --the destination auction
8210         --
8211 
8212         SELECT
8213             NVL(hdr.LINE_MAS_ENABLED_FLAG, 'Y'),
8214             NVL (hdr.LINE_ATTRIBUTE_ENABLED_FLAG, 'Y'),
8215             NVL (hdr.RFI_LINE_ENABLED_FLAG, 'Y'),
8216             NVL(hdr.PRICE_ELEMENT_ENABLED_FLAG, 'Y'),
8217             NVL(hdr.po_style_id, -9999),
8218             doctypes.DOCTYPE_GROUP_NAME,
8219             NVL(hdr.HDR_ATTRIBUTE_ENABLED_FLAG,'Y')
8220         INTO
8221             l_d_mas_enabled_flag,
8222             l_d_line_attr_enabled_flag,
8223             l_d_rfi_line_enabled_flag,
8224             l_d_pe_enabled_flag,
8225             l_d_po_style_id,
8226             l_d_doctype_name,
8227             l_d_hdr_attr_enabled_flag
8228         FROM
8229             PON_AUCTION_HEADERS_ALL hdr,
8230             PON_AUC_DOCTYPES doctypes
8231         WHERE
8232             hdr.auction_header_id = l_auction_header_id AND
8233             doctypes.DOCTYPE_ID = p_doctype_id;
8234 
8235         LOG_MESSAGE('copy_lines_and_children','Calling PO_DOC_STYLE_GRP.GET_DOCUMENT_STYLE_SETTINGS for destination auction here');
8236 
8237         IF (l_d_po_style_id > 0) THEN
8238 
8239             LOG_MESSAGE('copy_lines_and_children','l_d_po_style_id is not null; l_d_po_style_id : ' || l_d_po_style_id);
8240 
8241 
8242              PO_DOC_STYLE_GRP.GET_DOCUMENT_STYLE_SETTINGS(
8243                                                P_API_VERSION => 1.0,
8244                                                P_STYLE_ID    => l_d_po_style_id,
8245                                                X_STYLE_NAME  => l_dummy1,
8246                                                X_STYLE_DESCRIPTION => l_dummy2,
8247                                                X_STYLE_TYPE => l_dummy3,
8248                                                X_STATUS => l_dummy4,
8249                                                X_ADVANCES_FLAG => l_dummy5,
8250                                                X_RETAINAGE_FLAG => l_dummy6,
8251                                                X_PRICE_BREAKS_FLAG => l_d_pb_enabled_flag,
8252                                                X_PRICE_DIFFERENTIALS_FLAG => l_d_pd_enabled_flag,
8253                                                X_PROGRESS_PAYMENT_FLAG => l_dummy7,
8254                                                X_CONTRACT_FINANCING_FLAG => l_dummy8,
8255                                                X_LINE_TYPE_ALLOWED  => l_dummy9);
8256 --this is for testing
8257 --            l_d_pb_enabled_flag := 'Y';
8258 --            l_d_pd_enabled_flag := 'Y';
8259 
8260         ELSE
8261             LOG_MESSAGE('copy_lines_and_children','l_d_po_style_id is NULL');
8262             l_d_pb_enabled_flag := 'Y';
8263             l_d_pd_enabled_flag := 'Y';
8264         END IF;
8265 
8266         LOG_MESSAGE('copy_lines_and_children','Flag Status for destination auction is -- l_d_mas_enabled_flag : ' || l_d_mas_enabled_flag ||
8267                     '; l_d_line_attr_enabled_flag : ' || l_d_line_attr_enabled_flag ||
8268                     '; l_d_rfi_line_enabled_flag : ' || l_d_rfi_line_enabled_flag ||
8269                     '; l_d_pe_enabled_flag : ' || l_d_pe_enabled_flag ||
8270                     '; l_d_po_style_id : ' || l_d_po_style_id ||
8271                     '; l_d_doctype_name : ' || l_d_doctype_name ||
8272                     '; l_d_pb_enabled_flag : ' || l_d_pb_enabled_flag ||
8273                     '; l_d_pd_enabled_flag : ' || l_d_pd_enabled_flag ||
8274                     '; l_d_hdr_attr_enabled_flag : ' || l_d_hdr_attr_enabled_flag ||
8275                     '; Now Collecting flags for the source auction');
8276 
8277         --
8278         --Collect the style related information for
8279         --the source auction
8280         --
8281 
8282         SELECT
8283             hdr.BID_RANKING,
8284             NVL(hdr.LINE_ATTRIBUTE_ENABLED_FLAG, 'Y'),
8285             NVL(hdr.RFI_LINE_ENABLED_FLAG, 'Y'),
8286             NVL(hdr.PF_TYPE_ALLOWED, 'BOTH'),
8287             hdr.CONTRACT_TYPE,
8288             NVL(hdr.GLOBAL_AGREEMENT_FLAG, 'N'),
8289             hdr.ATTRIBUTES_EXIST,
8290             doctypes.DOCTYPE_GROUP_NAME,
8291             NVL(hdr.HAS_HDR_ATTR_FLAG,'N'),
8292             NVL(hdr.HDR_ATTRIBUTE_ENABLED_FLAG,'Y'),
8293             NVL(hdr.PRICE_ELEMENT_ENABLED_FLAG,'Y')
8294         INTO
8295             l_s_bid_ranking,
8296             l_s_line_attr_enabled_flag,
8297             l_s_rfi_line_enabled_flag,
8298             l_s_pf_type_allowed,
8299             l_s_contract_type,
8300             l_s_global_agmt_flag,
8301             l_s_attributes_exist,
8302             l_s_doctype_name,
8303             l_s_has_hdr_attr_flag,
8304             l_s_hdr_attr_enabled_flag,
8305             l_s_pe_enabled_flag
8306         FROM
8307             PON_AUCTION_HEADERS_ALL hdr,
8308             PON_AUC_DOCTYPES doctypes
8309         WHERE
8310             auction_header_id = p_source_auction_header_id AND
8311             doctypes.DOCTYPE_ID = hdr.DOCTYPE_ID;
8312 
8313 
8314         LOG_MESSAGE('copy_lines_and_children','Flag Status for source auction is -- l_s_bid_ranking : ' || l_s_bid_ranking ||
8315                     '; l_s_line_attr_enabled_flag : ' || l_s_line_attr_enabled_flag ||
8316                     '; l_s_rfi_line_enabled_flag : ' || l_s_rfi_line_enabled_flag ||
8317                     '; l_s_pf_type_allowed : ' || l_s_pf_type_allowed ||
8318                     '; l_s_contract_type : ' || l_s_contract_type ||
8319                     '; l_s_global_agmt_flag : ' || l_s_global_agmt_flag ||
8320                     '; l_s_attributes_exist : ' || l_s_attributes_exist ||
8321                     '; l_s_doctype_name : ' || l_s_doctype_name ||
8322                     '; l_s_has_hdr_attr_flag : ' || l_s_has_hdr_attr_flag ||
8323                     '; l_s_hdr_attr_enabled_flag : ' || l_s_hdr_attr_enabled_flag ||
8324                     '; Now Collecting flags for the source auction');
8325         --initialise the boolean to true till the open issues are closed
8326 
8327         --
8328         --setting l_hdr_attributes_allowed
8329         --
8330         IF ( CURRENT_STATUS = 'DRAFT' AND l_s_hdr_attr_enabled_flag = 'Y' AND  l_d_hdr_attr_enabled_flag = 'Y' ) THEN
8331 
8332            LOG_MESSAGE('copy_lines_and_children','Source is a DRAFT; Setting l_hdr_attributes_allowed to TRUE and l_hdr_attr_scores_allowed to TRUE');
8333            l_hdr_attributes_allowed := true;
8334            l_hdr_attr_scores_allowed := true;
8335         ELSIF ( CURRENT_STATUS <> 'DRAFT' AND l_s_has_hdr_attr_flag = 'Y' AND l_d_hdr_attr_enabled_flag = 'Y' ) THEN
8336 
8337            LOG_MESSAGE('copy_lines_and_children','Source is a DRAFT; Setting l_hdr_attributes_allowed to TRUE and l_hdr_attr_scores_allowed to TRUE');
8338            l_hdr_attributes_allowed := true;
8339            l_hdr_attr_scores_allowed := true;
8340         ELSE
8341 
8342            LOG_MESSAGE('copy_lines_and_children','Source is a DRAFT; Setting l_hdr_attributes_allowed to FALSE and l_hdr_attr_scores_allowed to FALSE');
8343            l_hdr_attributes_allowed := false;
8344            l_hdr_attr_scores_allowed := false;
8345         END IF;
8346 
8347 
8348         --
8349         --setting l_line_attr_scores_allowed
8350         --
8351         IF (l_s_bid_ranking = 'MULTI_ATTRIBUTE_SCORING' AND l_d_mas_enabled_flag = 'Y') THEN
8352            LOG_MESSAGE('copy_lines_and_children','Setting l_line_attr_scores_allowed to TRUE');
8353            l_line_attr_scores_allowed := true;
8354         ELSE
8355            LOG_MESSAGE('copy_lines_and_children','Setting l_line_attr_scores_allowed to FALSE');
8356            l_line_attr_scores_allowed := false;
8357         END IF;
8358 
8359         --
8360         --setting l_line_attributes_allowed
8361         --
8362         IF ( CURRENT_STATUS = 'DRAFT' AND l_s_line_attr_enabled_flag = 'Y' AND  l_d_line_attr_enabled_flag = 'Y' ) THEN
8363            LOG_MESSAGE('copy_lines_and_children','Source is a DRAFT; Setting l_line_attributes_allowed to TRUE');
8364            l_line_attributes_allowed := true;
8365         ELSIF ( CURRENT_STATUS <> 'DRAFT' AND l_s_attributes_exist <> 'NONE' AND l_d_line_attr_enabled_flag = 'Y' ) THEN
8366            LOG_MESSAGE('copy_lines_and_children','Source is not a DRAFT; Setting l_line_attributes_allowed to TRUE');
8367            l_line_attributes_allowed := true;
8368         ELSE
8369            LOG_MESSAGE('copy_lines_and_children','Setting l_line_attributes_allowed to FALSE');
8370            l_line_attributes_allowed := false;
8371         END IF;
8372 
8373         --
8374         --setting l_price_elements_allowed
8375         --
8376         IF ( l_s_pe_enabled_flag = 'Y' AND
8377              l_s_pf_type_allowed <> 'NONE' AND
8378              l_d_pe_enabled_flag = 'Y'
8379            ) THEN
8380            LOG_MESSAGE('copy_lines_and_children','Setting l_price_elements_allowed to TRUE');
8381            l_price_elements_allowed := true;
8382         ELSE
8383            LOG_MESSAGE('copy_lines_and_children','Setting l_price_elements_allowed to FALSE');
8384            l_price_elements_allowed := false;
8385         END IF;
8386 
8387         --
8388         --setting l_price_breaks_allowed
8389         -- PRICE BREAKS are always allowed
8390         --
8391         LOG_MESSAGE('copy_lines_and_children','Setting l_price_breaks_allowed to TRUE');
8392         l_price_breaks_allowed := true;
8393 
8394         --
8395         --setting l_price_differentials_allowed
8396         --
8397         IF ( (l_s_doctype_name = g_rfi OR l_s_global_agmt_flag = 'Y') AND
8398              l_d_pd_enabled_flag = 'Y'
8399            ) THEN
8400            LOG_MESSAGE('copy_lines_and_children','Setting l_price_differentials_allowed to TRUE');
8401            l_price_differentials_allowed := true;
8402         ELSE
8403            LOG_MESSAGE('copy_lines_and_children','Setting l_price_differentials_allowed to FALSE');
8404            l_price_differentials_allowed := false;
8405         END IF;
8406 
8407 
8408 ----------------------------------------------------------------------------------
8409 --HANDLE THE IMPACT OF STYLES TILL HERE
8410 ----------------------------------------------------------------------------------
8411 
8412 if l_price_elements_allowed then
8413 
8414         if CURRENT_STATUS = 'DRAFT' then
8415 
8416                 if IS_LARGE_SOURCE = 'Y' then
8417 
8418                         if IS_LARGE_DESTINATION = 'Y' then
8419 
8420                             LOG_MESSAGE('copy_lines_and_children','Setting CALL_PON_LRG_DRAFT_TO_LRG_PF to TRUE');
8421                             CALL_PON_LRG_DRAFT_TO_LRG_PF := 'TRUE';
8422                         else
8423 
8424                             --Destination Auction is a normal auction
8425                              CALL_PON_LRG_DRAFT_TO_ORD_PF := 'TRUE';
8426 
8427                         end if;
8428 
8429                 else
8430                     --the source auction is a normal auction in draft stage
8431 
8432                         if IS_LARGE_DESTINATION = 'Y' then
8433                             --Destination Auction is a LARGE auction
8434                             --call CALL_PON_ORD_DRAFT_TO_LRG_PF
8435 
8436                            CALL_PON_ORD_DRAFT_TO_LRG_PF := 'TRUE';
8437 
8438 
8439                         else
8440                             --Destination Auction is a normal auction
8441                             --PROCEED WITH THE CURRENT FLOW
8442 
8443                             CALL_COPY_PF_SUPPLIER_VALUES := 'TRUE';
8444 
8445 
8446                         end if;
8447 
8448                 end if;
8449         else
8450         --The autcion is NOT in DRAFT stage
8451 
8452                 if IS_LARGE_SOURCE = 'Y' then
8453 
8454                         if IS_LARGE_DESTINATION = 'Y' then
8455 
8456                            LOG_MESSAGE('copy_lines_and_children','This is an ordinary auction; Selecting the flags from styles table');
8457                            CALL_PON_LRG_DRAFT_TO_LRG_PF := 'TRUE';
8458 
8459                         else
8460                         --Destination Auction is a normal auction
8461 
8462                            CALL_COPY_PF_SUPPLIER_VALUES := 'TRUE';
8463 
8464                         end if;
8465 
8466                 else
8467                 --the source auction is a normal auction NOT in draft stage
8468 
8469                         if IS_LARGE_DESTINATION = 'Y' then
8470                             --Destination Auction is a LARGE auction
8471                             --call CALL_PON_ORD_DRAFT_TO_LRG_PF
8472 
8473                             CALL_PON_ORD_DRAFT_TO_LRG_PF := 'TRUE';
8474 
8475                         else
8476                             --Destination Auction is a normal auction
8477                             --PROCEED WITH THE CURRENT FLOW
8478 
8479                             CALL_COPY_PF_SUPPLIER_VALUES := 'TRUE';
8480 
8481                         end if;
8482 
8483                 end if;
8484         end if;
8485 
8486 else
8487     LOG_MESSAGE('copy_lines_and_children','PF values are not allowed to be copied, so setting each of CALL_COPY_PF_SUPPLIER_VALUES, CALL_SYNC_PFVAL_BIDDING_PRTY and CALL_PON_LRG_DRAFT_TO_LRG_PF to FALSE');
8488 
8489     CALL_COPY_PF_SUPPLIER_VALUES := 'FALSE';
8490     CALL_PON_ORD_DRAFT_TO_LRG_PF := 'FALSE';
8491     CALL_PON_LRG_DRAFT_TO_LRG_PF := 'FALSE';
8492     CALL_PON_LRG_DRAFT_TO_ORD_PF := 'FALSE';
8493 
8494 end if;
8495 
8496         -- if style disables PE, PE not copied.
8497         IF (g_neg_style_control.price_element_enabled_flag = 'N') THEN
8498             CALL_COPY_PF_SUPPLIER_VALUES :='FALSE' ;
8499         END IF;
8500 
8501         LOG_MESSAGE('copy_lines_and_children','CALL_COPY_PF_SUPPLIER_VALUES : '||CALL_COPY_PF_SUPPLIER_VALUES ||
8502                     '; CALL_PON_ORD_DRAFT_TO_LRG_PF : ' || CALL_PON_ORD_DRAFT_TO_LRG_PF ||
8503                     '; CALL_PON_LRG_DRAFT_TO_LRG_PF : ' || CALL_PON_LRG_DRAFT_TO_LRG_PF ||
8504                     '; CALL_PON_LRG_DRAFT_TO_ORD_PF : ' || CALL_PON_LRG_DRAFT_TO_ORD_PF);
8505 
8506 --BELOW CODE ALREADY EXISTS
8507 --COPIED FROM COPY_NEGOTIATION
8508 --IT STARTS HERE
8509 
8510 LOG_MESSAGE('copy_lines_and_children','Copy Lines is starting');
8511 
8512         LOG_MESSAGE('copy_negotiation','Copy Currency is starting');
8513 
8514         --
8515         -- And Not to forget the Currency List
8516         --
8517         COPY_CURRENCIES ( p_source_auction_header_id => p_source_auction_header_id,
8518                           p_auction_header_id        => l_auction_header_id,
8519                           p_tp_id                    => l_tp_id,
8520                           p_tp_contact_id            => l_tp_contact_id,
8521                           p_tp_name                  => l_tp_name,
8522                           p_tpc_name                 => l_tpc_name,
8523                           p_user_id                  => l_user_id,
8524                           p_doctype_id               => p_doctype_id,
8525                           p_copy_type                => p_copy_type
8526                         );
8527 
8528         g_err_loc := '9. After Copying Currency List';
8529 
8530 
8531 
8532         LOG_MESSAGE('copy_lines_and_children','Copy Invitation List is starting');
8533 
8534         --
8535         -- And the Invitation List
8536         --
8537         COPY_INVITEES ( p_source_auction_header_id => p_source_auction_header_id,
8538                         p_auction_header_id        => l_auction_header_id,
8539                         p_tp_id                    => l_tp_id,
8540                         p_tp_contact_id            => l_tp_contact_id,
8541                         p_tp_name                  => l_tp_name,
8542                         p_tpc_name                 => l_tpc_name,
8543                         p_user_id                  => l_user_id,
8544                         p_doctype_id               => p_doctype_id,
8545                         p_copy_type                => p_copy_type,
8546                         p_org_id                   => l_org_id,
8547                         p_round_number             => l_round_number
8548                       );
8549 
8550         g_err_loc := '10. After Copying Invitation List';
8551 
8552 
8553         --
8554         -- Where are the list of members who created the negotiation?
8555         --
8556 
8557      IF (g_neg_style_control.neg_team_enabled_flag = 'Y') THEN
8558         LOG_MESSAGE('copy_lines_and_children','Copy Neg Team Members is starting');
8559 
8560         COPY_NEG_TEAM (p_source_auction_header_id => p_source_auction_header_id,
8561                        p_auction_header_id        => l_auction_header_id,
8562                        p_tp_id                    => l_tp_id,
8563                        p_tp_contact_id            => l_tp_contact_id,
8564                        p_tp_name                  => l_tp_name,
8565                        p_tpc_name                 => l_tpc_name,
8566                        p_user_id                  => l_user_id,
8567                        p_doctype_id               => p_doctype_id,
8568                        p_copy_type                => p_copy_type,
8569                        p_user_name                => p_user_name,
8570                        p_mgr_id                   => p_mgr_id);
8571      else
8572         LOG_MESSAGE('copy_lines_and_children','Neg teams are not allowed');
8573 
8574      END IF;
8575 
8576         g_err_loc := '11. After Copying Neg team Members';
8577 
8578 
8579         LOG_MESSAGE('copy_lines_and_children','Copy Form and section data is starting');
8580         --
8581         -- Copy the Event Abstract related data
8582         --
8583         COPY_FORM_DATA (
8584                          p_source_auction_header_id        => p_source_auction_header_id,
8585                          p_auction_header_id               => l_auction_header_id,
8586                          p_user_id                         => l_user_id,
8587                          p_doctype_id                      => p_doctype_id,
8588                          p_source_doctype_id               => l_source_doctype_id,
8589                          p_copy_type                       => p_copy_type);
8590 
8591         g_err_loc := '14. After Copying FORM FIELDS data';
8592 
8593         --
8594         --Copy the header attributes here
8595         --
8596 
8597         IF (l_hdr_attributes_allowed) THEN
8598 
8599             LOG_MESSAGE('copy_lines_and_children','Copy Header Attributes is starting');
8600 
8601             --
8602             -- Copy item attributes and Header Attributes
8603             --
8604             COPY_HEADER_ATTRIBUTE ( p_source_auction_header_id =>  p_source_auction_header_id,
8605                              p_auction_header_id        =>  l_auction_header_id,
8606                              p_tp_id                    =>  l_tp_id,
8607                              p_tp_contact_id            =>  l_tp_contact_id,
8608                              p_tp_name                  =>  l_tp_name,
8609                              p_tpc_name                 =>  l_tpc_name,
8610                              p_user_id                  =>  l_user_id,
8611                              p_source_doctype_id        =>  l_source_doctype_id,
8612                              p_doctype_id               =>  p_doctype_id,
8613                              p_copy_type                =>  p_copy_type);
8614 
8615 
8616          ELSE
8617 
8618             LOG_MESSAGE('copy_lines_and_children','Header attributes are not allowed');
8619 
8620          END IF;
8621 
8622         g_err_loc := '3. After Copying the Header Attributes';
8623 
8624 
8625         --
8626         --Copy the header attributes scores here
8627         --
8628 
8629         IF (l_hdr_attr_scores_allowed) THEN
8630 
8631             LOG_MESSAGE('copy_lines_and_children','Copy Header Attribute Score is starting');
8632 
8633             --
8634             -- And the item attribute scores
8635             --
8636             COPY_HEADER_ATTRIBUTE_SCORE (  p_source_auction_header_id => p_source_auction_header_id,
8637                                     p_auction_header_id        => l_auction_header_id,
8638                                     p_tp_id                    => l_tp_id,
8639                                     p_tp_contact_id            => l_tp_contact_id,
8640                                     p_tp_name                  => l_tp_name,
8641                                     p_tpc_name                 => l_tpc_name,
8642                                     p_user_id                  => l_user_id,
8643                                     p_source_doctype_id        => l_source_doctype_id,
8644                                     p_doctype_id               => p_doctype_id,
8645                                     p_copy_type                => p_copy_type
8646                                  );
8647         else
8648 
8649             LOG_MESSAGE('copy_lines_and_children','Header Attribute Scores are not allowed');
8650 
8651         END IF;
8652 
8653         g_err_loc := '4. After Copying Header Attribute Scores';
8654 
8655 
8656    --------------------------------------------------------------------------------------------------------------
8657    --BATCHING STARTS HERE
8658    --------------------------------------------------------------------------------------------------------------
8659 
8660      if(CURRENT_STATUS = 'DRAFT') then
8661 
8662          LOG_MESSAGE('copy_negotiation','The source auction is a in DRAFT stage; querying PON_AUCTION_ITEM_PRICES_ALL for l_max_line_number');
8663 
8664          select nvl(max(line_number),0) into l_max_line_number from PON_AUCTION_ITEM_PRICES_ALL
8665             where auction_header_id = p_source_auction_header_id;
8666      else
8667 
8668          LOG_MESSAGE('copy_negotiation','The source auction is not in DRAFT stage; so querying MAX_INTERNAL_LINE_NUM field in PON_AUCTION_HEADERS_ALL for l_max_line_number');
8669 
8670          select nvl(max_internal_line_num,0)  into l_max_line_number from PON_AUCTION_HEADERS_ALL
8671             where auction_header_id = p_source_auction_header_id;
8672      end if;
8673 
8674 
8675      IF (l_max_line_number) > 0 then
8676         -- Draft with no lines, or RFI,CPA with no lines we need to skip batching
8677         -- its build into the loop logic but just to be explicit about this condition
8678 
8679         -- Get the batch size
8680         l_batch_size := PON_LARGE_AUCTION_UTIL_PKG.BATCH_SIZE;
8681 
8682 --for testing purpose
8683 --l_batch_size := 2;
8684 
8685         -- Define the initial batch range (line numbers are indexed from 1)
8686          l_batch_start := 1;
8687 
8688          IF (l_max_line_number <l_batch_size) THEN
8689             l_batch_end := l_max_line_number;
8690          ELSE
8691             l_batch_end := l_batch_size;
8692          END IF;
8693 
8694 
8695          LOG_MESSAGE('copy_lines_and_children','Batching starting; Max(line_number) for the auction = '|| l_max_line_number);
8696 
8697         WHILE (l_batch_start <= l_max_line_number) LOOP
8698 
8699         --
8700         -- Copy items
8701         --
8702 
8703        IF (g_neg_style_control.rfi_line_enabled_flag = 'Y' or p_doctype_id <> g_rfi_doctype_id) THEN
8704 
8705           LOG_MESSAGE('copy_lines_and_children','Copy Lines is starting');
8706 
8707           COPY_LINES (p_source_auction_header_id   =>     p_source_auction_header_id,
8708                     p_auction_header_id          =>     l_auction_header_id,
8709                     p_tp_id                      =>     l_tp_id,
8710                     p_tp_contact_id              =>     l_tp_contact_id,
8711                     p_tp_name                    =>     l_tp_name,
8712                     p_tpc_name                   =>     l_tpc_name,
8713                     p_user_id                    =>     l_user_id,
8714                     p_source_doctype_id          =>     l_source_doctype_id,
8715                     p_doctype_id                 =>     p_doctype_id,
8716                     p_copy_type                  =>     p_copy_type,
8717                     p_round_number               =>     l_round_number,
8718                     p_last_amendment_number      =>     l_last_amendment_number,
8719                     p_retain_attachments         =>     l_retain_attachments,
8720                     p_staggered_closing_interval =>     l_staggered_closing_interval,
8721                     p_from_line_number           =>     l_batch_start,
8722                     p_to_line_number             =>     l_batch_end
8723                     );
8724        else
8725           LOG_MESSAGE('copy_lines_and_children','Lines are not allowed');
8726        END IF;
8727 
8728 
8729         LOG_MESSAGE('copy_lines_and_children','lines copied fsuccessfully');
8730         g_err_loc := '5. After Copying Items';
8731 
8732 
8733         LOG_MESSAGE('copy_lines_and_children','Copy Section is starting');
8734 
8735         --check here if the attributes are allowed for the destination auction
8736         --if they are not, skip the call to COPY_ATTRIBUTE
8737 
8738         IF (l_line_attributes_allowed) THEN
8739 
8740             LOG_MESSAGE('copy_lines_and_children','Copy Line Atrributes is starting');
8741 
8742             --
8743             -- Copy item attributes and Header Attributes
8744             --
8745             COPY_LINE_ATTRIBUTE ( p_source_auction_header_id =>  p_source_auction_header_id,
8746                              p_auction_header_id        =>  l_auction_header_id,
8747                              p_tp_id                    =>  l_tp_id,
8748                              p_tp_contact_id            =>  l_tp_contact_id,
8749                              p_tp_name                  =>  l_tp_name,
8750                              p_tpc_name                 =>  l_tpc_name,
8751                              p_user_id                  =>  l_user_id,
8752                              p_source_doctype_id        =>  l_source_doctype_id,
8753                              p_doctype_id               =>  p_doctype_id,
8754                              p_copy_type                =>  p_copy_type,
8755                              p_from_line_number         =>  l_batch_start,
8756                              p_to_line_number           =>  l_batch_end
8757                            );
8758          else
8759 
8760 	    LOG_MESSAGE('copy_lines_and_children','Line Attributes are not allowed');
8761 
8762          END IF;
8763 
8764             g_err_loc := '3. After Copying Attributes';
8765 
8766         IF (l_line_attr_scores_allowed) THEN
8767 
8768             LOG_MESSAGE('copy_lines_and_children','Copy Line Attribute Score is starting');
8769 
8770             --
8771             -- And the item attribute scores
8772             --
8773             COPY_LINE_ATTRIBUTE_SCORE (  p_source_auction_header_id => p_source_auction_header_id,
8774                                     p_auction_header_id        => l_auction_header_id,
8775                                     p_tp_id                    => l_tp_id,
8776                                     p_tp_contact_id            => l_tp_contact_id,
8777                                     p_tp_name                  => l_tp_name,
8778                                     p_tpc_name                 => l_tpc_name,
8779                                     p_user_id                  => l_user_id,
8780                                     p_source_doctype_id        => l_source_doctype_id,
8781                                     p_doctype_id               => p_doctype_id,
8782                                     p_copy_type                => p_copy_type,
8783                         p_from_line_number           =>     l_batch_start,
8784                         p_to_line_number             =>     l_batch_end
8785                                  );
8786         else
8787 
8788             LOG_MESSAGE('copy_lines_and_children','Line Attribute Scores are not allowed');
8789 
8790         END IF;
8791 
8792         g_err_loc := '4. After Copying Line Attribute Scores';
8793 
8794         if l_price_differentials_allowed then
8795 
8796             LOG_MESSAGE('copy_lines_and_children','Copy Price Differential is starting');
8797 
8798             --
8799             -- And those small price differentials
8800             --
8801             COPY_PRICE_DIFF ( p_source_auction_header_id => p_source_auction_header_id,
8802                               p_auction_header_id        => l_auction_header_id,
8803                               p_tp_id                    => l_tp_id,
8804                               p_tp_contact_id            => l_tp_contact_id,
8805                               p_tp_name                  => l_tp_name,
8806                               p_tpc_name                 => l_tpc_name,
8807                               p_user_id                  => l_user_id,
8808                               p_doctype_id               => p_doctype_id,
8809                               p_copy_type                => p_copy_type,
8810                         p_from_line_number           =>     l_batch_start,
8811                         p_to_line_number             =>     l_batch_end
8812                              );
8813 
8814         else
8815 
8816             LOG_MESSAGE('copy_lines_and_children','Copy Price Differential is starting');
8817 
8818         end if;
8819 
8820         g_err_loc := '5. After Copying Price Differentials';
8821 
8822         LOG_MESSAGE('copy_lines_and_children','Copy Payments is starting');
8823 
8824         --
8825         -- And those associated payments
8826         --
8827         COPY_PAYMENTS  ( p_source_auction_header_id => p_source_auction_header_id,
8828                          p_auction_header_id        => l_auction_header_id,
8829                          p_user_id                  => l_user_id,
8830                          p_doctype_id               => p_doctype_id,
8831                          p_source_doctype_id        => l_source_doctype_id,
8832                          p_retain_attachments       => p_retain_attachments,
8833                     p_from_line_number           =>     l_batch_start,
8834                     p_to_line_number             =>     l_batch_end
8835                         );
8836 
8837         g_err_loc := '6. After Copying Payments';
8838 
8839         if l_price_breaks_allowed then
8840 
8841             LOG_MESSAGE('copy_lines_and_children','Copy Shipments is starting');
8842 
8843             --
8844             -- And those associated shipments
8845             --
8846             COPY_SHIPMENTS ( p_source_auction_header_id => p_source_auction_header_id,
8847                              p_auction_header_id        => l_auction_header_id,
8848                              p_tp_id                    => l_tp_id,
8849                              p_tp_contact_id            => l_tp_contact_id,
8850                              p_tp_name                  => l_tp_name,
8851                              p_tpc_name                 => l_tpc_name,
8852                              p_user_id                  => l_user_id,
8853                              p_doctype_id               => p_doctype_id,
8854                              p_source_doctype_id        => l_source_doctype_id,
8855                              p_copy_type                => p_copy_type,
8856                         p_from_line_number           =>     l_batch_start,
8857                         p_to_line_number             =>     l_batch_end
8858                             );
8859 
8860         else
8861 
8862             LOG_MESSAGE('copy_lines_and_children','Shipments are not allowed');
8863 
8864         end if;
8865 
8866             g_err_loc := '7. After Copying Shipments';
8867 
8868         if l_price_elements_allowed then
8869 
8870             LOG_MESSAGE('copy_lines_and_children','Copy Price Elements is starting');
8871 
8872             --
8873             -- And those elementary price elements
8874             --
8875             COPY_PRICE_ELEMENTS ( p_source_auction_header_id => p_source_auction_header_id,
8876                                   p_auction_header_id        => l_auction_header_id,
8877                                   p_tp_id                    => l_tp_id,
8878                                   p_tp_contact_id            => l_tp_contact_id,
8879                                   p_tp_name                  => l_tp_name,
8880                                   p_tpc_name                 => l_tpc_name,
8881                                   p_user_id                  => l_user_id,
8882                                   p_source_doctype_id        => l_source_doctype_id,
8883                                   p_doctype_id               => p_doctype_id,
8884                                   p_copy_type                => p_copy_type,
8885                                   p_source_doc_num           => l_source_doc_num,
8886                         p_from_line_number           =>     l_batch_start,
8887                         p_to_line_number             =>     l_batch_end
8888                                 );
8889         else
8890 
8891             LOG_MESSAGE('copy_lines_and_children','Price elements are not allowed');
8892 
8893         end if;
8894 
8895             g_err_loc := '8. After Copying Price Elements';
8896 
8897 
8898         LOG_MESSAGE('copy_lines_and_children','Copy PON_PARTY_LINE_EXCLUSIONS table data is starting;' ||
8899                     'g_neg_style_control.rfi_line_enabled_flag : ' || g_neg_style_control.rfi_line_enabled_flag ||
8900                     'p_doctype_id : ' || p_doctype_id ||
8901                     'IS_LARGE_SOURCE : ' || IS_LARGE_SOURCE ||
8902                     'IS_LARGE_DESTINATION : ' || IS_LARGE_DESTINATION);
8903 
8904         --
8905         -- Here comes the Lot based bidding project related table PON_PARTY_LINE_EXCLUSIONS
8906         --
8907         --Do not copy party exclusions in case of either the source or the destination auction being a large one
8908      IF ( (g_neg_style_control.rfi_line_enabled_flag = 'Y' or p_doctype_id <> g_rfi_doctype_id)  and
8909          IS_LARGE_SOURCE <> 'Y' and IS_LARGE_DESTINATION <> 'Y') THEN
8910 
8911         LOG_MESSAGE('copy_lines_and_children','Party exclusions are allowed for this auction');
8912 
8913         COPY_PARTY_LINE_EXCLUSIONS (
8914                          p_source_auction_header_id        => p_source_auction_header_id,
8915                          p_auction_header_id               => l_auction_header_id,
8916                          p_user_id                         => l_user_id,
8917                          p_doctype_id                      => p_doctype_id,
8918                          p_copy_type                       => p_copy_type,
8919                     p_from_line_number           =>     l_batch_start,
8920                     p_to_line_number             =>     l_batch_end);
8921      else
8922 
8923         LOG_MESSAGE('copy_lines_and_children','Party exclusions are not allowed');
8924 
8925      END IF;
8926 
8927         g_err_loc := '12. After Copying PON_PARTY_LINE_EXCLUSIONS data';
8928 
8929         LOG_MESSAGE('copy_lines_and_children','Copy PON_PF_SUPPLIER_VALUES table data is starting');
8930 
8931         --
8932         -- Here comes the Tranformation project related table PON_PF_SUPPLIER_VALUES
8933         --
8934 
8935         --The values of CALL_COPY_PF_SUPPLIER_VALUES and CALL_PON_LRG_DRAFT_TO_ORD_PF
8936         --are set based on l_price_elements_allowed. So we need not check if
8937         --price factors values need to be copied of not explicitly here
8938 
8939         if CALL_COPY_PF_SUPPLIER_VALUES = 'TRUE' then
8940 
8941             LOG_MESSAGE('copy_lines_and_children','Calling COPY_PF_SUPPLIER_VALUES for '||p_source_auction_header_id||' to '||l_auction_header_id);
8942 
8943             COPY_PF_SUPPLIER_VALUES (
8944                          p_source_auction_header_id        => p_source_auction_header_id,
8945                          p_auction_header_id               => l_auction_header_id,
8946                          p_user_id                         => l_user_id,
8947                          p_doctype_id                      => p_doctype_id,
8948                          p_copy_type                       => p_copy_type,
8949                     p_from_line_number           =>     l_batch_start,
8950                     p_to_line_number             =>     l_batch_end);
8951 
8952 
8953         elsif CALL_PON_LRG_DRAFT_TO_ORD_PF  = 'TRUE' then
8954 
8955             LOG_MESSAGE('copy_lines_and_children','Calling PON_LRG_DRAFT_TO_ORD_PF_COPY for '||p_source_auction_header_id||' to '||l_auction_header_id);
8956             PON_LRG_DRAFT_TO_ORD_PF_COPY(
8957                        p_source_auction_hdr_id      =>   p_source_auction_header_id,
8958                        p_destination_auction_hdr_id =>   p_destination_auction_hdr_id,
8959                        p_user_id                    =>   l_user_id,
8960                        p_from_line_number             =>     l_batch_start,
8961                        p_to_line_number               =>     l_batch_end
8962                        );
8963 
8964         end if;
8965 
8966         g_err_loc := '13. After Copying PON_PF_SUPPLIER_VALUES data';
8967 
8968         -- remove lots and groups if disabled by style
8969         -- this code is separated from main copy routines as this is a corner case.
8970         REMOVE_LOT_AND_GROUP (p_auction_header_id => l_auction_header_id,
8971                               p_lot_enabled       => g_neg_style_control.lot_enabled_flag,
8972                               p_group_enabled     => g_neg_style_control.group_enabled_flag,
8973                               p_from_line_number           =>     l_batch_start,
8974                               p_to_line_number             =>     l_batch_end);
8975 
8976 
8977            --COMMIT the above DML transactions to
8978            --free the buffer
8979            LOG_MESSAGE('copy_lines_and_children','Trying to COMMIT...');
8980 
8981            COMMIT;
8982 
8983            LOG_MESSAGE('copy_lines_and_children','COMMITED successfully; Batching done for the line_numbers in the range '|| l_batch_start ||' to '||l_batch_end||' (inclusive); computing window for the next batch');
8984 
8985            l_batch_start := l_batch_end + 1;
8986 
8987            IF (l_batch_end + l_batch_size > l_max_line_number) THEN
8988                l_batch_end := l_max_line_number;
8989            ELSE
8990                l_batch_end := l_batch_end + l_batch_size;
8991            END IF;
8992 
8993            LOG_MESSAGE('copy_lines_and_children','Computed the window for next batch to be ' || l_batch_start || ' to ' || l_batch_end || ' (inclusive) ' );
8994 
8995      END LOOP;
8996    END IF;
8997    --------------------------------------------------------------------------------------------------------------
8998    --BATCHING ENDS HERE
8999    --------------------------------------------------------------------------------------------------------------
9000 
9001         -- Team Scoring
9002 		-- Copy scoring teams, members and assignments.
9003 	    IF (g_neg_style_control.team_scoring_enabled_flag = 'Y') THEN
9004 
9005  	       LOG_MESSAGE('copy_lines_and_children','4219729. Copy Scoring Teams Start');
9006 
9007 	        COPY_SCORING_TEAMS(
9008     	        p_source_auction_header_id => p_source_auction_header_id,
9009         	    p_auction_header_id => l_auction_header_id,
9010             	p_user_id => l_user_id
9011 	            );
9012            else
9013 
9014  	       LOG_MESSAGE('copy_lines_and_children','4219729. Scoring Teams are not allowed');
9015 
9016 	    END IF;
9017     	g_err_loc := '4219729. After copying Scoring teams, members and assignments';
9018 
9019         --
9020         -- if the source document is an amendment or multiround document and
9021         -- the new document is not, then we must renumber_lines() to remove any
9022         -- gaps in the display sequence.
9023         --
9024         -- if lot or group is deleted due to style, and is not an amendment or multiround document
9025         -- need to renumber as well
9026         --
9027          if (NOT(p_copy_type = g_amend_copy OR
9028              (p_copy_type = g_new_rnd_copy AND l_source_doctype_id = p_doctype_id))) and
9029             (l_round_number > 1 or l_last_amendment_number > 0 or g_line_deleted = 'Y') then
9030              renumber_lines(l_auction_header_id);
9031          end if;
9032 
9033 
9034 
9035         LOG_MESSAGE('copy_lines_and_children','IS_LARGE_DESTINATION : ' || IS_LARGE_DESTINATION ||
9036                     '; CALL_PON_LRG_DRAFT_TO_LRG_PF ' || CALL_PON_LRG_DRAFT_TO_LRG_PF ||
9037                     '; CALL_PON_ORD_DRAFT_TO_LRG_PF : ' || CALL_PON_ORD_DRAFT_TO_LRG_PF );
9038 
9039         IF (CALL_PON_LRG_DRAFT_TO_LRG_PF = 'TRUE') THEN
9040 
9041            --
9042            --Call PON_LRG_DRAFT_TO_LRG_PF_COPY routines here
9043            --to add empty rows for the suppliers in large_neg_pf_values table
9044            --
9045 
9046             LOG_MESSAGE('copy_lines_and_children','Calling PON_LRG_DRAFT_TO_LRG_PF_COPY');
9047 
9048             PON_LRG_DRAFT_TO_LRG_PF_COPY(
9049                   p_source_auction_hdr_id   =>   p_source_auction_header_id,
9050                   p_destination_auction_hdr_id =>   p_destination_auction_hdr_id,
9051                   p_user_id                    =>   p_user_id
9052             );
9053 
9054          ELSIF (CALL_PON_ORD_DRAFT_TO_LRG_PF = 'TRUE') THEN
9055 
9056            --
9057            --Call PON_ORD_DRAFT_TO_LRG_PF_COPY routines here
9058            --to add empty rows for the suppliers in large_neg_pf_values table
9059            --
9060 
9061             LOG_MESSAGE('copy_lines_and_children','Calling PON_ORD_DRAFT_TO_LRG_PF_COPY');
9062 
9063             PON_ORD_DRAFT_TO_LRG_PF_COPY(
9064                   p_source_auction_hdr_id   =>   p_source_auction_header_id,
9065                   p_destination_auction_hdr_id =>   p_destination_auction_hdr_id,
9066                   p_user_id                    =>   p_user_id
9067             );
9068 
9069        END IF; --CALL_PON_LRG_DRAFT_TO_LRG_PF = 'TRUE'
9070 
9071        IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
9072        THEN
9073            x_return_status := l_return_status;
9074            x_msg_count := 1;
9075            x_msg_data := l_error_msg_update;
9076            LOG_MESSAGE('copy_lines_and_children','Returning with status : '||x_return_status||'; mesg_cnt : '||x_msg_count||';mesg_data : '||x_msg_data);
9077            return;
9078        END IF;
9079 
9080 
9081 
9082         -- Could be a sanity check....
9083         -- Delete all attribute scores where there is no parent attribute
9084 
9085         SELECT contract_type
9086         INTO   l_contract_type
9087         FROM   pon_auction_headers_all
9088         WHERE  auction_header_id = l_auction_header_id;
9089 
9090         IF (l_contract_type in ('BLANKET', 'CONTRACT') and
9091             p_copy_type in (g_active_neg_copy, g_draft_neg_copy) and
9092             p_doctype_id <> g_rfi_doctype_id) THEN
9093 
9094           DELETE FROM pon_attribute_scores pas
9095           WHERE       pas.auction_header_id = l_auction_header_id and
9096                       not exists (select null
9097                                   from   pon_auction_attributes
9098                                   where  auction_header_id = pas.auction_header_id and
9099                                          line_number = pas.line_number and
9100                                          sequence_number = pas.attribute_sequence_number);
9101 
9102         END IF;
9103 
9104 
9105         --
9106         -- Now, we have to put all the inactive Price Elements of the source
9107         -- negotiation document in a message so that they can be displayed
9108         -- as invalid Price Elements on the Negotiation Creation Header page
9109         -- subsequently.
9110         -- We are relying on the g_has_inactive_pe_flag variable to decide if
9111         -- had any such Price Elements in this call.
9112         --
9113         IF (g_has_inactive_pe_flag = 'Y') THEN
9114                 -- Add the inactive Price Elements in a list
9115 
9116                 LOG_MESSAGE('copy_lines_and_children','Copy PE: 1. Has got some inactive PE');
9117 
9118                 SELECT
9119                     DISTINCT VL.NAME
9120                 BULK COLLECT
9121                 INTO
9122                     l_name
9123                 FROM PON_PRICE_ELEMENTS P, PON_PRICE_ELEMENT_TYPES_VL VL
9124                 WHERE P.AUCTION_HEADER_ID = p_source_auction_header_id
9125                 AND P.PRICE_ELEMENT_TYPE_ID  = VL.PRICE_ELEMENT_TYPE_ID
9126                 AND VL.ENABLED_FLAG = 'N';
9127 
9128                 IF (l_name.COUNT <> 0) THEN
9129                         FND_MESSAGE.SET_NAME('PON','PON_AUC_INACTIVE_PE_W'||'_'||g_message_suffix);
9130                         FND_MESSAGE.SET_TOKEN('AUCTION_NUMBER',p_source_doc_num);
9131                         l_inactive_pe_name := '; 1. '||l_name(1);
9132                         LOG_MESSAGE('copy_lines_and_children','Copy PE: 2. l_inactive_pe_name:'||l_inactive_pe_name);
9133 
9134                         FOR x IN 2..l_name.COUNT
9135                         LOOP
9136                                l_inactive_pe_name :=  l_inactive_pe_name||' '||x||'. '|| l_name(x);
9137                         END LOOP;
9138                         -- The way I am adding this error may get changed in the future.
9139                         -- So, please be aware of that
9140                         LOG_MESSAGE('copy_lines_and_children','Copy PE: 3. l_inactive_pe_name:'||l_inactive_pe_name);
9141                         FND_MESSAGE.SET_TOKEN('LIST',l_inactive_pe_name);
9142                         FND_MSG_PUB.ADD;
9143                 END IF;
9144         END IF;
9145 
9146 
9147         --
9148         -- Set the OUT parameters one by one
9149         --
9150 
9151         --
9152         -- Now update the original negotiation document as required for New Round and Amendment
9153         --
9154         IF (p_copy_type = g_new_rnd_copy OR
9155             p_copy_type = g_amend_copy ) THEN
9156 
9157                 IF (p_copy_type = g_amend_copy) THEN
9158                         l_is_amendment := 'CREATE_AMENDMENT';
9159                 ELSE
9160                         l_is_amendment := 'CREATE_NEW_ROUND';
9161                 END IF;
9162 
9163                 PON_NEG_UPDATE_PKG.UPDATE_TO_NEW_DOCUMENT(
9164                                          p_auction_header_id_curr_doc        => l_auction_header_id,
9165                                          p_doc_number_curr_doc               => g_neg_doc_number,
9166                                          p_auction_header_id_prev_doc        => p_source_auction_header_id,
9167                                          p_auction_origination_code          => g_auc_origination_code,
9168                                          p_is_new                            => 'Y',
9169                                          p_is_publish                        => 'N',
9170                                          p_transaction_type                  => l_is_amendment,
9171                                          p_user_id                           => l_user_id,
9172                                          x_error_code                        => l_error_code_update,
9173                                          x_error_msg                         => l_error_msg_update);
9174 
9175                IF (l_error_code_update <> 'SUCCESS' ) THEN
9176                         -- The way I am adding this error may get changed in the future.
9177                         -- So, please be aware of that
9178                         FND_MESSAGE.SET_NAME('PON','PON_GENERIC_ERR');
9179                         FND_MESSAGE.SET_TOKEN('TOKEN',l_error_code_update||' - '||l_error_msg_update);
9180                         FND_MSG_PUB.ADD;
9181                         LOG_MESSAGE('copy_lines_and_children','Error while updating source negotiation. Error:'||l_error_msg_update);
9182                         RAISE FND_API.G_EXC_ERROR;
9183                END IF;
9184 
9185         END IF;
9186 
9187         --
9188         --Update the LAST_LINE_NUMBER and NUMBER_OF_LINES fields in pon_auction_headers_all
9189         --
9190         LOG_MESSAGE('copy_negotiation','Querying for NUMBER_OF_LINES and LAST_LINE_NUMBER');
9191 
9192         SELECT
9193         COUNT(LINE_NUMBER) number_of_lines, MAX (DECODE (GROUP_TYPE, 'LOT_LINE', 0, 'GROUP_LINE', 0, SUB_LINE_SEQUENCE_NUMBER)) last_line_number
9194         INTO l_number_of_lines, l_last_line_number
9195         FROM PON_AUCTION_ITEM_PRICES_ALL
9196         WHERE
9197         AUCTION_HEADER_ID = l_auction_header_id;
9198 
9199         LOG_MESSAGE('copy_lines_and_children','l_number_of_lines : ' || l_number_of_lines || ' ; l_last_line_number : ' || l_last_line_number);
9200 
9201         UPDATE pon_auction_headers_all
9202         SET number_of_lines = l_number_of_lines, LAST_LINE_NUMBER = l_last_line_number
9203         WHERE
9204         AUCTION_HEADER_ID = l_auction_header_id;
9205 
9206         LOG_MESSAGE('copy_lines_and_children','Updated NUMBER_OF_LINES and LAST_LINE_NUMBER fields in PON_AUCTION_HEADERS_ALL');
9207 
9208         --
9209         -- Now get message count to initialize the OUT variable (x_msg_count)
9210         --
9211         FND_MSG_PUB.COUNT_AND_GET( p_count    => x_msg_count,
9212                                    p_data    =>  x_msg_data
9213                                  );
9214 
9215         --
9216         -- Set the return status
9217         --
9218         x_return_status := g_return_status;
9219 
9220         --
9221         --COMMIT the above sanity and house keeping DML transactions
9222         --
9223         LOG_MESSAGE('copy_lines_and_children','Trying to COMMIT the sanity checks and house keeping DML transactions...');
9224         COMMIT;
9225 
9226         LOG_MESSAGE('copy_lines_and_children','Returning with status:'||x_return_status);
9227 
9228 EXCEPTION
9229         WHEN FND_API.G_EXC_ERROR  THEN
9230                 ROLLBACK TO PON_NEGOTIATION_COPY_GRP;
9231                 x_return_status := FND_API.G_RET_STS_ERROR  ;
9232                 FND_MSG_PUB.COUNT_AND_GET( p_count    => x_msg_count,
9233                                            p_data    =>  x_msg_data
9234                                          );
9235 
9236                 LOG_MESSAGE('copy_lines_and_children','An error in the procedure. Error at:'||g_err_loc || ' :' || SQLCODE || ' :' || SQLERRM);
9237 
9238         -- Why another block? We can have only one block. Let me see
9239         WHEN OTHERS THEN
9240                 ROLLBACK TO PON_NEGOTIATION_COPY_GRP;
9241                 x_return_status := FND_API.G_RET_STS_ERROR;
9242                 FND_MSG_PUB.COUNT_AND_GET( p_count    => x_msg_count,
9243                                            p_data    =>  x_msg_data
9244                                          );
9245                 LOG_MESSAGE('copy_lines_and_children','An error in the procedure. Error at:'||g_err_loc || ' :' || SQLCODE || ' :' || SQLERRM);
9246 
9247 --ABOVE CODE ALREADY EXISTS
9248 --COPIED FROM COPY_NEGOTIATION
9249 --IT ENDS HERE
9250 END COPY_LINES_AND_CHILDREN;
9251 --} End of COPY_LINES_AND_CHILDREN
9252 
9253 
9254 
9255 FUNCTION GET_HDR_CROSS_COPY_DATA ( p_source_auction_header_id IN NUMBER,
9256                                    p_auction_header_id        IN NUMBER,
9257                                    p_doctype_id               IN NUMBER,
9258                                    p_copy_type                IN VARCHAR2,
9259                                    p_source_doctype_id        IN NUMBER,
9260                                    p_tp_id                    IN NUMBER) RETURN AUC_HDR_TYPE_BASE_DATA
9261 IS
9262 --{ Start of GET_HDR_CROSS_COPY_DATA
9263         t_record              AUC_HDR_TYPE_BASE_DATA;
9264         l_rfi_doctype_id      NUMBER;
9265         l_rfq_doctype_id      NUMBER;
9266         l_auction_doctype_id  NUMBER;
9267 
9268         l_pref_rank_indicator VARCHAR2(300);
9269         l_pref_unused_1       VARCHAR2(300);
9270         l_pref_unused_2       VARCHAR2(300);
9271         l_pref_unused_3       VARCHAR2(300);
9272 
9273         l_pref_pf_type        VARCHAR2(300);
9274         l_pref_pf_unused_1    VARCHAR2(300);
9275         l_pref_pf_unused_2    VARCHAR2(300);
9276         l_pref_pf_unused_3    VARCHAR2(300);
9277 
9278         l_temp_labor_count  NUMBER;
9279 
9280         l_default_currency_code  PON_AUCTION_HEADERS_ALL.CURRENCY_CODE%TYPE;
9281         l_default_rate_type          PON_AUCTION_HEADERS_ALL.RATE_TYPE%TYPE;
9282 
9283 
9284 BEGIN
9285 
9286         g_err_loc := '1.1.1 Selecting Bizrules for doctype id:'||p_doctype_id||' and copy type:'||p_copy_type||' with source auc id:'||p_source_auction_header_id;
9287 
9288         BEGIN --{
9289 
9290         -- Check if the doctype_id of RFI
9291         BEGIN
9292               g_err_loc := '1.1.2 Checking if this is copy to RFI';
9293               SELECT DOCTYPE_ID
9294                 INTO l_rfi_doctype_id
9295               FROM PON_AUC_DOCTYPES
9296               WHERE DOCTYPE_GROUP_NAME = 'REQUEST_FOR_INFORMATION';
9297         EXCEPTION
9298                 WHEN OTHERS THEN
9299                 -- The way I am adding this error may get changed in the future.
9300                 -- So, please be aware of that
9301                         FND_MESSAGE.SET_NAME('PON','PON_AUC_NO_DATA_EXISTS');
9302                         FND_MSG_PUB.ADD;
9303                         RAISE FND_API.G_EXC_ERROR;
9304         END;
9305 
9306         g_rfi_doctype_id := l_rfi_doctype_id;
9307 
9308                 -- Check if the doctype_id of RFQ
9309                 BEGIN
9310                       g_err_loc := '1.1.2 Checking if this is copy to RFQ';
9311                       SELECT DOCTYPE_ID
9312                         INTO l_rfq_doctype_id
9313                       FROM PON_AUC_DOCTYPES
9314                       WHERE DOCTYPE_GROUP_NAME = 'REQUEST_FOR_QUOTE';
9315                 EXCEPTION
9316                         WHEN OTHERS THEN
9317                                 FND_MESSAGE.SET_NAME('PON','PON_AUC_NO_DATA_EXISTS');
9318                                 FND_MSG_PUB.ADD;
9319                                 RAISE FND_API.G_EXC_ERROR;
9320                 END;
9321 
9322                 g_rfq_doctype_id := l_rfq_doctype_id;
9323 
9324                 -- Check if the doctype_id of Auction
9325                 BEGIN
9326                       g_err_loc := '1.1.2 Checking if this is copy to Auction';
9327                       SELECT DOCTYPE_ID
9328                         INTO l_auction_doctype_id
9329                       FROM PON_AUC_DOCTYPES
9330                       WHERE DOCTYPE_GROUP_NAME = 'BUYER_AUCTION';
9331                 EXCEPTION
9332                         WHEN OTHERS THEN
9333                                 FND_MESSAGE.SET_NAME('PON','PON_AUC_NO_DATA_EXISTS');
9334                                 FND_MSG_PUB.ADD;
9335                                 RAISE FND_API.G_EXC_ERROR;
9336                 END;
9337 
9338                 g_auction_doctype_id := l_auction_doctype_id;
9339 
9340         --
9341         -- First get the preferred value from Configuration page
9342         --
9343         -- 1. Rank Indicator value
9344         BEGIN
9345                 PON_PROFILE_UTIL_PKG.RETRIEVE_PARTY_PREF_COVER(
9346                                 p_party_id        => p_tp_id,
9347                                 p_app_short_name  => 'PON',
9348                                 p_pref_name       => 'RANK_INDICATOR',
9349                                 x_pref_value      => l_pref_rank_indicator,
9350                                 x_pref_meaning    => l_pref_unused_1,
9351                                 x_status          => l_pref_unused_2,
9352                                 x_exception_msg   => l_pref_unused_3);
9353 
9354                                 IF  (l_pref_unused_2 <> FND_API.G_RET_STS_SUCCESS) THEN
9355                                         -- Log Error
9356                                         LOG_MESSAGE('copy_negotiation','Could not retrieve RETRIEVE_PARTY_PREF_COVER for p_pref_name= RANK_INDICATOR . Exception msg =' || l_pref_unused_3);
9357                                         l_pref_rank_indicator := 'NONE';
9358                                 END IF;
9359 
9360         EXCEPTION
9361                 WHEN OTHERS THEN
9362                         l_pref_rank_indicator := 'NONE';
9363         END;
9364         LOG_MESSAGE('copy_negotiation','Sysadmin set Rank Indicator value is - ' || l_pref_rank_indicator);
9365 
9366 
9367         --
9368         -- Get the Price Factor preferred value from Configuration page
9369         --
9370         -- Price Factor Type Value
9371         BEGIN
9372                 PON_PROFILE_UTIL_PKG.RETRIEVE_PARTY_PREF_COVER(
9373                                 p_party_id        => p_tp_id,
9374                                 p_app_short_name  => 'PON',
9375                                 p_pref_name       => 'PF_TYPE_ALLOWED',
9376                                 x_pref_value      => l_pref_pf_type,
9377                                 x_pref_meaning    => l_pref_pf_unused_1,
9378                                 x_status          => l_pref_pf_unused_2,
9379                                 x_exception_msg   => l_pref_pf_unused_3);
9380 
9381                                 IF  (l_pref_pf_unused_2 <> FND_API.G_RET_STS_SUCCESS) THEN
9382                                         -- Log Error
9383                                         LOG_MESSAGE('copy_negotiation','Could not retrieve RETRIEVE_PARTY_PREF_COVER for p_pref_name= PF_TYPE_ALLOWED . Exception msg =' || l_pref_pf_unused_3);
9384                                         l_pref_pf_type := 'NONE';
9385 
9386                                 END IF;
9387 
9388         EXCEPTION
9389                 WHEN OTHERS THEN
9390                         l_pref_pf_type := 'NONE';
9391         END;
9392         LOG_MESSAGE('copy_negotiation','Sysadmin set Price Factor value is - ' || l_pref_pf_type);
9393 
9394 
9395         --
9396         -- Get all the doctype_based bizrule values for all attributes of
9397         -- AUC_HDR_TYPE_BASE_DATA type.
9398         --
9399         -- The basic logic of each of the block is as follows -
9400         --
9401         --     1. If the bizrule for an attribute is applicable for the target doctype
9402         --        1.1 Check if the attribute is displayable for the target doctype_id
9403         --              1.1.1 Carry on the value in that case (generally). May perform
9404         --                        a nvl check if required for some required attributes.
9405         --        1.2 <Not Displayable for target doctype_id>
9406         --              1.2.1 Check if there is some fixed value for the attribute
9407         --                    1.2.1.1 Set the value of the attribute to the fixed value
9408         --              1.2.2 <No Fixed Value>
9409         --                    1.2.2.1 Check if there is some default value for the attribute
9410         --                            1.2.2.1.1 Set the value of the attribute to the default value
9411         --                    1.2.2.2 <No Default Value>
9412         --                            1.2.2.2.1 Set the value of the attribute to
9413         --                                          same attribute value from the original negotiation or
9414         --                                          some hard coded derivation of that (if required) or NULL
9415         --   2. Set the value of the attribute to NULL or to the same attribute value from
9416         --       the original negotiation or some hard coded derivation of that (if required)
9417         --
9418         SELECT
9419                 --
9420                 -- If the bizrule is not applied to a doctype then default it to
9421                 -- OPEN_BIDDING.
9422                 -- It keeps the source document value if the target doctype_id
9423                 -- is same as before. It always sets the value as per the
9424                 -- bizrule dictates if it is a cross doctype copy and the original value
9425                 -- was OPEN_BIDDING. It will carry over the value in all other cases.
9426                 --
9427                 decode (R_BID_VISIB.VALIDITY_FLAG,
9428                               'N','OPEN_BIDDING',
9429                               'Y', decode( p_doctype_id, p_source_doctype_id,
9430                                               A.BID_VISIBILITY_CODE,
9431                                              -- So, we are copying accross doctype id
9432                                              decode(A.BID_VISIBILITY_CODE,
9433                                                          'OPEN_BIDDING',  decode( NVL(R_BID_VISIB.FIXED_VALUE,'-1'),
9434                                                                                                     '-1', decode(NVL(R_BID_VISIB.DEFAULT_VALUE,'-1'),
9435                                                                                                                         '-1', A.BID_VISIBILITY_CODE,
9436                                                                                                                         R_BID_VISIB.DEFAULT_VALUE),
9437                                                                                                    R_BID_VISIB.FIXED_VALUE),
9438                                                          A.BID_VISIBILITY_CODE)
9439                              )) BID_VISIBILITY_CODE,
9440                 --
9441                 -- The BID_SCOPE_CODE code will be defaulted to LINE_LEVEL_BIDDING
9442                 -- when it is not applicable to a document scenario. Otherwise the source document value
9443                 -- is carried forwarded if it is displayed in the target doctype and defaulted by bizrule
9444                 -- only if the source BID_SCOPE_CODE value is NULL (Draft Negotiation Copy).
9445                 -- The value will be defaulted to the doctype default when the attribute is not
9446                 -- displayable
9447                 --
9448                 decode (R_BID_SCOPE.VALIDITY_FLAG,
9449                              'N','LINE_LEVEL_BIDDING',
9450                              'Y', decode( R_BID_SCOPE.display_flag,
9451                                                 'Y', NVL(A.BID_SCOPE_CODE, R_BID_SCOPE.DEFAULT_VALUE),
9452                                                 'N', decode(NVL(R_BID_SCOPE.FIXED_VALUE,'-1'),
9453                                                                    '-1', R_BID_SCOPE.DEFAULT_VALUE,
9454                                                                    R_BID_SCOPE.FIXED_VALUE))
9455                              ) BID_SCOPE_CODE,
9456                 --
9457                 -- CONTRACT_TYPE Column is not applicable for RFI. So, it is NULL
9458                 -- by the seeded bizrule (We are not hardcoding it to NULL as before).
9459                 -- If it is applicable for the target doctype then check if it was displayable
9460                 -- for source doctype_id. If it is true then carry on the old value. If it is false then
9461                 -- set it to STANDARD if fixed and default
9462                 -- values are NULL for a doctype. This was the logic implemented in
9463                 -- the initialize() method of AuctionHeaderALLEOImpl
9464                 --
9465                 decode (R_CNTRCT.VALIDITY_FLAG,
9466                            'N',NULL,
9467                            'Y', decode(R_OLD_CNTRCT.display_flag,
9468                                             'Y', A.CONTRACT_TYPE,
9469                                             decode(NVL(R_CNTRCT.FIXED_VALUE,'-1'),
9470                                                          '-1', decode(NVL(R_CNTRCT.DEFAULT_VALUE,'-1'),
9471                                                                              '-1', 'STANDARD',
9472                                                                              R_CNTRCT.DEFAULT_VALUE),
9473                                                          R_CNTRCT.FIXED_VALUE))) CONTRACT_TYPE,
9474                 --
9475                 -- The PO_START_DATE will be defaulted to NULLwhen it is not applicable to the target
9476                 -- document. Otherwise the source document value is carried forwarded if it is displayed
9477                 -- in the target doctype scenario. The value will be set to NULL when the attribute is not
9478                 -- displayable in the target doctype scenario
9479                 --
9480                 decode (R_AGRMNT_DATE.VALIDITY_FLAG,
9481                            'N',NULL,
9482                            'Y',decode(R_AGRMNT_DATE.display_flag,
9483                                             'Y',  A.PO_START_DATE,
9484                                             'N', NULL)) PO_START_DATE,
9485                 --
9486                 -- The PO_END_DATE will be defaulted to NULLwhen it is not applicable to the target
9487                 -- document. Otherwise the source document value is carried forwarded if it is displayed
9488                 -- in the target doctype scenario. The value will be set to NULL when the attribute is not
9489                 -- displayable in the target doctype scenario
9490                 --
9491                 decode (R_AGRMNT_END_DATE.VALIDITY_FLAG,
9492                            'N',NULL,
9493                            'Y',decode(R_AGRMNT_END_DATE.display_flag,
9494                                       'Y',  A.PO_END_DATE,
9495                                       'N', NULL)) PO_END_DATE,
9496                 decode (R_AGRMNT_AMNT.VALIDITY_FLAG,
9497                            'N',NULL,
9498                            'Y',decode(R_AGRMNT_AMNT.display_flag,
9499                                       'Y',  A.PO_AGREED_AMOUNT,
9500                                       'N', NULL)) PO_AGREED_AMOUNT,
9501                 --
9502                 -- If the bizrule is not applied to a doctype then default it to N
9503                 -- It keeps the source document value if the target doctype_id
9504                 -- has the display flag on. Otherwise it is always set as per the
9505                 -- bizrule dictates. If the bizrule value is NULL then it is set to source
9506                 -- document attribute value for simplicity.
9507                 --
9508                 decode (R_MAN_CLOSE.VALIDITY_FLAG,
9509                            'N','N',
9510                            'Y',decode( R_MAN_CLOSE.display_flag,
9511                                             'Y', A.MANUAL_CLOSE_FLAG,
9512                                             'N', decode(NVL(R_MAN_CLOSE.FIXED_VALUE,'-1'),
9513                                                                '-1', decode(NVL(R_MAN_CLOSE.DEFAULT_VALUE,'-1'),
9514                                                                                   '-1', A.MANUAL_CLOSE_FLAG,
9515                                                                                  R_MAN_CLOSE.DEFAULT_VALUE),
9516                                                                R_MAN_CLOSE.FIXED_VALUE))) MANUAL_CLOSE_FLAG,
9517                 --
9518                 -- If the bizrule is not applied to a doctype then default it to N
9519                 -- It keeps the source document value if the target doctype_id
9520                 -- has the display flag on. Otherwise it is always set as per the
9521                 -- bizrule dictates. If the bizrule value is NULL then it is set to source
9522                 -- document attribute value for simplicity.
9523                 --
9524                 decode (R_MAN_EXTND.VALIDITY_FLAG,
9525                            'N','N',
9526                            'Y',decode( R_MAN_EXTND.display_flag,
9527                                        'Y', A.MANUAL_EXTEND_FLAG,
9528                                        'N', decode(NVL(R_MAN_EXTND.FIXED_VALUE,'-1'),
9529                                               '-1', decode(NVL(R_MAN_EXTND.DEFAULT_VALUE,'-1'),
9530                                                            '-1', A.MANUAL_EXTEND_FLAG,
9531                                                            R_MAN_EXTND.DEFAULT_VALUE),
9532                                               R_MAN_EXTND.FIXED_VALUE))) MANUAL_EXTEND_FLAG,
9533                 --
9534                 -- If the bizrule is not applied to a doctype then default it to N
9535                 -- It keeps the source document value if the target doctype_id
9536                 -- has the display flag on. Otherwise it is always set as per the
9537                 -- bizrule dictates. If the bizrule value is NULL then it is set to source
9538                 -- document attribute value for simplicity.
9539                 --
9540                 decode (R_SHOW_NOTES.VALIDITY_FLAG,
9541                            'N','N',
9542                            'Y', decode( R_SHOW_NOTES.display_flag,
9543                                         'Y',  A.SHOW_BIDDER_NOTES,
9544                                         'N', decode(NVL(R_SHOW_NOTES.FIXED_VALUE,'-1'),
9545                                                '-1', decode(NVL(R_SHOW_NOTES.DEFAULT_VALUE,'-1'),
9546                                                             '-1', A.SHOW_BIDDER_NOTES,
9547                                                             R_SHOW_NOTES.DEFAULT_VALUE),
9548                                                R_SHOW_NOTES.FIXED_VALUE))) SHOW_BIDDER_NOTES,
9549                 --
9550                 -- The MULTIPLE_ROUNDS_FLAG flag will be defaulted to N if not applicable to
9551                 -- a doctype_id. It keeps the source document value if the target doctype_id
9552                 -- has the display flag on. Otherwise it is always set as per the
9553                 -- bizrule dictates. If the bizrule value is NULL then it is set to N.
9554                 --
9555                 decode (R_MULI_ROUND.VALIDITY_FLAG,
9556                                'N','N',
9557                                'Y', decode( R_MULI_ROUND.display_flag,
9558                                                  'Y', nvl(A.MULTIPLE_ROUNDS_FLAG,'N'),
9559                                                  'N', decode(NVL(R_MULI_ROUND.FIXED_VALUE,'-1'), -- It has got a problem, fixed and default values are different
9560                                                           '-1', decode(NVL(R_MULI_ROUND.DEFAULT_VALUE,'-1'),
9561                                                                        '-1', nvl(A.MULTIPLE_ROUNDS_FLAG,'N'),
9562                                                                  R_MULI_ROUND.DEFAULT_VALUE),
9563                                                           decode(R_MULI_ROUND.FIXED_VALUE,
9564                                                                        'MULTIPLE', 'Y',
9565                                                                        'SINGLE', 'N'))
9566                                                )
9567                                ) MULTIPLE_ROUNDS_FLAG,   -- It is SINGLE for RFQ which seems to be wrong
9568                 --
9569                 -- The AUTO_EXTEND_FLAG flag will be defaulted to N if not applicable to
9570                 -- a doctype_id. It keeps the source document value if the target doctype_id
9571                 -- has the display flag on. Otherwise it is always set as per the
9572                 -- bizrule dictates. If the bizrule value is NULL then it is set to N.
9573                 --
9574                 -- also check for neg style
9575                 -- if style disables auto extension, set the flag to N
9576                 decode (R_AUTO_EXTND.VALIDITY_FLAG,
9577                            'N','N',
9578                            'Y', decode(g_neg_style_control.auto_extend_enabled_flag,
9579                                   'N', 'N',
9580                                   'Y', decode( R_AUTO_EXTND.display_flag,
9581                                         'Y', A.AUTO_EXTEND_FLAG,
9582                                         'N', decode(NVL(R_AUTO_EXTND.FIXED_VALUE,'-1'),
9583                                                '-1', decode(NVL(R_AUTO_EXTND.DEFAULT_VALUE,'-1'),
9584                                                             '-1', 'N',
9585                                                             R_AUTO_EXTND.DEFAULT_VALUE),
9586                                                 R_AUTO_EXTND.FIXED_VALUE)))) AUTO_EXTEND_FLAG,
9587                 --
9588                 -- The AUTO_EXTEND_ALL_LINES_FLAG flag will be defaulted to N if not applicable to
9589                 -- a doctype_id. It keeps the source document value if the target doctype_id
9590                 -- has the display flag on. Otherwise it is always set as per the
9591                 -- bizrule dictates. If the bizrule value is NULL then it is set to N.
9592                 --
9593                 decode (R_AUTO_XTN_ALL.VALIDITY_FLAG,
9594                            'N','N',
9595                            'Y', decode( R_AUTO_XTN_ALL.display_flag,
9596                                         'Y', A.AUTO_EXTEND_ALL_LINES_FLAG,
9597                                         'N', decode(NVL(R_AUTO_XTN_ALL.FIXED_VALUE,'-1'),
9598                                                '-1', decode(NVL(R_AUTO_XTN_ALL.DEFAULT_VALUE,'-1'),
9599                                                             '-1', 'N',
9600                                                             R_AUTO_XTN_ALL.DEFAULT_VALUE),
9601                                                R_AUTO_XTN_ALL.FIXED_VALUE))) AUTO_EXTEND_ALL_LINES_FLAG,
9602                 -- AUTO_EXTEND_MIN_TRIGGER_RANK will be defaulted to 1 if autoextend is not
9603                 -- applicable. we do not have a seperate bizrule for this. Instead we use the
9604                 -- generic bizrule for the autoextend.
9605                 --
9606                 decode (R_AUTO_XTN_ALL.VALIDITY_FLAG,
9607                           'N',1, A.AUTO_EXTEND_MIN_TRIGGER_RANK) AUTO_EXTEND_MIN_TRIGGER_RANK,
9608                 --
9609                 -- The AUTO_EXTEND_DURATION flag will be defaulted to NULL if not applicable to
9610                 -- a doctype_id. It keeps the source document value if the target doctype_id
9611                 -- has the display flag on. Otherwise it is always set as per the
9612                 -- bizrule dictates. If the bizrule value is NULL then it is set to the source attribute
9613                 -- value.
9614                 --
9615                 decode (R_AUTO_XTN_LENGTH.VALIDITY_FLAG,
9616                            'N',NULL,
9617                            'Y',decode( R_AUTO_XTN_LENGTH.display_flag,
9618                                        'Y', A.AUTO_EXTEND_DURATION,
9619                                        'N', decode(NVL(R_AUTO_XTN_LENGTH.FIXED_VALUE,'-1'),
9620                                               '-1', decode(NVL(R_AUTO_XTN_LENGTH.DEFAULT_VALUE,'-1'),
9621                                                            '-1', NULL,
9622                                                            R_AUTO_XTN_LENGTH.DEFAULT_VALUE),
9623                                               R_AUTO_XTN_LENGTH.FIXED_VALUE))) AUTO_EXTEND_DURATION,   -- It is 30 min default hence 20 not hard coded
9624                 --
9625                 -- The AUTO_EXTEND_TYPE_FLAG flag will be defaulted to NULL if not applicable to
9626                 --  a doctype_id. It keeps the source document value if the target doctype_id
9627                 -- has the display flag on. Otherwise it is always set as per the
9628                 -- bizrule dictates. If the bizrule value is NULL then it is set to the source attribute
9629                 -- value.
9630                 --
9631                 decode (R_AUTO_XTN_TYPE.VALIDITY_FLAG,
9632                            'N',NULL,
9633                            'Y', decode( R_AUTO_XTN_TYPE.display_flag,
9634                                         'Y', A.AUTO_EXTEND_TYPE_FLAG,
9635                                         'N', decode(NVL(R_AUTO_XTN_TYPE.FIXED_VALUE,'-1'),
9636                                                '-1', decode(NVL(R_AUTO_XTN_TYPE.DEFAULT_VALUE,'-1'),
9637                                                             '-1', NULL,
9638                                                             R_AUTO_XTN_TYPE.DEFAULT_VALUE),
9639                                                R_AUTO_XTN_TYPE.FIXED_VALUE))) AUTO_EXTEND_TYPE_FLAG,   -- It should have some default value
9640                 --
9641                 -- The GLOBAL_AGREEMENT_FLAG flag will be defaulted to NULL if not applicable to
9642                 -- a doctype_id. It keeps the source document value if the target doctype_id
9643                 -- has the display flag on. Otherwise it is always set as per the
9644                 -- bizrule dictates. If the bizrule value is NULL then it is set to the source attribute
9645                 -- value. It is set to NULL in case of RFI later on.
9646                 --
9647                 decode (R_GLBL_AGREMNT.VALIDITY_FLAG,
9648                            'N',NULL,
9649                            'Y', decode(  R_GLBL_AGREMNT.display_flag,
9650                                         'Y', A.GLOBAL_AGREEMENT_FLAG,
9651                                         'N', decode(NVL(R_GLBL_AGREMNT.FIXED_VALUE,'-1'),
9652                                                '-1', decode(NVL(R_GLBL_AGREMNT.DEFAULT_VALUE,'-1'),
9653                                                             '-1', NULL,
9654                                                             R_GLBL_AGREMNT.DEFAULT_VALUE),
9655                                                R_GLBL_AGREMNT.FIXED_VALUE))) GLOBAL_AGREEMENT_FLAG,
9656                 --
9657                 -- The PO_MIN_REL_AMOUNT flag will be defaulted to NULL if not applicable to
9658                 -- a doctype_id. It keeps the source document value if the target doctype_id
9659                 -- ihas the display flag on. Otherwise it is always set as per the
9660                 -- bizrule dictates. If the bizrule value is NULL then it is set to NULL.
9661                 -- It is later set to NULL if the current Contract type is STANDARD
9662                 --
9663                 decode (R_MIN_REL_AMT.VALIDITY_FLAG,
9664                            'N',NULL,
9665                            'Y', decode( R_MIN_REL_AMT.display_flag,
9666                                         'Y',  A.PO_MIN_REL_AMOUNT,
9667                                         'N', decode(NVL(R_MIN_REL_AMT.FIXED_VALUE,'-1'),
9668                                                '-1', decode(NVL(R_MIN_REL_AMT.DEFAULT_VALUE,'-1'),
9669                                                             '-1', NULL,
9670                                                             R_MIN_REL_AMT.DEFAULT_VALUE),
9671                                                R_MIN_REL_AMT.FIXED_VALUE))) PO_MIN_REL_AMOUNT,
9672                 decode (R_ALLOW_EVENT.VALIDITY_FLAG,
9673                         'N',NULL,
9674                         'Y',A.EVENT_ID) EVENT_ID,
9675                 decode (R_ALLOW_EVENT.VALIDITY_FLAG,
9676                         'N',NULL,
9677                         'Y',A.EVENT_TITLE) EVENT_TITLE,
9678                 --
9679                 -- The BID_RANKING flag will be defaulted to PRICE_ONLY if not applicable to
9680                 -- a doctype_id. It keeps the source document value if the target document
9681                 -- still shows the UI for this control. Otherwise it is always set as per the
9682                 -- bizrule dictates. If the bizrule value is NULL then it is set to PRICE_ONLY
9683                 -- if style disables line MAS, bid_ranking is PRICE_ONLY
9684                 decode (R_BID_RANK.VALIDITY_FLAG,
9685                           'N','PRICE_ONLY',
9686                           'Y',decode(NVL(g_neg_style_control.line_mas_enabled_flag,'N'),
9687                                   'N', 'PRICE_ONLY',
9688                                   'Y', decode( R_BID_RANK.display_flag,
9689                                              'Y', A.BID_RANKING,
9690                                              'N', decode(NVL(R_BID_RANK.FIXED_VALUE,'-1'),
9691                                                      '-1', decode(NVL(R_BID_RANK.DEFAULT_VALUE,'-1'),
9692                                                                   '-1', 'PRICE_ONLY',
9693                                                                   R_BID_RANK.DEFAULT_VALUE),
9694                                                      R_BID_RANK.FIXED_VALUE)))) BID_RANKING,
9695                 decode (R_BILL_LOC.VALIDITY_FLAG,
9696                            'N',NULL,
9697                            'Y', decode(R_OLD_BILL_LOC.display_flag,
9698                                        'Y', A.BILL_TO_LOCATION_ID,
9699                                        'N', decode(NVL(R_BILL_LOC.FIXED_VALUE,'-1'),
9700                                                '-1', decode(NVL(R_BILL_LOC.DEFAULT_VALUE,'-1'),
9701                                                             '-1', NULL,
9702                                                             R_BILL_LOC.DEFAULT_VALUE),
9703                                                R_BILL_LOC.FIXED_VALUE))) BILL_TO_LOCATION_ID,   -- Though I feel no one defaults the bill or ship loc id still keeping it
9704                 decode (R_SHIP_LOC.VALIDITY_FLAG,
9705                            'N',NULL,
9706                            'Y', decode(R_OLD_SHIP_LOC.display_flag,
9707                                        'Y', A.SHIP_TO_LOCATION_ID,
9708                                        'N', decode(NVL(R_SHIP_LOC.FIXED_VALUE,'-1'),
9709                                                '-1', decode(NVL(R_SHIP_LOC.DEFAULT_VALUE,'-1'),
9710                                                             '-1', NULL,
9711                                                             R_SHIP_LOC.DEFAULT_VALUE),
9712                                                R_SHIP_LOC.FIXED_VALUE))) SHIP_TO_LOCATION_ID,   -- 22 rule id
9713                 decode (R_CARRIER.VALIDITY_FLAG,
9714                            'N',NULL,
9715                            'Y',decode(R_CARRIER.display_flag,
9716                                        'Y', A.CARRIER_CODE,
9717                                        'N', decode(NVL(R_CARRIER.FIXED_VALUE,'-1'),
9718                                               '-1', decode(NVL(R_CARRIER.DEFAULT_VALUE,'-1'),
9719                                                            '-1', NULL,
9720                                                            R_CARRIER.DEFAULT_VALUE),
9721                                               R_CARRIER.FIXED_VALUE))) CARRIER_CODE,   -- 23 rule id
9722                 decode (R_FRIEIGHT_TERMS.VALIDITY_FLAG,
9723                            'N',NULL,
9724                            'Y', decode(R_FRIEIGHT_TERMS.display_flag,
9725                                         'Y', A.FREIGHT_TERMS_CODE,
9726                                         'N', decode(NVL(R_FRIEIGHT_TERMS.FIXED_VALUE,'-1'),
9727                                               '-1', decode(NVL(R_FRIEIGHT_TERMS.DEFAULT_VALUE,'-1'),
9728                                                            '-1', NULL,
9729                                                            R_FRIEIGHT_TERMS.DEFAULT_VALUE),
9730                                               R_FRIEIGHT_TERMS.FIXED_VALUE))) FREIGHT_TERMS_CODE,
9731                 decode (R_FOB_CODE.VALIDITY_FLAG,
9732                            'N',NULL,
9733                            'Y', decode(R_FOB_CODE.display_flag,
9734                                       'Y', A.FOB_CODE,
9735                                       'N', decode(NVL(R_FOB_CODE.FIXED_VALUE,'-1'),
9736                                               '-1', decode(NVL(R_FOB_CODE.DEFAULT_VALUE,'-1'),
9737                                                            '-1', NULL,
9738                                                            R_FOB_CODE.DEFAULT_VALUE),
9739                                               R_FOB_CODE.FIXED_VALUE))) FOB_CODE,
9740                 --
9741                 -- Defaulted to PUBLIC_BID_LIST if not applicable for any doctype.
9742                 -- The value of BID_LIST_TYPE is always taken from the bizrule
9743                 -- only if it was displayable in the source document. It is defaulted
9744                 -- from bizrule otherwise
9745                 --
9746                 decode (R_BID_LIST.VALIDITY_FLAG,
9747                            'N','PUBLIC_BID_LIST',
9748                            'Y', decode( R_BID_LIST.display_flag,
9749                                         'Y', A.BID_LIST_TYPE,
9750                                         'N',decode(NVL(R_BID_LIST.FIXED_VALUE,'-1'),
9751                                                '-1', decode(NVL(R_BID_LIST.DEFAULT_VALUE,'-1'),
9752                                                             '-1', 'PUBLIC_BID_LIST',
9753                                                             R_BID_LIST.DEFAULT_VALUE),
9754                                                R_BID_LIST.FIXED_VALUE))) BID_LIST_TYPE,
9755                 --
9756                 -- The BID_FREQUENCY_CODE code will be defaulted to MULTIPLE_BIDS_ALLOWED
9757                 -- when it is not applicable to a document. Otherwise the source document value
9758                 -- is carried forwarded if displayable and is defaulted by bizrule only if it is not displayable.
9759                 -- It is set to the doctype default value when it is NULL but displayable (Draft Negotiation Copy)
9760                 --
9761                 decode (R_BID_FREQ_CODE.VALIDITY_FLAG,
9762                         'N','MULTIPLE_BIDS_ALLOWED',
9763                         'Y', decode( R_BID_FREQ_CODE.display_flag,
9764                                      'Y', NVL(A.BID_FREQUENCY_CODE, R_BID_FREQ_CODE.DEFAULT_VALUE),
9765                                      'N', decode(NVL(R_BID_FREQ_CODE.FIXED_VALUE,'-1'),
9766                                                   '-1', decode(NVL(R_BID_FREQ_CODE.DEFAULT_VALUE,'-1'),
9767                                                             '-1', 'MULTIPLE_BIDS_ALLOWED',
9768                                                         R_BID_FREQ_CODE.DEFAULT_VALUE),
9769                                           R_BID_FREQ_CODE.FIXED_VALUE))) BID_FREQUENCY_CODE,
9770                 --
9771                 -- The FULL_QUANTITY_BID_CODE code will be defaulted to PARTIAL_QTY_BIDS_ALLOWED
9772                 -- when it is not applicable to a document.  It will be carried over if it is displayable in the
9773                 -- destination document.
9774                 -- Otherwise it is defaulted to the fixed value of the business rule
9775                 -- if there is any (if not displayable)
9776                 -- Or else it is carried forwarded and defaulted to default value
9777                 -- if the source document value is NULL
9778                 --
9779                 decode (R_BID_QTY_SCOPE.VALIDITY_FLAG,
9780                            'N','FULL_QTY_BIDS_REQD',
9781                            'Y', decode( R_BID_QTY_SCOPE.display_flag,
9782                                        'Y', NVL(A.FULL_QUANTITY_BID_CODE, R_BID_QTY_SCOPE.DEFAULT_VALUE),
9783                                        'N', decode(NVL(R_BID_QTY_SCOPE.FIXED_VALUE,'-1'),
9784                                               '-1', decode(NVL(R_BID_QTY_SCOPE.DEFAULT_VALUE,'-1'),
9785                                                             '-1', 'FULL_QTY_BIDS_REQD',
9786                                                         R_BID_QTY_SCOPE.DEFAULT_VALUE),
9787                                               R_BID_QTY_SCOPE.FIXED_VALUE))) FULL_QUANTITY_BID_CODE,
9788                 --
9789                 -- The RANK_INDICATOR flag will be defaulted to NONE if not applicable to
9790                 -- a doctype_id. It keeps the source document value if it is Amendment.
9791                 -- Otherwise it is always set as per the Admin setting. If the doctype is RFI
9792                 -- then the value is set to NONE
9793                 --
9794                 decode (R_RANK_INDICATOR.VALIDITY_FLAG,
9795                            'N','NONE',
9796                            'Y', A.RANK_INDICATOR) RANK_INDICATOR,
9797                 --
9798                 -- The SHOW_BIDDER_SCORES code will be carried over.
9799                 -- It will be changed to NONE if the BID_RANKING is PRICE_ONLY.
9800                 -- But this logic is implemented in the COPY_HEADER_BASIC procedure.
9801                 -- It is set to NONE if the destination if RFI later on this procedure.
9802                 --
9803                 A.SHOW_BIDDER_SCORES ,
9804                 --
9805                 --
9806                 -- The PF_TYPE_ALLOWED column will be defaulted to NONE if not applicable to
9807                 -- a doctype_id.
9808                 -- If applicable, use the source value if control was applicable in source
9809                 -- Otherwise set as per the Admin setting.
9810                 --
9811                 decode (R_ALLOW_PE.VALIDITY_FLAG,
9812                            'N','NONE',
9813                            'Y',  decode(g_neg_style_control.price_element_enabled_flag,
9814                                  'N', 'NONE', A.PF_TYPE_ALLOWED)) PF_TYPE_ALLOWED,
9815                 --
9816                 --
9817                 -- There is no direct bizrule for PRICE_DRIVEN_AUCTION_FLAG. Hence it is
9818                 -- indirectly populated from BID_CHANGE_TYPE bizrule. Defaulted to N if
9819                 -- not applicable for any doctype. It is inherited from the last document if
9820                 -- the doctype_ids are same. It is carried over from last document if
9821                 -- it is still applicable for the target doctype_id and the target BID_RANKING
9822                 -- is not MULTI_ATTRIBUTE_SCORING.
9823                 --
9824                 decode( p_doctype_id,
9825                         p_source_doctype_id, A.PRICE_DRIVEN_AUCTION_FLAG,
9826                         decode(R_MIN_BID_CHANGE_TYPE.VALIDITY_FLAG,
9827                                    'N', 'N',
9828                                    decode (BID_RANKING,
9829                                            'MULTI_ATTRIBUTE_SCORING', 'N',
9830                                            A.PRICE_DRIVEN_AUCTION_FLAG))) PRICE_DRIVEN_AUCTION_FLAG,
9831                 --
9832                 -- Defaulted to AMOUNT if not applicable for any doctype.
9833                 -- The value of MIN_BID_CHANGE_TYPE is always taken from the bizrule
9834                 -- only if the source and target doctype_id are different. Set to AMOUNT
9835                 -- if it is applicable and there is no bizrule dictated value
9836                 --
9837                 decode (R_MIN_BID_CHANGE_TYPE.VALIDITY_FLAG,
9838                            'N','AMOUNT',
9839                            'Y', decode( R_MIN_BID_CHANGE_TYPE.display_flag,
9840                                         'Y', NVL(A.MIN_BID_CHANGE_TYPE,'AMOUNT'),
9841                                         'N', decode(NVL(R_MIN_BID_CHANGE_TYPE.FIXED_VALUE,'-1'),
9842                                                '-1', decode(NVL(R_MIN_BID_CHANGE_TYPE.DEFAULT_VALUE,'-1'),
9843                                                             '-1', 'AMOUNT',
9844                                                             R_MIN_BID_CHANGE_TYPE.DEFAULT_VALUE),
9845                                                R_MIN_BID_CHANGE_TYPE.FIXED_VALUE))) MIN_BID_CHANGE_TYPE,
9846                 decode (R_PAY_TERMS.VALIDITY_FLAG,
9847                            'N',NULL,
9848                            'Y', decode(R_PAY_TERMS.display_flag,
9849                                          'Y', A.PAYMENT_TERMS_ID,
9850                                          'N', decode(NVL(R_PAY_TERMS.FIXED_VALUE,'-1'),
9851                                               '-1', decode(NVL(R_PAY_TERMS.DEFAULT_VALUE,'-1'),
9852                                                            '-1', NULL,
9853                                                            R_PAY_TERMS.DEFAULT_VALUE),
9854                                               R_PAY_TERMS.FIXED_VALUE))) PAYMENT_TERMS_ID,
9855                 --
9856                 -- Defaulted to N if validity flag is NULL.
9857                 -- The validity flag is used to decide if the price element
9858                 -- is allowed or not
9859                 --
9860                 decode (nvl(R_ALLOW_PE.VALIDITY_FLAG , 'N'),
9861                         'N','N',
9862                         'Y') ALLOW_PRICE_ELEMENT,
9863                 --
9864                 -- Defaulted to N if not applicable for any doctype.
9865                 -- if it is applicable and if is displayable then it is set to Y. It is set to N
9866                 -- otherwise
9867                 --
9868                 decode (R_NO_PRICE_QTY.VALIDITY_FLAG,
9869                           'N','N',
9870                           'Y', decode(NVL(R_NO_PRICE_QTY.DISPLAY_FLAG,'N'),
9871                                       'Y','Y',
9872                                       'N')) NO_PRICE_QTY_ITEMS_POSSIBLE,
9873                 --
9874                 -- Defaulted to N if not applicable for any doctype.
9875                 -- if it is applicable and if is displayable then it is set to Y. It is set to N
9876                 -- otherwise for all price and price break
9877                 --
9878                 decode (R_START_PRICE.VALIDITY_FLAG,
9879                            'N','N',
9880                            'Y', decode(R_START_PRICE.DISPLAY_FLAG,
9881                                        'Y','Y',
9882                                        'N')) START_PRICE,
9883                 decode (R_RESERVE_PRICE.VALIDITY_FLAG,
9884                            'N','N',
9885                            'Y', decode(R_RESERVE_PRICE.DISPLAY_FLAG,
9886                                        'Y','Y',
9887                                        'N')) RESERVE_PRICE,
9888                 decode (R_TARGET_PRICE.VALIDITY_FLAG,
9889                            'N','N',
9890                            'Y', decode(R_TARGET_PRICE.DISPLAY_FLAG,
9891                                        'Y','Y',
9892                                        'N')) TARGET_PRICE,
9893                 decode (R_CURRENT_PRICE.VALIDITY_FLAG,
9894                            'N','N',
9895                            'Y', decode(R_CURRENT_PRICE.DISPLAY_FLAG,
9896                                        'Y','Y',
9897                                        'N')) CURRENT_PRICE,
9898                 decode (R_BEST_PRICE.VALIDITY_FLAG,
9899                            'N','N',
9900                            'Y', decode(R_BEST_PRICE.DISPLAY_FLAG,
9901                                        'Y','Y',
9902                                        'N')) BEST_PRICE,
9903                 decode (R_PRICE_BREAK.VALIDITY_FLAG,
9904                            'N','N',
9905                            'Y', decode(R_PRICE_BREAK.DISPLAY_FLAG,
9906                                        'Y','Y',
9907                                        'N')) PRICE_BREAK,
9908                 decode (R_ALLOW_PRICE_DIFF.VALIDITY_FLAG,
9909                            'N','N',
9910                            'Y', decode(R_ALLOW_PRICE_DIFF.DISPLAY_FLAG,
9911                                        'Y','Y',
9912                                        'N')) ALLOW_PRICE_DIFFERENTIAL,
9913                 NVL(A.NUMBER_OF_BIDS,0),
9914                 --
9915                 -- Just check the Fixed Value of the AWARD_TYPE bizrule for the source (not
9916                 -- the current one) document type
9917                 --
9918                 R_AWARD_TYPE.FIXED_VALUE,
9919                 A.CURRENCY_CODE,
9920                 A.RATE_TYPE,
9921                 A.FIRST_LINE_CLOSE_DATE,
9922                 A.STAGGERED_CLOSING_INTERVAL,
9923                 A.QTY_PRICE_TIERS_ENABLED_FLAG,
9924                 A.PRICE_TIERS_INDICATOR
9925                 INTO
9926                         t_record.BID_VISIBILITY_CODE,
9927                         t_record.BID_SCOPE_CODE,
9928                         t_record.CONTRACT_TYPE,
9929                         t_record.PO_START_DATE,
9930                         t_record.PO_END_DATE,
9931                         t_record.PO_AGREED_AMOUNT,
9932                         t_record.MANUAL_CLOSE_FLAG,
9933                         t_record.MANUAL_EXTEND_FLAG,
9934                         t_record.SHOW_BIDDER_NOTES,
9935                         t_record.MULTIPLE_ROUNDS_FLAG,
9936                         t_record.AUTO_EXTEND_FLAG,
9937                         t_record.AUTO_EXTEND_ALL_LINES_FLAG,
9938                         t_record.AUTO_EXTEND_MIN_TRIGGER_RANK,
9939                         t_record.AUTO_EXTEND_DURATION,
9940                         t_record.AUTO_EXTEND_TYPE_FLAG,
9941                         t_record.GLOBAL_AGREEMENT_FLAG,
9942                         t_record.PO_MIN_REL_AMOUNT,
9943                         t_record.EVENT_ID,
9944                         t_record.EVENT_TITLE,
9945                         t_record.BID_RANKING,
9946                         t_record.BILL_TO_LOCATION_ID,
9947                         t_record.SHIP_TO_LOCATION_ID,
9948                         t_record.CARRIER_CODE,
9949                         t_record.FREIGHT_TERMS_CODE,
9950                         t_record.FOB_CODE,
9951                         t_record.BID_LIST_TYPE,
9952                         t_record.BID_FREQUENCY_CODE,
9953                         t_record.FULL_QUANTITY_BID_CODE,
9954                         t_record.RANK_INDICATOR,
9955                         t_record.SHOW_BIDDER_SCORES,
9956                         t_record.PF_TYPE_ALLOWED,
9957                         t_record.PRICE_DRIVEN_AUCTION_FLAG,
9958                         t_record.MIN_BID_CHANGE_TYPE,
9959                         t_record.PAYMENT_TERMS_ID,
9960                         t_record.ALLOW_PRICE_ELEMENT,
9961                         t_record.NO_PRICE_QTY_ITEMS_POSSIBLE,
9962                         t_record.START_PRICE,
9963                         t_record.RESERVE_PRICE,
9964                         t_record.TARGET_PRICE,
9965                         t_record.CURRENT_PRICE,
9966                         t_record.BEST_PRICE,
9967                         t_record.PRICE_BREAK,
9968                         t_record.ALLOW_PRICE_DIFFERENTIAL,
9969                         t_record.NUMBER_OF_BIDS,
9970                         t_record.AWARD_TYPE_RULE_FIXED_VALUE,
9971                         t_record.CURRENCY_CODE,
9972                         t_record.RATE_TYPE,
9973                         t_record.FIRST_LINE_CLOSE_DATE,
9974                         t_record.STAGGERED_CLOSING_INTERVAL,
9975                         t_record.QTY_PRICE_TIERS_ENABLED_FLAG,
9976                         t_record.PRICE_TIERS_INDICATOR
9977                 FROM PON_AUCTION_HEADERS_ALL A,
9978                      PON_AUC_BIZRULES BID_VISIB,
9979                      PON_AUC_DOCTYPE_RULES R_BID_VISIB,
9980                      PON_AUC_BIZRULES BID_SCOPE,
9981                      PON_AUC_DOCTYPE_RULES R_BID_SCOPE,
9982                      PON_AUC_BIZRULES CNTRCT,
9983                      PON_AUC_DOCTYPE_RULES R_CNTRCT,
9984                      PON_AUC_DOCTYPE_RULES R_OLD_CNTRCT,
9985                      PON_AUC_BIZRULES AGRMNT_DATE,
9986                      PON_AUC_DOCTYPE_RULES R_AGRMNT_DATE,
9987                      PON_AUC_BIZRULES AGRMNT_END_DATE,
9988                      PON_AUC_DOCTYPE_RULES R_AGRMNT_END_DATE,
9989                      PON_AUC_BIZRULES AGRMNT_AMNT,
9990                      PON_AUC_DOCTYPE_RULES R_AGRMNT_AMNT,
9991                      PON_AUC_BIZRULES MAN_CLOSE,
9992                      PON_AUC_DOCTYPE_RULES R_MAN_CLOSE,
9993                      PON_AUC_BIZRULES MAN_EXTND,
9994                      PON_AUC_DOCTYPE_RULES R_MAN_EXTND,
9995                      PON_AUC_BIZRULES SHOW_NOTES,
9996                      PON_AUC_DOCTYPE_RULES R_SHOW_NOTES,
9997                      PON_AUC_BIZRULES MULI_ROUND,
9998                      PON_AUC_DOCTYPE_RULES R_MULI_ROUND,
9999                      PON_AUC_BIZRULES AUTO_EXTND,
10000                      PON_AUC_DOCTYPE_RULES R_AUTO_EXTND,
10001                      PON_AUC_BIZRULES AUTO_XTN_ALL,
10002                      PON_AUC_DOCTYPE_RULES R_AUTO_XTN_ALL,
10003                      PON_AUC_BIZRULES AUTO_XTN_LENGTH,
10004                      PON_AUC_DOCTYPE_RULES R_AUTO_XTN_LENGTH,
10005                      PON_AUC_BIZRULES AUTO_XTN_TYPE,
10006                      PON_AUC_DOCTYPE_RULES R_AUTO_XTN_TYPE,
10007                      PON_AUC_BIZRULES GLBL_AGREMNT,
10008                      PON_AUC_DOCTYPE_RULES R_GLBL_AGREMNT,
10009                      PON_AUC_BIZRULES MIN_REL_AMT,
10010                      PON_AUC_DOCTYPE_RULES R_MIN_REL_AMT,
10011                      PON_AUC_BIZRULES ALLOW_EVENT,
10012                      PON_AUC_DOCTYPE_RULES R_ALLOW_EVENT,
10013                      PON_AUC_BIZRULES BID_RANK,
10014                      PON_AUC_DOCTYPE_RULES R_BID_RANK,
10015                      PON_AUC_BIZRULES BILL_LOC,
10016                      PON_AUC_DOCTYPE_RULES R_BILL_LOC,
10017                      PON_AUC_DOCTYPE_RULES R_OLD_BILL_LOC,
10018                      PON_AUC_BIZRULES SHIP_LOC,
10019                      PON_AUC_DOCTYPE_RULES R_SHIP_LOC,
10020                      PON_AUC_DOCTYPE_RULES R_OLD_SHIP_LOC,
10021                      PON_AUC_BIZRULES CARRIER,
10022                      PON_AUC_DOCTYPE_RULES R_CARRIER,
10023                      PON_AUC_BIZRULES FRIEIGHT_TERMS,
10024                      PON_AUC_DOCTYPE_RULES R_FRIEIGHT_TERMS,
10025                      PON_AUC_BIZRULES FOB_CODE,
10026                      PON_AUC_DOCTYPE_RULES R_FOB_CODE,
10027                      PON_AUC_BIZRULES BID_LIST,
10028                      PON_AUC_DOCTYPE_RULES R_BID_LIST,
10029                      PON_AUC_BIZRULES BID_FREQ_CODE,
10030                      PON_AUC_DOCTYPE_RULES R_BID_FREQ_CODE,
10031                      PON_AUC_BIZRULES BID_QTY_SCOPE,
10032                      PON_AUC_DOCTYPE_RULES R_BID_QTY_SCOPE,
10033                      PON_AUC_BIZRULES RANK_INDICATOR,
10034                      PON_AUC_DOCTYPE_RULES R_RANK_INDICATOR,
10035                      PON_AUC_BIZRULES SHOW_SCORE,
10036                      PON_AUC_DOCTYPE_RULES R_SHOW_SCORE,
10037                      PON_AUC_BIZRULES MIN_BID_CHANGE_TYPE,
10038                      PON_AUC_DOCTYPE_RULES R_MIN_BID_CHANGE_TYPE,
10039                      PON_AUC_BIZRULES PAY_TERMS,
10040                      PON_AUC_DOCTYPE_RULES R_PAY_TERMS,
10041                      PON_AUC_BIZRULES ALLOW_PE,
10042                      PON_AUC_DOCTYPE_RULES R_ALLOW_PE,
10043                      PON_AUC_BIZRULES NO_PRICE_QTY,
10044                      PON_AUC_DOCTYPE_RULES R_NO_PRICE_QTY,
10045                      PON_AUC_BIZRULES START_PRICE,
10046                      PON_AUC_DOCTYPE_RULES R_START_PRICE,
10047                      PON_AUC_BIZRULES RESERVE_PRICE,
10048                      PON_AUC_DOCTYPE_RULES R_RESERVE_PRICE,
10049                      PON_AUC_BIZRULES TARGET_PRICE,
10050                      PON_AUC_DOCTYPE_RULES R_TARGET_PRICE,
10051                      PON_AUC_BIZRULES CURRENT_PRICE,
10052                      PON_AUC_DOCTYPE_RULES R_CURRENT_PRICE,
10053                      PON_AUC_BIZRULES BEST_PRICE,
10054                      PON_AUC_DOCTYPE_RULES R_BEST_PRICE,
10055                      PON_AUC_BIZRULES PRICE_BREAK,
10056                      PON_AUC_DOCTYPE_RULES R_PRICE_BREAK,
10057                      PON_AUC_BIZRULES ALLOW_PRICE_DIFF,
10058                      PON_AUC_DOCTYPE_RULES R_ALLOW_PRICE_DIFF,
10059                      PON_AUC_BIZRULES AWARD_TYPE,
10060                      PON_AUC_DOCTYPE_RULES R_AWARD_TYPE
10061                 WHERE A.AUCTION_HEADER_ID = p_source_auction_header_id
10062                 AND R_BID_VISIB.DOCTYPE_ID = p_doctype_id
10063                 AND BID_VISIB.BIZRULE_ID = R_BID_VISIB.BIZRULE_ID
10064                 AND BID_VISIB.NAME = 'BID_VISIBILITY'
10065                 AND R_BID_SCOPE.DOCTYPE_ID = p_doctype_id
10066                 AND BID_SCOPE.BIZRULE_ID = R_BID_SCOPE.BIZRULE_ID
10067                 AND BID_SCOPE.NAME = 'BID_SCOPE'
10068                 AND R_CNTRCT.DOCTYPE_ID = p_doctype_id
10069                 AND CNTRCT.BIZRULE_ID = R_CNTRCT.BIZRULE_ID
10070                 AND CNTRCT.NAME = 'CONTRACT_TYPE'
10071                 AND R_OLD_CNTRCT.DOCTYPE_ID = p_source_doctype_id
10072                 AND R_OLD_CNTRCT.BIZRULE_ID = CNTRCT.BIZRULE_ID
10073                 AND BID_SCOPE.NAME = 'BID_SCOPE'
10074                 AND R_AGRMNT_DATE.DOCTYPE_ID = p_doctype_id
10075                 AND AGRMNT_DATE.BIZRULE_ID = R_AGRMNT_DATE.BIZRULE_ID
10076                 AND AGRMNT_DATE.NAME = 'AGREEMENT_START_DATE'
10077                 AND R_AGRMNT_END_DATE.DOCTYPE_ID = p_doctype_id
10078                 AND AGRMNT_END_DATE.BIZRULE_ID = R_AGRMNT_END_DATE.BIZRULE_ID
10079                 AND AGRMNT_END_DATE.NAME = 'AGREEMENT_END_DATE'
10080                 AND R_AGRMNT_AMNT.DOCTYPE_ID = p_doctype_id
10081                 AND AGRMNT_AMNT.BIZRULE_ID = R_AGRMNT_AMNT.BIZRULE_ID
10082                 AND AGRMNT_AMNT.NAME = 'AGREEMENT_AMOUNT'
10083                 AND R_MAN_CLOSE.DOCTYPE_ID = p_doctype_id
10084                 AND MAN_CLOSE.BIZRULE_ID = R_MAN_CLOSE.BIZRULE_ID
10085                 AND MAN_CLOSE.NAME = 'MANUAL_CLOSE'
10086                 AND R_MAN_EXTND.DOCTYPE_ID = p_doctype_id
10087                 AND MAN_EXTND.BIZRULE_ID = R_MAN_EXTND.BIZRULE_ID
10088                 AND MAN_EXTND.NAME = 'MANUAL_EXTEND'
10089                 AND R_SHOW_NOTES.DOCTYPE_ID = p_doctype_id
10090                 AND SHOW_NOTES.BIZRULE_ID = R_SHOW_NOTES.BIZRULE_ID
10091                 AND SHOW_NOTES.NAME = 'SHOW_BIDDER_NOTES'
10092                 AND R_MULI_ROUND.DOCTYPE_ID = p_doctype_id
10093                 AND MULI_ROUND.BIZRULE_ID = R_MULI_ROUND.BIZRULE_ID
10094                 AND MULI_ROUND.NAME = 'ALLOW_MULTIPLE_ROUNDS'
10095                 AND R_AUTO_EXTND.DOCTYPE_ID = p_doctype_id
10096                 AND AUTO_EXTND.BIZRULE_ID = R_AUTO_EXTND.BIZRULE_ID
10097                 AND AUTO_EXTND.NAME = 'AUTO_EXTENSION'
10098                 AND R_AUTO_XTN_ALL.DOCTYPE_ID = p_doctype_id
10099                 AND AUTO_XTN_ALL.BIZRULE_ID = R_AUTO_XTN_ALL.BIZRULE_ID
10100                 AND AUTO_XTN_ALL.NAME = 'AUTO_EXTEND_ALLLINE'
10101                 AND R_AUTO_XTN_LENGTH.DOCTYPE_ID = p_doctype_id
10102                 AND AUTO_XTN_LENGTH.BIZRULE_ID = R_AUTO_XTN_LENGTH.BIZRULE_ID
10103                 AND AUTO_XTN_LENGTH.NAME = 'AUTO_EXTEND_DURATION'
10104                 AND R_AUTO_XTN_TYPE.DOCTYPE_ID = p_doctype_id
10105                 AND AUTO_XTN_TYPE.BIZRULE_ID = R_AUTO_XTN_TYPE.BIZRULE_ID
10106                 AND AUTO_XTN_TYPE.NAME = 'AUTO_EXTEND_START_TIME'
10107                 AND R_GLBL_AGREMNT.DOCTYPE_ID = p_doctype_id
10108                 AND GLBL_AGREMNT.BIZRULE_ID = R_GLBL_AGREMNT.BIZRULE_ID
10109                 AND GLBL_AGREMNT.NAME = 'GLOBAL_AGREEMENT'
10110                 AND R_MIN_REL_AMT.DOCTYPE_ID = p_doctype_id
10111                 AND MIN_REL_AMT.BIZRULE_ID = R_MIN_REL_AMT.BIZRULE_ID
10112                 AND MIN_REL_AMT.NAME = 'MIN_RELEASE_AMOUNT'
10113                 AND R_ALLOW_EVENT.DOCTYPE_ID = p_doctype_id
10114                 AND ALLOW_EVENT.BIZRULE_ID = R_ALLOW_EVENT.BIZRULE_ID
10115                 AND ALLOW_EVENT.NAME = 'ALLOW_EVENTS'
10116                 AND R_BID_RANK.DOCTYPE_ID = p_doctype_id
10117                 AND BID_RANK.BIZRULE_ID = R_BID_RANK.BIZRULE_ID
10118                 AND BID_RANK.NAME = 'BID_RANKING'
10119                 AND R_BILL_LOC.DOCTYPE_ID = p_doctype_id
10120                 AND BILL_LOC.BIZRULE_ID = R_BILL_LOC.BIZRULE_ID
10121                 AND BILL_LOC.NAME = 'BILL_TO_LOCATION'
10122                 AND R_OLD_BILL_LOC.DOCTYPE_ID = p_source_doctype_id
10123                 AND R_OLD_BILL_LOC.BIZRULE_ID = BILL_LOC.BIZRULE_ID
10124                 AND R_SHIP_LOC.DOCTYPE_ID = p_doctype_id
10125                 AND SHIP_LOC.BIZRULE_ID = R_SHIP_LOC.BIZRULE_ID
10126                 AND SHIP_LOC.NAME = 'SHIP_TO_LOCATION'
10127                 AND R_OLD_SHIP_LOC.DOCTYPE_ID = p_source_doctype_id
10128                 AND R_OLD_SHIP_LOC.BIZRULE_ID = SHIP_LOC.BIZRULE_ID
10129                 AND R_CARRIER.DOCTYPE_ID = p_doctype_id
10130                 AND CARRIER.BIZRULE_ID = R_CARRIER.BIZRULE_ID
10131                 AND CARRIER.NAME = 'FREIGHT_CARRIER'
10132                 AND R_FRIEIGHT_TERMS.DOCTYPE_ID = p_doctype_id
10133                 AND FRIEIGHT_TERMS.BIZRULE_ID = R_FRIEIGHT_TERMS.BIZRULE_ID
10134                 AND FRIEIGHT_TERMS.NAME = 'FREIGHT_TERMS'
10135                 AND R_FOB_CODE.DOCTYPE_ID = p_doctype_id
10136                 AND FOB_CODE.BIZRULE_ID = R_FOB_CODE.BIZRULE_ID
10137                 AND FOB_CODE.NAME = 'FOB_TERMS'
10138                 AND R_BID_LIST.DOCTYPE_ID = p_doctype_id
10139                 AND BID_LIST.BIZRULE_ID = R_BID_LIST.BIZRULE_ID
10140                 AND BID_LIST.NAME = 'BID_LIST_TYPE'
10141                 AND R_BID_FREQ_CODE.DOCTYPE_ID = p_doctype_id
10142                 AND BID_FREQ_CODE.BIZRULE_ID = R_BID_FREQ_CODE.BIZRULE_ID
10143                 AND BID_FREQ_CODE.NAME = 'BID_FREQUENCY'
10144                 AND R_BID_QTY_SCOPE.DOCTYPE_ID = p_doctype_id
10145                 AND BID_QTY_SCOPE.BIZRULE_ID = R_BID_QTY_SCOPE.BIZRULE_ID
10146                 AND BID_QTY_SCOPE.NAME = 'BID_QUANTITY_SCOPE'
10147                 AND R_RANK_INDICATOR.DOCTYPE_ID = p_doctype_id
10148                 AND RANK_INDICATOR.BIZRULE_ID = R_RANK_INDICATOR.BIZRULE_ID
10149                 AND RANK_INDICATOR.NAME = 'RANK_INDICATOR'
10150                 AND R_SHOW_SCORE.DOCTYPE_ID = p_doctype_id
10151                 AND SHOW_SCORE.BIZRULE_ID = R_SHOW_SCORE.BIZRULE_ID
10152                 AND SHOW_SCORE.NAME = 'RANK_INDICATOR'
10153                 AND R_MIN_BID_CHANGE_TYPE.DOCTYPE_ID = p_doctype_id
10154                 AND MIN_BID_CHANGE_TYPE.BIZRULE_ID = R_MIN_BID_CHANGE_TYPE.BIZRULE_ID
10155                 AND MIN_BID_CHANGE_TYPE.NAME = 'BID_CHANGE_TYPE'
10156                 AND R_PAY_TERMS.DOCTYPE_ID = p_doctype_id
10157                 AND PAY_TERMS.BIZRULE_ID = R_PAY_TERMS.BIZRULE_ID
10158                 AND PAY_TERMS.NAME = 'PAYMENT_TERMS'
10159                 AND R_ALLOW_PE.DOCTYPE_ID = p_doctype_id
10160                 AND ALLOW_PE.BIZRULE_ID = R_ALLOW_PE.BIZRULE_ID
10161                 AND ALLOW_PE.NAME = 'ALLOW_PRICE_ELEMENT'
10162                 AND R_NO_PRICE_QTY.DOCTYPE_ID = p_doctype_id
10163                 AND NO_PRICE_QTY.BIZRULE_ID = R_NO_PRICE_QTY.BIZRULE_ID
10164                 AND NO_PRICE_QTY.NAME = 'NO_PRICE_QUANTITY_ITEMS'
10165                 AND R_START_PRICE.DOCTYPE_ID = p_doctype_id
10166                 AND START_PRICE.BIZRULE_ID = R_START_PRICE.BIZRULE_ID
10167                 AND START_PRICE.NAME = 'START_PRICE'
10168                 AND R_RESERVE_PRICE.DOCTYPE_ID = p_doctype_id
10169                 AND RESERVE_PRICE.BIZRULE_ID = R_RESERVE_PRICE.BIZRULE_ID
10170                 AND RESERVE_PRICE.NAME = 'RESERVE_PRICE'
10171                 AND R_TARGET_PRICE.DOCTYPE_ID = p_doctype_id
10172                 AND TARGET_PRICE.BIZRULE_ID = R_TARGET_PRICE.BIZRULE_ID
10173                 AND TARGET_PRICE.NAME = 'TARGET_PRICE'
10174                 AND R_CURRENT_PRICE.DOCTYPE_ID = p_doctype_id
10175                 AND CURRENT_PRICE.BIZRULE_ID = R_CURRENT_PRICE.BIZRULE_ID
10176                 AND CURRENT_PRICE.NAME = 'CURRENT_PRICE'
10177                 AND R_BEST_PRICE.DOCTYPE_ID = p_doctype_id
10178                 AND BEST_PRICE.BIZRULE_ID = R_BEST_PRICE.BIZRULE_ID
10179                 AND BEST_PRICE.NAME = 'BEST_PRICE'
10180                 AND R_PRICE_BREAK.DOCTYPE_ID = p_doctype_id
10181                 AND PRICE_BREAK.BIZRULE_ID = R_PRICE_BREAK.BIZRULE_ID
10182                 AND PRICE_BREAK.NAME = 'PRICE_BREAK'
10183                 AND R_ALLOW_PRICE_DIFF.DOCTYPE_ID = p_doctype_id
10184                 AND ALLOW_PRICE_DIFF.BIZRULE_ID = R_ALLOW_PRICE_DIFF.BIZRULE_ID
10185                 AND ALLOW_PRICE_DIFF.NAME = 'ALLOW_PRICE_DIFFERENTIAL'
10186                 AND R_AWARD_TYPE.DOCTYPE_ID = p_source_doctype_id
10187                 AND AWARD_TYPE.BIZRULE_ID = R_AWARD_TYPE.BIZRULE_ID
10188                 AND AWARD_TYPE.NAME = 'AWARD_TYPE' ;
10189 
10190                 EXCEPTION --} End of Begin block
10191                         WHEN OTHERS THEN
10192 
10193                         -- Log Error
10194                         LOG_MESSAGE('copy_negotiation','Could not find all the bizrules. Please check the bizrule data.');
10195 
10196                         -- The way I am adding this error may get changed in the future.
10197                         -- So, please be aware of that
10198                         --
10199                         FND_MESSAGE.SET_NAME('PON','PON_INVALID_BIZ_RULE');
10200                         FND_MSG_PUB.ADD;
10201                         RAISE FND_API.G_EXC_ERROR;
10202                 END;
10203 
10204                 --
10205                 -- If we are copying a draft created from PO then Currency Code can be null
10206                 -- Set it to default value instead
10207                 --
10208                 IF (p_copy_type = g_draft_neg_copy) THEN
10209                         IF (t_record.CURRENCY_CODE IS NULL) THEN
10210 
10211                               BEGIN
10212 
10213                                 SELECT DISTINCT
10214                                         PSP.DEFAULT_RATE_TYPE,
10215                                         SOB.CURRENCY_CODE
10216                                 INTO
10217                                         l_default_rate_type,
10218                                         l_default_currency_code
10219                                 FROM  PO_SYSTEM_PARAMETERS_ALL PSP,
10220                                          FINANCIALS_SYSTEM_PARAMS_ALL FSP,
10221                                          GL_SETS_OF_BOOKS SOB
10222                                 WHERE PSP.ORG_ID = FSP.ORG_ID (+)
10223                                 AND FSP.SET_OF_BOOKS_ID = SOB.SET_OF_BOOKS_ID (+)
10224                                 AND PSP.ORG_ID = FND_PROFILE.VALUE('ORG_ID');
10225 
10226                              EXCEPTION
10227                                 WHEN OTHERS THEN
10228                                    -- If control is here then either the Org Id is not properly set
10229                                    -- or some setup problem is present in PO tables
10230                                    -- thus setting default rate to user rate and currency to USD
10231                                    -- which will be never executed in any normal scenario
10232                                    l_default_currency_code := 'USD';
10233                                    l_default_rate_type := 'User';
10234 
10235                              END;
10236 
10237                              t_record.CURRENCY_CODE := l_default_currency_code;
10238                              t_record.RATE_TYPE := l_default_rate_type;
10239                         END IF;
10240 
10241                 END IF;
10242 
10243                 --
10244                 -- Cross Copy Logic For Lines
10245                 --
10246 
10247                 --
10248                 -- Set SHOW_BIDDER_SCORES to NONE when cross copy to is RFI
10249                 -- Set GLOBAL_AGREEMENT_FLAG to NULL in that case
10250                 --
10251                 IF (l_rfi_doctype_id = p_doctype_id   AND
10252                       p_doctype_id <> p_source_doctype_id) THEN
10253                          t_record.SHOW_BIDDER_SCORES := 'NONE';
10254                          t_record.GLOBAL_AGREEMENT_FLAG := NULL;
10255                          g_err_loc := '1.1.3 It is a copy to RFI';
10256                 END IF;
10257 
10258                 --
10259                 -- Check if the source document was RFI and has got some Temp
10260                 -- Labor line type lines. Set the contract to BPA in that case
10261                 --
10262                 IF (l_rfi_doctype_id = p_source_doctype_id   AND
10263                       p_doctype_id <> p_source_doctype_id) THEN
10264 
10265                         SELECT COUNT(1)
10266                         INTO
10267                                 l_temp_labor_count
10268                         FROM PON_AUCTION_ITEM_PRICES_ALL
10269                         WHERE PURCHASE_BASIS = 'TEMP LABOR'
10270                         AND AUCTION_HEADER_ID = p_source_auction_header_id;
10271 
10272                        IF (l_temp_labor_count > 0) THEN
10273                                 t_record.CONTRACT_TYPE := 'BLANKET';
10274                                 t_record.GLOBAL_AGREEMENT_FLAG := 'Y';
10275                        END IF;
10276 
10277                 END IF;
10278 
10279                 --
10280                 -- This is a safeguard for setting BPA related attributes to
10281                 -- NULL.
10282                 -- The Blanket related fields are set to NULL when it is
10283                 -- a standard PO (setOutcomeAndDependentFields logic
10284                 -- from AuctionHeadersALLEOImpl)
10285                 --
10286                 IF (t_record.CONTRACT_TYPE = 'STANDARD' ) THEN
10287                         -- Bug 3973611, keep the GA Flag to N in case of SPO
10288                         t_record.GLOBAL_AGREEMENT_FLAG := 'N';
10289                         t_record.PO_START_DATE := NULL;
10290                         t_record.PO_END_DATE  := NULL;
10291                         t_record.PO_AGREED_AMOUNT := NULL;
10292                         t_record.PO_MIN_REL_AMOUNT := NULL;
10293                 END IF;
10294 
10295                 --
10296                 -- The Rank Indicator and Price Factor should be set to sysadmin set value for RFI to XXX
10297                 -- Copy. It should retain the old value otherwise.
10298                 -- The price tier indicator should be set to null to fire the defaulting action for RFI to XXX
10299                 -- For XXX to RFI all the three attribute should be set to NONE
10300                 --
10301                 IF (l_rfi_doctype_id = p_source_doctype_id   AND
10302                       p_doctype_id <> p_source_doctype_id) THEN
10303                          t_record.RANK_INDICATOR := l_pref_rank_indicator;
10304                          t_record.PF_TYPE_ALLOWED := l_pref_pf_type;
10305                          t_record.PRICE_TIERS_INDICATOR := null;
10306                 END IF;
10307 
10308                 -- No Rank Indicator and Price Factor for RFI
10309                 IF (l_rfi_doctype_id = p_doctype_id ) THEN
10310                         t_record.RANK_INDICATOR := 'NONE';                                              t_record.PF_TYPE_ALLOWED := 'NONE';
10311                 END IF;
10312 
10313                 -- No Price Tiers for RFI. If the destination doctype id is RFI
10314                 -- make the qty based price tiers enabled flag to N
10315 
10316                 --Also there won't be price tiers if the style of the destination
10317                 --auction doesn't allow quantity tiers.
10318                 IF ((l_rfi_doctype_id = p_doctype_id ) OR (g_neg_style_control.qty_price_tiers_enabled_flag = 'N'
10319                       AND t_record.PRICE_TIERS_INDICATOR = 'QUANTITY_BASED'))THEN
10320                         t_record.QTY_PRICE_TIERS_ENABLED_FLAG := 'N';
10321                         t_record.PRICE_TIERS_INDICATOR := null;
10322                 END IF;
10323 
10324         RETURN t_record;
10325 END;
10326 --} End of GET_HDR_CROSS_COPY_DATA
10327 
10328 
10329 PROCEDURE COPY_CONTRACTS_ATTACHMENTS (
10330                           p_source_auction_header_id IN NUMBER,
10331                           p_auction_header_id        IN NUMBER,
10332                           p_tp_id                    IN NUMBER,
10333                           p_tp_contact_id            IN NUMBER,
10334                           p_tp_name                  IN VARCHAR2,
10335                           p_tpc_name                 IN VARCHAR2,
10336                           p_user_id                  IN NUMBER,
10337                           p_source_doctype_id        IN NUMBER,
10338                           p_doctype_id               IN NUMBER,
10339                           p_copy_type                IN VARCHAR2,
10340                           p_org_id                   IN NUMBER,
10341                           p_is_award_approval_reqd   IN VARCHAR2,
10342                           p_retain_clause            IN VARCHAR2,
10343                           p_update_clause            IN VARCHAR2,
10344                           p_retain_attachments       IN VARCHAR2,
10345                           p_contracts_doctype        IN VARCHAR2,
10346                           p_contract_type            IN VARCHAR2,
10347                           p_document_number          IN VARCHAR2
10348                           )
10349  IS
10350         l_source_doc_id          NUMBER;
10351         l_auction_header_id      NUMBER;
10352         l_contracts_doctype      VARCHAR2(60);
10353         l_site_id                PON_AUCTION_HEADERS_ALL.TRADING_PARTNER_ID%TYPE;
10354         l_auc_contact_id         PON_AUCTION_HEADERS_ALL.TRADING_PARTNER_CONTACT_ID%TYPE;
10355         l_keep_version           VARCHAR2(1);
10356         l_return_status          VARCHAR2(1);
10357         l_msg_data               VARCHAR2(400);
10358         l_msg_count              NUMBER;
10359         l_error_code             VARCHAR2(100);
10360         l_error_message          VARCHAR2(400);
10361         l_is_reset_contracts     VARCHAR2(1);
10362         l_copy_for_amendment     VARCHAR2(1);
10363         l_po_doctype             VARCHAR2(50);
10364         l_conterms_exist_flag    pon_auction_headers_all.conterms_exist_flag%TYPE;
10365         l_copy_abstract_yn       VARCHAR2(1);
10366         l_old_org_id             NUMBER;
10367         l_old_policy             VARCHAR2(2);
10368 
10369  BEGIN --{ Start of COPY_CONTRACTS_ATTACHMENTS
10370 
10371         l_auction_header_id := p_auction_header_id;
10372         --
10373         -- Default the value of l_keep_version
10374         --
10375         IF (p_update_clause = 'Y') THEN
10376                 l_keep_version := 'N';
10377         ELSE
10378                 l_keep_version := 'Y';
10379         END IF;
10380 
10381         --
10382         -- For Amendment we have to keep this flag to Y as per the
10383         -- AuctionHeadersALLEOImpl. User will still have the choice of
10384         -- setting it to N for New Round Summary page flows
10385         --
10386         IF (p_copy_type = g_amend_copy) THEN
10387                 l_keep_version := 'Y';
10388         END IF;
10389 
10390         --
10391         -- Set this as amendment type variables in the AuctionHeadersALLEOImpl.
10392         --
10393         l_is_reset_contracts := 'Y';
10394         l_copy_for_amendment := 'N';
10395 
10396         --
10397         -- The l_copy_for_amendment used to be N for New Round Copy also
10398         -- otherwise the attachment of deliverables were retained even if the
10399         -- p_retain_attachments is N. OKC API seems to copy the deliverable
10400         -- attachments without looking at the p_copy_del_attachments_yn flag
10401         -- when p_copy_for_amendment is set to Y. This issue is fixed by
10402         -- bug 4065134. Hence, the New Round block is merged with the amendment
10403         -- block
10404         --
10405         IF (p_copy_type = g_amend_copy OR p_copy_type = g_new_rnd_copy) THEN
10406                 l_is_reset_contracts := 'N';
10407                 l_copy_for_amendment := 'Y';
10408         END IF;
10409 
10410         --
10411         -- To copy the Approval Abstract of Contracts Deviations.
10412         -- Only for amendment and new round we need to copy the Approval Abstract field.
10413         --
10414         IF (p_copy_type = g_new_rnd_copy OR p_copy_type = g_amend_copy ) THEN
10415                 l_copy_abstract_yn := 'Y';
10416         ELSE
10417                 l_copy_abstract_yn := 'N';
10418         END IF;
10419 
10420         --
10421         -- Copy Contracts
10422         --
10423         IF (p_retain_clause = 'Y') THEN
10424         -- {
10425 
10426                 l_source_doc_id := p_source_auction_header_id;
10427 
10428                 LOG_MESSAGE('copy_negotiation','Copy Contracts: 1. SOURCE_DOC_ID is:' || l_source_doc_id);
10429 
10430                 --
10431                 -- Get the Contract Doctype for the target doctype_id
10432                 --
10433                 l_contracts_doctype := PON_CONTERMS_UTL_PVT.GET_NEGOTIATION_DOC_TYPE(p_doctype_id);
10434 
10435                 LOG_MESSAGE('copy_negotiation','Copy Contracts: 2.  Contract Doctype for the target doctype_id is:' || l_contracts_doctype);
10436 
10437                 --
10438                 -- Determine the PO Doctype from the CONTRACT_TYPE of Negotiation
10439                 -- This is a replica of ContractServerUtil.getPODocType logic
10440                 --
10441                 IF (p_contract_type = 'BLANKET') THEN
10442                         l_po_doctype := 'PA_BLANKET';
10443                 ELSIF (p_contract_type ='CONTRACT') THEN
10444                         l_po_doctype := 'PA_CONTRACT';
10445                 ELSIF (p_contract_type ='STANDARD') THEN
10446                         l_po_doctype := 'PO_STANDARD';
10447                 END IF;
10448 
10449                 --
10450                 -- Get site ID for the enterprise
10451                 --
10452                 POS_ENTERPRISE_UTIL_PKG.GET_ENTERPRISE_PARTYID(l_site_id,
10453                              l_error_code,
10454                              l_error_message);
10455 
10456                 IF (l_error_code IS NOT NULL OR l_site_id IS NULL) THEN
10457                         -- FLAG ERROR
10458                         LOG_MESSAGE('copy_negotiation','Enterprise Party Id is NULL. Error returned by GET_ENTERPRISE_PARTYID method is - ' || SUBSTR(l_error_message,1,150));
10459                         --
10460                         -- The way I am adding this error may get changed in the future.
10461                         -- So, please be aware of that
10462                         FND_MESSAGE.SET_NAME('PON','PON_CONTRACT_COPY_ERR');
10463                         FND_MESSAGE.SET_TOKEN('REASON',SUBSTR(l_error_message,1,300));
10464                         FND_MSG_PUB.ADD;
10465                         RAISE FND_API.G_EXC_ERROR;
10466                         RETURN;
10467                 END IF;
10468 
10469                 LOG_MESSAGE('copy_negotiation','Copy Contracts: 3.  Contract Site Id is:' || l_site_id);
10470 
10471                 if (PON_CONTERMS_UTL_PVT.IS_CONTRACTS_INSTALLED() = 'T') then
10472                         l_conterms_exist_flag := PON_CONTERMS_UTL_PVT.CONTRACT_TERMS_EXIST(p_contracts_doctype, l_source_doc_id);
10473                 else
10474                         l_conterms_exist_flag := 'N';
10475                 end if;
10476 
10477                 LOG_MESSAGE('copy_negotiation','Copy Contracts: 3.1  conterms_exist:' || l_conterms_exist_flag);
10478 
10479                 IF (l_conterms_exist_flag = 'Y') THEN
10480                 -- {
10481                         --
10482                         -- This logic of getting the contact id is based on the PON_SOURCING_OPENAPI_GRP
10483                         -- API which is simpler version of the UserInfoVO
10484                         --
10485                         BEGIN
10486                                 SELECT FND_USER.EMPLOYEE_ID
10487                                 INTO l_auc_contact_id
10488                                 FROM FND_USER, HZ_RELATIONSHIPS
10489                                 WHERE FND_USER.USER_ID = FND_GLOBAL.USER_ID()
10490                                 AND HZ_RELATIONSHIPS.OBJECT_ID = l_site_id
10491                                 AND HZ_RELATIONSHIPS.SUBJECT_ID = FND_USER.PERSON_PARTY_ID
10492                                 AND HZ_RELATIONSHIPS.RELATIONSHIP_TYPE = 'POS_EMPLOYMENT'
10493                                 AND HZ_RELATIONSHIPS.RELATIONSHIP_CODE = 'EMPLOYEE_OF'
10494                                 AND HZ_RELATIONSHIPS.START_DATE <= SYSDATE
10495                                 AND HZ_RELATIONSHIPS.END_DATE >= SYSDATE;
10496                         EXCEPTION
10497                                 WHEN OTHERS THEN
10498                                         l_auc_contact_id := NULL;
10499                                         -- Log Error
10500                                         LOG_MESSAGE('copy_negotiation','Could not determine contact_id for fnd_user_id ' || fnd_global.user_id());
10501                                         --
10502                                         -- The way I am adding this error may get changed in the future.
10503                                         -- So, please be aware of that
10504                                         FND_MESSAGE.SET_NAME('PON','PON_CONTRACT_COPY_ERR');
10505                                         FND_MESSAGE.SET_TOKEN('REASON','Could not determine contact_id for fnd_user_id ' || fnd_global.user_id());
10506                                         FND_MSG_PUB.ADD;
10507                                         RAISE FND_API.G_EXC_ERROR;
10508                                         RETURN;
10509                         END;
10510 
10511                         --
10512                         -- Get the current policy
10513                         --
10514                         l_old_policy := mo_global.get_access_mode();
10515                         l_old_org_id := mo_global.get_current_org_id();
10516 
10517 
10518                         -- Now start the copy using the Contracts API
10519                         LOG_MESSAGE('copy_negotiation','Copy Contracts: 4.  Contract Copy Dpcument is starting');
10520                         LOG_MESSAGE('copy_negotiation','Copy Contracts: 4.1  Contract Copy Dpcument will be called with following parameters: -');
10521                         LOG_MESSAGE('copy_negotiation','----------------------------------------------------------------------------------------');
10522                         LOG_MESSAGE('copy_negotiation','Copy Contracts: 4.1, p_contracts_doctype:'||p_contracts_doctype||', p_source_doc_id:'||l_source_doc_id);
10523                         LOG_MESSAGE('copy_negotiation','Copy Contracts: 4.1, p_target_doc_type:'||l_contracts_doctype||' , p_target_doc_id:'||l_auction_header_id);
10524                         LOG_MESSAGE('copy_negotiation','Copy Contracts: 4.1, p_keep_version:'||l_keep_version||' , p_initialize_status_yn:'||l_is_reset_contracts);
10525                         LOG_MESSAGE('copy_negotiation','Copy Contracts: 4.1, p_reset_fixed_date_yn:'||l_is_reset_contracts||' , p_internal_party_id:'||p_org_id);
10526                         LOG_MESSAGE('copy_negotiation','Copy Contracts: 4.1, p_internal_contact_id:'||l_auc_contact_id||' , p_target_contractual_doctype:'||l_po_doctype);
10527                         LOG_MESSAGE('copy_negotiation','Copy Contracts: 4.1, p_copy_del_attachments_yn:'||'Y'||' , p_copy_deliverables:'||'Y');
10528                         LOG_MESSAGE('copy_negotiation','Copy Contracts: 4.1, p_document_number:'||p_document_number||' , p_copy_for_amendment:'||l_copy_for_amendment);
10529                         LOG_MESSAGE('copy_negotiation','Copy Contracts: 4.1, l_old_policy:'||l_old_policy||' , l_old_org_id:'||l_old_org_id);
10530                         LOG_MESSAGE('copy_negotiation','----------------------------------------------------------------------------------------');
10531 
10532                         --
10533                         -- Set the connection policy context. Bug 5018076.
10534                         --
10535                         mo_global.set_policy_context('S', p_org_id);
10536 
10537                         OKC_TERMS_COPY_GRP.COPY_DOC(
10538                                p_api_version                => 1.0,
10539                                p_init_msg_list              => FND_API.G_FALSE,
10540                                p_commit                     => FND_API.G_FALSE,
10541                                p_source_doc_type            => p_contracts_doctype,
10542                                p_source_doc_id              => l_source_doc_id,
10543                                p_target_doc_type            => l_contracts_doctype,
10544                                p_target_doc_id              => l_auction_header_id,
10545                                p_keep_version               => l_keep_version,  -- (N= copy latest version),For amendment it should be Y
10546                                p_article_effective_date     => sysdate,
10547                                p_initialize_status_yn       => l_is_reset_contracts,
10548                                p_reset_fixed_date_yn        => l_is_reset_contracts,
10549                                p_internal_party_id          => p_org_id,
10550                                p_internal_contact_id        => l_auc_contact_id,
10551                                p_target_contractual_doctype => l_po_doctype,
10552                                p_copy_del_attachments_yn    => p_retain_attachments,
10553                                p_external_party_id          => null,  -- Hardcoded to NULL always
10554                                p_external_contact_id        => null,  -- Hardcoded to NULL always
10555                                p_copy_deliverables          => 'Y',   -- Hardcoded to Y always
10556                                p_document_number            => p_document_number,
10557                                p_copy_for_amendment         => l_copy_for_amendment, -- It is like amendment parameter in EO
10558                                p_copy_doc_attachments       => 'N',   -- Hardcoded to N always
10559                                p_allow_duplicate_terms      => 'Y',   -- Hardcoded to Y always
10560                                p_copy_attachments_by_ref    => l_copy_for_amendment, -- Pass Y for Amendment and N for all other cases, bug 4047332
10561                                x_return_status              => l_return_status,     --  (S, E, U)
10562                                x_msg_data                   => l_msg_data,
10563                                x_msg_count                  => l_msg_count,
10564                                p_external_party_site_id     => null,   -- Hardcoded to NULL always
10565                                p_copy_abstract_yn           => l_copy_abstract_yn  -- Approval Abstract of Contracts Deviation.
10566 
10567                           );
10568                           LOG_MESSAGE('copy_negotiation',' Returned from Contract Copy, x_return_status:'||l_return_status||' x_msg_count:'||l_msg_count);
10569                           LOG_MESSAGE('copy_negotiation',' Resetting the policy context');
10570 
10571                           --
10572                           -- Set the org context back
10573                           --
10574                           mo_global.set_policy_context(l_old_policy, l_old_org_id);
10575 
10576                           LOG_MESSAGE('copy_negotiation',' Policy context is reset');
10577 
10578                           IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
10579                                 -- Log Error
10580                                 LOG_MESSAGE('copy_negotiation','Could not copy contracts for source_id =' || l_source_doc_id || ' to target document number =' || p_document_number );
10581                                 --
10582                                 -- The way I am adding this error may get changed in the future.
10583                                 -- So, please be aware of that
10584                                 --
10585                                 FND_MESSAGE.SET_NAME('PON','PON_CONTRACT_COPY_ERR');
10586                                 FND_MESSAGE.SET_TOKEN('REASON','Can not copy contracts for source_id =' || l_source_doc_id || '. Error returned by OKC_TERMS_COPY_GRP.COPY_DOC API is - ' || SUBSTR(l_msg_data,1,150));
10587                                 FND_MSG_PUB.ADD;
10588                                 RAISE FND_API.G_EXC_ERROR;
10589                                 RETURN;
10590                           END IF;
10591                 --}
10592                 END IF;
10593        --}
10594        END IF;
10595        --
10596        -- Copy Attachments
10597        --
10598        IF (p_retain_attachments = 'Y') THEN
10599                 --
10600                 -- Copy Header and line level attachments here
10601                 -- Using fnd_attached_documents2_pkg.copy_attachments
10602                 -- for this purpose
10603                 --
10604                 -- Header Attachments copy
10605                 --
10606                 FND_ATTACHED_DOCUMENTS2_PKG.COPY_ATTACHMENTS (
10607                       X_from_entity_name  => 'PON_AUCTION_HEADERS_ALL',
10608                       X_from_pk1_value    => to_char(p_source_auction_header_id),
10609                       X_to_entity_name    => 'PON_AUCTION_HEADERS_ALL',
10610                       X_to_pk1_value      => to_char(p_auction_header_id),  -- PK1_VALUE
10611                       X_created_by        => p_user_id,           -- CREATED_BY
10612                       X_last_update_login => fnd_global.login_id  -- LAST_UPDATE_LOGIN
10613                 );
10614                 --
10615                 -- Line Attachments will be copied in COPY_LINES procedure
10616                 --
10617 
10618 
10619        END IF;
10620        LOG_MESSAGE('copy_negotiation','Returning from COPY_CONTRACTS_ATTACHMENTS...');
10621  END; --} End of COPY_CONTRACTS_ATTACHMENTS
10622 
10623 
10624 -- ======================================================================
10625 -- PROCEDURE :  renumber_lines   PRIVATE
10626 --   PARAMETERS:
10627 --   p_auction_header_id  IN the auction_header_id of the document
10628 --
10629 --   COMMENT   :
10630 --     Renumbers all lines in the negotiation removing any holes in the
10631 --   sub_line_sequence and document_disp_line_number sequence.
10632 --
10633 --   precondition:
10634 --     disp_line_number is correct for all lines
10635 --
10636 --   postcondition:
10637 --     document_disp_line_number is set appropriately
10638 --     sub_line_sequence_number is set relative to document or parent line
10639 -- ======================================================================
10640 procedure renumber_lines(p_auction_header_id IN NUMBER) is
10641   cursor c_lines is
10642     select
10643       line_number,
10644       disp_line_number,
10645       document_disp_line_number,
10646       parent_line_number,
10647       sub_line_sequence_number
10648     from
10649       pon_auction_item_prices_all
10650     where
10651       auction_header_id = p_auction_header_id
10652     order by
10653       disp_line_number;
10654   l_doc_sequence_number pon_auction_item_prices_all.sub_line_sequence_number%TYPE := 1;
10655   l_child_sequence_number pon_auction_item_prices_all.sub_line_sequence_number%TYPE;
10656   l_doc_disp_line_number pon_auction_item_prices_all.document_disp_line_number%TYPE;
10657   l_parent_doc_disp_line_number pon_auction_item_prices_all.document_disp_line_number%TYPE;
10658   l_sub_line_sequence_number pon_auction_item_prices_all.sub_line_sequence_number%TYPE;
10659 
10660 begin
10661   log_message('renumber_lines', 'called');
10662   for line in c_lines loop
10663     if (line.parent_line_number is null) then
10664       l_sub_line_sequence_number := l_doc_sequence_number;
10665       l_doc_disp_line_number := to_char(l_sub_line_sequence_number);
10666       l_doc_sequence_number := l_doc_sequence_number + 1;
10667       l_child_sequence_number := 1;
10668       l_parent_doc_disp_line_number := l_doc_disp_line_number;
10669     else
10670       l_sub_line_sequence_number := l_child_sequence_number;
10671       l_doc_disp_line_number := l_parent_doc_disp_line_number || '.' || l_sub_line_sequence_number;
10672       l_child_sequence_number := l_child_sequence_number + 1;
10673     end if;
10674 
10675     update pon_auction_item_prices_all
10676     set
10677       document_disp_line_number = l_doc_disp_line_number,
10678       sub_line_sequence_number = l_sub_line_sequence_number
10679     where
10680       auction_header_id = p_auction_header_id and
10681       line_number = line.line_number;
10682   end loop;
10683 end renumber_lines;
10684 
10685 
10686 -- ======================================================================
10687 -- PROCEDURE :  LOG_MESSAGE   PRIVATE
10688 --   PARAMETERS:
10689 --   p_module   IN   Pass the module name
10690 --   p_message  IN the string to be logged
10691 --
10692 --   COMMENT   : Common procedure to log messages in FND_LOG.
10693 -- ======================================================================
10694 PROCEDURE LOG_MESSAGE( p_module IN VARCHAR2, p_message IN VARCHAR2)
10695 IS
10696 BEGIN
10697   IF (g_debug_mode = 'Y') THEN
10698       IF (FND_LOG.level_statement >= FND_LOG.g_current_runtime_level) THEN
10699           FND_LOG.string(log_level => FND_LOG.level_statement,
10700                          module    => g_module_prefix || p_module,
10701                          message   => p_message);
10702       END IF;
10703    END IF;
10704    --dbms_output.put_line(p_module||' , '|| p_message);
10705    -- insert into s_temp values(p_module||' , '|| p_message);
10706 END LOG_MESSAGE;
10707 
10708 
10709 PROCEDURE SET_NEG_STYLE ( p_source_auction_header_id IN NUMBER,
10710                           p_tp_id                    IN NUMBER,
10711                           p_doctype_id               IN NUMBER,
10712                           p_copy_type                IN VARCHAR2,
10713                           p_style_id                 IN NUMBER)
10714 
10715  IS
10716                 l_val1                  VARCHAR2(300) := NULL;
10717                 l_val2                  VARCHAR2(300) := NULL;
10718                 l_val3                  VARCHAR2(300) := NULL;
10719                 l_val4                  VARCHAR2(300) := NULL;
10720 
10721 
10722 BEGIN
10723         --
10724         -- Load style settings for the selected style to create parameters
10725         -- for subsequent procedure calls. The given style (p_style_id)
10726         -- should exist in the database.
10727         -- Raise an error with the PON_INVALID_STYLE_ID message
10728         -- to the caller in case of invalid p_style_id parameter
10729         --
10730         -- For amendment, use the same settings as the old negotiation
10731         if (p_copy_type <> g_amend_copy) then
10732             BEGIN
10733                 SELECT STYLE_ID, LINE_ATTRIBUTE_ENABLED_FLAG, LINE_MAS_ENABLED_FLAG, PRICE_ELEMENT_ENABLED_FLAG,
10734                        RFI_LINE_ENABLED_FLAG, LOT_ENABLED_FLAG, GROUP_ENABLED_FLAG, LARGE_NEG_ENABLED_FLAG,
10735                           HDR_ATTRIBUTE_ENABLED_FLAG, NEG_TEAM_ENABLED_FLAG, PROXY_BIDDING_ENABLED_FLAG,
10736                        POWER_BIDDING_ENABLED_FLAG, AUTO_EXTEND_ENABLED_FLAG, TEAM_SCORING_ENABLED_FLAG,
10737                        QTY_PRICE_TIERS_ENABLED_FLAG
10738                 INTO   g_neg_style_raw
10739                 FROM   PON_NEGOTIATION_STYLES
10740                 WHERE  style_id = p_style_id;
10741             EXCEPTION
10742                 WHEN NO_DATA_FOUND THEN
10743                         FND_MESSAGE.SET_NAME('PON','PON_INVALID_STYLE_ID');
10744                         FND_MSG_PUB.ADD;
10745                         RAISE FND_API.G_EXC_ERROR;
10746             END;
10747 
10748         else
10749 
10750             BEGIN
10751                 SELECT STYLE_ID, LINE_ATTRIBUTE_ENABLED_FLAG, LINE_MAS_ENABLED_FLAG, PRICE_ELEMENT_ENABLED_FLAG,
10752                        RFI_LINE_ENABLED_FLAG, LOT_ENABLED_FLAG, GROUP_ENABLED_FLAG, LARGE_NEG_ENABLED_FLAG,
10753                           HDR_ATTRIBUTE_ENABLED_FLAG, NEG_TEAM_ENABLED_FLAG, PROXY_BIDDING_ENABLED_FLAG,
10754                        POWER_BIDDING_ENABLED_FLAG, AUTO_EXTEND_ENABLED_FLAG, TEAM_SCORING_ENABLED_FLAG,
10755                        QTY_PRICE_TIERS_ENABLED_FLAG
10756                 INTO   g_neg_style_raw
10757                 FROM  PON_AUCTION_HEADERS_ALL
10758                 WHERE auction_header_id = p_source_auction_header_id;
10759             EXCEPTION
10760                 WHEN NO_DATA_FOUND THEN
10761                         FND_MESSAGE.SET_NAME('PON','PON_INVALID_NEG_NUM');
10762                         FND_MSG_PUB.ADD;
10763                         RAISE FND_API.G_EXC_ERROR;
10764             END;
10765 
10766         end if;
10767 
10768         -- reconcile style settings
10769         g_neg_style_control := g_neg_style_raw;
10770 
10771         IF(p_doctype_id = g_rfi_doctype_id) THEN
10772         --{
10773             --there are no tiers present for RFIs
10774             g_neg_style_control.qty_price_tiers_enabled_flag := 'N';
10775             IF (g_neg_style_control.rfi_line_enabled_flag = 'N') THEN
10776             --{
10777 
10778             -- for RFI, if line is disabled, all line children are disabled
10779               g_neg_style_control.line_attribute_enabled_flag := 'N';
10780               g_neg_style_control.line_mas_enabled_flag := 'N';
10781               g_neg_style_control.price_element_enabled_flag := 'N';
10782               g_neg_style_control.lot_enabled_flag := 'N';
10783               g_neg_style_control.group_enabled_flag := 'N';
10784 
10785             --}
10786             end if;
10787         --}
10788         end if;
10789 
10790 
10791 END SET_NEG_STYLE;
10792 
10793 
10794 PROCEDURE REMOVE_LOT_AND_GROUP (p_auction_header_id IN NUMBER,
10795                                 p_lot_enabled       IN VARCHAR2,
10796                                 p_group_enabled     IN VARCHAR2,
10797                                 p_from_line_number         IN NUMBER,
10798                                 p_to_line_number           IN NUMBER)
10799 
10800 
10801  IS
10802 
10803 l_delete_count NUMBER;
10804 
10805 BEGIN
10806 
10807    if (p_lot_enabled = 'N' or p_group_enabled = 'N') then
10808 
10809       select count(1)
10810         into l_delete_count
10811         from pon_auction_item_prices_all
10812        where auction_header_id = p_auction_header_id
10813          and line_number >= p_from_line_number
10814          and line_number <= p_to_line_number
10815          and (p_lot_enabled = 'N'
10816                 and group_type in ('LOT', 'LOT_LINE')
10817               or p_group_enabled = 'N'
10818                 and group_type in ('GROUP', 'GROUP_LINE'));
10819 
10820      if (l_delete_count > 0) then -- {
10821 
10822         g_line_deleted := 'Y';
10823 
10824       delete from pon_auction_attributes
10825        where auction_header_id = p_auction_header_id
10826          and line_number in
10827                 (select ip.line_number
10828                    from pon_auction_item_prices_all ip
10829                   where ip.auction_header_id = p_auction_header_id
10830                     and ip.line_number >= p_from_line_number
10831                     and ip.line_number <= p_to_line_number
10832                     and (p_lot_enabled = 'N'
10833                            and ip.group_type in ('LOT', 'LOT_LINE')
10834                          or p_group_enabled = 'N'
10835                            and ip.group_type in ('GROUP', 'GROUP_LINE')));
10836 
10837       delete from pon_attribute_scores
10838        where auction_header_id = p_auction_header_id
10839          and line_number in
10840                 (select ip.line_number
10841                    from pon_auction_item_prices_all ip
10842                   where ip.auction_header_id = p_auction_header_id
10843                     and ip.line_number >= p_from_line_number
10844                     and ip.line_number <= p_to_line_number
10845                     and (p_lot_enabled = 'N'
10846                            and ip.group_type in ('LOT', 'LOT_LINE')
10847                          or p_group_enabled = 'N'
10848                            and ip.group_type in ('GROUP', 'GROUP_LINE')));
10849 
10850 
10851       delete from pon_auction_shipments
10852        where auction_header_id = p_auction_header_id
10853          and line_number in
10854                 (select ip.line_number
10855                    from pon_auction_item_prices_all ip
10856                   where ip.auction_header_id = p_auction_header_id
10857                     and ip.line_number >= p_from_line_number
10858                     and ip.line_number <= p_to_line_number
10859                     and (p_lot_enabled = 'N'
10860                            and ip.group_type in ('LOT', 'LOT_LINE')
10861                          or p_group_enabled = 'N'
10862                            and ip.group_type in ('GROUP', 'GROUP_LINE')));
10863 
10864       delete from pon_price_differentials
10865        where auction_header_id = p_auction_header_id
10866          and line_number in
10867                 (select ip.line_number
10868                    from pon_auction_item_prices_all ip
10869                   where ip.auction_header_id = p_auction_header_id
10870                     and ip.line_number >= p_from_line_number
10871                     and ip.line_number <= p_to_line_number
10872                     and (p_lot_enabled = 'N'
10873                            and ip.group_type in ('LOT', 'LOT_LINE')
10874                          or p_group_enabled = 'N'
10875                            and ip.group_type in ('GROUP', 'GROUP_LINE')));
10876 
10877       delete from pon_price_elements
10878        where auction_header_id = p_auction_header_id
10879          and line_number in
10880                 (select ip.line_number
10881                    from pon_auction_item_prices_all ip
10882                   where ip.auction_header_id = p_auction_header_id
10883                     and ip.line_number >= p_from_line_number
10884                     and ip.line_number <= p_to_line_number
10885                     and (p_lot_enabled = 'N'
10886                            and ip.group_type in ('LOT', 'LOT_LINE')
10887                          or p_group_enabled = 'N'
10888                            and ip.group_type in ('GROUP', 'GROUP_LINE')));
10889 
10890 
10891       delete from pon_party_line_exclusions
10892        where auction_header_id = p_auction_header_id
10893          and line_number in
10894                 (select ip.line_number
10895                    from pon_auction_item_prices_all ip
10896                   where ip.auction_header_id = p_auction_header_id
10897                     and ip.line_number >= p_from_line_number
10898                     and ip.line_number <= p_to_line_number
10899                     and (p_lot_enabled = 'N'
10900                            and ip.group_type in ('LOT', 'LOT_LINE')
10901                          or p_group_enabled = 'N'
10902                            and ip.group_type in ('GROUP', 'GROUP_LINE')));
10903 
10904 
10905       delete from pon_pf_supplier_values
10906        where auction_header_id = p_auction_header_id
10907          and line_number in
10908                 (select ip.line_number
10909                    from pon_auction_item_prices_all ip
10910                   where ip.auction_header_id = p_auction_header_id
10911                     and ip.line_number >= p_from_line_number
10912                     and ip.line_number <= p_to_line_number
10913                     and (p_lot_enabled = 'N'
10914                            and ip.group_type in ('LOT', 'LOT_LINE')
10915                          or p_group_enabled = 'N'
10916                            and ip.group_type in ('GROUP', 'GROUP_LINE')));
10917 
10918 
10919       delete from pon_auction_item_prices_all
10920        where auction_header_id = p_auction_header_id
10921          and line_number >= p_from_line_number
10922          and line_number <= p_to_line_number
10923          and (p_lot_enabled = 'N'
10924                 and group_type in ('LOT', 'LOT_LINE')
10925               or p_group_enabled = 'N'
10926                 and group_type in ('GROUP', 'GROUP_LINE'));
10927 
10928      end if; -- }
10929 
10930 
10931    end if;
10932 
10933 END REMOVE_LOT_AND_GROUP;
10934 
10935 
10936 --NEW PROCEDURES AS A PART OF LARGE AUCTION SUPPORT
10937 --ADDED FROM HERE
10938 
10939 --PROCEDURE NAME: PON_LRG_DRAFT_TO_ORD_PF_COPY
10940 --
10941 --This procedure creates the relevant records for a normal destination
10942 --auction in the case of a cross copy from a large DRAFT to a normal auction.
10943 --This procedure willbe called even in the case of publish, and in this case
10944 --p_source_auction_hdr_id = p_destination_auction_hdr_id
10945 --
10946 --p_source_auction_hdr_id    IN
10947 --DATATYPE: pon_large_neg_pf_values.AUCTION_HEADER_ID%type
10948 --This parameter is the auction_header_id of the source auction
10949 --
10950 --p_destination_auction_hdr_id    IN
10951 --DATATYPE: pon_large_neg_pf_values.AUCTION_HEADER_ID%type
10952 --This parameter is the auction_header_id of the destination auction
10953 --
10954 --p_user_id    IN
10955 --DATATYPE: NUMBER
10956 --This parameter is the id of the user invoking the procedure
10957 
10958 
10959 PROCEDURE  PON_LRG_DRAFT_TO_ORD_PF_COPY (
10960                         p_source_auction_hdr_id IN pon_large_neg_pf_values.AUCTION_HEADER_ID%type,
10961                            p_destination_auction_hdr_id IN pon_large_neg_pf_values.AUCTION_HEADER_ID%type,
10962                         p_user_id IN number,
10963                         p_from_line_number         IN NUMBER,
10964                         p_to_line_number           IN NUMBER)
10965 is
10966 
10967 l_current_status pon_auction_headers_all.auction_status%type;
10968 l_is_large_neg_enabled pon_auction_headers_all.LARGE_NEG_ENABLED_FLAG%type;
10969 BEGIN
10970 --{ start of PON_LRG_DRAFT_TO_ORD_PF_COPY
10971         LOG_MESSAGE('PON_LRG_DRAFT_TO_ORD_PF_COPY',
10972                     'Entered the procedure with p_source_auction_hdr_id : ' || p_source_auction_hdr_id ||
10973                     '; p_destination_auction_hdr_id : ' || p_destination_auction_hdr_id ||
10974                     '; p_from_line_number : ' || p_from_line_number ||
10975                     '; p_to_line_number : ' || p_to_line_number );
10976 
10977        IF (g_auc_doctype_rule_data.ALLOW_PRICE_ELEMENT = 'Y' OR
10978           (p_source_auction_hdr_id = p_destination_auction_hdr_id) --if PUBLISH then proceed without any doubt
10979           ) THEN
10980 
10981            select large_neg_enabled_flag, auction_status
10982            into l_is_large_neg_enabled, l_current_status
10983            from
10984             pon_auction_headers_all
10985            where
10986             auction_header_id = p_source_auction_hdr_id;
10987            if l_is_large_neg_enabled = 'Y' then
10988 
10989                if l_current_status = 'DRAFT' then
10990 
10991                    LOG_MESSAGE('PON_LRG_DRAFT_TO_ORD_PF_COPY','inserting rows in pon_large_neg_pf_values for new auction : ' || p_destination_auction_hdr_id || ' whihc is getting copied from auction : ' || p_source_auction_hdr_id);
10992 
10993                     insert into pon_pf_supplier_values(
10994                         auction_header_id,
10995                         line_number,
10996                         pf_seq_number,
10997                         supplier_seq_number,
10998                         value,
10999                         creation_date,
11000                         created_by,
11001                         last_update_date,
11002                         last_updated_by,
11003                         last_update_login)
11004                     select
11005                         p_destination_auction_hdr_id,
11006                         price_elements.LINE_NUMBER,
11007                         price_elements.SEQUENCE_NUMBER,
11008                         largeNegPFVal.SUPPLIER_SEQ_NUMBER,
11009                         largeNegPFVal.VALUE,
11010                         sysdate,
11011                         p_user_id,
11012                         sysdate,
11013                         p_user_id,
11014                         fnd_global.login_id
11015                     from
11016                         pon_price_elements price_elements,
11017                          pon_large_neg_pf_values largeNegPFVal
11018                     where
11019                         price_elements.AUCTION_HEADER_ID = p_source_auction_hdr_id and
11020                         largeNegPFVal.AUCTION_HEADER_ID = price_elements.AUCTION_HEADER_ID and
11021                         price_elements.PRICE_ELEMENT_TYPE_ID = largeNegPFVal.PRICE_ELEMENT_TYPE_ID and
11022                         price_elements.PRICING_BASIS = largeNegPFVal.PRICING_BASIS and
11023                         largeNegPFVal.VALUE is not null and
11024                         (price_elements.PRICE_ELEMENT_TYPE_ID, price_elements.PRICING_BASIS) in
11025                         (
11026                             select distinct PRICE_ELEMENT_TYPE_ID, PRICING_BASIS from
11027                             pon_price_elements  where auction_header_id = p_destination_auction_hdr_id
11028                             --we need not have the below where condition because
11029                             --because the large_neg_pf_values will have only
11030                             --BUYER price factors and the outer select statement
11031                             --always returns the BUYER price factor details. It
11032                             --is added below in the comment for readability
11033 
11034                             --and price_elements.pf_type = 'BUYER'
11035                         ) and
11036                         price_elements.line_number >= p_from_line_number and
11037                         price_elements.line_number <= p_to_line_number;
11038                end if;
11039 
11040             end if;
11041 
11042         END IF;
11043 
11044 --} end of PON_LRG_DRAFT_TO_ORD_PF_COPY
11045 END PON_LRG_DRAFT_TO_ORD_PF_COPY;
11046 
11047 
11048 
11049 
11050 --PROCEDURE NAME: PON_LRG_DRAFT_TO_LRG_PF_COPY
11051 --
11052 --This procedure creates the relevant records for a large destination
11053 --auction in the case of a copy from a large DRAFT to a large auction.
11054 --
11055 --p_source_auction_hdr_id    IN
11056 --DATATYPE: pon_large_neg_pf_values.AUCTION_HEADER_ID%type
11057 --This parameter is the auction_header_id of the source auction
11058 --
11059 --p_destination_auction_hdr_id    IN
11060 --DATATYPE: pon_large_neg_pf_values.AUCTION_HEADER_ID%type
11061 --This parameter is the auction_header_id of the destination auction
11062 --
11063 --p_user_id    IN
11064 --DATATYPE: NUMBER
11065 --This parameter is the id of the user invoking the procedure
11066 
11067 PROCEDURE PON_LRG_DRAFT_TO_LRG_PF_COPY (
11068                 p_source_auction_hdr_id IN pon_large_neg_pf_values.AUCTION_HEADER_ID%type,
11069                 p_destination_auction_hdr_id IN pon_large_neg_pf_values.AUCTION_HEADER_ID%type,
11070                 p_user_id IN number)
11071 is
11072 BEGIN
11073 --{ start of PON_LRG_DRAFT_TO_LRG_PF_COPY
11074 
11075         IF (g_auc_doctype_rule_data.ALLOW_PRICE_ELEMENT = 'Y') THEN
11076         -- {
11077 
11078             LOG_MESSAGE('PON_LRG_DRAFT_TO_LRG_PF_COPY','inserting rows in pon_large_neg_pf_values for new auction : ' || p_destination_auction_hdr_id || ' whihc is getting copied from auction : ' || p_source_auction_hdr_id);
11079 
11080             insert into pon_large_neg_pf_values(
11081             auction_header_id,
11082             price_element_type_id,
11083             pricing_basis,
11084             supplier_seq_number,
11085             value,
11086             creation_date,
11087             created_by,
11088             last_update_date,
11089             last_updated_by,
11090             last_update_login)
11091             (select
11092             p_destination_auction_hdr_id,
11093             p.price_element_type_id,
11094             p.pricing_basis,
11095             p.supplier_seq_number,
11096             p.value,
11097             sysdate,
11098             p_user_id,
11099             sysdate,
11100             p_user_id,
11101             fnd_global.login_id
11102             from pon_large_neg_pf_values p, pon_price_element_types_vl vl
11103             where
11104             p.auction_header_id = p_source_auction_hdr_id and
11105             p.price_element_type_id  = vl.price_element_type_id and
11106             vl.enabled_flag = 'Y' and
11107             (p.price_element_type_id,p.pricing_basis) in
11108                 (select distinct price_element_type_id,pricing_basis from pon_price_elements
11109                     where auction_header_id = p_destination_auction_hdr_id and pf_type = 'BUYER')
11110             );
11111         -- }
11112         END IF;
11113 --} end of PON_LRG_DRAFT_TO_LRG_PF_COPY
11114 END PON_LRG_DRAFT_TO_LRG_PF_COPY;
11115 
11116 
11117 
11118 --PROCEDURE NAME: PON_ORD_DRAFT_TO_LRG_PF_COPY
11119 --
11120 --This procedure creates the relevant records for a large destination
11121 --auction in the case of a copy from a normal DRAFT to a large auction.
11122 --
11123 --p_source_auction_hdr_id    IN
11124 --DATATYPE: pon_large_neg_pf_values.AUCTION_HEADER_ID%type
11125 --This parameter is the auction_header_id of the source auction
11126 --
11127 --p_destination_auction_hdr_id    IN
11128 --DATATYPE: pon_large_neg_pf_values.AUCTION_HEADER_ID%type
11129 --This parameter is the auction_header_id of the destination auction
11130 --
11131 --p_user_id    IN
11132 --DATATYPE: NUMBER
11133 --This parameter is the id of the user invoking the procedure
11134 
11135 PROCEDURE PON_ORD_DRAFT_TO_LRG_PF_COPY (
11136                 p_source_auction_hdr_id IN pon_large_neg_pf_values.AUCTION_HEADER_ID%type,
11137                 p_destination_auction_hdr_id IN pon_large_neg_pf_values.AUCTION_HEADER_ID%type,
11138                 p_user_id IN number)
11139 is
11140 BEGIN
11141 --{ start of PON_ORD_DRAFT_TO_LRG_PF_COPY
11142 
11143         IF (g_auc_doctype_rule_data.ALLOW_PRICE_ELEMENT = 'Y') THEN
11144         -- {
11145             LOG_MESSAGE('PON_ORD_DRAFT_TO_LRG_PF_COPY','inserting rows in pon_large_neg_pf_values for new auction : ' || p_destination_auction_hdr_id || ' whihc is getting copied from auction : ' || p_source_auction_hdr_id);
11146 
11147             insert into pon_large_neg_pf_values(
11148             auction_header_id,
11149             price_element_type_id,
11150             pricing_basis,
11151             supplier_seq_number,
11152             value,
11153             creation_date,
11154             created_by,
11155             last_update_date,
11156             last_updated_by,
11157             last_update_login)
11158             (
11159                 select distinct p_destination_auction_hdr_id,
11160                     price_elements.PRICE_ELEMENT_TYPE_ID,
11161                     price_elements.PRICING_BASIS,
11162                     bidding_parties.sequence,
11163                     null,
11164                     sysdate,
11165                     p_user_id,
11166                     sysdate,
11167                     p_user_id,
11168                     fnd_global.login_id
11169                 from
11170                     pon_price_elements price_elements,
11171                     pon_bidding_parties bidding_parties
11172                 where
11173                     price_elements.AUCTION_HEADER_ID = p_destination_auction_hdr_id and
11174                     price_elements.AUCTION_HEADER_ID = bidding_parties.AUCTION_HEADER_ID and
11175                     price_elements.PF_TYPE = 'BUYER'
11176             );
11177         -- }
11178         END IF;
11179 --} end of PON_ORD_DRAFT_TO_LRG_PF_COPY
11180 END PON_ORD_DRAFT_TO_LRG_PF_COPY;
11181 
11182 --PROCEDURE FOR CONCURRENT COPY
11183 --This procedure will be called by the concurrent
11184 --manager. This inturn calls the COPY_NEGOTIATION
11185 --procedure
11186 
11187 
11188 
11189 PROCEDURE PON_CONC_COPY_SUPER_LARGE_NEG (
11190           EFFBUF           OUT NOCOPY VARCHAR2,
11191           RETCODE          OUT NOCOPY VARCHAR2,
11192                     p_api_version                IN         NUMBER,
11193                     p_init_msg_list              IN         VARCHAR2 DEFAULT FND_API.G_TRUE,
11194                     p_source_auction_header_id   IN         NUMBER,
11195                     p_trading_partner_id         IN         NUMBER ,
11196                     p_trading_partner_contact_id IN         NUMBER ,
11197                     p_language                   IN         VARCHAR2,
11198                     p_user_id                    IN         NUMBER,
11199                     p_doctype_id                 IN         NUMBER,
11200                     p_copy_type                  IN         VARCHAR2,
11201                     p_is_award_approval_reqd     IN         VARCHAR2,
11202                     p_user_name                  IN         VARCHAR2,
11203                     p_mgr_id                     IN         NUMBER,
11204                     p_retain_clause              IN         VARCHAR2,
11205                     p_update_clause              IN         VARCHAR2,
11206                     p_retain_attachments         IN         VARCHAR2,
11207                     p_large_auction_header_id    IN         NUMBER,
11208                     p_style_id                   IN         NUMBER)
11209 IS
11210                     l_auction_header_id NUMBER;
11211                     l_document_number PON_AUCTION_HEADERS_ALL.DOCUMENT_NUMBER%TYPE;
11212                     l_return_status VARCHAR2(1);
11213                     l_msg_count NUMBER;
11214                     l_msg_data VARCHAR2(400);
11215                     l_request_id NUMBER := NULL;
11216                     l_program_type_code VARCHAR2(30);
11217                     l_message_suffix VARCHAR2(30);
11218                     l_source_doc_num VARCHAR2(30);
11219 BEGIN
11220 --{Start of PON_CONC_COPY_SUPER_LARGE_NEG
11221 
11222 --Choose the appropriate ProgramTypeCode
11223            if p_copy_type = 'NEW_ROUND' then
11224               l_program_type_code := 'NEG_MULTIROUND';
11225            elsif p_copy_type = 'AMENDMENT' then
11226               l_program_type_code := 'NEG_AMEND';
11227            else
11228               l_program_type_code := 'NEG_COPY';
11229            end if;
11230 
11231            COPY_NEGOTIATION(
11232                     p_api_version                 => p_api_version,
11233                     p_init_msg_list               => p_init_msg_list,
11234                     p_is_conc_call                => FND_API.G_TRUE,
11235                     p_source_auction_header_id    => p_source_auction_header_id,
11236                     p_trading_partner_id          => p_trading_partner_id,
11237                     p_trading_partner_contact_id  => p_trading_partner_contact_id,
11238                     p_language                    => p_language,
11239                     p_user_id                     => p_user_id,
11240                     p_doctype_id                  => p_doctype_id,
11241                     p_copy_type                   => p_copy_type,
11242                     p_is_award_approval_reqd      => p_is_award_approval_reqd,
11243                     p_user_name                   => p_user_name,
11244                     p_mgr_id                      => p_mgr_id,
11245                     p_retain_clause               => p_retain_clause,
11246                     p_update_clause               => p_update_clause,
11247                     p_retain_attachments          => p_retain_attachments,
11248                     p_large_auction_header_id     => p_large_auction_header_id,
11249                     p_style_id                    => p_style_id,
11250                     x_auction_header_id           => l_auction_header_id,
11251                     x_document_number             => l_document_number,
11252                     x_request_id                  => l_request_id,
11253                     x_return_status               => l_return_status,
11254                     x_msg_count                   => l_msg_count,
11255                     x_msg_data                    => l_msg_data
11256                     );
11257 --
11258 --workflow calls
11259 --
11260 --get the request id for the new auction
11261 --for workflow calls
11262 --
11263         select request_id into l_request_id
11264         from pon_auction_headers_all
11265         where auction_header_id = p_large_auction_header_id;
11266 
11267 
11268         if l_return_status = 'E' then
11269            PON_WF_UTL_PKG.ReportConcProgramStatus (
11270                p_request_id => l_request_id,
11271                p_messagetype => 'E',
11272                p_RecepientUsername => p_user_name,
11273                p_recepientType => 'BUYER',
11274                p_auction_header_id => p_large_auction_header_id,
11275                p_ProgramTypeCode => l_program_type_code,
11276                p_DestinationPageCode =>  'PON_CONCURRENT_ERRORS',
11277                p_bid_number => NULL);
11278           RETCODE := '2';
11279        else
11280          PON_WF_UTL_PKG.ReportConcProgramStatus (
11281                p_request_id => l_request_id,
11282                p_messagetype => 'S',
11283                p_RecepientUsername => p_user_name,
11284                p_recepientType => 'BUYER',
11285                p_auction_header_id => p_large_auction_header_id,
11286                p_ProgramTypeCode => l_program_type_code,
11287                p_DestinationPageCode => 'PON_MANAGE_DRAFT_NEG',
11288                p_bid_number => NULL);
11289          RETCODE := '0';
11290 --
11291 --Don't clear the request_id as the status of the
11292 --concurrent program has to be shown to the user
11293 --
11294 --Ref: ECO - 4517992
11295 --
11296 --         update pon_auction_headers_all
11297 --         set request_id = null
11298 --         where auction_header_id = p_large_auction_header_id;
11299 --commit this updation
11300 --         commit;
11301 end if;
11302 
11303 EXCEPTION
11304     WHEN OTHERS THEN
11305 
11306 --when an  unexpected exception arises in the COPY_NEGOTIATION
11307 --procedure, we need to do the following
11308 
11309 --rollback the transactions
11310        rollback;
11311 
11312 --report error to the user
11313 
11314        PON_WF_UTL_PKG.ReportConcProgramStatus (
11315                p_request_id => l_request_id,
11316                p_messagetype => 'E',
11317                p_RecepientUsername => p_user_name,
11318                p_recepientType => 'BUYER',
11319                p_auction_header_id => p_large_auction_header_id,
11320                p_ProgramTypeCode => l_program_type_code,
11321                p_DestinationPageCode =>  'PON_CONCURRENT_ERRORS',
11322                p_bid_number => NULL);
11323 
11324        select document_number into l_source_doc_num from pon_auction_headers_all where auction_Header_id = p_source_auction_header_id;
11325 
11326        insert into pon_interface_errors (
11327            ERROR_MESSAGE_NAME,
11328            request_id,
11329            auction_header_id,
11330            application_short_name,
11331            token1_name,
11332            token1_value,
11333            token2_name,
11334            token2_value,
11335            created_by,
11336            creation_date,
11337            last_updated_by,
11338            last_update_date,
11339            last_update_login,
11340            expiration_date
11341          )
11342        values(
11343           'PON_COPY_ERROR_MSG_'||g_message_suffix,
11344           l_request_id,
11345           p_large_auction_header_id,
11346           'PON',
11347           'DOC_NUM',
11348           l_source_doc_num,
11349           'REQUEST_ID',
11350           l_request_id,
11351           p_user_id,
11352           SYSDATE,
11353           p_user_id,
11354           SYSDATE,
11355           fnd_global.login_id,
11356           sysdate + 7
11357 );
11358 
11359        LOG_MESSAGE('copy_negotiation','An error has occured during copy');
11360 
11361        RETCODE := '2';
11362 
11363        commit;
11364 
11365 --} end of PON_CONC_COPY_SUPER_LARGE_NEG
11366 END;
11367 
11368 
11369 
11370 --NEW PROCEDURES AS A PART OF LARGE AUCTION SUPPORT
11371 --ADDED TILL HERE
11372 
11373 --
11374 -- TEAM SCORING
11375 --
11376 
11377 PROCEDURE COPY_SCORING_TEAMS(
11378     p_source_auction_header_id        	IN NUMBER,
11379     p_auction_header_id               	IN NUMBER,
11380     p_user_id                      		IN NUMBER
11381     )
11382 IS
11383 
11384 	l_source_has_scoring_teams		 	VARCHAR2(1);
11385 
11386 BEGIN
11387 
11388 	-- check if the source auction has any scoring teams
11389 	-- if it does not, do not do anything
11390 	SELECT 	has_scoring_teams_flag
11391 	INTO	l_source_has_scoring_teams
11392 	FROM 	pon_auction_headers_all
11393 	WHERE	auction_header_id = p_source_auction_header_id;
11394 
11395 	IF l_source_has_scoring_teams <> 'Y' THEN
11396 		RETURN;
11397 	END IF;
11398 
11399 	-- Copy the scoring teams.  Generate a new id for the new team
11400 
11401 	INSERT INTO  pon_scoring_teams
11402 	(
11403 	   auction_header_id
11404 	  ,team_id
11405 	  ,team_name
11406 	  ,price_visible_flag
11407 	  ,creation_date
11408 	  ,created_by
11409 	  ,last_update_date
11410 	  ,last_updated_by
11411 	  ,last_update_login
11412 	  ,orig_team_id
11413 	  ,instruction_text
11414 	)
11415 	SELECT
11416 	   p_auction_header_id
11417 	  ,pon_scoring_teams_s.nextval
11418 	  ,old_team.team_name
11419 	  ,old_team.price_visible_flag
11420 	  ,SYSDATE                    	-- creation_date
11421 	  ,p_user_id                  	-- created_by
11422 	  ,SYSDATE                    	-- last_update_date
11423 	  ,p_user_id                  	-- last_updated_by
11424 	  ,fnd_global.login_id       	-- last_update_login
11425 	  ,old_team.team_id           	-- orig_team_id
11426 	  ,old_team.instruction_text
11427 	FROM
11428 	 pon_scoring_teams old_team
11429 	WHERE old_team.auction_header_id = p_source_auction_header_id;
11430 
11431 
11432 	-- Create the team members. Do not insert any team members who are not
11433 	-- valid. The team members who are not valid would not have been
11434 	-- copied over to the collaboration team hence joining with that table
11435 	-- eliminates the unwanted ones
11436 
11437 	INSERT INTO pon_scoring_team_members
11438 	(
11439 	   auction_header_id
11440 	  ,team_id
11441 	  ,user_id
11442 	  ,creation_date
11443 	  ,created_by
11444 	  ,last_update_date
11445 	  ,last_updated_by
11446 	  ,last_update_login
11447 	)
11448 	SELECT
11449 	   p_auction_header_id
11450 	  ,new_team.team_id
11451 	  ,old_members.user_id
11452 	  ,SYSDATE                    	-- creation_date
11453 	  ,p_user_id                  	-- created_by
11454 	  ,SYSDATE                    	-- last_update_date
11455 	  ,p_user_id                  	-- last_updated_by
11456 	  ,fnd_global.login_id        	-- last_update_login
11457 	FROM
11458 	  pon_scoring_team_members old_members,
11459 	  pon_scoring_teams        old_team,
11460 	  pon_scoring_teams        new_team,
11461 	  pon_neg_team_members     new_collab
11462 	WHERE
11463 	    new_team.auction_header_id   = p_auction_header_id
11464 	AND old_team.team_id             = new_team.orig_team_id
11465 	AND old_members.team_id          = old_team.team_id
11466 	AND new_collab.user_id           = old_members.user_id
11467 	AND new_collab.auction_header_id = new_team.auction_header_id;
11468 
11469 
11470 	-- Teams are assigned to sections. Copy the section assignments from
11471 	-- the earlier negotiation
11472 
11473 	INSERT INTO pon_scoring_team_sections
11474 	(
11475 	   section_id
11476 	  ,auction_header_id
11477 	  ,team_id
11478 	  ,creation_date
11479 	  ,created_by
11480 	  ,last_update_date
11481 	  ,last_updated_by
11482 	  ,last_update_login
11483 	)
11484 	SELECT
11485 	   new_sections.section_id
11486 	  ,p_auction_header_id
11487 	  ,new_team.team_id
11488 	  ,SYSDATE                    	-- creation_date
11489 	  ,p_user_id                 	-- created_by
11490 	  ,SYSDATE                		-- last_update_date
11491 	  ,p_user_id                  	-- last_updated_by
11492 	  ,fnd_global.login_id        	-- last_update_login
11493 	FROM
11494 	   pon_auction_sections      new_sections
11495 	  ,pon_scoring_team_sections old_team_sections
11496 	  ,pon_scoring_teams         new_team
11497 	WHERE
11498 	     new_sections.auction_header_id 	   = p_auction_header_id
11499 	AND  old_team_sections.section_id   	   = new_sections.previous_section_id
11500 	AND  new_team.orig_team_id                  = old_team_sections.team_id
11501 	AND  new_team.auction_header_id          = new_sections.auction_header_id;
11502 
11503 END COPY_SCORING_TEAMS;
11504 --
11505 -- END TEAM SCORING
11506 --
11507 END PON_NEGOTIATION_COPY_GRP;