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