[Home] [Help]
PACKAGE BODY: APPS.PON_GLOBAL_UPDATE_PKG
Source
1 PACKAGE BODY PON_GLOBAL_UPDATE_PKG AS
2 -- $Header: PON_GLOBAL_UPDATE_PKG.plb 120.1 2012/01/05 05:42:34 irasoolm noship $
3
4 -- Indicate if the debug mode is on
5 g_debug_mode VARCHAR2(10);
6 -- module name for logging message
7 g_module_prefix CONSTANT VARCHAR2(40) := 'pon.plsql.pon_global_update_pkg.';
8
9 PROCEDURE GLOBAL_LINE_UPDATE
10 (
11 p_auction_header_id IN NUMBER,
12 p_src_line_number IN NUMBER ,
13 p_dest_line_ids_tbl IN PO_TBL_NUMBER,
14 p_option_from_date IN DATE,
15 p_option_to_date IN DATE,
16 p_clm_need_by_date IN DATE,
17 p_pop_start_date IN DATE,
18 p_pop_end_date IN DATE,
19 p_ship_to_loc_id IN NUMBER,
20 p_note_to_suppliers IN VARCHAR2 ,
21 x_result OUT NOCOPY VARCHAR2
22 )
23
24 IS
25
26 l_module VARCHAR2(100) := 'GLOBAL_LINE_UPDATE';
27
28 l_dest_line_ids VARCHAR2(32000) := '';
29 extension_id_tbl PO_TBL_NUMBER;
30 attr_group_id_tbl PO_TBL_NUMBER;
31 sol_line_num_tbl PO_TBL_NUMBER;
32 data_level_id_tbl PO_TBL_NUMBER;
33 uda_template_id_tbl PO_TBL_NUMBER;
34 l_count NUMBER :=0;
35
36
37 BEGIN
38
39 IF g_debug_mode IS NULL THEN
40 g_debug_mode := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
41 END IF;
42
43 SAVEPOINT global_update;
44
45
46
47 LOG_MESSAGE(l_module,'BEGIN: p_auction_header_id ' || p_auction_header_id
48 || ' p_src_line_number '|| p_src_line_number );
49
50 UPDATE pon_auction_item_prices_all
51 SET
52 clm_option_from_date = Decode(clm_option_indicator,'O',Nvl(p_option_from_date,clm_option_from_date),NULL),
53 clm_option_to_date = Decode(clm_option_indicator,'O',Nvl(p_option_to_date,clm_option_to_date),NULL),
54 note_to_bidders = Nvl(p_note_to_suppliers,note_to_bidders),
55 last_update_date = SYSDATE,
56 last_updated_by = fnd_global.user_id,
57 last_update_login = fnd_global.login_id
58 WHERE auction_header_id = p_auction_header_id
59 AND line_Number in (select column_value from table(p_dest_line_ids_tbl));
60
61 -- Ship to location is non-editable for autocreated lines
62 UPDATE pon_auction_item_prices_all
63 SET
64 ship_to_location_id = Decode(Nvl(clm_info_flag,'N'),'N',
65 Nvl(p_ship_to_loc_id,ship_to_location_id),NULL)
66 WHERE auction_header_id = p_auction_header_id
67 AND line_Number in (select column_value from table(p_dest_line_ids_tbl))
68 AND Nvl(LINE_ORIGINATION_CODE,'NO') <> 'REQUISITION';
69
70
71 /*
72 * User can't give both CLM need by date and POP dates for a line
73 * while creating/updating a line
74 * This condition is enforced in Global update process
75 * as below
76 */
77 IF p_clm_need_by_date IS NOT NULL THEN
78 UPDATE pon_auction_item_prices_all
79 SET
80 clm_need_by_date = Decode(Nvl(clm_info_flag,'N'),'N', p_clm_need_by_date,NULL),
81 need_by_start_date = NULL,
82 need_by_date = NULL
83 WHERE auction_header_id = p_auction_header_id
84 AND line_Number in (select column_value from table(p_dest_line_ids_tbl));
85 ELSIF (p_pop_start_date IS NOT NULL AND p_pop_end_date IS NOT NULL) THEN
86 UPDATE pon_auction_item_prices_all paip
87 SET
88 need_by_start_date =Decode(Nvl(clm_info_flag,'N'),'N', p_pop_start_date,NULL),
89 need_by_date = Decode(Nvl(clm_info_flag,'N'),'N', p_pop_end_date,NULL),
90 clm_need_by_date = NULL
91 WHERE auction_header_id = p_auction_header_id
92 AND line_Number in (select column_value from table(p_dest_line_ids_tbl))
93 AND NOT EXISTS -- clm_need_by_date is mandatory for planned items
94 (SELECT 'x'
95 FROM mtl_system_items_kfv msi, financials_system_params_all fsp
96 WHERE nvl(fsp.org_id, -9999) = nvl(paip.org_id,-9999) and
97 msi.organization_id = fsp.inventory_organization_id and
98 msi.inventory_item_id = paip.item_id and
99 (msi.INVENTORY_PLANNING_CODE in (1, 2) or msi.MRP_PLANNING_CODE in
100 (3, 4, 7, 8, 9)));
101 END IF;
102
103 LOG_MESSAGE(l_module,'Named attributes updated ');
104
105 MERGE INTO pon_auction_item_prices_ext_b DESTLINE
106 USING (
107 SELECT
108 attr_group_id,
109 LINE_NUMBER,
110 data_level_id,
111 last_update_date,
112 last_updated_by,
113 last_update_login,
114 creation_date,
115 created_by,
116 pk1_value,
117 pk2_value,
118 pk3_value,
119 pk4_value,
120 pk5_value,
121 c_ext_attr1,
122 c_ext_attr2,
123 c_ext_attr3,
124 c_ext_attr4,
125 c_ext_attr5,
126 c_ext_attr6,
127 c_ext_attr7,
128 c_ext_attr8,
129 c_ext_attr9,
130 c_ext_attr10,
131 c_ext_attr11,
132 c_ext_attr12,
133 c_ext_attr13,
134 c_ext_attr14,
135 c_ext_attr15,
136 c_ext_attr16,
137 c_ext_attr17,
138 c_ext_attr18,
139 c_ext_attr19,
140 c_ext_attr20,
141 c_ext_attr21,
142 c_ext_attr22,
143 c_ext_attr23,
144 c_ext_attr24,
145 c_ext_attr25,
146 c_ext_attr26,
147 c_ext_attr27,
148 c_ext_attr28,
149 c_ext_attr29,
150 c_ext_attr30,
151 c_ext_attr31,
152 c_ext_attr32,
153 c_ext_attr33,
154 c_ext_attr34,
155 c_ext_attr35,
156 c_ext_attr36,
157 c_ext_attr37,
158 c_ext_attr38,
159 c_ext_attr39,
160 c_ext_attr40,
161 n_ext_attr1,
162 n_ext_attr2,
163 n_ext_attr3,
164 n_ext_attr4,
165 n_ext_attr5,
166 n_ext_attr6,
167 n_ext_attr7,
168 n_ext_attr8,
169 n_ext_attr9,
170 n_ext_attr10,
171 n_ext_attr11,
172 n_ext_attr12,
173 n_ext_attr13,
174 n_ext_attr14,
175 n_ext_attr15,
176 n_ext_attr16,
177 n_ext_attr17,
178 n_ext_attr18,
179 n_ext_attr19,
180 n_ext_attr20,
181 uom_ext_attr1,
182 uom_ext_attr2,
183 uom_ext_attr3,
184 uom_ext_attr4,
185 uom_ext_attr5,
186 uom_ext_attr6,
187 uom_ext_attr7,
188 uom_ext_attr8,
189 uom_ext_attr9,
190 uom_ext_attr10,
191 uom_ext_attr11,
192 uom_ext_attr12,
193 uom_ext_attr13,
194 uom_ext_attr14,
195 uom_ext_attr15,
196 uom_ext_attr16,
197 uom_ext_attr17,
198 uom_ext_attr18,
199 uom_ext_attr19,
200 uom_ext_attr20,
201 d_ext_attr1,
202 d_ext_attr2,
203 d_ext_attr3,
204 d_ext_attr4,
205 d_ext_attr5,
206 d_ext_attr6,
207 d_ext_attr7,
208 d_ext_attr8,
209 d_ext_attr9,
210 d_ext_attr10,
211 uda_template_id,
212 auctioN_header_id
213 FROM pon_auction_item_prices_ext_b WHERE AUCTION_HEADER_ID = p_auction_header_id
214 and LINE_NUMBER = p_src_line_number) SRCLINE
215 ON
216 (DESTLINE.LINE_NUMBER IN (select column_value from table(p_dest_line_ids_tbl)) AND DESTLINE.attr_group_id = SRCLINE.attr_group_id AND SRCLINE.AUCTION_HEADER_ID = p_auction_header_id )
217 WHEN MATCHED THEN
218 UPDATE
219 SET
220 DESTLINE.last_update_date = SYSDATE ,
221 DESTLINE.last_updated_by = SRCLINE.last_updated_by,
222 DESTLINE.last_update_login = SRCLINE.last_update_login,
223 DESTLINE.created_by = SRCLINE.created_by,
224 DESTLINE.creation_date = SYSDATE,
225 DESTLINE.c_ext_attr1 = nvl(SRCLINE.c_ext_attr1 , DESTLINE.c_ext_attr1),
226 DESTLINE.c_ext_attr2 = nvl(SRCLINE.c_ext_attr2 , DESTLINE.c_ext_attr2),
227 DESTLINE.c_ext_attr3 = nvl(SRCLINE.c_ext_attr3 , DESTLINE.c_ext_attr3),
228 DESTLINE.c_ext_attr4 = nvl(SRCLINE.c_ext_attr4 , DESTLINE.c_ext_attr4),
229 DESTLINE.c_ext_attr5 = nvl(SRCLINE.c_ext_attr5 , DESTLINE.c_ext_attr5),
230 DESTLINE.c_ext_attr6 = nvl(SRCLINE.c_ext_attr6 , DESTLINE.c_ext_attr6),
231 DESTLINE.c_ext_attr7 = nvl(SRCLINE.c_ext_attr7 , DESTLINE.c_ext_attr7),
232 DESTLINE.c_ext_attr8 = nvl(SRCLINE.c_ext_attr8 , DESTLINE.c_ext_attr8),
233 DESTLINE.c_ext_attr9 = nvl(SRCLINE.c_ext_attr9 , DESTLINE.c_ext_attr9),
234 DESTLINE.c_ext_attr10 = nvl(SRCLINE.c_ext_attr10 , DESTLINE.c_ext_attr10),
235 DESTLINE.c_ext_attr11 = nvl(SRCLINE.c_ext_attr11 , DESTLINE.c_ext_attr11),
236 DESTLINE.c_ext_attr12 = nvl(SRCLINE.c_ext_attr12 , DESTLINE.c_ext_attr12),
237 DESTLINE.c_ext_attr13 = nvl(SRCLINE.c_ext_attr13 , DESTLINE.c_ext_attr13),
238 DESTLINE.c_ext_attr14 = nvl(SRCLINE.c_ext_attr14 , DESTLINE.c_ext_attr14),
239 DESTLINE.c_ext_attr15 = nvl(SRCLINE.c_ext_attr15 , DESTLINE.c_ext_attr15),
240 DESTLINE.c_ext_attr16 = nvl(SRCLINE.c_ext_attr16 , DESTLINE.c_ext_attr16),
241 DESTLINE.c_ext_attr17 = nvl(SRCLINE.c_ext_attr17 , DESTLINE.c_ext_attr17),
242 DESTLINE.c_ext_attr18 = nvl(SRCLINE.c_ext_attr18 , DESTLINE.c_ext_attr18),
243 DESTLINE.c_ext_attr19 = nvl(SRCLINE.c_ext_attr19 , DESTLINE.c_ext_attr19),
244 DESTLINE.c_ext_attr20 = nvl(SRCLINE.c_ext_attr20 , DESTLINE.c_ext_attr20),
245 DESTLINE.c_ext_attr21 = nvl(SRCLINE.c_ext_attr21 , DESTLINE.c_ext_attr21),
246 DESTLINE.c_ext_attr22 = nvl(SRCLINE.c_ext_attr22 , DESTLINE.c_ext_attr22),
247 DESTLINE.c_ext_attr23 = nvl(SRCLINE.c_ext_attr23 , DESTLINE.c_ext_attr23),
248 DESTLINE.c_ext_attr24 = nvl(SRCLINE.c_ext_attr24 , DESTLINE.c_ext_attr24),
249 DESTLINE.c_ext_attr25 = nvl(SRCLINE.c_ext_attr25 , DESTLINE.c_ext_attr25),
250 DESTLINE.c_ext_attr26 = nvl(SRCLINE.c_ext_attr26 , DESTLINE.c_ext_attr26),
251 DESTLINE.c_ext_attr27 = nvl(SRCLINE.c_ext_attr27 , DESTLINE.c_ext_attr27),
252 DESTLINE.c_ext_attr28 = nvl(SRCLINE.c_ext_attr28 , DESTLINE.c_ext_attr28),
253 DESTLINE.c_ext_attr29 = nvl(SRCLINE.c_ext_attr29 , DESTLINE.c_ext_attr29),
254 DESTLINE.c_ext_attr30 = nvl(SRCLINE.c_ext_attr30 , DESTLINE.c_ext_attr30),
255 DESTLINE.c_ext_attr31 = nvl(SRCLINE.c_ext_attr31 , DESTLINE.c_ext_attr31),
256 DESTLINE.c_ext_attr32 = nvl(SRCLINE.c_ext_attr32 , DESTLINE.c_ext_attr32),
257 DESTLINE.c_ext_attr33 = nvl(SRCLINE.c_ext_attr33 , DESTLINE.c_ext_attr33),
258 DESTLINE.c_ext_attr34 = nvl(SRCLINE.c_ext_attr34 , DESTLINE.c_ext_attr34),
259 DESTLINE.c_ext_attr35 = nvl(SRCLINE.c_ext_attr35 , DESTLINE.c_ext_attr35),
260 DESTLINE.c_ext_attr36 = nvl(SRCLINE.c_ext_attr36 , DESTLINE.c_ext_attr36),
261 DESTLINE.c_ext_attr37 = nvl(SRCLINE.c_ext_attr37 , DESTLINE.c_ext_attr37),
262 DESTLINE.c_ext_attr38 = nvl(SRCLINE.c_ext_attr38 , DESTLINE.c_ext_attr38),
263 DESTLINE.c_ext_attr39 = nvl(SRCLINE.c_ext_attr39 , DESTLINE.c_ext_attr39),
264 DESTLINE.c_ext_attr40 = nvl(SRCLINE.c_ext_attr40 , DESTLINE.c_ext_attr40),
265 DESTLINE.n_ext_attr1 = nvl(SRCLINE.n_ext_attr1 , DESTLINE.n_ext_attr1),
266 DESTLINE.n_ext_attr2 = nvl(SRCLINE.n_ext_attr2 , DESTLINE.n_ext_attr2),
267 DESTLINE.n_ext_attr3 = nvl(SRCLINE.n_ext_attr3 , DESTLINE.n_ext_attr3),
268 DESTLINE.n_ext_attr4 = nvl(SRCLINE.n_ext_attr4 , DESTLINE.n_ext_attr4),
269 DESTLINE.n_ext_attr5 = nvl(SRCLINE.n_ext_attr5 , DESTLINE.n_ext_attr5),
270 DESTLINE.n_ext_attr6 = nvl(SRCLINE.n_ext_attr6 , DESTLINE.n_ext_attr6),
271 DESTLINE.n_ext_attr7 = nvl(SRCLINE.n_ext_attr7 , DESTLINE.n_ext_attr7),
272 DESTLINE.n_ext_attr8 = nvl(SRCLINE.n_ext_attr8 , DESTLINE.n_ext_attr8),
273 DESTLINE.n_ext_attr9 = nvl(SRCLINE.n_ext_attr9 , DESTLINE.n_ext_attr9),
274 DESTLINE.n_ext_attr10 = nvl(SRCLINE.n_ext_attr10 , DESTLINE.n_ext_attr10),
275 DESTLINE.n_ext_attr11 = nvl(SRCLINE.n_ext_attr11 , DESTLINE.n_ext_attr11),
276 DESTLINE.n_ext_attr12 = nvl(SRCLINE.n_ext_attr12 , DESTLINE.n_ext_attr12),
277 DESTLINE.n_ext_attr13 = nvl(SRCLINE.n_ext_attr13 , DESTLINE.n_ext_attr13),
278 DESTLINE.n_ext_attr14 = nvl(SRCLINE.n_ext_attr14 , DESTLINE.n_ext_attr14),
279 DESTLINE.n_ext_attr15 = nvl(SRCLINE.n_ext_attr15 , DESTLINE.n_ext_attr15),
280 DESTLINE.n_ext_attr16 = nvl(SRCLINE.n_ext_attr16 , DESTLINE.n_ext_attr16),
281 DESTLINE.n_ext_attr17 = nvl(SRCLINE.n_ext_attr17 , DESTLINE.n_ext_attr17),
282 DESTLINE.n_ext_attr18 = nvl(SRCLINE.n_ext_attr18 , DESTLINE.n_ext_attr18),
283 DESTLINE.n_ext_attr19 = nvl(SRCLINE.n_ext_attr19 , DESTLINE.n_ext_attr19),
284 DESTLINE.n_ext_attr20 = nvl(SRCLINE.n_ext_attr20 , DESTLINE.n_ext_attr20),
285 DESTLINE.uom_ext_attr1 = nvl(SRCLINE.uom_ext_attr1 , DESTLINE.uom_ext_attr1),
286 DESTLINE.uom_ext_attr2 = nvl(SRCLINE.uom_ext_attr2 , DESTLINE.uom_ext_attr2),
287 DESTLINE.uom_ext_attr3 = nvl(SRCLINE.uom_ext_attr3 , DESTLINE.uom_ext_attr3),
288 DESTLINE.uom_ext_attr4 = nvl(SRCLINE.uom_ext_attr4 , DESTLINE.uom_ext_attr4),
289 DESTLINE.uom_ext_attr5 = nvl(SRCLINE.uom_ext_attr5 , DESTLINE.uom_ext_attr5),
290 DESTLINE.uom_ext_attr6 = nvl(SRCLINE.uom_ext_attr6 , DESTLINE.uom_ext_attr6),
291 DESTLINE.uom_ext_attr7 = nvl(SRCLINE.uom_ext_attr7 , DESTLINE.uom_ext_attr7),
292 DESTLINE.uom_ext_attr8 = nvl(SRCLINE.uom_ext_attr8 , DESTLINE.uom_ext_attr8),
293 DESTLINE.uom_ext_attr9 = nvl(SRCLINE.uom_ext_attr9 , DESTLINE.uom_ext_attr9),
294 DESTLINE.uom_ext_attr10 = nvl(SRCLINE.uom_ext_attr10 , DESTLINE.uom_ext_attr10),
295 DESTLINE.uom_ext_attr11 = nvl(SRCLINE.uom_ext_attr11 , DESTLINE.uom_ext_attr11),
296 DESTLINE.uom_ext_attr12 = nvl(SRCLINE.uom_ext_attr12 , DESTLINE.uom_ext_attr12),
297 DESTLINE.uom_ext_attr13 = nvl(SRCLINE.uom_ext_attr13 , DESTLINE.uom_ext_attr13),
298 DESTLINE.uom_ext_attr14 = nvl(SRCLINE.uom_ext_attr14 , DESTLINE.uom_ext_attr14),
299 DESTLINE.uom_ext_attr15 = nvl(SRCLINE.uom_ext_attr15 , DESTLINE.uom_ext_attr15),
300 DESTLINE.uom_ext_attr16 = nvl(SRCLINE.uom_ext_attr16 , DESTLINE.uom_ext_attr16),
301 DESTLINE.uom_ext_attr17 = nvl(SRCLINE.uom_ext_attr17 , DESTLINE.uom_ext_attr17),
302 DESTLINE.uom_ext_attr18 = nvl(SRCLINE.uom_ext_attr18 , DESTLINE.uom_ext_attr18),
303 DESTLINE.uom_ext_attr19 = nvl(SRCLINE.uom_ext_attr19 , DESTLINE.uom_ext_attr19),
304 DESTLINE.uom_ext_attr20 = nvl(SRCLINE.uom_ext_attr20 , DESTLINE.uom_ext_attr20),
305 DESTLINE.d_ext_attr1 = nvl(SRCLINE.d_ext_attr1 , DESTLINE.d_ext_attr1),
306 DESTLINE.d_ext_attr2 = nvl(SRCLINE.d_ext_attr2 , DESTLINE.d_ext_attr2),
307 DESTLINE.d_ext_attr3 = nvl(SRCLINE.d_ext_attr3 , DESTLINE.d_ext_attr3),
308 DESTLINE.d_ext_attr4 = nvl(SRCLINE.d_ext_attr4 , DESTLINE.d_ext_attr4),
309 DESTLINE.d_ext_attr5 = nvl(SRCLINE.d_ext_attr5 , DESTLINE.d_ext_attr5),
310 DESTLINE.d_ext_attr6 = nvl(SRCLINE.d_ext_attr6 , DESTLINE.d_ext_attr6),
311 DESTLINE.d_ext_attr7 = nvl(SRCLINE.d_ext_attr7 , DESTLINE.d_ext_attr7),
312 DESTLINE.d_ext_attr8 = nvl(SRCLINE.d_ext_attr8 , DESTLINE.d_ext_attr8),
313 DESTLINE.d_ext_attr9 = nvl(SRCLINE.d_ext_attr9 , DESTLINE.d_ext_attr9),
314 DESTLINE.d_ext_attr10 = nvl(SRCLINE.d_ext_attr10 , DESTLINE.d_ext_attr10) ;
315
316 LOG_MESSAGE(l_module,'Merge statement executed ');
317
318 FORALL i IN 1..p_dest_line_ids_tbl.Count
319
320 INSERT INTO pon_auction_item_prices_ext_b DESTlINE
321 (DESTLINE.extension_id,
322 DESTLINE.attr_group_id,
323 DESTLINE.LINE_NUMBER,
324 DESTLINE.data_level_id,
325 DESTLINE.pk1_value,
326 DESTLINE.pk2_value,
327 DESTLINE.pk3_value,
328 DESTLINE.pk4_value,
329 DESTLINE.pk5_value,
330 DESTLINE.last_update_date,
331 DESTLINE.last_updated_by,
332 DESTLINE.last_update_login,
333 DESTLINE.created_by,
334 DESTLINE.creation_date,
335 DESTLINE.c_ext_attr1,
336 DESTLINE.c_ext_attr2,
337 DESTLINE.c_ext_attr3,
338 DESTLINE.c_ext_attr4,
339 DESTLINE.c_ext_attr5,
340 DESTLINE.c_ext_attr6,
341 DESTLINE.c_ext_attr7,
342 DESTLINE.c_ext_attr8,
343 DESTLINE.c_ext_attr9,
344 DESTLINE.c_ext_attr10,
345 DESTLINE.c_ext_attr11,
346 DESTLINE.c_ext_attr12,
347 DESTLINE.c_ext_attr13,
348 DESTLINE.c_ext_attr14,
349 DESTLINE.c_ext_attr15,
350 DESTLINE.c_ext_attr16,
351 DESTLINE.c_ext_attr17,
352 DESTLINE.c_ext_attr18,
353 DESTLINE.c_ext_attr19,
354 DESTLINE.c_ext_attr20,
355 DESTLINE.c_ext_attr21,
356 DESTLINE.c_ext_attr22,
357 DESTLINE.c_ext_attr23,
358 DESTLINE.c_ext_attr24,
359 DESTLINE.c_ext_attr25,
360 DESTLINE.c_ext_attr26,
361 DESTLINE.c_ext_attr27,
362 DESTLINE.c_ext_attr28,
363 DESTLINE.c_ext_attr29,
364 DESTLINE.c_ext_attr30,
365 DESTLINE.c_ext_attr31,
366 DESTLINE.c_ext_attr32,
367 DESTLINE.c_ext_attr33,
368 DESTLINE.c_ext_attr34,
369 DESTLINE.c_ext_attr35,
370 DESTLINE.c_ext_attr36,
371 DESTLINE.c_ext_attr37,
372 DESTLINE.c_ext_attr38,
373 DESTLINE.c_ext_attr39,
374 DESTLINE.c_ext_attr40,
375 DESTLINE.n_ext_attr1,
376 DESTLINE.n_ext_attr2,
377 DESTLINE.n_ext_attr3,
378 DESTLINE.n_ext_attr4,
379 DESTLINE.n_ext_attr5,
380 DESTLINE.n_ext_attr6,
381 DESTLINE.n_ext_attr7,
382 DESTLINE.n_ext_attr8,
383 DESTLINE.n_ext_attr9,
384 DESTLINE.n_ext_attr10,
385 DESTLINE.n_ext_attr11,
386 DESTLINE.n_ext_attr12,
387 DESTLINE.n_ext_attr13,
388 DESTLINE.n_ext_attr14,
389 DESTLINE.n_ext_attr15,
390 DESTLINE.n_ext_attr16,
391 DESTLINE.n_ext_attr17,
392 DESTLINE.n_ext_attr18,
393 DESTLINE.n_ext_attr19,
394 DESTLINE.n_ext_attr20,
395 DESTLINE.uom_ext_attr1,
396 DESTLINE.uom_ext_attr2,
397 DESTLINE.uom_ext_attr3,
398 DESTLINE.uom_ext_attr4,
399 DESTLINE.uom_ext_attr5,
400 DESTLINE.uom_ext_attr6,
401 DESTLINE.uom_ext_attr7,
402 DESTLINE.uom_ext_attr8,
403 DESTLINE.uom_ext_attr9,
404 DESTLINE.uom_ext_attr10,
405 DESTLINE.uom_ext_attr11,
406 DESTLINE.uom_ext_attr12,
407 DESTLINE.uom_ext_attr13,
408 DESTLINE.uom_ext_attr14,
409 DESTLINE.uom_ext_attr15,
410 DESTLINE.uom_ext_attr16,
411 DESTLINE.uom_ext_attr17,
412 DESTLINE.uom_ext_attr18,
413 DESTLINE.uom_ext_attr19,
414 DESTLINE.uom_ext_attr20,
415 DESTLINE.d_ext_attr1,
416 DESTLINE.d_ext_attr2,
417 DESTLINE.d_ext_attr3,
418 DESTLINE.d_ext_attr4,
419 DESTLINE.d_ext_attr5,
420 DESTLINE.d_ext_attr6,
421 DESTLINE.d_ext_attr7,
422 DESTLINE.d_ext_attr8,
423 DESTLINE.d_ext_attr9,
424 DESTLINE.d_ext_attr10,
425 DESTLINE.uda_template_id,
426 DESTLINE.auctioN_header_id)
427 SELECT
428 EGO_EXTFWK_S.NEXTVAL,
429 SRCLINE.attr_group_id,
430 p_dest_line_ids_tbl(i),
431 SRCLINE.data_level_id,
432 SRCLINE.pk1_value,
433 SRCLINE.pk2_value,
434 SRCLINE.pk3_value,
435 SRCLINE.pk4_value,
436 SRCLINE.pk5_value,
437 SRCLINE.last_update_date,
438 SRCLINE.last_updated_by,
439 SRCLINE.last_update_login,
440 SRCLINE.created_by,
441 SRCLINE.creation_date,
442 SRCLINE.c_ext_attr1,
443 SRCLINE.c_ext_attr2,
444 SRCLINE.c_ext_attr3,
445 SRCLINE.c_ext_attr4,
446 SRCLINE.c_ext_attr5,
447 SRCLINE.c_ext_attr6,
448 SRCLINE.c_ext_attr7,
449 SRCLINE.c_ext_attr8,
450 SRCLINE.c_ext_attr9,
451 SRCLINE.c_ext_attr10,
452 SRCLINE.c_ext_attr11,
453 SRCLINE.c_ext_attr12,
454 SRCLINE.c_ext_attr13,
455 SRCLINE.c_ext_attr14,
456 SRCLINE.c_ext_attr15,
457 SRCLINE.c_ext_attr16,
458 SRCLINE.c_ext_attr17,
459 SRCLINE.c_ext_attr18,
460 SRCLINE.c_ext_attr19,
461 SRCLINE.c_ext_attr20,
462 SRCLINE.c_ext_attr21,
463 SRCLINE.c_ext_attr22,
464 SRCLINE.c_ext_attr23,
465 SRCLINE.c_ext_attr24,
466 SRCLINE.c_ext_attr25,
467 SRCLINE.c_ext_attr26,
468 SRCLINE.c_ext_attr27,
469 SRCLINE.c_ext_attr28,
470 SRCLINE.c_ext_attr29,
471 SRCLINE.c_ext_attr30,
472 SRCLINE.c_ext_attr31,
473 SRCLINE.c_ext_attr32,
474 SRCLINE.c_ext_attr33,
475 SRCLINE.c_ext_attr34,
476 SRCLINE.c_ext_attr35,
477 SRCLINE.c_ext_attr36,
478 SRCLINE.c_ext_attr37,
479 SRCLINE.c_ext_attr38,
480 SRCLINE.c_ext_attr39,
481 SRCLINE.c_ext_attr40,
482 SRCLINE.n_ext_attr1,
483 SRCLINE.n_ext_attr2,
484 SRCLINE.n_ext_attr3,
485 SRCLINE.n_ext_attr4,
486 SRCLINE.n_ext_attr5,
487 SRCLINE.n_ext_attr6,
488 SRCLINE.n_ext_attr7,
489 SRCLINE.n_ext_attr8,
490 SRCLINE.n_ext_attr9,
491 SRCLINE.n_ext_attr10,
492 SRCLINE.n_ext_attr11,
493 SRCLINE.n_ext_attr12,
494 SRCLINE.n_ext_attr13,
495 SRCLINE.n_ext_attr14,
496 SRCLINE.n_ext_attr15,
497 SRCLINE.n_ext_attr16,
498 SRCLINE.n_ext_attr17,
499 SRCLINE.n_ext_attr18,
500 SRCLINE.n_ext_attr19,
501 SRCLINE.n_ext_attr20,
502 SRCLINE.uom_ext_attr1,
503 SRCLINE.uom_ext_attr2,
504 SRCLINE.uom_ext_attr3,
505 SRCLINE.uom_ext_attr4,
506 SRCLINE.uom_ext_attr5,
507 SRCLINE.uom_ext_attr6,
508 SRCLINE.uom_ext_attr7,
509 SRCLINE.uom_ext_attr8,
510 SRCLINE.uom_ext_attr9,
511 SRCLINE.uom_ext_attr10,
512 SRCLINE.uom_ext_attr11,
513 SRCLINE.uom_ext_attr12,
514 SRCLINE.uom_ext_attr13,
515 SRCLINE.uom_ext_attr14,
516 SRCLINE.uom_ext_attr15,
517 SRCLINE.uom_ext_attr16,
518 SRCLINE.uom_ext_attr17,
519 SRCLINE.uom_ext_attr18,
520 SRCLINE.uom_ext_attr19,
521 SRCLINE.uom_ext_attr20,
522 SRCLINE.d_ext_attr1,
523 SRCLINE.d_ext_attr2,
524 SRCLINE.d_ext_attr3,
525 SRCLINE.d_ext_attr4,
526 SRCLINE.d_ext_attr5,
527 SRCLINE.d_ext_attr6,
528 SRCLINE.d_ext_attr7,
529 SRCLINE.d_ext_attr8,
530 SRCLINE.d_ext_attr9,
531 SRCLINE.d_ext_attr10,
532 SRCLINE.uda_template_id,
533 SRCLINE.auction_header_id
534 FROM pon_auction_item_prices_ext_b SRCLINE WHERE SRCLINE.LINE_NUMBER = p_src_line_number
535 AND auction_header_id = p_auction_header_id
536 AND NOT EXISTS (SELECT 1 FROM pon_auction_item_prices_ext_b pleb WHERE
537 pleb.line_Number =p_dest_line_ids_tbl(i) AND
538 pleb.attr_group_id = SRCLINE.attr_group_id AND
539 pleb.auction_header_id = SRCLINE.auction_header_id);
540
541
542 LOG_MESSAGE(l_module,'Insert statement executed ');
543
544 SELECT extension_id,attr_group_id,line_number,data_level_id,uda_template_id
545 BULK COLLECT INTO extension_id_tbl,attr_group_id_tbl,sol_line_num_tbl,
546 data_level_id_tbl,uda_template_id_tbl
547 FROM pon_auction_item_prices_ext_b
548 WHERE line_Number IN ( select column_value from table(p_dest_line_ids_tbl))
549 AND auction_header_id = p_auction_header_id;
550
551 LOG_MESSAGE(l_module,'About to insert into pon_auction_item_prices_ext_tl ');
552
553 FORALL i IN 1..extension_id_tbl.Count
554 INSERT INTO pon_auction_item_prices_ext_tl
555 (
556 EXTENSION_ID,
557 ATTR_GROUP_ID,
558 line_number,
559 DATA_LEVEL_ID,
560 SOURCE_LANG,
561 LANGUAGE,
562 LAST_UPDATE_DATE,
563 LAST_UPDATED_BY,
564 LAST_UPDATE_LOGIN,
565 CREATED_BY,
566 CREATION_DATE,
567 UDA_TEMPLATE_ID,
568 AUCTION_HEADER_ID
569 )
570 SELECT
571
572 extension_id_tbl(i),
573 attr_group_id_tbl(i),
574 sol_line_num_tbl(i),
575 data_level_id_tbl(i),
576 USERENV('LANG'),
577 L.LANGUAGE_CODE,
578 SYSDATE,
579 0,
580 0,
581 0,
582 SYSDATE,
583 uda_template_id_tbl(i),
584 p_auction_header_id
585
586 FROM FND_LANGUAGES L
587 WHERE L.INSTALLED_FLAG in ('I', 'B')
588 AND NOT EXISTS
589 (SELECT 1 FROM pon_auction_item_prices_ext_tl pltl WHERE
590 pltl.extension_id = extension_id_tbl(i)
591 AND pltl.LANGUAGE = L.LANGUAGE_CODE);
592
593 LOG_MESSAGE(l_module,'Inserted into pon_auction_item_prices_ext_tl ');
594
595 DELETE FROM pon_auction_item_prices_ext_b WHERE line_Number = p_src_line_number
596 AND auction_header_id = p_auction_header_id;
597
598 LOG_MESSAGE(l_module,'Deleted temporary record from pon_auction_item_prices_ext_b');
599 x_result:='S';
600
601 EXCEPTION
602 WHEN OTHERS THEN
603 ROLLBACK TO global_update;
604 LOG_MESSAGE(l_module,'Exception : ' || SQLERRM );
605 x_result:='E';
606 END global_line_update;
607
608 -- ======================================================================
609 -- PROCEDURE : LOG_MESSAGE PRIVATE
610 -- PARAMETERS :
611 -- p_module : IN pass the module name
612 -- p_message: IN the string to be logged
613 --
614 -- COMMENT : Common procedure to log messages in FND_LOG.
615 -- ======================================================================
616 PROCEDURE LOG_MESSAGE( p_module IN VARCHAR2,
617 p_message IN VARCHAR2)
618 IS
619 BEGIN
620 IF (g_debug_mode = 'Y') THEN
621 IF (FND_LOG.level_statement >= FND_LOG.g_current_runtime_level) THEN
622
623 FND_LOG.string(log_level => FND_LOG.level_statement,
624 module => g_module_prefix || p_module,
625 message => p_message);
626
627 END IF;
628 END IF;
629 END LOG_MESSAGE;
630
631
632 END PON_GLOBAL_UPDATE_PKG;