[Home] [Help]
PACKAGE BODY: APPS.CSI_ITEM_INSTANCE_GRP
Source
1 PACKAGE BODY CSI_ITEM_INSTANCE_GRP AS
2 /* $Header: csigiib.pls 120.37.12020000.5 2012/11/01 19:30:42 rasraja ship $ */
3
4 -- --------------------------------------------------------
5 -- Define global variables
6 -- --------------------------------------------------------
7
8 G_PKG_NAME CONSTANT VARCHAR2(30) := 'CSI_ITEM_INSTANCE_GRP';
9 G_FILE_NAME CONSTANT VARCHAR2(12) := 'csigiib.pls';
10
11 /*----------------------------------------------------*/
12 /* Procedure name: Update_Interface_table */
13 /* Description : procedure for Updating the error */
14 /* text in the Interface Table */
15 /*----------------------------------------------------*/
16
17 PROCEDURE Update_Interface_Table
18 ( p_intf_id NUMBER,
19 p_intf_table VARCHAR2,
20 p_intf_col_name VARCHAR2,
21 p_error_text VARCHAR2,
22 p_status VARCHAR2,
23 p_instance_id NUMBER
24 )
25 IS
26 --
27 v_upd_stmt VARCHAR2(2000);
28 v_cursor_handle INTEGER := dbms_sql.open_cursor;
29 v_num_of_rows NUMBER;
30 BEGIN
31 v_upd_stmt := 'UPDATE '||p_intf_table||' SET ERROR_TEXT = :l_error_text'
32 ||' ,PROCESS_STATUS = :l_status'
33 ||' ,INSTANCE_ID = :l_instance_id'
34 ||' WHERE '||p_intf_col_name||' = :l_intf_id';
35 dbms_sql.parse(v_cursor_handle,v_upd_stmt,dbms_sql.NATIVE);
36 dbms_sql.bind_variable(v_cursor_handle,':l_error_text',p_error_text);
37 dbms_sql.bind_variable(v_cursor_handle,':l_status',p_status);
38 dbms_sql.bind_variable(v_cursor_handle,':l_instance_id',p_instance_id);
39 dbms_sql.bind_variable(v_cursor_handle,':l_intf_id',p_intf_id);
40 v_num_of_rows := dbms_sql.execute(v_cursor_handle);
41 dbms_sql.close_cursor(v_cursor_handle);
42 EXCEPTION
43 WHEN OTHERS THEN
44 NULL;
45 END Update_Interface_Table;
46 --
47 FUNCTION Valid_Lot_Number
48 ( p_instance_rec IN csi_datastructures_pub.instance_rec,
49 p_instance_tbl IN OUT NOCOPY csi_datastructures_pub.instance_tbl
50 ) RETURN BOOLEAN IS
51 --
52 l_lot_type NUMBER;
53 l_temp VARCHAR2(1);
54 l_return_value BOOLEAN;
55 BEGIN
56 l_return_value := TRUE;
57 --
58 -- Lot Number uniqueness
59 ------------------------
60 -- 1 - Across Items
61 -- 2 - None
62 BEGIN
63 SELECT lot_number_uniqueness -- Lot number uniqueness
64 INTO l_lot_type
65 FROM mtl_parameters
66 WHERE organization_id = p_instance_rec.vld_organization_id;
67 EXCEPTION
68 WHEN no_data_found THEN
69 l_return_value := FALSE;
70 fnd_message.set_name('CSI','CSI_NO_ORG_SET');
71 fnd_message.set_token('ORGANIZATION_ID',p_instance_rec.vld_organization_id);
72 fnd_msg_pub.add;
73 RETURN l_return_value;
74 END;
75 --
76 l_temp := NULL;
77 --
78 IF l_lot_type = 1 THEN
79 -- Check some other item in this batch has the same lot number
80 FOR j IN p_instance_tbl.FIRST .. p_instance_tbl.LAST LOOP
81 IF p_instance_tbl.EXISTS(j) THEN
82 IF p_instance_rec.inventory_item_id <> p_instance_tbl(j).inventory_item_id AND
83 p_instance_rec.lot_number = p_instance_tbl(j).lot_number AND
84 nvl(p_instance_tbl(j).processed_flag,'N') <> 'E' AND
85 p_instance_rec.interface_id <> p_instance_tbl(j).interface_id THEN
86 l_temp := 'x';
87 exit;
88 END IF;
89 END IF;
90 END LOOP;
91 --
92 IF l_temp IS NOT NULL THEN
93 l_return_value := FALSE;
94 fnd_message.set_name('CSI','CSI_LOT_CASE2');
95 fnd_message.set_token('LOT_NUMBER',p_instance_rec.lot_number);
96 fnd_msg_pub.add;
97 RETURN l_return_value;
98 END IF;
99 END IF;
100 --
101 RETURN l_return_value;
102 END Valid_Lot_Number;
103 --
104 FUNCTION Valid_Serial_Number
105 ( p_instance_rec IN csi_datastructures_pub.instance_rec,
106 p_instance_tbl IN OUT NOCOPY csi_datastructures_pub.instance_tbl,
107 p_inst_tab_row IN NUMBER := -1 --bug 9227016
108 ) RETURN BOOLEAN IS
109 --
110 l_serial_type NUMBER;
111 l_temp VARCHAR2(1);
112 l_base_item_id NUMBER;
113 l_return_value BOOLEAN;
114 l_count NUMBER;
115 --
116 BEGIN
117 l_return_value := TRUE;
118 --
119 BEGIN
120 SELECT serial_number_type -- serial number uniqueness control
121 INTO l_serial_type
122 FROM mtl_parameters
123 WHERE organization_id = p_instance_rec.vld_organization_id;
124 EXCEPTION
125 WHEN no_data_found THEN
126 l_return_value := FALSE;
127 fnd_message.set_name('CSI','CSI_NO_ORG_SET');
128 fnd_message.set_token('ORGANIZATION_ID',p_instance_rec.vld_organization_id);
129 fnd_msg_pub.add;
130 RETURN l_return_value;
131 END;
132 --
133 l_temp := NULL;
134 --
135 IF l_serial_type = 1 THEN
136 l_base_item_id := NULL;
137 Begin
138 select base_item_id
139 into l_base_item_id
140 from MTL_SYSTEM_ITEMS_B
141 where inventory_item_id = p_instance_rec.inventory_item_id
142 and organization_id = p_instance_rec.vld_organization_id;
143 Exception
144 when no_data_found then
145 l_return_value := FALSE;
146 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_ITEM');
147 FND_MESSAGE.SET_TOKEN('INVENTORY_ITEM_ID',p_instance_rec.inventory_item_id);
148 FND_MESSAGE.SET_TOKEN('INVENTORY_ORGANIZATION_ID',p_instance_rec.vld_organization_id);
149 FND_MSG_PUB.Add;
150 RETURN l_return_value;
151 End;
152 --
153 FOR j IN p_instance_tbl.FIRST .. p_instance_tbl.LAST LOOP
154 IF p_instance_tbl.EXISTS(j) THEN
155 IF p_instance_tbl(j).interface_id <> p_instance_rec.interface_id
156 OR j <> p_inst_tab_row -- bug 9227016
157 THEN -- ignoring the current
158 IF p_instance_tbl(j).serial_number = p_instance_rec.serial_number AND
159 nvl(p_instance_tbl(j).processed_flag,'N') <> 'E' THEN
160 IF p_instance_tbl(j).inventory_item_id = p_instance_rec.inventory_item_id THEN
161 l_temp := '1'; -- Fundamental uniqueness violated
162 exit;
163 ELSE -- Uniqueness within Model
164 l_count := 0;
165 IF l_base_item_id IS NOT NULL THEN
166 Begin
167 select 1
168 into l_count
169 from dual
170 where exists (select 'x' from mtl_system_items_b msi
171 where msi.base_item_id = l_base_item_id
172 and msi.inventory_item_id = p_instance_tbl(j).inventory_item_id);
173 Exception
174 when no_data_found then
175 l_count := 0;
176 when too_many_rows then
177 l_count := 1;
178 End;
179 IF nvl(l_count,0) > 0 THEN
180 l_temp := '4';
181 exit;
182 END IF;
183 END IF; -- Base Model exists
184 END IF;
185 END IF; -- Same srl# check
186 END IF; -- current check
187 END IF; -- exists
188 END LOOP;
189 --
190 IF nvl(l_temp,'0') = '1' THEN
191 l_return_value := FALSE;
192 fnd_message.set_name('CSI','CSI_SER_CASE1');
193 fnd_message.set_token('SERIAL_NUMBER',p_instance_rec.serial_number);
194 fnd_msg_pub.add;
195 RETURN l_return_value;
196 ELSIF nvl(l_temp,'0') = '4' THEN
197 l_return_value := FALSE;
198 fnd_message.set_name('CSI','CSI_SER_CASE4');
199 fnd_message.set_token('SERIAL_NUMBER',p_instance_rec.serial_number);
200 fnd_msg_pub.add;
201 RETURN l_return_value;
202 END IF;
203 END IF; -- Serial Type 1
204 --
205 IF l_serial_type = 4 THEN
206 FOR j IN p_instance_tbl.FIRST .. p_instance_tbl.LAST LOOP
207 IF p_instance_tbl.EXISTS(j) THEN
208 IF p_instance_rec.inventory_item_id = p_instance_tbl(j).inventory_item_id AND
209 p_instance_rec.serial_number = p_instance_tbl(j).serial_number AND
210 nvl(p_instance_tbl(j).processed_flag,'N') <> 'E' AND
211 p_instance_rec.interface_id <> p_instance_tbl(j).interface_id THEN
212 l_temp := 'x';
213 exit;
214 END IF;
215 END IF;
216 END LOOP;
217 IF l_temp IS NOT NULL THEN
218 l_return_value := FALSE;
222 RETURN l_return_value;
219 fnd_message.set_name('CSI','CSI_SER_CASE1');
220 fnd_message.set_token('SERIAL_NUMBER',p_instance_rec.serial_number);
221 fnd_msg_pub.add;
223 END IF;
224 END IF; -- serial_type 4
225 --
226 IF l_serial_type = 2 THEN
227 FOR j IN p_instance_tbl.FIRST .. p_instance_tbl.LAST LOOP
228 IF p_instance_tbl.EXISTS(j) THEN
229 IF p_instance_rec.serial_number = p_instance_tbl(j).serial_number AND
230 p_instance_rec.vld_organization_id = p_instance_tbl(j).vld_organization_id AND
231 nvl(p_instance_tbl(j).processed_flag,'N') <> 'E' AND
232 p_instance_rec.interface_id <> p_instance_tbl(j).interface_id THEN
233 l_temp := 'x';
234 exit;
235 END IF;
236 END IF;
237 END LOOP;
238 IF l_temp IS NOT NULL THEN
239 l_return_value := FALSE;
240 fnd_message.set_name('CSI','CSI_SER_CASE2');
241 fnd_message.set_token('SERIAL_NUMBER',p_instance_rec.serial_number);
242 fnd_msg_pub.add;
243 RETURN l_return_value;
244 END IF;
245 --
246 -- Also check if it has been already defined as
247 -- unique serial number accross organizations i.e entire system
248 BEGIN
249 SELECT 'x'
250 INTO l_temp
251 FROM mtl_serial_numbers s,
252 mtl_parameters p
253 WHERE s.current_organization_id = p.organization_id
254 AND s.serial_number = p_instance_rec.serial_number
255 AND p.serial_number_type = 3
256 AND ROWNUM = 1;
257 IF l_temp IS NOT NULL THEN
258 l_return_value := FALSE;
259 fnd_message.set_name('CSI','CSI_SER_CASE21');
260 fnd_message.set_token('SERIAL_NUMBER',p_instance_rec.serial_number);
261 fnd_msg_pub.add;
262 RETURN l_return_value;
263 END IF;
264 EXCEPTION
265 WHEN OTHERS THEN
266 l_return_value := TRUE;
267 END;
268 END IF; -- serial_type 2
269 --
270 IF l_serial_type = 3 THEN
271 FOR j IN p_instance_tbl.FIRST .. p_instance_tbl.LAST LOOP
272 IF p_instance_tbl.EXISTS(j) THEN
273 IF p_instance_rec.serial_number = p_instance_tbl(j).serial_number AND
274 nvl(p_instance_tbl(j).processed_flag,'N') <> 'E' AND
275 p_instance_rec.interface_id <> p_instance_tbl(j).interface_id THEN
276 l_temp := 'x';
277 exit;
278 END IF;
279 END IF;
280 END LOOP;
281 IF l_temp IS NOT NULL THEN
282 l_return_value := FALSE;
283 fnd_message.set_name('CSI','CSI_SER_CASE3');
284 fnd_message.set_token('SERIAL_NUMBER',p_instance_rec.serial_number);
285 fnd_msg_pub.add;
286 RETURN l_return_value;
287 END IF;
288 END IF; -- serial_type 3
289 --
290 RETURN l_return_value;
291 END Valid_Serial_Number;
292 --
293 FUNCTION Check_Inst_Party_Rules
294 (
295 p_party_tbl IN csi_datastructures_pub.party_tbl
296 ,p_party_rec IN csi_datastructures_pub.party_rec
297 ,p_start_date IN DATE -- Instance start date
298 ,p_end_date IN DATE -- Instance end date
299 ) RETURN BOOLEAN IS
300 --
301 l_party_rec csi_datastructures_pub.party_rec := p_party_rec;
302 l_party_tbl csi_datastructures_pub.party_tbl := p_party_tbl;
303 l_count NUMBER := 0;
304 l_primary_pty_count NUMBER := 0;
305 l_primary_con_count NUMBER := 0;
306 l_return_status BOOLEAN;
307 BEGIN
308 l_return_status := TRUE;
309 --
310 IF l_party_rec.active_end_date IS NOT NULL AND
311 l_party_rec.active_end_date <> FND_API.G_MISS_DATE THEN
312 IF TRUNC(l_party_rec.active_start_date,'MI') > TRUNC(l_party_rec.active_end_date,'MI') THEN --Changed to trunc for bug 9756224
313 l_return_status := FALSE;
314 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_PTY_START_DATE');
315 FND_MESSAGE.SET_TOKEN('ACTIVE_START_DATE',l_party_rec.active_start_date);
316 FND_MSG_PUB.ADD;
317 RETURN l_return_status;
318 END IF;
319 --
320 IF ( (TRUNC(l_party_rec.active_end_date,'MI') < TRUNC(SYSDATE,'MI')) OR
321 (p_end_date IS NOT NULL AND TRUNC(l_party_rec.active_end_date,'MI') > TRUNC(p_end_date,'MI'))) THEN --Changed to trunc for bug 9756224
322 l_return_status := FALSE;
323 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_PTY_END_DATE');
324 FND_MESSAGE.SET_TOKEN('ACTIVE_END_DATE',l_party_rec.active_end_date);
325 FND_MSG_PUB.ADD;
326 RETURN l_return_status;
327 END IF;
328 END IF;
329 --
330 IF ( (TRUNC(l_party_rec.active_start_date,'MI') < TRUNC( p_start_date,'MI')) OR
331 (p_end_date IS NOT NULL AND p_end_date <> FND_API.G_MISS_DATE AND TRUNC(l_party_rec.active_start_date,'MI') > TRUNC(p_end_date,'MI')) ) THEN --Changed to trunc for bug 9756224
332 l_return_status := FALSE;
333 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_PTY_START_DATE');
334 FND_MESSAGE.SET_TOKEN('ACTIVE_START_DATE',l_party_rec.active_start_date);
335 FND_MSG_PUB.ADD;
336 RETURN l_return_status;
337 END IF;
338 IF l_party_tbl.count < 2 THEN
339 l_return_status := TRUE;
340 RETURN l_return_status;
341 END IF;
342 --
343 IF l_party_rec.contact_flag IS NULL OR
344 l_party_rec.contact_flag = FND_API.G_MISS_CHAR THEN
345 l_party_rec.contact_flag := 'N';
346 END IF;
347 --
348 IF l_party_rec.contact_ip_id IS NULL OR
349 l_party_rec.contact_ip_id = FND_API.G_MISS_NUM THEN
350 l_party_rec.contact_ip_id := -9999;
351 END IF;
352 --
353 IF l_party_rec.PREFERRED_FLAG = 'Y' THEN
354 IF l_party_rec.CONTACT_FLAG <> 'Y' THEN
355 IF l_party_rec.PARTY_SOURCE_TABLE NOT IN ('GROUP','TEAM') THEN
356 l_return_status := FALSE;
357 FND_MESSAGE.SET_NAME('CSI','CSI_PREFERRED_PTY_TYPE');
358 FND_MESSAGE.SET_TOKEN('PARTY_TYPE',l_party_rec.PARTY_SOURCE_TABLE);
359 FND_MESSAGE.SET_TOKEN('INSTANCE_ID',l_party_rec.INSTANCE_ID);
360 FND_MSG_PUB.ADD;
361 RETURN l_return_status;
362 END IF;
363 END IF;
364 END IF;
365 --
366 FOR pty_row in l_party_tbl.FIRST .. l_party_tbl.LAST LOOP
367 IF l_party_tbl(pty_row).contact_flag IS NULL OR
368 l_party_tbl(pty_row).contact_flag = FND_API.G_MISS_CHAR THEN
369 l_party_tbl(pty_row).contact_flag := 'N';
370 END IF;
371 --
372 IF l_party_tbl(pty_row).contact_ip_id IS NULL OR
373 l_party_tbl(pty_row).contact_ip_id = FND_API.G_MISS_NUM THEN
374 l_party_tbl(pty_row).contact_ip_id := -9999;
375 END IF;
376 --
377 IF l_party_tbl(pty_row).party_source_table = l_party_rec.party_source_table AND
378 l_party_tbl(pty_row).party_id = l_party_rec.party_id AND
379 l_party_tbl(pty_row).relationship_type_code = l_party_rec.relationship_type_code AND
380 l_party_tbl(pty_row).contact_flag = l_party_rec.contact_flag AND
381 l_party_tbl(pty_row).contact_parent_tbl_index = l_party_rec.contact_parent_tbl_index THEN
382 l_count := l_count + 1;
383 END IF;
384 --
385 IF l_party_rec.primary_flag = 'Y' THEN
386 IF l_party_rec.contact_flag <> 'Y' THEN
387 IF l_party_rec.party_source_table NOT IN ('GROUP','TEAM') THEN
388 l_return_status := FALSE;
389 FND_MESSAGE.SET_NAME('CSI','CSI_PRIMARY_PTY_TYPE');
390 FND_MESSAGE.SET_TOKEN('PARTY_TYPE',l_party_rec.PARTY_SOURCE_TABLE);
391 FND_MESSAGE.SET_TOKEN('INSTANCE_ID',l_party_rec.INSTANCE_ID);
392 FND_MSG_PUB.ADD;
393 exit;
394 ELSE
395 -- Check for Primary Party
396 IF l_party_tbl(pty_row).primary_flag = 'Y' AND
397 l_party_tbl(pty_row).contact_flag <>'Y' AND
398 l_party_tbl(pty_row).relationship_type_code = l_party_rec.relationship_type_code THEN
399 l_primary_pty_count := l_primary_pty_count + 1;
400 END IF;
401 END IF;
402 ELSE
403 -- check for Primary contact party
404 IF l_party_tbl(pty_row).primary_flag = 'Y' AND
405 l_party_tbl(pty_row).contact_flag = 'Y' AND
406 l_party_tbl(pty_row).contact_parent_tbl_index = l_party_rec.contact_parent_tbl_index AND
407 l_party_tbl(pty_row).relationship_type_code = l_party_rec.relationship_type_code THEN
408 l_primary_con_count := l_primary_con_count + 1;
409 END IF;
410 END IF;
411 END IF;
412 END LOOP;
413 --
414 IF l_count > 1 THEN
415 l_return_status := FALSE;
416 FND_MESSAGE.SET_NAME('CSI','CSI_API_MANY_PTY_REL_COM_EXIST');
417 FND_MESSAGE.SET_TOKEN('PARTY_REL_COMB',to_char(l_party_rec.INSTANCE_ID)||','||l_party_rec.PARTY_SOURCE_TABLE||','||to_char(l_party_rec.party_id)||','||l_party_rec.relationship_type_code);
418 FND_MSG_PUB.ADD;
419 RETURN l_return_status;
420 END IF;
421 --
422 IF l_primary_pty_count > 1 OR
423 l_primary_con_count > 1 THEN
424 l_return_status := FALSE;
425 FND_MESSAGE.SET_NAME('CSI','CSI_API_PRIMARY_PTY_EXISTS');
426 FND_MESSAGE.SET_TOKEN('INSTANCE_ID',l_party_rec.INSTANCE_ID);
427 FND_MESSAGE.SET_TOKEN('RELATIONSHIP_TYPE',l_party_rec.relationship_type_code);
428 FND_MSG_PUB.ADD;
429 RETURN l_return_status;
430 END IF;
431 --
432 RETURN l_return_status;
433 END Check_Inst_Party_Rules;
434 --
435 FUNCTION Check_Party_Acct_Rules
436 (
437 p_account_tbl IN csi_datastructures_pub.party_account_tbl
438 ,p_account_rec IN csi_datastructures_pub.party_account_rec
439 ,p_pty_src_table IN VARCHAR2
440 ,p_party_id IN NUMBER
441 ,p_acct_id_tbl IN OUT NOCOPY csi_party_relationships_pvt.acct_id_tbl
442 ,p_start_date IN DATE -- Instance Party Start Date
443 ,p_end_date IN DATE -- Instance Party End Date
444 ) RETURN BOOLEAN IS
445 --
446 l_return_status BOOLEAN;
447 l_count NUMBER := 0;
448 l_rel_count NUMBER := 0;
449 l_exists VARCHAR2(1);
450 l_exists_flag VARCHAR2(1);
451 l_valid_flag VARCHAR2(1);
452 l_ctr NUMBER;
453 BEGIN
454 l_return_status := TRUE;
455 --
456 IF p_account_rec.active_end_date IS NOT NULL AND
457 p_account_rec.active_end_date <> FND_API.G_MISS_DATE THEN
461 FND_MESSAGE.SET_TOKEN('ACTIVE_START_DATE',p_account_rec.active_start_date);
458 IF TRUNC(p_account_rec.active_start_date,'MI') > TRUNC(p_account_rec.active_end_date,'MI') THEN --Changed to trunc for bug 9756224
459 l_return_status := FALSE;
460 FND_MESSAGE.SET_NAME('CSI','CSI_API_INV_ACCT_START_DATE');
462 FND_MSG_PUB.ADD;
463 RETURN l_return_status;
464 END IF;
465 --
466 IF ( (TRUNC(p_account_rec.active_end_date,'MI') < TRUNC(SYSDATE,'MI')) OR
467 (p_end_date IS NOT NULL AND TRUNC(p_account_rec.active_end_date,'MI') > TRUNC(p_end_date,'MI')) ) THEN --Changed to trunc for bug 9756224
468 l_return_status := FALSE;
469 FND_MESSAGE.SET_NAME('CSI','CSI_API_INV_ACCT_END_DATE');
470 FND_MESSAGE.SET_TOKEN('ACTIVE_END_DATE',p_account_rec.active_end_date);
471 FND_MSG_PUB.ADD;
472 RETURN l_return_status;
473 END IF;
474 END IF;
475 --
476 IF ( (TRUNC(p_account_rec.active_start_date,'MI') < TRUNC(p_start_date,'MI')) OR
477 (p_end_date IS NOT NULL AND p_end_date <> FND_API.G_MISS_DATE AND TRUNC(p_account_rec.active_start_date,'MI') > TRUNC(p_end_date,'MI')) ) THEN --Changed to trunc for bug 9756224
478 l_return_status := FALSE;
479 FND_MESSAGE.SET_NAME('CSI','CSI_API_INV_ACCT_START_DATE');
480 FND_MESSAGE.SET_TOKEN('ACTIVE_START_DATE',p_account_rec.active_start_date);
481 FND_MSG_PUB.ADD;
482 RETURN l_return_status;
483 END IF;
484 --
485 /**** IF p_pty_src_table = 'HZ_PARTIES' AND
486 p_account_rec.relationship_type_code = 'OWNER' THEN
487 Begin
488 select 'x'
489 into l_exists
490 from HZ_PARTIES hzp
491 ,HZ_CUST_ACCOUNTS hzc
492 where hzc.cust_account_id = p_account_rec.party_account_id
493 and hzc.party_id = p_party_id
494 and hzc.party_id = hzp.party_id;
495 Exception
496 when others then
497 l_return_status := FALSE;
498 FND_MESSAGE.SET_NAME('CSI','CSI_API_PTY_ACCT_HZ_PTY');
499 FND_MESSAGE.SET_TOKEN('PARTY_ACCOUNT_ID',p_account_rec.party_account_id);
500 FND_MESSAGE.SET_TOKEN('PARTY_ID',p_party_id);
501 RETURN l_return_status;
502 End;
503 ELSE
504 Begin
505 select 'x'
506 into l_exists
507 from HZ_CUST_ACCOUNTS hzc
508 where hzc.cust_account_id = p_account_rec.party_account_id;
509 Exception
510 when others then
511 l_return_status := FALSE;
512 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_PTY_ACCT_ID');
513 FND_MESSAGE.SET_TOKEN('PARTY_ACCOUNT_ID',p_account_rec.party_account_id);
514 RETURN l_return_status;
515 End;
516 END IF; ***/
517 --
518 l_exists_flag := 'N';
519 l_valid_flag := 'Y';
520 IF p_account_rec.party_account_id IS NOT NULL AND
521 p_account_rec.party_account_id <> FND_API.G_MISS_NUM THEN
522 IF p_acct_id_tbl.count > 0 THEN
523 FOR acct_row in p_acct_id_tbl.FIRST .. p_acct_id_tbl.LAST LOOP
524 IF p_acct_id_tbl(acct_row).account_id = p_account_rec.party_account_id THEN
525 l_valid_flag := p_acct_id_tbl(acct_row).valid_flag;
526 l_exists_flag := 'Y';
527 exit;
528 END IF;
529 END LOOP;
530 --
531 IF l_valid_flag <> 'Y' THEN
532 l_return_status := FALSE;
533 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_PTY_ACCT_ID');
534 FND_MESSAGE.SET_TOKEN('PARTY_ACCOUNT_ID',p_account_rec.party_account_id);
535 FND_MSG_PUB.ADD;
536 RETURN l_return_status;
537 END IF;
538 END IF;
539 --
540 IF l_exists_flag <> 'Y' THEN
541 l_ctr := p_acct_id_tbl.count + 1;
542 p_acct_id_tbl(l_ctr).account_id := p_account_rec.party_account_id;
543 Begin
544 select 'x'
545 into l_exists
546 from HZ_CUST_ACCOUNTS hzc
547 where hzc.cust_account_id = p_account_rec.party_account_id;
548 p_acct_id_tbl(l_ctr).valid_flag := 'Y';
549 Exception
550 when others then
551 p_acct_id_tbl(l_ctr).valid_flag := 'N';
552 l_return_status := FALSE;
553 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_PTY_ACCT_ID');
554 FND_MESSAGE.SET_TOKEN('PARTY_ACCOUNT_ID',p_account_rec.party_account_id);
555 FND_MSG_PUB.ADD;
556 RETURN l_return_status;
557 End;
558 END IF;
559 END IF;
560 --
561 IF p_account_tbl.count < 2 THEN
562 l_return_status := TRUE;
563 RETURN l_return_status;
564 END IF;
565 --
566 FOR acct_row in p_account_tbl.FIRST .. p_account_tbl.LAST LOOP
567 IF p_account_tbl(acct_row).party_account_id = p_account_rec.party_account_id AND
568 p_account_tbl(acct_row).relationship_type_code = p_account_rec.relationship_type_code THEN
569 l_count := l_count + 1;
570 END IF;
571 --
572 IF p_account_tbl(acct_row).relationship_type_code = p_account_rec.relationship_type_code THEN
573 l_rel_count := l_rel_count + 1;
574 END IF;
575 END LOOP;
576 --
577 IF l_count > 1 THEN
578 l_return_status := FALSE;
579 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_PARTY_ACCT_COM');
580 FND_MESSAGE.SET_TOKEN('ACCT_COMBINATION',to_char(p_account_rec.instance_party_id) ||', '
581 ||to_char(p_account_rec.party_account_id) ||','||p_account_rec.relationship_type_code);
582 FND_MSG_PUB.ADD;
583 RETURN l_return_status;
584 END IF;
585 --
586 IF l_rel_count > 1 THEN
587 l_return_status := FALSE;
588 FND_MESSAGE.SET_NAME('CSI','CSI_API_DUP_ACCT_TYPE');
589 FND_MESSAGE.SET_TOKEN('RELATIONSHIP_TYPE_CODE',p_account_rec.relationship_type_code);
590 FND_MSG_PUB.ADD;
591 RETURN l_return_status;
592 END IF;
593 --
594 RETURN l_return_status;
595 END Check_Party_Acct_Rules;
596 --
597 FUNCTION Check_Org_Rules
598 ( p_org_units_tbl IN csi_datastructures_pub.organization_units_tbl
599 ,p_org_units_rec IN csi_datastructures_pub.organization_units_rec
600 ,p_start_date IN DATE
601 ,p_end_date IN DATE
602 ) RETURN BOOLEAN IS
603 --
604 l_count NUMBER := 0;
605 l_return_status BOOLEAN;
606 BEGIN
607 l_return_status := TRUE;
608 --
609 IF p_org_units_rec.active_end_date IS NOT NULL AND
610 p_org_units_rec.active_end_date <> FND_API.G_MISS_DATE THEN
611 IF p_org_units_rec.active_start_date > p_org_units_rec.active_end_date THEN
612 l_return_status := FALSE;
613 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_ORG_START_DATE');
614 FND_MESSAGE.SET_TOKEN('START_DATE',p_org_units_rec.active_start_date);
615 FND_MSG_PUB.ADD;
616 RETURN l_return_status;
617 END IF;
618 --
619 IF ( (p_org_units_rec.active_end_date < SYSDATE) OR
620 (p_end_date IS NOT NULL AND p_org_units_rec.active_end_date > p_end_date) ) THEN
621 l_return_status := FALSE;
622 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_ORG_END_DATE');
623 FND_MESSAGE.SET_TOKEN('END_DATE',p_org_units_rec.active_end_date);
624 FND_MSG_PUB.ADD;
625 RETURN l_return_status;
626 END IF;
627 END IF;
628 --
629 IF ( (p_org_units_rec.active_start_date < p_start_date) OR
630 (p_end_date IS NOT NULL AND p_end_date <> FND_API.G_MISS_DATE AND p_org_units_rec.active_start_date > p_end_date) ) THEN
631 l_return_status := FALSE;
632 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_ORG_START_DATE');
633 FND_MESSAGE.SET_TOKEN('START_DATE',p_org_units_rec.active_start_date);
634 FND_MSG_PUB.ADD;
635 RETURN l_return_status;
636 END IF;
637 --
638 IF p_org_units_tbl.count < 2 THEN
639 l_return_status := TRUE;
640 RETURN l_return_status;
641 END IF;
642 --
643 FOR org_row in p_org_units_tbl.FIRST .. p_org_units_tbl.LAST LOOP
644 IF p_org_units_tbl(org_row).relationship_type_code = p_org_units_rec.relationship_type_code THEN
645 l_count := l_count + 1;
646 END IF;
647 END LOOP;
648 --
649 IF l_count > 1 THEN
650 l_return_status := FALSE;
651 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_ALTERNATE_PK');
652 FND_MESSAGE.SET_TOKEN('ALTERNATE_PK',to_char(p_org_units_rec.instance_id)||' '||p_org_units_rec.relationship_type_code);
653 FND_MSG_PUB.ADD;
654 RETURN l_return_status;
655 END IF;
656 --
657 RETURN l_return_status;
658 END Check_Org_Rules;
659 --
660 FUNCTION Check_Pricing_Rules
661 (
662 p_pricing_rec IN csi_datastructures_pub.pricing_attribs_rec
663 ,p_start_date IN DATE
664 ,p_end_date IN DATE
665 ) RETURN BOOLEAN IS
666 --
667 l_return_status BOOLEAN;
668 BEGIN
669 l_return_status := TRUE;
670 --
671 IF p_pricing_rec.active_end_date IS NOT NULL AND
672 p_pricing_rec.active_end_date <> FND_API.G_MISS_DATE THEN
673 IF p_pricing_rec.active_start_date > p_pricing_rec.active_end_date THEN
674 l_return_status := FALSE;
675 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_PRI_START_DATE');
676 FND_MESSAGE.SET_TOKEN('START_DATE',p_pricing_rec.active_start_date);
677 FND_MSG_PUB.ADD;
678 RETURN l_return_status;
679 END IF;
680 --
681 IF ( (p_pricing_rec.active_end_date < SYSDATE) OR
682 (p_end_date IS NOT NULL AND p_pricing_rec.active_end_date > p_end_date) ) THEN
683 l_return_status := FALSE;
684 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_PRI_END_DATE');
685 FND_MESSAGE.SET_TOKEN('END_DATE',p_pricing_rec.active_end_date);
686 FND_MSG_PUB.ADD;
687 RETURN l_return_status;
688 END IF;
689 END IF;
690 --
691 IF ( (p_pricing_rec.active_start_date < p_start_date) OR
692 (p_end_date IS NOT NULL AND p_end_date <> FND_API.G_MISS_DATE AND p_pricing_rec.active_start_date > p_end_date) ) THEN
693 l_return_status := FALSE;
694 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_PRI_START_DATE');
695 FND_MESSAGE.SET_TOKEN('START_DATE',p_pricing_rec.active_start_date);
696 FND_MSG_PUB.ADD;
697 RETURN l_return_status;
698 END IF;
699 --
700 RETURN l_return_status;
701 END Check_Pricing_Rules;
702 --
703 FUNCTION Check_Ext_Rules
704 (
705 p_ext_tbl IN csi_datastructures_pub.extend_attrib_values_tbl
706 ,p_ext_rec IN csi_datastructures_pub.extend_attrib_values_rec
707 ,p_start_date IN DATE
708 ,p_end_date IN DATE
709 ) RETURN BOOLEAN IS
710 --
711 l_count NUMBER := 0;
712 l_return_status BOOLEAN;
713 BEGIN
714 l_return_status := TRUE;
715 --
716 IF p_ext_rec.active_end_date IS NOT NULL AND
717 p_ext_rec.active_end_date <> FND_API.G_MISS_DATE THEN
718 IF p_ext_rec.active_start_date > p_ext_rec.active_end_date THEN
719 l_return_status := FALSE;
720 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_EXT_START_DATE');
721 FND_MESSAGE.SET_TOKEN('START_DATE',p_ext_rec.active_start_date);
722 FND_MSG_PUB.ADD;
723 RETURN l_return_status;
724 END IF;
725 --
726 IF ( (p_ext_rec.active_end_date < SYSDATE) OR
727 (p_end_date IS NOT NULL AND p_ext_rec.active_end_date > p_end_date) ) THEN
728 l_return_status := FALSE;
729 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_EXT_END_DATE');
730 FND_MESSAGE.SET_TOKEN('END_DATE',p_ext_rec.active_end_date);
731 FND_MSG_PUB.ADD;
732 RETURN l_return_status;
733 END IF;
734 END IF;
735 --
736 IF ( (p_ext_rec.active_start_date < p_start_date) OR
737 (p_end_date IS NOT NULL AND p_end_date <> FND_API.G_MISS_DATE AND p_ext_rec.active_start_date > p_end_date) ) THEN
738 l_return_status := FALSE;
739 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_EXT_START_DATE');
740 FND_MESSAGE.SET_TOKEN('START_DATE',p_ext_rec.active_start_date);
741 FND_MSG_PUB.ADD;
742 RETURN l_return_status;
743 END IF;
744 --
745 IF p_ext_tbl.count < 2 THEN
746 l_return_status := TRUE;
747 RETURN l_return_status;
748 END IF;
749 --
750 FOR ext_row in p_ext_tbl.FIRST .. p_ext_tbl.LAST LOOP
751 IF p_ext_tbl(ext_row).attribute_id = p_ext_rec.attribute_id THEN
752 l_count := l_count + 1;
753 END IF;
754 END LOOP;
755 --
756 IF l_count > 1 THEN
757 l_return_status := FALSE;
758 FND_MESSAGE.SET_NAME('CSI','CSI_EXT_INVALID_ALTERNATE_PK');
759 FND_MESSAGE.SET_TOKEN('ALTERNATE_PK',to_char(p_ext_rec.instance_id)||','||to_char(p_ext_rec.attribute_id));
760 FND_MSG_PUB.ADD;
761 RETURN l_return_status;
762 END IF;
763 --
764 RETURN l_return_status;
765 END Check_Ext_Rules;
766 --
767 FUNCTION Check_Asset_Rules
768 (
769 p_asset_rec IN csi_datastructures_pub.instance_asset_rec
770 ,p_start_date IN DATE
771 ,p_end_date IN DATE
772 ) RETURN BOOLEAN IS
773 --
774 l_return_status BOOLEAN;
775 BEGIN
776 l_return_status := TRUE;
777 --
778 IF p_asset_rec.active_end_date IS NOT NULL AND
779 p_asset_rec.active_end_date <> FND_API.G_MISS_DATE THEN
780 IF p_asset_rec.active_start_date > p_asset_rec.active_end_date THEN
781 l_return_status := FALSE;
782 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_AST_START_DATE');
783 FND_MESSAGE.SET_TOKEN('START_DATE',p_asset_rec.active_start_date);
784 FND_MSG_PUB.ADD;
785 RETURN l_return_status;
786 END IF;
787 --
788 IF ( (p_asset_rec.active_end_date < SYSDATE) OR
792 FND_MESSAGE.SET_TOKEN('END_DATE',p_asset_rec.active_end_date);
789 (p_end_date IS NOT NULL AND p_asset_rec.active_end_date > p_end_date) ) THEN
790 l_return_status := FALSE;
791 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_AST_END_DATE');
793 FND_MSG_PUB.ADD;
794 RETURN l_return_status;
795 END IF;
796 END IF;
797 --
798 IF ( (p_asset_rec.active_start_date < p_start_date) OR
799 (p_end_date IS NOT NULL AND p_end_date <> FND_API.G_MISS_DATE AND p_asset_rec.active_start_date > p_end_date) ) THEN
800 l_return_status := FALSE;
801 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_AST_START_DATE');
802 FND_MESSAGE.SET_TOKEN('START_DATE',p_asset_rec.active_start_date);
803 FND_MSG_PUB.ADD;
804 RETURN l_return_status;
805 END IF;
806 --
807 RETURN l_return_status;
808 END Check_Asset_Rules;
809 --
810 PROCEDURE Build_Instance_History
811 (
812 p_inst_hist_tbl IN OUT NOCOPY csi_datastructures_pub.instance_history_tbl
813 ,p_inst_rec IN csi_datastructures_pub.instance_rec
814 ,p_txn_id IN NUMBER
815 ) IS
816 --
817 l_count NUMBER;
818 l_hist_id NUMBER;
819 BEGIN
820 l_count := p_inst_hist_tbl.count + 1;
821 select CSI_ITEM_INSTANCES_H_S.nextval
822 into l_hist_id
823 from sys.dual;
824 p_inst_hist_tbl(l_count).instance_id := p_inst_rec.instance_id;
825 p_inst_hist_tbl(l_count).instance_history_id := l_hist_id;
826 p_inst_hist_tbl(l_count).transaction_id := p_txn_id;
827 p_inst_hist_tbl(l_count).old_instance_number := null;
828 p_inst_hist_tbl(l_count).new_instance_number := p_inst_rec.instance_number;
829 p_inst_hist_tbl(l_count).old_external_reference := null;
830 p_inst_hist_tbl(l_count).new_external_reference := p_inst_rec.external_reference;
831 p_inst_hist_tbl(l_count).old_inventory_item_id := null;
832 p_inst_hist_tbl(l_count).new_inventory_item_id := p_inst_rec.inventory_item_id;
833 p_inst_hist_tbl(l_count).old_inventory_revision := null;
834 p_inst_hist_tbl(l_count).new_inventory_revision := p_inst_rec.inventory_revision;
835 p_inst_hist_tbl(l_count).old_inv_master_org_id := null;
836 p_inst_hist_tbl(l_count).new_inv_master_org_id := p_inst_rec.inv_master_organization_id;
837 p_inst_hist_tbl(l_count).old_serial_number := null;
838 p_inst_hist_tbl(l_count).new_serial_number := p_inst_rec.serial_number;
839 p_inst_hist_tbl(l_count).old_mfg_serial_number_flag := null;
840 p_inst_hist_tbl(l_count).new_mfg_serial_number_flag := p_inst_rec.mfg_serial_number_flag ;
841 p_inst_hist_tbl(l_count).old_lot_number := null;
842 p_inst_hist_tbl(l_count).new_lot_number := p_inst_rec.lot_number;
843 p_inst_hist_tbl(l_count).old_quantity := null;
844 p_inst_hist_tbl(l_count).new_quantity := p_inst_rec.quantity;
845 p_inst_hist_tbl(l_count).old_unit_of_measure := null;
846 p_inst_hist_tbl(l_count).new_unit_of_measure := p_inst_rec.unit_of_measure;
847 p_inst_hist_tbl(l_count).old_accounting_class_code := null;
848 p_inst_hist_tbl(l_count).new_accounting_class_code := p_inst_rec.accounting_class_code;
849 p_inst_hist_tbl(l_count).old_instance_condition_id := null;
850 p_inst_hist_tbl(l_count).new_instance_condition_id := p_inst_rec.instance_condition_id;
851 p_inst_hist_tbl(l_count).old_instance_status_id := null;
852 p_inst_hist_tbl(l_count).new_instance_status_id := p_inst_rec.instance_status_id;
853 p_inst_hist_tbl(l_count).old_customer_view_flag := null;
854 p_inst_hist_tbl(l_count).new_customer_view_flag := p_inst_rec.customer_view_flag;
855 p_inst_hist_tbl(l_count).old_merchant_view_flag := null;
856 p_inst_hist_tbl(l_count).new_merchant_view_flag := p_inst_rec.merchant_view_flag;
857 p_inst_hist_tbl(l_count).old_sellable_flag := null;
858 p_inst_hist_tbl(l_count).new_sellable_flag := p_inst_rec.sellable_flag ;
859 p_inst_hist_tbl(l_count).old_system_id := null;
860 p_inst_hist_tbl(l_count).new_system_id := p_inst_rec.system_id;
861 p_inst_hist_tbl(l_count).old_instance_type_code := null;
862 p_inst_hist_tbl(l_count).new_instance_type_code := p_inst_rec.instance_type_code;
863 p_inst_hist_tbl(l_count).old_active_start_date := null;
864 p_inst_hist_tbl(l_count).new_active_start_date := p_inst_rec.active_start_date;
865 p_inst_hist_tbl(l_count).old_active_end_date := null;
866 p_inst_hist_tbl(l_count).new_active_end_date := p_inst_rec.active_end_date;
867 p_inst_hist_tbl(l_count).old_location_type_code := null;
868 p_inst_hist_tbl(l_count).new_location_type_code := p_inst_rec.location_type_code;
869 p_inst_hist_tbl(l_count).old_location_id := null;
870 p_inst_hist_tbl(l_count).new_location_id := p_inst_rec.location_id;
871 p_inst_hist_tbl(l_count).old_inv_organization_id := null;
872 p_inst_hist_tbl(l_count).new_inv_organization_id := p_inst_rec.inv_organization_id;
873 p_inst_hist_tbl(l_count).old_inv_subinventory_name := null;
874 p_inst_hist_tbl(l_count).new_inv_subinventory_name := p_inst_rec.inv_subinventory_name;
875 p_inst_hist_tbl(l_count).old_inv_locator_id := null;
876 p_inst_hist_tbl(l_count).new_inv_locator_id := p_inst_rec.inv_locator_id;
877 p_inst_hist_tbl(l_count).old_pa_project_id := null;
878 p_inst_hist_tbl(l_count).new_pa_project_id := p_inst_rec.pa_project_id;
879 p_inst_hist_tbl(l_count).old_pa_project_task_id := null;
880 p_inst_hist_tbl(l_count).new_pa_project_task_id := p_inst_rec.pa_project_task_id;
881 p_inst_hist_tbl(l_count).old_in_transit_order_line_id := null;
882 p_inst_hist_tbl(l_count).new_in_transit_order_line_id := p_inst_rec.in_transit_order_line_id;
883 p_inst_hist_tbl(l_count).old_wip_job_id := null;
884 p_inst_hist_tbl(l_count).new_wip_job_id := p_inst_rec.wip_job_id;
885 p_inst_hist_tbl(l_count).old_po_order_line_id := null;
886 p_inst_hist_tbl(l_count).new_po_order_line_id := p_inst_rec.po_order_line_id;
887 p_inst_hist_tbl(l_count).old_completeness_flag := null;
888 p_inst_hist_tbl(l_count).new_completeness_flag := p_inst_rec.completeness_flag;
889 p_inst_hist_tbl(l_count).old_context := null;
890 p_inst_hist_tbl(l_count).new_context := p_inst_rec.context;
891 p_inst_hist_tbl(l_count).old_attribute1 := null;
892 p_inst_hist_tbl(l_count).new_attribute1 := p_inst_rec.attribute1;
893 p_inst_hist_tbl(l_count).old_attribute2 := null;
894 p_inst_hist_tbl(l_count).new_attribute2 := p_inst_rec.attribute2;
895 p_inst_hist_tbl(l_count).old_attribute3 := null;
896 p_inst_hist_tbl(l_count).new_attribute3 := p_inst_rec.attribute3;
897 p_inst_hist_tbl(l_count).old_attribute4 := null;
898 p_inst_hist_tbl(l_count).new_attribute4 := p_inst_rec.attribute4;
899 p_inst_hist_tbl(l_count).old_attribute5 := null;
900 p_inst_hist_tbl(l_count).new_attribute5 := p_inst_rec.attribute5;
901 p_inst_hist_tbl(l_count).old_attribute6 := null;
902 p_inst_hist_tbl(l_count).new_attribute6 := p_inst_rec.attribute6;
903 p_inst_hist_tbl(l_count).old_attribute7 := null;
904 p_inst_hist_tbl(l_count).new_attribute7 := p_inst_rec.attribute7;
905 p_inst_hist_tbl(l_count).old_attribute8 := null;
906 p_inst_hist_tbl(l_count).new_attribute8 := p_inst_rec.attribute8;
907 p_inst_hist_tbl(l_count).old_attribute9 := null;
908 p_inst_hist_tbl(l_count).new_attribute9 := p_inst_rec.attribute9;
909 p_inst_hist_tbl(l_count).old_attribute10 := null;
910 p_inst_hist_tbl(l_count).new_attribute10 := p_inst_rec.attribute10;
911 p_inst_hist_tbl(l_count).old_attribute11 := null;
912 p_inst_hist_tbl(l_count).new_attribute11 := p_inst_rec.attribute11;
913 p_inst_hist_tbl(l_count).old_attribute12 := null;
914 p_inst_hist_tbl(l_count).new_attribute12 := p_inst_rec.attribute12;
915 p_inst_hist_tbl(l_count).old_attribute13 := null;
916 p_inst_hist_tbl(l_count).new_attribute13 := p_inst_rec.attribute13;
917 p_inst_hist_tbl(l_count).old_attribute14 := null;
918 p_inst_hist_tbl(l_count).new_attribute14 := p_inst_rec.attribute14;
919 p_inst_hist_tbl(l_count).old_attribute15 := null;
920 p_inst_hist_tbl(l_count).new_attribute15 := p_inst_rec.attribute15;
921 p_inst_hist_tbl(l_count).old_install_location_type_code := null;
922 p_inst_hist_tbl(l_count).new_install_location_type_code := p_inst_rec.install_location_type_code;
923 p_inst_hist_tbl(l_count).old_install_location_id := null;
924 p_inst_hist_tbl(l_count).new_install_location_id := p_inst_rec.install_location_id;
925 p_inst_hist_tbl(l_count).old_instance_usage_code := null;
926 p_inst_hist_tbl(l_count).new_instance_usage_code := p_inst_rec.instance_usage_code;
927 p_inst_hist_tbl(l_count).old_last_vld_organization_id := null;
928 p_inst_hist_tbl(l_count).new_last_vld_organization_id := p_inst_rec.vld_organization_id;
929 p_inst_hist_tbl(l_count).old_config_inst_rev_num := null;
930 p_inst_hist_tbl(l_count).new_config_inst_rev_num := p_inst_rec.config_inst_rev_num;
931 p_inst_hist_tbl(l_count).old_config_valid_status := null;
932 p_inst_hist_tbl(l_count).new_config_valid_status := p_inst_rec.config_valid_status;
933 p_inst_hist_tbl(l_count).old_instance_description := null;
934 p_inst_hist_tbl(l_count).new_instance_description := p_inst_rec.instance_description;
935 p_inst_hist_tbl(l_count).old_last_oe_agreement_id := null;
936 p_inst_hist_tbl(l_count).new_last_oe_agreement_id := p_inst_rec.last_oe_agreement_id;
937 p_inst_hist_tbl(l_count).old_install_date := null;
938 p_inst_hist_tbl(l_count).new_install_date := p_inst_rec.install_date;
939 p_inst_hist_tbl(l_count).old_return_by_date := null;
940 p_inst_hist_tbl(l_count).new_return_by_date := p_inst_rec.return_by_date;
941 p_inst_hist_tbl(l_count).old_actual_return_date := null;
942 p_inst_hist_tbl(l_count).new_actual_return_date := p_inst_rec.actual_return_date;
943 p_inst_hist_tbl(l_count).old_last_oe_order_line_id := null;
944 p_inst_hist_tbl(l_count).new_last_oe_order_line_id := p_inst_rec.last_oe_order_line_id;
945 p_inst_hist_tbl(l_count).old_last_oe_rma_line_id := null;
946 p_inst_hist_tbl(l_count).new_last_oe_rma_line_id := p_inst_rec.last_oe_rma_line_id;
947 p_inst_hist_tbl(l_count).old_last_wip_job_id := null;
948 p_inst_hist_tbl(l_count).new_last_wip_job_id := p_inst_rec.last_wip_job_id;
949 p_inst_hist_tbl(l_count).old_last_po_po_line_id := null;
950 p_inst_hist_tbl(l_count).new_last_po_po_line_id := p_inst_rec.last_po_po_line_id;
951 p_inst_hist_tbl(l_count).old_last_pa_project_id := null;
952 p_inst_hist_tbl(l_count).new_last_pa_project_id := p_inst_rec.last_pa_project_id;
953 p_inst_hist_tbl(l_count).old_last_pa_task_id := null;
954 p_inst_hist_tbl(l_count).new_last_pa_task_id := p_inst_rec.last_pa_task_id;
955 p_inst_hist_tbl(l_count).old_last_txn_line_detail_id := null;
956 p_inst_hist_tbl(l_count).new_last_txn_line_detail_id := p_inst_rec.last_txn_line_detail_id;
957 p_inst_hist_tbl(l_count).old_last_oe_po_number := null;
958 p_inst_hist_tbl(l_count).new_last_oe_po_number := p_inst_rec.last_oe_po_number;
959
960 p_inst_hist_tbl(l_count).old_network_asset_flag := null;
961 p_inst_hist_tbl(l_count).new_network_asset_flag := p_inst_rec.network_asset_flag;
962 p_inst_hist_tbl(l_count).old_maintainable_flag := null;
963 p_inst_hist_tbl(l_count).new_maintainable_flag := p_inst_rec.maintainable_flag;
964 p_inst_hist_tbl(l_count).old_asset_criticality_code := null;
965 p_inst_hist_tbl(l_count).new_asset_criticality_code := p_inst_rec.asset_criticality_code;
966 p_inst_hist_tbl(l_count).old_category_id := null;
967 p_inst_hist_tbl(l_count).new_category_id := p_inst_rec.category_id ;
968 p_inst_hist_tbl(l_count).old_equipment_gen_object_id := null;
969 p_inst_hist_tbl(l_count).new_equipment_gen_object_id := p_inst_rec.equipment_gen_object_id ;
970 p_inst_hist_tbl(l_count).old_instantiation_flag := null;
971 p_inst_hist_tbl(l_count).new_instantiation_flag := p_inst_rec.instantiation_flag;
972 p_inst_hist_tbl(l_count).old_operational_log_flag := null;
973 p_inst_hist_tbl(l_count).new_operational_log_flag := p_inst_rec.operational_log_flag ;
974 p_inst_hist_tbl(l_count).old_supplier_warranty_exp_date := null;
975 p_inst_hist_tbl(l_count).new_supplier_warranty_exp_date := p_inst_rec.supplier_warranty_exp_date ;
976 p_inst_hist_tbl(l_count).old_attribute16 := null;
977 p_inst_hist_tbl(l_count).new_attribute16 := p_inst_rec.attribute16;
978 p_inst_hist_tbl(l_count).old_attribute17 := null;
979 p_inst_hist_tbl(l_count).new_attribute17 := p_inst_rec.attribute17;
980 p_inst_hist_tbl(l_count).old_attribute18 := null;
981 p_inst_hist_tbl(l_count).new_attribute18 := p_inst_rec.attribute18;
982 p_inst_hist_tbl(l_count).old_attribute19 := null;
983 p_inst_hist_tbl(l_count).new_attribute19 := p_inst_rec.attribute19;
984 p_inst_hist_tbl(l_count).old_attribute20 := null;
985 p_inst_hist_tbl(l_count).new_attribute20 := p_inst_rec.attribute20;
986 p_inst_hist_tbl(l_count).old_attribute21 := null;
987 p_inst_hist_tbl(l_count).new_attribute21 := p_inst_rec.attribute21;
988 p_inst_hist_tbl(l_count).old_attribute22 := null;
989 p_inst_hist_tbl(l_count).new_attribute22 := p_inst_rec.attribute22;
990 p_inst_hist_tbl(l_count).old_attribute23 := null;
991 p_inst_hist_tbl(l_count).new_attribute23 := p_inst_rec.attribute23;
992 p_inst_hist_tbl(l_count).old_attribute24 := null;
996 p_inst_hist_tbl(l_count).old_attribute26 := null;
993 p_inst_hist_tbl(l_count).new_attribute24 := p_inst_rec.attribute24;
994 p_inst_hist_tbl(l_count).old_attribute25 := null;
995 p_inst_hist_tbl(l_count).new_attribute25 := p_inst_rec.attribute25;
997 p_inst_hist_tbl(l_count).new_attribute26 := p_inst_rec.attribute26;
998 p_inst_hist_tbl(l_count).old_attribute27 := null;
999 p_inst_hist_tbl(l_count).new_attribute27 := p_inst_rec.attribute27;
1000 p_inst_hist_tbl(l_count).old_attribute28 := null;
1001 p_inst_hist_tbl(l_count).new_attribute28 := p_inst_rec.attribute28;
1002 p_inst_hist_tbl(l_count).old_attribute29 := null;
1003 p_inst_hist_tbl(l_count).new_attribute29 := p_inst_rec.attribute29;
1004 p_inst_hist_tbl(l_count).old_attribute30 := null;
1005 p_inst_hist_tbl(l_count).new_attribute30 := p_inst_rec.attribute30;
1006 --
1007 p_inst_hist_tbl(l_count).old_payables_currency_code := null;
1008 p_inst_hist_tbl(l_count).new_payables_currency_code := p_inst_rec.payables_currency_code;
1009 p_inst_hist_tbl(l_count).old_purchase_unit_price := null;
1010 p_inst_hist_tbl(l_count).new_purchase_unit_price := p_inst_rec.purchase_unit_price;
1011 p_inst_hist_tbl(l_count).old_purchase_currency_code := null;
1012 p_inst_hist_tbl(l_count).new_purchase_currency_code := p_inst_rec.purchase_currency_code;
1013 p_inst_hist_tbl(l_count).old_payables_unit_price := null;
1014 p_inst_hist_tbl(l_count).new_payables_unit_price := p_inst_rec.payables_unit_price;
1015 p_inst_hist_tbl(l_count).old_sales_unit_price := null;
1016 p_inst_hist_tbl(l_count).new_sales_unit_price := p_inst_rec.sales_unit_price;
1017 p_inst_hist_tbl(l_count).old_sales_currency_code := null;
1018 p_inst_hist_tbl(l_count).new_sales_currency_code := p_inst_rec.sales_currency_code;
1019 p_inst_hist_tbl(l_count).old_operational_status_code := null;
1020 p_inst_hist_tbl(l_count).new_operational_status_code := p_inst_rec.operational_status_code;
1021
1022 END Build_Instance_History;
1023 --
1024 PROCEDURE Build_Ver_Label_History
1025 (
1026 p_ver_label_history_tbl IN OUT NOCOPY csi_datastructures_pub.version_label_history_tbl
1027 ,p_version_label_rec IN csi_datastructures_pub.version_label_rec
1028 ,p_txn_id IN NUMBER
1029 ) IS
1030 --
1031 l_count NUMBER;
1032 l_hist_id NUMBER;
1033 BEGIN
1034 l_count := p_ver_label_history_tbl.count + 1;
1035 select CSI_I_VERSION_LABELS_H_S.nextval
1036 into l_hist_id
1037 from sys.dual;
1038 --
1039 p_ver_label_history_tbl(l_count).VERSION_LABEL_HISTORY_ID := l_hist_id;
1040 p_ver_label_history_tbl(l_count).VERSION_LABEL_ID := p_version_label_rec.VERSION_LABEL_ID;
1041 p_ver_label_history_tbl(l_count).TRANSACTION_ID := p_txn_id;
1042 p_ver_label_history_tbl(l_count).OLD_VERSION_LABEL := NULL;
1043 p_ver_label_history_tbl(l_count).NEW_VERSION_LABEL := p_version_label_rec.VERSION_LABEL;
1044 p_ver_label_history_tbl(l_count).OLD_DESCRIPTION := NULL;
1045 p_ver_label_history_tbl(l_count).NEW_DESCRIPTION := p_version_label_rec.DESCRIPTION;
1046 p_ver_label_history_tbl(l_count).OLD_DATE_TIME_STAMP := NULL;
1047 p_ver_label_history_tbl(l_count).NEW_DATE_TIME_STAMP := p_version_label_rec.DATE_TIME_STAMP;
1048 p_ver_label_history_tbl(l_count).OLD_ACTIVE_START_DATE := NULL;
1049 p_ver_label_history_tbl(l_count).NEW_ACTIVE_START_DATE := p_version_label_rec.ACTIVE_START_DATE;
1050 p_ver_label_history_tbl(l_count).OLD_ACTIVE_END_DATE := NULL;
1051 p_ver_label_history_tbl(l_count).NEW_ACTIVE_END_DATE := p_version_label_rec.ACTIVE_END_DATE;
1052 p_ver_label_history_tbl(l_count).OLD_CONTEXT := NULL;
1053 p_ver_label_history_tbl(l_count).NEW_CONTEXT := p_version_label_rec.CONTEXT;
1054 p_ver_label_history_tbl(l_count).OLD_ATTRIBUTE1 := NULL;
1055 p_ver_label_history_tbl(l_count).NEW_ATTRIBUTE1 := p_version_label_rec.ATTRIBUTE1;
1056 p_ver_label_history_tbl(l_count).OLD_ATTRIBUTE2 := NULL;
1057 p_ver_label_history_tbl(l_count).NEW_ATTRIBUTE2 := p_version_label_rec.ATTRIBUTE2;
1058 p_ver_label_history_tbl(l_count).OLD_ATTRIBUTE3 := NULL;
1059 p_ver_label_history_tbl(l_count).NEW_ATTRIBUTE3 := p_version_label_rec.ATTRIBUTE3;
1060 p_ver_label_history_tbl(l_count).OLD_ATTRIBUTE4 := NULL;
1061 p_ver_label_history_tbl(l_count).NEW_ATTRIBUTE4 := p_version_label_rec.ATTRIBUTE4;
1062 p_ver_label_history_tbl(l_count).OLD_ATTRIBUTE5 := NULL;
1063 p_ver_label_history_tbl(l_count).NEW_ATTRIBUTE5 := p_version_label_rec.ATTRIBUTE5;
1064 p_ver_label_history_tbl(l_count).OLD_ATTRIBUTE6 := NULL;
1065 p_ver_label_history_tbl(l_count).NEW_ATTRIBUTE6 := p_version_label_rec.ATTRIBUTE6;
1066 p_ver_label_history_tbl(l_count).OLD_ATTRIBUTE7 := NULL;
1067 p_ver_label_history_tbl(l_count).NEW_ATTRIBUTE7 := p_version_label_rec.ATTRIBUTE7;
1068 p_ver_label_history_tbl(l_count).OLD_ATTRIBUTE8 := NULL;
1069 p_ver_label_history_tbl(l_count).NEW_ATTRIBUTE8 := p_version_label_rec.ATTRIBUTE8;
1070 p_ver_label_history_tbl(l_count).OLD_ATTRIBUTE9 := NULL;
1071 p_ver_label_history_tbl(l_count).NEW_ATTRIBUTE9 := p_version_label_rec.ATTRIBUTE9;
1072 p_ver_label_history_tbl(l_count).OLD_ATTRIBUTE10 := NULL;
1073 p_ver_label_history_tbl(l_count).NEW_ATTRIBUTE10 := p_version_label_rec.ATTRIBUTE10;
1074 p_ver_label_history_tbl(l_count).OLD_ATTRIBUTE11 := NULL;
1075 p_ver_label_history_tbl(l_count).NEW_ATTRIBUTE11 := p_version_label_rec.ATTRIBUTE11;
1076 p_ver_label_history_tbl(l_count).OLD_ATTRIBUTE12 := NULL;
1077 p_ver_label_history_tbl(l_count).NEW_ATTRIBUTE12 := p_version_label_rec.ATTRIBUTE12;
1078 p_ver_label_history_tbl(l_count).OLD_ATTRIBUTE13 := NULL;
1079 p_ver_label_history_tbl(l_count).NEW_ATTRIBUTE13 := p_version_label_rec.ATTRIBUTE13;
1083 p_ver_label_history_tbl(l_count).NEW_ATTRIBUTE15 := p_version_label_rec.ATTRIBUTE15;
1080 p_ver_label_history_tbl(l_count).OLD_ATTRIBUTE14 := NULL;
1081 p_ver_label_history_tbl(l_count).NEW_ATTRIBUTE14 := p_version_label_rec.ATTRIBUTE14;
1082 p_ver_label_history_tbl(l_count).OLD_ATTRIBUTE15 := NULL;
1084 END Build_Ver_Label_History;
1085 --
1086 PROCEDURE Build_Party_History
1087 ( p_party_hist_tbl IN OUT NOCOPY csi_datastructures_pub.party_history_tbl
1088 ,p_party_rec IN csi_datastructures_pub.party_rec
1089 ,p_txn_id IN NUMBER
1090 ) IS
1091 l_count NUMBER;
1092 l_hist_id NUMBER;
1093 BEGIN
1094 l_count := p_party_hist_tbl.count + 1;
1095 select CSI_I_PARTIES_H_S.nextval
1096 into l_hist_id
1097 from sys.dual;
1098 --
1099 p_party_hist_tbl(l_count).INSTANCE_PARTY_HISTORY_ID := l_hist_id;
1100 p_party_hist_tbl(l_count).INSTANCE_PARTY_ID := p_party_rec.INSTANCE_PARTY_ID;
1101 p_party_hist_tbl(l_count).TRANSACTION_ID := p_txn_id;
1102 p_party_hist_tbl(l_count).OLD_PARTY_SOURCE_TABLE := NULL;
1103 p_party_hist_tbl(l_count).NEW_PARTY_SOURCE_TABLE := p_party_rec.PARTY_SOURCE_TABLE;
1104 p_party_hist_tbl(l_count).OLD_PARTY_ID := NULL;
1105 p_party_hist_tbl(l_count).NEW_PARTY_ID := p_party_rec.PARTY_ID;
1106 p_party_hist_tbl(l_count).OLD_RELATIONSHIP_TYPE_CODE := NULL;
1107 p_party_hist_tbl(l_count).NEW_RELATIONSHIP_TYPE_CODE := p_party_rec.RELATIONSHIP_TYPE_CODE;
1108 p_party_hist_tbl(l_count).OLD_CONTACT_FLAG := NULL;
1109 p_party_hist_tbl(l_count).NEW_CONTACT_FLAG := p_party_rec.CONTACT_FLAG;
1110 p_party_hist_tbl(l_count).OLD_CONTACT_IP_ID := NULL;
1111 p_party_hist_tbl(l_count).NEW_CONTACT_IP_ID := p_party_rec.CONTACT_IP_ID;
1112 p_party_hist_tbl(l_count).OLD_ACTIVE_START_DATE := NULL;
1113 p_party_hist_tbl(l_count).NEW_ACTIVE_START_DATE := p_party_rec.ACTIVE_START_DATE;
1114 p_party_hist_tbl(l_count).OLD_ACTIVE_END_DATE := NULL;
1115 p_party_hist_tbl(l_count).NEW_ACTIVE_END_DATE := p_party_rec.ACTIVE_END_DATE;
1116 p_party_hist_tbl(l_count).OLD_CONTEXT := NULL;
1117 p_party_hist_tbl(l_count).NEW_CONTEXT := p_party_rec.CONTEXT;
1118 p_party_hist_tbl(l_count).OLD_ATTRIBUTE1 := NULL;
1119 p_party_hist_tbl(l_count).NEW_ATTRIBUTE1 := p_party_rec.ATTRIBUTE1;
1120 p_party_hist_tbl(l_count).OLD_ATTRIBUTE2 := NULL;
1121 p_party_hist_tbl(l_count).NEW_ATTRIBUTE2 := p_party_rec.ATTRIBUTE2;
1122 p_party_hist_tbl(l_count).OLD_ATTRIBUTE3 := NULL;
1123 p_party_hist_tbl(l_count).NEW_ATTRIBUTE3 := p_party_rec.ATTRIBUTE3;
1124 p_party_hist_tbl(l_count).OLD_ATTRIBUTE4 := NULL;
1125 p_party_hist_tbl(l_count).NEW_ATTRIBUTE4 := p_party_rec.ATTRIBUTE4;
1126 p_party_hist_tbl(l_count).OLD_ATTRIBUTE5 := NULL;
1127 p_party_hist_tbl(l_count).NEW_ATTRIBUTE5 := p_party_rec.ATTRIBUTE5;
1128 p_party_hist_tbl(l_count).OLD_ATTRIBUTE6 := NULL;
1129 p_party_hist_tbl(l_count).NEW_ATTRIBUTE6 := p_party_rec.ATTRIBUTE6;
1130 p_party_hist_tbl(l_count).OLD_ATTRIBUTE7 := NULL;
1131 p_party_hist_tbl(l_count).NEW_ATTRIBUTE7 := p_party_rec.ATTRIBUTE7;
1132 p_party_hist_tbl(l_count).OLD_ATTRIBUTE8 := NULL;
1133 p_party_hist_tbl(l_count).NEW_ATTRIBUTE8 := p_party_rec.ATTRIBUTE8;
1134 p_party_hist_tbl(l_count).OLD_ATTRIBUTE9 := NULL;
1135 p_party_hist_tbl(l_count).NEW_ATTRIBUTE9 := p_party_rec.ATTRIBUTE9;
1136 p_party_hist_tbl(l_count).OLD_ATTRIBUTE10 := NULL;
1137 p_party_hist_tbl(l_count).NEW_ATTRIBUTE10 := p_party_rec.ATTRIBUTE10;
1138 p_party_hist_tbl(l_count).OLD_ATTRIBUTE11 := NULL;
1139 p_party_hist_tbl(l_count).NEW_ATTRIBUTE11 := p_party_rec.ATTRIBUTE11;
1140 p_party_hist_tbl(l_count).OLD_ATTRIBUTE12 := NULL;
1141 p_party_hist_tbl(l_count).NEW_ATTRIBUTE12 := p_party_rec.ATTRIBUTE12;
1142 p_party_hist_tbl(l_count).OLD_ATTRIBUTE13 := NULL;
1143 p_party_hist_tbl(l_count).NEW_ATTRIBUTE13 := p_party_rec.ATTRIBUTE13;
1144 p_party_hist_tbl(l_count).OLD_ATTRIBUTE14 := NULL;
1145 p_party_hist_tbl(l_count).NEW_ATTRIBUTE14 := p_party_rec.ATTRIBUTE14;
1146 p_party_hist_tbl(l_count).OLD_ATTRIBUTE15 := NULL;
1147 p_party_hist_tbl(l_count).NEW_ATTRIBUTE15 := p_party_rec.ATTRIBUTE15;
1148 p_party_hist_tbl(l_count).OLD_PRIMARY_FLAG := NULL;
1149 p_party_hist_tbl(l_count).NEW_PRIMARY_FLAG := p_party_rec.PRIMARY_FLAG;
1150 p_party_hist_tbl(l_count).OLD_PREFERRED_FLAG := NULL;
1151 p_party_hist_tbl(l_count).NEW_PREFERRED_FLAG := p_party_rec.PREFERRED_FLAG;
1152 END Build_Party_History;
1153 --
1154 PROCEDURE Build_Account_History
1155 ( p_acct_hist_tbl IN OUT NOCOPY csi_datastructures_pub.account_history_tbl
1156 ,p_acct_rec IN csi_datastructures_pub.party_account_rec
1157 ,p_txn_id IN NUMBER
1158 ) IS
1159 --
1160 l_count NUMBER;
1161 l_hist_id NUMBER;
1162 BEGIN
1163 l_count := p_acct_hist_tbl.count + 1;
1164 select CSI_IP_ACCOUNTS_H_S.nextval
1165 into l_hist_id
1166 from sys.dual;
1167 --
1168 p_acct_hist_tbl(l_count).IP_ACCOUNT_HISTORY_ID := l_hist_id;
1169 p_acct_hist_tbl(l_count).IP_ACCOUNT_ID := p_acct_rec.IP_ACCOUNT_ID;
1170 p_acct_hist_tbl(l_count).TRANSACTION_ID := p_txn_id;
1171 p_acct_hist_tbl(l_count).OLD_PARTY_ACCOUNT_ID := NULL;
1172 p_acct_hist_tbl(l_count).NEW_PARTY_ACCOUNT_ID := p_acct_rec.PARTY_ACCOUNT_ID;
1173 p_acct_hist_tbl(l_count).OLD_RELATIONSHIP_TYPE_CODE := NULL;
1174 p_acct_hist_tbl(l_count).NEW_RELATIONSHIP_TYPE_CODE := p_acct_rec.RELATIONSHIP_TYPE_CODE;
1175 p_acct_hist_tbl(l_count).OLD_ACTIVE_START_DATE := NULL;
1176 p_acct_hist_tbl(l_count).NEW_ACTIVE_START_DATE := p_acct_rec.ACTIVE_START_DATE;
1177 p_acct_hist_tbl(l_count).OLD_ACTIVE_END_DATE := NULL;
1178 p_acct_hist_tbl(l_count).NEW_ACTIVE_END_DATE := p_acct_rec.ACTIVE_END_DATE;
1179 p_acct_hist_tbl(l_count).OLD_CONTEXT := NULL;
1180 p_acct_hist_tbl(l_count).NEW_CONTEXT := p_acct_rec.CONTEXT;
1181 p_acct_hist_tbl(l_count).OLD_ATTRIBUTE1 := NULL;
1182 p_acct_hist_tbl(l_count).NEW_ATTRIBUTE1 := p_acct_rec.ATTRIBUTE1;
1183 p_acct_hist_tbl(l_count).OLD_ATTRIBUTE2 := NULL;
1184 p_acct_hist_tbl(l_count).NEW_ATTRIBUTE2 := p_acct_rec.ATTRIBUTE2;
1185 p_acct_hist_tbl(l_count).OLD_ATTRIBUTE3 := NULL;
1186 p_acct_hist_tbl(l_count).NEW_ATTRIBUTE3 := p_acct_rec.ATTRIBUTE3;
1187 p_acct_hist_tbl(l_count).OLD_ATTRIBUTE4 := NULL;
1188 p_acct_hist_tbl(l_count).NEW_ATTRIBUTE4 := p_acct_rec.ATTRIBUTE4;
1189 p_acct_hist_tbl(l_count).OLD_ATTRIBUTE5 := NULL;
1190 p_acct_hist_tbl(l_count).NEW_ATTRIBUTE5 := p_acct_rec.ATTRIBUTE5;
1191 p_acct_hist_tbl(l_count).OLD_ATTRIBUTE6 := NULL;
1192 p_acct_hist_tbl(l_count).NEW_ATTRIBUTE6 := p_acct_rec.ATTRIBUTE6;
1193 p_acct_hist_tbl(l_count).OLD_ATTRIBUTE7 := NULL;
1194 p_acct_hist_tbl(l_count).NEW_ATTRIBUTE7 := p_acct_rec.ATTRIBUTE7;
1195 p_acct_hist_tbl(l_count).OLD_ATTRIBUTE8 := NULL;
1196 p_acct_hist_tbl(l_count).NEW_ATTRIBUTE8 := p_acct_rec.ATTRIBUTE8;
1197 p_acct_hist_tbl(l_count).OLD_ATTRIBUTE9 := NULL;
1198 p_acct_hist_tbl(l_count).NEW_ATTRIBUTE9 := p_acct_rec.ATTRIBUTE9;
1199 p_acct_hist_tbl(l_count).OLD_ATTRIBUTE10 := NULL;
1200 p_acct_hist_tbl(l_count).NEW_ATTRIBUTE10 := p_acct_rec.ATTRIBUTE10;
1201 p_acct_hist_tbl(l_count).OLD_ATTRIBUTE11 := NULL;
1202 p_acct_hist_tbl(l_count).NEW_ATTRIBUTE11 := p_acct_rec.ATTRIBUTE11;
1203 p_acct_hist_tbl(l_count).OLD_ATTRIBUTE12 := NULL;
1204 p_acct_hist_tbl(l_count).NEW_ATTRIBUTE12 := p_acct_rec.ATTRIBUTE12;
1205 p_acct_hist_tbl(l_count).OLD_ATTRIBUTE13 := NULL;
1206 p_acct_hist_tbl(l_count).NEW_ATTRIBUTE13 := p_acct_rec.ATTRIBUTE13;
1207 p_acct_hist_tbl(l_count).OLD_ATTRIBUTE14 := NULL;
1208 p_acct_hist_tbl(l_count).NEW_ATTRIBUTE14 := p_acct_rec.ATTRIBUTE14;
1209 p_acct_hist_tbl(l_count).OLD_ATTRIBUTE15 := NULL;
1210 p_acct_hist_tbl(l_count).NEW_ATTRIBUTE15 := p_acct_rec.ATTRIBUTE15;
1211 p_acct_hist_tbl(l_count).OLD_BILL_TO_ADDRESS := NULL;
1212 p_acct_hist_tbl(l_count).NEW_BILL_TO_ADDRESS := p_acct_rec.BILL_TO_ADDRESS;
1213 p_acct_hist_tbl(l_count).OLD_SHIP_TO_ADDRESS := NULL;
1214 p_acct_hist_tbl(l_count).NEW_SHIP_TO_ADDRESS := p_acct_rec.SHIP_TO_ADDRESS;
1215 END Build_Account_History;
1216 --
1217 PROCEDURE Build_Org_History
1218 (
1219 p_org_hist_tbl IN OUT NOCOPY csi_datastructures_pub.org_units_history_tbl
1220 ,p_org_rec IN csi_datastructures_pub.organization_units_rec
1221 ,p_txn_id IN NUMBER
1222 ) IS
1223 --
1224 l_count NUMBER;
1225 l_hist_id NUMBER;
1226 BEGIN
1227 l_count := p_org_hist_tbl.count + 1;
1228 select CSI_I_ORG_ASSIGNMENTS_H_S.nextval
1229 into l_hist_id
1230 from sys.dual;
1231
1232 p_org_hist_tbl(l_count).instance_ou_history_id := l_hist_id;
1233 p_org_hist_tbl(l_count).instance_ou_id := p_org_rec.instance_ou_id;
1234 p_org_hist_tbl(l_count).transaction_id := p_txn_id;
1235 p_org_hist_tbl(l_count).old_operating_unit_id := NULL;
1236 p_org_hist_tbl(l_count).new_operating_unit_id := p_org_rec.operating_unit_id;
1237 p_org_hist_tbl(l_count).old_relationship_type_code := NULL;
1238 p_org_hist_tbl(l_count).new_relationship_type_code := p_org_rec.relationship_type_code;
1239 p_org_hist_tbl(l_count).old_active_start_date := NULL;
1240 p_org_hist_tbl(l_count).new_active_start_date := p_org_rec.active_start_date;
1241 p_org_hist_tbl(l_count).old_active_end_date := NULL;
1242 p_org_hist_tbl(l_count).new_active_end_date := p_org_rec.active_end_date;
1243 p_org_hist_tbl(l_count).old_context := NULL;
1244 p_org_hist_tbl(l_count).new_context := p_org_rec.context;
1245 p_org_hist_tbl(l_count).old_attribute1 := NULL;
1246 p_org_hist_tbl(l_count).new_attribute1 := p_org_rec.attribute1;
1247 p_org_hist_tbl(l_count).old_attribute2 := NULL;
1248 p_org_hist_tbl(l_count).new_attribute2 := p_org_rec.attribute2;
1249 p_org_hist_tbl(l_count).old_attribute3 := NULL;
1250 p_org_hist_tbl(l_count).new_attribute3 := p_org_rec.attribute3;
1251 p_org_hist_tbl(l_count).old_attribute4 := NULL;
1252 p_org_hist_tbl(l_count).new_attribute4 := p_org_rec.attribute4;
1253 p_org_hist_tbl(l_count).old_attribute5 := NULL;
1254 p_org_hist_tbl(l_count).new_attribute5 := p_org_rec.attribute5;
1258 p_org_hist_tbl(l_count).new_attribute7 := p_org_rec.attribute7;
1255 p_org_hist_tbl(l_count).old_attribute6 := NULL;
1256 p_org_hist_tbl(l_count).new_attribute6 := p_org_rec.attribute6;
1257 p_org_hist_tbl(l_count).old_attribute7 := NULL;
1259 p_org_hist_tbl(l_count).old_attribute8 := NULL;
1260 p_org_hist_tbl(l_count).new_attribute8 := p_org_rec.attribute8;
1261 p_org_hist_tbl(l_count).old_attribute9 := NULL;
1262 p_org_hist_tbl(l_count).new_attribute9 := p_org_rec.attribute9;
1263 p_org_hist_tbl(l_count).old_attribute10 := NULL;
1264 p_org_hist_tbl(l_count).new_attribute10 := p_org_rec.attribute10;
1265 p_org_hist_tbl(l_count).old_attribute11 := NULL;
1266 p_org_hist_tbl(l_count).new_attribute11 := p_org_rec.attribute11;
1267 p_org_hist_tbl(l_count).old_attribute12 := NULL;
1268 p_org_hist_tbl(l_count).new_attribute12 := p_org_rec.attribute12;
1269 p_org_hist_tbl(l_count).old_attribute13 := NULL;
1270 p_org_hist_tbl(l_count).new_attribute13 := p_org_rec.attribute13;
1271 p_org_hist_tbl(l_count).old_attribute14 := NULL;
1272 p_org_hist_tbl(l_count).new_attribute14 := p_org_rec.attribute14;
1273 p_org_hist_tbl(l_count).old_attribute15 := NULL;
1274 p_org_hist_tbl(l_count).new_attribute15 := p_org_rec.attribute15;
1275 END Build_Org_History;
1276 --
1277 PROCEDURE Build_Pricing_History
1278 (
1279 p_pricing_hist_tbl IN OUT NOCOPY csi_datastructures_pub.pricing_history_tbl
1280 ,p_pricing_rec IN csi_datastructures_pub.pricing_attribs_rec
1281 ,p_txn_id IN NUMBER
1282 ) IS
1283 --
1284 l_count NUMBER;
1285 l_hist_id NUMBER;
1286 BEGIN
1287 l_count := p_pricing_hist_tbl.count + 1;
1288 select CSI_I_PRICING_ATTRIBS_H_S.nextval
1289 into l_hist_id
1290 from sys.dual;
1291
1292 p_pricing_hist_tbl(l_count).PRICE_ATTRIB_HISTORY_ID := l_hist_id;
1293 p_pricing_hist_tbl(l_count).PRICING_ATTRIBUTE_ID := p_pricing_rec.pricing_attribute_id;
1294 p_pricing_hist_tbl(l_count).TRANSACTION_ID := p_txn_id;
1295 p_pricing_hist_tbl(l_count).OLD_PRICING_CONTEXT := NULL;
1296 p_pricing_hist_tbl(l_count).NEW_PRICING_CONTEXT := p_pricing_rec.pricing_context;
1297 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE1 := NULL;
1298 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE1 := p_pricing_rec.pricing_attribute1;
1299 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE2 := NULL;
1300 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE2 := p_pricing_rec.pricing_attribute2;
1301 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE3 := NULL;
1302 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE3 := p_pricing_rec.pricing_attribute3;
1303 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE4 := NULL;
1304 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE4 := p_pricing_rec.pricing_attribute4;
1305 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE5 := NULL;
1306 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE5 := p_pricing_rec.pricing_attribute5;
1307 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE6 := NULL;
1308 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE6 := p_pricing_rec.pricing_attribute6;
1309 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE7 := NULL;
1310 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE7 := p_pricing_rec.pricing_attribute7;
1311 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE8 := NULL;
1312 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE8 := p_pricing_rec.pricing_attribute8;
1313 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE9 := NULL;
1314 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE9 := p_pricing_rec.pricing_attribute9;
1315 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE10 := NULL;
1316 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE10 := p_pricing_rec.pricing_attribute10;
1317 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE11 := NULL;
1318 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE11 := p_pricing_rec.pricing_attribute11;
1319 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE12 := NULL;
1320 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE12 := p_pricing_rec.pricing_attribute12;
1321 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE13 := NULL;
1322 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE13 := p_pricing_rec.pricing_attribute13;
1323 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE14 := NULL;
1324 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE14 := p_pricing_rec.pricing_attribute14;
1325 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE15 := NULL;
1326 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE15 := p_pricing_rec.pricing_attribute15;
1327 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE16 := NULL;
1328 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE16 := p_pricing_rec.pricing_attribute16;
1329 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE17 := NULL;
1330 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE17 := p_pricing_rec.pricing_attribute17;
1331 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE18 := NULL;
1332 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE18 := p_pricing_rec.pricing_attribute18;
1333 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE19 := NULL;
1334 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE19 := p_pricing_rec.pricing_attribute19;
1335 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE20 := NULL;
1336 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE20 := p_pricing_rec.pricing_attribute20;
1337 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE21 := NULL;
1341 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE23 := NULL;
1338 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE21 := p_pricing_rec.pricing_attribute21;
1339 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE22 := NULL;
1340 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE22 := p_pricing_rec.pricing_attribute22;
1342 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE23 := p_pricing_rec.pricing_attribute23;
1343 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE24 := NULL;
1344 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE24 := p_pricing_rec.pricing_attribute24;
1345 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE25 := NULL;
1346 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE25 := p_pricing_rec.pricing_attribute25;
1347 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE26 := NULL;
1348 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE26 := p_pricing_rec.pricing_attribute26;
1349 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE27 := NULL;
1350 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE27 := p_pricing_rec.pricing_attribute27;
1351 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE28 := NULL;
1352 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE28 := p_pricing_rec.pricing_attribute28;
1353 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE29 := NULL;
1354 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE29 := p_pricing_rec.pricing_attribute29;
1355 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE30 := NULL;
1356 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE30 := p_pricing_rec.pricing_attribute30;
1357 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE31 := NULL;
1358 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE31 := p_pricing_rec.pricing_attribute31;
1359 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE32 := NULL;
1360 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE32 := p_pricing_rec.pricing_attribute32;
1361 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE33 := NULL;
1362 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE33 := p_pricing_rec.pricing_attribute33;
1363 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE34 := NULL;
1364 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE34 := p_pricing_rec.pricing_attribute34;
1365 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE35 := NULL;
1366 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE35 := p_pricing_rec.pricing_attribute35;
1367 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE36 := NULL;
1368 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE36 := p_pricing_rec.pricing_attribute36;
1369 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE37 := NULL;
1370 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE37 := p_pricing_rec.pricing_attribute37;
1371 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE38 := NULL;
1372 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE38 := p_pricing_rec.pricing_attribute38;
1373 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE39 := NULL;
1374 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE39 := p_pricing_rec.pricing_attribute39;
1375 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE40 := NULL;
1376 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE40 := p_pricing_rec.pricing_attribute40;
1377 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE41 := NULL;
1378 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE41 := p_pricing_rec.pricing_attribute41;
1379 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE42 := NULL;
1380 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE42 := p_pricing_rec.pricing_attribute42;
1381 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE43 := NULL;
1382 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE43 := p_pricing_rec.pricing_attribute43;
1383 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE44 := NULL;
1384 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE44 := p_pricing_rec.pricing_attribute44;
1385 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE45 := NULL;
1386 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE45 := p_pricing_rec.pricing_attribute45;
1387 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE46 := NULL;
1388 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE46 := p_pricing_rec.pricing_attribute46;
1389 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE47 := NULL;
1390 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE47 := p_pricing_rec.pricing_attribute47;
1391 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE48 := NULL;
1392 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE48 := p_pricing_rec.pricing_attribute48;
1393 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE49 := NULL;
1394 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE49 := p_pricing_rec.pricing_attribute49;
1395 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE50 := NULL;
1396 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE50 := p_pricing_rec.pricing_attribute50;
1397 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE51 := NULL;
1398 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE51 := p_pricing_rec.pricing_attribute51;
1399 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE52 := NULL;
1400 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE52 := p_pricing_rec.pricing_attribute52;
1401 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE53 := NULL;
1402 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE53 := p_pricing_rec.pricing_attribute53;
1403 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE54 := NULL;
1404 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE54 := p_pricing_rec.pricing_attribute54;
1405 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE55 := NULL;
1406 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE55 := p_pricing_rec.pricing_attribute55;
1410 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE57 := p_pricing_rec.pricing_attribute57;
1407 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE56 := NULL;
1408 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE56 := p_pricing_rec.pricing_attribute56;
1409 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE57 := NULL;
1411 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE58 := NULL;
1412 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE58 := p_pricing_rec.pricing_attribute58;
1413 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE59 := NULL;
1414 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE59 := p_pricing_rec.pricing_attribute59;
1415 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE60 := NULL;
1416 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE60 := p_pricing_rec.pricing_attribute60;
1417 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE61 := NULL;
1418 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE61 := p_pricing_rec.pricing_attribute61;
1419 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE62 := NULL;
1420 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE62 := p_pricing_rec.pricing_attribute62;
1421 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE63 := NULL;
1422 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE63 := p_pricing_rec.pricing_attribute63;
1423 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE64 := NULL;
1424 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE64 := p_pricing_rec.pricing_attribute64;
1425 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE65 := NULL;
1426 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE65 := p_pricing_rec.pricing_attribute65;
1427 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE66 := NULL;
1428 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE66 := p_pricing_rec.pricing_attribute66;
1429 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE67 := NULL;
1430 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE67 := p_pricing_rec.pricing_attribute67;
1431 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE68 := NULL;
1432 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE68 := p_pricing_rec.pricing_attribute68;
1433 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE69 := NULL;
1434 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE69 := p_pricing_rec.pricing_attribute69;
1435 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE70 := NULL;
1436 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE70 := p_pricing_rec.pricing_attribute70;
1437 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE71 := NULL;
1438 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE71 := p_pricing_rec.pricing_attribute71;
1439 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE72 := NULL;
1440 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE72 := p_pricing_rec.pricing_attribute72;
1441 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE73 := NULL;
1442 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE73 := p_pricing_rec.pricing_attribute73;
1443 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE74 := NULL;
1444 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE74 := p_pricing_rec.pricing_attribute74;
1445 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE75 := NULL;
1446 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE75 := p_pricing_rec.pricing_attribute75;
1447 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE76 := NULL;
1448 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE76 := p_pricing_rec.pricing_attribute76;
1449 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE77 := NULL;
1450 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE77 := p_pricing_rec.pricing_attribute77;
1451 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE78 := NULL;
1452 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE78 := p_pricing_rec.pricing_attribute78;
1453 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE79 := NULL;
1454 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE79 := p_pricing_rec.pricing_attribute79;
1455 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE80 := NULL;
1456 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE80 := p_pricing_rec.pricing_attribute80;
1457 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE81 := NULL;
1458 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE81 := p_pricing_rec.pricing_attribute81;
1459 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE82 := NULL;
1460 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE82 := p_pricing_rec.pricing_attribute82;
1461 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE83 := NULL;
1462 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE83 := p_pricing_rec.pricing_attribute83;
1463 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE84 := NULL;
1464 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE84 := p_pricing_rec.pricing_attribute84;
1465 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE85 := NULL;
1466 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE85 := p_pricing_rec.pricing_attribute85;
1467 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE86 := NULL;
1468 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE86 := p_pricing_rec.pricing_attribute86;
1469 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE87 := NULL;
1470 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE87 := p_pricing_rec.pricing_attribute87;
1471 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE88 := NULL;
1472 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE88 := p_pricing_rec.pricing_attribute88;
1473 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE89 := NULL;
1474 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE89 := p_pricing_rec.pricing_attribute89;
1475 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE90 := NULL;
1476 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE90 := p_pricing_rec.pricing_attribute90;
1477 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE91 := NULL;
1478 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE91 := p_pricing_rec.pricing_attribute91;
1479 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE92 := NULL;
1480 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE92 := p_pricing_rec.pricing_attribute92;
1481 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE93 := NULL;
1482 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE93 := p_pricing_rec.pricing_attribute93;
1483 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE94 := NULL;
1484 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE94 := p_pricing_rec.pricing_attribute94;
1485 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE95 := NULL;
1486 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE95 := p_pricing_rec.pricing_attribute95;
1487 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE96 := NULL;
1488 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE96 := p_pricing_rec.pricing_attribute96;
1489 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE97 := NULL;
1490 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE97 := p_pricing_rec.pricing_attribute97;
1491 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE98 := NULL;
1492 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE98 := p_pricing_rec.pricing_attribute98;
1493 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE99 := NULL;
1494 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE99 := p_pricing_rec.pricing_attribute99;
1495 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE100 := NULL;
1496 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE100 := p_pricing_rec.pricing_attribute100;
1497 p_pricing_hist_tbl(l_count).OLD_ACTIVE_START_DATE := NULL;
1498 p_pricing_hist_tbl(l_count).NEW_ACTIVE_START_DATE := p_pricing_rec.active_start_date;
1499 p_pricing_hist_tbl(l_count).OLD_ACTIVE_END_DATE := NULL;
1500 p_pricing_hist_tbl(l_count).NEW_ACTIVE_END_DATE := p_pricing_rec.active_end_date;
1501 p_pricing_hist_tbl(l_count).OLD_CONTEXT := NULL;
1502 p_pricing_hist_tbl(l_count).NEW_CONTEXT := p_pricing_rec.context;
1503 p_pricing_hist_tbl(l_count).OLD_ATTRIBUTE1 := NULL;
1504 p_pricing_hist_tbl(l_count).NEW_ATTRIBUTE1 := p_pricing_rec.ATTRIBUTE1;
1505 p_pricing_hist_tbl(l_count).OLD_ATTRIBUTE2 := NULL;
1506 p_pricing_hist_tbl(l_count).NEW_ATTRIBUTE2 := p_pricing_rec.ATTRIBUTE2;
1507 p_pricing_hist_tbl(l_count).OLD_ATTRIBUTE3 := NULL;
1508 p_pricing_hist_tbl(l_count).NEW_ATTRIBUTE3 := p_pricing_rec.ATTRIBUTE3;
1509 p_pricing_hist_tbl(l_count).OLD_ATTRIBUTE4 := NULL;
1510 p_pricing_hist_tbl(l_count).NEW_ATTRIBUTE4 := p_pricing_rec.ATTRIBUTE4;
1511 p_pricing_hist_tbl(l_count).OLD_ATTRIBUTE5 := NULL;
1512 p_pricing_hist_tbl(l_count).NEW_ATTRIBUTE5 := p_pricing_rec.ATTRIBUTE5;
1513 p_pricing_hist_tbl(l_count).OLD_ATTRIBUTE6 := NULL;
1514 p_pricing_hist_tbl(l_count).NEW_ATTRIBUTE6 := p_pricing_rec.ATTRIBUTE6;
1515 p_pricing_hist_tbl(l_count).OLD_ATTRIBUTE7 := NULL;
1516 p_pricing_hist_tbl(l_count).NEW_ATTRIBUTE7 := p_pricing_rec.ATTRIBUTE7;
1517 p_pricing_hist_tbl(l_count).OLD_ATTRIBUTE8 := NULL;
1518 p_pricing_hist_tbl(l_count).NEW_ATTRIBUTE8 := p_pricing_rec.ATTRIBUTE8;
1519 p_pricing_hist_tbl(l_count).OLD_ATTRIBUTE9 := NULL;
1520 p_pricing_hist_tbl(l_count).NEW_ATTRIBUTE9 := p_pricing_rec.ATTRIBUTE9;
1521 p_pricing_hist_tbl(l_count).OLD_ATTRIBUTE10 := NULL;
1522 p_pricing_hist_tbl(l_count).NEW_ATTRIBUTE10 := p_pricing_rec.ATTRIBUTE10;
1523 p_pricing_hist_tbl(l_count).OLD_ATTRIBUTE11 := NULL;
1524 p_pricing_hist_tbl(l_count).NEW_ATTRIBUTE11 := p_pricing_rec.ATTRIBUTE11;
1525 p_pricing_hist_tbl(l_count).OLD_ATTRIBUTE12 := NULL;
1526 p_pricing_hist_tbl(l_count).NEW_ATTRIBUTE12 := p_pricing_rec.ATTRIBUTE12;
1527 p_pricing_hist_tbl(l_count).OLD_ATTRIBUTE13 := NULL;
1528 p_pricing_hist_tbl(l_count).NEW_ATTRIBUTE13 := p_pricing_rec.ATTRIBUTE13;
1529 p_pricing_hist_tbl(l_count).OLD_ATTRIBUTE14 := NULL;
1530 p_pricing_hist_tbl(l_count).NEW_ATTRIBUTE14 := p_pricing_rec.ATTRIBUTE14;
1531 p_pricing_hist_tbl(l_count).OLD_ATTRIBUTE15 := NULL;
1532 p_pricing_hist_tbl(l_count).NEW_ATTRIBUTE15 := p_pricing_rec.ATTRIBUTE15;
1533 END Build_Pricing_History;
1534 --
1535 PROCEDURE Build_Ext_Attr_History
1536 (
1537 p_ext_attr_hist_tbl IN OUT NOCOPY csi_datastructures_pub.ext_attrib_val_history_tbl
1538 ,p_ext_attr_rec IN csi_datastructures_pub.extend_attrib_values_rec
1539 ,p_txn_id IN NUMBER
1540 ) IS
1541 --
1542 l_count NUMBER;
1543 l_hist_id NUMBER;
1544 BEGIN
1545 l_count := p_ext_attr_hist_tbl.count + 1;
1546 select CSI_IEA_VALUES_H_S.nextval
1547 into l_hist_id
1548 from sys.dual;
1549
1550 p_ext_attr_hist_tbl(l_count).attribute_value_history_id := l_hist_id;
1551 p_ext_attr_hist_tbl(l_count).attribute_value_id := p_ext_attr_rec.attribute_value_id;
1552 p_ext_attr_hist_tbl(l_count).transaction_id := p_txn_id;
1553 p_ext_attr_hist_tbl(l_count).old_attribute_value := NULL;
1554 p_ext_attr_hist_tbl(l_count).new_attribute_value := p_ext_attr_rec.attribute_value;
1555 p_ext_attr_hist_tbl(l_count).old_active_start_date := NULL;
1556 p_ext_attr_hist_tbl(l_count).new_active_start_date := p_ext_attr_rec.active_start_date;
1557 p_ext_attr_hist_tbl(l_count).old_active_end_date := NULL;
1558 p_ext_attr_hist_tbl(l_count).new_active_end_date := p_ext_attr_rec.active_end_date;
1559 p_ext_attr_hist_tbl(l_count).old_context := NULL;
1560 p_ext_attr_hist_tbl(l_count).new_context := p_ext_attr_rec.context;
1561 p_ext_attr_hist_tbl(l_count).old_attribute1 := NULL;
1562 p_ext_attr_hist_tbl(l_count).new_attribute1 := p_ext_attr_rec.attribute1;
1563 p_ext_attr_hist_tbl(l_count).old_attribute2 := NULL;
1564 p_ext_attr_hist_tbl(l_count).new_attribute2 := p_ext_attr_rec.attribute2;
1565 p_ext_attr_hist_tbl(l_count).old_attribute3 := NULL;
1566 p_ext_attr_hist_tbl(l_count).new_attribute3 := p_ext_attr_rec.attribute3;
1567 p_ext_attr_hist_tbl(l_count).old_attribute4 := NULL;
1568 p_ext_attr_hist_tbl(l_count).new_attribute4 := p_ext_attr_rec.attribute4;
1569 p_ext_attr_hist_tbl(l_count).old_attribute5 := NULL;
1570 p_ext_attr_hist_tbl(l_count).new_attribute5 := p_ext_attr_rec.attribute5;
1571 p_ext_attr_hist_tbl(l_count).old_attribute6 := NULL;
1572 p_ext_attr_hist_tbl(l_count).new_attribute6 := p_ext_attr_rec.attribute6;
1573 p_ext_attr_hist_tbl(l_count).old_attribute7 := NULL;
1574 p_ext_attr_hist_tbl(l_count).new_attribute7 := p_ext_attr_rec.attribute7;
1575 p_ext_attr_hist_tbl(l_count).old_attribute8 := NULL;
1576 p_ext_attr_hist_tbl(l_count).new_attribute8 := p_ext_attr_rec.attribute8;
1577 p_ext_attr_hist_tbl(l_count).old_attribute9 := NULL;
1578 p_ext_attr_hist_tbl(l_count).new_attribute9 := p_ext_attr_rec.attribute9;
1579 p_ext_attr_hist_tbl(l_count).old_attribute10 := NULL;
1580 p_ext_attr_hist_tbl(l_count).new_attribute10 := p_ext_attr_rec.attribute10;
1581 p_ext_attr_hist_tbl(l_count).old_attribute11 := NULL;
1582 p_ext_attr_hist_tbl(l_count).new_attribute11 := p_ext_attr_rec.attribute11;
1583 p_ext_attr_hist_tbl(l_count).old_attribute12 := NULL;
1584 p_ext_attr_hist_tbl(l_count).new_attribute12 := p_ext_attr_rec.attribute12;
1585 p_ext_attr_hist_tbl(l_count).old_attribute13 := NULL;
1586 p_ext_attr_hist_tbl(l_count).new_attribute13 := p_ext_attr_rec.attribute13;
1587 p_ext_attr_hist_tbl(l_count).old_attribute14 := NULL;
1588 p_ext_attr_hist_tbl(l_count).new_attribute14 := p_ext_attr_rec.attribute14;
1589 p_ext_attr_hist_tbl(l_count).old_attribute15 := NULL;
1590 p_ext_attr_hist_tbl(l_count).new_attribute15 := p_ext_attr_rec.attribute15;
1591 p_ext_attr_hist_tbl(l_count).attribute_code := p_ext_attr_rec.attribute_code;
1592
1593 END Build_Ext_Attr_History;
1594 --
1595 PROCEDURE Build_Asset_History
1596 (
1597 p_asset_hist_tbl IN OUT NOCOPY csi_datastructures_pub.ins_asset_history_tbl
1598 ,p_asset_rec IN csi_datastructures_pub.instance_asset_rec
1599 ,p_txn_id IN NUMBER
1600 ) IS
1601 --
1602 l_count NUMBER;
1603 l_hist_id NUMBER;
1604 BEGIN
1605 l_count := p_asset_hist_tbl.count + 1;
1606 select CSI_I_ASSETS_H_S.nextval
1607 into l_hist_id
1608 from sys.dual;
1609
1610 p_asset_hist_tbl(l_count).instance_asset_history_id := l_hist_id;
1611 p_asset_hist_tbl(l_count).transaction_id := p_txn_id;
1612 p_asset_hist_tbl(l_count).instance_asset_id := p_asset_rec.instance_asset_id;
1613 p_asset_hist_tbl(l_count).old_instance_id := NULL;
1614 p_asset_hist_tbl(l_count).new_instance_id := p_asset_rec.instance_id;
1615 p_asset_hist_tbl(l_count).old_fa_asset_id := NULL;
1616 p_asset_hist_tbl(l_count).new_fa_asset_id := p_asset_rec.fa_asset_id;
1617 p_asset_hist_tbl(l_count).old_fa_book_type_code := NULL;
1618 p_asset_hist_tbl(l_count).new_fa_book_type_code := p_asset_rec.fa_book_type_code;
1619 p_asset_hist_tbl(l_count).old_fa_location_id := NULL;
1620 p_asset_hist_tbl(l_count).new_fa_location_id := p_asset_rec.fa_location_id;
1621 p_asset_hist_tbl(l_count).old_asset_quantity := NULL;
1622 p_asset_hist_tbl(l_count).new_asset_quantity := p_asset_rec.asset_quantity;
1623 p_asset_hist_tbl(l_count).old_update_status := NULL;
1624 p_asset_hist_tbl(l_count).new_update_status := p_asset_rec.update_status;
1625 p_asset_hist_tbl(l_count).old_active_start_date := NULL;
1626 p_asset_hist_tbl(l_count).new_active_start_date := p_asset_rec.active_start_date;
1627 p_asset_hist_tbl(l_count).old_active_end_date := NULL;
1628 p_asset_hist_tbl(l_count).new_active_end_date := p_asset_rec.active_end_date;
1629
1630 END Build_Asset_History;
1631 --
1632 PROCEDURE Build_Inst_Rec_of_Table
1633 (
1634 p_inst_tbl IN csi_datastructures_pub.instance_tbl
1635 ,p_inst_rec_tab IN OUT NOCOPY csi_item_instance_grp.instance_rec_tab
1636 ) IS
1637 BEGIN
1638 FOR i in p_inst_tbl.FIRST .. p_inst_tbl.LAST LOOP
1639 p_inst_rec_tab.INSTANCE_ID(i) := p_inst_tbl(i).INSTANCE_ID;
1640 p_inst_rec_tab.instance_number(i) := p_inst_tbl(i).instance_number;
1641 p_inst_rec_tab.external_reference(i) := p_inst_tbl(i).external_reference;
1642 p_inst_rec_tab.inventory_item_id(i) := p_inst_tbl(i).inventory_item_id;
1643 p_inst_rec_tab.vld_organization_id(i) := p_inst_tbl(i).vld_organization_id;
1644 p_inst_rec_tab.inventory_revision(i) := p_inst_tbl(i).inventory_revision;
1645 p_inst_rec_tab.inv_master_organization_id(i) := p_inst_tbl(i).inv_master_organization_id;
1646 p_inst_rec_tab.serial_number(i) := p_inst_tbl(i).serial_number;
1647 p_inst_rec_tab.mfg_serial_number_flag(i) := p_inst_tbl(i).mfg_serial_number_flag;
1648 p_inst_rec_tab.lot_number(i) := p_inst_tbl(i).lot_number;
1649 p_inst_rec_tab.quantity(i) := p_inst_tbl(i).quantity;
1650 p_inst_rec_tab.unit_of_measure(i) := p_inst_tbl(i).unit_of_measure;
1651 p_inst_rec_tab.accounting_class_code(i) := p_inst_tbl(i).accounting_class_code;
1652 p_inst_rec_tab.instance_condition_id(i) := p_inst_tbl(i).instance_condition_id;
1653 p_inst_rec_tab.instance_status_id(i) := p_inst_tbl(i).instance_status_id;
1654 p_inst_rec_tab.customer_view_flag(i) := p_inst_tbl(i).customer_view_flag;
1655 p_inst_rec_tab.merchant_view_flag(i) := p_inst_tbl(i).merchant_view_flag;
1656 p_inst_rec_tab.sellable_flag(i) := p_inst_tbl(i).sellable_flag;
1657 p_inst_rec_tab.system_id(i) := p_inst_tbl(i).system_id;
1658 p_inst_rec_tab.instance_type_code(i) := p_inst_tbl(i).instance_type_code;
1659 p_inst_rec_tab.active_start_date(i) := p_inst_tbl(i).active_start_date;
1660 p_inst_rec_tab.active_end_date(i) := p_inst_tbl(i).active_end_date;
1661 p_inst_rec_tab.location_type_code(i) := p_inst_tbl(i).location_type_code;
1662 p_inst_rec_tab.location_id(i) := p_inst_tbl(i).location_id;
1663 p_inst_rec_tab.inv_organization_id(i) := p_inst_tbl(i).inv_organization_id;
1664 p_inst_rec_tab.inv_subinventory_name(i) := p_inst_tbl(i).inv_subinventory_name;
1665 p_inst_rec_tab.inv_locator_id(i) := p_inst_tbl(i).inv_locator_id;
1666 p_inst_rec_tab.pa_project_id(i) := p_inst_tbl(i).pa_project_id;
1667 p_inst_rec_tab.pa_project_task_id(i) := p_inst_tbl(i).pa_project_task_id;
1668 p_inst_rec_tab.in_transit_order_line_id(i) := p_inst_tbl(i).in_transit_order_line_id;
1669 p_inst_rec_tab.wip_job_id(i) := p_inst_tbl(i).wip_job_id;
1670 p_inst_rec_tab.po_order_line_id(i) := p_inst_tbl(i).po_order_line_id;
1671 p_inst_rec_tab.last_oe_order_line_id(i) := p_inst_tbl(i).last_oe_order_line_id;
1672 p_inst_rec_tab.last_oe_rma_line_id(i) := p_inst_tbl(i).last_oe_rma_line_id;
1673 p_inst_rec_tab.last_po_po_line_id(i) := p_inst_tbl(i).last_po_po_line_id;
1674 p_inst_rec_tab.last_oe_po_number(i) := p_inst_tbl(i).last_oe_po_number;
1675 p_inst_rec_tab.last_wip_job_id(i) := p_inst_tbl(i).last_wip_job_id;
1676 p_inst_rec_tab.last_pa_project_id(i) := p_inst_tbl(i).last_pa_project_id;
1677 p_inst_rec_tab.last_pa_task_id(i) := p_inst_tbl(i).last_pa_task_id;
1678 p_inst_rec_tab.last_oe_agreement_id(i) := p_inst_tbl(i).last_oe_agreement_id;
1679 p_inst_rec_tab.install_date(i) := p_inst_tbl(i).install_date;
1680 p_inst_rec_tab.manually_created_flag(i) := p_inst_tbl(i).manually_created_flag;
1681 p_inst_rec_tab.return_by_date(i) := p_inst_tbl(i).return_by_date;
1682 p_inst_rec_tab.actual_return_date(i) := p_inst_tbl(i).actual_return_date;
1683 p_inst_rec_tab.creation_complete_flag(i) := p_inst_tbl(i).creation_complete_flag;
1684 p_inst_rec_tab.completeness_flag(i) := p_inst_tbl(i).completeness_flag;
1685 p_inst_rec_tab.version_label(i) := p_inst_tbl(i).version_label;
1686 p_inst_rec_tab.version_label_description(i) := p_inst_tbl(i).version_label_description;
1687 p_inst_rec_tab.context(i) := p_inst_tbl(i).context;
1688 p_inst_rec_tab.attribute1(i) := p_inst_tbl(i).attribute1;
1689 p_inst_rec_tab.attribute2(i) := p_inst_tbl(i).attribute2;
1690 p_inst_rec_tab.attribute3(i) := p_inst_tbl(i).attribute3;
1691 p_inst_rec_tab.attribute4(i) := p_inst_tbl(i).attribute4;
1692 p_inst_rec_tab.attribute5(i) := p_inst_tbl(i).attribute5;
1693 p_inst_rec_tab.attribute6(i) := p_inst_tbl(i).attribute6;
1694 p_inst_rec_tab.attribute7(i) := p_inst_tbl(i).attribute7;
1695 p_inst_rec_tab.attribute8(i) := p_inst_tbl(i).attribute8;
1696 p_inst_rec_tab.attribute9(i) := p_inst_tbl(i).attribute9;
1697 p_inst_rec_tab.attribute10(i) := p_inst_tbl(i).attribute10;
1698 p_inst_rec_tab.attribute11(i) := p_inst_tbl(i).attribute11;
1699 p_inst_rec_tab.attribute12(i) := p_inst_tbl(i).attribute12;
1700 p_inst_rec_tab.attribute13(i) := p_inst_tbl(i).attribute13;
1701 p_inst_rec_tab.attribute14(i) := p_inst_tbl(i).attribute14;
1702 p_inst_rec_tab.attribute15(i) := p_inst_tbl(i).attribute15;
1703 p_inst_rec_tab.object_version_number(i) := p_inst_tbl(i).object_version_number;
1704 p_inst_rec_tab.last_txn_line_detail_id(i) := p_inst_tbl(i).last_txn_line_detail_id;
1705 p_inst_rec_tab.install_location_type_code(i) := p_inst_tbl(i).install_location_type_code;
1706 p_inst_rec_tab.install_location_id(i) := p_inst_tbl(i).install_location_id;
1707 p_inst_rec_tab.instance_usage_code(i) := p_inst_tbl(i).instance_usage_code;
1708 p_inst_rec_tab.check_for_instance_expiry(i) := p_inst_tbl(i).check_for_instance_expiry;
1709 p_inst_rec_tab.call_contracts(i) := p_inst_tbl(i).call_contracts;
1710 p_inst_rec_tab.grp_call_contracts(i) := p_inst_tbl(i).grp_call_contracts;
1711 p_inst_rec_tab.config_inst_hdr_id(i) := p_inst_tbl(i).config_inst_hdr_id;
1712 p_inst_rec_tab.config_inst_rev_num(i) := p_inst_tbl(i).config_inst_rev_num;
1713 p_inst_rec_tab.config_inst_item_id(i) := p_inst_tbl(i).config_inst_item_id;
1714 p_inst_rec_tab.config_valid_status(i) := p_inst_tbl(i).config_valid_status;
1715 p_inst_rec_tab.instance_description(i) := p_inst_tbl(i).instance_description;
1716
1717 p_inst_rec_tab.network_asset_flag(i) := p_inst_tbl(i).network_asset_flag;
1718 p_inst_rec_tab.maintainable_flag(i) := p_inst_tbl(i).maintainable_flag;
1719 p_inst_rec_tab.asset_criticality_code(i) := p_inst_tbl(i).asset_criticality_code;
1720 p_inst_rec_tab.category_id(i) := p_inst_tbl(i).category_id ;
1721 p_inst_rec_tab.equipment_gen_object_id(i) := p_inst_tbl(i).equipment_gen_object_id ;
1722 p_inst_rec_tab.instantiation_flag(i) := p_inst_tbl(i).instantiation_flag;
1723 p_inst_rec_tab.operational_log_flag(i) := p_inst_tbl(i).operational_log_flag ;
1724 p_inst_rec_tab.supplier_warranty_exp_date(i) := p_inst_tbl(i).supplier_warranty_exp_date ;
1725 p_inst_rec_tab.attribute16(i) := p_inst_tbl(i).attribute16;
1726 p_inst_rec_tab.attribute17(i) := p_inst_tbl(i).attribute17;
1727 p_inst_rec_tab.attribute18(i) := p_inst_tbl(i).attribute18;
1728 p_inst_rec_tab.attribute19(i) := p_inst_tbl(i).attribute19;
1729 p_inst_rec_tab.attribute20(i) := p_inst_tbl(i).attribute20;
1730 p_inst_rec_tab.attribute21(i) := p_inst_tbl(i).attribute21;
1731 p_inst_rec_tab.attribute22(i) := p_inst_tbl(i).attribute22;
1732 p_inst_rec_tab.attribute23(i) := p_inst_tbl(i).attribute23;
1733 p_inst_rec_tab.attribute24(i) := p_inst_tbl(i).attribute24;
1734 p_inst_rec_tab.attribute25(i) := p_inst_tbl(i).attribute25;
1735 p_inst_rec_tab.attribute26(i) := p_inst_tbl(i).attribute26;
1736 p_inst_rec_tab.attribute27(i) := p_inst_tbl(i).attribute27;
1737 p_inst_rec_tab.attribute28(i) := p_inst_tbl(i).attribute28;
1738 p_inst_rec_tab.attribute29(i) := p_inst_tbl(i).attribute29;
1739 p_inst_rec_tab.attribute30(i) := p_inst_tbl(i).attribute30;
1740
1741 p_inst_rec_tab.purchase_unit_price(i) := p_inst_tbl(i).purchase_unit_price;
1742 p_inst_rec_tab.purchase_currency_code(i) := p_inst_tbl(i).purchase_currency_code;
1743 p_inst_rec_tab.payables_unit_price(i) := p_inst_tbl(i).payables_unit_price;
1744 p_inst_rec_tab.payables_currency_code(i) := p_inst_tbl(i).payables_currency_code;
1745 p_inst_rec_tab.sales_unit_price(i) := p_inst_tbl(i).sales_unit_price;
1746 p_inst_rec_tab.sales_currency_code(i) := p_inst_tbl(i).sales_currency_code;
1747 p_inst_rec_tab.operational_status_code(i) := p_inst_tbl(i).operational_status_code;
1748
1749 END LOOP;
1750 END Build_Inst_Rec_of_Table;
1751 --
1752 PROCEDURE Build_Inst_Hist_Rec_of_Table
1753 ( p_inst_hist_tbl IN csi_datastructures_pub.instance_history_tbl
1754 ,p_inst_hist_rec_tab IN OUT NOCOPY csi_item_instance_grp.instance_history_rec_tab
1755 ) IS
1756 BEGIN
1757 FOR i in p_inst_hist_tbl.FIRST .. p_inst_hist_tbl.LAST LOOP
1758 p_inst_hist_rec_tab.instance_id(i) := p_inst_hist_tbl(i).instance_id;
1759 p_inst_hist_rec_tab.old_instance_number(i) := p_inst_hist_tbl(i).old_instance_number;
1760 p_inst_hist_rec_tab.new_instance_number(i) := p_inst_hist_tbl(i).new_instance_number;
1761 p_inst_hist_rec_tab.old_external_reference(i) := p_inst_hist_tbl(i).old_external_reference;
1762 p_inst_hist_rec_tab.new_external_reference(i) := p_inst_hist_tbl(i).new_external_reference;
1763 p_inst_hist_rec_tab.old_inventory_item_id(i) := p_inst_hist_tbl(i).old_inventory_item_id;
1764 p_inst_hist_rec_tab.new_inventory_item_id(i) := p_inst_hist_tbl(i).new_inventory_item_id;
1765 p_inst_hist_rec_tab.old_inventory_revision(i) := p_inst_hist_tbl(i).old_inventory_revision;
1766 p_inst_hist_rec_tab.new_inventory_revision(i) := p_inst_hist_tbl(i).new_inventory_revision;
1767 p_inst_hist_rec_tab.old_inv_master_org_id(i) := p_inst_hist_tbl(i).old_inv_master_org_id;
1768 p_inst_hist_rec_tab.new_inv_master_org_id(i) := p_inst_hist_tbl(i).new_inv_master_org_id;
1769 p_inst_hist_rec_tab.old_serial_number(i) := p_inst_hist_tbl(i).old_serial_number;
1770 p_inst_hist_rec_tab.new_serial_number(i) := p_inst_hist_tbl(i).new_serial_number;
1771 p_inst_hist_rec_tab.old_mfg_serial_number_flag(i) := p_inst_hist_tbl(i).old_mfg_serial_number_flag;
1772 p_inst_hist_rec_tab.new_mfg_serial_number_flag(i) := p_inst_hist_tbl(i).new_mfg_serial_number_flag;
1773 p_inst_hist_rec_tab.old_lot_number(i) := p_inst_hist_tbl(i).old_lot_number;
1774 p_inst_hist_rec_tab.new_lot_number(i) := p_inst_hist_tbl(i).new_lot_number;
1775 p_inst_hist_rec_tab.old_quantity(i) := p_inst_hist_tbl(i).old_quantity;
1776 p_inst_hist_rec_tab.new_quantity(i) := p_inst_hist_tbl(i).new_quantity;
1777 p_inst_hist_rec_tab.old_unit_of_measure_name(i) := p_inst_hist_tbl(i).old_unit_of_measure_name;
1778 p_inst_hist_rec_tab.new_unit_of_measure_name(i) := p_inst_hist_tbl(i).new_unit_of_measure_name;
1779 p_inst_hist_rec_tab.old_unit_of_measure(i) := p_inst_hist_tbl(i).old_unit_of_measure;
1780 p_inst_hist_rec_tab.new_unit_of_measure(i) := p_inst_hist_tbl(i).new_unit_of_measure;
1781 p_inst_hist_rec_tab.old_accounting_class(i) := p_inst_hist_tbl(i).old_accounting_class;
1782 p_inst_hist_rec_tab.new_accounting_class(i) := p_inst_hist_tbl(i).new_accounting_class;
1783 p_inst_hist_rec_tab.old_accounting_class_code(i) := p_inst_hist_tbl(i).old_accounting_class_code;
1784 p_inst_hist_rec_tab.new_accounting_class_code(i) := p_inst_hist_tbl(i).new_accounting_class_code;
1785 p_inst_hist_rec_tab.old_instance_condition(i) := p_inst_hist_tbl(i).old_instance_condition;
1786 p_inst_hist_rec_tab.new_instance_condition(i) := p_inst_hist_tbl(i).new_instance_condition;
1787 p_inst_hist_rec_tab.old_instance_condition_id(i) := p_inst_hist_tbl(i).old_instance_condition_id;
1788 p_inst_hist_rec_tab.new_instance_condition_id(i) := p_inst_hist_tbl(i).new_instance_condition_id;
1789 p_inst_hist_rec_tab.old_instance_status(i) := p_inst_hist_tbl(i).old_instance_status;
1790 p_inst_hist_rec_tab.new_instance_status(i) := p_inst_hist_tbl(i).new_instance_status;
1791 p_inst_hist_rec_tab.old_instance_status_id(i) := p_inst_hist_tbl(i).old_instance_status_id;
1792 p_inst_hist_rec_tab.new_instance_status_id(i) := p_inst_hist_tbl(i).new_instance_status_id;
1793 p_inst_hist_rec_tab.old_customer_view_flag(i) := p_inst_hist_tbl(i).old_customer_view_flag;
1794 p_inst_hist_rec_tab.new_customer_view_flag(i) := p_inst_hist_tbl(i).new_customer_view_flag;
1795 p_inst_hist_rec_tab.old_merchant_view_flag(i) := p_inst_hist_tbl(i).old_merchant_view_flag;
1796 p_inst_hist_rec_tab.new_merchant_view_flag(i) := p_inst_hist_tbl(i).new_merchant_view_flag;
1797 p_inst_hist_rec_tab.old_sellable_flag(i) := p_inst_hist_tbl(i).old_sellable_flag;
1798 p_inst_hist_rec_tab.new_sellable_flag(i) := p_inst_hist_tbl(i).new_sellable_flag;
1799 p_inst_hist_rec_tab.old_system_id(i) := p_inst_hist_tbl(i).old_system_id;
1800 p_inst_hist_rec_tab.new_system_id(i) := p_inst_hist_tbl(i).new_system_id;
1801 p_inst_hist_rec_tab.old_system_name(i) := p_inst_hist_tbl(i).old_system_name;
1802 p_inst_hist_rec_tab.new_system_name(i) := p_inst_hist_tbl(i).new_system_name;
1803 p_inst_hist_rec_tab.old_instance_type_code(i) := p_inst_hist_tbl(i).old_instance_type_code;
1807 p_inst_hist_rec_tab.old_active_start_date(i) := p_inst_hist_tbl(i).old_active_start_date;
1804 p_inst_hist_rec_tab.new_instance_type_code(i) := p_inst_hist_tbl(i).new_instance_type_code;
1805 p_inst_hist_rec_tab.old_instance_type_name(i) := p_inst_hist_tbl(i).old_instance_type_name;
1806 p_inst_hist_rec_tab.new_instance_type_name(i) := p_inst_hist_tbl(i).new_instance_type_name;
1808 p_inst_hist_rec_tab.new_active_start_date(i) := p_inst_hist_tbl(i).new_active_start_date;
1809 p_inst_hist_rec_tab.old_active_end_date(i) := p_inst_hist_tbl(i).old_active_end_date;
1810 p_inst_hist_rec_tab.new_active_end_date(i) := p_inst_hist_tbl(i).new_active_end_date;
1811 p_inst_hist_rec_tab.old_location_type_code(i) := p_inst_hist_tbl(i).old_location_type_code;
1812 p_inst_hist_rec_tab.new_location_type_code(i) := p_inst_hist_tbl(i).new_location_type_code;
1813 p_inst_hist_rec_tab.old_location_id(i) := p_inst_hist_tbl(i).old_location_id;
1814 p_inst_hist_rec_tab.new_location_id(i) := p_inst_hist_tbl(i).new_location_id;
1815 p_inst_hist_rec_tab.old_inv_organization_id(i) := p_inst_hist_tbl(i).old_inv_organization_id;
1816 p_inst_hist_rec_tab.new_inv_organization_id(i) := p_inst_hist_tbl(i).new_inv_organization_id;
1817 p_inst_hist_rec_tab.old_inv_organization_name(i) := p_inst_hist_tbl(i).old_inv_organization_name;
1818 p_inst_hist_rec_tab.new_inv_organization_name(i) := p_inst_hist_tbl(i).new_inv_organization_name;
1819 p_inst_hist_rec_tab.old_inv_subinventory_name(i) := p_inst_hist_tbl(i).old_inv_subinventory_name;
1820 p_inst_hist_rec_tab.new_inv_subinventory_name(i) := p_inst_hist_tbl(i).new_inv_subinventory_name;
1821 p_inst_hist_rec_tab.old_inv_locator_id(i) := p_inst_hist_tbl(i).old_inv_locator_id;
1822 p_inst_hist_rec_tab.new_inv_locator_id(i) := p_inst_hist_tbl(i).new_inv_locator_id;
1823 p_inst_hist_rec_tab.old_pa_project_id(i) := p_inst_hist_tbl(i).old_pa_project_id;
1824 p_inst_hist_rec_tab.new_pa_project_id(i) := p_inst_hist_tbl(i).new_pa_project_id;
1825 p_inst_hist_rec_tab.old_pa_project_task_id(i) := p_inst_hist_tbl(i).old_pa_project_task_id;
1826 p_inst_hist_rec_tab.new_pa_project_task_id(i) := p_inst_hist_tbl(i).new_pa_project_task_id;
1827 p_inst_hist_rec_tab.old_pa_project_name(i) := p_inst_hist_tbl(i).old_pa_project_name;
1828 p_inst_hist_rec_tab.new_pa_project_name(i) := p_inst_hist_tbl(i).new_pa_project_name;
1829 p_inst_hist_rec_tab.old_pa_project_number(i) := p_inst_hist_tbl(i).old_pa_project_number;
1830 p_inst_hist_rec_tab.new_pa_project_number(i) := p_inst_hist_tbl(i).new_pa_project_number;
1831 p_inst_hist_rec_tab.old_pa_task_name(i) := p_inst_hist_tbl(i).old_pa_task_name;
1832 p_inst_hist_rec_tab.new_pa_task_name(i) := p_inst_hist_tbl(i).new_pa_task_name;
1833 p_inst_hist_rec_tab.old_pa_task_number(i) := p_inst_hist_tbl(i).old_pa_task_number;
1834 p_inst_hist_rec_tab.new_pa_task_number(i) := p_inst_hist_tbl(i).new_pa_task_number;
1835 p_inst_hist_rec_tab.old_in_transit_order_line_id(i) := p_inst_hist_tbl(i).old_in_transit_order_line_id;
1836 p_inst_hist_rec_tab.new_in_transit_order_line_id(i) := p_inst_hist_tbl(i).new_in_transit_order_line_id;
1837 p_inst_hist_rec_tab.old_in_transit_order_line_num(i) := p_inst_hist_tbl(i).old_in_transit_order_line_num;
1838 p_inst_hist_rec_tab.new_in_transit_order_line_num(i) := p_inst_hist_tbl(i).new_in_transit_order_line_num;
1839 p_inst_hist_rec_tab.old_in_transit_order_number(i) := p_inst_hist_tbl(i).old_in_transit_order_number;
1840 p_inst_hist_rec_tab.new_in_transit_order_number(i) := p_inst_hist_tbl(i).new_in_transit_order_number;
1841 p_inst_hist_rec_tab.old_wip_job_id(i) := p_inst_hist_tbl(i).old_wip_job_id;
1842 p_inst_hist_rec_tab.new_wip_job_id(i) := p_inst_hist_tbl(i).new_wip_job_id;
1843 p_inst_hist_rec_tab.old_wip_entity_name(i) := p_inst_hist_tbl(i).old_wip_entity_name;
1844 p_inst_hist_rec_tab.new_wip_entity_name(i) := p_inst_hist_tbl(i).new_wip_entity_name;
1845 p_inst_hist_rec_tab.old_po_order_line_id(i) := p_inst_hist_tbl(i).old_po_order_line_id;
1846 p_inst_hist_rec_tab.new_po_order_line_id(i) := p_inst_hist_tbl(i).new_po_order_line_id;
1847 p_inst_hist_rec_tab.old_last_oe_order_line_id(i) := p_inst_hist_tbl(i).old_last_oe_order_line_id;
1848 p_inst_hist_rec_tab.new_last_oe_order_line_id(i) := p_inst_hist_tbl(i).new_last_oe_order_line_id;
1849 p_inst_hist_rec_tab.old_last_oe_rma_line_id(i) := p_inst_hist_tbl(i).old_last_oe_rma_line_id;
1850 p_inst_hist_rec_tab.new_last_oe_rma_line_id(i) := p_inst_hist_tbl(i).new_last_oe_rma_line_id;
1851 p_inst_hist_rec_tab.old_last_po_po_line_id(i) := p_inst_hist_tbl(i).old_last_po_po_line_id;
1852 p_inst_hist_rec_tab.new_last_po_po_line_id(i) := p_inst_hist_tbl(i).new_last_po_po_line_id;
1853 p_inst_hist_rec_tab.old_last_oe_po_number(i) := p_inst_hist_tbl(i).old_last_oe_po_number;
1854 p_inst_hist_rec_tab.new_last_oe_po_number(i) := p_inst_hist_tbl(i).new_last_oe_po_number;
1855 p_inst_hist_rec_tab.old_last_wip_job_id(i) := p_inst_hist_tbl(i).old_last_wip_job_id;
1856 p_inst_hist_rec_tab.new_last_wip_job_id(i) := p_inst_hist_tbl(i).new_last_wip_job_id;
1857 p_inst_hist_rec_tab.old_last_pa_project_id(i) := p_inst_hist_tbl(i).old_last_pa_project_id;
1858 p_inst_hist_rec_tab.new_last_pa_project_id(i) := p_inst_hist_tbl(i).new_last_pa_project_id;
1859 p_inst_hist_rec_tab.old_last_pa_task_id(i) := p_inst_hist_tbl(i).old_last_pa_task_id;
1860 p_inst_hist_rec_tab.new_last_pa_task_id(i) := p_inst_hist_tbl(i).new_last_pa_task_id;
1861 p_inst_hist_rec_tab.old_last_oe_agreement_id(i) := p_inst_hist_tbl(i).old_last_oe_agreement_id;
1862 p_inst_hist_rec_tab.new_last_oe_agreement_id(i) := p_inst_hist_tbl(i).new_last_oe_agreement_id;
1863 p_inst_hist_rec_tab.old_install_date(i) := p_inst_hist_tbl(i).old_install_date;
1864 p_inst_hist_rec_tab.new_install_date(i) := p_inst_hist_tbl(i).new_install_date;
1865 p_inst_hist_rec_tab.old_manually_created_flag(i) := p_inst_hist_tbl(i).old_manually_created_flag;
1866 p_inst_hist_rec_tab.new_manually_created_flag(i) := p_inst_hist_tbl(i).new_manually_created_flag;
1870 p_inst_hist_rec_tab.new_actual_return_date(i) := p_inst_hist_tbl(i).new_actual_return_date;
1867 p_inst_hist_rec_tab.old_return_by_date(i) := p_inst_hist_tbl(i).old_return_by_date;
1868 p_inst_hist_rec_tab.new_return_by_date(i) := p_inst_hist_tbl(i).new_return_by_date;
1869 p_inst_hist_rec_tab.old_actual_return_date(i) := p_inst_hist_tbl(i).old_actual_return_date;
1871 p_inst_hist_rec_tab.old_creation_complete_flag(i) := p_inst_hist_tbl(i).old_creation_complete_flag;
1872 p_inst_hist_rec_tab.new_creation_complete_flag(i) := p_inst_hist_tbl(i).new_creation_complete_flag;
1873 p_inst_hist_rec_tab.old_completeness_flag(i) := p_inst_hist_tbl(i).old_completeness_flag;
1874 p_inst_hist_rec_tab.new_completeness_flag(i) := p_inst_hist_tbl(i).new_completeness_flag;
1875 p_inst_hist_rec_tab.old_context(i) := p_inst_hist_tbl(i).old_context;
1876 p_inst_hist_rec_tab.new_context(i) := p_inst_hist_tbl(i).new_context;
1877 p_inst_hist_rec_tab.old_attribute1(i) := p_inst_hist_tbl(i).old_attribute1;
1878 p_inst_hist_rec_tab.new_attribute1(i) := p_inst_hist_tbl(i).new_attribute1;
1879 p_inst_hist_rec_tab.old_attribute2(i) := p_inst_hist_tbl(i).old_attribute2;
1880 p_inst_hist_rec_tab.new_attribute2(i) := p_inst_hist_tbl(i).new_attribute2;
1881 p_inst_hist_rec_tab.old_attribute3(i) := p_inst_hist_tbl(i).old_attribute3;
1882 p_inst_hist_rec_tab.new_attribute3(i) := p_inst_hist_tbl(i).new_attribute3;
1883 p_inst_hist_rec_tab.old_attribute4(i) := p_inst_hist_tbl(i).old_attribute4;
1884 p_inst_hist_rec_tab.new_attribute4(i) := p_inst_hist_tbl(i).new_attribute4;
1885 p_inst_hist_rec_tab.old_attribute5(i) := p_inst_hist_tbl(i).old_attribute5;
1886 p_inst_hist_rec_tab.new_attribute5(i) := p_inst_hist_tbl(i).new_attribute5;
1887 p_inst_hist_rec_tab.old_attribute6(i) := p_inst_hist_tbl(i).old_attribute6;
1888 p_inst_hist_rec_tab.new_attribute6(i) := p_inst_hist_tbl(i).new_attribute6;
1889 p_inst_hist_rec_tab.old_attribute7(i) := p_inst_hist_tbl(i).old_attribute7;
1890 p_inst_hist_rec_tab.new_attribute7(i) := p_inst_hist_tbl(i).new_attribute7;
1891 p_inst_hist_rec_tab.old_attribute8(i) := p_inst_hist_tbl(i).old_attribute8;
1892 p_inst_hist_rec_tab.new_attribute8(i) := p_inst_hist_tbl(i).new_attribute8;
1893 p_inst_hist_rec_tab.old_attribute9(i) := p_inst_hist_tbl(i).old_attribute9;
1894 p_inst_hist_rec_tab.new_attribute9(i) := p_inst_hist_tbl(i).new_attribute9;
1895 p_inst_hist_rec_tab.old_attribute10(i) := p_inst_hist_tbl(i).old_attribute10;
1896 p_inst_hist_rec_tab.new_attribute10(i) := p_inst_hist_tbl(i).new_attribute10;
1897 p_inst_hist_rec_tab.old_attribute11(i) := p_inst_hist_tbl(i).old_attribute11;
1898 p_inst_hist_rec_tab.new_attribute11(i) := p_inst_hist_tbl(i).new_attribute11;
1899 p_inst_hist_rec_tab.old_attribute12(i) := p_inst_hist_tbl(i).old_attribute12;
1900 p_inst_hist_rec_tab.new_attribute12(i) := p_inst_hist_tbl(i).new_attribute12;
1901 p_inst_hist_rec_tab.old_attribute13(i) := p_inst_hist_tbl(i).old_attribute13;
1902 p_inst_hist_rec_tab.new_attribute13(i) := p_inst_hist_tbl(i).new_attribute13;
1903 p_inst_hist_rec_tab.old_attribute14(i) := p_inst_hist_tbl(i).old_attribute14;
1904 p_inst_hist_rec_tab.new_attribute14(i) := p_inst_hist_tbl(i).new_attribute14;
1905 p_inst_hist_rec_tab.old_attribute15(i) := p_inst_hist_tbl(i).old_attribute15;
1906 p_inst_hist_rec_tab.new_attribute15(i) := p_inst_hist_tbl(i).new_attribute15;
1907 p_inst_hist_rec_tab.old_last_txn_line_detail_id(i) := p_inst_hist_tbl(i).old_last_txn_line_detail_id;
1908 p_inst_hist_rec_tab.new_last_txn_line_detail_id(i) := p_inst_hist_tbl(i).new_last_txn_line_detail_id;
1909 p_inst_hist_rec_tab.old_install_location_type_code(i) := p_inst_hist_tbl(i).old_install_location_type_code;
1910 p_inst_hist_rec_tab.new_install_location_type_code(i) := p_inst_hist_tbl(i).new_install_location_type_code;
1911 p_inst_hist_rec_tab.old_install_location_id(i) := p_inst_hist_tbl(i).old_install_location_id;
1912 p_inst_hist_rec_tab.new_install_location_id(i) := p_inst_hist_tbl(i).new_install_location_id;
1913 p_inst_hist_rec_tab.old_instance_usage_code(i) := p_inst_hist_tbl(i).old_instance_usage_code;
1914 p_inst_hist_rec_tab.new_instance_usage_code(i) := p_inst_hist_tbl(i).new_instance_usage_code;
1915 p_inst_hist_rec_tab.old_current_loc_address1(i) := p_inst_hist_tbl(i).old_current_loc_address1;
1916 p_inst_hist_rec_tab.new_current_loc_address1(i) := p_inst_hist_tbl(i).new_current_loc_address1;
1917 p_inst_hist_rec_tab.old_current_loc_address2(i) := p_inst_hist_tbl(i).old_current_loc_address2;
1918 p_inst_hist_rec_tab.new_current_loc_address2(i) := p_inst_hist_tbl(i).new_current_loc_address2;
1919 p_inst_hist_rec_tab.old_current_loc_address3(i) := p_inst_hist_tbl(i).old_current_loc_address3;
1920 p_inst_hist_rec_tab.new_current_loc_address3(i) := p_inst_hist_tbl(i).new_current_loc_address3;
1921 p_inst_hist_rec_tab.old_current_loc_address4(i) := p_inst_hist_tbl(i).old_current_loc_address4;
1922 p_inst_hist_rec_tab.new_current_loc_address4(i) := p_inst_hist_tbl(i).new_current_loc_address4;
1923 p_inst_hist_rec_tab.old_current_loc_city(i) := p_inst_hist_tbl(i).old_current_loc_city;
1924 p_inst_hist_rec_tab.new_current_loc_city(i) := p_inst_hist_tbl(i).new_current_loc_city;
1925 p_inst_hist_rec_tab.old_current_loc_postal_code(i) := p_inst_hist_tbl(i).old_current_loc_postal_code;
1926 p_inst_hist_rec_tab.new_current_loc_postal_code(i) := p_inst_hist_tbl(i).new_current_loc_postal_code;
1927 p_inst_hist_rec_tab.old_current_loc_country(i) := p_inst_hist_tbl(i).old_current_loc_country;
1928 p_inst_hist_rec_tab.new_current_loc_country(i) := p_inst_hist_tbl(i).new_current_loc_country;
1929 p_inst_hist_rec_tab.old_sales_order_number(i) := p_inst_hist_tbl(i).old_sales_order_number;
1930 p_inst_hist_rec_tab.new_sales_order_number(i) := p_inst_hist_tbl(i).new_sales_order_number;
1931 p_inst_hist_rec_tab.old_sales_order_line_number(i) := p_inst_hist_tbl(i).old_sales_order_line_number;
1935 p_inst_hist_rec_tab.old_purchase_order_number(i) := p_inst_hist_tbl(i).old_purchase_order_number;
1932 p_inst_hist_rec_tab.new_sales_order_line_number(i) := p_inst_hist_tbl(i).new_sales_order_line_number;
1933 p_inst_hist_rec_tab.old_sales_order_date(i) := p_inst_hist_tbl(i).old_sales_order_date;
1934 p_inst_hist_rec_tab.new_sales_order_date(i) := p_inst_hist_tbl(i).new_sales_order_date;
1936 p_inst_hist_rec_tab.new_purchase_order_number(i) := p_inst_hist_tbl(i).new_purchase_order_number;
1937 p_inst_hist_rec_tab.old_instance_usage_name(i) := p_inst_hist_tbl(i).old_instance_usage_name;
1938 p_inst_hist_rec_tab.new_instance_usage_name(i) := p_inst_hist_tbl(i).new_instance_usage_name;
1939 p_inst_hist_rec_tab.old_current_loc_state(i) := p_inst_hist_tbl(i).old_current_loc_state;
1940 p_inst_hist_rec_tab.new_current_loc_state(i) := p_inst_hist_tbl(i).new_current_loc_state;
1941 p_inst_hist_rec_tab.old_install_loc_address1(i) := p_inst_hist_tbl(i).old_install_loc_address1;
1942 p_inst_hist_rec_tab.new_install_loc_address1(i) := p_inst_hist_tbl(i).new_install_loc_address1;
1943 p_inst_hist_rec_tab.old_install_loc_address2(i) := p_inst_hist_tbl(i).old_install_loc_address2;
1944 p_inst_hist_rec_tab.new_install_loc_address2(i) := p_inst_hist_tbl(i).new_install_loc_address2;
1945 p_inst_hist_rec_tab.old_install_loc_address3(i) := p_inst_hist_tbl(i).old_install_loc_address3;
1946 p_inst_hist_rec_tab.new_install_loc_address3(i) := p_inst_hist_tbl(i).new_install_loc_address3;
1947 p_inst_hist_rec_tab.old_install_loc_address4(i) := p_inst_hist_tbl(i).old_install_loc_address4;
1948 p_inst_hist_rec_tab.new_install_loc_address4(i) := p_inst_hist_tbl(i).new_install_loc_address4;
1949 p_inst_hist_rec_tab.old_install_loc_city(i) := p_inst_hist_tbl(i).old_install_loc_city;
1950 p_inst_hist_rec_tab.new_install_loc_city(i) := p_inst_hist_tbl(i).new_install_loc_city;
1951 p_inst_hist_rec_tab.old_install_loc_state(i) := p_inst_hist_tbl(i).old_install_loc_state;
1952 p_inst_hist_rec_tab.new_install_loc_state(i) := p_inst_hist_tbl(i).new_install_loc_state;
1953 p_inst_hist_rec_tab.old_install_loc_postal_code(i) := p_inst_hist_tbl(i).old_install_loc_postal_code;
1954 p_inst_hist_rec_tab.new_install_loc_postal_code(i) := p_inst_hist_tbl(i).new_install_loc_postal_code;
1955 p_inst_hist_rec_tab.old_install_loc_country(i) := p_inst_hist_tbl(i).old_install_loc_country;
1956 p_inst_hist_rec_tab.new_install_loc_country(i) := p_inst_hist_tbl(i).new_install_loc_country;
1957 p_inst_hist_rec_tab.old_config_inst_rev_num(i) := p_inst_hist_tbl(i).old_config_inst_rev_num;
1958 p_inst_hist_rec_tab.new_config_inst_rev_num(i) := p_inst_hist_tbl(i).new_config_inst_rev_num;
1959 p_inst_hist_rec_tab.old_config_valid_status(i) := p_inst_hist_tbl(i).old_config_valid_status;
1960 p_inst_hist_rec_tab.new_config_valid_status(i) := p_inst_hist_tbl(i).new_config_valid_status;
1961 p_inst_hist_rec_tab.old_instance_description(i) := p_inst_hist_tbl(i).old_instance_description;
1962 p_inst_hist_rec_tab.new_instance_description(i) := p_inst_hist_tbl(i).new_instance_description;
1963 p_inst_hist_rec_tab.instance_history_id(i) := p_inst_hist_tbl(i).instance_history_id;
1964 p_inst_hist_rec_tab.transaction_id(i) := p_inst_hist_tbl(i).transaction_id;
1965 p_inst_hist_rec_tab.old_last_vld_organization_id(i) := p_inst_hist_tbl(i).old_last_vld_organization_id;
1966 p_inst_hist_rec_tab.new_last_vld_organization_id(i) := p_inst_hist_tbl(i).new_last_vld_organization_id;
1967
1968 p_inst_hist_rec_tab.old_network_asset_flag(i) := p_inst_hist_tbl(i).old_network_asset_flag;
1969 p_inst_hist_rec_tab.new_network_asset_flag(i) := p_inst_hist_tbl(i).new_network_asset_flag;
1970 p_inst_hist_rec_tab.old_maintainable_flag(i) := p_inst_hist_tbl(i).old_maintainable_flag;
1971 p_inst_hist_rec_tab.new_maintainable_flag(i) := p_inst_hist_tbl(i).new_maintainable_flag;
1972 p_inst_hist_rec_tab.old_asset_criticality_code(i) := p_inst_hist_tbl(i).old_asset_criticality_code;
1973 p_inst_hist_rec_tab.new_asset_criticality_code(i) := p_inst_hist_tbl(i).new_asset_criticality_code;
1974 p_inst_hist_rec_tab.old_category_id(i) := p_inst_hist_tbl(i).old_category_id ;
1975 p_inst_hist_rec_tab.new_category_id(i) := p_inst_hist_tbl(i).new_category_id ;
1976 p_inst_hist_rec_tab.old_equipment_gen_object_id(i) := p_inst_hist_tbl(i).old_equipment_gen_object_id ;
1977 p_inst_hist_rec_tab.new_equipment_gen_object_id(i) := p_inst_hist_tbl(i).new_equipment_gen_object_id ;
1978 p_inst_hist_rec_tab.old_instantiation_flag(i) := p_inst_hist_tbl(i).old_instantiation_flag;
1979 p_inst_hist_rec_tab.new_instantiation_flag(i) := p_inst_hist_tbl(i).new_instantiation_flag;
1980 p_inst_hist_rec_tab.old_operational_log_flag(i) := p_inst_hist_tbl(i).old_operational_log_flag ;
1981 p_inst_hist_rec_tab.new_operational_log_flag(i) := p_inst_hist_tbl(i).new_operational_log_flag ;
1982 p_inst_hist_rec_tab.old_supplier_warranty_exp_date(i) := p_inst_hist_tbl(i).old_supplier_warranty_exp_date ;
1983 p_inst_hist_rec_tab.new_supplier_warranty_exp_date(i) := p_inst_hist_tbl(i).new_supplier_warranty_exp_date ;
1984 p_inst_hist_rec_tab.old_attribute16(i) := p_inst_hist_tbl(i).old_attribute16 ;
1985 p_inst_hist_rec_tab.new_attribute16(i) := p_inst_hist_tbl(i).new_attribute16 ;
1986 p_inst_hist_rec_tab.old_attribute17(i) := p_inst_hist_tbl(i).old_attribute17 ;
1987 p_inst_hist_rec_tab.new_attribute17(i) := p_inst_hist_tbl(i).new_attribute17 ;
1988 p_inst_hist_rec_tab.old_attribute18(i) := p_inst_hist_tbl(i).old_attribute18 ;
1989 p_inst_hist_rec_tab.new_attribute18(i) := p_inst_hist_tbl(i).new_attribute18 ;
1990 p_inst_hist_rec_tab.old_attribute19(i) := p_inst_hist_tbl(i).old_attribute19 ;
1991 p_inst_hist_rec_tab.new_attribute19(i) := p_inst_hist_tbl(i).new_attribute19 ;
1992 p_inst_hist_rec_tab.old_attribute20(i) := p_inst_hist_tbl(i).old_attribute20 ;
1993 p_inst_hist_rec_tab.new_attribute20(i) := p_inst_hist_tbl(i).new_attribute20 ;
1994 p_inst_hist_rec_tab.old_attribute21(i) := p_inst_hist_tbl(i).old_attribute21 ;
1995 p_inst_hist_rec_tab.new_attribute21(i) := p_inst_hist_tbl(i).new_attribute21 ;
1996 p_inst_hist_rec_tab.old_attribute22(i) := p_inst_hist_tbl(i).old_attribute22 ;
1997 p_inst_hist_rec_tab.new_attribute22(i) := p_inst_hist_tbl(i).new_attribute22 ;
1998 p_inst_hist_rec_tab.old_attribute23(i) := p_inst_hist_tbl(i).old_attribute23 ;
1999 p_inst_hist_rec_tab.new_attribute23(i) := p_inst_hist_tbl(i).new_attribute23 ;
2000 p_inst_hist_rec_tab.old_attribute24(i) := p_inst_hist_tbl(i).old_attribute24 ;
2001 p_inst_hist_rec_tab.new_attribute24(i) := p_inst_hist_tbl(i).new_attribute24 ;
2002 p_inst_hist_rec_tab.old_attribute25(i) := p_inst_hist_tbl(i).old_attribute25 ;
2003 p_inst_hist_rec_tab.new_attribute25(i) := p_inst_hist_tbl(i).new_attribute25 ;
2004 p_inst_hist_rec_tab.old_attribute26(i) := p_inst_hist_tbl(i).old_attribute26 ;
2005 p_inst_hist_rec_tab.new_attribute26(i) := p_inst_hist_tbl(i).new_attribute26 ;
2006 p_inst_hist_rec_tab.old_attribute27(i) := p_inst_hist_tbl(i).old_attribute27 ;
2007 p_inst_hist_rec_tab.new_attribute27(i) := p_inst_hist_tbl(i).new_attribute27 ;
2008 p_inst_hist_rec_tab.old_attribute28(i) := p_inst_hist_tbl(i).old_attribute28 ;
2009 p_inst_hist_rec_tab.new_attribute28(i) := p_inst_hist_tbl(i).new_attribute28 ;
2010 p_inst_hist_rec_tab.old_attribute29(i) := p_inst_hist_tbl(i).old_attribute29 ;
2011 p_inst_hist_rec_tab.new_attribute29(i) := p_inst_hist_tbl(i).new_attribute29 ;
2012 p_inst_hist_rec_tab.old_attribute30(i) := p_inst_hist_tbl(i).old_attribute30 ;
2013 p_inst_hist_rec_tab.new_attribute30(i) := p_inst_hist_tbl(i).new_attribute30 ;
2014
2015 p_inst_hist_rec_tab.old_payables_currency_code(i) := p_inst_hist_tbl(i).old_payables_currency_code;
2016 p_inst_hist_rec_tab.new_payables_currency_code(i) := p_inst_hist_tbl(i).new_payables_currency_code;
2017 p_inst_hist_rec_tab.old_purchase_unit_price(i) := p_inst_hist_tbl(i).old_purchase_unit_price;
2018 p_inst_hist_rec_tab.new_purchase_unit_price(i) := p_inst_hist_tbl(i).new_purchase_unit_price;
2019 p_inst_hist_rec_tab.old_purchase_currency_code(i) := p_inst_hist_tbl(i).old_purchase_currency_code;
2020 p_inst_hist_rec_tab.new_purchase_currency_code(i) := p_inst_hist_tbl(i).new_purchase_currency_code;
2021 p_inst_hist_rec_tab.old_payables_unit_price(i) := p_inst_hist_tbl(i).old_payables_unit_price;
2022 p_inst_hist_rec_tab.new_payables_unit_price(i) := p_inst_hist_tbl(i).new_payables_unit_price;
2023 p_inst_hist_rec_tab.old_sales_unit_price(i) := p_inst_hist_tbl(i).old_sales_unit_price;
2024 p_inst_hist_rec_tab.new_sales_unit_price(i) := p_inst_hist_tbl(i).new_sales_unit_price;
2025 p_inst_hist_rec_tab.old_sales_currency_code(i) := p_inst_hist_tbl(i).old_sales_currency_code;
2026 p_inst_hist_rec_tab.new_sales_currency_code(i) := p_inst_hist_tbl(i).new_sales_currency_code;
2027 p_inst_hist_rec_tab.old_operational_status_code(i) := p_inst_hist_tbl(i).old_operational_status_code;
2028 p_inst_hist_rec_tab.new_operational_status_code(i) := p_inst_hist_tbl(i).new_operational_status_code;
2029
2030 END LOOP;
2031 END Build_Inst_Hist_Rec_of_Table;
2032 --
2033 PROCEDURE Build_Ver_Label_Rec_of_Table
2034 (
2035 p_version_label_tbl IN csi_datastructures_pub.version_label_tbl
2036 ,p_version_label_rec_tab IN OUT NOCOPY csi_item_instance_grp.version_label_rec_tab
2037 ) IS
2038 BEGIN
2039 FOR i in p_version_label_tbl.FIRST .. p_version_label_tbl.LAST LOOP
2040 p_version_label_rec_tab.version_label_id(i) := p_version_label_tbl(i).version_label_id;
2041 p_version_label_rec_tab.instance_id(i) := p_version_label_tbl(i).instance_id;
2042 p_version_label_rec_tab.version_label(i) := p_version_label_tbl(i).version_label;
2043 p_version_label_rec_tab.description(i) := p_version_label_tbl(i).description;
2044 p_version_label_rec_tab.date_time_stamp(i) := p_version_label_tbl(i).date_time_stamp;
2045 p_version_label_rec_tab.active_start_date(i) := p_version_label_tbl(i).active_start_date;
2046 p_version_label_rec_tab.active_end_date(i) := p_version_label_tbl(i).active_end_date;
2047 p_version_label_rec_tab.context(i) := p_version_label_tbl(i).context;
2048 p_version_label_rec_tab.attribute1(i) := p_version_label_tbl(i).attribute1;
2049 p_version_label_rec_tab.attribute2(i) := p_version_label_tbl(i).attribute2;
2050 p_version_label_rec_tab.attribute3(i) := p_version_label_tbl(i).attribute3;
2051 p_version_label_rec_tab.attribute4(i) := p_version_label_tbl(i).attribute4;
2052 p_version_label_rec_tab.attribute5(i) := p_version_label_tbl(i).attribute5;
2053 p_version_label_rec_tab.attribute6(i) := p_version_label_tbl(i).attribute6;
2054 p_version_label_rec_tab.attribute7(i) := p_version_label_tbl(i).attribute7;
2055 p_version_label_rec_tab.attribute8(i) := p_version_label_tbl(i).attribute8;
2056 p_version_label_rec_tab.attribute9(i) := p_version_label_tbl(i).attribute9;
2057 p_version_label_rec_tab.attribute10(i) := p_version_label_tbl(i).attribute10;
2058 p_version_label_rec_tab.attribute11(i) := p_version_label_tbl(i).attribute11;
2059 p_version_label_rec_tab.attribute12(i) := p_version_label_tbl(i).attribute12;
2060 p_version_label_rec_tab.attribute13(i) := p_version_label_tbl(i).attribute13;
2061 p_version_label_rec_tab.attribute14(i) := p_version_label_tbl(i).attribute14;
2062 p_version_label_rec_tab.attribute15(i) := p_version_label_tbl(i).attribute15;
2063 p_version_label_rec_tab.object_version_number(i) := p_version_label_tbl(i).object_version_number;
2064 END LOOP;
2065 END Build_Ver_Label_Rec_of_Table;
2066 --
2067 PROCEDURE Build_Ver_Lbl_Hist_Rec_Table
2068 (
2069 p_ver_label_hist_tbl IN csi_datastructures_pub.version_label_history_tbl
2070 ,p_ver_label_hist_rec_tab IN OUT NOCOPY csi_item_instance_grp.ver_label_history_rec_tab
2071 ) IS
2072 BEGIN
2073 FOR i in p_ver_label_hist_tbl.FIRST .. p_ver_label_hist_tbl.LAST LOOP
2074 p_ver_label_hist_rec_tab.VERSION_LABEL_HISTORY_ID(i):= p_ver_label_hist_tbl(i).VERSION_LABEL_HISTORY_ID;
2075 p_ver_label_hist_rec_tab.VERSION_LABEL_ID(i) := p_ver_label_hist_tbl(i).VERSION_LABEL_ID;
2076 p_ver_label_hist_rec_tab.TRANSACTION_ID(i) := p_ver_label_hist_tbl(i).TRANSACTION_ID;
2077 p_ver_label_hist_rec_tab.OLD_VERSION_LABEL(i) := p_ver_label_hist_tbl(i).OLD_VERSION_LABEL;
2078 p_ver_label_hist_rec_tab.NEW_VERSION_LABEL(i) := p_ver_label_hist_tbl(i).NEW_VERSION_LABEL;
2079 p_ver_label_hist_rec_tab.OLD_DESCRIPTION(i) := p_ver_label_hist_tbl(i).OLD_DESCRIPTION;
2080 p_ver_label_hist_rec_tab.NEW_DESCRIPTION(i) := p_ver_label_hist_tbl(i).NEW_DESCRIPTION;
2081 p_ver_label_hist_rec_tab.OLD_DATE_TIME_STAMP(i) := p_ver_label_hist_tbl(i).OLD_DATE_TIME_STAMP;
2082 p_ver_label_hist_rec_tab.NEW_DATE_TIME_STAMP(i) := p_ver_label_hist_tbl(i).NEW_DATE_TIME_STAMP;
2083 p_ver_label_hist_rec_tab.OLD_ACTIVE_START_DATE(i) := p_ver_label_hist_tbl(i).OLD_ACTIVE_START_DATE;
2084 p_ver_label_hist_rec_tab.NEW_ACTIVE_START_DATE(i) := p_ver_label_hist_tbl(i).NEW_ACTIVE_START_DATE;
2085 p_ver_label_hist_rec_tab.OLD_ACTIVE_END_DATE(i) := p_ver_label_hist_tbl(i).OLD_ACTIVE_END_DATE;
2086 p_ver_label_hist_rec_tab.NEW_ACTIVE_END_DATE(i) := p_ver_label_hist_tbl(i).NEW_ACTIVE_END_DATE;
2087 p_ver_label_hist_rec_tab.OLD_CONTEXT(i) := p_ver_label_hist_tbl(i).OLD_CONTEXT;
2088 p_ver_label_hist_rec_tab.NEW_CONTEXT(i) := p_ver_label_hist_tbl(i).NEW_CONTEXT;
2089 p_ver_label_hist_rec_tab.OLD_ATTRIBUTE1(i) := p_ver_label_hist_tbl(i).OLD_ATTRIBUTE1;
2090 p_ver_label_hist_rec_tab.NEW_ATTRIBUTE1(i) := p_ver_label_hist_tbl(i).NEW_ATTRIBUTE1;
2091 p_ver_label_hist_rec_tab.OLD_ATTRIBUTE2(i) := p_ver_label_hist_tbl(i).OLD_ATTRIBUTE2;
2092 p_ver_label_hist_rec_tab.NEW_ATTRIBUTE2(i) := p_ver_label_hist_tbl(i).NEW_ATTRIBUTE2;
2093 p_ver_label_hist_rec_tab.OLD_ATTRIBUTE3(i) := p_ver_label_hist_tbl(i).OLD_ATTRIBUTE3;
2094 p_ver_label_hist_rec_tab.NEW_ATTRIBUTE3(i) := p_ver_label_hist_tbl(i).NEW_ATTRIBUTE3;
2095 p_ver_label_hist_rec_tab.OLD_ATTRIBUTE4(i) := p_ver_label_hist_tbl(i).OLD_ATTRIBUTE4;
2096 p_ver_label_hist_rec_tab.NEW_ATTRIBUTE4(i) := p_ver_label_hist_tbl(i).NEW_ATTRIBUTE4;
2097 p_ver_label_hist_rec_tab.OLD_ATTRIBUTE5(i) := p_ver_label_hist_tbl(i).OLD_ATTRIBUTE5;
2098 p_ver_label_hist_rec_tab.NEW_ATTRIBUTE5(i) := p_ver_label_hist_tbl(i).NEW_ATTRIBUTE5;
2099 p_ver_label_hist_rec_tab.OLD_ATTRIBUTE6(i) := p_ver_label_hist_tbl(i).OLD_ATTRIBUTE6;
2100 p_ver_label_hist_rec_tab.NEW_ATTRIBUTE6(i) := p_ver_label_hist_tbl(i).NEW_ATTRIBUTE6;
2101 p_ver_label_hist_rec_tab.OLD_ATTRIBUTE7(i) := p_ver_label_hist_tbl(i).OLD_ATTRIBUTE7;
2102 p_ver_label_hist_rec_tab.NEW_ATTRIBUTE7(i) := p_ver_label_hist_tbl(i).NEW_ATTRIBUTE7;
2103 p_ver_label_hist_rec_tab.OLD_ATTRIBUTE8(i) := p_ver_label_hist_tbl(i).OLD_ATTRIBUTE8;
2104 p_ver_label_hist_rec_tab.NEW_ATTRIBUTE8(i) := p_ver_label_hist_tbl(i).NEW_ATTRIBUTE8;
2105 p_ver_label_hist_rec_tab.OLD_ATTRIBUTE9(i) := p_ver_label_hist_tbl(i).OLD_ATTRIBUTE9;
2106 p_ver_label_hist_rec_tab.NEW_ATTRIBUTE9(i) := p_ver_label_hist_tbl(i).NEW_ATTRIBUTE9;
2107 p_ver_label_hist_rec_tab.OLD_ATTRIBUTE10(i) := p_ver_label_hist_tbl(i).OLD_ATTRIBUTE10;
2108 p_ver_label_hist_rec_tab.NEW_ATTRIBUTE10(i) := p_ver_label_hist_tbl(i).NEW_ATTRIBUTE10;
2109 p_ver_label_hist_rec_tab.OLD_ATTRIBUTE11(i) := p_ver_label_hist_tbl(i).OLD_ATTRIBUTE11;
2110 p_ver_label_hist_rec_tab.NEW_ATTRIBUTE11(i) := p_ver_label_hist_tbl(i).NEW_ATTRIBUTE11;
2111 p_ver_label_hist_rec_tab.OLD_ATTRIBUTE12(i) := p_ver_label_hist_tbl(i).OLD_ATTRIBUTE12;
2112 p_ver_label_hist_rec_tab.NEW_ATTRIBUTE12(i) := p_ver_label_hist_tbl(i).NEW_ATTRIBUTE12;
2113 p_ver_label_hist_rec_tab.OLD_ATTRIBUTE13(i) := p_ver_label_hist_tbl(i).OLD_ATTRIBUTE13;
2114 p_ver_label_hist_rec_tab.NEW_ATTRIBUTE13(i) := p_ver_label_hist_tbl(i).NEW_ATTRIBUTE13;
2115 p_ver_label_hist_rec_tab.OLD_ATTRIBUTE14(i) := p_ver_label_hist_tbl(i).OLD_ATTRIBUTE14;
2116 p_ver_label_hist_rec_tab.NEW_ATTRIBUTE14(i) := p_ver_label_hist_tbl(i).NEW_ATTRIBUTE14;
2117 p_ver_label_hist_rec_tab.OLD_ATTRIBUTE15(i) := p_ver_label_hist_tbl(i).OLD_ATTRIBUTE15;
2118 p_ver_label_hist_rec_tab.NEW_ATTRIBUTE15(i) := p_ver_label_hist_tbl(i).NEW_ATTRIBUTE15;
2119 p_ver_label_hist_rec_tab.FULL_DUMP_FLAG(i) := p_ver_label_hist_tbl(i).FULL_DUMP_FLAG;
2120 p_ver_label_hist_rec_tab.OBJECT_VERSION_NUMBER(i) := p_ver_label_hist_tbl(i).OBJECT_VERSION_NUMBER;
2121 p_ver_label_hist_rec_tab.INSTANCE_ID(i) := p_ver_label_hist_tbl(i).INSTANCE_ID;
2122 END LOOP;
2123 END Build_Ver_Lbl_Hist_Rec_Table;
2124 --
2125 PROCEDURE Build_Party_Rec_of_Table
2126 ( p_party_tbl IN csi_datastructures_pub.party_tbl
2127 ,p_party_rec_tab IN OUT NOCOPY csi_item_instance_grp.party_rec_tab
2128 ) IS
2129 BEGIN
2130 FOR i in p_party_tbl.FIRST .. p_party_tbl.LAST LOOP
2131 p_party_rec_tab.instance_party_id(i) := p_party_tbl(i).instance_party_id;
2132 p_party_rec_tab.instance_id(i) := p_party_tbl(i).instance_id;
2133 p_party_rec_tab.party_source_table(i) := p_party_tbl(i).party_source_table;
2134 p_party_rec_tab.party_id(i) := p_party_tbl(i).party_id;
2135 p_party_rec_tab.relationship_type_code(i) := p_party_tbl(i).relationship_type_code;
2136 p_party_rec_tab.contact_flag(i) := p_party_tbl(i).contact_flag;
2137 p_party_rec_tab.contact_ip_id(i) := p_party_tbl(i).contact_ip_id;
2138 p_party_rec_tab.active_start_date(i) := p_party_tbl(i).active_start_date;
2139 p_party_rec_tab.active_end_date(i) := p_party_tbl(i).active_end_date;
2140 p_party_rec_tab.context(i) := p_party_tbl(i).context;
2141 p_party_rec_tab.attribute1(i) := p_party_tbl(i).attribute1;
2142 p_party_rec_tab.attribute2(i) := p_party_tbl(i).attribute2;
2143 p_party_rec_tab.attribute3(i) := p_party_tbl(i).attribute3;
2144 p_party_rec_tab.attribute4(i) := p_party_tbl(i).attribute4;
2145 p_party_rec_tab.attribute5(i) := p_party_tbl(i).attribute5;
2146 p_party_rec_tab.attribute6(i) := p_party_tbl(i).attribute6;
2147 p_party_rec_tab.attribute7(i) := p_party_tbl(i).attribute7;
2148 p_party_rec_tab.attribute8(i) := p_party_tbl(i).attribute8;
2149 p_party_rec_tab.attribute9(i) := p_party_tbl(i).attribute9;
2150 p_party_rec_tab.attribute10(i) := p_party_tbl(i).attribute10;
2151 p_party_rec_tab.attribute11(i) := p_party_tbl(i).attribute11;
2152 p_party_rec_tab.attribute12(i) := p_party_tbl(i).attribute12;
2153 p_party_rec_tab.attribute13(i) := p_party_tbl(i).attribute13;
2154 p_party_rec_tab.attribute14(i) := p_party_tbl(i).attribute14;
2155 p_party_rec_tab.attribute15(i) := p_party_tbl(i).attribute15;
2156 p_party_rec_tab.object_version_number(i) := p_party_tbl(i).object_version_number;
2157 p_party_rec_tab.primary_flag(i) := p_party_tbl(i).primary_flag;
2158 p_party_rec_tab.preferred_flag(i) := p_party_tbl(i).preferred_flag;
2159 p_party_rec_tab.parent_tbl_index(i) := p_party_tbl(i).parent_tbl_index;
2160 p_party_rec_tab.call_contracts(i) := p_party_tbl(i).call_contracts;
2161 p_party_rec_tab.contact_parent_tbl_index(i) := p_party_tbl(i).contact_parent_tbl_index;
2162 END LOOP;
2163 END Build_Party_Rec_of_Table;
2164 --
2165 PROCEDURE Build_Party_Hist_Rec_of_Table
2166 ( p_party_hist_tbl IN csi_datastructures_pub.party_history_tbl
2167 ,p_party_hist_rec_tab IN OUT NOCOPY csi_item_instance_grp.party_history_rec_tab
2168 ) IS
2169 BEGIN
2170 FOR i in p_party_hist_tbl.FIRST .. p_party_hist_tbl.LAST LOOP
2171 p_party_hist_rec_tab.INSTANCE_PARTY_HISTORY_ID(i) := p_party_hist_tbl(i).INSTANCE_PARTY_HISTORY_ID;
2172 p_party_hist_rec_tab.INSTANCE_PARTY_ID(i) := p_party_hist_tbl(i).INSTANCE_PARTY_ID;
2173 p_party_hist_rec_tab.TRANSACTION_ID(i) := p_party_hist_tbl(i).TRANSACTION_ID;
2174 p_party_hist_rec_tab.OLD_PARTY_SOURCE_TABLE(i) := p_party_hist_tbl(i).OLD_PARTY_SOURCE_TABLE;
2175 p_party_hist_rec_tab.NEW_PARTY_SOURCE_TABLE(i) := p_party_hist_tbl(i).NEW_PARTY_SOURCE_TABLE;
2176 p_party_hist_rec_tab.OLD_PARTY_ID(i) := p_party_hist_tbl(i).OLD_PARTY_ID;
2177 p_party_hist_rec_tab.NEW_PARTY_ID(i) := p_party_hist_tbl(i).NEW_PARTY_ID;
2178 p_party_hist_rec_tab.OLD_RELATIONSHIP_TYPE_CODE(i) := p_party_hist_tbl(i).OLD_RELATIONSHIP_TYPE_CODE;
2179 p_party_hist_rec_tab.NEW_RELATIONSHIP_TYPE_CODE(i) := p_party_hist_tbl(i).NEW_RELATIONSHIP_TYPE_CODE;
2180 p_party_hist_rec_tab.OLD_CONTACT_FLAG(i) := p_party_hist_tbl(i).OLD_CONTACT_FLAG;
2181 p_party_hist_rec_tab.NEW_CONTACT_FLAG(i) := p_party_hist_tbl(i).NEW_CONTACT_FLAG;
2182 p_party_hist_rec_tab.OLD_CONTACT_IP_ID(i) := p_party_hist_tbl(i).OLD_CONTACT_IP_ID;
2183 p_party_hist_rec_tab.NEW_CONTACT_IP_ID(i) := p_party_hist_tbl(i).NEW_CONTACT_IP_ID;
2184 p_party_hist_rec_tab.OLD_ACTIVE_START_DATE(i) := p_party_hist_tbl(i).OLD_ACTIVE_START_DATE;
2185 p_party_hist_rec_tab.NEW_ACTIVE_START_DATE(i) := p_party_hist_tbl(i).NEW_ACTIVE_START_DATE;
2186 p_party_hist_rec_tab.OLD_ACTIVE_END_DATE(i) := p_party_hist_tbl(i).OLD_ACTIVE_END_DATE;
2187 p_party_hist_rec_tab.NEW_ACTIVE_END_DATE(i) := p_party_hist_tbl(i).NEW_ACTIVE_END_DATE;
2188 p_party_hist_rec_tab.OLD_CONTEXT(i) := p_party_hist_tbl(i).OLD_CONTEXT;
2189 p_party_hist_rec_tab.NEW_CONTEXT(i) := p_party_hist_tbl(i).NEW_CONTEXT;
2190 p_party_hist_rec_tab.OLD_ATTRIBUTE1(i) := p_party_hist_tbl(i).OLD_ATTRIBUTE1;
2191 p_party_hist_rec_tab.NEW_ATTRIBUTE1(i) := p_party_hist_tbl(i).NEW_ATTRIBUTE1;
2192 p_party_hist_rec_tab.OLD_ATTRIBUTE2(i) := p_party_hist_tbl(i).OLD_ATTRIBUTE2;
2193 p_party_hist_rec_tab.NEW_ATTRIBUTE2(i) := p_party_hist_tbl(i).NEW_ATTRIBUTE2;
2194 p_party_hist_rec_tab.OLD_ATTRIBUTE3(i) := p_party_hist_tbl(i).OLD_ATTRIBUTE3;
2195 p_party_hist_rec_tab.NEW_ATTRIBUTE3(i) := p_party_hist_tbl(i).NEW_ATTRIBUTE3;
2196 p_party_hist_rec_tab.OLD_ATTRIBUTE4(i) := p_party_hist_tbl(i).OLD_ATTRIBUTE4;
2197 p_party_hist_rec_tab.NEW_ATTRIBUTE4(i) := p_party_hist_tbl(i).NEW_ATTRIBUTE4;
2198 p_party_hist_rec_tab.OLD_ATTRIBUTE5(i) := p_party_hist_tbl(i).OLD_ATTRIBUTE5;
2199 p_party_hist_rec_tab.NEW_ATTRIBUTE5(i) := p_party_hist_tbl(i).NEW_ATTRIBUTE5;
2200 p_party_hist_rec_tab.OLD_ATTRIBUTE6(i) := p_party_hist_tbl(i).OLD_ATTRIBUTE6;
2201 p_party_hist_rec_tab.NEW_ATTRIBUTE6(i) := p_party_hist_tbl(i).NEW_ATTRIBUTE6;
2202 p_party_hist_rec_tab.OLD_ATTRIBUTE7(i) := p_party_hist_tbl(i).OLD_ATTRIBUTE7;
2203 p_party_hist_rec_tab.NEW_ATTRIBUTE7(i) := p_party_hist_tbl(i).NEW_ATTRIBUTE7;
2204 p_party_hist_rec_tab.OLD_ATTRIBUTE8(i) := p_party_hist_tbl(i).OLD_ATTRIBUTE8;
2205 p_party_hist_rec_tab.NEW_ATTRIBUTE8(i) := p_party_hist_tbl(i).NEW_ATTRIBUTE8;
2206 p_party_hist_rec_tab.OLD_ATTRIBUTE9(i) := p_party_hist_tbl(i).OLD_ATTRIBUTE9;
2207 p_party_hist_rec_tab.NEW_ATTRIBUTE9(i) := p_party_hist_tbl(i).NEW_ATTRIBUTE9;
2208 p_party_hist_rec_tab.OLD_ATTRIBUTE10(i) := p_party_hist_tbl(i).OLD_ATTRIBUTE10;
2209 p_party_hist_rec_tab.NEW_ATTRIBUTE10(i) := p_party_hist_tbl(i).NEW_ATTRIBUTE10;
2210 p_party_hist_rec_tab.OLD_ATTRIBUTE11(i) := p_party_hist_tbl(i).OLD_ATTRIBUTE11;
2211 p_party_hist_rec_tab.NEW_ATTRIBUTE11(i) := p_party_hist_tbl(i).NEW_ATTRIBUTE11;
2212 p_party_hist_rec_tab.OLD_ATTRIBUTE12(i) := p_party_hist_tbl(i).OLD_ATTRIBUTE12;
2213 p_party_hist_rec_tab.NEW_ATTRIBUTE12(i) := p_party_hist_tbl(i).NEW_ATTRIBUTE12;
2214 p_party_hist_rec_tab.OLD_ATTRIBUTE13(i) := p_party_hist_tbl(i).OLD_ATTRIBUTE13;
2215 p_party_hist_rec_tab.NEW_ATTRIBUTE13(i) := p_party_hist_tbl(i).NEW_ATTRIBUTE13;
2216 p_party_hist_rec_tab.OLD_ATTRIBUTE14(i) := p_party_hist_tbl(i).OLD_ATTRIBUTE14;
2217 p_party_hist_rec_tab.NEW_ATTRIBUTE14(i) := p_party_hist_tbl(i).NEW_ATTRIBUTE14;
2218 p_party_hist_rec_tab.OLD_ATTRIBUTE15(i) := p_party_hist_tbl(i).OLD_ATTRIBUTE15;
2219 p_party_hist_rec_tab.NEW_ATTRIBUTE15(i) := p_party_hist_tbl(i).NEW_ATTRIBUTE15;
2220 p_party_hist_rec_tab.FULL_DUMP_FLAG(i) := p_party_hist_tbl(i).FULL_DUMP_FLAG;
2224 p_party_hist_rec_tab.OLD_PRIMARY_FLAG(i) := p_party_hist_tbl(i).OLD_PRIMARY_FLAG;
2221 p_party_hist_rec_tab.OBJECT_VERSION_NUMBER(i) := p_party_hist_tbl(i).OBJECT_VERSION_NUMBER;
2222 p_party_hist_rec_tab.OLD_PREFERRED_FLAG(i) := p_party_hist_tbl(i).OLD_PREFERRED_FLAG;
2223 p_party_hist_rec_tab.NEW_PREFERRED_FLAG(i) := p_party_hist_tbl(i).NEW_PREFERRED_FLAG;
2225 p_party_hist_rec_tab.NEW_PRIMARY_FLAG(i) := p_party_hist_tbl(i).NEW_PRIMARY_FLAG;
2226 p_party_hist_rec_tab.old_party_number(i) := p_party_hist_tbl(i).old_party_number;
2227 p_party_hist_rec_tab.old_party_name(i) := p_party_hist_tbl(i).old_party_name;
2228 p_party_hist_rec_tab.old_party_type(i) := p_party_hist_tbl(i).old_party_type;
2229 p_party_hist_rec_tab.old_contact_party_number(i) := p_party_hist_tbl(i).old_contact_party_number;
2230 p_party_hist_rec_tab.old_contact_party_name(i) := p_party_hist_tbl(i).old_contact_party_name;
2231 p_party_hist_rec_tab.old_contact_party_type(i) := p_party_hist_tbl(i).old_contact_party_type;
2232 p_party_hist_rec_tab.old_contact_address1(i) := p_party_hist_tbl(i).old_contact_address1;
2233 p_party_hist_rec_tab.old_contact_address2(i) := p_party_hist_tbl(i).old_contact_address2;
2234 p_party_hist_rec_tab.old_contact_address3(i) := p_party_hist_tbl(i).old_contact_address3;
2235 p_party_hist_rec_tab.old_contact_address4(i) := p_party_hist_tbl(i).old_contact_address4;
2236 p_party_hist_rec_tab.old_contact_city(i) := p_party_hist_tbl(i).old_contact_city;
2237 p_party_hist_rec_tab.old_contact_state(i) := p_party_hist_tbl(i).old_contact_state;
2238 p_party_hist_rec_tab.old_contact_postal_code(i) := p_party_hist_tbl(i).old_contact_postal_code;
2239 p_party_hist_rec_tab.old_contact_country(i) := p_party_hist_tbl(i).old_contact_country;
2240 p_party_hist_rec_tab.old_contact_work_phone_num(i) := p_party_hist_tbl(i).old_contact_work_phone_num;
2241 p_party_hist_rec_tab.old_contact_email_address(i) := p_party_hist_tbl(i).old_contact_email_address;
2242 p_party_hist_rec_tab.new_party_number(i) := p_party_hist_tbl(i).new_party_number;
2243 p_party_hist_rec_tab.new_party_name(i) := p_party_hist_tbl(i).new_party_name;
2244 p_party_hist_rec_tab.new_party_type(i) := p_party_hist_tbl(i).new_party_type;
2245 p_party_hist_rec_tab.new_contact_party_number(i) := p_party_hist_tbl(i).new_contact_party_number;
2246 p_party_hist_rec_tab.new_contact_party_name(i) := p_party_hist_tbl(i).new_contact_party_name;
2247 p_party_hist_rec_tab.new_contact_party_type(i) := p_party_hist_tbl(i).new_contact_party_type;
2248 p_party_hist_rec_tab.new_contact_address1(i) := p_party_hist_tbl(i).new_contact_address1;
2249 p_party_hist_rec_tab.new_contact_address2(i) := p_party_hist_tbl(i).new_contact_address2;
2250 p_party_hist_rec_tab.new_contact_address3(i) := p_party_hist_tbl(i).new_contact_address3;
2251 p_party_hist_rec_tab.new_contact_address4(i) := p_party_hist_tbl(i).new_contact_address4;
2252 p_party_hist_rec_tab.new_contact_city(i) := p_party_hist_tbl(i).new_contact_city;
2253 p_party_hist_rec_tab.new_contact_state(i) := p_party_hist_tbl(i).new_contact_state;
2254 p_party_hist_rec_tab.new_contact_postal_code(i) := p_party_hist_tbl(i).new_contact_postal_code;
2255 p_party_hist_rec_tab.new_contact_country(i) := p_party_hist_tbl(i).new_contact_country;
2256 p_party_hist_rec_tab.new_contact_work_phone_num(i) := p_party_hist_tbl(i).new_contact_work_phone_num;
2257 p_party_hist_rec_tab.new_contact_email_address(i) := p_party_hist_tbl(i).new_contact_email_address;
2258 p_party_hist_rec_tab.INSTANCE_ID(i) := p_party_hist_tbl(i).INSTANCE_ID;
2259 END LOOP;
2260 END Build_Party_Hist_Rec_of_Table;
2261 --
2262 PROCEDURE Build_Acct_Rec_of_Table
2263 (
2264 p_account_tbl IN csi_datastructures_pub.party_account_tbl
2265 ,p_account_rec_tab IN OUT NOCOPY csi_item_instance_grp.account_rec_tab
2266 ) IS
2267 BEGIN
2268 FOR i in p_account_tbl.FIRST .. p_account_tbl.LAST LOOP
2269 p_account_rec_tab.ip_account_id(i) := p_account_tbl(i).ip_account_id;
2270 p_account_rec_tab.parent_tbl_index(i) := p_account_tbl(i).parent_tbl_index;
2271 p_account_rec_tab.instance_party_id(i) := p_account_tbl(i).instance_party_id;
2272 p_account_rec_tab.party_account_id(i) := p_account_tbl(i).party_account_id;
2273 p_account_rec_tab.relationship_type_code(i) := p_account_tbl(i).relationship_type_code;
2274 p_account_rec_tab.bill_to_address(i) := p_account_tbl(i).bill_to_address;
2275 p_account_rec_tab.ship_to_address(i) := p_account_tbl(i).ship_to_address;
2276 p_account_rec_tab.active_start_date(i) := p_account_tbl(i).active_start_date;
2277 p_account_rec_tab.active_end_date(i) := p_account_tbl(i).active_end_date;
2278 p_account_rec_tab.context(i) := p_account_tbl(i).context;
2279 p_account_rec_tab.attribute1(i) := p_account_tbl(i).attribute1;
2280 p_account_rec_tab.attribute2(i) := p_account_tbl(i).attribute2;
2281 p_account_rec_tab.attribute3(i) := p_account_tbl(i).attribute3;
2282 p_account_rec_tab.attribute4(i) := p_account_tbl(i).attribute4;
2283 p_account_rec_tab.attribute5(i) := p_account_tbl(i).attribute5;
2284 p_account_rec_tab.attribute6(i) := p_account_tbl(i).attribute6;
2285 p_account_rec_tab.attribute7(i) := p_account_tbl(i).attribute7;
2286 p_account_rec_tab.attribute8(i) := p_account_tbl(i).attribute8;
2287 p_account_rec_tab.attribute9(i) := p_account_tbl(i).attribute9;
2288 p_account_rec_tab.attribute10(i) := p_account_tbl(i).attribute10;
2289 p_account_rec_tab.attribute11(i) := p_account_tbl(i).attribute11;
2290 p_account_rec_tab.attribute12(i) := p_account_tbl(i).attribute12;
2291 p_account_rec_tab.attribute13(i) := p_account_tbl(i).attribute13;
2292 p_account_rec_tab.attribute14(i) := p_account_tbl(i).attribute14;
2293 p_account_rec_tab.attribute15(i) := p_account_tbl(i).attribute15;
2294 p_account_rec_tab.object_version_number(i) := p_account_tbl(i).object_version_number;
2295 p_account_rec_tab.call_contracts(i) := p_account_tbl(i).call_contracts;
2296 p_account_rec_tab.vld_organization_id(i) := p_account_tbl(i).vld_organization_id;
2297 p_account_rec_tab.expire_flag(i) := p_account_tbl(i).expire_flag;
2298 p_account_rec_tab.grp_call_contracts(i) := p_account_tbl(i).grp_call_contracts;
2299 END LOOP;
2300 END Build_Acct_Rec_of_Table;
2301 --
2302 PROCEDURE Build_Acct_Hist_Rec_of_Table
2303 (
2304 p_acct_hist_tbl IN csi_datastructures_pub.account_history_tbl
2305 ,p_acct_hist_rec_tab IN OUT NOCOPY csi_item_instance_grp.account_history_rec_tab
2306 ) IS
2307 BEGIN
2308 FOR i in p_acct_hist_tbl.FIRST .. p_acct_hist_tbl.LAST LOOP
2309 p_acct_hist_rec_tab.IP_ACCOUNT_HISTORY_ID(i) := p_acct_hist_tbl(i).IP_ACCOUNT_HISTORY_ID;
2310 p_acct_hist_rec_tab.IP_ACCOUNT_ID(i) := p_acct_hist_tbl(i).IP_ACCOUNT_ID;
2311 p_acct_hist_rec_tab.TRANSACTION_ID(i) := p_acct_hist_tbl(i).TRANSACTION_ID;
2312 p_acct_hist_rec_tab.OLD_PARTY_ACCOUNT_ID(i) := p_acct_hist_tbl(i).OLD_PARTY_ACCOUNT_ID;
2313 p_acct_hist_rec_tab.NEW_PARTY_ACCOUNT_ID(i) := p_acct_hist_tbl(i).NEW_PARTY_ACCOUNT_ID;
2314 p_acct_hist_rec_tab.OLD_RELATIONSHIP_TYPE_CODE(i) := p_acct_hist_tbl(i).OLD_RELATIONSHIP_TYPE_CODE;
2315 p_acct_hist_rec_tab.NEW_RELATIONSHIP_TYPE_CODE(i) := p_acct_hist_tbl(i).NEW_RELATIONSHIP_TYPE_CODE;
2316 p_acct_hist_rec_tab.OLD_ACTIVE_START_DATE(i) := p_acct_hist_tbl(i).OLD_ACTIVE_START_DATE;
2317 p_acct_hist_rec_tab.NEW_ACTIVE_START_DATE(i) := p_acct_hist_tbl(i).NEW_ACTIVE_START_DATE;
2318 p_acct_hist_rec_tab.OLD_ACTIVE_END_DATE(i) := p_acct_hist_tbl(i).OLD_ACTIVE_END_DATE;
2319 p_acct_hist_rec_tab.NEW_ACTIVE_END_DATE(i) := p_acct_hist_tbl(i).NEW_ACTIVE_END_DATE;
2320 p_acct_hist_rec_tab.OLD_CONTEXT(i) := p_acct_hist_tbl(i).OLD_CONTEXT;
2321 p_acct_hist_rec_tab.NEW_CONTEXT(i) := p_acct_hist_tbl(i).NEW_CONTEXT;
2322 p_acct_hist_rec_tab.OLD_ATTRIBUTE1(i) := p_acct_hist_tbl(i).OLD_ATTRIBUTE1;
2323 p_acct_hist_rec_tab.NEW_ATTRIBUTE1(i) := p_acct_hist_tbl(i).NEW_ATTRIBUTE1;
2324 p_acct_hist_rec_tab.OLD_ATTRIBUTE2(i) := p_acct_hist_tbl(i).OLD_ATTRIBUTE2;
2325 p_acct_hist_rec_tab.NEW_ATTRIBUTE2(i) := p_acct_hist_tbl(i).NEW_ATTRIBUTE2;
2326 p_acct_hist_rec_tab.OLD_ATTRIBUTE3(i) := p_acct_hist_tbl(i).OLD_ATTRIBUTE3;
2327 p_acct_hist_rec_tab.NEW_ATTRIBUTE3(i) := p_acct_hist_tbl(i).NEW_ATTRIBUTE3;
2328 p_acct_hist_rec_tab.OLD_ATTRIBUTE4(i) := p_acct_hist_tbl(i).OLD_ATTRIBUTE4;
2329 p_acct_hist_rec_tab.NEW_ATTRIBUTE4(i) := p_acct_hist_tbl(i).NEW_ATTRIBUTE4;
2330 p_acct_hist_rec_tab.OLD_ATTRIBUTE5(i) := p_acct_hist_tbl(i).OLD_ATTRIBUTE5;
2331 p_acct_hist_rec_tab.NEW_ATTRIBUTE5(i) := p_acct_hist_tbl(i).NEW_ATTRIBUTE5;
2332 p_acct_hist_rec_tab.OLD_ATTRIBUTE6(i) := p_acct_hist_tbl(i).OLD_ATTRIBUTE6;
2333 p_acct_hist_rec_tab.NEW_ATTRIBUTE6(i) := p_acct_hist_tbl(i).NEW_ATTRIBUTE6;
2334 p_acct_hist_rec_tab.OLD_ATTRIBUTE7(i) := p_acct_hist_tbl(i).OLD_ATTRIBUTE7;
2335 p_acct_hist_rec_tab.NEW_ATTRIBUTE7(i) := p_acct_hist_tbl(i).NEW_ATTRIBUTE7;
2336 p_acct_hist_rec_tab.OLD_ATTRIBUTE8(i) := p_acct_hist_tbl(i).OLD_ATTRIBUTE8;
2337 p_acct_hist_rec_tab.NEW_ATTRIBUTE8(i) := p_acct_hist_tbl(i).NEW_ATTRIBUTE8;
2338 p_acct_hist_rec_tab.OLD_ATTRIBUTE9(i) := p_acct_hist_tbl(i).OLD_ATTRIBUTE9;
2339 p_acct_hist_rec_tab.NEW_ATTRIBUTE9(i) := p_acct_hist_tbl(i).NEW_ATTRIBUTE9;
2340 p_acct_hist_rec_tab.OLD_ATTRIBUTE10(i) := p_acct_hist_tbl(i).OLD_ATTRIBUTE10;
2341 p_acct_hist_rec_tab.NEW_ATTRIBUTE10(i) := p_acct_hist_tbl(i).NEW_ATTRIBUTE10;
2342 p_acct_hist_rec_tab.OLD_ATTRIBUTE11(i) := p_acct_hist_tbl(i).OLD_ATTRIBUTE11;
2343 p_acct_hist_rec_tab.NEW_ATTRIBUTE11(i) := p_acct_hist_tbl(i).NEW_ATTRIBUTE11;
2344 p_acct_hist_rec_tab.OLD_ATTRIBUTE12(i) := p_acct_hist_tbl(i).OLD_ATTRIBUTE12;
2345 p_acct_hist_rec_tab.NEW_ATTRIBUTE12(i) := p_acct_hist_tbl(i).NEW_ATTRIBUTE12;
2346 p_acct_hist_rec_tab.OLD_ATTRIBUTE13(i) := p_acct_hist_tbl(i).OLD_ATTRIBUTE13;
2347 p_acct_hist_rec_tab.NEW_ATTRIBUTE13(i) := p_acct_hist_tbl(i).NEW_ATTRIBUTE13;
2348 p_acct_hist_rec_tab.OLD_ATTRIBUTE14(i) := p_acct_hist_tbl(i).OLD_ATTRIBUTE14;
2349 p_acct_hist_rec_tab.NEW_ATTRIBUTE14(i) := p_acct_hist_tbl(i).NEW_ATTRIBUTE14;
2350 p_acct_hist_rec_tab.OLD_ATTRIBUTE15(i) := p_acct_hist_tbl(i).OLD_ATTRIBUTE15;
2351 p_acct_hist_rec_tab.NEW_ATTRIBUTE15(i) := p_acct_hist_tbl(i).NEW_ATTRIBUTE15;
2352 p_acct_hist_rec_tab.FULL_DUMP_FLAG(i) := p_acct_hist_tbl(i).FULL_DUMP_FLAG;
2353 p_acct_hist_rec_tab.OBJECT_VERSION_NUMBER(i) := p_acct_hist_tbl(i).OBJECT_VERSION_NUMBER;
2354 p_acct_hist_rec_tab.OLD_BILL_TO_ADDRESS(i) := p_acct_hist_tbl(i).OLD_BILL_TO_ADDRESS;
2355 p_acct_hist_rec_tab.NEW_BILL_TO_ADDRESS(i) := p_acct_hist_tbl(i).NEW_BILL_TO_ADDRESS;
2356 p_acct_hist_rec_tab.OLD_SHIP_TO_ADDRESS(i) := p_acct_hist_tbl(i).OLD_SHIP_TO_ADDRESS;
2357 p_acct_hist_rec_tab.NEW_SHIP_TO_ADDRESS(i) := p_acct_hist_tbl(i).NEW_SHIP_TO_ADDRESS;
2358 p_acct_hist_rec_tab.old_party_account_number(i) := p_acct_hist_tbl(i).old_party_account_number;
2359 p_acct_hist_rec_tab.old_party_account_name(i) := p_acct_hist_tbl(i).old_party_account_name;
2360 p_acct_hist_rec_tab.old_bill_to_location(i) := p_acct_hist_tbl(i).old_bill_to_location;
2361 p_acct_hist_rec_tab.old_ship_to_location(i) := p_acct_hist_tbl(i).old_ship_to_location;
2362 p_acct_hist_rec_tab.new_party_account_number(i) := p_acct_hist_tbl(i).new_party_account_number;
2363 p_acct_hist_rec_tab.new_party_account_name(i) := p_acct_hist_tbl(i).new_party_account_name;
2364 p_acct_hist_rec_tab.new_bill_to_location(i) := p_acct_hist_tbl(i).new_bill_to_location;
2365 p_acct_hist_rec_tab.new_ship_to_location(i) := p_acct_hist_tbl(i).new_ship_to_location;
2366 p_acct_hist_rec_tab.INSTANCE_ID(i) := p_acct_hist_tbl(i).INSTANCE_ID;
2367 END LOOP;
2368 END Build_Acct_Hist_Rec_of_Table;
2369 --
2370 PROCEDURE Build_Owner_Pty_Acct_Rec_Table
2371 (
2372 p_owner_pty_acct_tbl IN csi_item_instance_pvt.owner_pty_acct_tbl
2373 ,p_owner_pty_acct_rec_tab IN OUT NOCOPY csi_item_instance_pvt.owner_pty_acct_rec_tab
2374 ) IS
2375 BEGIN
2376 FOR i in p_owner_pty_acct_tbl.FIRST .. p_owner_pty_acct_tbl.LAST LOOP
2377 p_owner_pty_acct_rec_tab.instance_id(i) := p_owner_pty_acct_tbl(i).instance_id;
2378 p_owner_pty_acct_rec_tab.party_source_table(i) := p_owner_pty_acct_tbl(i).party_source_table;
2379 p_owner_pty_acct_rec_tab.party_id(i) := p_owner_pty_acct_tbl(i).party_id;
2380 p_owner_pty_acct_rec_tab.account_id(i) := p_owner_pty_acct_tbl(i).account_id;
2381 END LOOP;
2382 END Build_Owner_Pty_Acct_Rec_Table;
2383 --
2384 PROCEDURE Build_Txn_Rec_of_Table
2385 (
2386 p_txn_tbl IN csi_datastructures_pub.transaction_tbl
2387 ,p_txn_rec_tab IN OUT NOCOPY csi_item_instance_grp.transaction_rec_tab
2388 ) IS
2389 BEGIN
2390 FOR i in p_txn_tbl.FIRST .. p_txn_tbl.LAST LOOP
2391 p_txn_rec_tab.TRANSACTION_ID(i) := p_txn_tbl(i).TRANSACTION_ID;
2392 p_txn_rec_tab.TRANSACTION_DATE(i) := p_txn_tbl(i).TRANSACTION_DATE;
2393 p_txn_rec_tab.SOURCE_TRANSACTION_DATE(i) := p_txn_tbl(i).SOURCE_TRANSACTION_DATE;
2394 p_txn_rec_tab.TRANSACTION_TYPE_ID(i) := p_txn_tbl(i).TRANSACTION_TYPE_ID;
2395 p_txn_rec_tab.TXN_SUB_TYPE_ID(i) := p_txn_tbl(i).TXN_SUB_TYPE_ID;
2396 p_txn_rec_tab.SOURCE_GROUP_REF_ID(i) := p_txn_tbl(i).SOURCE_GROUP_REF_ID;
2397 p_txn_rec_tab.SOURCE_GROUP_REF(i) := p_txn_tbl(i).SOURCE_GROUP_REF;
2398 p_txn_rec_tab.SOURCE_HEADER_REF_ID(i) := p_txn_tbl(i).SOURCE_HEADER_REF_ID;
2399 p_txn_rec_tab.SOURCE_HEADER_REF(i) := p_txn_tbl(i).SOURCE_HEADER_REF;
2400 p_txn_rec_tab.SOURCE_LINE_REF_ID(i) := p_txn_tbl(i).SOURCE_LINE_REF_ID;
2401 p_txn_rec_tab.SOURCE_LINE_REF(i) := p_txn_tbl(i).SOURCE_LINE_REF;
2402 p_txn_rec_tab.SOURCE_DIST_REF_ID1(i) := p_txn_tbl(i).SOURCE_DIST_REF_ID1;
2403 p_txn_rec_tab.SOURCE_DIST_REF_ID2(i) := p_txn_tbl(i).SOURCE_DIST_REF_ID2;
2404 p_txn_rec_tab.INV_MATERIAL_TRANSACTION_ID(i) := p_txn_tbl(i).INV_MATERIAL_TRANSACTION_ID;
2405 p_txn_rec_tab.TRANSACTION_QUANTITY(i) := p_txn_tbl(i).TRANSACTION_QUANTITY;
2406 p_txn_rec_tab.TRANSACTION_UOM_CODE(i) := p_txn_tbl(i).TRANSACTION_UOM_CODE;
2407 p_txn_rec_tab.TRANSACTED_BY(i) := p_txn_tbl(i).TRANSACTED_BY;
2408 p_txn_rec_tab.TRANSACTION_STATUS_CODE(i) := p_txn_tbl(i).TRANSACTION_STATUS_CODE;
2409 p_txn_rec_tab.TRANSACTION_ACTION_CODE(i) := p_txn_tbl(i).TRANSACTION_ACTION_CODE;
2410 p_txn_rec_tab.MESSAGE_ID(i) := p_txn_tbl(i).MESSAGE_ID;
2411 p_txn_rec_tab.CONTEXT(i) := p_txn_tbl(i).CONTEXT;
2412 p_txn_rec_tab.ATTRIBUTE1(i) := p_txn_tbl(i).ATTRIBUTE1;
2413 p_txn_rec_tab.ATTRIBUTE2(i) := p_txn_tbl(i).ATTRIBUTE2;
2414 p_txn_rec_tab.ATTRIBUTE3(i) := p_txn_tbl(i).ATTRIBUTE3;
2415 p_txn_rec_tab.ATTRIBUTE4(i) := p_txn_tbl(i).ATTRIBUTE4;
2416 p_txn_rec_tab.ATTRIBUTE5(i) := p_txn_tbl(i).ATTRIBUTE5;
2417 p_txn_rec_tab.ATTRIBUTE6(i) := p_txn_tbl(i).ATTRIBUTE6;
2418 p_txn_rec_tab.ATTRIBUTE7(i) := p_txn_tbl(i).ATTRIBUTE7;
2419 p_txn_rec_tab.ATTRIBUTE8(i) := p_txn_tbl(i).ATTRIBUTE8;
2420 p_txn_rec_tab.ATTRIBUTE9(i) := p_txn_tbl(i).ATTRIBUTE9;
2421 p_txn_rec_tab.ATTRIBUTE10(i) := p_txn_tbl(i).ATTRIBUTE10;
2422 p_txn_rec_tab.ATTRIBUTE11(i) := p_txn_tbl(i).ATTRIBUTE11;
2423 p_txn_rec_tab.ATTRIBUTE12(i) := p_txn_tbl(i).ATTRIBUTE12;
2424 p_txn_rec_tab.ATTRIBUTE13(i) := p_txn_tbl(i).ATTRIBUTE13;
2425 p_txn_rec_tab.ATTRIBUTE14(i) := p_txn_tbl(i).ATTRIBUTE14;
2426 p_txn_rec_tab.ATTRIBUTE15(i) := p_txn_tbl(i).ATTRIBUTE15;
2427 p_txn_rec_tab.OBJECT_VERSION_NUMBER(i) := p_txn_tbl(i).OBJECT_VERSION_NUMBER;
2428 p_txn_rec_tab.SPLIT_REASON_CODE(i) := p_txn_tbl(i).SPLIT_REASON_CODE;
2429 p_txn_rec_tab.GL_INTERFACE_STATUS_CODE(i) := p_txn_tbl(i).GL_INTERFACE_STATUS_CODE;
2430 END LOOP;
2431 END Build_Txn_Rec_of_Table;
2432 --
2433 PROCEDURE Build_Org_Rec_of_Table
2434 (
2435 p_org_tbl IN csi_datastructures_pub.organization_units_tbl
2436 ,p_org_units_rec_tab IN OUT NOCOPY csi_item_instance_grp.org_units_rec_tab
2437 ) IS
2438 BEGIN
2439 FOR i in p_org_tbl.FIRST .. p_org_tbl.LAST LOOP
2440 p_org_units_rec_tab.instance_ou_id(i) := p_org_tbl(i).instance_ou_id;
2441 p_org_units_rec_tab.instance_id(i) := p_org_tbl(i).instance_id;
2442 p_org_units_rec_tab.operating_unit_id(i) := p_org_tbl(i).operating_unit_id;
2443 p_org_units_rec_tab.relationship_type_code(i) := p_org_tbl(i).relationship_type_code;
2444 p_org_units_rec_tab.active_start_date(i) := p_org_tbl(i).active_start_date;
2445 p_org_units_rec_tab.active_end_date(i) := p_org_tbl(i).active_end_date;
2446 p_org_units_rec_tab.context(i) := p_org_tbl(i).context;
2447 p_org_units_rec_tab.attribute1(i) := p_org_tbl(i).attribute1;
2448 p_org_units_rec_tab.attribute2(i) := p_org_tbl(i).attribute2;
2449 p_org_units_rec_tab.attribute3(i) := p_org_tbl(i).attribute3;
2450 p_org_units_rec_tab.attribute4(i) := p_org_tbl(i).attribute4;
2451 p_org_units_rec_tab.attribute5(i) := p_org_tbl(i).attribute5;
2452 p_org_units_rec_tab.attribute6(i) := p_org_tbl(i).attribute6;
2453 p_org_units_rec_tab.attribute7(i) := p_org_tbl(i).attribute7;
2454 p_org_units_rec_tab.attribute8(i) := p_org_tbl(i).attribute8;
2455 p_org_units_rec_tab.attribute9(i) := p_org_tbl(i).attribute9;
2456 p_org_units_rec_tab.attribute10(i) := p_org_tbl(i).attribute10;
2457 p_org_units_rec_tab.attribute11(i) := p_org_tbl(i).attribute11;
2458 p_org_units_rec_tab.attribute12(i) := p_org_tbl(i).attribute12;
2459 p_org_units_rec_tab.attribute13(i) := p_org_tbl(i).attribute13;
2460 p_org_units_rec_tab.attribute14(i) := p_org_tbl(i).attribute14;
2461 p_org_units_rec_tab.attribute15(i) := p_org_tbl(i).attribute15;
2462 p_org_units_rec_tab.object_version_number(i) := p_org_tbl(i).object_version_number;
2463 p_org_units_rec_tab.parent_tbl_index(i) := p_org_tbl(i).parent_tbl_index;
2464 END LOOP;
2465 END Build_Org_Rec_of_Table;
2466 --
2467 PROCEDURE Build_Org_Hist_Rec_of_Table
2468 ( p_org_hist_tbl IN csi_datastructures_pub.org_units_history_tbl
2469 ,p_org_hist_rec_tab IN OUT NOCOPY csi_item_instance_grp.org_units_history_rec_tab
2470 ) IS
2471 BEGIN
2472 FOR i in p_org_hist_tbl.FIRST .. p_org_hist_tbl.LAST LOOP
2473 p_org_hist_rec_tab.INSTANCE_OU_HISTORY_ID(i) := p_org_hist_tbl(i).INSTANCE_OU_HISTORY_ID;
2474 p_org_hist_rec_tab.INSTANCE_OU_ID(i) := p_org_hist_tbl(i).INSTANCE_OU_ID;
2475 p_org_hist_rec_tab.TRANSACTION_ID(i) := p_org_hist_tbl(i).TRANSACTION_ID;
2476 p_org_hist_rec_tab.OLD_OPERATING_UNIT_ID(i) := p_org_hist_tbl(i).OLD_OPERATING_UNIT_ID;
2477 p_org_hist_rec_tab.NEW_OPERATING_UNIT_ID(i) := p_org_hist_tbl(i).NEW_OPERATING_UNIT_ID;
2478 p_org_hist_rec_tab.OLD_RELATIONSHIP_TYPE_CODE(i) := p_org_hist_tbl(i).OLD_RELATIONSHIP_TYPE_CODE;
2479 p_org_hist_rec_tab.NEW_RELATIONSHIP_TYPE_CODE(i) := p_org_hist_tbl(i).NEW_RELATIONSHIP_TYPE_CODE;
2480 p_org_hist_rec_tab.OLD_ACTIVE_START_DATE(i) := p_org_hist_tbl(i).OLD_ACTIVE_START_DATE;
2481 p_org_hist_rec_tab.NEW_ACTIVE_START_DATE(i) := p_org_hist_tbl(i).NEW_ACTIVE_START_DATE;
2482 p_org_hist_rec_tab.OLD_ACTIVE_END_DATE(i) := p_org_hist_tbl(i).OLD_ACTIVE_END_DATE;
2483 p_org_hist_rec_tab.NEW_ACTIVE_END_DATE(i) := p_org_hist_tbl(i).NEW_ACTIVE_END_DATE;
2484 p_org_hist_rec_tab.OLD_CONTEXT(i) := p_org_hist_tbl(i).OLD_CONTEXT;
2485 p_org_hist_rec_tab.NEW_CONTEXT(i) := p_org_hist_tbl(i).NEW_CONTEXT;
2486 p_org_hist_rec_tab.OLD_ATTRIBUTE1(i) := p_org_hist_tbl(i).OLD_ATTRIBUTE1;
2487 p_org_hist_rec_tab.NEW_ATTRIBUTE1(i) := p_org_hist_tbl(i).NEW_ATTRIBUTE1;
2488 p_org_hist_rec_tab.OLD_ATTRIBUTE2(i) := p_org_hist_tbl(i).OLD_ATTRIBUTE2;
2489 p_org_hist_rec_tab.NEW_ATTRIBUTE2(i) := p_org_hist_tbl(i).NEW_ATTRIBUTE2;
2490 p_org_hist_rec_tab.OLD_ATTRIBUTE3(i) := p_org_hist_tbl(i).OLD_ATTRIBUTE3;
2491 p_org_hist_rec_tab.NEW_ATTRIBUTE3(i) := p_org_hist_tbl(i).NEW_ATTRIBUTE3;
2492 p_org_hist_rec_tab.OLD_ATTRIBUTE4(i) := p_org_hist_tbl(i).OLD_ATTRIBUTE4;
2493 p_org_hist_rec_tab.NEW_ATTRIBUTE4(i) := p_org_hist_tbl(i).NEW_ATTRIBUTE4;
2494 p_org_hist_rec_tab.OLD_ATTRIBUTE5(i) := p_org_hist_tbl(i).OLD_ATTRIBUTE5;
2495 p_org_hist_rec_tab.NEW_ATTRIBUTE5(i) := p_org_hist_tbl(i).NEW_ATTRIBUTE5;
2496 p_org_hist_rec_tab.OLD_ATTRIBUTE6(i) := p_org_hist_tbl(i).OLD_ATTRIBUTE6;
2497 p_org_hist_rec_tab.NEW_ATTRIBUTE6(i) := p_org_hist_tbl(i).NEW_ATTRIBUTE6;
2498 p_org_hist_rec_tab.OLD_ATTRIBUTE7(i) := p_org_hist_tbl(i).OLD_ATTRIBUTE7;
2499 p_org_hist_rec_tab.NEW_ATTRIBUTE7(i) := p_org_hist_tbl(i).NEW_ATTRIBUTE7;
2500 p_org_hist_rec_tab.OLD_ATTRIBUTE8(i) := p_org_hist_tbl(i).OLD_ATTRIBUTE8;
2501 p_org_hist_rec_tab.NEW_ATTRIBUTE8(i) := p_org_hist_tbl(i).NEW_ATTRIBUTE8;
2502 p_org_hist_rec_tab.OLD_ATTRIBUTE9(i) := p_org_hist_tbl(i).OLD_ATTRIBUTE9;
2503 p_org_hist_rec_tab.NEW_ATTRIBUTE9(i) := p_org_hist_tbl(i).NEW_ATTRIBUTE9;
2504 p_org_hist_rec_tab.OLD_ATTRIBUTE10(i) := p_org_hist_tbl(i).OLD_ATTRIBUTE10;
2505 p_org_hist_rec_tab.NEW_ATTRIBUTE10(i) := p_org_hist_tbl(i).NEW_ATTRIBUTE10;
2506 p_org_hist_rec_tab.OLD_ATTRIBUTE11(i) := p_org_hist_tbl(i).OLD_ATTRIBUTE11;
2507 p_org_hist_rec_tab.NEW_ATTRIBUTE11(i) := p_org_hist_tbl(i).NEW_ATTRIBUTE11;
2508 p_org_hist_rec_tab.OLD_ATTRIBUTE12(i) := p_org_hist_tbl(i).OLD_ATTRIBUTE12;
2509 p_org_hist_rec_tab.NEW_ATTRIBUTE12(i) := p_org_hist_tbl(i).NEW_ATTRIBUTE12;
2510 p_org_hist_rec_tab.OLD_ATTRIBUTE13(i) := p_org_hist_tbl(i).OLD_ATTRIBUTE13;
2511 p_org_hist_rec_tab.NEW_ATTRIBUTE13(i) := p_org_hist_tbl(i).NEW_ATTRIBUTE13;
2512 p_org_hist_rec_tab.OLD_ATTRIBUTE14(i) := p_org_hist_tbl(i).OLD_ATTRIBUTE14;
2513 p_org_hist_rec_tab.NEW_ATTRIBUTE14(i) := p_org_hist_tbl(i).NEW_ATTRIBUTE14;
2514 p_org_hist_rec_tab.OLD_ATTRIBUTE15(i) := p_org_hist_tbl(i).OLD_ATTRIBUTE15;
2515 p_org_hist_rec_tab.NEW_ATTRIBUTE15(i) := p_org_hist_tbl(i).NEW_ATTRIBUTE15;
2516 p_org_hist_rec_tab.FULL_DUMP_FLAG(i) := p_org_hist_tbl(i).FULL_DUMP_FLAG;
2517 p_org_hist_rec_tab.OBJECT_VERSION_NUMBER(i) := p_org_hist_tbl(i).OBJECT_VERSION_NUMBER;
2518 p_org_hist_rec_tab.new_operating_unit_name(i) := p_org_hist_tbl(i).new_operating_unit_name;
2519 p_org_hist_rec_tab.old_operating_unit_name(i) := p_org_hist_tbl(i).old_operating_unit_name;
2520 p_org_hist_rec_tab.INSTANCE_ID(i) := p_org_hist_tbl(i).INSTANCE_ID;
2521
2522 END LOOP;
2523 END Build_Org_Hist_Rec_of_Table;
2524 --
2525 PROCEDURE Build_pricing_Rec_of_Table
2526 (
2527 p_pricing_tbl IN csi_datastructures_pub.pricing_attribs_tbl
2528 ,p_pricing_rec_tab IN OUT NOCOPY csi_item_instance_grp.pricing_attribs_rec_tab
2529 ) IS
2530 BEGIN
2531 FOR i in p_pricing_tbl.FIRST .. p_pricing_tbl.LAST LOOP
2532 p_pricing_rec_tab.pricing_attribute_id(i) := p_pricing_tbl(i).pricing_attribute_id;
2533 p_pricing_rec_tab.instance_id(i) := p_pricing_tbl(i).instance_id;
2534 p_pricing_rec_tab.active_start_date(i) := p_pricing_tbl(i).active_start_date;
2535 p_pricing_rec_tab.active_end_date(i) := p_pricing_tbl(i).active_end_date;
2536 p_pricing_rec_tab.pricing_context(i) := p_pricing_tbl(i).pricing_context;
2537 p_pricing_rec_tab.pricing_attribute1(i) := p_pricing_tbl(i).pricing_attribute1;
2538 p_pricing_rec_tab.pricing_attribute2(i) := p_pricing_tbl(i).pricing_attribute2;
2539 p_pricing_rec_tab.pricing_attribute3(i) := p_pricing_tbl(i).pricing_attribute3;
2540 p_pricing_rec_tab.pricing_attribute4(i) := p_pricing_tbl(i).pricing_attribute4;
2541 p_pricing_rec_tab.pricing_attribute5(i) := p_pricing_tbl(i).pricing_attribute5;
2542 p_pricing_rec_tab.pricing_attribute6(i) := p_pricing_tbl(i).pricing_attribute6;
2543 p_pricing_rec_tab.pricing_attribute7(i) := p_pricing_tbl(i).pricing_attribute7;
2544 p_pricing_rec_tab.pricing_attribute8(i) := p_pricing_tbl(i).pricing_attribute8;
2545 p_pricing_rec_tab.pricing_attribute9(i) := p_pricing_tbl(i).pricing_attribute9;
2546 p_pricing_rec_tab.pricing_attribute10(i) := p_pricing_tbl(i).pricing_attribute10;
2547 p_pricing_rec_tab.pricing_attribute11(i) := p_pricing_tbl(i).pricing_attribute11;
2548 p_pricing_rec_tab.pricing_attribute12(i) := p_pricing_tbl(i).pricing_attribute12;
2549 p_pricing_rec_tab.pricing_attribute13(i) := p_pricing_tbl(i).pricing_attribute13;
2550 p_pricing_rec_tab.pricing_attribute14(i) := p_pricing_tbl(i).pricing_attribute14;
2551 p_pricing_rec_tab.pricing_attribute15(i) := p_pricing_tbl(i).pricing_attribute15;
2552 p_pricing_rec_tab.pricing_attribute16(i) := p_pricing_tbl(i).pricing_attribute16;
2553 p_pricing_rec_tab.pricing_attribute17(i) := p_pricing_tbl(i).pricing_attribute17;
2554 p_pricing_rec_tab.pricing_attribute18(i) := p_pricing_tbl(i).pricing_attribute18;
2555 p_pricing_rec_tab.pricing_attribute19(i) := p_pricing_tbl(i).pricing_attribute19;
2556 p_pricing_rec_tab.pricing_attribute20(i) := p_pricing_tbl(i).pricing_attribute20;
2557 p_pricing_rec_tab.pricing_attribute21(i) := p_pricing_tbl(i).pricing_attribute21;
2558 p_pricing_rec_tab.pricing_attribute22(i) := p_pricing_tbl(i).pricing_attribute22;
2559 p_pricing_rec_tab.pricing_attribute23(i) := p_pricing_tbl(i).pricing_attribute23;
2560 p_pricing_rec_tab.pricing_attribute24(i) := p_pricing_tbl(i).pricing_attribute24;
2561 p_pricing_rec_tab.pricing_attribute25(i) := p_pricing_tbl(i).pricing_attribute25;
2562 p_pricing_rec_tab.pricing_attribute26(i) := p_pricing_tbl(i).pricing_attribute26;
2563 p_pricing_rec_tab.pricing_attribute27(i) := p_pricing_tbl(i).pricing_attribute27;
2564 p_pricing_rec_tab.pricing_attribute28(i) := p_pricing_tbl(i).pricing_attribute28;
2565 p_pricing_rec_tab.pricing_attribute29(i) := p_pricing_tbl(i).pricing_attribute29;
2566 p_pricing_rec_tab.pricing_attribute30(i) := p_pricing_tbl(i).pricing_attribute30;
2567 p_pricing_rec_tab.pricing_attribute31(i) := p_pricing_tbl(i).pricing_attribute31;
2568 p_pricing_rec_tab.pricing_attribute32(i) := p_pricing_tbl(i).pricing_attribute32;
2569 p_pricing_rec_tab.pricing_attribute33(i) := p_pricing_tbl(i).pricing_attribute33;
2570 p_pricing_rec_tab.pricing_attribute34(i) := p_pricing_tbl(i).pricing_attribute34;
2571 p_pricing_rec_tab.pricing_attribute35(i) := p_pricing_tbl(i).pricing_attribute35;
2572 p_pricing_rec_tab.pricing_attribute36(i) := p_pricing_tbl(i).pricing_attribute36;
2573 p_pricing_rec_tab.pricing_attribute37(i) := p_pricing_tbl(i).pricing_attribute37;
2574 p_pricing_rec_tab.pricing_attribute38(i) := p_pricing_tbl(i).pricing_attribute38;
2575 p_pricing_rec_tab.pricing_attribute39(i) := p_pricing_tbl(i).pricing_attribute39;
2576 p_pricing_rec_tab.pricing_attribute40(i) := p_pricing_tbl(i).pricing_attribute40;
2577 p_pricing_rec_tab.pricing_attribute41(i) := p_pricing_tbl(i).pricing_attribute41;
2578 p_pricing_rec_tab.pricing_attribute42(i) := p_pricing_tbl(i).pricing_attribute42;
2582 p_pricing_rec_tab.pricing_attribute46(i) := p_pricing_tbl(i).pricing_attribute46;
2579 p_pricing_rec_tab.pricing_attribute43(i) := p_pricing_tbl(i).pricing_attribute43;
2580 p_pricing_rec_tab.pricing_attribute44(i) := p_pricing_tbl(i).pricing_attribute44;
2581 p_pricing_rec_tab.pricing_attribute45(i) := p_pricing_tbl(i).pricing_attribute45;
2583 p_pricing_rec_tab.pricing_attribute47(i) := p_pricing_tbl(i).pricing_attribute47;
2584 p_pricing_rec_tab.pricing_attribute48(i) := p_pricing_tbl(i).pricing_attribute48;
2585 p_pricing_rec_tab.pricing_attribute49(i) := p_pricing_tbl(i).pricing_attribute49;
2586 p_pricing_rec_tab.pricing_attribute50(i) := p_pricing_tbl(i).pricing_attribute50;
2587 p_pricing_rec_tab.pricing_attribute51(i) := p_pricing_tbl(i).pricing_attribute51;
2588 p_pricing_rec_tab.pricing_attribute52(i) := p_pricing_tbl(i).pricing_attribute52;
2589 p_pricing_rec_tab.pricing_attribute53(i) := p_pricing_tbl(i).pricing_attribute53;
2590 p_pricing_rec_tab.pricing_attribute54(i) := p_pricing_tbl(i).pricing_attribute54;
2591 p_pricing_rec_tab.pricing_attribute55(i) := p_pricing_tbl(i).pricing_attribute55;
2592 p_pricing_rec_tab.pricing_attribute56(i) := p_pricing_tbl(i).pricing_attribute56;
2593 p_pricing_rec_tab.pricing_attribute57(i) := p_pricing_tbl(i).pricing_attribute57;
2594 p_pricing_rec_tab.pricing_attribute58(i) := p_pricing_tbl(i).pricing_attribute58;
2595 p_pricing_rec_tab.pricing_attribute59(i) := p_pricing_tbl(i).pricing_attribute59;
2596 p_pricing_rec_tab.pricing_attribute60(i) := p_pricing_tbl(i).pricing_attribute60;
2597 p_pricing_rec_tab.pricing_attribute61(i) := p_pricing_tbl(i).pricing_attribute61;
2598 p_pricing_rec_tab.pricing_attribute62(i) := p_pricing_tbl(i).pricing_attribute62;
2599 p_pricing_rec_tab.pricing_attribute63(i) := p_pricing_tbl(i).pricing_attribute63;
2600 p_pricing_rec_tab.pricing_attribute64(i) := p_pricing_tbl(i).pricing_attribute64;
2601 p_pricing_rec_tab.pricing_attribute65(i) := p_pricing_tbl(i).pricing_attribute65;
2602 p_pricing_rec_tab.pricing_attribute66(i) := p_pricing_tbl(i).pricing_attribute66;
2603 p_pricing_rec_tab.pricing_attribute67(i) := p_pricing_tbl(i).pricing_attribute67;
2604 p_pricing_rec_tab.pricing_attribute68(i) := p_pricing_tbl(i).pricing_attribute68;
2605 p_pricing_rec_tab.pricing_attribute69(i) := p_pricing_tbl(i).pricing_attribute69;
2606 p_pricing_rec_tab.pricing_attribute70(i) := p_pricing_tbl(i).pricing_attribute70;
2607 p_pricing_rec_tab.pricing_attribute71(i) := p_pricing_tbl(i).pricing_attribute71;
2608 p_pricing_rec_tab.pricing_attribute72(i) := p_pricing_tbl(i).pricing_attribute72;
2609 p_pricing_rec_tab.pricing_attribute73(i) := p_pricing_tbl(i).pricing_attribute73;
2610 p_pricing_rec_tab.pricing_attribute74(i) := p_pricing_tbl(i).pricing_attribute74;
2611 p_pricing_rec_tab.pricing_attribute75(i) := p_pricing_tbl(i).pricing_attribute75;
2612 p_pricing_rec_tab.pricing_attribute76(i) := p_pricing_tbl(i).pricing_attribute76;
2613 p_pricing_rec_tab.pricing_attribute77(i) := p_pricing_tbl(i).pricing_attribute77;
2614 p_pricing_rec_tab.pricing_attribute78(i) := p_pricing_tbl(i).pricing_attribute78;
2615 p_pricing_rec_tab.pricing_attribute79(i) := p_pricing_tbl(i).pricing_attribute79;
2616 p_pricing_rec_tab.pricing_attribute80(i) := p_pricing_tbl(i).pricing_attribute80;
2617 p_pricing_rec_tab.pricing_attribute81(i) := p_pricing_tbl(i).pricing_attribute81;
2618 p_pricing_rec_tab.pricing_attribute82(i) := p_pricing_tbl(i).pricing_attribute82;
2619 p_pricing_rec_tab.pricing_attribute83(i) := p_pricing_tbl(i).pricing_attribute83;
2620 p_pricing_rec_tab.pricing_attribute84(i) := p_pricing_tbl(i).pricing_attribute84;
2621 p_pricing_rec_tab.pricing_attribute85(i) := p_pricing_tbl(i).pricing_attribute85;
2622 p_pricing_rec_tab.pricing_attribute86(i) := p_pricing_tbl(i).pricing_attribute86;
2623 p_pricing_rec_tab.pricing_attribute87(i) := p_pricing_tbl(i).pricing_attribute87;
2624 p_pricing_rec_tab.pricing_attribute88(i) := p_pricing_tbl(i).pricing_attribute88;
2625 p_pricing_rec_tab.pricing_attribute89(i) := p_pricing_tbl(i).pricing_attribute89;
2626 p_pricing_rec_tab.pricing_attribute90(i) := p_pricing_tbl(i).pricing_attribute90;
2627 p_pricing_rec_tab.pricing_attribute91(i) := p_pricing_tbl(i).pricing_attribute91;
2628 p_pricing_rec_tab.pricing_attribute92(i) := p_pricing_tbl(i).pricing_attribute92;
2629 p_pricing_rec_tab.pricing_attribute93(i) := p_pricing_tbl(i).pricing_attribute93;
2630 p_pricing_rec_tab.pricing_attribute94(i) := p_pricing_tbl(i).pricing_attribute94;
2631 p_pricing_rec_tab.pricing_attribute95(i) := p_pricing_tbl(i).pricing_attribute95;
2632 p_pricing_rec_tab.pricing_attribute96(i) := p_pricing_tbl(i).pricing_attribute96;
2633 p_pricing_rec_tab.pricing_attribute97(i) := p_pricing_tbl(i).pricing_attribute97;
2634 p_pricing_rec_tab.pricing_attribute98(i) := p_pricing_tbl(i).pricing_attribute98;
2635 p_pricing_rec_tab.pricing_attribute99(i) := p_pricing_tbl(i).pricing_attribute99;
2636 p_pricing_rec_tab.pricing_attribute100(i) := p_pricing_tbl(i).pricing_attribute100;
2637 p_pricing_rec_tab.context(i) := p_pricing_tbl(i).context;
2638 p_pricing_rec_tab.attribute1(i) := p_pricing_tbl(i).attribute1;
2639 p_pricing_rec_tab.attribute2(i) := p_pricing_tbl(i).attribute2;
2640 p_pricing_rec_tab.attribute3(i) := p_pricing_tbl(i).attribute3;
2641 p_pricing_rec_tab.attribute4(i) := p_pricing_tbl(i).attribute4;
2642 p_pricing_rec_tab.attribute5(i) := p_pricing_tbl(i).attribute5;
2643 p_pricing_rec_tab.attribute6(i) := p_pricing_tbl(i).attribute6;
2644 p_pricing_rec_tab.attribute7(i) := p_pricing_tbl(i).attribute7;
2645 p_pricing_rec_tab.attribute8(i) := p_pricing_tbl(i).attribute8;
2646 p_pricing_rec_tab.attribute9(i) := p_pricing_tbl(i).attribute9;
2650 p_pricing_rec_tab.attribute13(i) := p_pricing_tbl(i).attribute13;
2647 p_pricing_rec_tab.attribute10(i) := p_pricing_tbl(i).attribute10;
2648 p_pricing_rec_tab.attribute11(i) := p_pricing_tbl(i).attribute11;
2649 p_pricing_rec_tab.attribute12(i) := p_pricing_tbl(i).attribute12;
2651 p_pricing_rec_tab.attribute14(i) := p_pricing_tbl(i).attribute14;
2652 p_pricing_rec_tab.attribute15(i) := p_pricing_tbl(i).attribute15;
2653 p_pricing_rec_tab.object_version_number(i) := p_pricing_tbl(i).object_version_number;
2654 p_pricing_rec_tab.parent_tbl_index(i) := p_pricing_tbl(i).parent_tbl_index;
2655 END LOOP;
2656 END Build_pricing_Rec_of_Table;
2657 --
2658 PROCEDURE Build_pricing_Hist_Rec_Table
2659 ( p_pricing_hist_tbl IN csi_datastructures_pub.pricing_history_tbl
2660 ,p_pricing_hist_rec_tab IN OUT NOCOPY csi_item_instance_grp.pricing_attribs_hist_rec_tab
2661 ) IS
2662 BEGIN
2663 FOR i in p_pricing_hist_tbl.FIRST .. p_pricing_hist_tbl.LAST LOOP
2664 p_pricing_hist_rec_tab.PRICE_ATTRIB_HISTORY_ID(i):= p_pricing_hist_tbl(i).PRICE_ATTRIB_HISTORY_ID;
2665 p_pricing_hist_rec_tab.PRICING_ATTRIBUTE_ID(i):= p_pricing_hist_tbl(i).PRICING_ATTRIBUTE_ID;
2666 p_pricing_hist_rec_tab.TRANSACTION_ID(i) := p_pricing_hist_tbl(i).TRANSACTION_ID;
2667 p_pricing_hist_rec_tab.OLD_PRICING_CONTEXT(i):= p_pricing_hist_tbl(i).OLD_PRICING_CONTEXT;
2668 p_pricing_hist_rec_tab.NEW_PRICING_CONTEXT(i):= p_pricing_hist_tbl(i).NEW_PRICING_CONTEXT;
2669 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE1(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE1;
2670 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE1(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE1;
2671 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE2(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE2;
2672 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE2(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE2;
2673 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE3(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE3;
2674 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE3(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE3;
2675 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE4(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE4;
2676 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE4(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE4;
2677 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE5(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE5;
2678 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE5(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE5;
2679 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE6(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE6;
2680 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE6(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE6;
2681 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE7(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE7;
2682 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE7(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE7;
2683 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE8(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE8;
2684 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE8(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE8;
2685 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE9(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE9;
2686 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE9(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE9;
2687 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE10(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE10;
2688 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE10(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE10;
2689 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE11(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE11;
2690 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE11(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE11;
2691 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE12(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE12;
2692 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE12(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE12;
2693 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE13(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE13;
2694 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE13(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE13;
2695 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE14(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE14;
2696 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE14(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE14;
2697 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE15(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE15;
2698 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE15(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE15;
2699 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE16(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE16;
2700 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE16(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE16;
2701 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE17(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE17;
2702 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE17(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE17;
2703 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE18(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE18;
2704 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE18(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE18;
2705 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE19(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE19;
2706 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE19(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE19;
2707 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE20(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE20;
2708 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE20(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE20;
2709 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE21(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE21;
2710 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE21(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE21;
2711 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE22(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE22;
2712 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE22(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE22;
2713 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE23(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE23;
2717 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE25(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE25;
2714 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE23(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE23;
2715 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE24(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE24;
2716 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE24(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE24;
2718 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE25(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE25;
2719 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE26(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE26;
2720 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE26(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE26;
2721 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE27(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE27;
2722 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE27(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE27;
2723 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE28(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE28;
2724 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE28(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE28;
2725 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE29(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE29;
2726 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE29(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE29;
2727 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE30(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE30;
2728 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE30(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE30;
2729 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE31(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE31;
2730 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE31(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE31;
2731 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE32(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE32;
2732 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE32(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE32;
2733 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE33(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE33;
2734 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE33(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE33;
2735 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE34(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE34;
2736 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE34(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE34;
2737 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE35(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE35;
2738 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE35(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE35;
2739 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE36(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE36;
2740 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE36(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE36;
2741 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE37(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE37;
2742 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE37(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE37;
2743 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE38(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE38;
2744 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE38(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE38;
2745 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE39(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE39;
2746 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE39(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE39;
2747 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE40(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE40;
2748 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE40(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE40;
2749 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE41(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE41;
2750 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE41(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE41;
2751 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE42(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE42;
2752 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE42(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE42;
2753 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE43(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE43;
2754 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE43(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE43;
2755 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE44(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE44;
2756 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE44(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE44;
2757 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE45(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE45;
2758 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE45(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE45;
2759 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE46(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE46;
2760 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE46(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE46;
2761 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE47(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE47;
2762 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE47(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE47;
2763 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE48(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE48;
2764 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE48(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE48;
2765 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE49(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE49;
2766 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE49(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE49;
2767 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE50(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE50;
2768 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE50(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE50;
2769 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE51(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE51;
2770 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE51(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE51;
2771 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE52(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE52;
2772 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE52(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE52;
2773 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE53(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE53;
2777 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE55(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE55;
2774 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE53(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE53;
2775 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE54(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE54;
2776 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE54(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE54;
2778 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE55(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE55;
2779 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE56(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE56;
2780 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE56(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE56;
2781 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE57(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE57;
2782 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE57(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE57;
2783 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE58(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE58;
2784 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE58(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE58;
2785 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE59(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE59;
2786 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE59(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE59;
2787 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE60(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE60;
2788 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE60(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE60;
2789 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE61(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE61;
2790 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE61(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE61;
2791 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE62(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE62;
2792 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE62(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE62;
2793 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE63(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE63;
2794 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE63(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE63;
2795 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE64(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE64;
2796 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE64(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE64;
2797 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE65(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE65;
2798 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE65(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE65;
2799 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE66(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE66;
2800 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE66(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE66;
2801 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE67(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE67;
2802 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE67(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE67;
2803 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE68(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE68;
2804 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE68(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE68;
2805 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE69(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE69;
2806 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE69(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE69;
2807 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE70(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE70;
2808 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE70(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE70;
2809 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE71(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE71;
2810 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE71(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE71;
2811 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE72(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE72;
2812 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE72(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE72;
2813 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE73(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE73;
2814 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE73(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE73;
2815 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE74(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE74;
2816 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE74(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE74;
2817 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE75(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE75;
2818 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE75(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE75;
2819 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE76(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE76;
2820 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE76(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE76;
2821 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE77(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE77;
2822 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE77(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE77;
2823 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE78(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE78;
2824 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE78(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE78;
2825 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE79(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE79;
2826 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE79(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE79;
2827 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE80(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE80;
2828 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE80(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE80;
2829 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE81(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE81;
2830 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE81(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE81;
2831 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE82(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE82;
2832 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE82(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE82;
2833 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE83(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE83;
2837 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE85(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE85;
2834 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE83(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE83;
2835 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE84(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE84;
2836 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE84(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE84;
2838 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE85(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE85;
2839 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE86(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE86;
2840 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE86(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE86;
2841 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE87(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE87;
2842 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE87(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE87;
2843 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE88(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE88;
2844 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE88(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE88;
2845 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE89(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE89;
2846 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE89(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE89;
2847 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE90(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE90;
2848 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE90(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE90;
2849 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE91(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE91;
2850 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE91(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE91;
2851 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE92(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE92;
2852 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE92(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE92;
2853 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE93(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE93;
2854 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE93(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE93;
2855 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE94(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE94;
2856 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE94(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE94;
2857 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE95(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE95;
2858 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE95(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE95;
2859 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE96(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE96;
2860 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE96(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE96;
2861 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE97(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE97;
2862 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE97(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE97;
2863 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE98(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE98;
2864 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE98(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE98;
2865 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE99(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE99;
2866 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE99(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE99;
2867 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE100(i) := p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE100;
2868 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE100(i) := p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE100;
2869 p_pricing_hist_rec_tab.OLD_ACTIVE_START_DATE(i):= p_pricing_hist_tbl(i).OLD_ACTIVE_START_DATE;
2870 p_pricing_hist_rec_tab.NEW_ACTIVE_START_DATE(i):= p_pricing_hist_tbl(i).NEW_ACTIVE_START_DATE;
2871 p_pricing_hist_rec_tab.OLD_ACTIVE_END_DATE(i):= p_pricing_hist_tbl(i).OLD_ACTIVE_END_DATE;
2872 p_pricing_hist_rec_tab.NEW_ACTIVE_END_DATE(i):= p_pricing_hist_tbl(i).NEW_ACTIVE_END_DATE;
2873 p_pricing_hist_rec_tab.OLD_CONTEXT(i) := p_pricing_hist_tbl(i).OLD_CONTEXT;
2874 p_pricing_hist_rec_tab.NEW_CONTEXT(i) := p_pricing_hist_tbl(i).NEW_CONTEXT;
2875 p_pricing_hist_rec_tab.OLD_ATTRIBUTE1(i) := p_pricing_hist_tbl(i).OLD_ATTRIBUTE1;
2876 p_pricing_hist_rec_tab.NEW_ATTRIBUTE1(i) := p_pricing_hist_tbl(i).NEW_ATTRIBUTE1;
2877 p_pricing_hist_rec_tab.OLD_ATTRIBUTE2(i) := p_pricing_hist_tbl(i).OLD_ATTRIBUTE2;
2878 p_pricing_hist_rec_tab.NEW_ATTRIBUTE2(i) := p_pricing_hist_tbl(i).NEW_ATTRIBUTE2;
2879 p_pricing_hist_rec_tab.OLD_ATTRIBUTE3(i) := p_pricing_hist_tbl(i).OLD_ATTRIBUTE3;
2880 p_pricing_hist_rec_tab.NEW_ATTRIBUTE3(i) := p_pricing_hist_tbl(i).NEW_ATTRIBUTE3;
2881 p_pricing_hist_rec_tab.OLD_ATTRIBUTE4(i) := p_pricing_hist_tbl(i).OLD_ATTRIBUTE4;
2882 p_pricing_hist_rec_tab.NEW_ATTRIBUTE4(i) := p_pricing_hist_tbl(i).NEW_ATTRIBUTE4;
2883 p_pricing_hist_rec_tab.OLD_ATTRIBUTE5(i) := p_pricing_hist_tbl(i).OLD_ATTRIBUTE5;
2884 p_pricing_hist_rec_tab.NEW_ATTRIBUTE5(i) := p_pricing_hist_tbl(i).NEW_ATTRIBUTE5;
2885 p_pricing_hist_rec_tab.OLD_ATTRIBUTE6(i) := p_pricing_hist_tbl(i).OLD_ATTRIBUTE6;
2886 p_pricing_hist_rec_tab.NEW_ATTRIBUTE6(i) := p_pricing_hist_tbl(i).NEW_ATTRIBUTE6;
2887 p_pricing_hist_rec_tab.OLD_ATTRIBUTE7(i) := p_pricing_hist_tbl(i).OLD_ATTRIBUTE7;
2888 p_pricing_hist_rec_tab.NEW_ATTRIBUTE7(i) := p_pricing_hist_tbl(i).NEW_ATTRIBUTE7;
2889 p_pricing_hist_rec_tab.OLD_ATTRIBUTE8(i) := p_pricing_hist_tbl(i).OLD_ATTRIBUTE8;
2890 p_pricing_hist_rec_tab.NEW_ATTRIBUTE8(i) := p_pricing_hist_tbl(i).NEW_ATTRIBUTE8;
2891 p_pricing_hist_rec_tab.OLD_ATTRIBUTE9(i) := p_pricing_hist_tbl(i).OLD_ATTRIBUTE9;
2892 p_pricing_hist_rec_tab.NEW_ATTRIBUTE9(i) := p_pricing_hist_tbl(i).NEW_ATTRIBUTE9;
2893 p_pricing_hist_rec_tab.OLD_ATTRIBUTE10(i) := p_pricing_hist_tbl(i).OLD_ATTRIBUTE10;
2894 p_pricing_hist_rec_tab.NEW_ATTRIBUTE10(i) := p_pricing_hist_tbl(i).NEW_ATTRIBUTE10;
2895 p_pricing_hist_rec_tab.OLD_ATTRIBUTE11(i) := p_pricing_hist_tbl(i).OLD_ATTRIBUTE11;
2899 p_pricing_hist_rec_tab.OLD_ATTRIBUTE13(i) := p_pricing_hist_tbl(i).OLD_ATTRIBUTE13;
2896 p_pricing_hist_rec_tab.NEW_ATTRIBUTE11(i) := p_pricing_hist_tbl(i).NEW_ATTRIBUTE11;
2897 p_pricing_hist_rec_tab.OLD_ATTRIBUTE12(i) := p_pricing_hist_tbl(i).OLD_ATTRIBUTE12;
2898 p_pricing_hist_rec_tab.NEW_ATTRIBUTE12(i) := p_pricing_hist_tbl(i).NEW_ATTRIBUTE12;
2900 p_pricing_hist_rec_tab.NEW_ATTRIBUTE13(i) := p_pricing_hist_tbl(i).NEW_ATTRIBUTE13;
2901 p_pricing_hist_rec_tab.OLD_ATTRIBUTE14(i) := p_pricing_hist_tbl(i).OLD_ATTRIBUTE14;
2902 p_pricing_hist_rec_tab.NEW_ATTRIBUTE14(i) := p_pricing_hist_tbl(i).NEW_ATTRIBUTE14;
2903 p_pricing_hist_rec_tab.OLD_ATTRIBUTE15(i) := p_pricing_hist_tbl(i).OLD_ATTRIBUTE15;
2904 p_pricing_hist_rec_tab.NEW_ATTRIBUTE15(i) := p_pricing_hist_tbl(i).NEW_ATTRIBUTE15;
2905 p_pricing_hist_rec_tab.FULL_DUMP_FLAG(i) := p_pricing_hist_tbl(i).FULL_DUMP_FLAG;
2906 END LOOP;
2907 END Build_pricing_Hist_Rec_Table;
2908 --
2909 PROCEDURE Build_Ext_Attr_Rec_Table
2910 (
2911 p_ext_attr_tbl IN csi_datastructures_pub.extend_attrib_values_tbl
2912 ,p_ext_attr_rec_tab IN OUT NOCOPY csi_item_instance_grp.extend_attrib_values_rec_tab
2913 ) IS
2914
2915 BEGIN
2916 FOR i in p_ext_attr_tbl.FIRST .. p_ext_attr_tbl.LAST LOOP
2917
2918 p_ext_attr_rec_tab.attribute_value_id(i) := p_ext_attr_tbl(i).attribute_value_id;
2919 p_ext_attr_rec_tab.instance_id(i) := p_ext_attr_tbl(i).instance_id;
2920 p_ext_attr_rec_tab.attribute_id(i) := p_ext_attr_tbl(i).attribute_id;
2921 p_ext_attr_rec_tab.attribute_code(i) := p_ext_attr_tbl(i).attribute_code;
2922 p_ext_attr_rec_tab.attribute_value(i) := p_ext_attr_tbl(i).attribute_value;
2923 p_ext_attr_rec_tab.active_start_date(i) := p_ext_attr_tbl(i).active_start_date;
2924 p_ext_attr_rec_tab.active_end_date(i) := p_ext_attr_tbl(i).active_end_date;
2925 p_ext_attr_rec_tab.context(i) := p_ext_attr_tbl(i).context;
2926 p_ext_attr_rec_tab.attribute1(i) := p_ext_attr_tbl(i).attribute1;
2927 p_ext_attr_rec_tab.attribute2 (i) := p_ext_attr_tbl(i).attribute2;
2928 p_ext_attr_rec_tab.attribute3(i) := p_ext_attr_tbl(i).attribute3;
2929 p_ext_attr_rec_tab.attribute4(i) := p_ext_attr_tbl(i).attribute4;
2930 p_ext_attr_rec_tab.attribute5(i) := p_ext_attr_tbl(i).attribute5;
2931 p_ext_attr_rec_tab.attribute6(i) := p_ext_attr_tbl(i).attribute6;
2932 p_ext_attr_rec_tab.attribute7(i) := p_ext_attr_tbl(i).attribute7;
2933 p_ext_attr_rec_tab.attribute8(i) := p_ext_attr_tbl(i).attribute8;
2934 p_ext_attr_rec_tab.attribute9(i) := p_ext_attr_tbl(i).attribute9;
2935 p_ext_attr_rec_tab.attribute10(i) := p_ext_attr_tbl(i).attribute10;
2936 p_ext_attr_rec_tab.attribute11(i) := p_ext_attr_tbl(i).attribute11;
2937 p_ext_attr_rec_tab.attribute12(i) := p_ext_attr_tbl(i).attribute12;
2938 p_ext_attr_rec_tab.attribute13(i) := p_ext_attr_tbl(i).attribute13;
2939 p_ext_attr_rec_tab.attribute14(i) := p_ext_attr_tbl(i).attribute14;
2940 p_ext_attr_rec_tab.attribute15(i) := p_ext_attr_tbl(i).attribute15;
2941 p_ext_attr_rec_tab.object_version_number(i) := p_ext_attr_tbl(i).object_version_number;
2942 p_ext_attr_rec_tab.parent_tbl_index(i) := p_ext_attr_tbl(i).parent_tbl_index;
2943
2944 END LOOP;
2945 END Build_Ext_Attr_Rec_Table;
2946 --
2947 PROCEDURE Build_Ext_Attr_Hist_Rec_Table
2948 (
2949 p_ext_attr_hist_tbl IN csi_datastructures_pub.ext_attrib_val_history_tbl
2950 ,p_ext_attr_hist_rec_tab IN OUT NOCOPY csi_item_instance_grp.ext_attrib_val_hist_rec_tab
2951 ) IS
2952 BEGIN
2953 FOR i in p_ext_attr_hist_tbl.FIRST .. p_ext_attr_hist_tbl.LAST LOOP
2954
2955 p_ext_attr_hist_rec_tab.attribute_value_history_id(i) := p_ext_attr_hist_tbl(i).attribute_value_history_id;
2956 p_ext_attr_hist_rec_tab.attribute_value_id(i) := p_ext_attr_hist_tbl(i).attribute_value_id;
2957 p_ext_attr_hist_rec_tab.transaction_id(i) := p_ext_attr_hist_tbl(i).transaction_id;
2958 p_ext_attr_hist_rec_tab.old_attribute_value(i) := p_ext_attr_hist_tbl(i).old_attribute_value;
2959 p_ext_attr_hist_rec_tab.new_attribute_value(i) := p_ext_attr_hist_tbl(i).new_attribute_value;
2960 p_ext_attr_hist_rec_tab.old_active_start_date(i) := p_ext_attr_hist_tbl(i).old_active_start_date;
2961 p_ext_attr_hist_rec_tab.new_active_start_date(i) := p_ext_attr_hist_tbl(i).new_active_start_date;
2962 p_ext_attr_hist_rec_tab.old_active_end_date(i) := p_ext_attr_hist_tbl(i).old_active_end_date;
2963 p_ext_attr_hist_rec_tab.new_active_end_date(i) := p_ext_attr_hist_tbl(i).new_active_end_date;
2964 p_ext_attr_hist_rec_tab.old_context(i) := p_ext_attr_hist_tbl(i).old_context;
2965 p_ext_attr_hist_rec_tab.new_context(i) := p_ext_attr_hist_tbl(i).new_context;
2966 p_ext_attr_hist_rec_tab.old_attribute1(i) := p_ext_attr_hist_tbl(i).old_attribute1;
2967 p_ext_attr_hist_rec_tab.new_attribute1(i) := p_ext_attr_hist_tbl(i).new_attribute1;
2968 p_ext_attr_hist_rec_tab.old_attribute2(i) := p_ext_attr_hist_tbl(i).old_attribute2;
2969 p_ext_attr_hist_rec_tab.new_attribute2(i) := p_ext_attr_hist_tbl(i).new_attribute2;
2970 p_ext_attr_hist_rec_tab.old_attribute3(i) := p_ext_attr_hist_tbl(i).old_attribute3;
2971 p_ext_attr_hist_rec_tab.new_attribute3(i) := p_ext_attr_hist_tbl(i).new_attribute3;
2972 p_ext_attr_hist_rec_tab.old_attribute4(i) := p_ext_attr_hist_tbl(i).old_attribute4;
2973 p_ext_attr_hist_rec_tab.new_attribute4(i) := p_ext_attr_hist_tbl(i).new_attribute4;
2974 p_ext_attr_hist_rec_tab.old_attribute5(i) := p_ext_attr_hist_tbl(i).old_attribute5;
2975 p_ext_attr_hist_rec_tab.new_attribute5(i) := p_ext_attr_hist_tbl(i).new_attribute5;
2976 p_ext_attr_hist_rec_tab.old_attribute6(i) := p_ext_attr_hist_tbl(i).old_attribute6;
2977 p_ext_attr_hist_rec_tab.new_attribute6(i) := p_ext_attr_hist_tbl(i).new_attribute6;
2978 p_ext_attr_hist_rec_tab.old_attribute7(i) := p_ext_attr_hist_tbl(i).old_attribute7;
2979 p_ext_attr_hist_rec_tab.new_attribute7(i) := p_ext_attr_hist_tbl(i).new_attribute7;
2980 p_ext_attr_hist_rec_tab.old_attribute8(i) := p_ext_attr_hist_tbl(i).old_attribute8;
2981 p_ext_attr_hist_rec_tab.new_attribute8(i) := p_ext_attr_hist_tbl(i).new_attribute8;
2982 p_ext_attr_hist_rec_tab.old_attribute9(i) := p_ext_attr_hist_tbl(i).old_attribute9;
2983 p_ext_attr_hist_rec_tab.new_attribute9(i) := p_ext_attr_hist_tbl(i).new_attribute9;
2984 p_ext_attr_hist_rec_tab.old_attribute10(i) := p_ext_attr_hist_tbl(i).old_attribute10;
2985 p_ext_attr_hist_rec_tab.new_attribute10(i) := p_ext_attr_hist_tbl(i).new_attribute10;
2986 p_ext_attr_hist_rec_tab.old_attribute11(i) := p_ext_attr_hist_tbl(i).old_attribute11;
2987 p_ext_attr_hist_rec_tab.new_attribute11(i) := p_ext_attr_hist_tbl(i).new_attribute11;
2988 p_ext_attr_hist_rec_tab.old_attribute12(i) := p_ext_attr_hist_tbl(i).old_attribute12;
2989 p_ext_attr_hist_rec_tab.new_attribute12(i) := p_ext_attr_hist_tbl(i).new_attribute12;
2990 p_ext_attr_hist_rec_tab.old_attribute13(i) := p_ext_attr_hist_tbl(i).old_attribute13;
2991 p_ext_attr_hist_rec_tab.new_attribute13(i) := p_ext_attr_hist_tbl(i).new_attribute13;
2992 p_ext_attr_hist_rec_tab.old_attribute14(i) := p_ext_attr_hist_tbl(i).old_attribute14;
2993 p_ext_attr_hist_rec_tab.new_attribute14(i) := p_ext_attr_hist_tbl(i).new_attribute14;
2994 p_ext_attr_hist_rec_tab.old_attribute15(i) := p_ext_attr_hist_tbl(i).old_attribute15;
2995 p_ext_attr_hist_rec_tab.new_attribute15(i) := p_ext_attr_hist_tbl(i).new_attribute15;
2996 p_ext_attr_hist_rec_tab.instance_id(i) := p_ext_attr_hist_tbl(i).instance_id;
2997 p_ext_attr_hist_rec_tab.attribute_code(i) := p_ext_attr_hist_tbl(i).attribute_code;
2998
2999 END LOOP;
3000 END Build_Ext_Attr_Hist_Rec_Table;
3001 --
3002 PROCEDURE Build_Asset_Rec_Table
3003 (
3004 p_asset_tbl IN csi_datastructures_pub.instance_asset_tbl
3005 ,p_asset_rec_tab IN OUT NOCOPY csi_item_instance_grp.instance_asset_rec_tab
3006 ) IS
3007
3008 BEGIN
3009 FOR i in p_asset_tbl.FIRST .. p_asset_tbl.LAST LOOP
3010
3011 p_asset_rec_tab.instance_asset_id(i) := p_asset_tbl(i).instance_asset_id;
3012 p_asset_rec_tab.instance_id(i) := p_asset_tbl(i).instance_id;
3013 p_asset_rec_tab.fa_asset_id(i) := p_asset_tbl(i).fa_asset_id;
3014 p_asset_rec_tab.fa_book_type_code(i) := p_asset_tbl(i).fa_book_type_code;
3015 p_asset_rec_tab.fa_location_id(i) := p_asset_tbl(i).fa_location_id;
3016 p_asset_rec_tab.asset_quantity(i) := p_asset_tbl(i).asset_quantity;
3017 p_asset_rec_tab.update_status(i) := p_asset_tbl(i).update_status;
3018 p_asset_rec_tab.active_start_date(i) := p_asset_tbl(i).active_start_date;
3019 p_asset_rec_tab.active_end_date(i) := p_asset_tbl(i).active_end_date;
3020 p_asset_rec_tab.object_version_number(i) := p_asset_tbl(i).object_version_number;
3021 p_asset_rec_tab.check_for_instance_expiry(i) := p_asset_tbl(i).check_for_instance_expiry;
3022 p_asset_rec_tab.parent_tbl_index(i) := p_asset_tbl(i).parent_tbl_index;
3023 p_asset_rec_tab.fa_sync_flag(i) := p_asset_tbl(i).fa_sync_flag;
3024
3025 END LOOP;
3026 END Build_Asset_Rec_Table;
3027 --
3028 PROCEDURE Build_Asset_Hist_Rec_Table
3029 (
3030 p_asset_hist_tbl IN csi_datastructures_pub.ins_asset_history_tbl
3031 ,p_asset_hist_rec_tab IN OUT NOCOPY csi_item_instance_grp.ins_asset_history_rec_tab
3032 ) IS
3033 BEGIN
3034 FOR i in p_asset_hist_tbl.FIRST .. p_asset_hist_tbl.LAST LOOP
3035
3036 p_asset_hist_rec_tab.instance_asset_history_id(i) := p_asset_hist_tbl(i).instance_asset_history_id;
3037 p_asset_hist_rec_tab.transaction_id(i) := p_asset_hist_tbl(i).transaction_id;
3038 p_asset_hist_rec_tab.instance_asset_id(i) := p_asset_hist_tbl(i).instance_asset_id;
3039 p_asset_hist_rec_tab.old_instance_id(i) := p_asset_hist_tbl(i).old_instance_id;
3043 p_asset_hist_rec_tab.old_fa_book_type_code(i) := p_asset_hist_tbl(i).old_fa_book_type_code;
3040 p_asset_hist_rec_tab.new_instance_id(i) := p_asset_hist_tbl(i).new_instance_id;
3041 p_asset_hist_rec_tab.old_fa_asset_id(i) := p_asset_hist_tbl(i).old_fa_asset_id;
3042 p_asset_hist_rec_tab.new_fa_asset_id(i) := p_asset_hist_tbl(i).new_fa_asset_id;
3044 p_asset_hist_rec_tab.new_fa_book_type_code(i) := p_asset_hist_tbl(i).new_fa_book_type_code;
3045 p_asset_hist_rec_tab.old_fa_location_id(i) := p_asset_hist_tbl(i).old_fa_location_id;
3046 p_asset_hist_rec_tab.new_fa_location_id(i) := p_asset_hist_tbl(i).new_fa_location_id;
3047 p_asset_hist_rec_tab.old_asset_quantity(i) := p_asset_hist_tbl(i).old_asset_quantity;
3048 p_asset_hist_rec_tab.new_asset_quantity(i) := p_asset_hist_tbl(i).new_asset_quantity;
3049 p_asset_hist_rec_tab.old_update_status(i) := p_asset_hist_tbl(i).old_update_status;
3050 p_asset_hist_rec_tab.new_update_status(i) := p_asset_hist_tbl(i).new_update_status;
3051 p_asset_hist_rec_tab.old_active_start_date(i) := p_asset_hist_tbl(i).old_active_start_date;
3052 p_asset_hist_rec_tab.new_active_start_date(i) := p_asset_hist_tbl(i).new_active_start_date;
3053 p_asset_hist_rec_tab.old_active_end_date(i) := p_asset_hist_tbl(i).old_active_end_date;
3054 p_asset_hist_rec_tab.new_active_end_date(i) := p_asset_hist_tbl(i).new_active_end_date;
3055 p_asset_hist_rec_tab.old_asset_number(i) := p_asset_hist_tbl(i).old_asset_number;
3056 p_asset_hist_rec_tab.new_asset_number(i) := p_asset_hist_tbl(i).new_asset_number;
3057 p_asset_hist_rec_tab.old_serial_number(i) := p_asset_hist_tbl(i).old_serial_number;
3058 p_asset_hist_rec_tab.new_serial_number(i) := p_asset_hist_tbl(i).new_serial_number;
3059 p_asset_hist_rec_tab.old_tag_number(i) := p_asset_hist_tbl(i).old_tag_number;
3060 p_asset_hist_rec_tab.new_tag_number(i) := p_asset_hist_tbl(i).new_tag_number;
3061 p_asset_hist_rec_tab.old_category(i) := p_asset_hist_tbl(i).old_category;
3062 p_asset_hist_rec_tab.new_category(i) := p_asset_hist_tbl(i).new_category;
3063 p_asset_hist_rec_tab.old_fa_location_segment1(i) := p_asset_hist_tbl(i).old_fa_location_segment1;
3064 p_asset_hist_rec_tab.new_fa_location_segment1(i) := p_asset_hist_tbl(i).new_fa_location_segment1;
3065 p_asset_hist_rec_tab.old_fa_location_segment2(i) := p_asset_hist_tbl(i).old_fa_location_segment2;
3066 p_asset_hist_rec_tab.new_fa_location_segment2(i) := p_asset_hist_tbl(i).new_fa_location_segment2;
3067 p_asset_hist_rec_tab.old_fa_location_segment3(i) := p_asset_hist_tbl(i).old_fa_location_segment3;
3068 p_asset_hist_rec_tab.new_fa_location_segment3(i) := p_asset_hist_tbl(i).new_fa_location_segment3;
3069 p_asset_hist_rec_tab.old_fa_location_segment4(i) := p_asset_hist_tbl(i).old_fa_location_segment4;
3070 p_asset_hist_rec_tab.new_fa_location_segment4(i) := p_asset_hist_tbl(i).new_fa_location_segment4;
3071 p_asset_hist_rec_tab.old_fa_location_segment5(i) := p_asset_hist_tbl(i).old_fa_location_segment5;
3072 p_asset_hist_rec_tab.new_fa_location_segment5(i) := p_asset_hist_tbl(i).new_fa_location_segment5;
3073 p_asset_hist_rec_tab.old_fa_location_segment6(i) := p_asset_hist_tbl(i).old_fa_location_segment6;
3074 p_asset_hist_rec_tab.new_fa_location_segment6(i) := p_asset_hist_tbl(i).new_fa_location_segment6;
3075 p_asset_hist_rec_tab.old_fa_location_segment7(i) := p_asset_hist_tbl(i).old_fa_location_segment7;
3076 p_asset_hist_rec_tab.new_fa_location_segment7(i) := p_asset_hist_tbl(i).new_fa_location_segment7;
3077 p_asset_hist_rec_tab.old_date_placed_in_service(i) := p_asset_hist_tbl(i).old_date_placed_in_service;
3078 p_asset_hist_rec_tab.new_date_placed_in_service(i) := p_asset_hist_tbl(i).new_date_placed_in_service;
3079 p_asset_hist_rec_tab.old_description(i) := p_asset_hist_tbl(i).old_description;
3080 p_asset_hist_rec_tab.new_description(i) := p_asset_hist_tbl(i).new_description;
3081 p_asset_hist_rec_tab.old_employee_name(i) := p_asset_hist_tbl(i).old_employee_name;
3082 p_asset_hist_rec_tab.new_employee_name(i) := p_asset_hist_tbl(i).new_employee_name;
3083 p_asset_hist_rec_tab.old_expense_account_number(i) := p_asset_hist_tbl(i).old_expense_account_number;
3084 p_asset_hist_rec_tab.new_expense_account_number(i) := p_asset_hist_tbl(i).new_expense_account_number;
3085 p_asset_hist_rec_tab.instance_id(i) := p_asset_hist_tbl(i).instance_id;
3086 p_asset_hist_rec_tab.old_fa_sync_flag(i) := p_asset_hist_tbl(i).old_fa_sync_flag;
3087 p_asset_hist_rec_tab.new_fa_sync_flag(i) := p_asset_hist_tbl(i).new_fa_sync_flag;
3088
3089 END LOOP;
3090 END Build_Asset_Hist_Rec_Table;
3091 --
3092 PROCEDURE Bulk_Insert
3093 (
3094 p_inst_tbl IN csi_datastructures_pub.instance_tbl
3095 ,p_txn_tbl IN csi_datastructures_pub.transaction_tbl
3096 ,p_inst_hist_tbl IN csi_datastructures_pub.instance_history_tbl
3097 ,p_version_label_tbl IN csi_datastructures_pub.version_label_tbl
3098 ,p_ver_label_hist_tbl IN csi_datastructures_pub.version_label_history_tbl
3099 ,p_party_tbl IN csi_datastructures_pub.party_tbl
3100 ,p_party_hist_tbl IN csi_datastructures_pub.party_history_tbl
3101 ,p_account_tbl IN csi_datastructures_pub.party_account_tbl
3102 ,p_acct_hist_tbl IN csi_datastructures_pub.account_history_tbl
3103 ,p_owner_pty_acct_tbl IN csi_item_instance_pvt.owner_pty_acct_tbl
3104 ,p_org_units_tbl IN csi_datastructures_pub.organization_units_tbl
3105 ,p_org_units_hist_tbl IN csi_datastructures_pub.org_units_history_tbl
3106 ,p_pricing_tbl IN csi_datastructures_pub.pricing_attribs_tbl
3107 ,p_pricing_hist_tbl IN csi_datastructures_pub.pricing_history_tbl
3108 ,p_ext_attr_values_tbl IN csi_datastructures_pub.extend_attrib_values_tbl
3109 ,p_ext_attr_val_hist_tbl IN csi_datastructures_pub.ext_attrib_val_history_tbl
3110 ,p_asset_tbl IN csi_datastructures_pub.instance_asset_tbl
3111 ,p_asset_hist_tbl IN csi_datastructures_pub.ins_asset_history_tbl
3112 ,x_return_status OUT NOCOPY VARCHAR2
3113 ) IS
3114 --
3115 l_inst_rec_tab csi_item_instance_grp.instance_rec_tab;
3116 l_inst_hist_rec_tab csi_item_instance_grp.instance_history_rec_tab;
3117 l_version_label_rec_tab csi_item_instance_grp.version_label_rec_tab;
3118 l_ver_label_hist_rec_tab csi_item_instance_grp.ver_label_history_rec_tab;
3119 l_party_rec_tab csi_item_instance_grp.party_rec_tab;
3120 l_party_hist_rec_tab csi_item_instance_grp.party_history_rec_tab;
3121 l_account_rec_tab csi_item_instance_grp.account_rec_tab;
3122 l_acct_hist_rec_tab csi_item_instance_grp.account_history_rec_tab;
3123 l_txn_rec_tab csi_item_instance_grp.transaction_rec_tab;
3124 l_owner_pty_acct_rec_tab csi_item_instance_pvt.owner_pty_acct_rec_tab;
3125 l_ext_attr_rec_tab csi_item_instance_grp.extend_attrib_values_rec_tab;
3126 l_ext_attr_hist_rec_tab csi_item_instance_grp.ext_attrib_val_hist_rec_tab;
3127 l_asset_rec_tab csi_item_instance_grp.instance_asset_rec_tab;
3128 l_asset_hist_rec_tab csi_item_instance_grp.ins_asset_history_rec_tab;
3129 l_org_units_rec_tab csi_item_instance_grp.org_units_rec_tab;
3130 l_org_hist_rec_tab csi_item_instance_grp.org_units_history_rec_tab;
3131 l_pricing_rec_tab csi_item_instance_grp.pricing_attribs_rec_tab;
3132 l_pricing_hist_rec_tab csi_item_instance_grp.pricing_attribs_hist_rec_tab;
3133 --
3134 l_user_id NUMBER := FND_GLOBAL.USER_ID;
3135 l_login_id NUMBER := FND_GLOBAL.CONC_LOGIN_ID;
3136 l_ctr NUMBER;
3137 BEGIN
3138 SAVEPOINT Bulk_Insert;
3139 --
3140 x_return_status := FND_API.G_RET_STS_SUCCESS;
3141 --
3142 IF p_inst_tbl.count > 0 THEN
3143 Build_Inst_Rec_of_Table
3144 ( p_inst_tbl => p_inst_tbl
3145 ,p_inst_rec_tab => l_inst_rec_tab
3146 );
3147 --
3148 l_ctr := l_inst_rec_tab.instance_id.count;
3149 FORALL i in 1 .. l_ctr
3150 INSERT INTO CSI_ITEM_INSTANCES(
3151 INSTANCE_ID,
3152 INSTANCE_NUMBER,
3153 EXTERNAL_REFERENCE,
3154 INVENTORY_ITEM_ID,
3155 INVENTORY_REVISION,
3156 INV_MASTER_ORGANIZATION_ID,
3157 SERIAL_NUMBER,
3158 MFG_SERIAL_NUMBER_FLAG,
3159 LOT_NUMBER,
3160 QUANTITY,
3161 UNIT_OF_MEASURE,
3162 ACCOUNTING_CLASS_CODE,
3163 INSTANCE_CONDITION_ID,
3164 INSTANCE_STATUS_ID,
3165 CUSTOMER_VIEW_FLAG,
3166 MERCHANT_VIEW_FLAG,
3167 SELLABLE_FLAG,
3168 SYSTEM_ID,
3169 INSTANCE_TYPE_CODE,
3170 ACTIVE_START_DATE,
3171 ACTIVE_END_DATE,
3172 LOCATION_TYPE_CODE,
3173 LOCATION_ID,
3174 INV_ORGANIZATION_ID,
3175 INV_SUBINVENTORY_NAME,
3176 INV_LOCATOR_ID,
3177 PA_PROJECT_ID,
3178 PA_PROJECT_TASK_ID,
3179 IN_TRANSIT_ORDER_LINE_ID,
3180 WIP_JOB_ID,
3181 PO_ORDER_LINE_ID,
3182 LAST_OE_ORDER_LINE_ID,
3183 LAST_OE_RMA_LINE_ID,
3184 LAST_PO_PO_LINE_ID,
3185 LAST_OE_PO_NUMBER,
3186 LAST_WIP_JOB_ID,
3187 LAST_PA_PROJECT_ID,
3188 LAST_PA_TASK_ID,
3189 LAST_OE_AGREEMENT_ID,
3190 INSTALL_DATE,
3191 MANUALLY_CREATED_FLAG,
3192 RETURN_BY_DATE,
3193 ACTUAL_RETURN_DATE,
3194 CREATION_COMPLETE_FLAG,
3195 COMPLETENESS_FLAG,
3196 CONTEXT,
3197 ATTRIBUTE1,
3198 ATTRIBUTE2,
3199 ATTRIBUTE3,
3200 ATTRIBUTE4,
3201 ATTRIBUTE5,
3202 ATTRIBUTE6,
3203 ATTRIBUTE7,
3204 ATTRIBUTE8,
3205 ATTRIBUTE9,
3206 ATTRIBUTE10,
3207 ATTRIBUTE11,
3208 ATTRIBUTE12,
3209 ATTRIBUTE13,
3210 ATTRIBUTE14,
3211 ATTRIBUTE15,
3212 CREATED_BY,
3213 CREATION_DATE,
3214 LAST_UPDATED_BY,
3215 LAST_UPDATE_DATE,
3216 LAST_UPDATE_LOGIN,
3217 OBJECT_VERSION_NUMBER,
3218 LAST_TXN_LINE_DETAIL_ID,
3219 INSTALL_LOCATION_TYPE_CODE,
3220 INSTALL_LOCATION_ID,
3221 INSTANCE_USAGE_CODE,
3222 LAST_VLD_ORGANIZATION_ID,
3223 CONFIG_INST_HDR_ID,
3224 CONFIG_INST_REV_NUM,
3225 CONFIG_INST_ITEM_ID,
3226 CONFIG_VALID_STATUS,
3227 INSTANCE_DESCRIPTION,
3228 NETWORK_ASSET_FLAG,
3229 MAINTAINABLE_FLAG ,
3230 ASSET_CRITICALITY_CODE,
3231 CATEGORY_ID ,
3232 EQUIPMENT_GEN_OBJECT_ID,
3233 INSTANTIATION_FLAG ,
3234 OPERATIONAL_LOG_FLAG ,
3235 SUPPLIER_WARRANTY_EXP_DATE,
3236 ATTRIBUTE16 ,
3237 ATTRIBUTE17 ,
3238 ATTRIBUTE18 ,
3239 ATTRIBUTE19 ,
3240 ATTRIBUTE20 ,
3241 ATTRIBUTE21 ,
3242 ATTRIBUTE22 ,
3243 ATTRIBUTE23 ,
3244 ATTRIBUTE24 ,
3245 ATTRIBUTE25 ,
3246 ATTRIBUTE26 ,
3247 ATTRIBUTE27 ,
3248 ATTRIBUTE28 ,
3249 ATTRIBUTE29 ,
3250 ATTRIBUTE30 ,
3251 PURCHASE_UNIT_PRICE ,
3252 PURCHASE_CURRENCY_CODE ,
3253 PAYABLES_UNIT_PRICE ,
3254 PAYABLES_CURRENCY_CODE ,
3255 SALES_UNIT_PRICE ,
3256 SALES_CURRENCY_CODE ,
3257 OPERATIONAL_STATUS_CODE
3258 ) VALUES(
3259 l_inst_rec_tab.INSTANCE_ID(i),
3260 decode( l_inst_rec_tab.INSTANCE_NUMBER(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.INSTANCE_NUMBER(i)),
3261 decode( l_inst_rec_tab.EXTERNAL_REFERENCE(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.EXTERNAL_REFERENCE(i)),
3262 decode( l_inst_rec_tab.INVENTORY_ITEM_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.INVENTORY_ITEM_ID(i)),
3263 decode( l_inst_rec_tab.INVENTORY_REVISION(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.INVENTORY_REVISION(i)),
3264 decode( l_inst_rec_tab.INV_MASTER_ORGANIZATION_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.INV_MASTER_ORGANIZATION_ID(i)),
3268 decode( l_inst_rec_tab.QUANTITY(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.QUANTITY(i)),
3265 decode( l_inst_rec_tab.SERIAL_NUMBER(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.SERIAL_NUMBER(i)),
3266 decode( l_inst_rec_tab.MFG_SERIAL_NUMBER_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.MFG_SERIAL_NUMBER_FLAG(i)),
3267 decode( l_inst_rec_tab.LOT_NUMBER(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.LOT_NUMBER(i)),
3269 decode( l_inst_rec_tab.UNIT_OF_MEASURE(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.UNIT_OF_MEASURE(i)),
3270 decode( l_inst_rec_tab.ACCOUNTING_CLASS_CODE(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ACCOUNTING_CLASS_CODE(i)),
3271 decode( l_inst_rec_tab.INSTANCE_CONDITION_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.INSTANCE_CONDITION_ID(i)),
3272 decode( l_inst_rec_tab.INSTANCE_STATUS_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.INSTANCE_STATUS_ID(i)),
3273 decode( l_inst_rec_tab.CUSTOMER_VIEW_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.CUSTOMER_VIEW_FLAG(i)),
3274 decode( l_inst_rec_tab.MERCHANT_VIEW_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.MERCHANT_VIEW_FLAG(i)),
3275 decode( l_inst_rec_tab.SELLABLE_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.SELLABLE_FLAG(i)),
3276 decode( l_inst_rec_tab.SYSTEM_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.SYSTEM_ID(i)),
3277 decode( l_inst_rec_tab.INSTANCE_TYPE_CODE(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.INSTANCE_TYPE_CODE(i)),
3278 decode( l_inst_rec_tab.ACTIVE_START_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_inst_rec_tab.ACTIVE_START_DATE(i)),
3279 decode( l_inst_rec_tab.ACTIVE_END_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_inst_rec_tab.ACTIVE_END_DATE(i)),
3280 decode( l_inst_rec_tab.LOCATION_TYPE_CODE(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.LOCATION_TYPE_CODE(i)),
3281 decode( l_inst_rec_tab.LOCATION_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.LOCATION_ID(i)),
3282 decode( l_inst_rec_tab.INV_ORGANIZATION_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.INV_ORGANIZATION_ID(i)),
3283 decode( l_inst_rec_tab.INV_SUBINVENTORY_NAME(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.INV_SUBINVENTORY_NAME(i)),
3284 decode( l_inst_rec_tab.INV_LOCATOR_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.INV_LOCATOR_ID(i)),
3285 decode( l_inst_rec_tab.PA_PROJECT_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.PA_PROJECT_ID(i)),
3286 decode( l_inst_rec_tab.PA_PROJECT_TASK_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.PA_PROJECT_TASK_ID(i)),
3287 decode( l_inst_rec_tab.IN_TRANSIT_ORDER_LINE_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.IN_TRANSIT_ORDER_LINE_ID(i)),
3288 decode( l_inst_rec_tab.WIP_JOB_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.WIP_JOB_ID(i)),
3289 decode( l_inst_rec_tab.PO_ORDER_LINE_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.PO_ORDER_LINE_ID(i)),
3290 decode( l_inst_rec_tab.LAST_OE_ORDER_LINE_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.LAST_OE_ORDER_LINE_ID(i)),
3291 decode( l_inst_rec_tab.LAST_OE_RMA_LINE_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.LAST_OE_RMA_LINE_ID(i)),
3292 decode( l_inst_rec_tab.LAST_PO_PO_LINE_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.LAST_PO_PO_LINE_ID(i)),
3293 decode( l_inst_rec_tab.LAST_OE_PO_NUMBER(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.LAST_OE_PO_NUMBER(i)),
3294 decode( l_inst_rec_tab.LAST_WIP_JOB_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.LAST_WIP_JOB_ID(i)),
3295 decode( l_inst_rec_tab.LAST_PA_PROJECT_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.LAST_PA_PROJECT_ID(i)),
3296 decode( l_inst_rec_tab.LAST_PA_TASK_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.LAST_PA_TASK_ID(i)),
3297 decode( l_inst_rec_tab.LAST_OE_AGREEMENT_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.LAST_OE_AGREEMENT_ID(i)),
3298 decode( l_inst_rec_tab.INSTALL_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_inst_rec_tab.INSTALL_DATE(i)),
3299 decode( l_inst_rec_tab.MANUALLY_CREATED_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.MANUALLY_CREATED_FLAG(i)),
3300 decode( l_inst_rec_tab.RETURN_BY_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_inst_rec_tab.RETURN_BY_DATE(i)),
3301 decode( l_inst_rec_tab.ACTUAL_RETURN_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_inst_rec_tab.ACTUAL_RETURN_DATE(i)),
3302 decode( l_inst_rec_tab.CREATION_COMPLETE_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.CREATION_COMPLETE_FLAG(i)),
3303 decode( l_inst_rec_tab.COMPLETENESS_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.COMPLETENESS_FLAG(i)),
3304 decode( l_inst_rec_tab.CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.CONTEXT(i)),
3305 decode( l_inst_rec_tab.ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE1(i)),
3306 decode( l_inst_rec_tab.ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE2(i)),
3307 decode( l_inst_rec_tab.ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE3(i)),
3308 decode( l_inst_rec_tab.ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE4(i)),
3309 decode( l_inst_rec_tab.ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE5(i)),
3310 decode( l_inst_rec_tab.ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE6(i)),
3311 decode( l_inst_rec_tab.ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE7(i)),
3312 decode( l_inst_rec_tab.ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE8(i)),
3313 decode( l_inst_rec_tab.ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE9(i)),
3314 decode( l_inst_rec_tab.ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE10(i)),
3315 decode( l_inst_rec_tab.ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE11(i)),
3316 decode( l_inst_rec_tab.ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE12(i)),
3317 decode( l_inst_rec_tab.ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE13(i)),
3318 decode( l_inst_rec_tab.ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE14(i)),
3319 decode( l_inst_rec_tab.ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE15(i)),
3320 l_user_id,
3321 SYSDATE,
3322 l_user_id,
3323 SYSDATE,
3324 l_login_id,
3325 1,
3326 decode( l_inst_rec_tab.LAST_TXN_LINE_DETAIL_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.LAST_TXN_LINE_DETAIL_ID(i)),
3327 decode( l_inst_rec_tab.INSTALL_LOCATION_TYPE_CODE(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.INSTALL_LOCATION_TYPE_CODE(i)),
3331 decode( l_inst_rec_tab.CONFIG_INST_HDR_ID(i), FND_API.G_MISS_NUM, NULL,l_inst_rec_tab.CONFIG_INST_HDR_ID(i)),
3328 decode( l_inst_rec_tab.INSTALL_LOCATION_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.INSTALL_LOCATION_ID(i)),
3329 decode( l_inst_rec_tab.INSTANCE_USAGE_CODE(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.INSTANCE_USAGE_CODE(i)),
3330 decode( l_inst_rec_tab.vld_organization_id(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.vld_organization_id(i)),
3332 decode( l_inst_rec_tab.CONFIG_INST_REV_NUM(i), FND_API.G_MISS_NUM, NULL,l_inst_rec_tab.CONFIG_INST_REV_NUM(i)),
3333 decode( l_inst_rec_tab.CONFIG_INST_ITEM_ID(i), FND_API.G_MISS_NUM, NULL,l_inst_rec_tab.CONFIG_INST_ITEM_ID(i)),
3334 decode( l_inst_rec_tab.CONFIG_VALID_STATUS(i), FND_API.G_MISS_CHAR, NULL,l_inst_rec_tab.CONFIG_VALID_STATUS(i)),
3335 decode( l_inst_rec_tab.INSTANCE_DESCRIPTION(i), FND_API.G_MISS_CHAR, NULL,l_inst_rec_tab.INSTANCE_DESCRIPTION(i)),
3336 decode( l_inst_rec_tab.NETWORK_ASSET_FLAG(i), FND_API.G_MISS_CHAR, NULL,l_inst_rec_tab.NETWORK_ASSET_FLAG(i)),
3337 decode( l_inst_rec_tab.MAINTAINABLE_FLAG(i), FND_API.G_MISS_CHAR, NULL,l_inst_rec_tab.MAINTAINABLE_FLAG(i)),
3338 decode( l_inst_rec_tab.ASSET_CRITICALITY_CODE(i), FND_API.G_MISS_CHAR, NULL,l_inst_rec_tab.ASSET_CRITICALITY_CODE(i)),
3339 decode( l_inst_rec_tab.CATEGORY_ID(i), FND_API.G_MISS_NUM, NULL,l_inst_rec_tab.CATEGORY_ID(i)),
3340 decode( l_inst_rec_tab.EQUIPMENT_GEN_OBJECT_ID(i), FND_API.G_MISS_NUM, NULL,l_inst_rec_tab.EQUIPMENT_GEN_OBJECT_ID(i)),
3341 decode( l_inst_rec_tab.INSTANTIATION_FLAG(i), FND_API.G_MISS_CHAR, NULL,l_inst_rec_tab.INSTANTIATION_FLAG(i)),
3342 decode( l_inst_rec_tab.OPERATIONAL_LOG_FLAG(i), FND_API.G_MISS_CHAR, NULL,l_inst_rec_tab.OPERATIONAL_LOG_FLAG(i)),
3343 decode( l_inst_rec_tab.SUPPLIER_WARRANTY_EXP_DATE(i), FND_API.G_MISS_DATE, NULL,l_inst_rec_tab.SUPPLIER_WARRANTY_EXP_DATE(i)),
3344 decode( l_inst_rec_tab.ATTRIBUTE16(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE16(i)),
3345 decode( l_inst_rec_tab.ATTRIBUTE17(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE17(i)),
3346 decode( l_inst_rec_tab.ATTRIBUTE18(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE18(i)),
3347 decode( l_inst_rec_tab.ATTRIBUTE19(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE19(i)),
3348 decode( l_inst_rec_tab.ATTRIBUTE20(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE20(i)),
3349 decode( l_inst_rec_tab.ATTRIBUTE21(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE21(i)),
3350 decode( l_inst_rec_tab.ATTRIBUTE22(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE22(i)),
3351 decode( l_inst_rec_tab.ATTRIBUTE23(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE23(i)),
3352 decode( l_inst_rec_tab.ATTRIBUTE24(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE24(i)),
3353 decode( l_inst_rec_tab.ATTRIBUTE25(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE25(i)),
3354 decode( l_inst_rec_tab.ATTRIBUTE26(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE26(i)),
3355 decode( l_inst_rec_tab.ATTRIBUTE27(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE27(i)),
3356 decode( l_inst_rec_tab.ATTRIBUTE28(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE28(i)),
3357 decode( l_inst_rec_tab.ATTRIBUTE29(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE29(i)),
3358 decode( l_inst_rec_tab.ATTRIBUTE30(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE30(i)),
3359 decode( l_inst_rec_tab.PURCHASE_UNIT_PRICE(i),FND_API.G_MISS_NUM, NULL,l_inst_rec_tab.PURCHASE_UNIT_PRICE(i)),
3360 decode( l_inst_rec_tab.PURCHASE_CURRENCY_CODE(i),FND_API.G_MISS_CHAR, NULL,l_inst_rec_tab.PURCHASE_CURRENCY_CODE(i)),
3361 decode( l_inst_rec_tab.PAYABLES_UNIT_PRICE(i),FND_API.G_MISS_NUM, NULL,l_inst_rec_tab.PAYABLES_UNIT_PRICE(i)),
3362 decode( l_inst_rec_tab.PAYABLES_CURRENCY_CODE(i),FND_API.G_MISS_CHAR, NULL,l_inst_rec_tab.PAYABLES_CURRENCY_CODE(i)),
3363 decode(l_inst_rec_tab.SALES_UNIT_PRICE(i),FND_API.G_MISS_NUM, NULL,l_inst_rec_tab.SALES_UNIT_PRICE(i)),
3364 decode( l_inst_rec_tab.SALES_CURRENCY_CODE(i),FND_API.G_MISS_CHAR, NULL,l_inst_rec_tab.SALES_CURRENCY_CODE(i)),
3365 decode( l_inst_rec_tab.OPERATIONAL_STATUS_CODE(i),FND_API.G_MISS_CHAR, NULL,l_inst_rec_tab.OPERATIONAL_STATUS_CODE(i))
3366 );
3367 END IF;
3368 --
3369 IF p_txn_tbl.count > 0 THEN
3370 Build_Txn_Rec_of_Table
3371 (
3372 p_txn_tbl => p_txn_tbl
3373 ,p_txn_rec_tab => l_txn_rec_tab
3374 );
3375 --
3376 l_ctr := l_txn_rec_tab.transaction_id.count;
3377 --
3378 FORALL i in 1 .. l_ctr
3379 INSERT INTO CSI_TRANSACTIONS(
3380 transaction_id,
3381 transaction_date,
3382 source_transaction_date,
3383 transaction_type_id,
3384 txn_sub_type_id,
3385 source_group_ref_id,
3386 source_group_ref,
3387 source_header_ref_id,
3388 source_header_ref,
3389 source_line_ref_id,
3390 source_line_ref,
3391 source_dist_ref_id1,
3392 source_dist_ref_id2,
3393 inv_material_transaction_id,
3394 transaction_quantity,
3395 transaction_uom_code,
3396 transacted_by,
3397 transaction_status_code,
3398 transaction_action_code,
3399 message_id,
3400 context,
3401 attribute1,
3402 attribute2,
3403 attribute3,
3404 attribute4,
3405 attribute5,
3406 attribute6,
3407 attribute7,
3408 attribute8,
3409 attribute9,
3410 attribute10,
3411 attribute11,
3412 attribute12,
3413 attribute13,
3414 attribute14,
3415 attribute15,
3416 created_by,
3417 creation_date,
3418 last_updated_by,
3419 last_update_date,
3420 last_update_login,
3421 object_version_number,
3422 split_reason_code,
3423 gl_interface_status_code
3424 ) VALUES (
3425 l_txn_rec_tab.transaction_id(i),
3426 decode( l_txn_rec_tab.transaction_date(i), fnd_api.g_miss_date, to_date(null), l_txn_rec_tab.transaction_date(i)),
3427 decode( l_txn_rec_tab.source_transaction_date(i), fnd_api.g_miss_date, to_date(null), l_txn_rec_tab.source_transaction_date(i)),
3428 decode( l_txn_rec_tab.transaction_type_id(i), fnd_api.g_miss_num, null, l_txn_rec_tab.transaction_type_id(i)),
3429 decode( l_txn_rec_tab.txn_sub_type_id(i), fnd_api.g_miss_num, null, l_txn_rec_tab.txn_sub_type_id(i)),
3430 decode( l_txn_rec_tab.source_group_ref_id(i), fnd_api.g_miss_num, null, l_txn_rec_tab.source_group_ref_id(i)),
3431 decode( l_txn_rec_tab.source_group_ref(i), fnd_api.g_miss_char, null, l_txn_rec_tab.source_group_ref(i)),
3432 decode( l_txn_rec_tab.source_header_ref_id(i), fnd_api.g_miss_num, null, l_txn_rec_tab.source_header_ref_id(i)),
3433 decode( l_txn_rec_tab.source_header_ref(i), fnd_api.g_miss_char, null, l_txn_rec_tab.source_header_ref(i)),
3434 decode( l_txn_rec_tab.source_line_ref_id(i), fnd_api.g_miss_num, null, l_txn_rec_tab.source_line_ref_id(i)),
3435 decode( l_txn_rec_tab.source_line_ref(i), fnd_api.g_miss_char, null, l_txn_rec_tab.source_line_ref(i)),
3436 decode( l_txn_rec_tab.source_dist_ref_id1(i), fnd_api.g_miss_num, null, l_txn_rec_tab.source_dist_ref_id1(i)),
3437 decode( l_txn_rec_tab.source_dist_ref_id2(i), fnd_api.g_miss_num, null, l_txn_rec_tab.source_dist_ref_id2(i)),
3438 decode( l_txn_rec_tab.inv_material_transaction_id(i), fnd_api.g_miss_num, null, l_txn_rec_tab.inv_material_transaction_id(i)),
3439 decode( l_txn_rec_tab.transaction_quantity(i), fnd_api.g_miss_num, null, l_txn_rec_tab.transaction_quantity(i)),
3440 decode( l_txn_rec_tab.transaction_uom_code(i), fnd_api.g_miss_char, null, l_txn_rec_tab.transaction_uom_code(i)),
3441 decode( l_txn_rec_tab.transacted_by(i), fnd_api.g_miss_num, null, l_txn_rec_tab.transacted_by(i)),
3442 decode( l_txn_rec_tab.transaction_status_code(i), fnd_api.g_miss_char, null, l_txn_rec_tab.transaction_status_code(i)),
3443 decode( l_txn_rec_tab.transaction_action_code(i), fnd_api.g_miss_char, null, l_txn_rec_tab.transaction_action_code(i)),
3444 decode( l_txn_rec_tab.message_id(i), fnd_api.g_miss_num, null, l_txn_rec_tab.message_id(i)),
3445 decode( l_txn_rec_tab.context(i), fnd_api.g_miss_char, null, l_txn_rec_tab.context(i)),
3446 decode( l_txn_rec_tab.attribute1(i), fnd_api.g_miss_char, null, l_txn_rec_tab.attribute1(i)),
3447 decode( l_txn_rec_tab.attribute2(i), fnd_api.g_miss_char, null, l_txn_rec_tab.attribute2(i)),
3448 decode( l_txn_rec_tab.attribute3(i), fnd_api.g_miss_char, null, l_txn_rec_tab.attribute3(i)),
3449 decode( l_txn_rec_tab.attribute4(i), fnd_api.g_miss_char, null, l_txn_rec_tab.attribute4(i)),
3450 decode( l_txn_rec_tab.attribute5(i), fnd_api.g_miss_char, null, l_txn_rec_tab.attribute5(i)),
3451 decode( l_txn_rec_tab.attribute6(i), fnd_api.g_miss_char, null, l_txn_rec_tab.attribute6(i)),
3452 decode( l_txn_rec_tab.attribute7(i), fnd_api.g_miss_char, null, l_txn_rec_tab.attribute7(i)),
3453 decode( l_txn_rec_tab.attribute8(i), fnd_api.g_miss_char, null, l_txn_rec_tab.attribute8(i)),
3454 decode( l_txn_rec_tab.attribute9(i), fnd_api.g_miss_char, null, l_txn_rec_tab.attribute9(i)),
3455 decode( l_txn_rec_tab.attribute10(i), fnd_api.g_miss_char, null, l_txn_rec_tab.attribute10(i)),
3456 decode( l_txn_rec_tab.attribute11(i), fnd_api.g_miss_char, null, l_txn_rec_tab.attribute11(i)),
3457 decode( l_txn_rec_tab.attribute12(i), fnd_api.g_miss_char, null, l_txn_rec_tab.attribute12(i)),
3458 decode( l_txn_rec_tab.attribute13(i), fnd_api.g_miss_char, null, l_txn_rec_tab.attribute13(i)),
3459 decode( l_txn_rec_tab.attribute14(i), fnd_api.g_miss_char, null, l_txn_rec_tab.attribute14(i)),
3460 decode( l_txn_rec_tab.attribute15(i), fnd_api.g_miss_char, null, l_txn_rec_tab.attribute15(i)),
3461 l_user_id,
3462 SYSDATE,
3463 l_user_id,
3464 SYSDATE,
3465 l_login_id,
3466 1,
3467 decode( l_txn_rec_tab.split_reason_code(i), fnd_api.g_miss_char, null, l_txn_rec_tab.split_reason_code(i)),
3468 decode( l_txn_rec_tab.gl_interface_status_code(i), fnd_api.g_miss_num, null, l_txn_rec_tab.gl_interface_status_code(i))
3469 );
3470 END IF;
3471 --
3472 IF p_inst_hist_tbl.count > 0 THEN
3473 Build_Inst_Hist_Rec_of_Table
3474 ( p_inst_hist_tbl => p_inst_hist_tbl
3475 ,p_inst_hist_rec_tab => l_inst_hist_rec_tab
3476 );
3477 --
3478 l_ctr := l_inst_hist_rec_tab.instance_history_id.count;
3479 --
3480 FORALL i in 1 .. l_ctr
3484 TRANSACTION_ID,
3481 INSERT INTO CSI_ITEM_INSTANCES_H(
3482 INSTANCE_HISTORY_ID,
3483 INSTANCE_ID,
3485 OLD_INSTANCE_NUMBER,
3486 NEW_INSTANCE_NUMBER,
3487 OLD_EXTERNAL_REFERENCE,
3488 NEW_EXTERNAL_REFERENCE,
3489 OLD_INVENTORY_ITEM_ID,
3490 NEW_INVENTORY_ITEM_ID,
3491 OLD_INVENTORY_REVISION,
3492 NEW_INVENTORY_REVISION,
3493 OLD_INV_MASTER_ORGANIZATION_ID,
3494 NEW_INV_MASTER_ORGANIZATION_ID,
3495 OLD_SERIAL_NUMBER,
3496 NEW_SERIAL_NUMBER ,
3497 OLD_MFG_SERIAL_NUMBER_FLAG,
3498 NEW_MFG_SERIAL_NUMBER_FLAG,
3499 OLD_LOT_NUMBER,
3500 NEW_LOT_NUMBER,
3501 OLD_QUANTITY,
3502 NEW_QUANTITY,
3503 OLD_UNIT_OF_MEASURE,
3504 NEW_UNIT_OF_MEASURE,
3505 OLD_ACCOUNTING_CLASS_CODE,
3506 NEW_ACCOUNTING_CLASS_CODE,
3507 OLD_INSTANCE_CONDITION_ID,
3508 NEW_INSTANCE_CONDITION_ID,
3509 OLD_INSTANCE_STATUS_ID,
3510 NEW_INSTANCE_STATUS_ID,
3511 OLD_CUSTOMER_VIEW_FLAG,
3512 NEW_CUSTOMER_VIEW_FLAG,
3513 OLD_MERCHANT_VIEW_FLAG,
3514 NEW_MERCHANT_VIEW_FLAG,
3515 OLD_SELLABLE_FLAG,
3516 NEW_SELLABLE_FLAG,
3517 OLD_SYSTEM_ID,
3518 NEW_SYSTEM_ID,
3519 OLD_INSTANCE_TYPE_CODE,
3520 NEW_INSTANCE_TYPE_CODE,
3521 OLD_ACTIVE_START_DATE,
3522 NEW_ACTIVE_START_DATE,
3523 OLD_ACTIVE_END_DATE,
3524 NEW_ACTIVE_END_DATE,
3525 OLD_LOCATION_TYPE_CODE,
3526 NEW_LOCATION_TYPE_CODE,
3527 OLD_LOCATION_ID,
3528 NEW_LOCATION_ID,
3529 OLD_INV_ORGANIZATION_ID,
3530 NEW_INV_ORGANIZATION_ID,
3531 OLD_INV_SUBINVENTORY_NAME,
3532 NEW_INV_SUBINVENTORY_NAME,
3533 OLD_INV_LOCATOR_ID,
3534 NEW_INV_LOCATOR_ID,
3535 OLD_PA_PROJECT_ID,
3536 NEW_PA_PROJECT_ID,
3537 OLD_PA_PROJECT_TASK_ID,
3538 NEW_PA_PROJECT_TASK_ID,
3539 OLD_IN_TRANSIT_ORDER_LINE_ID,
3540 NEW_IN_TRANSIT_ORDER_LINE_ID,
3541 OLD_WIP_JOB_ID,
3542 NEW_WIP_JOB_ID,
3543 OLD_PO_ORDER_LINE_ID,
3544 NEW_PO_ORDER_LINE_ID,
3545 OLD_COMPLETENESS_FLAG,
3546 NEW_COMPLETENESS_FLAG,
3547 FULL_DUMP_FLAG,
3548 OLD_CONTEXT,
3549 NEW_CONTEXT,
3550 OLD_ATTRIBUTE1,
3551 NEW_ATTRIBUTE1,
3552 OLD_ATTRIBUTE2,
3553 NEW_ATTRIBUTE2,
3554 OLD_ATTRIBUTE3,
3555 NEW_ATTRIBUTE3,
3556 OLD_ATTRIBUTE4,
3557 NEW_ATTRIBUTE4,
3558 OLD_ATTRIBUTE5,
3559 NEW_ATTRIBUTE5,
3560 OLD_ATTRIBUTE6,
3561 NEW_ATTRIBUTE6,
3562 OLD_ATTRIBUTE7,
3563 NEW_ATTRIBUTE7,
3564 OLD_ATTRIBUTE8,
3565 NEW_ATTRIBUTE8,
3566 OLD_ATTRIBUTE9,
3567 NEW_ATTRIBUTE9,
3568 OLD_ATTRIBUTE10,
3569 NEW_ATTRIBUTE10,
3570 OLD_ATTRIBUTE11,
3571 NEW_ATTRIBUTE11,
3572 OLD_ATTRIBUTE12,
3573 NEW_ATTRIBUTE12,
3574 OLD_ATTRIBUTE13,
3575 NEW_ATTRIBUTE13,
3576 OLD_ATTRIBUTE14,
3577 NEW_ATTRIBUTE14,
3578 OLD_ATTRIBUTE15,
3579 NEW_ATTRIBUTE15,
3580 CREATED_BY,
3581 CREATION_DATE,
3582 LAST_UPDATED_BY,
3583 LAST_UPDATE_DATE,
3584 LAST_UPDATE_LOGIN,
3585 OBJECT_VERSION_NUMBER,
3586 OLD_INST_LOC_TYPE_CODE,
3587 NEW_INST_LOC_TYPE_CODE,
3588 OLD_INST_LOC_ID,
3589 NEW_INST_LOC_ID,
3590 OLD_INST_USAGE_CODE,
3591 NEW_INST_USAGE_CODE,
3592 OLD_last_vld_organization_id,
3593 NEW_last_vld_organization_id,
3594 OLD_CONFIG_INST_REV_NUM ,
3595 NEW_CONFIG_INST_REV_NUM ,
3596 OLD_CONFIG_VALID_STATUS ,
3597 NEW_CONFIG_VALID_STATUS ,
3598 OLD_INSTANCE_DESCRIPTION ,
3599 NEW_INSTANCE_DESCRIPTION ,
3600 OLD_OE_AGREEMENT_ID ,
3601 NEW_OE_AGREEMENT_ID ,
3602 OLD_INSTALL_DATE ,
3603 NEW_INSTALL_DATE ,
3604 OLD_RETURN_BY_DATE ,
3605 NEW_RETURN_BY_DATE ,
3606 OLD_ACTUAL_RETURN_DATE ,
3607 NEW_ACTUAL_RETURN_DATE ,
3608 OLD_LAST_OE_ORDER_LINE_ID ,
3609 NEW_LAST_OE_ORDER_LINE_ID ,
3610 OLD_LAST_OE_RMA_LINE_ID ,
3611 NEW_LAST_OE_RMA_LINE_ID ,
3612 OLD_LAST_WIP_JOB_ID ,
3613 NEW_LAST_WIP_JOB_ID ,
3614 OLD_LAST_PO_PO_LINE_ID ,
3615 NEW_LAST_PO_PO_LINE_ID ,
3616 OLD_LAST_PA_PROJECT_ID ,
3617 NEW_LAST_PA_PROJECT_ID ,
3618 OLD_LAST_PA_TASK_ID ,
3619 NEW_LAST_PA_TASK_ID ,
3620 OLD_LAST_TXN_LINE_DETAIL_ID ,
3621 NEW_LAST_TXN_LINE_DETAIL_ID ,
3622 OLD_LAST_OE_PO_NUMBER ,
3623 NEW_LAST_OE_PO_NUMBER,
3624
3625 OLD_NETWORK_ASSET_FLAG,
3626 NEW_NETWORK_ASSET_FLAG,
3627 OLD_MAINTAINABLE_FLAG,
3628 NEW_MAINTAINABLE_FLAG,
3629 OLD_ASSET_CRITICALITY_CODE,
3630 NEW_ASSET_CRITICALITY_CODE,
3631 OLD_CATEGORY_ID ,
3632 NEW_CATEGORY_ID ,
3633 OLD_EQUIPMENT_GEN_OBJECT_ID,
3634 NEW_EQUIPMENT_GEN_OBJECT_ID,
3635 OLD_INSTANTIATION_FLAG ,
3636 NEW_INSTANTIATION_FLAG ,
3637 OLD_OPERATIONAL_LOG_FLAG ,
3638 NEW_OPERATIONAL_LOG_FLAG ,
3639 OLD_SUPPLIER_WARRANTY_EXP_DATE,
3640 NEW_SUPPLIER_WARRANTY_EXP_DATE,
3641 OLD_ATTRIBUTE16,
3642 NEW_ATTRIBUTE16,
3643 OLD_ATTRIBUTE17,
3644 NEW_ATTRIBUTE17,
3645 OLD_ATTRIBUTE18,
3646 NEW_ATTRIBUTE18,
3647 OLD_ATTRIBUTE19,
3648 NEW_ATTRIBUTE19,
3649 OLD_ATTRIBUTE20,
3650 NEW_ATTRIBUTE20,
3651 OLD_ATTRIBUTE21,
3652 NEW_ATTRIBUTE21,
3653 OLD_ATTRIBUTE22,
3654 NEW_ATTRIBUTE22,
3655 OLD_ATTRIBUTE23,
3656 NEW_ATTRIBUTE23,
3657 OLD_ATTRIBUTE24,
3658 NEW_ATTRIBUTE24,
3659 OLD_ATTRIBUTE25,
3660 NEW_ATTRIBUTE25,
3661 OLD_ATTRIBUTE26,
3662 NEW_ATTRIBUTE26,
3663 OLD_ATTRIBUTE27,
3664 NEW_ATTRIBUTE27,
3665 OLD_ATTRIBUTE28,
3669 OLD_ATTRIBUTE30,
3666 NEW_ATTRIBUTE28,
3667 OLD_ATTRIBUTE29,
3668 NEW_ATTRIBUTE29,
3670 NEW_ATTRIBUTE30,
3671 OLD_PAYABLES_CURRENCY_CODE,
3672 NEW_PAYABLES_CURRENCY_CODE,
3673 OLD_PURCHASE_UNIT_PRICE,
3674 NEW_PURCHASE_UNIT_PRICE,
3675 OLD_PURCHASE_CURRENCY_CODE,
3676 NEW_PURCHASE_CURRENCY_CODE,
3677 OLD_PAYABLES_UNIT_PRICE,
3678 NEW_PAYABLES_UNIT_PRICE,
3679 OLD_SALES_UNIT_PRICE,
3680 NEW_SALES_UNIT_PRICE,
3681 OLD_SALES_CURRENCY_CODE,
3682 NEW_SALES_CURRENCY_CODE,
3683 OLD_OPERATIONAL_STATUS_CODE,
3684 NEW_OPERATIONAL_STATUS_CODE
3685 )
3686 VALUES (
3687 l_inst_hist_rec_tab.INSTANCE_HISTORY_ID(i),
3688 decode( l_inst_hist_rec_tab.INSTANCE_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.INSTANCE_ID(i)),
3689 decode( l_inst_hist_rec_tab.TRANSACTION_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.TRANSACTION_ID(i)),
3690 decode( l_inst_hist_rec_tab.OLD_INSTANCE_NUMBER(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_INSTANCE_NUMBER(i)),
3691 decode( l_inst_hist_rec_tab.NEW_INSTANCE_NUMBER(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_INSTANCE_NUMBER(i)),
3692 decode( l_inst_hist_rec_tab.OLD_EXTERNAL_REFERENCE(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_EXTERNAL_REFERENCE(i)),
3693 decode( l_inst_hist_rec_tab.NEW_EXTERNAL_REFERENCE(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_EXTERNAL_REFERENCE(i)),
3694 decode( l_inst_hist_rec_tab.OLD_INVENTORY_ITEM_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.OLD_INVENTORY_ITEM_ID(i)),
3695 decode( l_inst_hist_rec_tab.NEW_INVENTORY_ITEM_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.NEW_INVENTORY_ITEM_ID(i)),
3696 decode( l_inst_hist_rec_tab.OLD_INVENTORY_REVISION(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_INVENTORY_REVISION(i)),
3697 decode( l_inst_hist_rec_tab.NEW_INVENTORY_REVISION(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_INVENTORY_REVISION(i)),
3698 decode( l_inst_hist_rec_tab.OLD_INV_MASTER_ORG_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.OLD_INV_MASTER_ORG_ID(i)),
3699 decode( l_inst_hist_rec_tab.NEW_INV_MASTER_ORG_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.NEW_INV_MASTER_ORG_ID(i)),
3700 decode( l_inst_hist_rec_tab.OLD_SERIAL_NUMBER(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_SERIAL_NUMBER(i)),
3701 decode( l_inst_hist_rec_tab.NEW_SERIAL_NUMBER(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_SERIAL_NUMBER(i)),
3702 decode( l_inst_hist_rec_tab.OLD_MFG_SERIAL_NUMBER_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_MFG_SERIAL_NUMBER_FLAG(i)),
3703 decode( l_inst_hist_rec_tab.NEW_MFG_SERIAL_NUMBER_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_MFG_SERIAL_NUMBER_FLAG(i)),
3704 decode( l_inst_hist_rec_tab.OLD_LOT_NUMBER(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_LOT_NUMBER(i)),
3705 decode( l_inst_hist_rec_tab.NEW_LOT_NUMBER(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_LOT_NUMBER(i)),
3706 decode( l_inst_hist_rec_tab.OLD_QUANTITY(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.OLD_QUANTITY(i)),
3707 decode( l_inst_hist_rec_tab.NEW_QUANTITY(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.NEW_QUANTITY(i)),
3708 decode( l_inst_hist_rec_tab.OLD_UNIT_OF_MEASURE(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_UNIT_OF_MEASURE(i)),
3709 decode( l_inst_hist_rec_tab.NEW_UNIT_OF_MEASURE(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_UNIT_OF_MEASURE(i)),
3710 decode( l_inst_hist_rec_tab.OLD_ACCOUNTING_CLASS_CODE(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ACCOUNTING_CLASS_CODE(i)),
3711 decode( l_inst_hist_rec_tab.NEW_ACCOUNTING_CLASS_CODE(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ACCOUNTING_CLASS_CODE(i)),
3712 decode( l_inst_hist_rec_tab.OLD_INSTANCE_CONDITION_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.OLD_INSTANCE_CONDITION_ID(i)),
3713 decode( l_inst_hist_rec_tab.NEW_INSTANCE_CONDITION_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.NEW_INSTANCE_CONDITION_ID(i)),
3714 decode( l_inst_hist_rec_tab.OLD_INSTANCE_STATUS_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.OLD_INSTANCE_STATUS_ID(i)),
3715 decode( l_inst_hist_rec_tab.NEW_INSTANCE_STATUS_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.NEW_INSTANCE_STATUS_ID(i)),
3716 decode( l_inst_hist_rec_tab.OLD_CUSTOMER_VIEW_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_CUSTOMER_VIEW_FLAG(i)),
3717 decode( l_inst_hist_rec_tab.NEW_CUSTOMER_VIEW_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_CUSTOMER_VIEW_FLAG(i)),
3718 decode( l_inst_hist_rec_tab.OLD_MERCHANT_VIEW_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_MERCHANT_VIEW_FLAG(i)),
3719 decode( l_inst_hist_rec_tab.NEW_MERCHANT_VIEW_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_MERCHANT_VIEW_FLAG(i)),
3720 decode( l_inst_hist_rec_tab.OLD_SELLABLE_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_SELLABLE_FLAG(i)),
3721 decode( l_inst_hist_rec_tab.NEW_SELLABLE_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_SELLABLE_FLAG(i)),
3722 decode( l_inst_hist_rec_tab.OLD_SYSTEM_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.OLD_SYSTEM_ID(i)),
3723 decode( l_inst_hist_rec_tab.NEW_SYSTEM_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.NEW_SYSTEM_ID(i)),
3724 decode( l_inst_hist_rec_tab.OLD_INSTANCE_TYPE_CODE(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_INSTANCE_TYPE_CODE(i)),
3725 decode( l_inst_hist_rec_tab.NEW_INSTANCE_TYPE_CODE(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_INSTANCE_TYPE_CODE(i)),
3726 decode( l_inst_hist_rec_tab.OLD_ACTIVE_START_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_inst_hist_rec_tab.OLD_ACTIVE_START_DATE(i)),
3727 decode( l_inst_hist_rec_tab.NEW_ACTIVE_START_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_inst_hist_rec_tab.NEW_ACTIVE_START_DATE(i)),
3728 decode( l_inst_hist_rec_tab.OLD_ACTIVE_END_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_inst_hist_rec_tab.OLD_ACTIVE_END_DATE(i)),
3729 decode( l_inst_hist_rec_tab.NEW_ACTIVE_END_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_inst_hist_rec_tab.NEW_ACTIVE_END_DATE(i)),
3733 decode( l_inst_hist_rec_tab.NEW_LOCATION_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.NEW_LOCATION_ID(i)),
3730 decode( l_inst_hist_rec_tab.OLD_LOCATION_TYPE_CODE(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_LOCATION_TYPE_CODE(i)),
3731 decode( l_inst_hist_rec_tab.NEW_LOCATION_TYPE_CODE(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_LOCATION_TYPE_CODE(i)),
3732 decode( l_inst_hist_rec_tab.OLD_LOCATION_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.OLD_LOCATION_ID(i)),
3734 decode( l_inst_hist_rec_tab.OLD_INV_ORGANIZATION_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.OLD_INV_ORGANIZATION_ID(i)),
3735 decode( l_inst_hist_rec_tab.NEW_INV_ORGANIZATION_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.NEW_INV_ORGANIZATION_ID(i)),
3736 decode( l_inst_hist_rec_tab.OLD_INV_SUBINVENTORY_NAME(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_INV_SUBINVENTORY_NAME(i)),
3737 decode( l_inst_hist_rec_tab.NEW_INV_SUBINVENTORY_NAME(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_INV_SUBINVENTORY_NAME(i)),
3738 decode( l_inst_hist_rec_tab.OLD_INV_LOCATOR_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.OLD_INV_LOCATOR_ID(i)),
3739 decode( l_inst_hist_rec_tab.NEW_INV_LOCATOR_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.NEW_INV_LOCATOR_ID(i)),
3740 decode( l_inst_hist_rec_tab.OLD_PA_PROJECT_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.OLD_PA_PROJECT_ID(i)),
3741 decode( l_inst_hist_rec_tab.NEW_PA_PROJECT_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.NEW_PA_PROJECT_ID(i)),
3742 decode( l_inst_hist_rec_tab.OLD_PA_PROJECT_TASK_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.OLD_PA_PROJECT_TASK_ID(i)),
3743 decode( l_inst_hist_rec_tab.NEW_PA_PROJECT_TASK_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.NEW_PA_PROJECT_TASK_ID(i)),
3744 decode( l_inst_hist_rec_tab.OLD_IN_TRANSIT_ORDER_LINE_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.OLD_IN_TRANSIT_ORDER_LINE_ID(i)),
3745 decode( l_inst_hist_rec_tab.NEW_IN_TRANSIT_ORDER_LINE_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.NEW_IN_TRANSIT_ORDER_LINE_ID(i)),
3746 decode( l_inst_hist_rec_tab.OLD_WIP_JOB_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.OLD_WIP_JOB_ID(i)),
3747 decode( l_inst_hist_rec_tab.NEW_WIP_JOB_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.NEW_WIP_JOB_ID(i)),
3748 decode( l_inst_hist_rec_tab.OLD_PO_ORDER_LINE_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.OLD_PO_ORDER_LINE_ID(i)),
3749 decode( l_inst_hist_rec_tab.NEW_PO_ORDER_LINE_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.NEW_PO_ORDER_LINE_ID(i)),
3750 decode( l_inst_hist_rec_tab.OLD_COMPLETENESS_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_COMPLETENESS_FLAG(i)),
3751 decode( l_inst_hist_rec_tab.NEW_COMPLETENESS_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_COMPLETENESS_FLAG(i)),
3752 'N',
3753 decode( l_inst_hist_rec_tab.OLD_CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_CONTEXT(i)),
3754 decode( l_inst_hist_rec_tab.NEW_CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_CONTEXT(i)),
3755 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE1(i)),
3756 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE1(i)),
3757 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE2(i)),
3758 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE2(i)),
3759 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE3(i)),
3760 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE3(i)),
3761 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE4(i)),
3762 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE4(i)),
3763 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE5(i)),
3764 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE5(i)),
3765 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE6(i)),
3766 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE6(i)),
3767 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE7(i)),
3768 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE7(i)),
3769 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE8(i)),
3770 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE8(i)),
3771 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE9(i)),
3772 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE9(i)),
3773 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE10(i)),
3774 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE10(i)),
3775 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE11(i)),
3776 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE11(i)),
3777 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE12(i)),
3778 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE12(i)),
3779 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE13(i)),
3780 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE13(i)),
3781 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE14(i)),
3782 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE14(i)),
3786 SYSDATE,
3783 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE15(i)),
3784 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE15(i)),
3785 l_user_id,
3787 l_user_id,
3788 SYSDATE,
3789 l_login_id,
3790 1,
3791 decode( l_inst_hist_rec_tab.OLD_INSTALL_LOCATION_TYPE_CODE(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_INSTALL_LOCATION_TYPE_CODE(i)),
3792 decode( l_inst_hist_rec_tab.NEW_INSTALL_LOCATION_TYPE_CODE(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_INSTALL_LOCATION_TYPE_CODE(i)),
3793 decode( l_inst_hist_rec_tab.OLD_INSTALL_LOCATION_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.OLD_INSTALL_LOCATION_ID(i)),
3794 decode( l_inst_hist_rec_tab.NEW_INSTALL_LOCATION_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.NEW_INSTALL_LOCATION_ID(i)),
3795 decode( l_inst_hist_rec_tab.OLD_INSTANCE_USAGE_CODE(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_INSTANCE_USAGE_CODE(i)),
3796 decode( l_inst_hist_rec_tab.NEW_INSTANCE_USAGE_CODE(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_INSTANCE_USAGE_CODE(i)),
3797 decode( l_inst_hist_rec_tab.OLD_last_vld_organization_id(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.OLD_last_vld_organization_id(i)),
3798 decode( l_inst_hist_rec_tab.NEW_last_vld_organization_id(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.new_last_vld_organization_id(i)),
3799 decode( l_inst_hist_rec_tab.OLD_CONFIG_INST_REV_NUM(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.OLD_CONFIG_INST_REV_NUM(i)),
3800 decode( l_inst_hist_rec_tab.NEW_CONFIG_INST_REV_NUM(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.NEW_CONFIG_INST_REV_NUM(i)),
3801 decode( l_inst_hist_rec_tab.OLD_CONFIG_VALID_STATUS(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_CONFIG_VALID_STATUS(i)),
3802 decode( l_inst_hist_rec_tab.NEW_CONFIG_VALID_STATUS(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_CONFIG_VALID_STATUS(i)),
3803 decode( l_inst_hist_rec_tab.OLD_INSTANCE_DESCRIPTION(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_INSTANCE_DESCRIPTION(i)),
3804 decode( l_inst_hist_rec_tab.NEW_INSTANCE_DESCRIPTION(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_INSTANCE_DESCRIPTION(i)),
3805 decode( l_inst_hist_rec_tab.OLD_LAST_OE_AGREEMENT_ID(i),FND_API.G_MISS_NUM, NULL,l_inst_hist_rec_tab.OLD_LAST_OE_AGREEMENT_ID(i)),
3806 decode( l_inst_hist_rec_tab.NEW_LAST_OE_AGREEMENT_ID(i),FND_API.G_MISS_NUM, NULL,l_inst_hist_rec_tab.NEW_LAST_OE_AGREEMENT_ID(i)),
3807 decode( l_inst_hist_rec_tab.OLD_INSTALL_DATE(i),FND_API.G_MISS_DATE, NULL, l_inst_hist_rec_tab.OLD_INSTALL_DATE(i)) ,
3808 decode(l_inst_hist_rec_tab.NEW_INSTALL_DATE(i),FND_API.G_MISS_DATE, NULL, l_inst_hist_rec_tab.NEW_INSTALL_DATE(i)) ,
3809 decode(l_inst_hist_rec_tab.OLD_RETURN_BY_DATE(i) ,FND_API.G_MISS_DATE,NULL, l_inst_hist_rec_tab.OLD_RETURN_BY_DATE(i)),
3810 decode(l_inst_hist_rec_tab.NEW_RETURN_BY_DATE(i) ,FND_API.G_MISS_DATE,NULL,l_inst_hist_rec_tab.NEW_RETURN_BY_DATE(i)),
3811 decode(l_inst_hist_rec_tab.OLD_ACTUAL_RETURN_DATE(i) ,FND_API.G_MISS_DATE,NULL,l_inst_hist_rec_tab.OLD_ACTUAL_RETURN_DATE(i)),
3812 decode(l_inst_hist_rec_tab.NEW_ACTUAL_RETURN_DATE(i) ,FND_API.G_MISS_DATE,NULL,l_inst_hist_rec_tab.NEW_ACTUAL_RETURN_DATE(i)),
3813 decode(l_inst_hist_rec_tab.OLD_LAST_OE_ORDER_LINE_ID(i) ,FND_API.G_MISS_NUM,NULL,l_inst_hist_rec_tab.OLD_LAST_OE_ORDER_LINE_ID(i)),
3814 decode(l_inst_hist_rec_tab.NEW_LAST_OE_ORDER_LINE_ID(i) ,FND_API.G_MISS_NUM,NULL,l_inst_hist_rec_tab.NEW_LAST_OE_ORDER_LINE_ID(i)),
3815 decode(l_inst_hist_rec_tab.OLD_LAST_OE_RMA_LINE_ID(i) ,FND_API.G_MISS_NUM,NULL,l_inst_hist_rec_tab.OLD_LAST_OE_RMA_LINE_ID(i)),
3816 decode(l_inst_hist_rec_tab.NEW_LAST_OE_RMA_LINE_ID(i) ,FND_API.G_MISS_NUM,NULL,l_inst_hist_rec_tab.NEW_LAST_OE_RMA_LINE_ID(i)),
3817 decode(l_inst_hist_rec_tab.OLD_LAST_WIP_JOB_ID(i) ,FND_API.G_MISS_NUM,NULL,l_inst_hist_rec_tab.OLD_LAST_WIP_JOB_ID(i)),
3818 decode(l_inst_hist_rec_tab.NEW_LAST_WIP_JOB_ID(i) ,FND_API.G_MISS_NUM,NULL,l_inst_hist_rec_tab.NEW_LAST_WIP_JOB_ID(i)),
3819 decode(l_inst_hist_rec_tab.OLD_LAST_PO_PO_LINE_ID(i) ,FND_API.G_MISS_NUM,NULL,l_inst_hist_rec_tab.OLD_LAST_PO_PO_LINE_ID(i)),
3820 decode(l_inst_hist_rec_tab.NEW_LAST_PO_PO_LINE_ID(i) ,FND_API.G_MISS_NUM,NULL,l_inst_hist_rec_tab.NEW_LAST_PO_PO_LINE_ID(i)),
3821 decode(l_inst_hist_rec_tab.OLD_LAST_PA_PROJECT_ID(i) ,FND_API.G_MISS_NUM,NULL,l_inst_hist_rec_tab.OLD_LAST_PA_PROJECT_ID(i)),
3822 decode(l_inst_hist_rec_tab.NEW_LAST_PA_PROJECT_ID(i) ,FND_API.G_MISS_NUM,NULL,l_inst_hist_rec_tab.NEW_LAST_PA_PROJECT_ID(i)),
3823 decode(l_inst_hist_rec_tab.OLD_LAST_PA_TASK_ID(i) ,FND_API.G_MISS_NUM,NULL,l_inst_hist_rec_tab.OLD_LAST_PA_TASK_ID(i)),
3824 decode(l_inst_hist_rec_tab.NEW_LAST_PA_TASK_ID(i) ,FND_API.G_MISS_NUM,NULL,l_inst_hist_rec_tab.NEW_LAST_PA_TASK_ID(i)),
3825 decode(l_inst_hist_rec_tab.OLD_LAST_TXN_LINE_DETAIL_ID(i) ,FND_API.G_MISS_NUM,NULL,l_inst_hist_rec_tab.OLD_LAST_TXN_LINE_DETAIL_ID(i)),
3826 decode(l_inst_hist_rec_tab.NEW_LAST_TXN_LINE_DETAIL_ID(i) ,FND_API.G_MISS_NUM,NULL,l_inst_hist_rec_tab.NEW_LAST_TXN_LINE_DETAIL_ID(i)),
3827 decode(l_inst_hist_rec_tab.OLD_LAST_OE_PO_NUMBER(i) ,FND_API.G_MISS_CHAR,NULL,l_inst_hist_rec_tab.OLD_LAST_OE_PO_NUMBER(i)),
3828 decode(l_inst_hist_rec_tab.NEW_LAST_OE_PO_NUMBER(i) ,FND_API.G_MISS_CHAR,NULL,l_inst_hist_rec_tab.NEW_LAST_OE_PO_NUMBER(i)),
3829 decode(l_inst_hist_rec_tab.OLD_NETWORK_ASSET_FLAG(i) ,FND_API.G_MISS_CHAR,NULL,l_inst_hist_rec_tab.OLD_NETWORK_ASSET_FLAG(i)),
3830 decode(l_inst_hist_rec_tab.NEW_NETWORK_ASSET_FLAG(i) ,FND_API.G_MISS_CHAR,NULL,l_inst_hist_rec_tab.NEW_NETWORK_ASSET_FLAG(i)),
3831 decode(l_inst_hist_rec_tab.OLD_MAINTAINABLE_FLAG(i) ,FND_API.G_MISS_CHAR,NULL,l_inst_hist_rec_tab.OLD_MAINTAINABLE_FLAG(i)),
3832 decode(l_inst_hist_rec_tab.NEW_MAINTAINABLE_FLAG(i) ,FND_API.G_MISS_CHAR,NULL,l_inst_hist_rec_tab.NEW_MAINTAINABLE_FLAG(i)),
3833 decode(l_inst_hist_rec_tab.OLD_ASSET_CRITICALITY_CODE(i) ,FND_API.G_MISS_CHAR,NULL,l_inst_hist_rec_tab.OLD_ASSET_CRITICALITY_CODE(i)),
3834 decode(l_inst_hist_rec_tab.NEW_ASSET_CRITICALITY_CODE(i) ,FND_API.G_MISS_CHAR,NULL,l_inst_hist_rec_tab.NEW_ASSET_CRITICALITY_CODE(i)),
3835 decode(l_inst_hist_rec_tab.OLD_CATEGORY_ID(i) ,FND_API.G_MISS_NUM,NULL,l_inst_hist_rec_tab.OLD_CATEGORY_ID(i)),
3836 decode(l_inst_hist_rec_tab.NEW_CATEGORY_ID(i) ,FND_API.G_MISS_NUM,NULL,l_inst_hist_rec_tab.NEW_CATEGORY_ID(i)),
3840 decode(l_inst_hist_rec_tab.NEW_INSTANTIATION_FLAG(i) ,FND_API.G_MISS_CHAR,NULL,l_inst_hist_rec_tab.NEW_INSTANTIATION_FLAG(i)),
3837 decode(l_inst_hist_rec_tab.OLD_EQUIPMENT_GEN_OBJECT_ID(i) ,FND_API.G_MISS_NUM,NULL,l_inst_hist_rec_tab.OLD_EQUIPMENT_GEN_OBJECT_ID(i)),
3838 decode(l_inst_hist_rec_tab.NEW_EQUIPMENT_GEN_OBJECT_ID(i) ,FND_API.G_MISS_NUM,NULL,l_inst_hist_rec_tab.NEW_EQUIPMENT_GEN_OBJECT_ID(i)),
3839 decode(l_inst_hist_rec_tab.OLD_INSTANTIATION_FLAG(i) ,FND_API.G_MISS_CHAR,NULL,l_inst_hist_rec_tab.OLD_INSTANTIATION_FLAG(i)),
3841 decode(l_inst_hist_rec_tab.OLD_OPERATIONAL_LOG_FLAG(i) ,FND_API.G_MISS_CHAR,NULL,l_inst_hist_rec_tab.OLD_OPERATIONAL_LOG_FLAG(i)),
3842 decode(l_inst_hist_rec_tab.NEW_OPERATIONAL_LOG_FLAG(i) ,FND_API.G_MISS_CHAR,NULL,l_inst_hist_rec_tab.NEW_OPERATIONAL_LOG_FLAG(i)),
3843 decode(l_inst_hist_rec_tab.OLD_SUPPLIER_WARRANTY_EXP_DATE(i) ,FND_API.G_MISS_DATE,NULL,l_inst_hist_rec_tab.OLD_SUPPLIER_WARRANTY_EXP_DATE(i)),
3844 decode(l_inst_hist_rec_tab.NEW_SUPPLIER_WARRANTY_EXP_DATE(i) ,FND_API.G_MISS_DATE,NULL,l_inst_hist_rec_tab.NEW_SUPPLIER_WARRANTY_EXP_DATE(i)),
3845 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE16(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE16(i)),
3846 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE16(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE16(i)),
3847 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE17(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE17(i)),
3848 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE17(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE17(i)),
3849 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE18(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE18(i)),
3850 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE18(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE18(i)),
3851 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE19(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE19(i)),
3852 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE19(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE19(i)),
3853 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE20(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE20(i)),
3854 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE20(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE20(i)),
3855 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE21(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE21(i)),
3856 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE21(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE21(i)),
3857 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE22(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE22(i)),
3858 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE22(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE22(i)),
3859 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE23(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE23(i)),
3860 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE23(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE23(i)),
3861 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE24(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE24(i)),
3862 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE24(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE24(i)),
3863 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE25(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE25(i)),
3864 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE25(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE25(i)),
3865 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE26(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE26(i)),
3866 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE26(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE26(i)),
3867 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE27(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE27(i)),
3868 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE27(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE27(i)),
3869 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE28(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE28(i)),
3870 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE28(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE28(i)),
3871 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE29(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE29(i)),
3872 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE29(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE29(i)),
3873 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE30(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE30(i)),
3874 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE30(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE30(i)),
3875 decode( l_inst_hist_rec_tab.OLD_PAYABLES_CURRENCY_CODE(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_PAYABLES_CURRENCY_CODE(i)),
3876 decode( l_inst_hist_rec_tab.NEW_PAYABLES_CURRENCY_CODE(i), FND_API.G_MISS_CHAR, NULL,l_inst_hist_rec_tab.NEW_PAYABLES_CURRENCY_CODE(i)),
3877 decode( l_inst_hist_rec_tab.OLD_PURCHASE_UNIT_PRICE(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.OLD_PURCHASE_UNIT_PRICE(i)),
3878 decode( l_inst_hist_rec_tab.NEW_PURCHASE_UNIT_PRICE(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.NEW_PURCHASE_UNIT_PRICE(i)),
3879 decode( l_inst_hist_rec_tab.OLD_PURCHASE_CURRENCY_CODE(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_PURCHASE_CURRENCY_CODE(i)),
3880 decode( l_inst_hist_rec_tab.NEW_PURCHASE_CURRENCY_CODE(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_PURCHASE_CURRENCY_CODE(i)),
3881 decode( l_inst_hist_rec_tab.OLD_PAYABLES_UNIT_PRICE(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.OLD_PAYABLES_UNIT_PRICE(i)),
3882 decode( l_inst_hist_rec_tab.NEW_PAYABLES_UNIT_PRICE(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.NEW_PAYABLES_UNIT_PRICE(i)),
3883 decode( l_inst_hist_rec_tab.OLD_SALES_UNIT_PRICE(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.OLD_SALES_UNIT_PRICE(i)),
3884 decode( l_inst_hist_rec_tab.NEW_SALES_UNIT_PRICE(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.NEW_SALES_UNIT_PRICE(i)),
3885 decode( l_inst_hist_rec_tab.OLD_SALES_CURRENCY_CODE(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_SALES_CURRENCY_CODE(i)),
3886 decode( l_inst_hist_rec_tab.NEW_SALES_CURRENCY_CODE(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_SALES_CURRENCY_CODE(i)),
3890 END IF;
3887 decode( l_inst_hist_rec_tab.OLD_OPERATIONAL_STATUS_CODE(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_OPERATIONAL_STATUS_CODE(i)),
3888 decode( l_inst_hist_rec_tab.NEW_OPERATIONAL_STATUS_CODE(i),FND_API.G_MISS_CHAR, NULL,l_inst_hist_rec_tab.NEW_OPERATIONAL_STATUS_CODE(i))
3889 );
3891 --
3892 IF p_version_label_tbl.count > 0 THEN
3893 Build_Ver_Label_Rec_of_Table
3894 (
3895 p_version_label_tbl => p_version_label_tbl
3896 ,p_version_label_rec_tab => l_version_label_rec_tab
3897 );
3898 --
3899 l_ctr := l_version_label_rec_tab.version_label_id.count;
3900 --
3901 FORALL i in 1 .. l_ctr
3902 INSERT INTO CSI_I_VERSION_LABELS(
3903 VERSION_LABEL_ID,
3904 INSTANCE_ID,
3905 VERSION_LABEL,
3906 DATE_TIME_STAMP,
3907 DESCRIPTION,
3908 ACTIVE_START_DATE,
3909 ACTIVE_END_DATE,
3910 CONTEXT,
3911 ATTRIBUTE1,
3912 ATTRIBUTE2,
3913 ATTRIBUTE3,
3914 ATTRIBUTE4,
3915 ATTRIBUTE5,
3916 ATTRIBUTE6,
3917 ATTRIBUTE7,
3918 ATTRIBUTE8,
3919 ATTRIBUTE9,
3920 ATTRIBUTE10,
3921 ATTRIBUTE11,
3922 ATTRIBUTE12,
3923 ATTRIBUTE13,
3924 ATTRIBUTE14,
3925 ATTRIBUTE15,
3926 CREATED_BY,
3927 CREATION_DATE,
3928 LAST_UPDATED_BY,
3929 LAST_UPDATE_DATE,
3930 LAST_UPDATE_LOGIN,
3931 OBJECT_VERSION_NUMBER
3932 ) VALUES (
3933 l_version_label_rec_tab.VERSION_LABEL_ID(i),
3934 decode( l_version_label_rec_tab.INSTANCE_ID(i), FND_API.G_MISS_NUM, NULL, l_version_label_rec_tab.INSTANCE_ID(i)),
3935 decode( l_version_label_rec_tab.VERSION_LABEL(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.VERSION_LABEL(i)),
3936 decode( l_version_label_rec_tab.DATE_TIME_STAMP(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_version_label_rec_tab.DATE_TIME_STAMP(i)),
3937 decode( l_version_label_rec_tab.DESCRIPTION(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.DESCRIPTION(i)),
3938 decode( l_version_label_rec_tab.ACTIVE_START_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_version_label_rec_tab.ACTIVE_START_DATE(i)),
3939 decode( l_version_label_rec_tab.ACTIVE_END_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_version_label_rec_tab.ACTIVE_END_DATE(i)),
3940 decode( l_version_label_rec_tab.CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.CONTEXT(i)),
3941 decode( l_version_label_rec_tab.ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.ATTRIBUTE1(i)),
3942 decode( l_version_label_rec_tab.ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.ATTRIBUTE2(i)),
3943 decode( l_version_label_rec_tab.ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.ATTRIBUTE3(i)),
3944 decode( l_version_label_rec_tab.ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.ATTRIBUTE4(i)),
3945 decode( l_version_label_rec_tab.ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.ATTRIBUTE5(i)),
3946 decode( l_version_label_rec_tab.ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.ATTRIBUTE6(i)),
3947 decode( l_version_label_rec_tab.ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.ATTRIBUTE7(i)),
3948 decode( l_version_label_rec_tab.ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.ATTRIBUTE8(i)),
3949 decode( l_version_label_rec_tab.ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.ATTRIBUTE9(i)),
3950 decode( l_version_label_rec_tab.ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.ATTRIBUTE10(i)),
3951 decode( l_version_label_rec_tab.ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.ATTRIBUTE11(i)),
3952 decode( l_version_label_rec_tab.ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.ATTRIBUTE12(i)),
3953 decode( l_version_label_rec_tab.ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.ATTRIBUTE13(i)),
3954 decode( l_version_label_rec_tab.ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.ATTRIBUTE14(i)),
3955 decode( l_version_label_rec_tab.ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.ATTRIBUTE15(i)),
3956 l_user_id,
3957 SYSDATE,
3958 l_user_id,
3959 SYSDATE,
3960 l_login_id,
3961 1
3962 );
3963 END IF;
3964 --
3965 IF p_ver_label_hist_tbl.count > 0 THEN
3966 Build_Ver_Lbl_Hist_Rec_Table
3967 (
3968 p_ver_label_hist_tbl => p_ver_label_hist_tbl
3969 ,p_ver_label_hist_rec_tab => l_ver_label_hist_rec_tab
3970 );
3971 --
3972 l_ctr := l_ver_label_hist_rec_tab.version_label_history_id.count;
3973 --
3974 FORALL i in 1 .. l_ctr
3975 INSERT INTO CSI_I_VERSION_LABELS_H(
3976 VERSION_LABEL_HISTORY_ID,
3977 VERSION_LABEL_ID,
3978 TRANSACTION_ID,
3979 OLD_VERSION_LABEL,
3980 NEW_VERSION_LABEL,
3981 OLD_DESCRIPTION,
3982 NEW_DESCRIPTION,
3983 OLD_DATE_TIME_STAMP,
3984 NEW_DATE_TIME_STAMP,
3985 OLD_ACTIVE_START_DATE,
3986 NEW_ACTIVE_START_DATE,
3987 OLD_ACTIVE_END_DATE,
3988 NEW_ACTIVE_END_DATE,
3989 OLD_CONTEXT,
3990 NEW_CONTEXT,
3991 OLD_ATTRIBUTE1,
3992 NEW_ATTRIBUTE1,
3993 OLD_ATTRIBUTE2,
3994 NEW_ATTRIBUTE2,
3995 OLD_ATTRIBUTE3,
3996 NEW_ATTRIBUTE3,
3997 OLD_ATTRIBUTE4,
3998 NEW_ATTRIBUTE4,
3999 OLD_ATTRIBUTE5,
4000 NEW_ATTRIBUTE5,
4001 OLD_ATTRIBUTE6,
4002 NEW_ATTRIBUTE6,
4003 OLD_ATTRIBUTE7,
4004 NEW_ATTRIBUTE7,
4005 OLD_ATTRIBUTE8,
4006 NEW_ATTRIBUTE8,
4007 OLD_ATTRIBUTE9,
4008 NEW_ATTRIBUTE9,
4009 OLD_ATTRIBUTE10,
4010 NEW_ATTRIBUTE10,
4014 NEW_ATTRIBUTE12,
4011 OLD_ATTRIBUTE11,
4012 NEW_ATTRIBUTE11,
4013 OLD_ATTRIBUTE12,
4015 OLD_ATTRIBUTE13,
4016 NEW_ATTRIBUTE13,
4017 OLD_ATTRIBUTE14,
4018 NEW_ATTRIBUTE14,
4019 OLD_ATTRIBUTE15,
4020 NEW_ATTRIBUTE15,
4021 FULL_DUMP_FLAG,
4022 CREATED_BY,
4023 CREATION_DATE,
4024 LAST_UPDATED_BY,
4025 LAST_UPDATE_DATE,
4026 LAST_UPDATE_LOGIN,
4027 OBJECT_VERSION_NUMBER
4028 ) VALUES (
4029 l_ver_label_hist_rec_tab.VERSION_LABEL_HISTORY_ID(i),
4030 decode( l_ver_label_hist_rec_tab.VERSION_LABEL_ID(i), FND_API.G_MISS_NUM, NULL, l_ver_label_hist_rec_tab.VERSION_LABEL_ID(i)),
4031 decode( l_ver_label_hist_rec_tab.TRANSACTION_ID(i), FND_API.G_MISS_NUM, NULL, l_ver_label_hist_rec_tab.TRANSACTION_ID(i)),
4032 decode( l_ver_label_hist_rec_tab.OLD_VERSION_LABEL(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.OLD_VERSION_LABEL(i)),
4033 decode( l_ver_label_hist_rec_tab.NEW_VERSION_LABEL(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.NEW_VERSION_LABEL(i)),
4034 decode( l_ver_label_hist_rec_tab.OLD_DESCRIPTION(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.OLD_DESCRIPTION(i)),
4035 decode( l_ver_label_hist_rec_tab.NEW_DESCRIPTION(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.NEW_DESCRIPTION(i)),
4036 decode( l_ver_label_hist_rec_tab.OLD_DATE_TIME_STAMP(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_ver_label_hist_rec_tab.OLD_DATE_TIME_STAMP(i)),
4037 decode( l_ver_label_hist_rec_tab.NEW_DATE_TIME_STAMP(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_ver_label_hist_rec_tab.NEW_DATE_TIME_STAMP(i)),
4038 decode( l_ver_label_hist_rec_tab.OLD_ACTIVE_START_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_ver_label_hist_rec_tab.OLD_ACTIVE_START_DATE(i)),
4039 decode( l_ver_label_hist_rec_tab.NEW_ACTIVE_START_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_ver_label_hist_rec_tab.NEW_ACTIVE_START_DATE(i)),
4040 decode( l_ver_label_hist_rec_tab.OLD_ACTIVE_END_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_ver_label_hist_rec_tab.OLD_ACTIVE_END_DATE(i)),
4041 decode( l_ver_label_hist_rec_tab.NEW_ACTIVE_END_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_ver_label_hist_rec_tab.NEW_ACTIVE_END_DATE(i)),
4042 decode( l_ver_label_hist_rec_tab.OLD_CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.OLD_CONTEXT(i)),
4043 decode( l_ver_label_hist_rec_tab.NEW_CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.NEW_CONTEXT(i)),
4044 decode( l_ver_label_hist_rec_tab.OLD_ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.OLD_ATTRIBUTE1(i)),
4045 decode( l_ver_label_hist_rec_tab.NEW_ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.NEW_ATTRIBUTE1(i)),
4046 decode( l_ver_label_hist_rec_tab.OLD_ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.OLD_ATTRIBUTE2(i)),
4047 decode( l_ver_label_hist_rec_tab.NEW_ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.NEW_ATTRIBUTE2(i)),
4048 decode( l_ver_label_hist_rec_tab.OLD_ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.OLD_ATTRIBUTE3(i)),
4049 decode( l_ver_label_hist_rec_tab.NEW_ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.NEW_ATTRIBUTE3(i)),
4050 decode( l_ver_label_hist_rec_tab.OLD_ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.OLD_ATTRIBUTE4(i)),
4051 decode( l_ver_label_hist_rec_tab.NEW_ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.NEW_ATTRIBUTE4(i)),
4052 decode( l_ver_label_hist_rec_tab.OLD_ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.OLD_ATTRIBUTE5(i)),
4053 decode( l_ver_label_hist_rec_tab.NEW_ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.NEW_ATTRIBUTE5(i)),
4054 decode( l_ver_label_hist_rec_tab.OLD_ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.OLD_ATTRIBUTE6(i)),
4055 decode( l_ver_label_hist_rec_tab.NEW_ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.NEW_ATTRIBUTE6(i)),
4056 decode( l_ver_label_hist_rec_tab.OLD_ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.OLD_ATTRIBUTE7(i)),
4057 decode( l_ver_label_hist_rec_tab.NEW_ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.NEW_ATTRIBUTE7(i)),
4058 decode( l_ver_label_hist_rec_tab.OLD_ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.OLD_ATTRIBUTE8(i)),
4059 decode( l_ver_label_hist_rec_tab.NEW_ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.NEW_ATTRIBUTE8(i)),
4060 decode( l_ver_label_hist_rec_tab.OLD_ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.OLD_ATTRIBUTE9(i)),
4061 decode( l_ver_label_hist_rec_tab.NEW_ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.NEW_ATTRIBUTE9(i)),
4062 decode( l_ver_label_hist_rec_tab.OLD_ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.OLD_ATTRIBUTE10(i)),
4063 decode( l_ver_label_hist_rec_tab.NEW_ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.NEW_ATTRIBUTE10(i)),
4064 decode( l_ver_label_hist_rec_tab.OLD_ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.OLD_ATTRIBUTE11(i)),
4065 decode( l_ver_label_hist_rec_tab.NEW_ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.NEW_ATTRIBUTE11(i)),
4066 decode( l_ver_label_hist_rec_tab.OLD_ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.OLD_ATTRIBUTE12(i)),
4067 decode( l_ver_label_hist_rec_tab.NEW_ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.NEW_ATTRIBUTE12(i)),
4068 decode( l_ver_label_hist_rec_tab.OLD_ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.OLD_ATTRIBUTE13(i)),
4069 decode( l_ver_label_hist_rec_tab.NEW_ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.NEW_ATTRIBUTE13(i)),
4070 decode( l_ver_label_hist_rec_tab.OLD_ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.OLD_ATTRIBUTE14(i)),
4071 decode( l_ver_label_hist_rec_tab.NEW_ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.NEW_ATTRIBUTE14(i)),
4072 decode( l_ver_label_hist_rec_tab.OLD_ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.OLD_ATTRIBUTE15(i)),
4073 decode( l_ver_label_hist_rec_tab.NEW_ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_ver_label_hist_rec_tab.NEW_ATTRIBUTE15(i)),
4077 l_user_id,
4074 'N',
4075 l_user_id,
4076 SYSDATE,
4078 SYSDATE,
4079 l_login_id,
4080 1
4081 );
4082 END IF;
4083 --
4084 IF p_party_tbl.count > 0 THEN
4085 Build_Party_Rec_of_Table
4086 ( p_party_tbl => p_party_tbl
4087 ,p_party_rec_tab => l_party_rec_tab
4088 );
4089 --
4090 l_ctr := l_party_rec_tab.instance_party_id.count;
4091 --
4092 FORALL i in 1 .. l_ctr
4093 INSERT INTO CSI_I_PARTIES(
4094 INSTANCE_PARTY_ID,
4095 INSTANCE_ID,
4096 PARTY_SOURCE_TABLE,
4097 PARTY_ID,
4098 RELATIONSHIP_TYPE_CODE,
4099 CONTACT_FLAG,
4100 CONTACT_IP_ID,
4101 ACTIVE_START_DATE,
4102 ACTIVE_END_DATE,
4103 CONTEXT,
4104 ATTRIBUTE1,
4105 ATTRIBUTE2,
4106 ATTRIBUTE3,
4107 ATTRIBUTE4,
4108 ATTRIBUTE5,
4109 ATTRIBUTE6,
4110 ATTRIBUTE7,
4111 ATTRIBUTE8,
4112 ATTRIBUTE9,
4113 ATTRIBUTE10,
4114 ATTRIBUTE11,
4115 ATTRIBUTE12,
4116 ATTRIBUTE13,
4117 ATTRIBUTE14,
4118 ATTRIBUTE15,
4119 CREATED_BY,
4120 CREATION_DATE,
4121 LAST_UPDATED_BY,
4122 LAST_UPDATE_DATE,
4123 LAST_UPDATE_LOGIN,
4124 OBJECT_VERSION_NUMBER,
4125 PRIMARY_FLAG,
4126 PREFERRED_FLAG
4127 ) VALUES (
4128 l_party_rec_tab.INSTANCE_PARTY_ID(i),
4129 decode( l_party_rec_tab.INSTANCE_ID(i), FND_API.G_MISS_NUM, NULL, l_party_rec_tab.INSTANCE_ID(i)),
4130 decode( l_party_rec_tab.PARTY_SOURCE_TABLE(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.PARTY_SOURCE_TABLE(i)),
4131 decode( l_party_rec_tab.PARTY_ID(i), FND_API.G_MISS_NUM, NULL, l_party_rec_tab.PARTY_ID(i)),
4132 decode( l_party_rec_tab.RELATIONSHIP_TYPE_CODE(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.RELATIONSHIP_TYPE_CODE(i)),
4133 decode( l_party_rec_tab.CONTACT_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.CONTACT_FLAG(i)),
4134 decode( l_party_rec_tab.CONTACT_IP_ID(i), FND_API.G_MISS_NUM, NULL, l_party_rec_tab.CONTACT_IP_ID(i)),
4135 decode( l_party_rec_tab.ACTIVE_START_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_party_rec_tab.ACTIVE_START_DATE(i)),
4136 decode( l_party_rec_tab.ACTIVE_END_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_party_rec_tab.ACTIVE_END_DATE(i)),
4137 decode( l_party_rec_tab.CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.CONTEXT(i)),
4138 decode( l_party_rec_tab.ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.ATTRIBUTE1(i)),
4139 decode( l_party_rec_tab.ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.ATTRIBUTE2(i)),
4140 decode( l_party_rec_tab.ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.ATTRIBUTE3(i)),
4141 decode( l_party_rec_tab.ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.ATTRIBUTE4(i)),
4142 decode( l_party_rec_tab.ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.ATTRIBUTE5(i)),
4143 decode( l_party_rec_tab.ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.ATTRIBUTE6(i)),
4144 decode( l_party_rec_tab.ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.ATTRIBUTE7(i)),
4145 decode( l_party_rec_tab.ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.ATTRIBUTE8(i)),
4146 decode( l_party_rec_tab.ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.ATTRIBUTE9(i)),
4147 decode( l_party_rec_tab.ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.ATTRIBUTE10(i)),
4148 decode( l_party_rec_tab.ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.ATTRIBUTE11(i)),
4149 decode( l_party_rec_tab.ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.ATTRIBUTE12(i)),
4150 decode( l_party_rec_tab.ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.ATTRIBUTE13(i)),
4151 decode( l_party_rec_tab.ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.ATTRIBUTE14(i)),
4152 decode( l_party_rec_tab.ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.ATTRIBUTE15(i)),
4153 l_user_id,
4154 SYSDATE,
4155 l_user_id,
4156 SYSDATE,
4157 l_login_id,
4158 1,
4159 decode(l_party_rec_tab.PRIMARY_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.PRIMARY_FLAG(i)),
4160 decode( l_party_rec_tab.PREFERRED_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.PREFERRED_FLAG(i)));
4161 --
4162 END IF;
4163 --
4164 IF p_party_hist_tbl.count > 0 THEN
4165 Build_Party_Hist_Rec_of_Table
4166 ( p_party_hist_tbl => p_party_hist_tbl
4167 ,p_party_hist_rec_tab => l_party_hist_rec_tab
4168 );
4169 --
4170 l_ctr := l_party_hist_rec_tab.instance_party_history_id.count;
4171 --
4172 FORALL i in 1 .. l_ctr
4173 INSERT INTO CSI_I_PARTIES_H(
4174 INSTANCE_PARTY_HISTORY_ID,
4175 INSTANCE_PARTY_ID,
4176 TRANSACTION_ID,
4177 OLD_PARTY_SOURCE_TABLE,
4178 NEW_PARTY_SOURCE_TABLE,
4179 OLD_PARTY_ID,
4180 NEW_PARTY_ID,
4181 OLD_RELATIONSHIP_TYPE_CODE,
4182 NEW_RELATIONSHIP_TYPE_CODE,
4183 OLD_CONTACT_FLAG,
4184 NEW_CONTACT_FLAG,
4185 OLD_CONTACT_IP_ID,
4186 NEW_CONTACT_IP_ID,
4187 OLD_ACTIVE_START_DATE,
4188 NEW_ACTIVE_START_DATE,
4189 OLD_ACTIVE_END_DATE,
4190 NEW_ACTIVE_END_DATE,
4191 OLD_CONTEXT,
4192 NEW_CONTEXT,
4193 OLD_ATTRIBUTE1,
4194 NEW_ATTRIBUTE1,
4195 OLD_ATTRIBUTE2,
4196 NEW_ATTRIBUTE2,
4197 OLD_ATTRIBUTE3,
4198 NEW_ATTRIBUTE3,
4199 OLD_ATTRIBUTE4,
4200 NEW_ATTRIBUTE4,
4201 OLD_ATTRIBUTE5,
4202 NEW_ATTRIBUTE5,
4203 OLD_ATTRIBUTE6,
4204 NEW_ATTRIBUTE6,
4205 OLD_ATTRIBUTE7,
4206 NEW_ATTRIBUTE7,
4207 OLD_ATTRIBUTE8,
4208 NEW_ATTRIBUTE8,
4209 OLD_ATTRIBUTE9,
4210 NEW_ATTRIBUTE9,
4211 OLD_ATTRIBUTE10,
4212 NEW_ATTRIBUTE10,
4213 OLD_ATTRIBUTE11,
4214 NEW_ATTRIBUTE11,
4215 OLD_ATTRIBUTE12,
4216 NEW_ATTRIBUTE12,
4217 OLD_ATTRIBUTE13,
4221 OLD_ATTRIBUTE15,
4218 NEW_ATTRIBUTE13,
4219 OLD_ATTRIBUTE14,
4220 NEW_ATTRIBUTE14,
4222 NEW_ATTRIBUTE15,
4223 FULL_DUMP_FLAG,
4224 CREATED_BY,
4225 CREATION_DATE,
4226 LAST_UPDATED_BY,
4227 LAST_UPDATE_DATE,
4228 LAST_UPDATE_LOGIN,
4229 OBJECT_VERSION_NUMBER,
4230 OLD_PRIMARY_FLAG,
4231 NEW_PRIMARY_FLAG,
4232 OLD_PREFERRED_FLAG,
4233 NEW_PREFERRED_FLAG
4234 ) VALUES (
4235 l_party_hist_rec_tab.INSTANCE_PARTY_HISTORY_ID(i),
4236 decode( l_party_hist_rec_tab.INSTANCE_PARTY_ID(i), FND_API.G_MISS_NUM, NULL, l_party_hist_rec_tab.INSTANCE_PARTY_ID(i)),
4237 decode( l_party_hist_rec_tab.TRANSACTION_ID(i), FND_API.G_MISS_NUM, NULL, l_party_hist_rec_tab.TRANSACTION_ID(i)),
4238 decode( l_party_hist_rec_tab.OLD_PARTY_SOURCE_TABLE(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_PARTY_SOURCE_TABLE(i)),
4239 decode( l_party_hist_rec_tab.NEW_PARTY_SOURCE_TABLE(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_PARTY_SOURCE_TABLE(i)),
4240 decode( l_party_hist_rec_tab.OLD_PARTY_ID(i), FND_API.G_MISS_NUM, NULL, l_party_hist_rec_tab.OLD_PARTY_ID(i)),
4241 decode( l_party_hist_rec_tab.NEW_PARTY_ID(i), FND_API.G_MISS_NUM, NULL, l_party_hist_rec_tab.NEW_PARTY_ID(i)),
4242 decode( l_party_hist_rec_tab.OLD_RELATIONSHIP_TYPE_CODE(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_RELATIONSHIP_TYPE_CODE(i)),
4243 decode( l_party_hist_rec_tab.NEW_RELATIONSHIP_TYPE_CODE(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_RELATIONSHIP_TYPE_CODE(i)),
4244 decode( l_party_hist_rec_tab.OLD_CONTACT_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_CONTACT_FLAG(i)),
4245 decode( l_party_hist_rec_tab.NEW_CONTACT_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_CONTACT_FLAG(i)),
4246 decode( l_party_hist_rec_tab.OLD_CONTACT_IP_ID(i), FND_API.G_MISS_NUM, NULL, l_party_hist_rec_tab.OLD_CONTACT_IP_ID(i)),
4247 decode( l_party_hist_rec_tab.NEW_CONTACT_IP_ID(i), FND_API.G_MISS_NUM, NULL, l_party_hist_rec_tab.NEW_CONTACT_IP_ID(i)),
4248 decode( l_party_hist_rec_tab.OLD_ACTIVE_START_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_party_hist_rec_tab.OLD_ACTIVE_START_DATE(i)),
4249 decode( l_party_hist_rec_tab.NEW_ACTIVE_START_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_party_hist_rec_tab.NEW_ACTIVE_START_DATE(i)),
4250 decode( l_party_hist_rec_tab.OLD_ACTIVE_END_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_party_hist_rec_tab.OLD_ACTIVE_END_DATE(i)),
4251 decode( l_party_hist_rec_tab.NEW_ACTIVE_END_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_party_hist_rec_tab.NEW_ACTIVE_END_DATE(i)),
4252 decode( l_party_hist_rec_tab.OLD_CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_CONTEXT(i)),
4253 decode( l_party_hist_rec_tab.NEW_CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_CONTEXT(i)),
4254 decode( l_party_hist_rec_tab.OLD_ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_ATTRIBUTE1(i)),
4255 decode( l_party_hist_rec_tab.NEW_ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_ATTRIBUTE1(i)),
4256 decode( l_party_hist_rec_tab.OLD_ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_ATTRIBUTE2(i)),
4257 decode( l_party_hist_rec_tab.NEW_ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_ATTRIBUTE2(i)),
4258 decode( l_party_hist_rec_tab.OLD_ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_ATTRIBUTE3(i)),
4259 decode( l_party_hist_rec_tab.NEW_ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_ATTRIBUTE3(i)),
4260 decode( l_party_hist_rec_tab.OLD_ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_ATTRIBUTE4(i)),
4261 decode( l_party_hist_rec_tab.NEW_ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_ATTRIBUTE4(i)),
4262 decode( l_party_hist_rec_tab.OLD_ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_ATTRIBUTE5(i)),
4263 decode( l_party_hist_rec_tab.NEW_ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_ATTRIBUTE5(i)),
4264 decode( l_party_hist_rec_tab.OLD_ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_ATTRIBUTE6(i)),
4265 decode( l_party_hist_rec_tab.NEW_ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_ATTRIBUTE6(i)),
4266 decode( l_party_hist_rec_tab.OLD_ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_ATTRIBUTE7(i)),
4267 decode( l_party_hist_rec_tab.NEW_ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_ATTRIBUTE7(i)),
4268 decode( l_party_hist_rec_tab.OLD_ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_ATTRIBUTE8(i)),
4269 decode( l_party_hist_rec_tab.NEW_ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_ATTRIBUTE8(i)),
4270 decode( l_party_hist_rec_tab.OLD_ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_ATTRIBUTE9(i)),
4271 decode( l_party_hist_rec_tab.NEW_ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_ATTRIBUTE9(i)),
4272 decode( l_party_hist_rec_tab.OLD_ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_ATTRIBUTE10(i)),
4273 decode( l_party_hist_rec_tab.NEW_ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_ATTRIBUTE10(i)),
4274 decode( l_party_hist_rec_tab.OLD_ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_ATTRIBUTE11(i)),
4275 decode( l_party_hist_rec_tab.NEW_ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_ATTRIBUTE11(i)),
4276 decode( l_party_hist_rec_tab.OLD_ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_ATTRIBUTE12(i)),
4277 decode( l_party_hist_rec_tab.NEW_ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_ATTRIBUTE12(i)),
4278 decode( l_party_hist_rec_tab.OLD_ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_ATTRIBUTE13(i)),
4279 decode( l_party_hist_rec_tab.NEW_ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_ATTRIBUTE13(i)),
4280 decode( l_party_hist_rec_tab.OLD_ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_ATTRIBUTE14(i)),
4281 decode( l_party_hist_rec_tab.NEW_ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_ATTRIBUTE14(i)),
4282 decode( l_party_hist_rec_tab.OLD_ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_ATTRIBUTE15(i)),
4283 decode( l_party_hist_rec_tab.NEW_ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_ATTRIBUTE15(i)),
4287 l_user_id,
4284 'N',
4285 l_user_id,
4286 SYSDATE,
4288 SYSDATE,
4289 l_login_id,
4290 1,
4291 decode( l_party_hist_rec_tab.OLD_PRIMARY_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_PRIMARY_FLAG(i)),
4292 decode( l_party_hist_rec_tab.NEW_PRIMARY_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_PRIMARY_FLAG(i)),
4293 decode( l_party_hist_rec_tab.OLD_PREFERRED_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_PREFERRED_FLAG(i)),
4294 decode( l_party_hist_rec_tab.NEW_PREFERRED_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_PREFERRED_FLAG(i))
4295 );
4296 END IF;
4297 --
4298 IF p_account_tbl.count > 0 THEN
4299 Build_Acct_Rec_of_Table
4300 ( p_account_tbl => p_account_tbl
4301 ,p_account_rec_tab => l_account_rec_tab
4302 );
4303 --
4304 l_ctr := l_account_rec_tab.ip_account_id.count;
4305 --
4306 FORALL i in 1 .. l_ctr
4307 INSERT INTO CSI_IP_ACCOUNTS(
4308 IP_ACCOUNT_ID,
4309 INSTANCE_PARTY_ID,
4310 PARTY_ACCOUNT_ID,
4311 RELATIONSHIP_TYPE_CODE,
4312 ACTIVE_START_DATE,
4313 ACTIVE_END_DATE,
4314 CONTEXT,
4315 ATTRIBUTE1,
4316 ATTRIBUTE2,
4317 ATTRIBUTE3,
4318 ATTRIBUTE4,
4319 ATTRIBUTE5,
4320 ATTRIBUTE6,
4321 ATTRIBUTE7,
4322 ATTRIBUTE8,
4323 ATTRIBUTE9,
4324 ATTRIBUTE10,
4325 ATTRIBUTE11,
4326 ATTRIBUTE12,
4327 ATTRIBUTE13,
4328 ATTRIBUTE14,
4329 ATTRIBUTE15,
4330 CREATED_BY,
4331 CREATION_DATE,
4332 LAST_UPDATED_BY,
4333 LAST_UPDATE_DATE,
4334 LAST_UPDATE_LOGIN,
4335 OBJECT_VERSION_NUMBER,
4336 BILL_TO_ADDRESS,
4337 SHIP_TO_ADDRESS
4338 ) VALUES (
4339 l_account_rec_tab.IP_ACCOUNT_ID(i),
4340 decode( l_account_rec_tab.INSTANCE_PARTY_ID(i), FND_API.G_MISS_NUM, NULL, l_account_rec_tab.INSTANCE_PARTY_ID(i)),
4341 decode( l_account_rec_tab.PARTY_ACCOUNT_ID(i), FND_API.G_MISS_NUM, NULL, l_account_rec_tab.PARTY_ACCOUNT_ID(i)),
4342 decode( l_account_rec_tab.RELATIONSHIP_TYPE_CODE(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.RELATIONSHIP_TYPE_CODE(i)),
4343 decode( l_account_rec_tab.ACTIVE_START_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_account_rec_tab.ACTIVE_START_DATE(i)),
4344 decode( l_account_rec_tab.ACTIVE_END_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_account_rec_tab.ACTIVE_END_DATE(i)),
4345 decode( l_account_rec_tab.CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.CONTEXT(i)),
4346 decode( l_account_rec_tab.ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.ATTRIBUTE1(i)),
4347 decode( l_account_rec_tab.ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.ATTRIBUTE2(i)),
4348 decode( l_account_rec_tab.ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.ATTRIBUTE3(i)),
4349 decode( l_account_rec_tab.ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.ATTRIBUTE4(i)),
4350 decode( l_account_rec_tab.ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.ATTRIBUTE5(i)),
4351 decode( l_account_rec_tab.ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.ATTRIBUTE6(i)),
4352 decode( l_account_rec_tab.ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.ATTRIBUTE7(i)),
4353 decode( l_account_rec_tab.ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.ATTRIBUTE8(i)),
4354 decode( l_account_rec_tab.ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.ATTRIBUTE9(i)),
4355 decode( l_account_rec_tab.ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.ATTRIBUTE10(i)),
4356 decode( l_account_rec_tab.ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.ATTRIBUTE11(i)),
4357 decode( l_account_rec_tab.ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.ATTRIBUTE12(i)),
4358 decode( l_account_rec_tab.ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.ATTRIBUTE13(i)),
4359 decode( l_account_rec_tab.ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.ATTRIBUTE14(i)),
4360 decode( l_account_rec_tab.ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.ATTRIBUTE15(i)),
4361 l_user_id,
4362 SYSDATE,
4363 l_user_id,
4364 SYSDATE,
4365 l_login_id,
4366 1,
4367 decode( l_account_rec_tab.BILL_TO_ADDRESS(i), FND_API.G_MISS_NUM, NULL, l_account_rec_tab.BILL_TO_ADDRESS(i)),
4368 decode( l_account_rec_tab.SHIP_TO_ADDRESS(i), FND_API.G_MISS_NUM, NULL, l_account_rec_tab.SHIP_TO_ADDRESS(i))
4369 );
4370 END IF;
4371 --
4372 IF p_owner_pty_acct_tbl.count > 0 THEN
4373 Build_Owner_Pty_Acct_Rec_Table
4374 (
4375 p_owner_pty_acct_tbl => p_owner_pty_acct_tbl
4376 ,p_owner_pty_acct_rec_tab => l_owner_pty_acct_rec_tab
4377 );
4378 --
4379 l_ctr := l_owner_pty_acct_rec_tab.instance_id.count;
4380 --
4381 FORALL i in 1 .. l_ctr
4382 UPDATE CSI_ITEM_INSTANCES
4383 SET owner_party_id = l_owner_pty_acct_rec_tab.party_id(i)
4384 ,owner_party_source_table = l_owner_pty_acct_rec_tab.party_source_table(i)
4385 ,owner_party_account_id = l_owner_pty_acct_rec_tab.account_id(i)
4386 WHERE instance_id = l_owner_pty_acct_rec_tab.instance_id(i);
4387 END IF;
4388 --
4389 IF p_acct_hist_tbl.count > 0 THEN
4390 Build_Acct_Hist_Rec_of_Table
4391 ( p_acct_hist_tbl => p_acct_hist_tbl
4392 ,p_acct_hist_rec_tab => l_acct_hist_rec_tab
4393 );
4394 --
4395 l_ctr := l_acct_hist_rec_tab.ip_account_history_id.count;
4396 --
4397 FORALL i in 1 .. l_ctr
4398 INSERT INTO CSI_IP_ACCOUNTS_H(
4399 IP_ACCOUNT_HISTORY_ID,
4400 IP_ACCOUNT_ID,
4401 TRANSACTION_ID,
4402 OLD_PARTY_ACCOUNT_ID,
4403 NEW_PARTY_ACCOUNT_ID,
4404 OLD_RELATIONSHIP_TYPE_CODE,
4405 NEW_RELATIONSHIP_TYPE_CODE,
4406 OLD_ACTIVE_START_DATE,
4410 OLD_CONTEXT,
4407 NEW_ACTIVE_START_DATE,
4408 OLD_ACTIVE_END_DATE,
4409 NEW_ACTIVE_END_DATE,
4411 NEW_CONTEXT,
4412 OLD_ATTRIBUTE1,
4413 NEW_ATTRIBUTE1,
4414 OLD_ATTRIBUTE2,
4415 NEW_ATTRIBUTE2,
4416 OLD_ATTRIBUTE3,
4417 NEW_ATTRIBUTE3,
4418 OLD_ATTRIBUTE4,
4419 NEW_ATTRIBUTE4,
4420 OLD_ATTRIBUTE5,
4421 NEW_ATTRIBUTE5,
4422 OLD_ATTRIBUTE6,
4423 NEW_ATTRIBUTE6,
4424 OLD_ATTRIBUTE7,
4425 NEW_ATTRIBUTE7,
4426 OLD_ATTRIBUTE8,
4427 NEW_ATTRIBUTE8,
4428 OLD_ATTRIBUTE9,
4429 NEW_ATTRIBUTE9,
4430 OLD_ATTRIBUTE10,
4431 NEW_ATTRIBUTE10,
4432 OLD_ATTRIBUTE11,
4433 NEW_ATTRIBUTE11,
4434 OLD_ATTRIBUTE12,
4435 NEW_ATTRIBUTE12,
4436 OLD_ATTRIBUTE13,
4437 NEW_ATTRIBUTE13,
4438 OLD_ATTRIBUTE14,
4439 NEW_ATTRIBUTE14,
4440 OLD_ATTRIBUTE15,
4441 NEW_ATTRIBUTE15,
4442 FULL_DUMP_FLAG,
4443 CREATED_BY,
4444 CREATION_DATE,
4445 LAST_UPDATED_BY,
4446 LAST_UPDATE_DATE,
4447 LAST_UPDATE_LOGIN,
4448 OBJECT_VERSION_NUMBER,
4449 OLD_BILL_TO_ADDRESS,
4450 NEW_BILL_TO_ADDRESS,
4451 OLD_SHIP_TO_ADDRESS,
4452 NEW_SHIP_TO_ADDRESS
4453 ) VALUES (
4454 l_acct_hist_rec_tab.IP_ACCOUNT_HISTORY_ID(i),
4455 decode( l_acct_hist_rec_tab.IP_ACCOUNT_ID(i), FND_API.G_MISS_NUM, NULL, l_acct_hist_rec_tab.IP_ACCOUNT_ID(i)),
4456 decode( l_acct_hist_rec_tab.TRANSACTION_ID(i), FND_API.G_MISS_NUM, NULL, l_acct_hist_rec_tab.TRANSACTION_ID(i)),
4457 decode( l_acct_hist_rec_tab.OLD_PARTY_ACCOUNT_ID(i), FND_API.G_MISS_NUM, NULL, l_acct_hist_rec_tab.OLD_PARTY_ACCOUNT_ID(i)),
4458 decode( l_acct_hist_rec_tab.NEW_PARTY_ACCOUNT_ID(i), FND_API.G_MISS_NUM, NULL, l_acct_hist_rec_tab.NEW_PARTY_ACCOUNT_ID(i)),
4459 decode( l_acct_hist_rec_tab.OLD_RELATIONSHIP_TYPE_CODE(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_RELATIONSHIP_TYPE_CODE(i)),
4460 decode( l_acct_hist_rec_tab.NEW_RELATIONSHIP_TYPE_CODE(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_RELATIONSHIP_TYPE_CODE(i)),
4461 decode( l_acct_hist_rec_tab.OLD_ACTIVE_START_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_acct_hist_rec_tab.OLD_ACTIVE_START_DATE(i)),
4462 decode( l_acct_hist_rec_tab.NEW_ACTIVE_START_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_acct_hist_rec_tab.NEW_ACTIVE_START_DATE(i)),
4463 decode( l_acct_hist_rec_tab.OLD_ACTIVE_END_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_acct_hist_rec_tab.OLD_ACTIVE_END_DATE(i)),
4464 decode( l_acct_hist_rec_tab.NEW_ACTIVE_END_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_acct_hist_rec_tab.NEW_ACTIVE_END_DATE(i)),
4465 decode( l_acct_hist_rec_tab.OLD_CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_CONTEXT(i)),
4466 decode( l_acct_hist_rec_tab.NEW_CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_CONTEXT(i)),
4467 decode( l_acct_hist_rec_tab.OLD_ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_ATTRIBUTE1(i)),
4468 decode( l_acct_hist_rec_tab.NEW_ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_ATTRIBUTE1(i)),
4469 decode( l_acct_hist_rec_tab.OLD_ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_ATTRIBUTE2(i)),
4470 decode( l_acct_hist_rec_tab.NEW_ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_ATTRIBUTE2(i)),
4471 decode( l_acct_hist_rec_tab.OLD_ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_ATTRIBUTE3(i)),
4472 decode( l_acct_hist_rec_tab.NEW_ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_ATTRIBUTE3(i)),
4473 decode( l_acct_hist_rec_tab.OLD_ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_ATTRIBUTE4(i)),
4474 decode( l_acct_hist_rec_tab.NEW_ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_ATTRIBUTE4(i)),
4475 decode( l_acct_hist_rec_tab.OLD_ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_ATTRIBUTE5(i)),
4476 decode( l_acct_hist_rec_tab.NEW_ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_ATTRIBUTE5(i)),
4477 decode( l_acct_hist_rec_tab.OLD_ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_ATTRIBUTE6(i)),
4478 decode( l_acct_hist_rec_tab.NEW_ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_ATTRIBUTE6(i)),
4479 decode( l_acct_hist_rec_tab.OLD_ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_ATTRIBUTE7(i)),
4480 decode( l_acct_hist_rec_tab.NEW_ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_ATTRIBUTE7(i)),
4481 decode( l_acct_hist_rec_tab.OLD_ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_ATTRIBUTE8(i)),
4482 decode( l_acct_hist_rec_tab.NEW_ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_ATTRIBUTE8(i)),
4483 decode( l_acct_hist_rec_tab.OLD_ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_ATTRIBUTE9(i)),
4484 decode( l_acct_hist_rec_tab.NEW_ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_ATTRIBUTE9(i)),
4485 decode( l_acct_hist_rec_tab.OLD_ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_ATTRIBUTE10(i)),
4486 decode( l_acct_hist_rec_tab.NEW_ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_ATTRIBUTE10(i)),
4487 decode( l_acct_hist_rec_tab.OLD_ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_ATTRIBUTE11(i)),
4488 decode( l_acct_hist_rec_tab.NEW_ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_ATTRIBUTE11(i)),
4489 decode( l_acct_hist_rec_tab.OLD_ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_ATTRIBUTE12(i)),
4490 decode( l_acct_hist_rec_tab.NEW_ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_ATTRIBUTE12(i)),
4491 decode( l_acct_hist_rec_tab.OLD_ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_ATTRIBUTE13(i)),
4492 decode( l_acct_hist_rec_tab.NEW_ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_ATTRIBUTE13(i)),
4493 decode( l_acct_hist_rec_tab.OLD_ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_ATTRIBUTE14(i)),
4494 decode( l_acct_hist_rec_tab.NEW_ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_ATTRIBUTE14(i)),
4495 decode( l_acct_hist_rec_tab.OLD_ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_ATTRIBUTE15(i)),
4499 SYSDATE,
4496 decode( l_acct_hist_rec_tab.NEW_ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_ATTRIBUTE15(i)),
4497 'N',
4498 l_user_id,
4500 l_user_id,
4501 SYSDATE,
4502 l_login_id,
4503 1,
4504 decode( l_acct_hist_rec_tab.OLD_BILL_TO_ADDRESS(i), FND_API.G_MISS_NUM, NULL, l_acct_hist_rec_tab.OLD_BILL_TO_ADDRESS(i)),
4505 decode( l_acct_hist_rec_tab.NEW_BILL_TO_ADDRESS(i), FND_API.G_MISS_NUM, NULL, l_acct_hist_rec_tab.NEW_BILL_TO_ADDRESS(i)),
4506 decode( l_acct_hist_rec_tab.OLD_SHIP_TO_ADDRESS(i), FND_API.G_MISS_NUM, NULL, l_acct_hist_rec_tab.OLD_SHIP_TO_ADDRESS(i)),
4507 decode( l_acct_hist_rec_tab.NEW_SHIP_TO_ADDRESS(i), FND_API.G_MISS_NUM, NULL, l_acct_hist_rec_tab.NEW_SHIP_TO_ADDRESS(i))
4508 );
4509 END IF;
4510 --
4511 IF p_org_units_tbl.count > 0 THEN
4512 Build_Org_Rec_of_Table
4513 (
4514 p_org_tbl => p_org_units_tbl
4515 ,p_org_units_rec_tab => l_org_units_rec_tab
4516 );
4517 --
4518 l_ctr := l_org_units_rec_tab.instance_ou_id.count;
4519 --
4520 FORALL i in 1 .. l_ctr
4521 INSERT INTO CSI_I_ORG_ASSIGNMENTS(
4522 INSTANCE_OU_ID,
4523 INSTANCE_ID,
4524 OPERATING_UNIT_ID,
4525 RELATIONSHIP_TYPE_CODE,
4526 ACTIVE_START_DATE,
4527 ACTIVE_END_DATE,
4528 CONTEXT,
4529 ATTRIBUTE1,
4530 ATTRIBUTE2,
4531 ATTRIBUTE3,
4532 ATTRIBUTE4,
4533 ATTRIBUTE5,
4534 ATTRIBUTE6,
4535 ATTRIBUTE7,
4536 ATTRIBUTE8,
4537 ATTRIBUTE9,
4538 ATTRIBUTE10,
4539 ATTRIBUTE11,
4540 ATTRIBUTE12,
4541 ATTRIBUTE13,
4542 ATTRIBUTE14,
4543 ATTRIBUTE15,
4544 CREATED_BY,
4545 CREATION_DATE,
4546 LAST_UPDATED_BY,
4547 LAST_UPDATE_DATE,
4548 LAST_UPDATE_LOGIN,
4549 OBJECT_VERSION_NUMBER
4550 ) VALUES (
4551 l_org_units_rec_tab.INSTANCE_OU_ID(i),
4552 decode( l_org_units_rec_tab.INSTANCE_ID(i), FND_API.G_MISS_NUM, NULL, l_org_units_rec_tab.INSTANCE_ID(i)),
4553 decode( l_org_units_rec_tab.OPERATING_UNIT_ID(i), FND_API.G_MISS_NUM, NULL, l_org_units_rec_tab.OPERATING_UNIT_ID(i)),
4554 decode( l_org_units_rec_tab.RELATIONSHIP_TYPE_CODE(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.RELATIONSHIP_TYPE_CODE(i)),
4555 decode( l_org_units_rec_tab.ACTIVE_START_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_org_units_rec_tab.ACTIVE_START_DATE(i)),
4556 decode( l_org_units_rec_tab.ACTIVE_END_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_org_units_rec_tab.ACTIVE_END_DATE(i)),
4557 decode( l_org_units_rec_tab.CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.CONTEXT(i)),
4558 decode( l_org_units_rec_tab.ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.ATTRIBUTE1(i)),
4559 decode( l_org_units_rec_tab.ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.ATTRIBUTE2(i)),
4560 decode( l_org_units_rec_tab.ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.ATTRIBUTE3(i)),
4561 decode( l_org_units_rec_tab.ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.ATTRIBUTE4(i)),
4562 decode( l_org_units_rec_tab.ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.ATTRIBUTE5(i)),
4563 decode( l_org_units_rec_tab.ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.ATTRIBUTE6(i)),
4564 decode( l_org_units_rec_tab.ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.ATTRIBUTE7(i)),
4565 decode( l_org_units_rec_tab.ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.ATTRIBUTE8(i)),
4566 decode( l_org_units_rec_tab.ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.ATTRIBUTE9(i)),
4567 decode( l_org_units_rec_tab.ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.ATTRIBUTE10(i)),
4568 decode( l_org_units_rec_tab.ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.ATTRIBUTE11(i)),
4569 decode( l_org_units_rec_tab.ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.ATTRIBUTE12(i)),
4570 decode( l_org_units_rec_tab.ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.ATTRIBUTE13(i)),
4571 decode( l_org_units_rec_tab.ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.ATTRIBUTE14(i)),
4572 decode( l_org_units_rec_tab.ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.ATTRIBUTE15(i)),
4573 l_user_id,
4574 SYSDATE,
4575 l_user_id,
4576 SYSDATE,
4577 l_login_id,
4578 1);
4579 END IF;
4580 --
4581 IF p_org_units_hist_tbl.count > 0 THEN
4582 Build_Org_Hist_Rec_of_Table
4583 (
4584 p_org_hist_tbl => p_org_units_hist_tbl
4585 ,p_org_hist_rec_tab => l_org_hist_rec_tab
4586 );
4587 --
4588 l_ctr := l_org_hist_rec_tab.instance_ou_history_id.count;
4589 --
4590 FORALL i in 1 .. l_ctr
4591 INSERT INTO CSI_I_ORG_ASSIGNMENTS_H(
4592 INSTANCE_OU_HISTORY_ID,
4593 INSTANCE_OU_ID,
4594 TRANSACTION_ID,
4595 OLD_OPERATING_UNIT_ID,
4596 NEW_OPERATING_UNIT_ID,
4597 OLD_RELATIONSHIP_TYPE_CODE,
4598 NEW_RELATIONSHIP_TYPE_CODE,
4599 OLD_ACTIVE_START_DATE,
4600 NEW_ACTIVE_START_DATE,
4601 OLD_ACTIVE_END_DATE,
4602 NEW_ACTIVE_END_DATE,
4603 OLD_CONTEXT,
4604 NEW_CONTEXT,
4605 OLD_ATTRIBUTE1,
4606 NEW_ATTRIBUTE1,
4607 OLD_ATTRIBUTE2,
4608 NEW_ATTRIBUTE2,
4609 OLD_ATTRIBUTE3,
4610 NEW_ATTRIBUTE3,
4611 OLD_ATTRIBUTE4,
4612 NEW_ATTRIBUTE4,
4613 OLD_ATTRIBUTE5,
4614 NEW_ATTRIBUTE5,
4615 OLD_ATTRIBUTE6,
4616 NEW_ATTRIBUTE6,
4617 OLD_ATTRIBUTE7,
4618 NEW_ATTRIBUTE7,
4619 OLD_ATTRIBUTE8,
4620 NEW_ATTRIBUTE8,
4621 OLD_ATTRIBUTE9,
4622 NEW_ATTRIBUTE9,
4626 NEW_ATTRIBUTE11,
4623 OLD_ATTRIBUTE10,
4624 NEW_ATTRIBUTE10,
4625 OLD_ATTRIBUTE11,
4627 OLD_ATTRIBUTE12,
4628 NEW_ATTRIBUTE12,
4629 OLD_ATTRIBUTE13,
4630 NEW_ATTRIBUTE13,
4631 OLD_ATTRIBUTE14,
4632 NEW_ATTRIBUTE14,
4633 OLD_ATTRIBUTE15,
4634 NEW_ATTRIBUTE15,
4635 FULL_DUMP_FLAG,
4636 CREATED_BY,
4637 CREATION_DATE,
4638 LAST_UPDATED_BY,
4639 LAST_UPDATE_DATE,
4640 LAST_UPDATE_LOGIN,
4641 OBJECT_VERSION_NUMBER
4642 ) VALUES (
4643 l_org_hist_rec_tab.INSTANCE_OU_HISTORY_ID(i),
4644 decode( l_org_hist_rec_tab.INSTANCE_OU_ID(i), FND_API.G_MISS_NUM, NULL, l_org_hist_rec_tab.INSTANCE_OU_ID(i)),
4645 decode( l_org_hist_rec_tab.TRANSACTION_ID(i), FND_API.G_MISS_NUM, NULL, l_org_hist_rec_tab.TRANSACTION_ID(i)),
4646 decode( l_org_hist_rec_tab.OLD_OPERATING_UNIT_ID(i), FND_API.G_MISS_NUM, NULL, l_org_hist_rec_tab.OLD_OPERATING_UNIT_ID(i)),
4647 decode( l_org_hist_rec_tab.NEW_OPERATING_UNIT_ID(i), FND_API.G_MISS_NUM, NULL, l_org_hist_rec_tab.NEW_OPERATING_UNIT_ID(i)),
4648 decode( l_org_hist_rec_tab.OLD_RELATIONSHIP_TYPE_CODE(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_RELATIONSHIP_TYPE_CODE(i)),
4649 decode( l_org_hist_rec_tab.NEW_RELATIONSHIP_TYPE_CODE(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_RELATIONSHIP_TYPE_CODE(i)),
4650 decode( l_org_hist_rec_tab.OLD_ACTIVE_START_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_org_hist_rec_tab.OLD_ACTIVE_START_DATE(i)),
4651 decode( l_org_hist_rec_tab.NEW_ACTIVE_START_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_org_hist_rec_tab.NEW_ACTIVE_START_DATE(i)),
4652 decode( l_org_hist_rec_tab.OLD_ACTIVE_END_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_org_hist_rec_tab.OLD_ACTIVE_END_DATE(i)),
4653 decode( l_org_hist_rec_tab.NEW_ACTIVE_END_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_org_hist_rec_tab.NEW_ACTIVE_END_DATE(i)),
4654 decode( l_org_hist_rec_tab.OLD_CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_CONTEXT(i)),
4655 decode( l_org_hist_rec_tab.NEW_CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_CONTEXT(i)),
4656 decode( l_org_hist_rec_tab.OLD_ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_ATTRIBUTE1(i)),
4657 decode( l_org_hist_rec_tab.NEW_ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_ATTRIBUTE1(i)),
4658 decode( l_org_hist_rec_tab.OLD_ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_ATTRIBUTE2(i)),
4659 decode( l_org_hist_rec_tab.NEW_ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_ATTRIBUTE2(i)),
4660 decode( l_org_hist_rec_tab.OLD_ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_ATTRIBUTE3(i)),
4661 decode( l_org_hist_rec_tab.NEW_ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_ATTRIBUTE3(i)),
4662 decode( l_org_hist_rec_tab.OLD_ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_ATTRIBUTE4(i)),
4663 decode( l_org_hist_rec_tab.NEW_ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_ATTRIBUTE4(i)),
4664 decode( l_org_hist_rec_tab.OLD_ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_ATTRIBUTE5(i)),
4665 decode( l_org_hist_rec_tab.NEW_ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_ATTRIBUTE5(i)),
4666 decode( l_org_hist_rec_tab.OLD_ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_ATTRIBUTE6(i)),
4667 decode( l_org_hist_rec_tab.NEW_ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_ATTRIBUTE6(i)),
4668 decode( l_org_hist_rec_tab.OLD_ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_ATTRIBUTE7(i)),
4669 decode( l_org_hist_rec_tab.NEW_ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_ATTRIBUTE7(i)),
4670 decode( l_org_hist_rec_tab.OLD_ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_ATTRIBUTE8(i)),
4671 decode( l_org_hist_rec_tab.NEW_ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_ATTRIBUTE8(i)),
4672 decode( l_org_hist_rec_tab.OLD_ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_ATTRIBUTE9(i)),
4673 decode( l_org_hist_rec_tab.NEW_ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_ATTRIBUTE9(i)),
4674 decode( l_org_hist_rec_tab.OLD_ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_ATTRIBUTE10(i)),
4675 decode( l_org_hist_rec_tab.NEW_ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_ATTRIBUTE10(i)),
4676 decode( l_org_hist_rec_tab.OLD_ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_ATTRIBUTE11(i)),
4677 decode( l_org_hist_rec_tab.NEW_ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_ATTRIBUTE11(i)),
4678 decode( l_org_hist_rec_tab.OLD_ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_ATTRIBUTE12(i)),
4679 decode( l_org_hist_rec_tab.NEW_ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_ATTRIBUTE12(i)),
4680 decode( l_org_hist_rec_tab.OLD_ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_ATTRIBUTE13(i)),
4681 decode( l_org_hist_rec_tab.NEW_ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_ATTRIBUTE13(i)),
4682 decode( l_org_hist_rec_tab.OLD_ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_ATTRIBUTE14(i)),
4683 decode( l_org_hist_rec_tab.NEW_ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_ATTRIBUTE14(i)),
4684 decode( l_org_hist_rec_tab.OLD_ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_ATTRIBUTE15(i)),
4685 decode( l_org_hist_rec_tab.NEW_ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_ATTRIBUTE15(i)),
4686 'N',
4687 l_user_id,
4688 SYSDATE,
4689 l_user_id,
4690 SYSDATE,
4691 l_login_id,
4692 1);
4693 END IF;
4694 --
4695 IF p_pricing_tbl.count > 0 THEN
4696 Build_pricing_Rec_of_Table
4697 (
4698 p_pricing_tbl => p_pricing_tbl
4699 ,p_pricing_rec_tab => l_pricing_rec_tab
4700 );
4701 --
4702 l_ctr := l_pricing_rec_tab.pricing_attribute_id.count;
4703 --
4704 FORALL i in 1 .. l_ctr
4705 INSERT INTO CSI_I_PRICING_ATTRIBS(
4706 PRICING_ATTRIBUTE_ID,
4707 INSTANCE_ID,
4708 ACTIVE_START_DATE,
4709 ACTIVE_END_DATE,
4710 CONTEXT,
4711 ATTRIBUTE1,
4712 ATTRIBUTE2,
4713 ATTRIBUTE3,
4714 ATTRIBUTE4,
4715 ATTRIBUTE5,
4716 ATTRIBUTE6,
4717 ATTRIBUTE7,
4718 ATTRIBUTE8,
4719 ATTRIBUTE9,
4720 ATTRIBUTE10,
4721 ATTRIBUTE11,
4722 ATTRIBUTE12,
4723 ATTRIBUTE13,
4724 ATTRIBUTE14,
4725 ATTRIBUTE15,
4726 CREATED_BY,
4727 CREATION_DATE,
4728 LAST_UPDATED_BY,
4729 LAST_UPDATE_DATE,
4730 LAST_UPDATE_LOGIN,
4731 OBJECT_VERSION_NUMBER,
4732 PRICING_CONTEXT,
4733 PRICING_ATTRIBUTE1,
4734 PRICING_ATTRIBUTE2,
4735 PRICING_ATTRIBUTE3,
4736 PRICING_ATTRIBUTE4,
4737 PRICING_ATTRIBUTE5,
4738 PRICING_ATTRIBUTE6,
4739 PRICING_ATTRIBUTE7,
4740 PRICING_ATTRIBUTE8,
4741 PRICING_ATTRIBUTE9,
4742 PRICING_ATTRIBUTE10,
4743 PRICING_ATTRIBUTE11,
4744 PRICING_ATTRIBUTE12,
4745 PRICING_ATTRIBUTE13,
4746 PRICING_ATTRIBUTE14,
4747 PRICING_ATTRIBUTE15,
4748 PRICING_ATTRIBUTE16,
4749 PRICING_ATTRIBUTE17,
4750 PRICING_ATTRIBUTE18,
4751 PRICING_ATTRIBUTE19,
4752 PRICING_ATTRIBUTE20,
4753 PRICING_ATTRIBUTE21,
4754 PRICING_ATTRIBUTE22,
4755 PRICING_ATTRIBUTE23,
4756 PRICING_ATTRIBUTE24,
4757 PRICING_ATTRIBUTE25,
4758 PRICING_ATTRIBUTE26,
4759 PRICING_ATTRIBUTE27,
4760 PRICING_ATTRIBUTE28,
4761 PRICING_ATTRIBUTE29,
4762 PRICING_ATTRIBUTE30,
4763 PRICING_ATTRIBUTE31,
4764 PRICING_ATTRIBUTE32,
4765 PRICING_ATTRIBUTE33,
4766 PRICING_ATTRIBUTE34,
4767 PRICING_ATTRIBUTE35,
4768 PRICING_ATTRIBUTE36,
4769 PRICING_ATTRIBUTE37,
4770 PRICING_ATTRIBUTE38,
4771 PRICING_ATTRIBUTE39,
4772 PRICING_ATTRIBUTE40,
4773 PRICING_ATTRIBUTE41,
4774 PRICING_ATTRIBUTE42,
4775 PRICING_ATTRIBUTE43,
4776 PRICING_ATTRIBUTE44,
4777 PRICING_ATTRIBUTE45,
4778 PRICING_ATTRIBUTE46,
4779 PRICING_ATTRIBUTE47,
4780 PRICING_ATTRIBUTE48,
4781 PRICING_ATTRIBUTE49,
4782 PRICING_ATTRIBUTE50,
4783 PRICING_ATTRIBUTE51,
4784 PRICING_ATTRIBUTE52,
4785 PRICING_ATTRIBUTE53,
4786 PRICING_ATTRIBUTE54,
4787 PRICING_ATTRIBUTE55,
4788 PRICING_ATTRIBUTE56,
4789 PRICING_ATTRIBUTE57,
4790 PRICING_ATTRIBUTE58,
4791 PRICING_ATTRIBUTE59,
4792 PRICING_ATTRIBUTE60,
4793 PRICING_ATTRIBUTE61,
4794 PRICING_ATTRIBUTE62,
4795 PRICING_ATTRIBUTE63,
4796 PRICING_ATTRIBUTE64,
4797 PRICING_ATTRIBUTE65,
4798 PRICING_ATTRIBUTE66,
4799 PRICING_ATTRIBUTE67,
4800 PRICING_ATTRIBUTE68,
4801 PRICING_ATTRIBUTE69,
4802 PRICING_ATTRIBUTE70,
4803 PRICING_ATTRIBUTE71,
4804 PRICING_ATTRIBUTE72,
4805 PRICING_ATTRIBUTE73,
4806 PRICING_ATTRIBUTE74,
4807 PRICING_ATTRIBUTE75,
4808 PRICING_ATTRIBUTE76,
4809 PRICING_ATTRIBUTE77,
4810 PRICING_ATTRIBUTE78,
4811 PRICING_ATTRIBUTE79,
4812 PRICING_ATTRIBUTE80,
4813 PRICING_ATTRIBUTE81,
4814 PRICING_ATTRIBUTE82,
4815 PRICING_ATTRIBUTE83,
4816 PRICING_ATTRIBUTE84,
4817 PRICING_ATTRIBUTE85,
4818 PRICING_ATTRIBUTE86,
4819 PRICING_ATTRIBUTE87,
4820 PRICING_ATTRIBUTE88,
4821 PRICING_ATTRIBUTE89,
4822 PRICING_ATTRIBUTE90,
4823 PRICING_ATTRIBUTE91,
4824 PRICING_ATTRIBUTE92,
4825 PRICING_ATTRIBUTE93,
4826 PRICING_ATTRIBUTE94,
4827 PRICING_ATTRIBUTE95,
4828 PRICING_ATTRIBUTE96,
4829 PRICING_ATTRIBUTE97,
4830 PRICING_ATTRIBUTE98,
4831 PRICING_ATTRIBUTE99,
4832 PRICING_ATTRIBUTE100
4833 ) VALUES (
4834 l_pricing_rec_tab.PRICING_ATTRIBUTE_ID(i),
4835 decode( l_pricing_rec_tab.INSTANCE_ID(i), FND_API.G_MISS_NUM, NULL, l_pricing_rec_tab.INSTANCE_ID(i)),
4836 decode( l_pricing_rec_tab.ACTIVE_START_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_pricing_rec_tab.ACTIVE_START_DATE(i)),
4837 decode( l_pricing_rec_tab.ACTIVE_END_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_pricing_rec_tab.ACTIVE_END_DATE(i)),
4838 decode( l_pricing_rec_tab.CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.CONTEXT(i)),
4839 decode( l_pricing_rec_tab.ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.ATTRIBUTE1(i)),
4840 decode( l_pricing_rec_tab.ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.ATTRIBUTE2(i)),
4841 decode( l_pricing_rec_tab.ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.ATTRIBUTE3(i)),
4842 decode( l_pricing_rec_tab.ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.ATTRIBUTE4(i)),
4843 decode( l_pricing_rec_tab.ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.ATTRIBUTE5(i)),
4844 decode( l_pricing_rec_tab.ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.ATTRIBUTE6(i)),
4845 decode( l_pricing_rec_tab.ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.ATTRIBUTE7(i)),
4846 decode( l_pricing_rec_tab.ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.ATTRIBUTE8(i)),
4847 decode( l_pricing_rec_tab.ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.ATTRIBUTE9(i)),
4848 decode( l_pricing_rec_tab.ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.ATTRIBUTE10(i)),
4849 decode( l_pricing_rec_tab.ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.ATTRIBUTE11(i)),
4850 decode( l_pricing_rec_tab.ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.ATTRIBUTE12(i)),
4851 decode( l_pricing_rec_tab.ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.ATTRIBUTE13(i)),
4852 decode( l_pricing_rec_tab.ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.ATTRIBUTE14(i)),
4853 decode( l_pricing_rec_tab.ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.ATTRIBUTE15(i)),
4854 l_user_id,
4855 SYSDATE,
4856 l_user_id,
4857 SYSDATE,
4858 l_login_id,
4859 1,
4860 decode( l_pricing_rec_tab.PRICING_CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_CONTEXT(i)),
4861 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE1(i)),
4862 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE2(i)),
4863 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE3(i)),
4864 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE4(i)),
4865 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE5(i)),
4866 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE6(i)),
4867 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE7(i)),
4868 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE8(i)),
4869 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE9(i)),
4870 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE10(i)),
4871 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE11(i)),
4872 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE12(i)),
4873 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE13(i)),
4874 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE14(i)),
4875 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE15(i)),
4876 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE16(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE16(i)),
4877 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE17(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE17(i)),
4878 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE18(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE18(i)),
4879 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE19(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE19(i)),
4880 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE20(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE20(i)),
4881 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE21(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE21(i)),
4882 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE22(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE22(i)),
4883 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE23(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE23(i)),
4884 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE24(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE24(i)),
4885 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE25(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE25(i)),
4886 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE26(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE26(i)),
4887 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE27(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE27(i)),
4888 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE28(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE28(i)),
4889 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE29(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE29(i)),
4890 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE30(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE30(i)),
4891 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE31(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE31(i)),
4892 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE32(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE32(i)),
4893 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE33(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE33(i)),
4894 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE34(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE34(i)),
4895 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE35(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE35(i)),
4896 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE36(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE36(i)),
4897 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE37(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE37(i)),
4898 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE38(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE38(i)),
4899 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE39(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE39(i)),
4900 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE40(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE40(i)),
4901 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE41(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE41(i)),
4902 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE42(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE42(i)),
4903 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE43(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE43(i)),
4904 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE44(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE44(i)),
4905 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE45(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE45(i)),
4906 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE46(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE46(i)),
4907 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE47(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE47(i)),
4908 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE48(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE48(i)),
4909 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE49(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE49(i)),
4910 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE50(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE50(i)),
4911 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE51(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE51(i)),
4912 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE52(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE52(i)),
4913 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE53(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE53(i)),
4914 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE54(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE54(i)),
4915 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE55(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE55(i)),
4916 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE56(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE56(i)),
4917 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE57(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE57(i)),
4918 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE58(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE58(i)),
4919 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE59(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE59(i)),
4920 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE60(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE60(i)),
4921 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE61(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE61(i)),
4922 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE62(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE62(i)),
4923 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE63(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE63(i)),
4924 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE64(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE64(i)),
4925 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE65(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE65(i)),
4926 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE66(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE66(i)),
4927 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE67(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE67(i)),
4928 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE68(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE68(i)),
4929 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE69(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE69(i)),
4930 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE70(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE70(i)),
4931 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE71(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE71(i)),
4932 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE72(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE72(i)),
4933 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE73(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE73(i)),
4934 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE74(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE74(i)),
4935 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE75(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE75(i)),
4936 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE76(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE76(i)),
4937 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE77(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE77(i)),
4938 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE78(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE78(i)),
4939 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE79(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE79(i)),
4943 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE83(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE83(i)),
4940 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE80(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE80(i)),
4941 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE81(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE81(i)),
4942 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE82(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE82(i)),
4944 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE84(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE84(i)),
4945 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE85(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE85(i)),
4946 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE86(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE86(i)),
4947 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE87(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE87(i)),
4948 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE88(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE88(i)),
4949 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE89(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE89(i)),
4950 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE90(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE90(i)),
4951 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE91(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE91(i)),
4952 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE92(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE92(i)),
4953 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE93(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE93(i)),
4954 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE94(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE94(i)),
4955 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE95(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE95(i)),
4956 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE96(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE96(i)),
4957 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE97(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE97(i)),
4958 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE98(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE98(i)),
4959 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE99(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE99(i)),
4960 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE100(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE100(i))
4961 );
4962 END IF;
4963 --
4964 IF p_pricing_hist_tbl.count > 0 THEN
4965 Build_pricing_Hist_Rec_Table
4966 (
4967 p_pricing_hist_tbl => p_pricing_hist_tbl
4968 ,p_pricing_hist_rec_tab => l_pricing_hist_rec_tab
4969 );
4970 --
4971 l_ctr := l_pricing_hist_rec_tab.price_attrib_history_id.count;
4972 --
4973 FORALL i in 1 .. l_ctr
4974 INSERT INTO CSI_I_PRICING_ATTRIBS_H(
4975 PRICE_ATTRIB_HISTORY_ID,
4976 PRICING_ATTRIBUTE_ID,
4977 TRANSACTION_ID,
4978 OLD_PRICING_CONTEXT,
4979 NEW_PRICING_CONTEXT,
4980 OLD_PRICING_ATTRIBUTE1,
4981 NEW_PRICING_ATTRIBUTE1,
4982 OLD_PRICING_ATTRIBUTE2,
4983 NEW_PRICING_ATTRIBUTE2,
4984 OLD_PRICING_ATTRIBUTE3,
4985 NEW_PRICING_ATTRIBUTE3,
4986 OLD_PRICING_ATTRIBUTE4,
4987 NEW_PRICING_ATTRIBUTE4,
4988 OLD_PRICING_ATTRIBUTE5,
4989 NEW_PRICING_ATTRIBUTE5,
4990 OLD_PRICING_ATTRIBUTE6,
4991 NEW_PRICING_ATTRIBUTE6,
4992 OLD_PRICING_ATTRIBUTE7,
4993 NEW_PRICING_ATTRIBUTE7,
4994 OLD_PRICING_ATTRIBUTE8,
4995 NEW_PRICING_ATTRIBUTE8,
4996 OLD_PRICING_ATTRIBUTE9,
4997 NEW_PRICING_ATTRIBUTE9,
4998 OLD_PRICING_ATTRIBUTE10,
4999 NEW_PRICING_ATTRIBUTE10,
5000 OLD_PRICING_ATTRIBUTE11,
5001 NEW_PRICING_ATTRIBUTE11,
5002 OLD_PRICING_ATTRIBUTE12,
5003 NEW_PRICING_ATTRIBUTE12,
5004 OLD_PRICING_ATTRIBUTE13,
5005 NEW_PRICING_ATTRIBUTE13,
5006 OLD_PRICING_ATTRIBUTE14,
5007 NEW_PRICING_ATTRIBUTE14,
5008 OLD_PRICING_ATTRIBUTE15,
5009 NEW_PRICING_ATTRIBUTE15,
5010 OLD_PRICING_ATTRIBUTE16,
5011 NEW_PRICING_ATTRIBUTE16,
5012 OLD_PRICING_ATTRIBUTE17,
5013 NEW_PRICING_ATTRIBUTE17,
5014 OLD_PRICING_ATTRIBUTE18,
5015 NEW_PRICING_ATTRIBUTE18,
5016 OLD_PRICING_ATTRIBUTE19,
5017 NEW_PRICING_ATTRIBUTE19,
5018 OLD_PRICING_ATTRIBUTE20,
5019 NEW_PRICING_ATTRIBUTE20,
5020 OLD_PRICING_ATTRIBUTE21,
5021 NEW_PRICING_ATTRIBUTE21,
5022 OLD_PRICING_ATTRIBUTE22,
5023 NEW_PRICING_ATTRIBUTE22,
5024 OLD_PRICING_ATTRIBUTE23,
5025 NEW_PRICING_ATTRIBUTE23,
5026 OLD_PRICING_ATTRIBUTE24,
5027 NEW_PRICING_ATTRIBUTE24,
5028 NEW_PRICING_ATTRIBUTE25,
5029 OLD_PRICING_ATTRIBUTE25,
5030 OLD_PRICING_ATTRIBUTE26,
5031 NEW_PRICING_ATTRIBUTE26,
5032 OLD_PRICING_ATTRIBUTE27,
5033 NEW_PRICING_ATTRIBUTE27,
5034 OLD_PRICING_ATTRIBUTE28,
5035 NEW_PRICING_ATTRIBUTE28,
5036 OLD_PRICING_ATTRIBUTE29,
5037 NEW_PRICING_ATTRIBUTE29,
5038 OLD_PRICING_ATTRIBUTE30,
5039 NEW_PRICING_ATTRIBUTE30,
5040 OLD_PRICING_ATTRIBUTE31,
5041 NEW_PRICING_ATTRIBUTE31,
5042 OLD_PRICING_ATTRIBUTE32,
5043 NEW_PRICING_ATTRIBUTE32,
5044 OLD_PRICING_ATTRIBUTE33,
5045 NEW_PRICING_ATTRIBUTE33,
5046 OLD_PRICING_ATTRIBUTE34,
5047 NEW_PRICING_ATTRIBUTE34,
5048 OLD_PRICING_ATTRIBUTE35,
5049 NEW_PRICING_ATTRIBUTE35,
5050 OLD_PRICING_ATTRIBUTE36,
5051 NEW_PRICING_ATTRIBUTE36,
5052 OLD_PRICING_ATTRIBUTE37,
5053 NEW_PRICING_ATTRIBUTE37,
5054 OLD_PRICING_ATTRIBUTE38,
5055 NEW_PRICING_ATTRIBUTE38,
5056 OLD_PRICING_ATTRIBUTE39,
5057 NEW_PRICING_ATTRIBUTE39,
5058 OLD_PRICING_ATTRIBUTE40,
5059 NEW_PRICING_ATTRIBUTE40,
5060 OLD_PRICING_ATTRIBUTE41,
5061 NEW_PRICING_ATTRIBUTE41,
5062 OLD_PRICING_ATTRIBUTE42,
5063 NEW_PRICING_ATTRIBUTE42,
5064 OLD_PRICING_ATTRIBUTE43,
5065 NEW_PRICING_ATTRIBUTE43,
5066 OLD_PRICING_ATTRIBUTE44,
5067 NEW_PRICING_ATTRIBUTE44,
5068 OLD_PRICING_ATTRIBUTE45,
5069 NEW_PRICING_ATTRIBUTE45,
5070 OLD_PRICING_ATTRIBUTE46,
5071 NEW_PRICING_ATTRIBUTE46,
5072 OLD_PRICING_ATTRIBUTE47,
5073 NEW_PRICING_ATTRIBUTE47,
5074 OLD_PRICING_ATTRIBUTE48,
5075 NEW_PRICING_ATTRIBUTE48,
5076 OLD_PRICING_ATTRIBUTE49,
5077 NEW_PRICING_ATTRIBUTE49,
5078 OLD_PRICING_ATTRIBUTE50,
5079 NEW_PRICING_ATTRIBUTE50,
5080 OLD_PRICING_ATTRIBUTE51,
5081 NEW_PRICING_ATTRIBUTE51,
5082 OLD_PRICING_ATTRIBUTE52,
5083 NEW_PRICING_ATTRIBUTE52,
5084 OLD_PRICING_ATTRIBUTE53,
5085 NEW_PRICING_ATTRIBUTE53,
5086 OLD_PRICING_ATTRIBUTE54,
5087 NEW_PRICING_ATTRIBUTE54,
5088 OLD_PRICING_ATTRIBUTE55,
5089 NEW_PRICING_ATTRIBUTE55,
5090 OLD_PRICING_ATTRIBUTE56,
5091 NEW_PRICING_ATTRIBUTE56,
5092 OLD_PRICING_ATTRIBUTE57,
5093 NEW_PRICING_ATTRIBUTE57,
5094 OLD_PRICING_ATTRIBUTE58,
5095 NEW_PRICING_ATTRIBUTE58,
5096 OLD_PRICING_ATTRIBUTE59,
5097 NEW_PRICING_ATTRIBUTE59,
5098 OLD_PRICING_ATTRIBUTE60,
5099 NEW_PRICING_ATTRIBUTE60,
5100 OLD_PRICING_ATTRIBUTE61,
5101 NEW_PRICING_ATTRIBUTE61,
5102 OLD_PRICING_ATTRIBUTE62,
5103 NEW_PRICING_ATTRIBUTE62,
5104 OLD_PRICING_ATTRIBUTE63,
5105 NEW_PRICING_ATTRIBUTE63,
5106 OLD_PRICING_ATTRIBUTE64,
5107 NEW_PRICING_ATTRIBUTE64,
5108 OLD_PRICING_ATTRIBUTE65,
5109 NEW_PRICING_ATTRIBUTE65,
5110 OLD_PRICING_ATTRIBUTE66,
5111 NEW_PRICING_ATTRIBUTE66,
5112 OLD_PRICING_ATTRIBUTE67,
5113 NEW_PRICING_ATTRIBUTE67,
5114 OLD_PRICING_ATTRIBUTE68,
5115 NEW_PRICING_ATTRIBUTE68,
5116 OLD_PRICING_ATTRIBUTE69,
5117 NEW_PRICING_ATTRIBUTE69,
5118 OLD_PRICING_ATTRIBUTE70,
5119 NEW_PRICING_ATTRIBUTE70,
5120 OLD_PRICING_ATTRIBUTE71,
5121 NEW_PRICING_ATTRIBUTE71,
5122 OLD_PRICING_ATTRIBUTE72,
5123 NEW_PRICING_ATTRIBUTE72,
5124 OLD_PRICING_ATTRIBUTE73,
5125 NEW_PRICING_ATTRIBUTE73,
5126 OLD_PRICING_ATTRIBUTE74,
5127 NEW_PRICING_ATTRIBUTE74,
5128 OLD_PRICING_ATTRIBUTE75,
5129 NEW_PRICING_ATTRIBUTE75,
5130 OLD_PRICING_ATTRIBUTE76,
5131 NEW_PRICING_ATTRIBUTE76,
5132 OLD_PRICING_ATTRIBUTE77,
5133 NEW_PRICING_ATTRIBUTE77,
5134 OLD_PRICING_ATTRIBUTE78,
5135 NEW_PRICING_ATTRIBUTE78,
5136 OLD_PRICING_ATTRIBUTE79,
5137 NEW_PRICING_ATTRIBUTE79,
5138 OLD_PRICING_ATTRIBUTE80,
5139 NEW_PRICING_ATTRIBUTE80,
5140 OLD_PRICING_ATTRIBUTE81,
5141 NEW_PRICING_ATTRIBUTE81,
5142 OLD_PRICING_ATTRIBUTE82,
5143 NEW_PRICING_ATTRIBUTE82,
5144 OLD_PRICING_ATTRIBUTE83,
5145 NEW_PRICING_ATTRIBUTE83,
5146 OLD_PRICING_ATTRIBUTE84,
5147 NEW_PRICING_ATTRIBUTE84,
5148 OLD_PRICING_ATTRIBUTE85,
5149 NEW_PRICING_ATTRIBUTE85,
5150 OLD_PRICING_ATTRIBUTE86,
5151 NEW_PRICING_ATTRIBUTE86,
5152 OLD_PRICING_ATTRIBUTE87,
5153 NEW_PRICING_ATTRIBUTE87,
5154 OLD_PRICING_ATTRIBUTE88,
5155 NEW_PRICING_ATTRIBUTE88,
5156 OLD_PRICING_ATTRIBUTE89,
5157 NEW_PRICING_ATTRIBUTE89,
5158 OLD_PRICING_ATTRIBUTE90,
5159 NEW_PRICING_ATTRIBUTE90,
5160 OLD_PRICING_ATTRIBUTE91,
5161 NEW_PRICING_ATTRIBUTE91,
5162 OLD_PRICING_ATTRIBUTE92,
5163 NEW_PRICING_ATTRIBUTE92,
5164 OLD_PRICING_ATTRIBUTE93,
5165 NEW_PRICING_ATTRIBUTE93,
5166 OLD_PRICING_ATTRIBUTE94,
5167 NEW_PRICING_ATTRIBUTE94,
5168 OLD_PRICING_ATTRIBUTE95,
5169 NEW_PRICING_ATTRIBUTE95,
5170 OLD_PRICING_ATTRIBUTE96,
5171 NEW_PRICING_ATTRIBUTE96,
5172 OLD_PRICING_ATTRIBUTE97,
5173 NEW_PRICING_ATTRIBUTE97,
5174 OLD_PRICING_ATTRIBUTE98,
5175 NEW_PRICING_ATTRIBUTE98,
5176 OLD_PRICING_ATTRIBUTE99,
5177 NEW_PRICING_ATTRIBUTE99,
5178 OLD_PRICING_ATTRIBUTE100,
5179 NEW_PRICING_ATTRIBUTE100,
5180 OLD_ACTIVE_START_DATE,
5181 NEW_ACTIVE_START_DATE,
5182 OLD_ACTIVE_END_DATE,
5183 NEW_ACTIVE_END_DATE,
5184 OLD_CONTEXT,
5185 NEW_CONTEXT,
5186 OLD_ATTRIBUTE1,
5187 NEW_ATTRIBUTE1,
5188 OLD_ATTRIBUTE2,
5189 NEW_ATTRIBUTE2,
5190 OLD_ATTRIBUTE3,
5191 NEW_ATTRIBUTE3,
5192 OLD_ATTRIBUTE4,
5193 NEW_ATTRIBUTE4,
5194 OLD_ATTRIBUTE5,
5195 NEW_ATTRIBUTE5,
5196 OLD_ATTRIBUTE6,
5197 NEW_ATTRIBUTE6,
5198 OLD_ATTRIBUTE7,
5199 NEW_ATTRIBUTE7,
5200 OLD_ATTRIBUTE8,
5201 NEW_ATTRIBUTE8,
5202 OLD_ATTRIBUTE9,
5203 NEW_ATTRIBUTE9,
5204 OLD_ATTRIBUTE10,
5205 NEW_ATTRIBUTE10,
5206 OLD_ATTRIBUTE11,
5207 NEW_ATTRIBUTE11,
5208 OLD_ATTRIBUTE12,
5209 NEW_ATTRIBUTE12,
5210 OLD_ATTRIBUTE13,
5211 NEW_ATTRIBUTE13,
5212 OLD_ATTRIBUTE14,
5213 NEW_ATTRIBUTE14,
5214 OLD_ATTRIBUTE15,
5215 NEW_ATTRIBUTE15,
5216 FULL_DUMP_FLAG,
5217 CREATED_BY,
5218 CREATION_DATE,
5219 LAST_UPDATED_BY,
5220 LAST_UPDATE_DATE,
5221 LAST_UPDATE_LOGIN,
5222 OBJECT_VERSION_NUMBER
5223 ) VALUES (
5224 l_pricing_hist_rec_tab.PRICE_ATTRIB_HISTORY_ID(i),
5225 decode( l_pricing_hist_rec_tab.PRICING_ATTRIBUTE_ID(i), FND_API.G_MISS_NUM, NULL, l_pricing_hist_rec_tab.PRICING_ATTRIBUTE_ID(i)),
5226 decode( l_pricing_hist_rec_tab.TRANSACTION_ID(i), FND_API.G_MISS_NUM, NULL, l_pricing_hist_rec_tab.TRANSACTION_ID(i)),
5227 decode( l_pricing_hist_rec_tab.OLD_PRICING_CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_CONTEXT(i)),
5228 decode( l_pricing_hist_rec_tab.NEW_PRICING_CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_CONTEXT(i)),
5229 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE1(i)),
5230 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE1(i)),
5231 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE2(i)),
5232 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE2(i)),
5233 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE3(i)),
5234 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE3(i)),
5235 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE4(i)),
5236 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE4(i)),
5237 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE5(i)),
5238 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE5(i)),
5239 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE6(i)),
5240 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE6(i)),
5241 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE7(i)),
5242 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE7(i)),
5243 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE8(i)),
5244 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE8(i)),
5245 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE9(i)),
5246 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE9(i)),
5247 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE10(i)),
5248 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE10(i)),
5249 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE11(i)),
5250 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE11(i)),
5251 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE12(i)),
5252 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE12(i)),
5253 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE13(i)),
5254 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE13(i)),
5255 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE14(i)),
5256 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE14(i)),
5257 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE15(i)),
5258 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE15(i)),
5259 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE16(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE16(i)),
5260 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE16(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE16(i)),
5261 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE17(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE17(i)),
5262 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE17(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE17(i)),
5263 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE18(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE18(i)),
5264 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE18(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE18(i)),
5265 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE19(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE19(i)),
5266 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE19(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE19(i)),
5267 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE20(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE20(i)),
5268 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE20(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE20(i)),
5269 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE21(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE21(i)),
5270 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE21(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE21(i)),
5271 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE22(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE22(i)),
5272 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE22(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE22(i)),
5273 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE23(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE23(i)),
5277 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE25(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE25(i)),
5274 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE23(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE23(i)),
5275 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE24(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE24(i)),
5276 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE24(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE24(i)),
5278 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE25(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE25(i)),
5279 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE26(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE26(i)),
5280 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE26(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE26(i)),
5281 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE27(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE27(i)),
5282 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE27(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE27(i)),
5283 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE28(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE28(i)),
5284 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE28(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE28(i)),
5285 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE29(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE29(i)),
5286 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE29(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE29(i)),
5287 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE30(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE30(i)),
5288 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE30(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE30(i)),
5289 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE31(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE31(i)),
5290 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE31(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE31(i)),
5291 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE32(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE32(i)),
5292 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE32(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE32(i)),
5293 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE33(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE33(i)),
5294 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE33(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE33(i)),
5295 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE34(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE34(i)),
5296 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE34(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE34(i)),
5297 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE35(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE35(i)),
5298 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE35(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE35(i)),
5299 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE36(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE36(i)),
5300 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE36(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE36(i)),
5301 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE37(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE37(i)),
5302 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE37(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE37(i)),
5303 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE38(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE38(i)),
5304 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE38(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE38(i)),
5305 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE39(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE39(i)),
5306 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE39(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE39(i)),
5307 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE40(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE40(i)),
5308 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE40(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE40(i)),
5309 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE41(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE41(i)),
5310 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE41(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE41(i)),
5311 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE42(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE42(i)),
5312 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE42(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE42(i)),
5313 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE43(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE43(i)),
5314 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE43(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE43(i)),
5315 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE44(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE44(i)),
5316 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE44(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE44(i)),
5317 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE45(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE45(i)),
5318 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE45(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE45(i)),
5319 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE46(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE46(i)),
5323 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE48(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE48(i)),
5320 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE46(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE46(i)),
5321 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE47(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE47(i)),
5322 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE47(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE47(i)),
5324 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE48(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE48(i)),
5325 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE49(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE49(i)),
5326 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE49(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE49(i)),
5327 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE50(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE50(i)),
5328 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE50(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE50(i)),
5329 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE51(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE51(i)),
5330 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE51(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE51(i)),
5331 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE52(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE52(i)),
5332 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE52(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE52(i)),
5333 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE53(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE53(i)),
5334 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE53(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE53(i)),
5335 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE54(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE54(i)),
5336 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE54(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE54(i)),
5337 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE55(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE55(i)),
5338 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE55(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE55(i)),
5339 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE56(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE56(i)),
5340 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE56(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE56(i)),
5341 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE57(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE57(i)),
5342 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE57(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE57(i)),
5343 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE58(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE58(i)),
5344 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE58(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE58(i)),
5345 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE59(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE59(i)),
5346 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE59(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE59(i)),
5347 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE60(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE60(i)),
5348 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE60(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE60(i)),
5349 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE61(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE61(i)),
5350 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE61(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE61(i)),
5351 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE62(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE62(i)),
5352 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE62(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE62(i)),
5353 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE63(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE63(i)),
5354 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE63(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE63(i)),
5355 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE64(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE64(i)),
5356 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE64(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE64(i)),
5357 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE65(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE65(i)),
5358 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE65(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE65(i)),
5359 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE66(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE66(i)),
5360 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE66(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE66(i)),
5361 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE67(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE67(i)),
5362 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE67(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE67(i)),
5363 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE68(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE68(i)),
5364 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE68(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE68(i)),
5365 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE69(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE69(i)),
5366 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE69(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE69(i)),
5367 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE70(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE70(i)),
5368 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE70(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE70(i)),
5369 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE71(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE71(i)),
5370 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE71(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE71(i)),
5371 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE72(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE72(i)),
5372 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE72(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE72(i)),
5373 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE73(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE73(i)),
5374 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE73(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE73(i)),
5375 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE74(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE74(i)),
5376 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE74(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE74(i)),
5377 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE75(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE75(i)),
5378 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE75(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE75(i)),
5379 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE76(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE76(i)),
5380 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE76(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE76(i)),
5381 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE77(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE77(i)),
5382 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE77(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE77(i)),
5383 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE78(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE78(i)),
5384 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE78(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE78(i)),
5385 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE79(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE79(i)),
5386 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE79(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE79(i)),
5387 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE80(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE80(i)),
5388 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE80(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE80(i)),
5389 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE81(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE81(i)),
5390 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE81(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE81(i)),
5391 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE82(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE82(i)),
5392 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE82(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE82(i)),
5393 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE83(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE83(i)),
5394 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE83(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE83(i)),
5395 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE84(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE84(i)),
5396 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE84(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE84(i)),
5397 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE85(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE85(i)),
5398 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE85(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE85(i)),
5399 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE86(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE86(i)),
5400 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE86(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE86(i)),
5401 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE87(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE87(i)),
5402 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE87(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE87(i)),
5403 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE88(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE88(i)),
5404 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE88(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE88(i)),
5405 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE89(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE89(i)),
5406 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE89(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE89(i)),
5407 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE90(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE90(i)),
5408 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE90(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE90(i)),
5409 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE91(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE91(i)),
5410 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE91(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE91(i)),
5411 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE92(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE92(i)),
5412 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE92(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE92(i)),
5413 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE93(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE93(i)),
5414 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE93(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE93(i)),
5415 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE94(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE94(i)),
5416 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE94(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE94(i)),
5417 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE95(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE95(i)),
5418 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE95(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE95(i)),
5419 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE96(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE96(i)),
5420 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE96(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE96(i)),
5421 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE97(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE97(i)),
5422 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE97(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE97(i)),
5423 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE98(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE98(i)),
5424 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE98(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE98(i)),
5425 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE99(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE99(i)),
5426 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE99(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE99(i)),
5427 decode( l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE100(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE100(i)),
5428 decode( l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE100(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE100(i)),
5429 decode( l_pricing_hist_rec_tab.OLD_ACTIVE_START_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_pricing_hist_rec_tab.OLD_ACTIVE_START_DATE(i)),
5433 decode( l_pricing_hist_rec_tab.OLD_CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_CONTEXT(i)),
5430 decode( l_pricing_hist_rec_tab.NEW_ACTIVE_START_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_pricing_hist_rec_tab.NEW_ACTIVE_START_DATE(i)),
5431 decode( l_pricing_hist_rec_tab.OLD_ACTIVE_END_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_pricing_hist_rec_tab.OLD_ACTIVE_END_DATE(i)),
5432 decode( l_pricing_hist_rec_tab.NEW_ACTIVE_END_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_pricing_hist_rec_tab.NEW_ACTIVE_END_DATE(i)),
5434 decode( l_pricing_hist_rec_tab.NEW_CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_CONTEXT(i)),
5435 decode( l_pricing_hist_rec_tab.OLD_ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_ATTRIBUTE1(i)),
5436 decode( l_pricing_hist_rec_tab.NEW_ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_ATTRIBUTE1(i)),
5437 decode( l_pricing_hist_rec_tab.OLD_ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_ATTRIBUTE2(i)),
5438 decode( l_pricing_hist_rec_tab.NEW_ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_ATTRIBUTE2(i)),
5439 decode( l_pricing_hist_rec_tab.OLD_ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_ATTRIBUTE3(i)),
5440 decode( l_pricing_hist_rec_tab.NEW_ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_ATTRIBUTE3(i)),
5441 decode( l_pricing_hist_rec_tab.OLD_ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_ATTRIBUTE4(i)),
5442 decode( l_pricing_hist_rec_tab.NEW_ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_ATTRIBUTE4(i)),
5443 decode( l_pricing_hist_rec_tab.OLD_ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_ATTRIBUTE5(i)),
5444 decode( l_pricing_hist_rec_tab.NEW_ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_ATTRIBUTE5(i)),
5445 decode( l_pricing_hist_rec_tab.OLD_ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_ATTRIBUTE6(i)),
5446 decode( l_pricing_hist_rec_tab.NEW_ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_ATTRIBUTE6(i)),
5447 decode( l_pricing_hist_rec_tab.OLD_ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_ATTRIBUTE7(i)),
5448 decode( l_pricing_hist_rec_tab.NEW_ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_ATTRIBUTE7(i)),
5449 decode( l_pricing_hist_rec_tab.OLD_ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_ATTRIBUTE8(i)),
5450 decode( l_pricing_hist_rec_tab.NEW_ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_ATTRIBUTE8(i)),
5451 decode( l_pricing_hist_rec_tab.OLD_ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_ATTRIBUTE9(i)),
5452 decode( l_pricing_hist_rec_tab.NEW_ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_ATTRIBUTE9(i)),
5453 decode( l_pricing_hist_rec_tab.OLD_ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_ATTRIBUTE10(i)),
5454 decode( l_pricing_hist_rec_tab.NEW_ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_ATTRIBUTE10(i)),
5455 decode( l_pricing_hist_rec_tab.OLD_ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_ATTRIBUTE11(i)),
5456 decode( l_pricing_hist_rec_tab.NEW_ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_ATTRIBUTE11(i)),
5457 decode( l_pricing_hist_rec_tab.OLD_ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_ATTRIBUTE12(i)),
5458 decode( l_pricing_hist_rec_tab.NEW_ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_ATTRIBUTE12(i)),
5459 decode( l_pricing_hist_rec_tab.OLD_ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_ATTRIBUTE13(i)),
5460 decode( l_pricing_hist_rec_tab.NEW_ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_ATTRIBUTE13(i)),
5461 decode( l_pricing_hist_rec_tab.OLD_ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_ATTRIBUTE14(i)),
5462 decode( l_pricing_hist_rec_tab.NEW_ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_ATTRIBUTE14(i)),
5463 decode( l_pricing_hist_rec_tab.OLD_ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_ATTRIBUTE15(i)),
5464 decode( l_pricing_hist_rec_tab.NEW_ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_ATTRIBUTE15(i)),
5465 'N',
5466 l_user_id,
5467 SYSDATE,
5468 l_user_id,
5469 SYSDATE,
5470 l_login_id,
5471 1
5472 );
5473 END IF;
5474 IF p_ext_attr_values_tbl.count > 0 THEN
5475 Build_Ext_Attr_Rec_Table
5476 (
5477 p_ext_attr_tbl => p_ext_attr_values_tbl
5478 ,p_ext_attr_rec_tab => l_ext_attr_rec_tab
5479 );
5480 --
5481 l_ctr := l_ext_attr_rec_tab.attribute_value_id.count;
5482 --
5483 FORALL i in 1 .. l_ctr
5484 INSERT INTO CSI_IEA_VALUES(
5485 ATTRIBUTE_VALUE_ID,
5486 ATTRIBUTE_ID,
5487 INSTANCE_ID,
5488 ATTRIBUTE_VALUE,
5489 ACTIVE_START_DATE,
5490 ACTIVE_END_DATE,
5491 CONTEXT,
5492 ATTRIBUTE1,
5493 ATTRIBUTE2,
5494 ATTRIBUTE3,
5495 ATTRIBUTE4,
5496 ATTRIBUTE5,
5497 ATTRIBUTE6,
5498 ATTRIBUTE7,
5499 ATTRIBUTE8,
5500 ATTRIBUTE9,
5501 ATTRIBUTE10,
5502 ATTRIBUTE11,
5503 ATTRIBUTE12,
5504 ATTRIBUTE13,
5505 ATTRIBUTE14,
5506 ATTRIBUTE15,
5507 CREATED_BY,
5508 CREATION_DATE,
5509 LAST_UPDATED_BY,
5510 LAST_UPDATE_DATE,
5511 LAST_UPDATE_LOGIN,
5512 OBJECT_VERSION_NUMBER
5513 ) VALUES (
5514 l_ext_attr_rec_tab.ATTRIBUTE_VALUE_ID(i),
5515 decode( l_ext_attr_rec_tab.ATTRIBUTE_ID(i), FND_API.G_MISS_NUM, NULL, l_ext_attr_rec_tab.ATTRIBUTE_ID(i)),
5519 decode( l_ext_attr_rec_tab.ACTIVE_END_DATE(i), FND_API.G_MISS_DATE, NULL, l_ext_attr_rec_tab.ACTIVE_END_DATE(i)),
5516 decode( l_ext_attr_rec_tab.INSTANCE_ID(i), FND_API.G_MISS_NUM, NULL, l_ext_attr_rec_tab.INSTANCE_ID(i)),
5517 decode( l_ext_attr_rec_tab.ATTRIBUTE_VALUE(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.ATTRIBUTE_VALUE(i)),
5518 decode( l_ext_attr_rec_tab.ACTIVE_START_DATE(i), FND_API.G_MISS_DATE, NULL, l_ext_attr_rec_tab.ACTIVE_START_DATE(i)),
5520 decode( l_ext_attr_rec_tab.CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.CONTEXT(i)),
5521 decode( l_ext_attr_rec_tab.ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.ATTRIBUTE1(i)),
5522 decode( l_ext_attr_rec_tab.ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.ATTRIBUTE2(i)),
5523 decode( l_ext_attr_rec_tab.ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.ATTRIBUTE3(i)),
5524 decode( l_ext_attr_rec_tab.ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.ATTRIBUTE4(i)),
5525 decode( l_ext_attr_rec_tab.ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.ATTRIBUTE5(i)),
5526 decode( l_ext_attr_rec_tab.ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.ATTRIBUTE6(i)),
5527 decode( l_ext_attr_rec_tab.ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.ATTRIBUTE7(i)),
5528 decode( l_ext_attr_rec_tab.ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.ATTRIBUTE8(i)),
5529 decode( l_ext_attr_rec_tab.ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.ATTRIBUTE9(i)),
5530 decode( l_ext_attr_rec_tab.ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.ATTRIBUTE10(i)),
5531 decode( l_ext_attr_rec_tab.ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.ATTRIBUTE11(i)),
5532 decode( l_ext_attr_rec_tab.ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.ATTRIBUTE12(i)),
5533 decode( l_ext_attr_rec_tab.ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.ATTRIBUTE13(i)),
5534 decode( l_ext_attr_rec_tab.ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.ATTRIBUTE14(i)),
5535 decode( l_ext_attr_rec_tab.ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.ATTRIBUTE15(i)),
5536 l_user_id,
5537 SYSDATE,
5538 l_user_id,
5539 SYSDATE,
5540 l_login_id,
5541 1
5542 );
5543 END IF;
5544 --
5545 IF p_ext_attr_val_hist_tbl.count > 0 THEN
5546 Build_Ext_Attr_Hist_Rec_Table
5547 (
5548 p_ext_attr_hist_tbl => p_ext_attr_val_hist_tbl
5549 ,p_ext_attr_hist_rec_tab => l_ext_attr_hist_rec_tab
5550 );
5551 --
5552 l_ctr := l_ext_attr_hist_rec_tab.attribute_value_history_id.count;
5553 --
5554 FORALL i in 1 .. l_ctr
5555 INSERT INTO CSI_IEA_VALUES_H(
5556 ATTRIBUTE_VALUE_HISTORY_ID,
5557 ATTRIBUTE_VALUE_ID,
5558 TRANSACTION_ID,
5559 OLD_ATTRIBUTE_VALUE,
5560 NEW_ATTRIBUTE_VALUE,
5561 OLD_ACTIVE_START_DATE,
5562 NEW_ACTIVE_START_DATE,
5563 OLD_ACTIVE_END_DATE,
5564 NEW_ACTIVE_END_DATE,
5565 OLD_CONTEXT,
5566 NEW_CONTEXT,
5567 OLD_ATTRIBUTE1,
5568 NEW_ATTRIBUTE1,
5569 OLD_ATTRIBUTE2,
5570 NEW_ATTRIBUTE2,
5571 OLD_ATTRIBUTE3,
5572 NEW_ATTRIBUTE3,
5573 OLD_ATTRIBUTE4,
5574 NEW_ATTRIBUTE4,
5575 OLD_ATTRIBUTE5,
5576 NEW_ATTRIBUTE5,
5577 OLD_ATTRIBUTE6,
5578 NEW_ATTRIBUTE6,
5579 OLD_ATTRIBUTE7,
5580 NEW_ATTRIBUTE7,
5581 OLD_ATTRIBUTE8,
5582 NEW_ATTRIBUTE8,
5583 OLD_ATTRIBUTE9,
5584 NEW_ATTRIBUTE9,
5585 OLD_ATTRIBUTE10,
5586 NEW_ATTRIBUTE10,
5587 OLD_ATTRIBUTE11,
5588 NEW_ATTRIBUTE11,
5589 OLD_ATTRIBUTE12,
5590 NEW_ATTRIBUTE12,
5591 OLD_ATTRIBUTE13,
5592 NEW_ATTRIBUTE13,
5593 OLD_ATTRIBUTE14,
5594 NEW_ATTRIBUTE14,
5595 OLD_ATTRIBUTE15,
5596 NEW_ATTRIBUTE15,
5597 FULL_DUMP_FLAG,
5598 CREATED_BY,
5599 CREATION_DATE,
5600 LAST_UPDATED_BY,
5601 LAST_UPDATE_DATE,
5602 LAST_UPDATE_LOGIN,
5603 OBJECT_VERSION_NUMBER
5604 ) VALUES (
5605 l_ext_attr_hist_rec_tab.ATTRIBUTE_VALUE_HISTORY_ID(i),
5606 decode( l_ext_attr_hist_rec_tab.ATTRIBUTE_VALUE_ID(i), FND_API.G_MISS_NUM, NULL, l_ext_attr_hist_rec_tab.ATTRIBUTE_VALUE_ID(i)),
5607 decode( l_ext_attr_hist_rec_tab.TRANSACTION_ID(i), FND_API.G_MISS_NUM, NULL, l_ext_attr_hist_rec_tab.TRANSACTION_ID(i)),
5608 decode( l_ext_attr_hist_rec_tab.OLD_ATTRIBUTE_VALUE(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.OLD_ATTRIBUTE_VALUE(i)),
5609 decode( l_ext_attr_hist_rec_tab.NEW_ATTRIBUTE_VALUE(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.NEW_ATTRIBUTE_VALUE(i)),
5610 decode( l_ext_attr_hist_rec_tab.OLD_ACTIVE_START_DATE(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.OLD_ACTIVE_START_DATE(i)),
5611 decode( l_ext_attr_hist_rec_tab.NEW_ACTIVE_START_DATE(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.NEW_ACTIVE_START_DATE(i)),
5612 decode( l_ext_attr_hist_rec_tab.OLD_ACTIVE_END_DATE(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.OLD_ACTIVE_END_DATE(i)),
5613 decode( l_ext_attr_hist_rec_tab.NEW_ACTIVE_END_DATE(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.NEW_ACTIVE_END_DATE(i)),
5617 decode( l_ext_attr_hist_rec_tab.NEW_ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.NEW_ATTRIBUTE1(i)),
5614 decode( l_ext_attr_hist_rec_tab.OLD_CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.OLD_CONTEXT(i)),
5615 decode( l_ext_attr_hist_rec_tab.NEW_CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.NEW_CONTEXT(i)),
5616 decode( l_ext_attr_hist_rec_tab.OLD_ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.OLD_ATTRIBUTE1(i)),
5618 decode( l_ext_attr_hist_rec_tab.OLD_ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.OLD_ATTRIBUTE2(i)),
5619 decode( l_ext_attr_hist_rec_tab.NEW_ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.NEW_ATTRIBUTE2(i)),
5620 decode( l_ext_attr_hist_rec_tab.OLD_ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.OLD_ATTRIBUTE3(i)),
5621 decode( l_ext_attr_hist_rec_tab.NEW_ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.NEW_ATTRIBUTE3(i)),
5622 decode( l_ext_attr_hist_rec_tab.OLD_ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.OLD_ATTRIBUTE4(i)),
5623 decode( l_ext_attr_hist_rec_tab.NEW_ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.NEW_ATTRIBUTE4(i)),
5624 decode( l_ext_attr_hist_rec_tab.OLD_ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.OLD_ATTRIBUTE5(i)),
5625 decode( l_ext_attr_hist_rec_tab.NEW_ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.NEW_ATTRIBUTE5(i)),
5626 decode( l_ext_attr_hist_rec_tab.OLD_ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.OLD_ATTRIBUTE6(i)),
5627 decode( l_ext_attr_hist_rec_tab.NEW_ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.NEW_ATTRIBUTE6(i)),
5628 decode( l_ext_attr_hist_rec_tab.OLD_ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.OLD_ATTRIBUTE7(i)),
5629 decode( l_ext_attr_hist_rec_tab.NEW_ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.NEW_ATTRIBUTE7(i)),
5630 decode( l_ext_attr_hist_rec_tab.OLD_ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.OLD_ATTRIBUTE8(i)),
5631 decode( l_ext_attr_hist_rec_tab.NEW_ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.NEW_ATTRIBUTE8(i)),
5632 decode( l_ext_attr_hist_rec_tab.OLD_ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.OLD_ATTRIBUTE9(i)),
5633 decode( l_ext_attr_hist_rec_tab.NEW_ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.NEW_ATTRIBUTE9(i)),
5634 decode( l_ext_attr_hist_rec_tab.OLD_ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.OLD_ATTRIBUTE10(i)),
5635 decode( l_ext_attr_hist_rec_tab.NEW_ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.NEW_ATTRIBUTE10(i)),
5636 decode( l_ext_attr_hist_rec_tab.OLD_ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.OLD_ATTRIBUTE11(i)),
5637 decode( l_ext_attr_hist_rec_tab.NEW_ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.NEW_ATTRIBUTE11(i)),
5638 decode( l_ext_attr_hist_rec_tab.OLD_ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.OLD_ATTRIBUTE12(i)),
5639 decode( l_ext_attr_hist_rec_tab.NEW_ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.NEW_ATTRIBUTE12(i)),
5640 decode( l_ext_attr_hist_rec_tab.OLD_ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.OLD_ATTRIBUTE13(i)),
5641 decode( l_ext_attr_hist_rec_tab.NEW_ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.NEW_ATTRIBUTE13(i)),
5642 decode( l_ext_attr_hist_rec_tab.OLD_ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.OLD_ATTRIBUTE14(i)),
5643 decode( l_ext_attr_hist_rec_tab.NEW_ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.NEW_ATTRIBUTE14(i)),
5644 decode( l_ext_attr_hist_rec_tab.OLD_ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.OLD_ATTRIBUTE15(i)),
5645 decode( l_ext_attr_hist_rec_tab.NEW_ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_hist_rec_tab.NEW_ATTRIBUTE15(i)),
5646 'N',
5647 l_user_id,
5648 SYSDATE,
5649 l_user_id,
5650 SYSDATE,
5651 l_login_id,
5652 1
5653 );
5654 END IF;
5655 --
5656 IF p_asset_tbl.count > 0 THEN
5657 Build_Asset_Rec_Table
5658 (
5659 p_asset_tbl => p_asset_tbl
5660 ,p_asset_rec_tab => l_asset_rec_tab
5661 );
5662 --
5663 l_ctr := l_asset_rec_tab.instance_asset_id.count;
5664 --
5665 FORALL i in 1 .. l_ctr
5666 INSERT INTO CSI_I_ASSETS(
5667 INSTANCE_ASSET_ID,
5668 INSTANCE_ID,
5669 FA_ASSET_ID,
5670 FA_BOOK_TYPE_CODE,
5671 FA_LOCATION_ID,
5672 ASSET_QUANTITY,
5673 UPDATE_STATUS,
5674 ACTIVE_START_DATE,
5675 ACTIVE_END_DATE,
5676 CREATED_BY,
5677 CREATION_DATE,
5678 LAST_UPDATED_BY,
5679 LAST_UPDATE_DATE,
5680 LAST_UPDATE_LOGIN,
5681 OBJECT_VERSION_NUMBER,
5682 FA_SYNC_FLAG
5683 ) VALUES (
5684 l_asset_rec_tab.INSTANCE_ASSET_ID(i),
5685 decode( l_asset_rec_tab.INSTANCE_ID(i), FND_API.G_MISS_NUM, NULL, l_asset_rec_tab.INSTANCE_ID(i)),
5686 decode( l_asset_rec_tab.FA_ASSET_ID(i), FND_API.G_MISS_NUM, NULL, l_asset_rec_tab.FA_ASSET_ID(i)),
5687 decode( l_asset_rec_tab.FA_BOOK_TYPE_CODE(i), FND_API.G_MISS_CHAR, NULL, l_asset_rec_tab.FA_BOOK_TYPE_CODE(i)),
5688 decode( l_asset_rec_tab.FA_LOCATION_ID(i), FND_API.G_MISS_NUM, NULL, l_asset_rec_tab.FA_LOCATION_ID(i)),
5689 decode( l_asset_rec_tab.ASSET_QUANTITY(i), FND_API.G_MISS_NUM, NULL, l_asset_rec_tab.ASSET_QUANTITY(i)),
5690 decode( l_asset_rec_tab.UPDATE_STATUS(i), FND_API.G_MISS_CHAR, NULL, l_asset_rec_tab.UPDATE_STATUS(i)),
5694 SYSDATE,
5691 decode( l_asset_rec_tab.ACTIVE_START_DATE(i), FND_API.G_MISS_DATE, NULL, l_asset_rec_tab.ACTIVE_START_DATE(i)),
5692 decode( l_asset_rec_tab.ACTIVE_END_DATE(i), FND_API.G_MISS_DATE, NULL, l_asset_rec_tab.ACTIVE_END_DATE(i)),
5693 l_user_id,
5695 l_user_id,
5696 SYSDATE,
5697 l_login_id,
5698 1,
5699 decode( l_asset_rec_tab.FA_SYNC_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_asset_rec_tab.FA_SYNC_FLAG(i))
5700 );
5701 END IF;
5702 --
5703 IF p_asset_hist_tbl.count > 0 THEN
5704 Build_Asset_Hist_Rec_Table
5705 (
5706 p_asset_hist_tbl => p_asset_hist_tbl
5707 ,p_asset_hist_rec_tab => l_asset_hist_rec_tab
5708 );
5709 --
5710 l_ctr := l_asset_hist_rec_tab.instance_asset_history_id.count;
5711 --
5712 FORALL i in 1 .. l_ctr
5713 INSERT INTO CSI_I_ASSETS_H(
5714 INSTANCE_ASSET_HISTORY_ID,
5715 INSTANCE_ASSET_ID,
5716 TRANSACTION_ID,
5717 OLD_INSTANCE_ID,
5718 NEW_INSTANCE_ID,
5719 OLD_FA_ASSET_ID,
5720 NEW_FA_ASSET_ID,
5721 OLD_ASSET_QUANTITY,
5722 NEW_ASSET_QUANTITY,
5723 OLD_FA_BOOK_TYPE_CODE,
5724 NEW_FA_BOOK_TYPE_CODE,
5725 OLD_FA_LOCATION_ID,
5726 NEW_FA_LOCATION_ID,
5727 OLD_UPDATE_STATUS,
5728 NEW_UPDATE_STATUS,
5729 OLD_ACTIVE_START_DATE,
5730 NEW_ACTIVE_START_DATE,
5731 OLD_ACTIVE_END_DATE,
5732 NEW_ACTIVE_END_DATE,
5733 FULL_DUMP_FLAG,
5734 CREATED_BY,
5735 CREATION_DATE,
5736 LAST_UPDATED_BY,
5737 LAST_UPDATE_DATE,
5738 LAST_UPDATE_LOGIN,
5739 OBJECT_VERSION_NUMBER,
5740 OLD_FA_SYNC_FLAG,
5741 NEW_FA_SYNC_FLAG
5742 ) VALUES (
5743 l_asset_hist_rec_tab.INSTANCE_ASSET_HISTORY_ID(i),
5744 decode( l_asset_hist_rec_tab.INSTANCE_ASSET_ID(i), FND_API.G_MISS_NUM, NULL, l_asset_hist_rec_tab.INSTANCE_ASSET_ID(i)),
5745 decode( l_asset_hist_rec_tab.TRANSACTION_ID(i), FND_API.G_MISS_NUM, NULL, l_asset_hist_rec_tab.TRANSACTION_ID(i)),
5746 decode( l_asset_hist_rec_tab.OLD_INSTANCE_ID(i), FND_API.G_MISS_NUM, NULL, l_asset_hist_rec_tab.OLD_INSTANCE_ID(i)),
5747 decode( l_asset_hist_rec_tab.NEW_INSTANCE_ID(i), FND_API.G_MISS_NUM, NULL, l_asset_hist_rec_tab.NEW_INSTANCE_ID(i)),
5748 decode( l_asset_hist_rec_tab.OLD_FA_ASSET_ID(i), FND_API.G_MISS_NUM, NULL, l_asset_hist_rec_tab.OLD_FA_ASSET_ID(i)),
5749 decode( l_asset_hist_rec_tab.NEW_FA_ASSET_ID(i), FND_API.G_MISS_NUM, NULL, l_asset_hist_rec_tab.NEW_FA_ASSET_ID(i)),
5750 decode( l_asset_hist_rec_tab.OLD_ASSET_QUANTITY(i), FND_API.G_MISS_NUM, NULL, l_asset_hist_rec_tab.OLD_ASSET_QUANTITY(i)),
5751 decode( l_asset_hist_rec_tab.NEW_ASSET_QUANTITY(i), FND_API.G_MISS_NUM, NULL, l_asset_hist_rec_tab.NEW_ASSET_QUANTITY(i)),
5752 decode( l_asset_hist_rec_tab.OLD_FA_BOOK_TYPE_CODE(i), FND_API.G_MISS_CHAR, NULL, l_asset_hist_rec_tab.OLD_FA_BOOK_TYPE_CODE(i)),
5753 decode( l_asset_hist_rec_tab.NEW_FA_BOOK_TYPE_CODE(i), FND_API.G_MISS_CHAR, NULL, l_asset_hist_rec_tab.NEW_FA_BOOK_TYPE_CODE(i)),
5754 decode( l_asset_hist_rec_tab.OLD_FA_LOCATION_ID(i), FND_API.G_MISS_NUM, NULL, l_asset_hist_rec_tab.OLD_FA_LOCATION_ID(i)),
5755 decode( l_asset_hist_rec_tab.NEW_FA_LOCATION_ID(i), FND_API.G_MISS_NUM, NULL, l_asset_hist_rec_tab.NEW_FA_LOCATION_ID(i)),
5756 decode( l_asset_hist_rec_tab.OLD_UPDATE_STATUS(i), FND_API.G_MISS_CHAR, NULL, l_asset_hist_rec_tab.OLD_UPDATE_STATUS(i)),
5757 decode( l_asset_hist_rec_tab.NEW_UPDATE_STATUS(i), FND_API.G_MISS_CHAR, NULL, l_asset_hist_rec_tab.NEW_UPDATE_STATUS(i)),
5758 decode( l_asset_hist_rec_tab.OLD_ACTIVE_START_DATE(i), FND_API.G_MISS_DATE, NULL, l_asset_hist_rec_tab.OLD_ACTIVE_START_DATE(i)),
5759 decode( l_asset_hist_rec_tab.NEW_ACTIVE_START_DATE(i), FND_API.G_MISS_DATE, NULL, l_asset_hist_rec_tab.NEW_ACTIVE_START_DATE(i)),
5760 decode( l_asset_hist_rec_tab.OLD_ACTIVE_END_DATE(i), FND_API.G_MISS_DATE, NULL, l_asset_hist_rec_tab.OLD_ACTIVE_END_DATE(i)),
5761 decode( l_asset_hist_rec_tab.NEW_ACTIVE_END_DATE(i), FND_API.G_MISS_DATE, NULL, l_asset_hist_rec_tab.NEW_ACTIVE_END_DATE(i)),
5762 'N',
5763 l_user_id,
5764 SYSDATE,
5765 l_user_id,
5766 SYSDATE,
5767 l_login_id,
5768 1,
5769 decode( l_asset_hist_rec_tab.OLD_FA_SYNC_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_asset_hist_rec_tab.OLD_FA_SYNC_FLAG(i)),
5770 decode( l_asset_hist_rec_tab.NEW_FA_SYNC_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_asset_hist_rec_tab.NEW_FA_SYNC_FLAG(i))
5771 );
5772 END IF;
5773 --
5774 EXCEPTION
5775 WHEN OTHERS THEN
5776 FND_File.Put_Line(Fnd_File.LOG,'Into when others of bulk_insert');
5777 FND_File.Put_Line(Fnd_File.LOG,'SQLERRM:'||substr(SQLERRM,1,200));
5778 csi_gen_utility_pvt.put_line('SQLERRM:'||substr(SQLERRM,1,200));
5779 ROLLBACK TO Bulk_Insert;
5780 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5781 END Bulk_Insert;
5782 --
5783 --
5784 /*----------------------------------------------------*/
5785 /* procedure name: create_item_instance */
5786 /* description : procedure used to */
5787 /* create item instances */
5788 /*----------------------------------------------------*/
5789
5790 PROCEDURE create_item_instance
5791 (
5792 p_api_version IN NUMBER
5793 ,p_commit IN VARCHAR2
5794 ,p_init_msg_list IN VARCHAR2
5795 ,p_validation_level IN NUMBER
5796 ,p_instance_tbl IN OUT NOCOPY csi_datastructures_pub.instance_tbl
5797 ,p_ext_attrib_values_tbl IN OUT NOCOPY csi_datastructures_pub.extend_attrib_values_tbl
5801 ,p_org_assignments_tbl IN OUT NOCOPY csi_datastructures_pub.organization_units_tbl
5798 ,p_party_tbl IN OUT NOCOPY csi_datastructures_pub.party_tbl
5799 ,p_account_tbl IN OUT NOCOPY csi_datastructures_pub.party_account_tbl
5800 ,p_pricing_attrib_tbl IN OUT NOCOPY csi_datastructures_pub.pricing_attribs_tbl
5802 ,p_asset_assignment_tbl IN OUT NOCOPY csi_datastructures_pub.instance_asset_tbl
5803 ,p_txn_tbl IN OUT NOCOPY csi_datastructures_pub.transaction_tbl
5804 ,p_call_from_bom_expl IN VARCHAR2
5805 ,p_grp_error_tbl OUT NOCOPY csi_datastructures_pub.grp_error_tbl
5806 ,x_return_status OUT NOCOPY VARCHAR2
5807 ,x_msg_count OUT NOCOPY NUMBER
5808 ,x_msg_data OUT NOCOPY VARCHAR2
5809 )
5810 IS
5811 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_ITEM_INSTANCE';
5812 l_api_version CONSTANT NUMBER := 1.0;
5813 l_debug_level NUMBER;
5814 l_flag VARCHAR2(1) := 'N';
5815 l_serial_control NUMBER;
5816 l_msg_data VARCHAR2(2000);
5817 l_msg_index NUMBER;
5818 l_msg_count NUMBER;
5819 l_transaction_type VARCHAR2(10);
5820 l_contracts_status VARCHAR2(3);
5821 l_account_id NUMBER;
5822 l_party_id NUMBER;
5823 l_party_src_tbl VARCHAR2(30);
5824 l_version_label VARCHAR2(30) := FND_PROFILE.VALUE('CSI_DEFAULT_VERSION_LABEL');
5825 l_temp_party_tbl csi_datastructures_pub.party_tbl;
5826 l_temp_account_tbl csi_datastructures_pub.party_account_tbl;
5827 l_temp_org_tbl csi_datastructures_pub.organization_units_tbl;
5828 l_temp_asset_tbl csi_datastructures_pub.instance_asset_tbl;
5829 l_temp_ext_tbl csi_datastructures_pub.extend_attrib_values_tbl;
5830 l_build_party_tbl csi_datastructures_pub.party_tbl;
5831 l_build_account_tbl csi_datastructures_pub.party_account_tbl;
5832 l_build_org_tbl csi_datastructures_pub.organization_units_tbl;
5833 l_build_asset_tbl csi_datastructures_pub.instance_asset_tbl;
5834 l_build_ext_tbl csi_datastructures_pub.extend_attrib_values_tbl;
5835 l_build_pricing_tbl csi_datastructures_pub.pricing_attribs_tbl;
5836 l_build_ctr NUMBER := 0;
5837 l_party_count NUMBER;
5838 l_account_count NUMBER;
5839 l_org_count NUMBER;
5840 l_asset_count NUMBER;
5841 l_ext_count NUMBER;
5842 l_iface_id NUMBER;
5843 l_iface_error_text VARCHAR2(2000);
5844 l_item_attribute_tbl csi_item_instance_pvt.item_attribute_tbl;
5845 l_location_tbl csi_item_instance_pvt.location_tbl;
5846 l_generic_id_tbl csi_item_instance_pvt.generic_id_tbl;
5847 l_lookup_tbl csi_item_instance_pvt.lookup_tbl;
5848 l_ins_count_rec csi_item_instance_pvt.ins_count_rec;
5849 l_internal_party_id NUMBER;
5850 l_party_has_correct_acct BOOLEAN := FALSE;
5851 l_party_source_tbl csi_party_relationships_pvt.party_source_tbl;
5852 l_party_id_tbl csi_party_relationships_pvt.party_id_tbl;
5853 l_contact_tbl csi_party_relationships_pvt.contact_tbl;
5854 l_party_rel_type_tbl csi_party_relationships_pvt.party_rel_type_tbl;
5855 l_party_count_rec csi_party_relationships_pvt.party_count_rec;
5856 l_inst_party_tbl csi_party_relationships_pvt.inst_party_tbl;
5857 l_acct_rel_type_tbl csi_party_relationships_pvt.acct_rel_type_tbl;
5858 l_site_use_tbl csi_party_relationships_pvt.site_use_tbl;
5859 l_account_count_rec csi_party_relationships_pvt.account_count_rec;
5860 l_acct_id_tbl csi_party_relationships_pvt.acct_id_tbl;
5861 l_grp_error_tbl csi_datastructures_pub.grp_error_tbl;
5862 l_ou_lookup_tbl csi_organization_unit_pvt.lookup_tbl;
5863 l_ou_count_rec csi_organization_unit_pvt.ou_count_rec;
5864 l_ou_id_tbl csi_organization_unit_pvt.ou_id_tbl;
5865 l_ext_id_tbl csi_item_instance_pvt.ext_id_tbl;
5866 l_ext_count_rec csi_item_instance_pvt.ext_count_rec;
5867 l_ext_attr_tbl csi_item_instance_pvt.ext_attr_tbl;
5868 l_ext_cat_tbl csi_item_instance_pvt.ext_cat_tbl;
5869 l_asset_lookup_tbl csi_asset_pvt.lookup_tbl;
5870 l_asset_count_rec csi_asset_pvt.asset_count_rec;
5871 l_asset_id_tbl csi_asset_pvt.asset_id_tbl;
5872 l_asset_loc_tbl csi_asset_pvt.asset_loc_tbl;
5873 --
5874 l_bulk_inst_tbl csi_datastructures_pub.instance_tbl;
5875 l_bulk_version_label_tbl csi_datastructures_pub.version_label_tbl;
5876 l_bulk_ver_label_hist_tbl csi_datastructures_pub.version_label_history_tbl;
5877 l_bulk_inst_hist_tbl csi_datastructures_pub.instance_history_tbl;
5878 l_bulk_party_tbl csi_datastructures_pub.party_tbl;
5879 l_bulk_party_hist_tbl csi_datastructures_pub.party_history_tbl;
5880 l_bulk_acct_tbl csi_datastructures_pub.party_account_tbl;
5881 l_bulk_acct_hist_tbl csi_datastructures_pub.account_history_tbl;
5882 l_bulk_txn_tbl csi_datastructures_pub.transaction_tbl;
5883 x_bulk_txn_tbl csi_datastructures_pub.transaction_tbl;
5884 l_owner_pty_acct_tbl csi_item_instance_pvt.owner_pty_acct_tbl;
5885 l_bulk_org_units_tbl csi_datastructures_pub.organization_units_tbl;
5886 l_bulk_org_units_hist_tbl csi_datastructures_pub.org_units_history_tbl;
5890 l_bulk_ext_attrib_val_hist_tbl csi_datastructures_pub.ext_attrib_val_history_tbl;
5887 l_bulk_pricing_tbl csi_datastructures_pub.pricing_attribs_tbl;
5888 l_bulk_pricing_hist_tbl csi_datastructures_pub.pricing_history_tbl;
5889 l_bulk_ext_attrib_values_tbl csi_datastructures_pub.extend_attrib_values_tbl;
5891 l_bulk_asset_tbl csi_datastructures_pub.instance_asset_tbl;
5892 l_bulk_asset_hist_tbl csi_datastructures_pub.ins_asset_history_tbl;
5893 --
5894 l_bulk_inst_count NUMBER := 0;
5895 l_bulk_pty_count NUMBER := 0;
5896 l_bulk_acct_count NUMBER := 0;
5897 l_bulk_org_count NUMBER := 0;
5898 l_bulk_pricing_count NUMBER := 0;
5899 l_bulk_ext_count NUMBER := 0;
5900 l_bulk_asset_count NUMBER := 0;
5901 l_owner_count NUMBER := 0;
5902 --
5903 l_txn_exists_tbl dbms_sql.Number_Table;
5904 l_intf_id_array dbms_sql.Number_Table;
5905 l_inst_id_array dbms_sql.Number_Table;
5906 l_status_array dbms_sql.Varchar2_Table;
5907 l_error_array dbms_sql.Varchar2_Table;
5908 l_num_of_rows NUMBER;
5909 l_upd_stmt VARCHAR2(2000);
5910 l_dummy NUMBER;
5911 l_instance_status VARCHAR2(50) := FND_PROFILE.VALUE('CSI_DEFAULT_INSTANCE_STATUS');
5912 l_status_id NUMBER;
5913 l_owner_party_id NUMBER;
5914 l_vld_organization_id NUMBER;
5915 l_location_id NUMBER;
5916
5917 -- Start of code for Bug 9249563
5918 l_base_item_id NUMBER;
5919 l_counter_flag NUMBER :=0;
5920 l_ctr_item_associations_rec csi_ctr_datastructures_pub.ctr_item_associations_rec;
5921
5922 CURSOR CTR_GROUP(p_src_object_id IN NUMBER) IS
5923 SELECT group_id,
5924 associated_to_group,
5925 COUNTER_ID
5926 FROM csi_ctr_item_associations
5927 WHERE inventory_item_id = p_src_object_id;
5928 -- End of code for Bug 9249563
5929 --
5930 TYPE NUMLIST IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
5931 l_del_inst_tbl NUMLIST;
5932 l_del_txn_tbl NUMLIST;
5933 l_del_count NUMBER := 0;
5934 --
5935 l_error_count NUMBER := 0;
5936 --
5937 TYPE CTR_REC IS RECORD
5938 (
5939 inventory_item_id NUMBER
5940 ,ctr_template_exists VARCHAR2(1)
5941 );
5942 TYPE CTR_TBL IS TABLE OF CTR_REC INDEX BY BINARY_INTEGER;
5943 --
5944 TYPE CONTACT_PARTY_REC IS RECORD
5945 (
5946 party_id NUMBER
5947 ,contact_party_id NUMBER
5948 ,valid_flag VARCHAR2(1)
5949 );
5950 TYPE CONTACT_PARTY_TBL IS TABLE OF CONTACT_PARTY_REC INDEX BY BINARY_INTEGER;
5951
5952 -- Data Structure for bug 11693286
5953 TYPE HASH_VAL_TBL IS TABLE OF NUMLIST INDEX BY VARCHAR2(500);
5954 l_party_hashtbl HASH_VAL_TBL;
5955 l_party_acct_hashtbl HASH_VAL_TBL;
5956 l_tmp_cnt NUMBER := 0;
5957 l_tmp_numlist NUMLIST;
5958 l_tmp_numlist2 NUMLIST;
5959 l_key VARCHAR2(500);
5960 l_party_index NUMBER;
5961 l_acct_index NUMBER;
5962
5963 -- for debug purpose
5964 --l_i VARCHAR2(500);
5965 --l_j BINARY_INTEGER;
5966
5967 -- bug 11693286 end
5968
5969 --
5970 l_ctr_id dbms_sql.Number_Table;
5971 l_ctr_ins_id dbms_sql.Number_Table;
5972 l_ctr_item_id dbms_sql.Number_Table;
5973 l_ctr_org_id dbms_sql.Number_Table;
5974 l_counter NUMBER := 0;
5975 l_contact_party_tbl CONTACT_PARTY_TBL;
5976 l_contact_party_count NUMBER := 0;
5977 l_ctr_tbl CTR_TBL;
5978 l_ctr_count NUMBER := 0;
5979 l_exists_flag VARCHAR2(1);
5980 l_exists VARCHAR2(1);
5981 l_txn_ctr NUMBER;
5982 l_valid_flag VARCHAR2(1);
5983 l_ctr_exists_flag VARCHAR2(1);
5984 l_ctr_instantiate VARCHAR2(1);
5985 l_call_counters VARCHAR2(1) := FND_PROFILE.VALUE('CSI_COUNTERS_ENABLED');
5986 l_ctr_grp_id_template NUMBER;
5987 l_ctr_grp_id_instance NUMBER;
5988 l_ctr_id_template csi_counter_template_pub.ctr_template_autoinst_tbl;
5989 l_ctr_id_instance csi_counter_template_pub.counter_autoinstantiate_tbl;
5990 l_user_id NUMBER := FND_GLOBAL.USER_ID;
5991 l_login_id NUMBER := FND_GLOBAL.CONC_LOGIN_ID;
5992 l_upd_txn_count NUMBER := 0;
5993 l_upd_txn_tbl dbms_sql.Number_Table;
5994 l_serial_control_code number;
5995 --
5996 PROCESS_NEXT EXCEPTION;
5997 SKIP_ERROR EXCEPTION;
5998 OTHER_ERROR EXCEPTION; -- Added for bug 3579121(rel 11.5.9)
5999
6000 CURSOR instance_csr (p_ins_id IN NUMBER) IS
6001 SELECT *
6002 FROM csi_item_instances
6003 WHERE instance_id = p_ins_id;
6004 --
6005 l_instance_csr instance_csr%ROWTYPE;
6006 --
6007 px_oks_txn_inst_tbl oks_ibint_pub.txn_instance_tbl;
6008 l_ctr_group_id NUMBER;
6009 l_eam_item_type NUMBER;
6010 --
6011 BEGIN
6012
6013 -- Standard Start of API savepoint
6014 -- SAVEPOINT create_item_instance;
6015
6016 -- Check for freeze_flag in csi_install_parameters is set to 'Y'
6020 IF NOT FND_API.Compatible_API_Call (l_api_version,
6017 csi_utility_grp.check_ib_active;
6018
6019 -- Standard call to check for call compatibility.
6021 p_api_version,
6022 l_api_name ,
6023 G_PKG_NAME )
6024 THEN
6025 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6026 END IF;
6027
6028 -- Initialize message list if p_init_msg_list is set to TRUE.
6029 IF FND_API.to_Boolean( p_init_msg_list ) THEN
6030 FND_MSG_PUB.initialize;
6031 END IF;
6032
6033 -- Initialize API return status to success
6034 x_return_status := FND_API.G_RET_STS_SUCCESS;
6035
6036 -- Check the profile option debug_level for debug message reporting
6037 l_debug_level:=fnd_profile.value('CSI_DEBUG_LEVEL');
6038
6039 -- If debug_level = 1 then dump the procedure name
6040 IF (l_debug_level > 0) THEN
6041 csi_gen_utility_pvt.put_line( 'create_item_instance');
6042 END IF;
6043
6044 -- If the debug level = 2 then dump all the parameters values.
6045 IF (l_debug_level > 1) THEN
6046
6047 csi_gen_utility_pvt.put_line( 'create_item_instance' ||
6048 p_api_version ||'-'||
6049 p_commit ||'-'||
6050 p_init_msg_list ||'-'||
6051 p_validation_level );
6052 END IF;
6053
6054 /***** srramakr commented for bug # 3304439
6055 -- Check for the profile option and enable trace
6056 l_flag:=CSI_GEN_UTILITY_PVT.enable_trace(l_trace_flag => l_flag);
6057 -- End enable trace
6058 ****/
6059
6060 -- Start API body
6061 l_ext_count_rec.ext_count := 0;
6062 -- Create an item instance after validating all the instance attributes.
6063 -- API also validates that exactly one owner is being created for the
6064 -- item instance
6065 -- Grab the internal party id from csi_installed paramters
6066 IF csi_datastructures_pub.g_install_param_rec.fetch_flag IS NULL THEN
6067 csi_gen_utility_pvt.populate_install_param_rec;
6068 END IF;
6069 --
6070 l_internal_party_id := csi_datastructures_pub.g_install_param_rec.internal_party_id;
6071 --
6072 IF l_internal_party_id IS NULL THEN
6073 FND_MESSAGE.SET_NAME('CSI','CSI_API_UNINSTALLED_PARAMETER');
6074 FND_MSG_PUB.ADD;
6075 RAISE OTHER_ERROR;
6076 END IF;
6077 --
6078 BEGIN
6079 SELECT instance_status_id
6080 INTO l_status_id
6081 FROM csi_instance_statuses
6082 WHERE name = l_instance_status;
6083 --
6084 EXCEPTION
6085 WHEN OTHERS THEN
6086 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_STATUS_ID');
6087 FND_MESSAGE.SET_TOKEN('INSTANCE_STATUS',l_instance_status);
6088 FND_MSG_PUB.Add;
6089 -- RAISE FND_API.G_EXC_ERROR;
6090 RAISE OTHER_ERROR; -- Added for bug 3579121 (rel 11.5.9)
6091 END;
6092 --
6093 IF (p_instance_tbl.count > 0) THEN
6094
6095 --Bug 11693286 start
6096 -- Populating party and account data in temp tables
6097 IF (p_party_tbl.COUNT > 0) THEN --bug 13648101
6098 FOR tab_row IN p_party_tbl.FIRST .. p_party_tbl.LAST
6099 LOOP
6100 IF p_party_tbl.EXISTS(tab_row) THEN
6101 IF l_party_hashtbl.EXISTS(p_party_tbl(tab_row).parent_tbl_index) THEN
6102
6103 l_tmp_numlist.DELETE;
6104 l_tmp_numlist := l_party_hashtbl(p_party_tbl(tab_row).parent_tbl_index);
6105 l_tmp_cnt := l_tmp_numlist.count;
6106 l_tmp_numlist(l_tmp_cnt + 1) := tab_row;
6107
6108 l_party_hashtbl(p_party_tbl(tab_row).parent_tbl_index) := l_tmp_numlist;
6109 ELSE
6110
6111 l_tmp_numlist.DELETE;
6112 l_tmp_numlist(1) := tab_row;
6113
6114 l_party_hashtbl(p_party_tbl(tab_row).parent_tbl_index) := l_tmp_numlist;
6115
6116 END IF;
6117 END IF;
6118 END LOOP;
6119 END IF; -- IF (p_party_tbl.COUNT > 0) THEN --bug 13648101
6120
6121
6122 IF (p_account_tbl.COUNT > 0) THEN --bug 13648101
6123 FOR l_acct_row IN p_account_tbl.FIRST .. p_account_tbl.LAST
6124 LOOP
6125 IF p_account_tbl.EXISTS(l_acct_row) THEN
6126
6127 l_key := p_party_tbl(p_account_tbl(l_acct_row).parent_tbl_index).parent_tbl_index
6128 ||'#'
6129 ||p_account_tbl(l_acct_row).parent_tbl_index;
6130
6131 IF l_party_acct_hashtbl.EXISTS(l_key) THEN
6132
6133 l_tmp_numlist.DELETE;
6134 l_tmp_numlist := l_party_acct_hashtbl(l_key);
6135 l_tmp_cnt := l_tmp_numlist.count;
6136 l_tmp_numlist(l_tmp_cnt + 1) := l_acct_row;
6137
6138 l_party_acct_hashtbl(l_key) := l_tmp_numlist;
6139
6140 ELSE
6141 l_tmp_numlist.DELETE;
6142 l_tmp_numlist(1) := l_acct_row;
6143
6144 l_party_acct_hashtbl(l_key) := l_tmp_numlist;
6145 END IF;
6146
6147 END IF;
6148
6149 END LOOP;
6150 END IF; --IF (p_account_tbl.COUNT > 0) THEN --bug 13648101
6151
6152 -- dumping data for debugging
6153 /*
6154 IF (l_debug_level > 0) THEN
6155 csi_gen_utility_pvt.put_line( 'Tmp hashtbl data dump');
6156 csi_gen_utility_pvt.put_line( 'Table : l_party_hashtbl');
6157
6158 l_i := l_party_hashtbl.first;
6159
6160 WHILE l_i IS NOT NULL
6161 LOOP
6162
6163 csi_gen_utility_pvt.put_line( 'l_party_hashtbl index - '||l_i);
6164 csi_gen_utility_pvt.put_line( '##############################');
6165 l_tmp_numlist.DELETE;
6166
6167 l_tmp_numlist := l_party_hashtbl(l_i);
6168 l_j := l_tmp_numlist.first;
6169
6170 WHILE l_j IS NOT NULL LOOP
6171 csi_gen_utility_pvt.put_line(l_j || ' - ' || l_tmp_numlist(l_j));
6172 l_j := l_tmp_numlist.NEXT(l_j);
6173 END LOOP;
6174
6175 csi_gen_utility_pvt.put_line( '##############################');
6176 l_i := l_party_hashtbl.NEXT(l_i);
6177 END LOOP;
6178
6179 csi_gen_utility_pvt.put_line( 'Table : l_party_acct_hashtbl');
6180
6181 l_i := l_party_acct_hashtbl.first;
6182
6183 WHILE l_i IS NOT NULL
6184 LOOP
6185
6186 csi_gen_utility_pvt.put_line( 'l_party_acct_hashtbl index - '||l_i);
6187 csi_gen_utility_pvt.put_line( '##############################');
6188 l_tmp_numlist.DELETE;
6189
6190 l_tmp_numlist := l_party_acct_hashtbl(l_i);
6191 l_j := l_tmp_numlist.first;
6192
6193 WHILE l_j IS NOT NULL LOOP
6194 csi_gen_utility_pvt.put_line(l_j || ' - ' || l_tmp_numlist(l_j));
6195 l_j := l_tmp_numlist.NEXT(l_j);
6196 END LOOP;
6197
6198 csi_gen_utility_pvt.put_line( '##############################');
6199 l_i := l_party_acct_hashtbl.NEXT(l_i);
6200 END LOOP;
6201
6202
6203 END IF;
6204 */
6205 --end bug 11693286
6206
6207 FOR inst_tab_row IN p_instance_tbl.FIRST .. p_instance_tbl.LAST
6208 LOOP
6209 BEGIN
6210 IF p_instance_tbl.EXISTS(inst_tab_row) THEN
6211 FND_MSG_PUB.initialize;
6212 csi_gen_utility_pvt.dump_instance_rec(p_instance_tbl(inst_tab_row));
6213
6214 -- Standard Start of API savepoint
6215 SAVEPOINT create_item_instance;
6216 l_iface_id := p_instance_tbl(inst_tab_row).interface_id;
6217 l_iface_error_text := NULL;
6218 l_intf_id_array(inst_tab_row) := p_instance_tbl(inst_tab_row).interface_id;
6219 l_grp_error_tbl(inst_tab_row).group_inst_num := inst_tab_row;
6220 --
6221 l_build_party_tbl.DELETE;
6222 l_build_account_tbl.DELETE;
6223 l_build_org_tbl.DELETE;
6224 l_build_pricing_tbl.DELETE;
6225 l_build_ext_tbl.DELETE;
6226 l_build_asset_tbl.DELETE;
6227 --
6228 IF NOT p_txn_tbl.EXISTS(inst_tab_row) THEN
6229 l_iface_error_text := 'Unable to find the corresponding Transaction record';
6230 RAISE SKIP_ERROR;
6231 END IF;
6232 --
6233 --dump the operating units table associated to the instance
6234 IF l_debug_level > 0 THEN
6235 IF p_org_assignments_tbl.count > 0 THEN
6236 FOR tab_row IN p_org_assignments_tbl.FIRST .. p_org_assignments_tbl.LAST
6237 LOOP
6238 IF p_org_assignments_tbl.EXISTS(tab_row) THEN
6239 IF p_org_assignments_tbl(tab_row).parent_tbl_index = inst_tab_row THEN
6240 csi_gen_utility_pvt.dump_organization_unit_rec(p_org_assignments_tbl(tab_row));
6241 END IF;
6242 END IF;
6243 END LOOP;
6244 END IF;
6245 --dump the pricing attributes table associated to the instance
6246 IF p_pricing_attrib_tbl.count > 0 THEN
6247 FOR tab_row IN p_pricing_attrib_tbl.FIRST .. p_pricing_attrib_tbl.LAST
6248 LOOP
6249 IF p_pricing_attrib_tbl.EXISTS(tab_row) THEN
6250 IF p_pricing_attrib_tbl(tab_row).parent_tbl_index = inst_tab_row THEN
6251 csi_gen_utility_pvt.dump_pricing_attribs_rec(p_pricing_attrib_tbl(tab_row));
6252 END IF;
6253 END IF;
6254 END LOOP;
6255 END IF;
6256 --dump the extended attributes table associated to the instance
6257 IF p_ext_attrib_values_tbl.count > 0 THEN
6258 FOR tab_row IN p_ext_attrib_values_tbl.FIRST .. p_ext_attrib_values_tbl.LAST
6259 LOOP
6260 IF p_ext_attrib_values_tbl.EXISTS(tab_row) THEN
6261 IF p_ext_attrib_values_tbl(tab_row).parent_tbl_index = inst_tab_row THEN
6262 csi_gen_utility_pvt.dump_ext_attrib_values_rec(p_ext_attrib_values_tbl(tab_row));
6263 END IF;
6264 END IF;
6265 END LOOP;
6266 END IF;
6267 --dump the assets table associated to the instance
6268 IF (p_asset_assignment_tbl.count > 0) THEN
6269 FOR tab_row IN p_asset_assignment_tbl.FIRST .. p_asset_assignment_tbl.LAST
6270 LOOP
6271 IF p_asset_assignment_tbl.EXISTS(tab_row) THEN
6272 IF p_asset_assignment_tbl(tab_row).parent_tbl_index = inst_tab_row THEN
6273 csi_gen_utility_pvt.dump_instance_asset_rec(p_asset_assignment_tbl(tab_row));
6274 END IF;
6275 END IF;
6276 END LOOP;
6277 END IF;
6278
6279 --dump the parties and corresponding accounts table that are associated to an instance
6280 IF (p_party_tbl.count > 0) THEN
6281 FOR tab_row IN p_party_tbl.FIRST .. p_party_tbl.LAST
6282 LOOP
6283 IF p_party_tbl.EXISTS(tab_row) THEN
6284 IF p_party_tbl(tab_row).parent_tbl_index = inst_tab_row THEN
6285 csi_gen_utility_pvt.dump_party_rec(p_party_tbl(tab_row));
6286 IF p_account_tbl.count > 0 THEN
6287 FOR acct_tab_row in p_account_tbl.FIRST .. p_account_tbl.LAST
6288 LOOP
6289 IF p_account_tbl.EXISTS(acct_tab_row) THEN
6290 IF p_account_tbl(acct_tab_row).parent_tbl_index = tab_row THEN
6291 csi_gen_utility_pvt.dump_party_account_rec(p_account_tbl(acct_tab_row));
6292 END IF;
6293 END IF;
6294 END LOOP;
6295 END IF;
6296 END IF;
6297 END IF;
6298 END LOOP;
6299 END IF;
6300 END IF; -- dump if l_debug_level > 0
6301 --
6302 ELSE
6303 RAISE PROCESS_NEXT;
6304 END IF; --p_instance_tbl.EXISTS(inst_tab_row)
6305 -- Compress the Party Tbl and pass it to the Create API.
6306 l_temp_party_tbl.DELETE;
6307 l_party_count := 0;
6308 --
6309
6310 --bug 11693286 start
6311 IF l_party_hashtbl.EXISTS(inst_tab_row) THEN
6312
6313 l_tmp_numlist.DELETE;
6314 l_tmp_numlist := l_party_hashtbl(inst_tab_row);
6315
6316 FOR tab_row IN l_tmp_numlist.FIRST .. l_tmp_numlist.LAST
6317 LOOP
6318 IF p_party_tbl.EXISTS(l_tmp_numlist(tab_row)) THEN
6319 l_party_count := l_party_count + 1;
6320 l_temp_party_tbl(l_party_count) := p_party_tbl(l_tmp_numlist(tab_row));
6321 END IF;
6322 END LOOP;
6323 END IF;
6324
6325 /*
6326 IF (p_party_tbl.count > 0) THEN
6327 FOR tab_row IN p_party_tbl.FIRST .. p_party_tbl.LAST
6328 LOOP
6329 IF p_party_tbl.EXISTS(tab_row) THEN
6330 IF p_party_tbl(tab_row).parent_tbl_index = inst_tab_row THEN
6331 l_party_count := l_party_count + 1;
6332 l_temp_party_tbl(l_party_count) := p_party_tbl(tab_row);
6333 END IF;
6334 END IF;
6335 END LOOP;
6336 END IF;
6337 */
6338
6339 -- bug 11693286 end
6340 --
6341 -- Compress Asset Tbl and pass it to the Create API.
6342 l_asset_count := 0;
6343 l_temp_asset_tbl.DELETE;
6344 IF (p_asset_assignment_tbl.count > 0) THEN
6345 FOR tab_row IN p_asset_assignment_tbl.FIRST .. p_asset_assignment_tbl.LAST
6346 LOOP
6347 IF p_asset_assignment_tbl.EXISTS(tab_row) THEN
6348 IF p_asset_assignment_tbl(tab_row).parent_tbl_index = inst_tab_row THEN
6349 l_asset_count := l_asset_count + 1;
6350 l_temp_asset_tbl(l_asset_count) := p_asset_assignment_tbl(tab_row);
6351 END IF;
6352 END IF;
6353 END LOOP;
6354 END IF;
6355 --
6356 IF p_instance_tbl(inst_tab_row).instance_status_id IS NULL OR
6357 p_instance_tbl(inst_tab_row).instance_status_id = FND_API.G_MISS_NUM THEN
6358 p_instance_tbl(inst_tab_row).instance_status_id := l_status_id;
6359 END IF;
6360 --
6361 -- If version label is null, then we need read the the default value from the profile option
6362 IF ((p_instance_tbl(inst_tab_row).version_label IS NULL) OR
6363 (p_instance_tbl(inst_tab_row).version_label = FND_API.G_MISS_CHAR)) THEN
6364 IF l_version_label IS NULL THEN
6365 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_VERSION_LABEL');
6366 FND_MSG_PUB.ADD;
6367 l_msg_index := 1;
6368 FND_MSG_PUB.Count_And_Get
6369 (p_count => x_msg_count,
6370 p_data => x_msg_data
6371 );
6372 l_msg_count := x_msg_count;
6373 WHILE l_msg_count > 0 LOOP
6374 x_msg_data := FND_MSG_PUB.GET
6375 ( l_msg_index,
6376 FND_API.G_FALSE );
6377 csi_gen_utility_pvt.put_line( ' MESSAGE DATA = '||x_msg_data);
6378 l_msg_index := l_msg_index + 1;
6379 l_msg_count := l_msg_count - 1;
6380 END LOOP;
6381 l_iface_error_text := substr(x_msg_data,1,2000);
6382 RAISE SKIP_ERROR;
6383 ELSE
6384 p_instance_tbl(inst_tab_row).version_label := l_version_label;
6385 END IF;
6386 END IF;
6387 --
6391 p_instance_tbl(inst_tab_row).inv_master_organization_id;
6388 IF p_instance_tbl(inst_tab_row).vld_organization_id IS NULL OR
6389 p_instance_tbl(inst_tab_row).vld_organization_id = FND_API.G_MISS_NUM THEN
6390 p_instance_tbl(inst_tab_row).vld_organization_id :=
6392 END IF;
6393 -- Validate Serial uniqueness within this batch
6394 IF p_instance_tbl(inst_tab_row).serial_number IS NOT NULL AND
6395 p_instance_tbl(inst_tab_row).serial_number <> FND_API.G_MISS_CHAR AND
6396 p_instance_tbl(inst_tab_row).vld_organization_id IS NOT NULL AND
6397 p_instance_tbl(inst_tab_row).vld_organization_id <> FND_API.G_MISS_NUM AND
6398 p_instance_tbl(inst_tab_row).inventory_item_id IS NOT NULL AND
6399 p_instance_tbl(inst_tab_row).inventory_item_id <> FND_API.G_MISS_NUM THEN
6400 IF NOT Valid_Serial_Number
6401 ( p_instance_rec => p_instance_tbl(inst_tab_row),
6402 p_instance_tbl => p_instance_tbl,
6403 p_inst_tab_row => inst_tab_row) THEN --bug 9227016
6404 l_msg_index := 1;
6405 FND_MSG_PUB.Count_And_Get
6406 (p_count => x_msg_count,
6407 p_data => x_msg_data
6408 );
6409 l_msg_count := x_msg_count;
6410 WHILE l_msg_count > 0 LOOP
6411 x_msg_data := FND_MSG_PUB.GET
6412 ( l_msg_index,
6413 FND_API.G_FALSE );
6414 csi_gen_utility_pvt.put_line( ' MESSAGE DATA = '||x_msg_data);
6415 l_msg_index := l_msg_index + 1;
6416 l_msg_count := l_msg_count - 1;
6417 END LOOP;
6418 l_iface_error_text := substr(x_msg_data,1,2000);
6419 RAISE SKIP_ERROR;
6420 END IF;
6421 END IF;
6422 --
6423 -- Validate Lot uniqueness within this batch
6424 IF p_instance_tbl(inst_tab_row).lot_number IS NOT NULL AND
6425 p_instance_tbl(inst_tab_row).lot_number <> FND_API.G_MISS_CHAR AND
6426 p_instance_tbl(inst_tab_row).vld_organization_id IS NOT NULL AND
6427 p_instance_tbl(inst_tab_row).vld_organization_id <> FND_API.G_MISS_NUM AND
6428 p_instance_tbl(inst_tab_row).inventory_item_id IS NOT NULL AND
6429 p_instance_tbl(inst_tab_row).inventory_item_id <> FND_API.G_MISS_NUM THEN
6430 IF NOT Valid_Lot_Number
6431 ( p_instance_rec => p_instance_tbl(inst_tab_row),
6432 p_instance_tbl => p_instance_tbl) THEN
6433 l_msg_index := 1;
6434 FND_MSG_PUB.Count_And_Get
6435 (p_count => x_msg_count,
6436 p_data => x_msg_data
6437 );
6438 l_msg_count := x_msg_count;
6439 WHILE l_msg_count > 0 LOOP
6440 x_msg_data := FND_MSG_PUB.GET
6441 ( l_msg_index,
6442 FND_API.G_FALSE );
6443 csi_gen_utility_pvt.put_line( ' MESSAGE DATA = '||x_msg_data);
6444 l_msg_index := l_msg_index + 1;
6445 l_msg_count := l_msg_count - 1;
6446 END LOOP;
6447 l_iface_error_text := substr(x_msg_data,1,2000);
6448 RAISE SKIP_ERROR;
6449 END IF;
6450 END IF;
6451 --
6452
6453 SELECT eam_item_type,
6454 serial_number_control_code
6455 INTO l_eam_item_type,
6456 l_serial_control_code
6457 FROM mtl_system_items
6458 WHERE inventory_item_id = p_instance_tbl(inst_tab_row).inventory_item_id
6459 AND organization_id = p_instance_tbl(inst_tab_row).vld_organization_id;
6460
6461 IF l_eam_item_type in (1, 3) AND l_serial_control_code <> 1 THEN
6462 p_instance_tbl(inst_tab_row).instance_condition_id := 1;
6463 END IF;
6464
6465
6466 -- Calling Pre Customer User Hook -- added for bug 9146060 by HYONLEE
6467
6468 BEGIN
6469 IF JTF_USR_HKS.Ok_to_execute(G_PKG_NAME, l_api_name, 'B', 'C' ) THEN
6470 csi_gen_utility_pvt.put_line('Calling CSI_ITEM_INSTANCE_CUHK.Create_Item_Instance_Pre ..');
6471 CSI_ITEM_INSTANCE_CUHK.Create_Item_Instance_Pre
6472 (
6473 p_api_version => 1.0
6474 ,p_commit => fnd_api.g_false
6475 ,p_init_msg_list => fnd_api.g_false
6476 ,p_validation_level => fnd_api.g_valid_level_full
6477 ,p_instance_rec => p_instance_tbl(inst_tab_row)
6478 ,p_ext_attrib_values_tbl => p_ext_attrib_values_tbl
6479 ,p_party_tbl => l_temp_party_tbl
6480 ,p_account_tbl => p_account_tbl
6481 ,p_pricing_attrib_tbl => p_pricing_attrib_tbl
6482 ,p_org_assignments_tbl => p_org_assignments_tbl
6483 ,p_asset_assignment_tbl => p_asset_assignment_tbl
6484 ,p_txn_rec => p_txn_tbl(inst_tab_row)
6485 ,x_return_status => x_return_status
6486 ,x_msg_count => x_msg_count
6487 ,x_msg_data => x_msg_data
6488 );
6489 --
6490 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
6491 l_msg_index := 1;
6492 l_msg_count := x_msg_count;
6493 WHILE l_msg_count > 0 LOOP
6494 x_msg_data := FND_MSG_PUB.GET
6495 ( l_msg_index,
6496 FND_API.G_FALSE );
6497 csi_gen_utility_pvt.put_line('ERROR FROM CSI_ITEM_INSTANCE_CUHK.Create_Item_Instance_Pre API ');
6498 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
6502 RAISE FND_API.G_EXC_ERROR;
6499 l_msg_index := l_msg_index + 1;
6500 l_msg_count := l_msg_count - 1;
6501 END LOOP;
6503 END IF;
6504 --
6505 END IF;
6506 EXCEPTION
6507 WHEN OTHERS THEN
6508 csi_gen_utility_pvt.put_line('ERROR FROM JTF_USR_HKS.Ok_to_execute API Create Pre Customer');
6509 RAISE FND_API.G_EXC_ERROR;
6510 END;
6511
6512 -- Calling Pre Vertical User Hook -- added for bug 9146060 by HYONLEE
6513 BEGIN
6514
6515 IF JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'B', 'V' ) THEN
6516 csi_gen_utility_pvt.put_line('Calling CSI_ITEM_INSTANCE_VUHK.Create_Item_Instance_Pre ..');
6517 CSI_ITEM_INSTANCE_VUHK.Create_Item_Instance_Pre
6518 (
6519 p_api_version => 1.0
6520 ,p_commit => fnd_api.g_false
6521 ,p_init_msg_list => fnd_api.g_false
6522 ,p_validation_level => fnd_api.g_valid_level_full
6523 ,p_instance_rec => p_instance_tbl(inst_tab_row)
6524 ,p_ext_attrib_values_tbl => p_ext_attrib_values_tbl
6525 ,p_party_tbl => l_temp_party_tbl
6526 ,p_account_tbl => p_account_tbl
6527 ,p_pricing_attrib_tbl => p_pricing_attrib_tbl
6528 ,p_org_assignments_tbl => p_org_assignments_tbl
6529 ,p_asset_assignment_tbl => p_asset_assignment_tbl
6530 ,p_txn_rec => p_txn_tbl(inst_tab_row)
6531 ,x_return_status => x_return_status
6532 ,x_msg_count => x_msg_count
6533 ,x_msg_data => x_msg_data
6534 );
6535 --
6536 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
6537 l_msg_index := 1;
6538 l_msg_count := x_msg_count;
6539 WHILE l_msg_count > 0 LOOP
6540 x_msg_data := FND_MSG_PUB.GET
6541 ( l_msg_index,
6542 FND_API.G_FALSE );
6543 csi_gen_utility_pvt.put_line('ERROR FROM CSI_ITEM_INSTANCE_VUHK.Create_Item_Instance_Pre API ');
6544 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
6545 l_msg_index := l_msg_index + 1;
6546 l_msg_count := l_msg_count - 1;
6547 END LOOP;
6548 RAISE FND_API.G_EXC_ERROR;
6549 END IF;
6550 --
6551 END IF;
6552
6553 EXCEPTION
6554 WHEN OTHERS THEN
6555 csi_gen_utility_pvt.put_line('ERROR FROM JTF_USR_HKS.Ok_to_execute API Create Pre Vertical');
6556 RAISE FND_API.G_EXC_ERROR;
6557 END;
6558
6559 -- End of PRE User Hooks
6560 csi_item_instance_pvt.create_item_instance
6561 (
6562 p_api_version => p_api_version
6563 ,p_commit => fnd_api.g_false
6564 ,p_init_msg_list => p_init_msg_list
6565 ,p_validation_level => p_validation_level
6566 ,p_instance_rec => p_instance_tbl(inst_tab_row)
6567 ,p_txn_rec => p_txn_tbl(inst_tab_row)
6568 ,p_party_tbl => l_temp_party_tbl
6569 ,p_asset_tbl => l_temp_asset_tbl
6570 ,x_return_status => x_return_status
6571 ,x_msg_count => x_msg_count
6572 ,x_msg_data => x_msg_data
6573 ,p_item_attribute_tbl => l_item_attribute_tbl
6574 ,p_location_tbl => l_location_tbl
6575 ,p_generic_id_tbl => l_generic_id_tbl
6576 ,p_lookup_tbl => l_lookup_tbl
6577 ,p_ins_count_rec => l_ins_count_rec
6578 ,p_called_from_grp => fnd_api.g_true
6579 ,p_internal_party_id => l_internal_party_id
6580 );
6581 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
6582 csi_gen_utility_pvt.put_line( ' Error from CSI_ITEM_INSTANCE_PVT.. ');
6583 l_msg_index := 1;
6584 l_msg_count := x_msg_count;
6585 WHILE l_msg_count > 0 LOOP
6586 x_msg_data := FND_MSG_PUB.GET
6587 ( l_msg_index,
6588 FND_API.G_FALSE );
6589 csi_gen_utility_pvt.put_line( ' MESSAGE DATA = '||x_msg_data);
6590 l_msg_index := l_msg_index + 1;
6591 l_msg_count := l_msg_count - 1;
6592 END LOOP;
6593 l_iface_error_text := substr(x_msg_data,1,2000);
6594 RAISE SKIP_ERROR;
6595 END IF;
6596
6597 /* Commented for Bug 14684073 by RASRAJA
6598 Calling Post Customer User Hook -- added for bug 9146060 by HYONLEE
6599 BEGIN
6600
6601 IF JTF_USR_HKS.Ok_to_execute(G_PKG_NAME, l_api_name, 'A', 'C' ) THEN
6602 csi_gen_utility_pvt.put_line('Calling CSI_ITEM_INSTANCE_CUHK.Create_Item_Instance_Post ..');
6603 CSI_ITEM_INSTANCE_CUHK.Create_Item_Instance_Post
6604 (
6605 p_api_version => 1.0
6606 ,p_commit => fnd_api.g_false
6607 ,p_init_msg_list => fnd_api.g_false
6608 ,p_validation_level => fnd_api.g_valid_level_full
6609 ,p_instance_rec => p_instance_tbl(inst_tab_row)
6610 ,p_ext_attrib_values_tbl => p_ext_attrib_values_tbl
6611 ,p_party_tbl => l_temp_party_tbl
6612 ,p_account_tbl => p_account_tbl
6613 ,p_pricing_attrib_tbl => p_pricing_attrib_tbl
6614 ,p_org_assignments_tbl => p_org_assignments_tbl
6618 ,x_msg_count => x_msg_count
6615 ,p_asset_assignment_tbl => p_asset_assignment_tbl
6616 ,p_txn_rec => p_txn_tbl(inst_tab_row)
6617 ,x_return_status => x_return_status
6619 ,x_msg_data => x_msg_data
6620 );
6621 --
6622 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
6623 l_msg_index := 1;
6624 l_msg_count := x_msg_count;
6625 WHILE l_msg_count > 0 LOOP
6626 x_msg_data := FND_MSG_PUB.GET
6627 ( l_msg_index,
6628 FND_API.G_FALSE );
6629 csi_gen_utility_pvt.put_line('ERROR FROM CSI_ITEM_INSTANCE_CUHK.Create_Item_Instance_Post API ');
6630 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
6631 l_msg_index := l_msg_index + 1;
6632 l_msg_count := l_msg_count - 1;
6633 END LOOP;
6634 RAISE FND_API.G_EXC_ERROR;
6635 END IF;
6636 --
6637 END IF;
6638 EXCEPTION
6639 WHEN OTHERS THEN
6640 csi_gen_utility_pvt.put_line('ERROR FROM JTF_USR_HKS.Ok_to_execute API Create Post Customer');
6641 RAISE FND_API.G_EXC_ERROR;
6642 END; */
6643
6644
6645 -- Call the create_party_relationship API to create instance-to-party
6646 -- relationships.
6647 IF ((p_instance_tbl(inst_tab_row).instance_id IS NOT NULL) AND
6648 (p_instance_tbl(inst_tab_row).instance_id <> FND_API.G_MISS_NUM)) THEN
6649
6650 -- bug 11693286
6651
6652 --IF (p_party_tbl.count > 0) THEN
6653
6654 IF l_party_hashtbl.EXISTS(inst_tab_row) THEN
6655 l_tmp_numlist.DELETE;
6656 l_tmp_numlist := l_party_hashtbl(inst_tab_row);
6657
6658 FOR tab_row IN l_tmp_numlist.FIRST .. l_tmp_numlist.LAST
6659 LOOP
6660 l_party_index := l_tmp_numlist(tab_row);
6661
6662 -- bug 11693286 end
6663 -- Replacing l_acct_row with l_acct_index and tab_row with l_party_index
6664 -- for bug 11693286
6665
6666 --FOR tab_row IN p_party_tbl.FIRST .. p_party_tbl.LAST
6667 --LOOP
6668 IF p_party_tbl.EXISTS(l_party_index) THEN
6669 IF p_party_tbl(l_party_index).parent_tbl_index = inst_tab_row THEN
6670 p_party_tbl(l_party_index).instance_id := p_instance_tbl(inst_tab_row).instance_id;
6671 IF ((p_party_tbl(l_party_index).active_start_date IS NULL) OR
6672 (p_party_tbl(l_party_index).active_start_date = FND_API.G_MISS_DATE)) THEN
6673 p_party_tbl(l_party_index).active_start_date := p_instance_tbl(inst_tab_row).active_start_date;
6674 END IF;
6675 IF ((p_party_tbl(l_party_index).party_source_table = 'HZ_PARTIES') AND
6676 (p_party_tbl(l_party_index).party_id <> l_internal_party_id) AND
6677 (p_party_tbl(l_party_index).relationship_type_code = 'OWNER')) THEN
6678 l_party_has_correct_acct := FALSE;
6679 IF p_account_tbl.COUNT > 0 THEN
6680 FOR l_acct_row IN p_account_tbl.FIRST..p_account_tbl.LAST
6681 LOOP
6682 -- Check if the party and its accounts are mapped
6683 --Commenting for bug 7010294
6684 -- IF ((p_account_tbl(l_acct_row).parent_tbl_index = tab_row) AND
6685 IF (p_account_tbl(l_acct_row).relationship_type_code = 'OWNER') THEN
6686 l_party_has_correct_acct := TRUE;
6687 exit;
6688 END IF;
6689 END LOOP;
6690 END IF;
6691 -- Raise an exception if external parties don't have an owner account
6692 IF NOT l_party_has_correct_acct THEN
6693 l_iface_error_text := 'Invalid OWNER Party Account for Party ID '
6694 ||to_char(p_party_tbl(l_party_index).party_id);
6695 csi_gen_utility_pvt.put_line(l_iface_error_text);
6696 RAISE SKIP_ERROR;
6697 END IF;
6698 END IF; -- Party source table is HZ_PARITES and External OWNER Party check
6699 --
6700 -- Use l_temp_party_tbl which belongs to the current instance and validate the
6701 -- Instance-Party business rules.
6702 IF p_party_tbl(l_party_index).contact_flag = 'Y' THEN
6703 IF p_party_tbl(l_party_index).contact_parent_tbl_index IS NULL OR
6704 p_party_tbl(l_party_index).contact_parent_tbl_index = FND_API.G_MISS_NUM THEN
6705 l_iface_error_text := 'Contact_parent_tbl_index should be passed for contacts';
6706 csi_gen_utility_pvt.put_line(l_iface_error_text);
6707 RAISE SKIP_ERROR;
6708 END IF;
6709 --
6710 IF p_party_tbl(l_party_index).contact_parent_tbl_index = l_party_index THEN
6711 l_iface_error_text := 'Contact Party cannot be a contact of itself ';
6712 csi_gen_utility_pvt.put_line(l_iface_error_text);
6713 RAISE SKIP_ERROR;
6714 END IF;
6715 --
6716 IF NOT p_party_tbl.EXISTS((p_party_tbl(l_party_index).contact_parent_tbl_index)) THEN
6720 ELSE
6717 l_iface_error_text := 'Contact_parent_tbl_index passed is not valid ';
6718 csi_gen_utility_pvt.put_line(l_iface_error_text);
6719 RAISE SKIP_ERROR;
6721 -- Check if the contact_party and the current party belong to the same instance
6722 IF p_party_tbl((p_party_tbl(l_party_index).contact_parent_tbl_index)).parent_tbl_index <>
6723 p_party_tbl(l_party_index).parent_tbl_index THEN
6724 l_iface_error_text := 'Contact Party and the Current Party should belong to the same Instance';
6725 csi_gen_utility_pvt.put_line(l_iface_error_text);
6726 RAISE SKIP_ERROR;
6727 END IF;
6728 l_party_id := p_party_tbl((p_party_tbl(l_party_index).contact_parent_tbl_index)).party_id;
6729 l_party_src_tbl := p_party_tbl((p_party_tbl(l_party_index).contact_parent_tbl_index)).party_source_table;
6730 END IF;
6731 -- check whether the contact_party_id is related to the parent party_id
6732 IF p_party_tbl(l_party_index).party_source_table = 'HZ_PARTIES' AND
6733 l_party_src_tbl = 'HZ_PARTIES' THEN
6734 l_exists_flag := 'N';
6735 l_valid_flag := 'Y';
6736 IF l_contact_party_tbl.count > 0 THEN
6737 FOR con_pty_row in l_contact_party_tbl.FIRST .. l_contact_party_tbl.LAST LOOP
6738 IF p_party_tbl(l_party_index).party_id = l_contact_party_tbl(con_pty_row).contact_party_id AND
6739 l_party_id = l_contact_party_tbl(con_pty_row).party_id THEN
6740 l_exists_flag := 'Y';
6741 l_valid_flag := l_contact_party_tbl(con_pty_row).valid_flag;
6742 exit;
6743 END IF;
6744 END LOOP;
6745 --
6746 IF l_valid_flag <> 'Y' THEN
6747 l_iface_error_text := 'Invalid Contact Party ID '||to_char(p_party_tbl(l_party_index).party_id)
6748 ||' for party ID '||to_char(l_party_id);
6749 csi_gen_utility_pvt.put_line(l_iface_error_text);
6750 RAISE SKIP_ERROR;
6751 END IF;
6752 END IF;
6753 --
6754 IF l_exists_flag <> 'Y' THEN
6755 l_contact_party_count := l_contact_party_count + 1;
6756 l_contact_party_tbl(l_contact_party_count).contact_party_id := p_party_tbl(l_party_index).party_id;
6757 l_contact_party_tbl(l_contact_party_count).party_id := l_party_id;
6758 l_contact_party_tbl(l_contact_party_count).valid_flag := 'Y';
6759 END IF;
6760 END IF; -- Both party source tables are 'HZ_PARTIES' check
6761 END IF; -- contact_flag check
6762 --
6763 IF NOT ( Check_Inst_Party_Rules
6764 ( p_party_tbl => l_temp_party_tbl
6765 ,p_party_rec => p_party_tbl(l_party_index)
6766 ,p_start_date => p_instance_tbl(inst_tab_row).active_start_date
6767 ,p_end_date => p_instance_tbl(inst_tab_row).active_end_date
6768 ) ) THEN
6769 l_msg_index := 1;
6770 FND_MSG_PUB.Count_And_Get
6771 (p_count => x_msg_count,
6772 p_data => x_msg_data
6773 );
6774 l_msg_count := x_msg_count;
6775 WHILE l_msg_count > 0 LOOP
6776 x_msg_data := FND_MSG_PUB.GET
6777 ( l_msg_index,
6778 FND_API.G_FALSE );
6779 csi_gen_utility_pvt.put_line('message data = '||x_msg_data);
6780 l_msg_index := l_msg_index + 1;
6781 l_msg_count := l_msg_count - 1;
6782 END LOOP;
6783 l_iface_error_text := substr(x_msg_data,1,2000);
6784 RAISE SKIP_ERROR;
6785 END IF;
6786 --
6787 -- Call Private package to validate and create party relationship
6788 csi_party_relationships_pvt.create_inst_party_relationship
6789 ( p_api_version => p_api_version
6790 ,p_commit => fnd_api.g_false
6791 ,p_init_msg_list => p_init_msg_list
6792 ,p_validation_level => p_validation_level
6793 ,p_party_rec => p_party_tbl(l_party_index)
6794 ,p_txn_rec => p_txn_tbl(inst_tab_row)
6795 ,x_return_status => x_return_status
6796 ,x_msg_count => x_msg_count
6797 ,x_msg_data => x_msg_data
6798 ,p_party_source_tbl => l_party_source_tbl
6799 ,p_party_id_tbl => l_party_id_tbl
6800 ,p_contact_tbl => l_contact_tbl
6801 ,p_party_rel_type_tbl => l_party_rel_type_tbl
6802 ,p_party_count_rec => l_party_count_rec
6803 ,p_called_from_grp => fnd_api.g_true
6804 ) ;
6805
6806 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
6807 l_msg_index := 1;
6808 l_msg_count := x_msg_count;
6809 WHILE l_msg_count > 0 LOOP
6810 x_msg_data := FND_MSG_PUB.GET
6811 ( l_msg_index,
6812 FND_API.G_FALSE );
6816 END LOOP;
6813 csi_gen_utility_pvt.put_line('message data = '||x_msg_data);
6814 l_msg_index := l_msg_index + 1;
6815 l_msg_count := l_msg_count - 1;
6817 l_iface_error_text := substr(x_msg_data,1,2000);
6818 RAISE SKIP_ERROR;
6819 ELSE
6820 l_build_ctr := l_build_party_tbl.count + 1;
6821 l_build_party_tbl(l_build_ctr) := p_party_tbl(l_party_index);
6822 END IF;
6823 --
6824 -- Traverse the account tbl and create the accounts
6825 l_temp_account_tbl.DELETE;
6826 l_account_count := 0;
6827
6828 --bug 11693286 start
6829 l_key := inst_tab_row || '#' || l_party_index;
6830 IF l_party_acct_hashtbl.exists(l_key) THEN
6831 --IF p_account_tbl.count > 0 THEN
6832 l_tmp_numlist2.DELETE;
6833 l_tmp_numlist2 := l_party_acct_hashtbl(l_key);
6834 FOR l_acct_row IN l_tmp_numlist2.FIRST .. l_tmp_numlist2.LAST
6835 --FOR l_acct_row IN p_account_tbl.FIRST .. p_account_tbl.LAST
6836 LOOP
6837 l_acct_index := l_tmp_numlist2(l_acct_row);
6838 --bug 11693286 end
6839 -- Replacing l_acct_row with l_acct_index and tab_row with l_party_index
6840 -- for bug 11693286
6841 IF p_account_tbl.EXISTS(l_acct_index) THEN
6842 IF p_account_tbl(l_acct_index).parent_tbl_index = l_party_index THEN
6843 p_account_tbl(l_acct_index).instance_party_id :=
6844 p_party_tbl(l_party_index).instance_party_id;
6845 p_account_tbl(l_acct_index).call_contracts := fnd_api.g_false;
6846 p_account_tbl(l_acct_index).vld_organization_id :=
6847 p_instance_tbl(inst_tab_row).vld_organization_id;
6848 IF p_account_tbl(l_acct_index).active_start_date IS NULL OR
6849 p_account_tbl(l_acct_index).active_start_date = fnd_api.g_miss_date
6850 THEN
6851 p_account_tbl(l_acct_index).active_start_date :=
6852 p_party_tbl(l_party_index).active_start_date;
6853 END IF;
6854 --
6855 IF p_account_tbl(l_acct_index).relationship_type_code = 'OWNER' AND
6856 p_party_tbl(l_party_index).relationship_type_code <> 'OWNER' THEN
6857 l_iface_error_text := 'OWNER Account Requires OWNER PARTY ';
6858 csi_gen_utility_pvt.put_line(l_iface_error_text);
6859 RAISE SKIP_ERROR;
6860 END IF;
6861 --
6862 l_account_count := l_account_count + 1;
6863 l_temp_account_tbl(l_account_count) := p_account_tbl(l_acct_index);
6864 -- Check Party Account Business rules
6865 IF NOT ( Check_Party_Acct_Rules
6866 ( p_account_tbl => l_temp_account_tbl
6867 ,p_account_rec => p_account_tbl(l_acct_index)
6868 ,p_pty_src_table => p_party_tbl(l_party_index).party_source_table
6869 ,p_party_id => p_party_tbl(l_party_index).party_id
6870 ,p_acct_id_tbl => l_acct_id_tbl
6871 ,p_start_date => p_party_tbl(l_party_index).active_start_date
6872 ,p_end_date => p_party_tbl(l_party_index).active_end_date
6873 ) ) THEN
6874 l_msg_index := 1;
6875 FND_MSG_PUB.Count_And_Get
6876 (p_count => x_msg_count,
6877 p_data => x_msg_data
6878 );
6879 l_msg_count := x_msg_count;
6880 WHILE l_msg_count > 0 LOOP
6881 x_msg_data := FND_MSG_PUB.GET(
6882 l_msg_index,
6883 FND_API.G_FALSE );
6884 csi_gen_utility_pvt.put_line( 'message data = '||x_msg_data);
6885 l_msg_index := l_msg_index + 1;
6886 l_msg_count := l_msg_count - 1;
6887 END LOOP;
6888 l_iface_error_text := substr(x_msg_data,1,2000);
6889 RAISE SKIP_ERROR;
6890 END IF;
6891 -- Call Private package to validate and create party accounts
6892 csi_party_relationships_pvt.create_inst_party_account
6893 ( p_api_version => p_api_version
6894 ,p_commit => fnd_api.g_false
6895 ,p_init_msg_list => p_init_msg_list
6896 ,p_validation_level => p_validation_level
6897 ,p_party_account_rec => p_account_tbl(l_acct_index)
6898 ,p_txn_rec => p_txn_tbl(inst_tab_row)
6899 ,x_return_status => x_return_status
6900 ,x_msg_count => x_msg_count
6901 ,x_msg_data => x_msg_data
6905 ,p_account_count_rec => l_account_count_rec
6902 ,p_inst_party_tbl => l_inst_party_tbl
6903 ,p_acct_rel_type_tbl => l_acct_rel_type_tbl
6904 ,p_site_use_tbl => l_site_use_tbl
6906 ,p_called_from_grp => fnd_api.g_true
6907 ,p_oks_txn_inst_tbl => px_oks_txn_inst_tbl
6908 );
6909
6910 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
6911 l_msg_index := 1;
6912 l_msg_count := x_msg_count;
6913 WHILE l_msg_count > 0 LOOP
6914 x_msg_data := FND_MSG_PUB.GET(
6915 l_msg_index,
6916 FND_API.G_FALSE );
6917 csi_gen_utility_pvt.put_line( 'message data = '||x_msg_data);
6918 l_msg_index := l_msg_index + 1;
6919 l_msg_count := l_msg_count - 1;
6920 END LOOP;
6921 l_iface_error_text := substr(x_msg_data,1,2000);
6922 RAISE SKIP_ERROR;
6923 ELSE
6924 l_build_ctr := l_build_account_tbl.count + 1;
6925 l_build_account_tbl(l_build_ctr) := p_account_tbl(l_acct_index);
6926 END IF;
6927 END IF; -- If this account belongs to the current Party
6928 END IF; -- Account record exists
6929 END LOOP; -- Account Loop
6930 END IF; -- Account Tbl count
6931 END IF; -- If this party belong to the current instance
6932 END IF; -- Party record exists
6933 END LOOP; -- Party Loop
6934 END IF; -- Party Tbl count
6935 END IF; -- Instance ID exists
6936 --
6937 -- Call create_organization_unit API to create instance-
6938 -- to-organization units associations
6939 --
6940 l_temp_org_tbl.DELETE;
6941 l_org_count := 0;
6942 IF ((p_instance_tbl(inst_tab_row).instance_id IS NOT NULL) AND
6943 (p_instance_tbl(inst_tab_row).instance_id <> FND_API.G_MISS_NUM)) THEN
6944 IF (p_org_assignments_tbl.count > 0) THEN
6945 FOR tab_row IN p_org_assignments_tbl.FIRST .. p_org_assignments_tbl.LAST
6946 LOOP
6947 IF p_org_assignments_tbl.EXISTS(tab_row) THEN
6948 IF p_org_assignments_tbl(tab_row).parent_tbl_index = inst_tab_row THEN
6949 p_org_assignments_tbl(tab_row).instance_id := p_instance_tbl(inst_tab_row).instance_id;
6950 IF p_org_assignments_tbl(tab_row).active_start_date IS NULL OR
6951 p_org_assignments_tbl(tab_row).active_start_date = FND_API.G_MISS_DATE THEN
6952 p_org_assignments_tbl(tab_row).active_start_date := SYSDATE;
6953 END IF;
6954 l_org_count := l_org_count + 1;
6955 l_temp_org_tbl(l_org_count) := p_org_assignments_tbl(tab_row);
6956 IF NOT ( Check_Org_Rules
6957 ( p_org_units_tbl => l_temp_org_tbl
6958 ,p_org_units_rec => p_org_assignments_tbl(tab_row)
6959 ,p_start_date => p_instance_tbl(inst_tab_row).active_start_date
6960 ,p_end_date => p_instance_tbl(inst_tab_row).active_end_date
6961 ) ) THEN
6962 l_msg_index := 1;
6963 FND_MSG_PUB.Count_And_Get
6964 (p_count => x_msg_count,
6965 p_data => x_msg_data
6966 );
6967 l_msg_count := x_msg_count;
6968 WHILE l_msg_count > 0 LOOP
6969 x_msg_data := FND_MSG_PUB.GET
6970 ( l_msg_index,
6971 FND_API.G_FALSE );
6972 csi_gen_utility_pvt.put_line( ' MESSAGE DATA = '||x_msg_data);
6973 l_msg_index := l_msg_index + 1;
6974 l_msg_count := l_msg_count - 1;
6975 END LOOP;
6976 l_iface_error_text := substr(x_msg_data,1,2000);
6977 RAISE SKIP_ERROR;
6978 END IF;
6979 --
6980 csi_organization_unit_pvt.create_organization_unit
6981 (
6982 p_api_version => p_api_version
6983 ,p_commit => fnd_api.g_false
6984 ,p_init_msg_list => p_init_msg_list
6985 ,p_validation_level => p_validation_level
6986 ,p_org_unit_rec => p_org_assignments_tbl(tab_row)
6987 ,p_txn_rec => p_txn_tbl(inst_tab_row)
6988 ,x_return_status => x_return_status
6989 ,x_msg_count => x_msg_count
6990 ,x_msg_data => x_msg_data
6991 ,p_lookup_tbl => l_ou_lookup_tbl
6992 ,p_ou_count_rec => l_ou_count_rec
6993 ,p_ou_id_tbl => l_ou_id_tbl
6994 ,p_called_from_grp => fnd_api.g_true
6995 );
6996
6997 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
6998 csi_gen_utility_pvt.put_line( ' Error from CSI_ORGANIZATION_UNIT_PVT..');
7002 x_msg_data := FND_MSG_PUB.GET
6999 l_msg_index := 1;
7000 l_msg_count := x_msg_count;
7001 WHILE l_msg_count > 0 LOOP
7003 ( l_msg_index,
7004 FND_API.G_FALSE );
7005 csi_gen_utility_pvt.put_line( ' MESSAGE DATA = '||x_msg_data);
7006 l_msg_index := l_msg_index + 1;
7007 l_msg_count := l_msg_count - 1;
7008 END LOOP;
7009 l_iface_error_text := substr(x_msg_data,1,2000);
7010 RAISE SKIP_ERROR;
7011 ELSE
7012 l_build_ctr := l_build_org_tbl.count + 1;
7013 l_build_org_tbl(l_build_ctr) := p_org_assignments_tbl(tab_row);
7014 END IF;
7015 END IF; -- Org assignment for the current instance
7016 END IF; -- Org assignments row EXISTS
7017 END LOOP;
7018 END IF; --p_org_assignments_tbl.count > 0
7019 END IF;
7020
7021 -- Call create_pricing_attribs to associate any pricing attributes
7022 -- to the item instance
7023 IF ((p_instance_tbl(inst_tab_row).instance_id IS NOT NULL) AND
7024 (p_instance_tbl(inst_tab_row).instance_id <> FND_API.G_MISS_NUM)) THEN
7025 IF (p_pricing_attrib_tbl.count > 0) THEN
7026 FOR tab_row IN p_pricing_attrib_tbl.FIRST .. p_pricing_attrib_tbl.LAST
7027 LOOP
7028 IF p_pricing_attrib_tbl.EXISTS(tab_row) THEN
7029 IF p_pricing_attrib_tbl(tab_row).parent_tbl_index = inst_tab_row THEN
7030 p_pricing_attrib_tbl(tab_row).instance_id := p_instance_tbl(inst_tab_row).instance_id;
7031 IF p_pricing_attrib_tbl(tab_row).active_start_date IS NULL OR
7032 p_pricing_attrib_tbl(tab_row).active_start_date = FND_API.G_MISS_DATE THEN
7033 p_pricing_attrib_tbl(tab_row).active_start_date := SYSDATE;
7034 END IF;
7035 --
7036 IF NOT ( Check_Pricing_Rules
7037 ( p_pricing_rec => p_pricing_attrib_tbl(tab_row)
7038 ,p_start_date => p_instance_tbl(inst_tab_row).active_start_date
7039 ,p_end_date => p_instance_tbl(inst_tab_row).active_end_date
7040 ) ) THEN
7041 l_msg_index := 1;
7042 FND_MSG_PUB.Count_And_Get
7043 (p_count => x_msg_count,
7044 p_data => x_msg_data
7045 );
7046 l_msg_count := x_msg_count;
7047 WHILE l_msg_count > 0 LOOP
7048 x_msg_data := FND_MSG_PUB.GET
7049 ( l_msg_index,
7050 FND_API.G_FALSE );
7051 csi_gen_utility_pvt.put_line( ' MESSAGE DATA = '||x_msg_data);
7052 l_msg_index := l_msg_index + 1;
7053 l_msg_count := l_msg_count - 1;
7054 END LOOP;
7055 l_iface_error_text := substr(x_msg_data,1,2000);
7056 RAISE SKIP_ERROR;
7057 END IF;
7058 --
7059 csi_pricing_attribs_pvt.create_pricing_attribs
7060 (
7061 p_api_version => p_api_version
7062 ,p_commit => fnd_api.g_false
7063 ,p_init_msg_list => p_init_msg_list
7064 ,p_validation_level => p_validation_level
7065 ,p_pricing_attribs_rec => p_pricing_attrib_tbl(tab_row)
7066 ,p_txn_rec => p_txn_tbl(inst_tab_row)
7067 ,x_return_status => x_return_status
7068 ,x_msg_count => x_msg_count
7069 ,x_msg_data => x_msg_data
7070 ,p_called_from_grp => fnd_api.g_true
7071 );
7072
7073 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
7074 csi_gen_utility_pvt.put_line( ' Error from CSI_PRICING_ATTRIBS_PUB..');
7075 l_msg_index := 1;
7076 l_msg_count := x_msg_count;
7077 WHILE l_msg_count > 0 LOOP
7078 x_msg_data := FND_MSG_PUB.GET
7079 ( l_msg_index,
7080 FND_API.G_FALSE );
7081 csi_gen_utility_pvt.put_line( ' MESSAGE DATA = '||x_msg_data);
7082 l_msg_index := l_msg_index + 1;
7083 l_msg_count := l_msg_count - 1;
7084 END LOOP;
7085 l_iface_error_text := substr(x_msg_data,1,2000);
7086 RAISE SKIP_ERROR;
7087 ELSE
7088 l_build_ctr := l_build_pricing_tbl.count + 1;
7089 l_build_pricing_tbl(l_build_ctr) := p_pricing_attrib_tbl(tab_row);
7090 END IF;
7091 END IF; -- Pricing for the current instance
7092 END IF; -- Pricing row EXISTS.
7093 END LOOP;
7094 END IF; --p_pricing_attrib_tbl.count > 0
7095 END IF;
7096
7097 -- Call create_extended_attribs to associate any extended attributes
7098 -- to the item instance
7099 l_temp_ext_tbl.DELETE;
7100 l_ext_count := 0;
7101 IF ((p_instance_tbl(inst_tab_row).instance_id IS NOT NULL) AND
7105 LOOP
7102 (p_instance_tbl(inst_tab_row).instance_id <> FND_API.G_MISS_NUM)) THEN
7103 IF (p_ext_attrib_values_tbl.count > 0) THEN
7104 FOR tab_row IN p_ext_attrib_values_tbl.FIRST .. p_ext_attrib_values_tbl.LAST
7106 IF p_ext_attrib_values_tbl.EXISTS(tab_row) THEN
7107 IF p_ext_attrib_values_tbl(tab_row).parent_tbl_index = inst_tab_row THEN
7108 p_ext_attrib_values_tbl(tab_row).instance_id := p_instance_tbl(inst_tab_row).instance_id;
7109 IF p_ext_attrib_values_tbl(tab_row).active_start_date IS NULL OR
7110 p_ext_attrib_values_tbl(tab_row).active_start_date = FND_API.G_MISS_DATE THEN
7111 p_ext_attrib_values_tbl(tab_row).active_start_date := SYSDATE;
7112 END IF;
7113 --
7114 l_ext_count_rec.ext_count := l_ext_count_rec.ext_count + 1;
7115 l_ext_id_tbl(l_ext_count_rec.ext_count).instance_id := p_instance_tbl(inst_tab_row).instance_id;
7116 l_ext_id_tbl(l_ext_count_rec.ext_count).inv_item_id := p_instance_tbl(inst_tab_row).inventory_item_id;
7117 l_ext_id_tbl(l_ext_count_rec.ext_count).inv_mast_org_id := p_instance_tbl(inst_tab_row).inv_master_organization_id;
7118 l_ext_id_tbl(l_ext_count_rec.ext_count).valid_flag := 'Y';
7119 --
7120 l_ext_count := l_ext_count + 1;
7121 l_temp_ext_tbl(l_ext_count) := p_ext_attrib_values_tbl(tab_row);
7122 --
7123 IF NOT ( Check_Ext_Rules
7124 ( p_ext_tbl => l_temp_ext_tbl
7125 ,p_ext_rec => p_ext_attrib_values_tbl(tab_row)
7126 ,p_start_date => p_instance_tbl(inst_tab_row).active_start_date
7127 ,p_end_date => p_instance_tbl(inst_tab_row).active_end_date
7128 ) ) THEN
7129 l_msg_index := 1;
7130 FND_MSG_PUB.Count_And_Get
7131 (p_count => x_msg_count,
7132 p_data => x_msg_data
7133 );
7134 l_msg_count := x_msg_count;
7135 WHILE l_msg_count > 0 LOOP
7136 x_msg_data := FND_MSG_PUB.GET
7137 ( l_msg_index,
7138 FND_API.G_FALSE );
7139 csi_gen_utility_pvt.put_line( ' MESSAGE DATA = '||x_msg_data);
7140 l_msg_index := l_msg_index + 1;
7141 l_msg_count := l_msg_count - 1;
7142 END LOOP;
7143 l_iface_error_text := substr(x_msg_data,1,2000);
7144 RAISE SKIP_ERROR;
7145 END IF;
7146 --
7147 csi_item_instance_pvt.create_extended_attrib_values
7148 (
7149 p_api_version => p_api_version
7150 ,p_commit => fnd_api.g_false
7151 ,p_init_msg_list => p_init_msg_list
7152 ,p_validation_level => p_validation_level
7153 ,p_ext_attrib_rec => p_ext_attrib_values_tbl(tab_row)
7154 ,p_txn_rec => p_txn_tbl(inst_tab_row)
7155 ,x_return_status => x_return_status
7156 ,x_msg_count => x_msg_count
7157 ,x_msg_data => x_msg_data
7158 ,p_ext_id_tbl => l_ext_id_tbl
7159 ,p_ext_count_rec => l_ext_count_rec
7160 ,p_ext_attr_tbl => l_ext_attr_tbl
7161 ,p_ext_cat_tbl => l_ext_cat_tbl
7162 ,p_called_from_grp => fnd_api.g_true
7163 );
7164
7165 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
7166 csi_gen_utility_pvt.put_line( ' Error from CSI_EXTENDED_ATTRIBS_PUB..');
7167 l_msg_index := 1;
7168 l_msg_count := x_msg_count;
7169 WHILE l_msg_count > 0 LOOP
7170 x_msg_data := FND_MSG_PUB.GET
7171 ( l_msg_index,
7172 FND_API.G_FALSE );
7173 csi_gen_utility_pvt.put_line( ' MESSAGE DATA = '||x_msg_data);
7174 l_msg_index := l_msg_index + 1;
7175 l_msg_count := l_msg_count - 1;
7176 END LOOP;
7177 l_iface_error_text := substr(x_msg_data,1,2000);
7178 RAISE SKIP_ERROR;
7179 ELSE
7180 l_build_ctr := l_build_ext_tbl.count + 1;
7181 l_build_ext_tbl(l_build_ctr) := p_ext_attrib_values_tbl(tab_row);
7182 END IF;
7183 END IF; -- Ext attribs for the current instance
7184 END IF; -- Ext attribs EXISTS.
7185 END LOOP;
7186 END IF; --p_ext_attrib_values_tbl.count > 0
7187 END IF;
7188
7189 -- Call create_asset_assignments to associate any assets associated
7190 -- to the item instance
7191 IF ((p_instance_tbl(inst_tab_row).instance_id IS NOT NULL) AND
7192 (p_instance_tbl(inst_tab_row).instance_id <> FND_API.G_MISS_NUM)) THEN
7193 IF (p_asset_assignment_tbl.count > 0) THEN
7194 FOR tab_row IN p_asset_assignment_tbl.FIRST .. p_asset_assignment_tbl.LAST
7195 LOOP
7199 IF p_asset_assignment_tbl(tab_row).active_start_date IS NULL OR
7196 IF p_asset_assignment_tbl.EXISTS(tab_row) THEN
7197 IF p_asset_assignment_tbl(tab_row).parent_tbl_index = inst_tab_row THEN
7198 p_asset_assignment_tbl(tab_row).instance_id := p_instance_tbl(inst_tab_row).instance_id;
7200 p_asset_assignment_tbl(tab_row).active_start_date = FND_API.G_MISS_DATE THEN
7201 p_asset_assignment_tbl(tab_row).active_start_date := SYSDATE;
7202 END IF;
7203 --
7204 IF NOT ( Check_Asset_Rules
7205 ( p_asset_rec => p_asset_assignment_tbl(tab_row)
7206 ,p_start_date => p_instance_tbl(inst_tab_row).active_start_date
7207 ,p_end_date => p_instance_tbl(inst_tab_row).active_end_date
7208 ) ) THEN
7209 l_msg_index := 1;
7210 FND_MSG_PUB.Count_And_Get
7211 (p_count => x_msg_count,
7212 p_data => x_msg_data
7213 );
7214 l_msg_count := x_msg_count;
7215 WHILE l_msg_count > 0 LOOP
7216 x_msg_data := FND_MSG_PUB.GET
7217 ( l_msg_index,
7218 FND_API.G_FALSE );
7219 csi_gen_utility_pvt.put_line( ' MESSAGE DATA = '||x_msg_data);
7220 l_msg_index := l_msg_index + 1;
7221 l_msg_count := l_msg_count - 1;
7222 END LOOP;
7223 l_iface_error_text := substr(x_msg_data,1,2000);
7224 RAISE SKIP_ERROR;
7225 END IF;
7226 --
7227 -- Asset Open Interface should have this validation as False
7228 --
7229 -- Since the item instance is not yet created, the set_fa_sync_flag routine
7230 -- that looks at csi_item_instances cannot be used directly. Hence calling the
7231 -- same with the location_id.
7232 --
7233 IF p_asset_assignment_tbl(tab_row).fa_sync_validation_reqd = fnd_api.g_true THEN
7234 IF p_instance_tbl(inst_tab_row).location_type_code = 'HZ_PARTY_SITES' THEN
7235 Begin
7236 select location_id
7237 into l_location_id
7238 from HZ_PARTY_SITES
7239 where party_site_id = p_instance_tbl(inst_tab_row).location_id;
7240 Exception
7241 when no_data_found then
7242 l_location_id := null;
7243 End;
7244 ELSE
7245 l_location_id := p_instance_tbl(inst_tab_row).location_id;
7246 END IF;
7247 -- Pass this Location ID to Set_Sync_Flag and validate against CSI_A_LOCATIONS
7248 IF l_location_id IS NOT NULL THEN
7249 csi_asset_pvt.set_fa_sync_flag (
7250 px_instance_asset_rec => p_asset_assignment_tbl(tab_row),
7251 p_location_id => l_location_id,
7252 x_return_status => x_return_status,
7253 x_error_msg => x_msg_data);
7254 END IF;
7255 --
7256 -- The above routine just tries to set the FA Sync Flag. It doesn't retun any error
7257 END IF; -- Validation_reqd check
7258 --
7259 csi_asset_pvt.create_instance_asset
7260 (
7261 p_api_version => p_api_version
7262 ,p_commit => fnd_api.g_false
7263 ,p_init_msg_list => p_init_msg_list
7264 ,p_instance_asset_rec => p_asset_assignment_tbl(tab_row)
7265 ,p_txn_rec => p_txn_tbl(inst_tab_row)
7266 ,x_return_status => x_return_status
7267 ,x_msg_count => x_msg_count
7268 ,x_msg_data => x_msg_data
7269 ,p_lookup_tbl => l_asset_lookup_tbl
7270 ,p_asset_count_rec => l_asset_count_rec
7271 ,p_asset_id_tbl => l_asset_id_tbl
7272 ,p_asset_loc_tbl => l_asset_loc_tbl
7273 ,p_called_from_grp => fnd_api.g_true
7274 );
7275
7276 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
7277 csi_gen_utility_pvt.put_line( ' Error from CSI_ASSET_PVT..');
7278 l_msg_index := 1;
7279 l_msg_count := x_msg_count;
7280 WHILE l_msg_count > 0 LOOP
7281 x_msg_data := FND_MSG_PUB.GET
7282 ( l_msg_index,
7283 FND_API.G_FALSE );
7284 csi_gen_utility_pvt.put_line( ' MESSAGE DATA = '||x_msg_data);
7285 l_msg_index := l_msg_index + 1;
7286 l_msg_count := l_msg_count - 1;
7287 END LOOP;
7288 l_iface_error_text := substr(x_msg_data,1,2000);
7289 RAISE SKIP_ERROR;
7290 ELSE
7291 l_build_ctr := l_build_asset_tbl.count + 1;
7295 END IF; -- Asset row EXISTS.
7292 l_build_asset_tbl(l_build_ctr) := p_asset_assignment_tbl(tab_row);
7293 END IF;
7294 END IF; -- Asset for the current instance
7296 END LOOP;
7297 END IF; --p_asset_assignment_tbl.count > 0
7298 END IF;
7299 --
7300 -- Version Label tbl will be directly buil from Instance tbl
7301 --
7302 -- Call to contracts will be made after Bulk Insert
7303 --
7304 -- Update the Interface Table with PROCESSED status.
7305 p_instance_tbl(inst_tab_row).processed_flag := 'P'; -- Processed
7306 l_grp_error_tbl(inst_tab_row).process_status := 'S'; -- Success
7307 l_grp_error_tbl(inst_tab_row).error_message := NULL;
7308 l_error_array(inst_tab_row) := NULL;
7309 l_status_array(inst_tab_row) := 'P';
7310 l_inst_id_array(inst_tab_row) := p_instance_tbl(inst_tab_row).instance_id;
7311
7312 --
7313 l_bulk_inst_count := l_bulk_inst_count + 1;
7314 l_bulk_inst_tbl(l_bulk_inst_count) := p_instance_tbl(inst_tab_row);
7315 IF p_txn_tbl(inst_tab_row).transaction_id IS NULL OR
7316 p_txn_tbl(inst_tab_row).transaction_id = FND_API.G_MISS_NUM THEN
7317 select CSI_TRANSACTIONS_S.nextval
7318 into p_txn_tbl(inst_tab_row).transaction_id
7319 from sys.dual;
7320 END IF;
7321 --
7322 l_bulk_txn_tbl(l_bulk_inst_count) := p_txn_tbl(inst_tab_row);
7323 --
7324 select CSI_I_VERSION_LABELS_S.nextval
7325 into l_bulk_version_label_tbl(l_bulk_inst_count).version_label_id
7326 from sys.dual;
7327 --
7328 l_bulk_version_label_tbl(l_bulk_inst_count).version_label := p_instance_tbl(inst_tab_row).version_label;
7329 l_bulk_version_label_tbl(l_bulk_inst_count).active_start_date := p_instance_tbl(inst_tab_row).active_start_date;
7330 l_bulk_version_label_tbl(l_bulk_inst_count).date_time_stamp := SYSDATE;
7331 l_bulk_version_label_tbl(l_bulk_inst_count).instance_id := p_instance_tbl(inst_tab_row).instance_id;
7332 l_bulk_version_label_tbl(l_bulk_inst_count).description := p_instance_tbl(inst_tab_row).version_label_description;
7333 --
7334 Build_Instance_History
7335 ( p_inst_hist_tbl => l_bulk_inst_hist_tbl
7336 ,p_inst_rec => l_bulk_inst_tbl(l_bulk_inst_count)
7337 ,p_txn_id => l_bulk_txn_tbl(l_bulk_inst_count).transaction_id
7338 );
7339 --
7340 Build_Ver_Label_History
7341 (
7342 p_ver_label_history_tbl => l_bulk_ver_label_hist_tbl
7343 ,p_version_label_rec => l_bulk_version_label_tbl(l_bulk_inst_count)
7344 ,p_txn_id => l_bulk_txn_tbl(l_bulk_inst_count).transaction_id
7345 );
7346 --
7347 IF l_build_party_tbl.count > 0 THEN
7348 FOR pty_row in l_build_party_tbl.FIRST .. l_build_party_tbl.LAST LOOP
7349 IF l_build_party_tbl(pty_row).contact_flag = 'Y' THEN
7350 l_build_party_tbl(pty_row).contact_ip_id :=
7351 p_party_tbl(l_build_party_tbl(pty_row).contact_parent_tbl_index).instance_party_id;
7352 FOR src_pty in p_party_tbl.FIRST .. p_party_tbl.LAST LOOP
7353 IF p_party_tbl(src_pty).instance_party_id = l_build_party_tbl(pty_row).instance_party_id
7354 THEN
7355 p_party_tbl(src_pty).contact_ip_id := l_build_party_tbl(pty_row).contact_ip_id;
7356 EXIT;
7357 END IF;
7358 END LOOP;
7359 END IF;
7360 l_bulk_pty_count := l_bulk_pty_count + 1;
7361 l_bulk_party_tbl(l_bulk_pty_count) := l_build_party_tbl(pty_row);
7362 --
7363 IF l_build_party_tbl(pty_row).relationship_type_code = 'OWNER' THEN
7364 l_owner_count := l_owner_count + 1;
7365 l_owner_pty_acct_tbl(l_owner_count).instance_id := l_build_party_tbl(pty_row).instance_id;
7366 l_owner_pty_acct_tbl(l_owner_count).party_source_table :=
7367 l_build_party_tbl(pty_row).party_source_table;
7368 l_owner_pty_acct_tbl(l_owner_count).party_id := l_build_party_tbl(pty_row).party_id;
7369 l_owner_pty_acct_tbl(l_owner_count).account_id := NULL;
7370 l_owner_pty_acct_tbl(l_owner_count).vld_organization_id :=
7371 p_instance_tbl(inst_tab_row).vld_organization_id;
7372 END IF;
7373 --
7374 Build_Party_History
7375 ( p_party_hist_tbl => l_bulk_party_hist_tbl
7376 ,p_party_rec => l_bulk_party_tbl(l_bulk_pty_count)
7377 ,p_txn_id => l_bulk_txn_tbl(l_bulk_inst_count).transaction_id
7378 );
7379 END LOOP;
7380 END IF;
7381 --
7382 IF l_build_account_tbl.count > 0 THEN
7383 FOR acct_row in l_build_account_tbl.FIRST .. l_build_account_tbl.LAST LOOP
7384 l_bulk_acct_count := l_bulk_acct_count + 1;
7385 l_bulk_acct_tbl(l_bulk_acct_count) := l_build_account_tbl(acct_row);
7386 --
7387 IF l_build_account_tbl(acct_row).relationship_type_code = 'OWNER' THEN
7388 l_owner_pty_acct_tbl(l_owner_count).account_id :=
7389 l_build_account_tbl(acct_row).party_account_id;
7390 END IF;
7391 --
7392 Build_Account_History
7393 ( p_acct_hist_tbl => l_bulk_acct_hist_tbl
7394 ,p_acct_rec => l_bulk_acct_tbl(l_bulk_acct_count)
7395 ,p_txn_id => l_bulk_txn_tbl(l_bulk_inst_count).transaction_id
7396 );
7397 END LOOP; -- Account Loop
7398 END IF; -- Account_tbl count check
7399 --
7400 IF l_build_org_tbl.count > 0 THEN
7404 --
7401 FOR org_row in l_build_org_tbl.FIRST .. l_build_org_tbl.LAST LOOP
7402 l_bulk_org_count := l_bulk_org_count + 1;
7403 l_bulk_org_units_tbl(l_bulk_org_count) := l_build_org_tbl(org_row);
7405 Build_Org_History
7406 ( p_org_hist_tbl => l_bulk_org_units_hist_tbl
7407 ,p_org_rec => l_bulk_org_units_tbl(l_bulk_org_count)
7408 ,p_txn_id => l_bulk_txn_tbl(l_bulk_inst_count).transaction_id
7409 );
7410 END LOOP;
7411 END IF;
7412 --
7413 IF l_build_pricing_tbl.count > 0 THEN
7414 FOR pricing_row in l_build_pricing_tbl.FIRST .. l_build_pricing_tbl.LAST LOOP
7415 l_bulk_pricing_count := l_bulk_pricing_count + 1;
7416 l_bulk_pricing_tbl(l_bulk_pricing_count) := l_build_pricing_tbl(pricing_row);
7417 --
7418 Build_Pricing_History
7419 (
7420 p_pricing_hist_tbl => l_bulk_pricing_hist_tbl
7421 ,p_pricing_rec => l_bulk_pricing_tbl(l_bulk_pricing_count)
7422 ,p_txn_id => l_bulk_txn_tbl(l_bulk_inst_count).transaction_id
7423 );
7424 END LOOP;
7425 END IF;
7426 --
7427 IF l_build_ext_tbl.count > 0 THEN
7428 FOR ext_row in l_build_ext_tbl.FIRST .. l_build_ext_tbl.LAST LOOP
7429 l_bulk_ext_count := l_bulk_ext_count + 1;
7430 l_bulk_ext_attrib_values_tbl(l_bulk_ext_count) := l_build_ext_tbl(ext_row);
7431 -- Build History
7432 Build_Ext_Attr_History
7433 ( p_ext_attr_hist_tbl => l_bulk_ext_attrib_val_hist_tbl
7434 ,p_ext_attr_rec => l_bulk_ext_attrib_values_tbl(l_bulk_ext_count)
7435 ,p_txn_id => l_bulk_txn_tbl(l_bulk_inst_count).transaction_id
7436 );
7437 END LOOP;
7438 END IF;
7439 --
7440 IF l_build_asset_tbl.count > 0 THEN
7441 FOR asset_row in l_build_asset_tbl.FIRST .. l_build_asset_tbl.LAST LOOP
7442 l_bulk_asset_count := l_bulk_asset_count + 1;
7443 l_bulk_asset_tbl(l_bulk_asset_count) := l_build_asset_tbl(asset_row);
7444 -- Build History
7445 Build_Asset_History
7446 ( p_asset_hist_tbl => l_bulk_asset_hist_tbl
7447 ,p_asset_rec => l_bulk_asset_tbl(l_bulk_asset_count)
7448 ,p_txn_id => l_bulk_txn_tbl(l_bulk_inst_count).transaction_id
7449 );
7450 END LOOP;
7451 END IF;
7452
7453 /* -- Commented for Bug 14684073 by RASRAJA
7454 Calling Post Vertical User Hook
7455 BEGIN
7456
7457 IF JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'V' ) THEN
7458 csi_gen_utility_pvt.put_line('Calling CSI_ITEM_INSTANCE_VUHK.Create_Item_Instance_Post ..');
7459 CSI_ITEM_INSTANCE_VUHK.Create_Item_Instance_Post
7460 (
7461 p_api_version => 1.0
7462 ,p_commit => fnd_api.g_false
7463 ,p_init_msg_list => fnd_api.g_false
7464 ,p_validation_level => fnd_api.g_valid_level_full
7465 ,p_instance_rec => p_instance_tbl(inst_tab_row)
7466 ,p_ext_attrib_values_tbl => p_ext_attrib_values_tbl
7467 ,p_party_tbl => l_temp_party_tbl
7468 ,p_account_tbl => p_account_tbl
7469 ,p_pricing_attrib_tbl => p_pricing_attrib_tbl
7470 ,p_org_assignments_tbl => p_org_assignments_tbl
7471 ,p_asset_assignment_tbl => p_asset_assignment_tbl
7472 ,p_txn_rec => p_txn_tbl(inst_tab_row)
7473 ,x_return_status => x_return_status
7474 ,x_msg_count => x_msg_count
7475 ,x_msg_data => x_msg_data
7476 );
7477
7478 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
7479 l_msg_index := 1;
7480 l_msg_count := x_msg_count;
7481 WHILE l_msg_count > 0 LOOP
7482 x_msg_data := FND_MSG_PUB.GET
7483 ( l_msg_index,
7484 FND_API.G_FALSE );
7485 csi_gen_utility_pvt.put_line('ERROR FROM CSI_ITEM_INSTANCE_VUHK.Create_Item_Instance_Post API ');
7486 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
7487 l_msg_index := l_msg_index + 1;
7488 l_msg_count := l_msg_count - 1;
7489 END LOOP;
7490 RAISE FND_API.G_EXC_ERROR;
7491 END IF;
7492 --
7493 END IF;
7494 EXCEPTION
7495 WHEN OTHERS THEN
7496 csi_gen_utility_pvt.put_line('ERROR FROM JTF_USR_HKS.Ok_to_execute API Create Post Vertical');
7497 RAISE FND_API.G_EXC_ERROR;
7498 END; */
7499 -- End of POST User Hooks
7500
7501 EXCEPTION
7502 WHEN PROCESS_NEXT THEN
7503 NULL;
7504 WHEN SKIP_ERROR THEN
7505 ROLLBACK TO create_item_instance;
7506 p_instance_tbl(inst_tab_row).processed_flag := 'E'; -- Error
7507 l_grp_error_tbl(inst_tab_row).process_status := 'E';
7508 l_grp_error_tbl(inst_tab_row).error_message := l_iface_error_text;
7509 l_error_array(inst_tab_row) := l_iface_error_text;
7510 l_status_array(inst_tab_row) := 'E';
7511 l_inst_id_array(inst_tab_row) := NULL;
7512 END;
7513 END LOOP; --instance_tbl
7514 --
7515 l_temp_party_tbl.DELETE;
7516 l_temp_account_tbl.DELETE;
7517 l_temp_org_tbl.DELETE;
7518 l_temp_asset_tbl.DELETE;
7519 l_temp_ext_tbl.DELETE;
7523 -- x_bulk_txn_tbl contains the transactions that need to be inserted in CSI_TRANSACTIONS
7520 x_return_status := FND_API.G_RET_STS_SUCCESS;
7521 --
7522 -- l_txn_exists_tbl contains those transactions exist in CSI_TRANSACTIONS
7524 IF l_bulk_inst_tbl.count > 0 THEN
7525 -- Loop thru' the l_bulk_txn_tbl and eliminate duplicate txn id's.
7526 FOR j in l_bulk_txn_tbl.FIRST .. l_bulk_txn_tbl.LAST LOOP
7527 l_exists := 'N';
7528 IF l_txn_exists_tbl.count > 0 THEN
7529 FOR m in l_txn_exists_tbl.FIRST .. l_txn_exists_tbl.LAST LOOP
7530 IF l_txn_exists_tbl(m) = l_bulk_txn_tbl(j).transaction_id THEN
7531 l_exists := 'Y';
7532 exit;
7533 END IF;
7534 END LOOP;
7535 END IF;
7536 --
7537 IF l_exists <> 'Y' THEN
7538 IF x_bulk_txn_tbl.count > 0 THEN
7539 FOR k in x_bulk_txn_tbl.FIRST .. x_bulk_txn_tbl.LAST LOOP
7540 IF l_bulk_txn_tbl(j).transaction_id = x_bulk_txn_tbl(k).transaction_id THEN
7541 l_exists := 'Y';
7542 exit;
7543 END IF;
7544 END LOOP;
7545 END IF;
7546 END IF;
7547 --
7548 IF l_exists <> 'Y' THEN
7549 csi_gen_utility_pvt.put_line('Checking against csi_transactions..');
7550 Begin
7551 select 'Y'
7552 into l_exists
7553 from csi_transactions
7554 where transaction_id = l_bulk_txn_tbl(j).transaction_id;
7555 --
7556 l_txn_ctr := l_txn_exists_tbl.count;
7557 l_txn_ctr := l_txn_ctr + 1;
7558 l_txn_exists_tbl(l_txn_ctr) := l_bulk_txn_tbl(j).transaction_id;
7559 Exception
7560 when no_data_found then
7561 l_exists := 'N';
7562 End;
7563 --
7564 IF l_exists <> 'Y' THEN
7565 l_txn_ctr := x_bulk_txn_tbl.count;
7566 l_txn_ctr := l_txn_ctr + 1;
7567 x_bulk_txn_tbl(l_txn_ctr) := l_bulk_txn_tbl(j);
7568 END IF;
7569 END IF;
7570 END LOOP;
7571 --
7572 --
7573 csi_gen_utility_pvt.put_line('Transaction Tbl count before Bulk Insert is '
7574 ||to_char(x_bulk_txn_tbl.count));
7575 Bulk_Insert
7576 ( p_inst_tbl => l_bulk_inst_tbl
7577 ,p_txn_tbl => x_bulk_txn_tbl
7578 ,p_inst_hist_tbl => l_bulk_inst_hist_tbl
7579 ,p_version_label_tbl => l_bulk_version_label_tbl
7580 ,p_ver_label_hist_tbl => l_bulk_ver_label_hist_tbl
7581 ,p_party_tbl => l_bulk_party_tbl
7582 ,p_party_hist_tbl => l_bulk_party_hist_tbl
7583 ,p_account_tbl => l_bulk_acct_tbl
7584 ,p_acct_hist_tbl => l_bulk_acct_hist_tbl
7585 ,p_owner_pty_acct_tbl => l_owner_pty_acct_tbl
7586 ,p_org_units_tbl => l_bulk_org_units_tbl
7587 ,p_org_units_hist_tbl => l_bulk_org_units_hist_tbl
7588 ,p_pricing_tbl => l_bulk_pricing_tbl
7589 ,p_pricing_hist_tbl => l_bulk_pricing_hist_tbl
7590 ,p_ext_attr_values_tbl => l_bulk_ext_attrib_values_tbl
7591 ,p_ext_attr_val_hist_tbl => l_bulk_ext_attrib_val_hist_tbl
7592 ,p_asset_tbl => l_bulk_asset_tbl
7593 ,p_asset_hist_tbl => l_bulk_asset_hist_tbl
7594 ,x_return_status => x_return_status
7595 );
7596 --
7597 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
7598 csi_gen_utility_pvt.put_line('Error from Bulk Insert '||substr(sqlerrm,1,200));
7599 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7600 END IF;
7601 --
7602 csi_gen_utility_pvt.put_line('End of Bulk Insert...');
7603
7604 -- Bug 14684073 by RASRAJA
7605 FOR inst_tab_row IN l_bulk_inst_tbl.FIRST .. l_bulk_inst_tbl.LAST
7606 LOOP
7607 -- Calling Post Customer User Hook -- added for bug 9146060 by HYONLEE
7608 BEGIN
7609
7610 IF JTF_USR_HKS.Ok_to_execute(G_PKG_NAME, l_api_name, 'A', 'C' ) THEN
7611 csi_gen_utility_pvt.put_line('Calling CSI_ITEM_INSTANCE_CUHK.Create_Item_Instance_Post ..');
7612 CSI_ITEM_INSTANCE_CUHK.Create_Item_Instance_Post
7613 (
7614 p_api_version => 1.0
7615 ,p_commit => fnd_api.g_false
7616 ,p_init_msg_list => fnd_api.g_false
7617 ,p_validation_level => fnd_api.g_valid_level_full
7618 ,p_instance_rec => l_bulk_inst_tbl(inst_tab_row)
7619 ,p_ext_attrib_values_tbl => p_ext_attrib_values_tbl
7620 ,p_party_tbl => l_temp_party_tbl
7621 ,p_account_tbl => p_account_tbl
7622 ,p_pricing_attrib_tbl => p_pricing_attrib_tbl
7623 ,p_org_assignments_tbl => p_org_assignments_tbl
7624 ,p_asset_assignment_tbl => p_asset_assignment_tbl
7625 ,p_txn_rec => p_txn_tbl(inst_tab_row)
7626 ,x_return_status => x_return_status
7627 ,x_msg_count => x_msg_count
7628 ,x_msg_data => x_msg_data
7629 );
7630 --
7631 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
7632 l_msg_index := 1;
7633 l_msg_count := x_msg_count;
7634 WHILE l_msg_count > 0 LOOP
7635 x_msg_data := FND_MSG_PUB.GET
7636 ( l_msg_index,
7637 FND_API.G_FALSE );
7638 csi_gen_utility_pvt.put_line('ERROR FROM CSI_ITEM_INSTANCE_CUHK.Create_Item_Instance_Post API ');
7639 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
7643 RAISE FND_API.G_EXC_ERROR;
7640 l_msg_index := l_msg_index + 1;
7641 l_msg_count := l_msg_count - 1;
7642 END LOOP;
7644 END IF;
7645 --
7646 END IF;
7647 EXCEPTION
7648 WHEN OTHERS THEN
7649 csi_gen_utility_pvt.put_line('ERROR FROM JTF_USR_HKS.Ok_to_execute API Create Post Customer');
7650 RAISE FND_API.G_EXC_ERROR;
7651 END;
7652 -- Calling Post Vertical User Hook
7653 BEGIN
7654 IF JTF_USR_HKS.Ok_to_execute( G_PKG_NAME, l_api_name, 'A', 'V' ) THEN
7655 csi_gen_utility_pvt.put_line('Calling CSI_ITEM_INSTANCE_VUHK.Create_Item_Instance_Post ..');
7656 CSI_ITEM_INSTANCE_VUHK.Create_Item_Instance_Post
7657 (
7658 p_api_version => 1.0
7659 ,p_commit => fnd_api.g_false
7660 ,p_init_msg_list => fnd_api.g_false
7661 ,p_validation_level => fnd_api.g_valid_level_full
7662 ,p_instance_rec => l_bulk_inst_tbl(inst_tab_row)
7663 ,p_ext_attrib_values_tbl => p_ext_attrib_values_tbl
7664 ,p_party_tbl => l_temp_party_tbl
7665 ,p_account_tbl => p_account_tbl
7666 ,p_pricing_attrib_tbl => p_pricing_attrib_tbl
7667 ,p_org_assignments_tbl => p_org_assignments_tbl
7668 ,p_asset_assignment_tbl => p_asset_assignment_tbl
7669 ,p_txn_rec => p_txn_tbl(inst_tab_row)
7670 ,x_return_status => x_return_status
7671 ,x_msg_count => x_msg_count
7672 ,x_msg_data => x_msg_data
7673 );
7674
7675 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
7676 l_msg_index := 1;
7677 l_msg_count := x_msg_count;
7678 WHILE l_msg_count > 0 LOOP
7679 x_msg_data := FND_MSG_PUB.GET
7680 ( l_msg_index,
7681 FND_API.G_FALSE );
7682 csi_gen_utility_pvt.put_line('ERROR FROM CSI_ITEM_INSTANCE_VUHK.Create_Item_Instance_Post API ');
7683 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
7684 l_msg_index := l_msg_index + 1;
7685 l_msg_count := l_msg_count - 1;
7686 END LOOP;
7687 RAISE FND_API.G_EXC_ERROR;
7688 END IF;
7689 --
7690 END IF;
7691 EXCEPTION
7692 WHEN OTHERS THEN
7693 csi_gen_utility_pvt.put_line('ERROR FROM JTF_USR_HKS.Ok_to_execute API Create Post Vertical');
7694 RAISE FND_API.G_EXC_ERROR;
7695 END;
7696 -- End of POST User Hooks
7697 END LOOP;
7698 --End Bug 14684073 by RASRAJA
7699 -- Call Counters and Instantiate EAM Object
7700 FOR inst_row in p_instance_tbl.FIRST .. p_instance_tbl.LAST LOOP
7701 IF p_instance_tbl(inst_row).processed_flag = 'P' THEN
7702 FOR item_row in l_item_attribute_tbl.FIRST .. l_item_attribute_tbl.LAST LOOP
7703 IF p_instance_tbl(inst_row).inventory_item_id = l_item_attribute_tbl(item_row).inventory_item_id AND
7704 p_instance_tbl(inst_row).vld_organization_id = l_item_attribute_tbl(item_row).organization_id THEN
7705 l_serial_control := l_item_attribute_tbl(item_row).serial_number_control_code;
7706 l_eam_item_type := l_item_attribute_tbl(item_row).eam_item_type;
7707 exit;
7708 END IF;
7709 END LOOP;
7710 --
7711 -- Call counters if Qty is 1 and other conditions satisfy
7712 IF p_instance_tbl(inst_row).quantity = 1 THEN
7713 IF NOT((l_serial_control IN (1,6)) AND
7714 (p_instance_tbl(inst_row).location_type_code = 'INVENTORY')) THEN
7715 l_exists_flag := 'N';
7716 l_ctr_exists_flag := 'N';
7717 l_ctr_instantiate := 'N';
7718 IF l_ctr_tbl.count > 0 THEN
7719 FOR ctr_row in l_ctr_tbl.FIRST .. l_ctr_tbl.LAST LOOP
7720 IF p_instance_tbl(inst_row).inventory_item_id = l_ctr_tbl(ctr_row).inventory_item_id THEN
7721 l_ctr_exists_flag := l_ctr_tbl(ctr_row).ctr_template_exists;
7722 l_exists_flag := 'Y';
7723 exit;
7724 END IF;
7725 END LOOP;
7726 --
7727 IF l_ctr_exists_flag = 'Y' THEN
7728 l_ctr_instantiate := 'Y';
7729 ELSE
7730 l_ctr_instantiate := 'N';
7731 END IF;
7732 END IF;
7733 --
7734 IF l_exists_flag = 'N' THEN
7735 l_ctr_count := l_ctr_count + 1;
7736 l_ctr_tbl(l_ctr_count).inventory_item_id := p_instance_tbl(inst_row).inventory_item_id;
7737 -- R12 Project. We no longer use CS counters
7738 l_ctr_group_id := 0;
7739 Begin
7740 SELECT COUNT(*)
7741 INTO l_ctr_group_id
7742 FROM csi_ctr_item_associations
7743 WHERE inventory_item_id = p_instance_tbl(inst_row).inventory_item_id
7744 AND ROWNUM=1;
7745 End;
7746 --
7747 IF l_ctr_group_id > 0 THEN
7748 l_ctr_tbl(l_ctr_count).ctr_template_exists := 'Y';
7749 l_ctr_instantiate := 'Y';
7750 ELSE
7751 -- Added code for Bug 9249563
7752 l_base_item_id := null;
7753 Begin
7754 select base_item_id
7755 into l_base_item_id
7756 from MTL_SYSTEM_ITEMS_B
7757 where inventory_item_id = p_instance_tbl(inst_row).inventory_item_id
7758 and organization_id = p_instance_tbl(inst_row).vld_organization_id;
7759 Exception
7760 when no_data_found then
7761 null;
7762 when others then
7766 IF l_base_item_id is not null THEN
7763 null;
7764 End;
7765 --
7767 l_counter_flag := 0;
7768 For ctr_rec in CTR_GROUP(l_base_item_id)
7769 Loop
7770 Begin
7771 IF(ctr_rec.group_id is not null) THEN
7772 l_ctr_item_associations_rec.group_id := ctr_rec.group_id;
7773 END IF;
7774 IF(ctr_rec.COUNTER_ID is not null) THEN
7775 l_ctr_item_associations_rec.COUNTER_ID := ctr_rec.COUNTER_ID;
7776 END IF;
7777 l_ctr_item_associations_rec.inventory_item_id := p_instance_tbl(inst_row).inventory_item_id;
7778 if(ctr_rec.associated_to_group = 'Y') then
7779 l_ctr_item_associations_rec.associated_to_group := ctr_rec.associated_to_group;
7780 end if;
7781
7782 csi_counter_template_pub.create_item_association
7783 (p_api_version => 1.0
7784 ,p_commit => fnd_api.g_false
7785 ,p_init_msg_list => fnd_api.g_false
7786 ,p_validation_level => p_validation_level
7787 ,p_ctr_item_associations_rec => l_ctr_item_associations_rec
7788 ,x_return_status => x_return_status
7789 ,x_msg_count => x_msg_count
7790 ,x_msg_data => x_msg_data
7791 );
7792 l_counter_flag := 1;
7793 End;
7794 End Loop;
7795
7796 IF l_counter_flag <> 0 THEN
7797 l_ctr_tbl(l_ctr_count).ctr_template_exists := 'Y';
7798 l_ctr_instantiate := 'Y';
7799 ELSE
7800 l_ctr_tbl(l_ctr_count).ctr_template_exists := 'N';
7801 l_ctr_instantiate := 'N';
7802 END IF;
7803 END IF;
7804 END IF;
7805 END IF;
7806 --
7807 IF l_ctr_instantiate = 'Y' THEN
7808 IF nvl(l_call_counters,'N') = 'Y' THEN
7809 csi_counter_template_pub.autoinstantiate_counters
7810 ( p_api_version => 1.0
7811 ,p_init_msg_list => FND_API.G_TRUE
7812 ,p_commit => FND_API.G_FALSE
7813 ,x_return_status => x_return_status
7814 ,x_msg_count => x_msg_count
7815 ,x_msg_data => x_msg_data
7816 ,p_source_object_id_template => p_instance_tbl(inst_row).inventory_item_id
7817 ,p_source_object_id_instance => p_instance_tbl(inst_row).instance_id
7818 ,x_ctr_id_template => l_ctr_id_template
7819 ,x_ctr_id_instance => l_ctr_id_instance
7820 ,x_ctr_grp_id_template => l_ctr_grp_id_template
7821 ,x_ctr_grp_id_instance => l_ctr_grp_id_instance
7822 ,p_organization_id => p_instance_tbl(inst_row).vld_organization_id
7823 );
7824
7825 --
7826 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
7827 l_msg_index := 1;
7828 l_msg_count := x_msg_count;
7829 WHILE l_msg_count > 0 LOOP
7830 x_msg_data := FND_MSG_PUB.GET
7831 ( l_msg_index,
7832 FND_API.G_FALSE );
7833 l_msg_index := l_msg_index + 1;
7834 l_msg_count := l_msg_count - 1;
7835 END LOOP;
7836 l_iface_error_text := substr(x_msg_data,1,2000);
7837 p_instance_tbl(inst_row).processed_flag := 'E';
7838 l_grp_error_tbl(inst_row).error_message := l_iface_error_text;
7839 l_grp_error_tbl(inst_row).process_status := 'E';
7840 l_error_array(inst_row) := l_iface_error_text;
7841 l_status_array(inst_row) := 'E';
7842 l_inst_id_array(inst_row) := NULL;
7843 l_del_count := l_del_count + 1;
7844 l_del_inst_tbl(l_del_count) := p_instance_tbl(inst_row).instance_id;
7845 l_del_txn_tbl(l_del_count) := p_txn_tbl(inst_row).transaction_id;
7846 END IF;
7847 ELSE
7848 -- Build the PL/SQL table for Inserting into Counters Temp table
7849 l_counter := l_counter + 1;
7850 select CSI_CTR_UPLOAD_INSTANCES_S.nextval
7851 into l_ctr_id(l_counter) from sys.dual;
7852 --
7853 l_ctr_ins_id(l_counter) := p_instance_tbl(inst_row).instance_id;
7854 l_ctr_item_id(l_counter) := p_instance_tbl(inst_row).inventory_item_id;
7855 l_ctr_org_id(l_counter) := p_instance_tbl(inst_row).vld_organization_id;
7856 END IF;
7857 END IF; -- l_ctr_instantiate is Y
7858 END IF;
7859 END IF; -- Qty = 1 check for calling counters
7860 --
7861 IF csi_item_instance_vld_pvt.Check_for_EAM_Item
7862 ( p_inventory_item_id => p_instance_tbl(inst_row).inventory_item_id
7863 ,p_organization_id => p_instance_tbl(inst_row).vld_organization_id
7864 ,p_eam_item_type => l_eam_item_type
7865 ) THEN
7866 EAM_Objectinstantiation_Pub.Instantiate_Object
7867 ( p_api_version => 1.0
7868 ,p_init_msg_list => fnd_api.g_true
7869 ,p_commit => fnd_api.g_false
7870 ,p_validation_level => p_validation_level
7871 ,p_maintenance_object_id => p_instance_tbl(inst_row).instance_id
7872 ,p_maintenance_object_type => 3
7873 ,x_return_status => x_return_status
7874 ,x_msg_count => x_msg_count
7875 ,x_msg_data => x_msg_data
7876 );
7877 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
7878 l_msg_index := 1;
7879 l_msg_count := x_msg_count;
7880 WHILE l_msg_count > 0 LOOP
7881 x_msg_data := FND_MSG_PUB.GET
7882 ( l_msg_index,
7883 FND_API.G_FALSE );
7884 l_msg_index := l_msg_index + 1;
7885 l_msg_count := l_msg_count - 1;
7886 END LOOP;
7887 l_iface_error_text := substr(x_msg_data,1,2000);
7888 p_instance_tbl(inst_row).processed_flag := 'E';
7892 l_status_array(inst_row) := 'E';
7889 l_grp_error_tbl(inst_row).error_message := l_iface_error_text;
7890 l_grp_error_tbl(inst_row).process_status := 'E';
7891 l_error_array(inst_row) := l_iface_error_text;
7893 l_inst_id_array(inst_row) := NULL;
7894 l_del_count := l_del_count + 1;
7895 l_del_inst_tbl(l_del_count) := p_instance_tbl(inst_row).instance_id;
7896 l_del_txn_tbl(l_del_count) := p_txn_tbl(inst_row).transaction_id;
7897 END IF;
7898 END IF; -- Check for EAM Item
7899 END IF; -- Instance is Valid check
7900 END LOOP;
7901 --
7902 IF l_ctr_id.count > 0 THEN
7903 BEGIN
7904 FORALL i in 1 .. l_ctr_id.count
7905 INSERT INTO CSI_CTR_UPLOAD_INSTANCES
7906 (
7907 UPLOAD_INSTANCE_ID
7908 ,SOURCE_OBJECT_ID
7909 ,SOURCE_OBJECT_CODE
7910 ,ITEM_ID
7911 ,ORG_ID
7912 ,LAST_UPDATE_DATE
7913 ,LAST_UPDATED_BY
7914 ,LAST_UPDATE_LOGIN
7915 ,CREATION_DATE
7916 ,CREATED_BY
7917 )
7918 VALUES
7919 (
7920 l_ctr_id(i)
7921 ,l_ctr_ins_id(i)
7922 ,'CP'
7923 ,l_ctr_item_id(i)
7924 ,l_ctr_org_id(i)
7925 ,sysdate
7926 ,l_user_id
7927 ,l_login_id
7928 ,sysdate
7929 ,l_user_id
7930 );
7931 EXCEPTION
7932 WHEN OTHERS THEN
7933 NULL;
7934 END;
7935 END IF;
7936 -- Call contracts
7937 csi_gen_utility_pvt.put_line('Calling contracts...');
7938 --
7939 FOR inst_row in p_instance_tbl.FIRST .. p_instance_tbl.LAST LOOP
7940 IF p_instance_tbl(inst_row).processed_flag = 'P' AND
7941 p_instance_tbl(inst_row).call_contracts <> fnd_api.g_false THEN -- honoring the call_contracts
7942 IF l_owner_pty_acct_tbl.count > 0 THEN
7943 l_owner_party_id := NULL;
7944 FOR pty_row in l_owner_pty_acct_tbl.FIRST .. l_owner_pty_acct_tbl.LAST LOOP
7945 IF p_instance_tbl(inst_row).instance_id = l_owner_pty_acct_tbl(pty_row).instance_id THEN
7946 l_owner_party_id := l_owner_pty_acct_tbl(pty_row).party_id;
7947 l_vld_organization_id := l_owner_pty_acct_tbl(pty_row).vld_organization_id;
7948 exit;
7949 END IF;
7950 END LOOP;
7951 END IF;
7952 --
7953 IF l_owner_party_id IS NOT NULL AND
7954 l_owner_party_id <> FND_API.G_MISS_NUM AND
7955 l_owner_party_id <> l_internal_party_id THEN
7956 -- Call API
7957 l_transaction_type:= 'NEW';
7958
7959 IF (p_instance_tbl(inst_row).call_contracts <> fnd_api.g_false AND p_instance_tbl(inst_row).call_contracts <> 'N') --added by HYONLEE on 01/19/10
7960 THEN
7961
7962 csi_item_instance_pvt.Call_to_Contracts(
7963 p_transaction_type => l_transaction_type
7964 ,p_instance_id => p_instance_tbl(inst_row).instance_id
7965 ,p_new_instance_id => NULL
7966 ,p_vld_org_id => p_instance_tbl(inst_row).vld_organization_id
7967 ,p_quantity => NULL
7968 ,p_party_account_id1 => NULL
7969 ,p_party_account_id2 => NULL
7970 ,p_transaction_date => p_txn_tbl(inst_row).transaction_date
7971 ,p_source_transaction_date => p_txn_tbl(inst_row).source_transaction_date
7972 ,p_grp_call_contracts => FND_API.G_TRUE
7973 ,p_call_from_bom_expl => p_call_from_bom_expl
7974 ,p_oks_txn_inst_tbl => px_oks_txn_inst_tbl
7975 ,x_return_status => x_return_status
7976 ,x_msg_count => x_msg_count
7977 ,x_msg_data => x_msg_data
7978 );
7979 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS)
7980 THEN
7981 csi_gen_utility_pvt.put_line('Error from Call_to_contracts...');
7982 l_msg_index := 1;
7983 l_msg_count := x_msg_count;
7984 WHILE l_msg_count > 0 LOOP
7985 x_msg_data := FND_MSG_PUB.GET
7986 ( l_msg_index,
7987 FND_API.G_FALSE
7988 );
7989 l_msg_index := l_msg_index + 1;
7990 l_msg_count := l_msg_count - 1;
7991 END LOOP;
7992 l_iface_error_text := substr(x_msg_data,1,2000);
7993 p_instance_tbl(inst_row).processed_flag := 'E';
7994 l_grp_error_tbl(inst_row).error_message := l_iface_error_text;
7995 l_grp_error_tbl(inst_row).process_status := 'E';
7996 l_error_array(inst_row) := l_iface_error_text;
7997 l_status_array(inst_row) := 'E';
7998 l_inst_id_array(inst_row) := NULL;
7999 l_del_count := l_del_count + 1;
8000 l_del_inst_tbl(l_del_count) := p_instance_tbl(inst_row).instance_id;
8001 l_del_txn_tbl(l_del_count) := p_txn_tbl(inst_row).transaction_id;
8002 ELSE
8003 -- Store the Transactions inorder to Update the Contracts Audit flag later
8004 l_upd_txn_count := l_upd_txn_count + 1;
8005 l_upd_txn_tbl(l_upd_txn_count) := p_txn_tbl(inst_row).transaction_id;
8006 END IF;
8007 END IF;
8008 END IF; -- Onwer party ID check
8009 END IF; -- Valid Instance check and call_contracts set to True
8010 END LOOP;
8011 --
8012 IF px_oks_txn_inst_tbl.count > 0 THEN
8013 IF l_debug_level > 1 THEN
8014 csi_gen_utility_pvt.dump_oks_txn_inst_tbl(px_oks_txn_inst_tbl);
8015 csi_gen_utility_pvt.put_line('Calling OKS Core API...');
8016 END IF;
8017 --
8018 IF l_upd_txn_tbl.count > 0 THEN
8019 FORALL K IN l_upd_txn_tbl.FIRST .. l_upd_txn_tbl.LAST
8023 END IF;
8020 UPDATE CSI_TRANSACTIONS
8021 set contracts_invoked = 'Y'
8022 where transaction_id = l_upd_txn_tbl(K);
8024 --
8025 OKS_IBINT_PUB.IB_interface
8026 (
8027 P_Api_Version => 1.0,
8028 P_init_msg_list => p_init_msg_list,
8029 P_single_txn_date_flag => 'N',
8030 P_Batch_type => NULL,
8031 P_Batch_ID => NULL,
8032 P_OKS_Txn_Inst_tbl => px_oks_txn_inst_tbl,
8033 x_return_status => x_return_status,
8034 x_msg_count => x_msg_count,
8035 x_msg_data => x_msg_data
8036 );
8037 csi_gen_utility_pvt.put_line('Status returned from Oks_ibint_pub.IB_interface is :'||x_return_status);
8038 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS)
8039 THEN
8040 csi_gen_utility_pvt.put_line('Error from Call_to_contracts...');
8041 l_msg_index := 1;
8042 l_msg_count := x_msg_count;
8043 WHILE l_msg_count > 0 LOOP
8044 x_msg_data := FND_MSG_PUB.GET
8045 ( l_msg_index,
8046 FND_API.G_FALSE
8047 );
8048 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
8049 l_msg_index := l_msg_index + 1;
8050 l_msg_count := l_msg_count - 1;
8051 END LOOP;
8052 l_iface_error_text := substr(x_msg_data,1,2000);
8053 --
8054 FOR inst_row IN p_instance_tbl.FIRST .. p_instance_tbl.LAST LOOP
8055 IF p_instance_tbl.EXISTS(inst_row) THEN
8056 p_instance_tbl(inst_row).processed_flag := 'E';
8057 l_grp_error_tbl(inst_row).error_message := l_iface_error_text;
8058 l_grp_error_tbl(inst_row).process_status := 'E';
8059 l_error_array(inst_row) := l_iface_error_text;
8060 l_status_array(inst_row) := 'E';
8061 l_inst_id_array(inst_row) := NULL;
8062 END IF;
8063 END LOOP;
8064 -- if OKS returns error then everthing gets rolledback
8065 p_grp_error_tbl := l_grp_error_tbl;
8066 RAISE FND_API.G_EXC_ERROR;
8067 END IF;
8068 END IF; -- px_oks_txn_inst_tbl count
8069 END IF; -- Check for l_bulk_inst_tbl count
8070 --
8071 -- Delete the Instances failed in Counter and Contracts creation.
8072 IF l_del_inst_tbl.count > 0 THEN
8073 BEGIN
8074 FORALL j in l_del_inst_tbl.FIRST .. l_del_inst_tbl.LAST
8075 DELETE FROM CSI_ITEM_INSTANCES WHERE instance_id = l_del_inst_tbl(j);
8076 FORALL j in l_del_inst_tbl.FIRST .. l_del_inst_tbl.LAST
8077 DELETE FROM CSI_IP_ACCOUNTS WHERE instance_party_id in (SELECT instance_party_id
8078 from CSI_I_PARTIES WHERE instance_id = l_del_inst_tbl(j));
8079 FORALL j in l_del_inst_tbl.FIRST .. l_del_inst_tbl.LAST
8080 DELETE FROM CSI_I_PARTIES WHERE instance_id = l_del_inst_tbl(j);
8081 FORALL j in l_del_inst_tbl.FIRST .. l_del_inst_tbl.LAST
8082 DELETE FROM CSI_I_ORG_ASSIGNMENTS WHERE instance_id = l_del_inst_tbl(j);
8083 FORALL j in l_del_inst_tbl.FIRST .. l_del_inst_tbl.LAST
8084 DELETE FROM CSI_I_PRICING_ATTRIBS WHERE instance_id = l_del_inst_tbl(j);
8085 FORALL j in l_del_inst_tbl.FIRST .. l_del_inst_tbl.LAST
8086 DELETE FROM CSI_I_VERSION_LABELS WHERE instance_id = l_del_inst_tbl(j);
8087 FORALL j in l_del_inst_tbl.FIRST .. l_del_inst_tbl.LAST
8088 DELETE FROM CSI_IEA_VALUES WHERE instance_id = l_del_inst_tbl(j);
8089 FORALL j in l_del_inst_tbl.FIRST .. l_del_inst_tbl.LAST
8090 DELETE FROM CSI_I_ASSETS WHERE instance_id = l_del_inst_tbl(j);
8091 FORALL j in l_del_txn_tbl.FIRST .. l_del_txn_tbl.LAST
8092 DELETE FROM CSI_ITEM_INSTANCES_H WHERE transaction_id = l_del_txn_tbl(j);
8093 FORALL j in l_del_txn_tbl.FIRST .. l_del_txn_tbl.LAST
8094 DELETE FROM CSI_I_PARTIES_H WHERE transaction_id = l_del_txn_tbl(j);
8095 FORALL j in l_del_txn_tbl.FIRST .. l_del_txn_tbl.LAST
8096 DELETE FROM CSI_IP_ACCOUNTS_H WHERE transaction_id = l_del_txn_tbl(j);
8097 FORALL j in l_del_txn_tbl.FIRST .. l_del_txn_tbl.LAST
8098 DELETE FROM CSI_I_ORG_ASSIGNMENTS_H WHERE transaction_id = l_del_txn_tbl(j);
8099 FORALL j in l_del_txn_tbl.FIRST .. l_del_txn_tbl.LAST
8100 DELETE FROM CSI_I_PRICING_ATTRIBS_H WHERE transaction_id = l_del_txn_tbl(j);
8101 FORALL j in l_del_txn_tbl.FIRST .. l_del_txn_tbl.LAST
8102 DELETE FROM CSI_I_VERSION_LABELS_H WHERE transaction_id = l_del_txn_tbl(j);
8103 FORALL j in l_del_txn_tbl.FIRST .. l_del_txn_tbl.LAST
8104 DELETE FROM CSI_IEA_VALUES_H WHERE transaction_id = l_del_txn_tbl(j);
8105 FORALL j in l_del_txn_tbl.FIRST .. l_del_txn_tbl.LAST
8106 DELETE FROM CSI_I_ASSETS_H WHERE transaction_id = l_del_txn_tbl(j);
8107 FORALL j in l_del_txn_tbl.FIRST .. l_del_txn_tbl.LAST
8108 DELETE FROM CSI_TRANSACTIONS WHERE transaction_id = l_del_txn_tbl(j);
8109 END;
8110 END IF;
8111 -- Update Interface Table
8112 IF l_intf_id_array.count > 0 THEN
8113 BEGIN
8114 l_upd_stmt := 'UPDATE CSI_INSTANCE_INTERFACE
8115 SET instance_id = :ins_id
8116 ,error_text = :error_text
8117 ,process_status = :status
8118 WHERE inst_interface_id = :intf_id';
8119 l_num_of_rows := dbms_sql.open_cursor;
8120 dbms_sql.parse(l_num_of_rows,l_upd_stmt,dbms_sql.native);
8121 dbms_sql.bind_array(l_num_of_rows,':ins_id',l_inst_id_array);
8122 dbms_sql.bind_array(l_num_of_rows,':intf_id',l_intf_id_array);
8123 dbms_sql.bind_array(l_num_of_rows,':status',l_status_array);
8124 dbms_sql.bind_array(l_num_of_rows,':error_text',l_error_array);
8125 l_dummy := dbms_sql.execute(l_num_of_rows);
8126 dbms_sql.close_cursor(l_num_of_rows);
8127
8128 l_upd_stmt := 'UPDATE CSI_I_ASSET_INTERFACE a
8129 SET instance_id = :ins_id
8133 WHERE b.instance_id = :a_ins_id
8130 , instance_asset_id =
8131 ( SELECT instance_asset_id
8132 FROM csi_i_assets b
8134 AND b.fa_asset_id = a.fa_asset_id
8135 AND b.fa_book_type_code = a.fa_book_type_code
8136 AND b.fa_location_id = a.fa_location_id
8137 AND rownum = 1
8138 )
8139 WHERE inst_interface_id = :intf_id';
8140 l_num_of_rows := dbms_sql.open_cursor;
8141 dbms_sql.parse(l_num_of_rows,l_upd_stmt,dbms_sql.native);
8142 dbms_sql.bind_array(l_num_of_rows,':ins_id',l_inst_id_array);
8143 dbms_sql.bind_array(l_num_of_rows,':a_ins_id',l_inst_id_array);
8144 dbms_sql.bind_array(l_num_of_rows,':intf_id',l_intf_id_array);
8145 l_dummy := dbms_sql.execute(l_num_of_rows);
8146 dbms_sql.close_cursor(l_num_of_rows);
8147
8148 EXCEPTION
8149 WHEN OTHERS THEN
8150 NULL;
8151 END;
8152 END IF;
8153 --
8154 p_grp_error_tbl := l_grp_error_tbl;
8155 x_return_status := FND_API.G_RET_STS_SUCCESS;
8156 --
8157 END IF; --end of instance_tbl count check
8158 -- End of API body
8159 -- Standard check of p_commit.
8160 IF FND_API.To_Boolean( p_commit ) THEN
8161 COMMIT WORK;
8162 END IF;
8163 /***** srramakr commented for bug # 3304439
8164 -- Check for the profile option and disable the trace
8165 IF (l_flag = 'Y') THEN
8166 dbms_session.set_sql_trace(FALSE);
8167 END IF;
8168 -- End disable trace
8169 ****/
8170
8171 -- Standard call to get message count and if count is get message info.
8172 FND_MSG_PUB.Count_And_Get
8173 (p_count => x_msg_count ,
8174 p_data => x_msg_data
8175 );
8176
8177 EXCEPTION
8178 -- The following other_error exception is added for bug 3579121 (rel 11.5.9)
8179 WHEN OTHER_ERROR THEN
8180 x_return_status := FND_API.G_RET_STS_ERROR ;
8181 FND_MSG_PUB.Count_And_Get
8182 ( p_count => x_msg_count,
8183 p_data => x_msg_data
8184 );
8185
8186 WHEN FND_API.G_EXC_ERROR THEN
8187 x_return_status := FND_API.G_RET_STS_ERROR ;
8188 ROLLBACK TO create_item_instance;
8189 FND_MSG_PUB.Count_And_Get
8190 ( p_count => x_msg_count,
8191 p_data => x_msg_data
8192 );
8193
8194 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
8195 FND_File.Put_Line(Fnd_File.LOG,'Into unexpected exception of grp.create_item_instance');
8196 FND_File.Put_Line(Fnd_File.LOG,'SQLERRM:'||substr(SQLERRM,1,200));
8197 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
8198 ROLLBACK TO create_item_instance;
8199 FND_MSG_PUB.Count_And_Get
8200 ( p_count => x_msg_count,
8201 p_data => x_msg_data
8202 );
8203
8204 WHEN OTHERS THEN
8205 FND_File.Put_Line(Fnd_File.LOG,'Into when others exception of grp.create_item_instance');
8206 FND_File.Put_Line(Fnd_File.LOG,'SQLERRM:'||substr(SQLERRM,1,200));
8207 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
8208 ROLLBACK TO create_item_instance;
8209 IF FND_MSG_PUB.Check_Msg_Level
8210 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
8211 THEN
8212 FND_MSG_PUB.Add_Exc_Msg
8213 (G_PKG_NAME,
8214 l_api_name
8215 );
8216 END IF;
8217 FND_MSG_PUB.Count_And_Get
8218 ( p_count => x_msg_count,
8219 p_data => x_msg_data
8220 );
8221
8222 END create_item_instance;
8223
8224 /*----------------------------------------------------*/
8225 /* Procedure name: update_item_instance */
8226 /* Description : procedure used to update an Item */
8227 /* Instance */
8228 /*----------------------------------------------------*/
8229
8230 PROCEDURE update_item_instance
8231 (
8232 p_api_version IN NUMBER
8233 ,p_commit IN VARCHAR2
8234 ,p_init_msg_list IN VARCHAR2
8235 ,p_validation_level IN NUMBER
8236 ,p_instance_tbl IN OUT NOCOPY csi_datastructures_pub.instance_tbl
8237 ,p_ext_attrib_values_tbl IN OUT NOCOPY csi_datastructures_pub.extend_attrib_values_tbl
8238 ,p_party_tbl IN OUT NOCOPY csi_datastructures_pub.party_tbl
8239 ,p_account_tbl IN OUT NOCOPY csi_datastructures_pub.party_account_tbl
8240 ,p_pricing_attrib_tbl IN OUT NOCOPY csi_datastructures_pub.pricing_attribs_tbl
8241 ,p_org_assignments_tbl IN OUT NOCOPY csi_datastructures_pub.organization_units_tbl
8242 ,p_asset_assignment_tbl IN OUT NOCOPY csi_datastructures_pub.instance_asset_tbl
8243 ,p_txn_rec IN OUT NOCOPY csi_datastructures_pub.transaction_rec
8244 ,x_instance_id_lst OUT NOCOPY csi_datastructures_pub.id_tbl
8245 ,p_grp_upd_error_tbl OUT NOCOPY csi_datastructures_pub.grp_upd_error_tbl
8246 ,x_return_status OUT NOCOPY VARCHAR2
8247 ,x_msg_count OUT NOCOPY NUMBER
8248 ,x_msg_data OUT NOCOPY VARCHAR2
8249 )
8250
8251 IS
8252 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_ITEM_INSTANCE';
8253 l_api_version CONSTANT NUMBER := 1.0;
8254 l_debug_level NUMBER;
8255 l_new_instance_rec csi_datastructures_pub.instance_rec;
8256 l_temp_instance_rec csi_datastructures_pub.instance_rec;
8257 l_old_instance_tbl csi_datastructures_pub.instance_tbl;
8261 l_msg_data VARCHAR2(2000);
8258 l_version_label_rec csi_datastructures_pub.version_label_rec;
8259 l_temp_version_label_rec csi_datastructures_pub.version_label_rec;
8260 l_msg_count NUMBER;
8262 l_msg_index NUMBER;
8263 l_line_count NUMBER;
8264 l_flag VARCHAR2(1):='N';
8265 l_transaction_type VARCHAR2(10) := NULL;
8266 l_old_oks_cp_rec oks_ibint_pub.cp_rec_type;
8267 l_new_oks_cp_rec oks_ibint_pub.cp_rec_type;
8268 l_contracts_status VARCHAR2(3);
8269 l_owner_party_id NUMBER;
8270 l_transaction_date DATE ;
8271 l_internal_party_id NUMBER;
8272 l_party_id NUMBER;
8273 l_active_end_date DATE;
8274 l_dummy VARCHAR2(1);
8275 l_item_attribute_tbl csi_item_instance_pvt.item_attribute_tbl;
8276 l_location_tbl csi_item_instance_pvt.location_tbl;
8277 l_generic_id_tbl csi_item_instance_pvt.generic_id_tbl;
8278 l_lookup_tbl csi_item_instance_pvt.lookup_tbl;
8279 l_ins_count_rec csi_item_instance_pvt.ins_count_rec;
8280 l_ou_lookup_tbl csi_organization_unit_pvt.lookup_tbl;
8281 l_ou_count_rec csi_organization_unit_pvt.ou_count_rec;
8282 l_ou_id_tbl csi_organization_unit_pvt.ou_id_tbl;
8283 l_ext_id_tbl csi_item_instance_pvt.ext_id_tbl;
8284 l_ext_count_rec csi_item_instance_pvt.ext_count_rec;
8285 l_ext_attr_tbl csi_item_instance_pvt.ext_attr_tbl;
8286 l_ext_cat_tbl csi_item_instance_pvt.ext_cat_tbl;
8287 l_asset_lookup_tbl csi_asset_pvt.lookup_tbl;
8288 l_asset_count_rec csi_asset_pvt.asset_count_rec;
8289 l_asset_id_tbl csi_asset_pvt.asset_id_tbl;
8290 l_asset_loc_tbl csi_asset_pvt.asset_loc_tbl;
8291 --
8292 CURSOR instance_csr(p_ins_id IN NUMBER) is
8293 SELECT
8294 INSTANCE_ID
8295 ,INSTANCE_NUMBER
8296 ,EXTERNAL_REFERENCE
8297 ,INVENTORY_ITEM_ID
8298 ,INVENTORY_REVISION
8299 ,INV_MASTER_ORGANIZATION_ID
8300 ,SERIAL_NUMBER
8301 ,MFG_SERIAL_NUMBER_FLAG
8302 ,LOT_NUMBER
8303 ,QUANTITY
8304 ,UNIT_OF_MEASURE
8305 ,ACCOUNTING_CLASS_CODE
8306 ,INSTANCE_CONDITION_ID
8307 ,INSTANCE_STATUS_ID
8308 ,CUSTOMER_VIEW_FLAG
8309 ,MERCHANT_VIEW_FLAG
8310 ,SELLABLE_FLAG
8311 ,SYSTEM_ID
8312 ,INSTANCE_TYPE_CODE
8313 ,ACTIVE_START_DATE
8314 ,ACTIVE_END_DATE
8315 ,LOCATION_TYPE_CODE
8316 ,LOCATION_ID
8317 ,INV_ORGANIZATION_ID
8318 ,INV_SUBINVENTORY_NAME
8319 ,INV_LOCATOR_ID
8320 ,PA_PROJECT_ID
8321 ,PA_PROJECT_TASK_ID
8322 ,IN_TRANSIT_ORDER_LINE_ID
8323 ,WIP_JOB_ID
8324 ,PO_ORDER_LINE_ID
8325 ,LAST_OE_ORDER_LINE_ID
8326 ,LAST_OE_RMA_LINE_ID
8327 ,LAST_PO_PO_LINE_ID
8328 ,LAST_OE_PO_NUMBER
8329 ,LAST_WIP_JOB_ID
8330 ,LAST_PA_PROJECT_ID
8331 ,LAST_PA_TASK_ID
8332 ,LAST_OE_AGREEMENT_ID
8333 ,INSTALL_DATE
8334 ,MANUALLY_CREATED_FLAG
8335 ,RETURN_BY_DATE
8336 ,ACTUAL_RETURN_DATE
8337 ,CREATION_COMPLETE_FLAG
8338 ,COMPLETENESS_FLAG
8339 ,CONTEXT
8340 ,ATTRIBUTE1
8341 ,ATTRIBUTE2
8342 ,ATTRIBUTE3
8343 ,ATTRIBUTE4
8344 ,ATTRIBUTE5
8345 ,ATTRIBUTE6
8346 ,ATTRIBUTE7
8347 ,ATTRIBUTE8
8348 ,ATTRIBUTE9
8349 ,ATTRIBUTE10
8350 ,ATTRIBUTE11
8351 ,ATTRIBUTE12
8352 ,ATTRIBUTE13
8353 ,ATTRIBUTE14
8354 ,ATTRIBUTE15
8355 ,CREATED_BY
8356 ,CREATION_DATE
8357 ,LAST_UPDATED_BY
8358 ,LAST_UPDATE_DATE
8359 ,LAST_UPDATE_LOGIN
8360 ,OBJECT_VERSION_NUMBER
8361 ,SECURITY_GROUP_ID
8362 ,LAST_TXN_LINE_DETAIL_ID
8363 ,INSTALL_LOCATION_TYPE_CODE
8364 ,INSTALL_LOCATION_ID
8365 ,INSTANCE_USAGE_CODE
8366 ,OWNER_PARTY_SOURCE_TABLE
8367 ,OWNER_PARTY_ID
8368 ,OWNER_PARTY_ACCOUNT_ID
8369 ,LAST_VLD_ORGANIZATION_ID
8370 ,MIGRATED_FLAG
8371 ,NULL PROCESSED_FLAG
8372 from CSI_ITEM_INSTANCES
8373 where instance_id = p_ins_id;
8374 --
8375 l_instance_csr instance_csr%ROWTYPE;
8376 --
8377 CURSOR old_ins_csr (p_ins_id IN NUMBER) IS
8378 SELECT
8379 INSTANCE_ID
8380 ,INSTANCE_NUMBER
8381 ,EXTERNAL_REFERENCE
8382 ,INVENTORY_ITEM_ID
8383 ,INVENTORY_REVISION
8384 ,INV_MASTER_ORGANIZATION_ID
8385 ,SERIAL_NUMBER
8386 ,MFG_SERIAL_NUMBER_FLAG
8387 ,LOT_NUMBER
8388 ,QUANTITY
8389 ,UNIT_OF_MEASURE
8390 ,ACCOUNTING_CLASS_CODE
8391 ,INSTANCE_CONDITION_ID
8392 ,INSTANCE_STATUS_ID
8393 ,CUSTOMER_VIEW_FLAG
8394 ,MERCHANT_VIEW_FLAG
8395 ,SELLABLE_FLAG
8396 ,SYSTEM_ID
8397 ,INSTANCE_TYPE_CODE
8398 ,ACTIVE_START_DATE
8399 ,ACTIVE_END_DATE
8400 ,LOCATION_TYPE_CODE
8401 ,LOCATION_ID
8402 ,INV_ORGANIZATION_ID
8403 ,INV_SUBINVENTORY_NAME
8404 ,INV_LOCATOR_ID
8405 ,PA_PROJECT_ID
8406 ,PA_PROJECT_TASK_ID
8407 ,IN_TRANSIT_ORDER_LINE_ID
8408 ,WIP_JOB_ID
8409 ,PO_ORDER_LINE_ID
8410 ,LAST_OE_ORDER_LINE_ID
8411 ,LAST_OE_RMA_LINE_ID
8412 ,LAST_PO_PO_LINE_ID
8413 ,LAST_OE_PO_NUMBER
8414 ,LAST_WIP_JOB_ID
8415 ,LAST_PA_PROJECT_ID
8416 ,LAST_PA_TASK_ID
8417 ,LAST_OE_AGREEMENT_ID
8418 ,INSTALL_DATE
8419 ,MANUALLY_CREATED_FLAG
8420 ,RETURN_BY_DATE
8421 ,ACTUAL_RETURN_DATE
8422 ,CREATION_COMPLETE_FLAG
8423 ,COMPLETENESS_FLAG
8424 ,CONTEXT
8428 ,ATTRIBUTE4
8425 ,ATTRIBUTE1
8426 ,ATTRIBUTE2
8427 ,ATTRIBUTE3
8429 ,ATTRIBUTE5
8430 ,ATTRIBUTE6
8431 ,ATTRIBUTE7
8432 ,ATTRIBUTE8
8433 ,ATTRIBUTE9
8434 ,ATTRIBUTE10
8435 ,ATTRIBUTE11
8436 ,ATTRIBUTE12
8437 ,ATTRIBUTE13
8438 ,ATTRIBUTE14
8439 ,ATTRIBUTE15
8440 ,CREATED_BY
8441 ,CREATION_DATE
8442 ,LAST_UPDATED_BY
8443 ,LAST_UPDATE_DATE
8444 ,LAST_UPDATE_LOGIN
8445 ,OBJECT_VERSION_NUMBER
8446 ,SECURITY_GROUP_ID
8447 ,LAST_TXN_LINE_DETAIL_ID
8448 ,INSTALL_LOCATION_TYPE_CODE
8449 ,INSTALL_LOCATION_ID
8450 ,INSTANCE_USAGE_CODE
8451 ,OWNER_PARTY_SOURCE_TABLE
8452 ,OWNER_PARTY_ID
8453 ,OWNER_PARTY_ACCOUNT_ID
8454 ,LAST_VLD_ORGANIZATION_ID
8455 ,MIGRATED_FLAG
8456 ,NULL PROCESSED_FLAG
8457 FROM CSI_ITEM_INSTANCES
8458 WHERE instance_id = p_ins_id;
8459 l_old_ins_csr old_ins_csr%ROWTYPE;
8460 --
8461 l_iface_error_text VARCHAR2(2000);
8462 l_grp_upd_error_tbl csi_datastructures_pub.grp_upd_error_tbl;
8463 l_grp_error_count NUMBER := 0;
8464 l_order_line_id NUMBER;
8465 --
8466 l_owner_party_tbl csi_datastructures_pub.party_tbl;
8467 l_party_tbl csi_datastructures_pub.party_tbl;
8468 l_contact_party_tbl csi_datastructures_pub.party_tbl;
8469 l_owner_acct_tbl csi_datastructures_pub.party_account_tbl;
8470 l_pty_acct_tbl csi_datastructures_pub.party_account_tbl;
8471 --
8472 l_upd_party_tbl csi_datastructures_pub.party_tbl;
8473 l_upd_acct_tbl csi_datastructures_pub.party_account_tbl;
8474 l_upd_count NUMBER := 0;
8475 --
8476 l_owner_count NUMBER := 0;
8477 l_party_count NUMBER := 0;
8478 l_contact_count NUMBER := 0;
8479 l_owner_acct_count NUMBER := 0;
8480 l_pty_acct_count NUMBER := 0;
8481 Process_next EXCEPTION;
8482 --
8483 l_party_slot_tbl T_NUM; -- This will be mapped one-to-one with the l_party_tbl
8484 -- -- It contains the p_party_tbl slot#
8485 l_pty_slot NUMBER := 0;
8486 --
8487 TYPE exp_rec IS RECORD
8488 ( instance_id NUMBER,
8489 instance_status_id NUMBER,
8490 active_end_date DATE
8491 );
8492 TYPE exp_tbl IS TABLE OF exp_rec INDEX BY BINARY_INTEGER;
8493 --
8494 l_exp_tbl exp_tbl;
8495 l_exp_count NUMBER := 0;
8496 --
8497 px_child_inst_tbl csi_item_instance_grp.child_inst_tbl;
8498 l_child_exists VARCHAR2(1);
8499 --
8500 px_oks_txn_inst_tbl oks_ibint_pub.txn_instance_tbl;
8501 l_batch_id NUMBER;
8502 l_batch_type VARCHAR2(50);
8503 --
8504 SKIP_ERROR EXCEPTION;
8505
8506 CURSOR non_owner_csr (p_ins_pty_id NUMBER) IS
8507 SELECT ip_account_id
8508 ,active_end_date
8509 ,object_version_number
8510 from csi_ip_accounts
8511 where instance_party_id=p_ins_pty_id
8512 and relationship_type_code<>'OWNER';
8513
8514 BEGIN
8515 -- Standard Start of API savepoint
8516 SAVEPOINT update_item_instance;
8517
8518 -- Check for freeze_flag in csi_install_parameters is set to 'Y'
8519
8520 csi_utility_grp.check_ib_active;
8521
8522 -- Standard call to check for call compatibility.
8523 IF NOT FND_API.Compatible_API_Call (l_api_version,
8524 p_api_version,
8525 l_api_name ,
8526 G_PKG_NAME )
8527 THEN
8528 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8529 END IF;
8530
8531 -- Initialize message list if p_init_msg_list is set to TRUE.
8532 IF FND_API.to_Boolean( p_init_msg_list ) THEN
8533 FND_MSG_PUB.initialize;
8534 END IF;
8535
8536 -- Initialize API return status to success
8537 x_return_status := FND_API.G_RET_STS_SUCCESS;
8538
8539 -- Check the profile option debug_level for debug message reporting
8540 l_debug_level:=fnd_profile.value('CSI_DEBUG_LEVEL');
8541
8542 -- If debug_level = 1 then dump the procedure name
8543 IF (l_debug_level > 0) THEN
8544 csi_gen_utility_pvt.put_line( 'update_item_instance');
8545 END IF;
8546 --
8547 /***** srramakr commented for bug # 3304439
8548 -- Check for the profile option and enable trace
8549 l_flag:=CSI_GEN_UTILITY_PVT.enable_trace(l_trace_flag => l_flag);
8550 -- End enable trace
8551 ****/
8552 IF csi_datastructures_pub.g_install_param_rec.fetch_flag IS NULL THEN
8553 csi_gen_utility_pvt.populate_install_param_rec;
8554 END IF;
8555 --
8556 l_internal_party_id := csi_datastructures_pub.g_install_param_rec.internal_party_id;
8557 --
8558 IF l_internal_party_id IS NULL THEN
8559 FND_MESSAGE.SET_NAME('CSI','CSI_API_UNINSTALLED_PARAMETER');
8560 FND_MSG_PUB.ADD;
8561 RAISE FND_API.G_EXC_ERROR;
8562 END IF;
8563 --
8564 l_old_instance_tbl.DELETE;
8565 IF (p_instance_tbl.count > 0) THEN
8566 FOR ins_row IN p_instance_tbl.FIRST .. p_instance_tbl.LAST
8567 LOOP
8568 IF p_instance_tbl.EXISTS(ins_row) THEN
8569 -- If the debug level = 2 then dump all the parameters values.
8570 IF (l_debug_level > 1) THEN
8571 csi_gen_utility_pvt.put_line( 'update_item_instance' ||
8572 p_api_version ||'-'||
8573 p_commit ||'-'||
8574 p_init_msg_list ||'-'||
8575 p_validation_level );
8579 csi_gen_utility_pvt.dump_organization_unit_tbl(p_org_assignments_tbl);
8576 csi_gen_utility_pvt.dump_instance_rec(p_instance_tbl(ins_row));
8577 csi_gen_utility_pvt.dump_party_tbl(p_party_tbl);
8578 csi_gen_utility_pvt.dump_txn_rec(p_txn_rec);
8580 csi_gen_utility_pvt.dump_pricing_attribs_tbl(p_pricing_attrib_tbl);
8581 csi_gen_utility_pvt.dump_party_account_tbl(p_account_tbl);
8582 csi_gen_utility_pvt.dump_ext_attrib_values_tbl(p_ext_attrib_values_tbl);
8583 END IF;
8584 -- Start API body
8585 -- This will fetch old instance data for the purpose of contracts
8586 OPEN old_ins_csr (p_instance_tbl(ins_row).instance_id);
8587 FETCH old_ins_csr INTO l_old_ins_csr;
8588 CLOSE old_ins_csr;
8589 -- Following table will be used for calling contracts.
8590 l_old_instance_tbl(ins_row).instance_id := p_instance_tbl(ins_row).instance_id;
8591 l_old_instance_tbl(ins_row).active_end_date := l_old_ins_csr.active_end_date;
8592 l_old_instance_tbl(ins_row).quantity := l_old_ins_csr.quantity;
8593 l_old_instance_tbl(ins_row).install_date := l_old_ins_csr.install_date;
8594 l_old_instance_tbl(ins_row).last_oe_order_line_id := l_old_ins_csr.last_oe_order_line_id;
8595 l_old_instance_tbl(ins_row).in_transit_order_line_id := l_old_ins_csr.in_transit_order_line_id;
8596 --
8597 -- End fetching old instance data for the purpose of contracts
8598 --
8599 l_new_instance_rec := p_instance_tbl(ins_row);
8600 --
8601 -- Check whether the instance is getting expired. If so, then update the other attributes
8602 -- and then expire the instance.
8603 IF l_new_instance_rec.active_end_date IS NOT NULL AND
8604 l_new_instance_rec.active_end_date <> FND_API.G_MISS_DATE AND
8605 l_new_instance_rec.active_end_date < sysdate THEN
8606 -- Store the following attributes in a PL/SQL tbl.
8607 -- ins_row is used as the slot# so that when Update API is called again, the status of
8608 -- p_instance_tbl can be updated directly using this ins_row.
8609 l_exp_tbl(ins_row).instance_id := l_new_instance_rec.instance_id;
8610 l_exp_tbl(ins_row).instance_status_id := l_new_instance_rec.instance_status_id;
8611 l_exp_tbl(ins_row).active_end_date := l_new_instance_rec.active_end_date;
8612 l_new_instance_rec.active_end_date := fnd_api.g_miss_date;
8613 l_new_instance_rec.instance_status_id := fnd_api.g_miss_num;
8614 END IF;
8615 --
8616 -- If any of the attribute values are different from the DB value then call Update API.
8617 IF (csi_Item_Instance_Pvt.Anything_To_Update(p_instance_rec => l_new_instance_rec)) THEN
8618 l_child_exists := 'N';
8619 IF px_child_inst_tbl.count > 0 THEN
8620 FOR k IN px_child_inst_tbl.FIRST .. px_child_inst_tbl.LAST LOOP
8621 IF l_new_instance_rec.instance_id = px_child_inst_tbl(k) THEN
8622 l_child_exists := 'Y';
8623 exit;
8624 END IF;
8625 END LOOP;
8626 END IF;
8627 --
8628 IF l_child_exists = 'Y' THEN -- Call update API with the New object version Number
8629 select object_version_number
8630 into l_new_instance_rec.object_version_number
8631 from CSI_ITEM_INSTANCES
8632 where instance_id = l_new_instance_rec.instance_id;
8633 END IF;
8634 -- Call the update_item_instance private API to update the instances
8635 l_iface_error_text := NULL;
8636 csi_item_instance_pvt.update_item_instance
8637 (
8638 p_api_version => p_api_version
8639 ,p_commit => fnd_api.g_false
8640 ,p_init_msg_list => p_init_msg_list
8641 ,p_validation_level => p_validation_level
8642 ,p_instance_rec => l_new_instance_rec
8643 ,p_txn_rec => p_txn_rec
8644 ,x_instance_id_lst => x_instance_id_lst
8645 ,x_return_status => x_return_status
8646 ,x_msg_count => x_msg_count
8647 ,x_msg_data => x_msg_data
8648 ,p_item_attribute_tbl => l_item_attribute_tbl
8649 ,p_location_tbl => l_location_tbl
8650 ,p_generic_id_tbl => l_generic_id_tbl
8651 ,p_lookup_tbl => l_lookup_tbl
8652 ,p_ins_count_rec => l_ins_count_rec
8653 ,p_oks_txn_inst_tbl => px_oks_txn_inst_tbl
8654 ,p_child_inst_tbl => px_child_inst_tbl
8655 );
8656
8657 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
8658 csi_gen_utility_pvt.put_line( 'Error from UPDATE_ITEM_INSTANCE_PVT..');
8659 l_msg_index := 1;
8660 l_msg_count := x_msg_count;
8661 WHILE l_msg_count > 0 LOOP
8662 x_msg_data := FND_MSG_PUB.GET
8663 ( l_msg_index,
8664 FND_API.G_FALSE );
8665 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
8666 l_msg_index := l_msg_index + 1;
8667 l_msg_count := l_msg_count - 1;
8668 END LOOP;
8669 -- RAISE FND_API.G_EXC_ERROR;
8670 p_instance_tbl(ins_row).processed_flag := 'E';
8671 l_iface_error_text := substr(x_msg_data,1,2000);
8672 l_grp_error_count := l_grp_error_count + 1;
8673 l_grp_upd_error_tbl(l_grp_error_count).instance_id := l_new_instance_rec.instance_id;
8674 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'INSTANCE';
8675 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
8676 ELSE
8677 p_instance_tbl(ins_row).processed_flag := 'P';
8678 END IF;
8679 END IF;
8680 END IF; -- Check Instance Tbl existance.
8684 --
8681 END LOOP;
8682 --
8683 px_child_inst_tbl.DELETE;
8685 END IF;
8686 --
8687 px_child_inst_tbl.DELETE;
8688 --
8689 IF p_party_tbl.count > 0 THEN
8690 FOR pty IN p_party_tbl.FIRST .. p_party_tbl.LAST LOOP
8691 IF p_party_tbl.EXISTS(pty) THEN
8692 IF p_party_tbl(pty).contact_flag <> 'Y' THEN
8693 IF p_party_tbl(pty).relationship_type_code = 'OWNER' THEN
8694 l_owner_count := l_owner_count + 1;
8695 l_owner_party_tbl(l_owner_count) := p_party_tbl(pty);
8696 IF p_account_tbl.count > 0 THEN
8697 FOR acct IN p_account_tbl.FIRST .. p_account_tbl.LAST LOOP
8698 IF p_account_tbl.EXISTS(acct) THEN
8699 IF p_account_tbl(acct).parent_tbl_index = pty THEN
8700 l_owner_acct_count := l_owner_acct_count + 1;
8701 l_owner_acct_tbl(l_owner_acct_count) := p_account_tbl(acct);
8702 l_owner_acct_tbl(l_owner_acct_count).parent_tbl_index := l_owner_count;
8703 --Changes for Web ADI
8704 --l_owner_acct_tbl(l_owner_acct_count).call_contracts := fnd_api.g_true;
8705 IF(Nvl(l_owner_acct_tbl(l_owner_acct_count).CALL_CONTRACTS, FND_API.G_FALSE)
8706 = FND_API.G_FALSE) AND (p_txn_rec.transaction_type_id = 3) AND
8707 (nvl(p_txn_rec.source_group_ref, FND_API.G_MISS_CHAR) = 'WBADI') THEN
8708 l_owner_acct_tbl(l_owner_acct_count).call_contracts := fnd_api.g_false;
8709 ELSE
8710 l_owner_acct_tbl(l_owner_acct_count).call_contracts := fnd_api.g_true;
8711 END IF;
8712 --Changes for Web ADI end
8713 END IF;
8714 END IF;
8715 END LOOP; -- Account Loop
8716 END IF;
8717 ELSE -- Non-Owner Party
8718 l_party_count := l_party_count + 1;
8719 l_party_tbl(l_party_count) := p_party_tbl(pty);
8720 l_pty_slot := l_pty_slot +1 ;
8721 l_party_slot_tbl(l_pty_slot) := pty;
8722 IF p_account_tbl.count > 0 THEN
8723 FOR acct IN p_account_tbl.FIRST .. p_account_tbl.LAST LOOP
8724 IF p_account_tbl.EXISTS(acct) THEN
8725 IF p_account_tbl(acct).parent_tbl_index = pty THEN
8726 l_pty_acct_count := l_pty_acct_count + 1;
8727 l_pty_acct_tbl(l_pty_acct_count) := p_account_tbl(acct);
8728 l_pty_acct_tbl(l_pty_acct_count).parent_tbl_index := l_party_count;
8729 END IF;
8730 END IF;
8731 END LOOP; -- Account Loop
8732 END IF;
8733 END IF; -- Relationship Type check
8734 ELSE -- Contact Party
8735 l_contact_count := l_contact_count + 1;
8736 l_contact_party_tbl(l_contact_count) := p_party_tbl(pty);
8737 END IF; -- Contact flag check
8738 END IF;
8739 END LOOP; -- Party Loop
8740 END IF;
8741 --
8742 -- Owner Party Tbl will always have instance_party_id and hence we need to call Update Party API
8743 -- If the corresponding account entity is getting created then Update Party API hadles that.
8744 IF l_owner_party_tbl.count > 0 THEN
8745 FOR J IN l_owner_party_tbl.FIRST .. l_owner_party_tbl.LAST LOOP
8746 l_upd_party_tbl.DELETE;
8747 l_upd_acct_tbl.DELETE;
8748 l_upd_count := 0;
8749 --
8750 l_upd_party_tbl(1) := l_owner_party_tbl(J);
8751 --
8752 IF l_owner_acct_tbl.count > 0 THEN
8753 FOR K IN l_owner_acct_tbl.FIRST .. l_owner_acct_tbl.LAST LOOP
8754 IF l_owner_acct_tbl(K).parent_tbl_index = J THEN
8755 l_upd_count := l_upd_count + 1;
8756 l_upd_acct_tbl(l_upd_count) := l_owner_acct_tbl(K);
8757 l_upd_acct_tbl(l_upd_count).parent_tbl_index := 1; -- Party tbl always contains 1 rec
8758 END IF;
8759 END LOOP;
8760 END IF;
8761 --
8762 -- Call Update Party API for this set
8763 csi_party_relationships_pub.update_inst_party_relationship
8764 ( p_api_version => p_api_version
8765 ,p_commit => fnd_api.g_false
8766 ,p_init_msg_list => fnd_api.g_false
8767 ,p_validation_level => p_validation_level
8768 ,p_party_tbl => l_upd_party_tbl
8769 ,p_party_account_tbl=> l_upd_acct_tbl
8770 ,p_txn_rec => p_txn_rec
8771 ,p_oks_txn_inst_tbl => px_oks_txn_inst_tbl
8772 ,x_return_status => x_return_status
8773 ,x_msg_count => x_msg_count
8774 ,x_msg_data => x_msg_data
8775 );
8776 --
8777 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
8778 l_msg_index := 1;
8779 l_msg_count := x_msg_count;
8780 WHILE l_msg_count > 0
8781 LOOP
8782 x_msg_data := FND_MSG_PUB.GET
8783 ( l_msg_index,
8784 FND_API.G_FALSE );
8785 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
8786 l_msg_index := l_msg_index + 1;
8787 l_msg_count := l_msg_count - 1;
8788 END LOOP;
8789 l_iface_error_text := substr(x_msg_data,1,2000);
8790 l_grp_error_count := l_grp_error_count + 1;
8791 l_grp_upd_error_tbl(l_grp_error_count).instance_id := l_upd_party_tbl(1).instance_id;
8792 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'PARTY';
8793 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
8794 END IF;
8795 END LOOP;
8796 END IF; -- Owner Party Tbl count check
8797 --
8798 IF l_party_tbl.count > 0 THEN
8799 FOR J IN l_party_tbl.FIRST .. l_party_tbl.LAST LOOP
8800 l_upd_party_tbl.DELETE;
8801 l_upd_acct_tbl.DELETE;
8802 l_upd_count := 0;
8803 --
8804 l_upd_party_tbl(1) := l_party_tbl(J);
8805 --
8806 IF l_pty_acct_tbl.count > 0 THEN
8807 FOR K IN l_pty_acct_tbl.FIRST .. l_pty_acct_tbl.LAST LOOP
8808 IF l_pty_acct_tbl(K).parent_tbl_index = J THEN
8809 l_upd_count := l_upd_count + 1;
8810 l_upd_acct_tbl(l_upd_count) := l_pty_acct_tbl(K);
8811 l_upd_acct_tbl(l_upd_count).parent_tbl_index := 1; -- Party tbl always contains 1 record
8812 END IF;
8816 IF l_upd_party_tbl(1).instance_party_id IS NULL OR
8813 END LOOP;
8814 END IF;
8815 --
8817 l_upd_party_tbl(1).instance_party_id = FND_API.G_MISS_NUM THEN
8818 -- Call Create Party API
8819 csi_party_relationships_pub.create_inst_party_relationship
8820 ( p_api_version => p_api_version
8821 ,p_commit => fnd_api.g_false
8822 ,p_init_msg_list => p_init_msg_list
8823 ,p_validation_level => p_validation_level
8824 ,p_party_tbl => l_upd_party_tbl
8825 ,p_party_account_tbl => l_upd_acct_tbl
8826 ,p_txn_rec => p_txn_rec
8827 ,p_oks_txn_inst_tbl => px_oks_txn_inst_tbl
8828 ,x_return_status => x_return_status
8829 ,x_msg_count => x_msg_count
8830 ,x_msg_data => x_msg_data
8831 );
8832 --
8833 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
8834 l_msg_index := 1;
8835 l_msg_count := x_msg_count;
8836 WHILE l_msg_count > 0
8837 LOOP
8838 x_msg_data := FND_MSG_PUB.GET
8839 ( l_msg_index,
8840 FND_API.G_FALSE );
8841 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
8842 l_msg_index := l_msg_index + 1;
8843 l_msg_count := l_msg_count - 1;
8844 END LOOP;
8845 l_iface_error_text := substr(x_msg_data,1,2000);
8846 l_grp_error_count := l_grp_error_count + 1;
8847 l_grp_upd_error_tbl(l_grp_error_count).instance_id := l_upd_party_tbl(1).instance_id;
8848 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'PARTY';
8849 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
8850 ELSE -- Update the instance_party_id for the corresponding p_party_tbl
8851 IF l_party_slot_tbl.count > 0 THEN
8852 p_party_tbl(l_party_slot_tbl(J)).instance_party_id :=
8853 l_upd_party_tbl(1).instance_party_id;
8854 END IF;
8855 END IF;
8856 ELSE
8857 -- Call Update Party API
8858 csi_party_relationships_pub.update_inst_party_relationship
8859 ( p_api_version => p_api_version
8860 ,p_commit => fnd_api.g_false
8861 ,p_init_msg_list => fnd_api.g_false
8862 ,p_validation_level => p_validation_level
8863 ,p_party_tbl => l_upd_party_tbl
8864 ,p_party_account_tbl=> l_upd_acct_tbl
8865 ,p_txn_rec => p_txn_rec
8866 ,p_oks_txn_inst_tbl => px_oks_txn_inst_tbl
8867 ,x_return_status => x_return_status
8868 ,x_msg_count => x_msg_count
8869 ,x_msg_data => x_msg_data
8870 );
8871 --
8872 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
8873 l_msg_index := 1;
8874 l_msg_count := x_msg_count;
8875 WHILE l_msg_count > 0
8876 LOOP
8877 x_msg_data := FND_MSG_PUB.GET
8878 ( l_msg_index,
8879 FND_API.G_FALSE );
8880 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
8881 l_msg_index := l_msg_index + 1;
8882 l_msg_count := l_msg_count - 1;
8883 END LOOP;
8884 l_iface_error_text := substr(x_msg_data,1,2000);
8885 l_grp_error_count := l_grp_error_count + 1;
8886 l_grp_upd_error_tbl(l_grp_error_count).instance_id := l_upd_party_tbl(1).instance_id;
8887 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'PARTY';
8888 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
8889 END IF;
8890 END IF;
8891 END LOOP;
8892 END IF; -- Non-Owner Party Tbl count check
8893 --
8894 -- Call Party API for Contacts
8895 l_upd_acct_tbl.DELETE;
8896 IF l_contact_party_tbl.count > 0 THEN
8897 FOR J IN l_contact_party_tbl.FIRST .. l_contact_party_tbl.LAST LOOP
8898 Begin
8899 l_upd_party_tbl.DELETE;
8900 l_upd_party_tbl(1) := l_contact_party_tbl(J);
8901 --
8902 -- Get the correct contact_ip_id if not passed
8903 --
8904 IF l_contact_party_tbl(J).contact_ip_id IS NULL OR
8905 l_contact_party_tbl(J).contact_ip_id = FND_API.G_MISS_NUM THEN
8906 IF NVL(l_contact_party_tbl(J).contact_parent_tbl_index,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM
8907 THEN
8908 IF p_party_tbl.EXISTS(l_contact_party_tbl(J).contact_parent_tbl_index) THEN
8909 l_contact_party_tbl(J).contact_ip_id :=
8910 p_party_tbl(l_contact_party_tbl(J).contact_parent_tbl_index).instance_party_id;
8911 l_upd_party_tbl(1).contact_ip_id := l_contact_party_tbl(J).contact_ip_id;
8912 ELSE
8913 l_iface_error_text := 'Invalid contact_parent_tbl_index';
8914 l_grp_error_count := l_grp_error_count + 1;
8915 l_grp_upd_error_tbl(l_grp_error_count).instance_id := l_upd_party_tbl(1).instance_id;
8916 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'PARTY';
8917 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
8918 Raise Process_next;
8919 END IF;
8920 ELSE
8921 l_iface_error_text := 'Either Contact_parent_tbl_index or Contact_Ip_ID should be passed for Contacts';
8922 l_grp_error_count := l_grp_error_count + 1;
8923 l_grp_upd_error_tbl(l_grp_error_count).instance_id := l_upd_party_tbl(1).instance_id;
8924 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'PARTY';
8925 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
8926 Raise Process_next;
8927 END IF;
8928 END IF;
8929 --
8930 IF l_upd_party_tbl(1).instance_party_id IS NULL OR
8931 l_upd_party_tbl(1).instance_party_id = FND_API.G_MISS_NUM THEN
8932 -- Call Create Party API
8933 csi_party_relationships_pub.create_inst_party_relationship
8934 ( p_api_version => p_api_version
8935 ,p_commit => fnd_api.g_false
8936 ,p_init_msg_list => p_init_msg_list
8937 ,p_validation_level => p_validation_level
8938 ,p_party_tbl => l_upd_party_tbl
8942 ,x_return_status => x_return_status
8939 ,p_party_account_tbl => l_upd_acct_tbl
8940 ,p_txn_rec => p_txn_rec
8941 ,p_oks_txn_inst_tbl => px_oks_txn_inst_tbl
8943 ,x_msg_count => x_msg_count
8944 ,x_msg_data => x_msg_data
8945 );
8946 --
8947 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
8948 l_msg_index := 1;
8949 l_msg_count := x_msg_count;
8950 WHILE l_msg_count > 0
8951 LOOP
8952 x_msg_data := FND_MSG_PUB.GET
8953 ( l_msg_index,
8954 FND_API.G_FALSE );
8955 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
8956 l_msg_index := l_msg_index + 1;
8957 l_msg_count := l_msg_count - 1;
8958 END LOOP;
8959 l_iface_error_text := substr(x_msg_data,1,2000);
8960 l_grp_error_count := l_grp_error_count + 1;
8961 l_grp_upd_error_tbl(l_grp_error_count).instance_id := l_upd_party_tbl(1).instance_id;
8962 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'PARTY';
8963 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
8964 END IF;
8965 ELSE
8966 -- Call Update Party API
8967 csi_party_relationships_pub.update_inst_party_relationship
8968 ( p_api_version => p_api_version
8969 ,p_commit => fnd_api.g_false
8970 ,p_init_msg_list => fnd_api.g_false
8971 ,p_validation_level => p_validation_level
8972 ,p_party_tbl => l_upd_party_tbl
8973 ,p_party_account_tbl=> l_upd_acct_tbl
8974 ,p_txn_rec => p_txn_rec
8975 ,p_oks_txn_inst_tbl => px_oks_txn_inst_tbl
8976 ,x_return_status => x_return_status
8977 ,x_msg_count => x_msg_count
8978 ,x_msg_data => x_msg_data
8979 );
8980 --
8981 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
8982 l_msg_index := 1;
8983 l_msg_count := x_msg_count;
8984 WHILE l_msg_count > 0
8985 LOOP
8986 x_msg_data := FND_MSG_PUB.GET
8987 ( l_msg_index,
8988 FND_API.G_FALSE );
8989 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
8990 l_msg_index := l_msg_index + 1;
8991 l_msg_count := l_msg_count - 1;
8992 END LOOP;
8993 l_iface_error_text := substr(x_msg_data,1,2000);
8994 l_grp_error_count := l_grp_error_count + 1;
8995 l_grp_upd_error_tbl(l_grp_error_count).instance_id := l_upd_party_tbl(1).instance_id;
8996 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'PARTY';
8997 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
8998 END IF;
8999 END IF;
9000 Exception
9001 when Process_next then
9002 null;
9003 End;
9004 END LOOP;
9005 END IF; -- l_contact_party_tbl count check
9006 -- Call update_organization_unit to associate any org. assignments
9007 -- to the item instance
9008 IF (p_org_assignments_tbl.count > 0) THEN
9009 FOR tab_row IN p_org_assignments_tbl.FIRST .. p_org_assignments_tbl.LAST
9010 LOOP
9011 l_iface_error_text := NULL;
9012 IF p_org_assignments_tbl.EXISTS(tab_row) THEN
9013 IF ((p_org_assignments_tbl(tab_row).instance_ou_id IS NULL)
9014 OR
9015 (p_org_assignments_tbl(tab_row).instance_ou_id = FND_API.G_MISS_NUM))
9016 THEN
9017 csi_organization_unit_pvt.create_organization_unit
9018 (p_api_version => p_api_version
9019 ,p_commit => fnd_api.g_false
9020 ,p_init_msg_list => p_init_msg_list
9021 ,p_validation_level => p_validation_level
9022 ,p_org_unit_rec => p_org_assignments_tbl(tab_row)
9023 ,p_txn_rec => p_txn_rec
9024 ,x_return_status => x_return_status
9025 ,x_msg_count => x_msg_count
9026 ,x_msg_data => x_msg_data
9027 ,p_lookup_tbl => l_ou_lookup_tbl
9028 ,p_ou_count_rec => l_ou_count_rec
9029 ,p_ou_id_tbl => l_ou_id_tbl
9030 );
9031 ELSE
9032 csi_organization_unit_pvt.update_organization_unit
9033 (p_api_version => p_api_version
9034 ,p_commit => fnd_api.g_false
9035 ,p_init_msg_list => p_init_msg_list
9036 ,p_validation_level => p_validation_level
9037 ,p_org_unit_rec => p_org_assignments_tbl(tab_row)
9038 ,p_txn_rec => p_txn_rec
9039 ,x_return_status => x_return_status
9040 ,x_msg_count => x_msg_count
9041 ,x_msg_data => x_msg_data
9042 ,p_lookup_tbl => l_ou_lookup_tbl
9043 ,p_ou_count_rec => l_ou_count_rec
9044 ,p_ou_id_tbl => l_ou_id_tbl
9045 );
9046 END IF;
9047 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
9048 csi_gen_utility_pvt.put_line( ' Error from CSI_ORGANIZATION_UNIT_PVT..');
9049 l_msg_index := 1;
9050 l_msg_count := x_msg_count;
9051 WHILE l_msg_count > 0 LOOP
9052 x_msg_data := FND_MSG_PUB.GET
9053 ( l_msg_index,
9054 FND_API.G_FALSE );
9055 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
9056 l_msg_index := l_msg_index + 1;
9057 l_msg_count := l_msg_count - 1;
9058 END LOOP;
9059 l_iface_error_text := substr(x_msg_data,1,2000);
9060 l_grp_error_count := l_grp_error_count + 1;
9061 l_grp_upd_error_tbl(l_grp_error_count).instance_id := p_org_assignments_tbl(tab_row).instance_id;
9062 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'ORG_ASSIGN';
9066 END IF;
9063 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
9064 -- RAISE FND_API.G_EXC_ERROR;
9065 END IF;
9067 END LOOP;
9068 END IF;
9069
9070 -- Call update_pricing_attribs to associate any pricing attributes
9071 -- to the item instance
9072 IF (p_pricing_attrib_tbl.count > 0) THEN
9073 FOR tab_row IN p_pricing_attrib_tbl.FIRST .. p_pricing_attrib_tbl.LAST
9074 LOOP
9075 l_iface_error_text := NULL;
9076 IF p_pricing_attrib_tbl.EXISTS(tab_row) THEN
9077 IF ((p_pricing_attrib_tbl(tab_row).pricing_attribute_id IS NULL)
9078 OR
9079 (p_pricing_attrib_tbl(tab_row).pricing_attribute_id = FND_API.G_MISS_NUM))
9080 THEN
9081 csi_pricing_attribs_pvt.create_pricing_attribs
9082 ( p_api_version => p_api_version
9083 ,p_commit => p_commit
9084 ,p_init_msg_list => p_init_msg_list
9085 ,p_validation_level => p_validation_level
9086 ,p_pricing_attribs_rec => p_pricing_attrib_tbl(tab_row)
9087 ,p_txn_rec => p_txn_rec
9088 ,x_return_status => x_return_status
9089 ,x_msg_count => x_msg_count
9090 ,x_msg_data => x_msg_data
9091 );
9092 ELSE
9093 csi_pricing_attribs_pvt.update_pricing_attribs
9094 ( p_api_version => p_api_version
9095 ,p_commit => fnd_api.g_false
9096 ,p_init_msg_list => p_init_msg_list
9097 ,p_validation_level => p_validation_level
9098 ,p_pricing_attribs_rec => p_pricing_attrib_tbl(tab_row)
9099 ,p_txn_rec => p_txn_rec
9100 ,x_return_status => x_return_status
9101 ,x_msg_count => x_msg_count
9102 ,x_msg_data => x_msg_data
9103 );
9104 END IF;
9105
9106 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
9107 csi_gen_utility_pvt.put_line( ' Error from CSI_PRICING_ATTRIBS_PVT..');
9108 l_msg_index := 1;
9109 l_msg_count := x_msg_count;
9110 WHILE l_msg_count > 0 LOOP
9111 x_msg_data := FND_MSG_PUB.GET
9112 ( l_msg_index,
9113 FND_API.G_FALSE );
9114 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
9115 l_msg_index := l_msg_index + 1;
9116 l_msg_count := l_msg_count - 1;
9117 END LOOP;
9118 l_iface_error_text := substr(x_msg_data,1,2000);
9119 l_grp_error_count := l_grp_error_count + 1;
9120 l_grp_upd_error_tbl(l_grp_error_count).instance_id := p_pricing_attrib_tbl(tab_row).instance_id;
9121 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'PRICING';
9122 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
9123 -- RAISE FND_API.G_EXC_ERROR;
9124 END IF;
9125 END IF;
9126 END LOOP;
9127 END IF;
9128
9129 -- Call create_extended_attribs to associate any extended attributes
9130 -- to the item instance
9131 IF (p_ext_attrib_values_tbl.count > 0) THEN
9132 FOR tab_row IN p_ext_attrib_values_tbl.FIRST .. p_ext_attrib_values_tbl.LAST
9133 LOOP
9134 l_iface_error_text := NULL;
9135 IF p_ext_attrib_values_tbl.EXISTS (tab_row) THEN
9136 IF ((p_ext_attrib_values_tbl(tab_row).attribute_value_id IS NULL)
9137 OR
9138 (p_ext_attrib_values_tbl(tab_row).attribute_value_id = FND_API.G_MISS_NUM))
9139 THEN
9140 csi_item_instance_pvt.create_extended_attrib_values
9141 ( p_api_version => p_api_version
9142 ,p_commit => fnd_api.g_false
9143 ,p_init_msg_list => p_init_msg_list
9144 ,p_validation_level => p_validation_level
9145 ,p_ext_attrib_rec => p_ext_attrib_values_tbl(tab_row)
9146 ,p_txn_rec => p_txn_rec
9147 ,x_return_status => x_return_status
9148 ,x_msg_count => x_msg_count
9149 ,x_msg_data => x_msg_data
9150 ,p_ext_id_tbl => l_ext_id_tbl
9151 ,p_ext_count_rec => l_ext_count_rec
9152 ,p_ext_attr_tbl => l_ext_attr_tbl
9153 ,p_ext_cat_tbl => l_ext_cat_tbl
9154 );
9155 ELSE
9156 -- call the update extended attributes api
9157 csi_item_instance_pvt.update_extended_attrib_values
9158 ( p_api_version => p_api_version
9159 ,p_commit => fnd_api.g_false
9160 ,p_init_msg_list => p_init_msg_list
9161 ,p_validation_level => p_validation_level
9162 ,p_ext_attrib_rec => p_ext_attrib_values_tbl(tab_row)
9163 ,p_txn_rec => p_txn_rec
9164 ,x_return_status => x_return_status
9165 ,x_msg_count => x_msg_count
9166 ,x_msg_data => x_msg_data
9167 );
9168 END IF;
9169 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
9170 csi_gen_utility_pvt.put_line( ' Error from CSI_ITEM_INSTANCE_PVT.EXTENDED_ATTRIBS..');
9171 l_msg_index := 1;
9172 l_msg_count := x_msg_count;
9173 WHILE l_msg_count > 0 LOOP
9177 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
9174 x_msg_data := FND_MSG_PUB.GET
9175 ( l_msg_index,
9176 FND_API.G_FALSE );
9178 l_msg_index := l_msg_index + 1;
9179 l_msg_count := l_msg_count - 1;
9180 END LOOP;
9181 l_iface_error_text := substr(x_msg_data,1,2000);
9182 l_grp_error_count := l_grp_error_count + 1;
9183 l_grp_upd_error_tbl(l_grp_error_count).instance_id := p_ext_attrib_values_tbl(tab_row).instance_id;
9184 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'EXT_ATTRIBS';
9185 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
9186 -- RAISE FND_API.G_EXC_ERROR;
9187 END IF;
9188 END IF; -- exist if
9189 END LOOP; -- for loop
9190 END IF;
9191
9192 -- Call create_asset_assignments to associate any assets associated
9193 -- to the item instance
9194 IF (p_asset_assignment_tbl.count > 0) THEN
9195 FOR tab_row IN p_asset_assignment_tbl.FIRST .. p_asset_assignment_tbl.LAST
9196 LOOP
9197 l_iface_error_text := NULL;
9198 IF p_asset_assignment_tbl.EXISTS(tab_row) THEN
9199 IF ((p_asset_assignment_tbl(tab_row).instance_asset_id IS NULL)
9200 OR
9201 (p_asset_assignment_tbl(tab_row).instance_asset_id = FND_API.G_MISS_NUM)) THEN
9202 csi_asset_pvt.create_instance_asset
9203 (p_api_version => p_api_version
9204 ,p_commit => fnd_api.g_false
9205 ,p_init_msg_list => p_init_msg_list
9206 ,p_validation_level => p_validation_level
9207 ,p_instance_asset_rec => p_asset_assignment_tbl(tab_row)
9208 ,p_txn_rec => p_txn_rec
9209 ,x_return_status => x_return_status
9210 ,x_msg_count => x_msg_count
9211 ,x_msg_data => x_msg_data
9212 ,p_lookup_tbl => l_asset_lookup_tbl
9213 ,p_asset_count_rec => l_asset_count_rec
9214 ,p_asset_id_tbl => l_asset_id_tbl
9215 ,p_asset_loc_tbl => l_asset_loc_tbl
9216 );
9217 ELSE
9218 --call the update assets api
9219 csi_asset_pvt.update_instance_asset
9220 (p_api_version => p_api_version
9221 ,p_commit => fnd_api.g_false
9222 ,p_init_msg_list => p_init_msg_list
9223 ,p_validation_level => p_validation_level
9224 ,p_instance_asset_rec => p_asset_assignment_tbl(tab_row)
9225 ,p_txn_rec => p_txn_rec
9226 ,x_return_status => x_return_status
9227 ,x_msg_count => x_msg_count
9228 ,x_msg_data => x_msg_data
9229 ,p_lookup_tbl => l_asset_lookup_tbl
9230 ,p_asset_count_rec => l_asset_count_rec
9231 ,p_asset_id_tbl => l_asset_id_tbl
9232 ,p_asset_loc_tbl => l_asset_loc_tbl
9233 );
9234 END IF;
9235 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
9236 csi_gen_utility_pvt.put_line( ' Error from CSI_ASSET_PVT..');
9237 l_msg_index := 1;
9238 l_msg_count := x_msg_count;
9239 WHILE l_msg_count > 0 LOOP
9240 x_msg_data := FND_MSG_PUB.GET
9241 ( l_msg_index,
9242 FND_API.G_FALSE );
9243 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
9244 l_msg_index := l_msg_index + 1;
9245 l_msg_count := l_msg_count - 1;
9246 END LOOP;
9247 l_iface_error_text := substr(x_msg_data,1,2000);
9248 l_grp_error_count := l_grp_error_count + 1;
9249 l_grp_upd_error_tbl(l_grp_error_count).instance_id := p_asset_assignment_tbl(tab_row).instance_id;
9250 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'ASSET';
9251 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
9252 -- RAISE FND_API.G_EXC_ERROR;
9253 END IF;
9254 END IF;
9255 END LOOP;
9256 END IF;
9257 --
9258 -- Expire the Item Instances
9259 --
9260 IF l_exp_tbl.count > 0 THEN
9261 FOR k IN l_exp_tbl.FIRST .. l_exp_tbl.LAST LOOP -- 'k' will directly map to p_instance_tbl slot#
9262 IF l_exp_tbl.EXISTS(k) THEN
9263 l_new_instance_rec := l_temp_instance_rec;
9264 Begin
9265 select active_end_date,object_version_number
9266 into l_new_instance_rec.active_end_date,l_new_instance_rec.object_version_number
9267 from CSI_ITEM_INSTANCES
9268 where instance_id = l_exp_tbl(k).instance_id;
9269 Exception
9270 when no_data_found then
9271 p_instance_tbl(k).processed_flag := 'E';
9272 l_iface_error_text := 'Instance ID '||to_char(l_exp_tbl(k).instance_id)||
9273 ' Does not exist in Installed Base';
9274 l_grp_error_count := l_grp_error_count + 1;
9275 l_grp_upd_error_tbl(l_grp_error_count).instance_id := l_exp_tbl(k).instance_id;
9276 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'INSTANCE';
9277 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
9278 End;
9279 --
9280 IF l_new_instance_rec.active_end_date IS NOT NULL AND
9281 l_new_instance_rec.active_end_date < SYSDATE THEN
9282 Null; -- Instance would have got expired during parent instance expiry
9283 ELSE
9284 l_new_instance_rec.instance_id := l_exp_tbl(k).instance_id;
9288 -- Call the update_item_instance private API to update the instances
9285 l_new_instance_rec.active_end_date := l_exp_tbl(k).active_end_date;
9286 l_new_instance_rec.instance_status_id := l_exp_tbl(k).instance_status_id;
9287 --
9289 l_iface_error_text := NULL;
9290 csi_item_instance_pvt.update_item_instance
9291 (
9292 p_api_version => p_api_version
9293 ,p_commit => fnd_api.g_false
9294 ,p_init_msg_list => p_init_msg_list
9295 ,p_validation_level => p_validation_level
9296 ,p_instance_rec => l_new_instance_rec
9297 ,p_txn_rec => p_txn_rec
9298 ,x_instance_id_lst => x_instance_id_lst
9299 ,x_return_status => x_return_status
9300 ,x_msg_count => x_msg_count
9301 ,x_msg_data => x_msg_data
9302 ,p_item_attribute_tbl => l_item_attribute_tbl
9303 ,p_location_tbl => l_location_tbl
9304 ,p_generic_id_tbl => l_generic_id_tbl
9305 ,p_lookup_tbl => l_lookup_tbl
9306 ,p_ins_count_rec => l_ins_count_rec
9307 ,p_oks_txn_inst_tbl => px_oks_txn_inst_tbl
9308 ,p_child_inst_tbl => px_child_inst_tbl
9309 );
9310
9311 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
9312 csi_gen_utility_pvt.put_line( 'Error from UPDATE_ITEM_INSTANCE_PVT..');
9313 l_msg_index := 1;
9314 l_msg_count := x_msg_count;
9315 WHILE l_msg_count > 0 LOOP
9316 x_msg_data := FND_MSG_PUB.GET
9317 ( l_msg_index,
9318 FND_API.G_FALSE );
9319 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
9320 l_msg_index := l_msg_index + 1;
9321 l_msg_count := l_msg_count - 1;
9322 END LOOP;
9323 -- RAISE FND_API.G_EXC_ERROR;
9324 p_instance_tbl(k).processed_flag := 'E';
9325 l_iface_error_text := substr(x_msg_data,1,2000);
9326 l_grp_error_count := l_grp_error_count + 1;
9327 l_grp_upd_error_tbl(l_grp_error_count).instance_id := l_new_instance_rec.instance_id;
9328 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'INSTANCE';
9329 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
9330 ELSE
9331 p_instance_tbl(k).processed_flag := 'P';
9332 END IF;
9333 END IF;
9334 END IF;
9335 END LOOP;
9336 END IF; -- l_exp_tbl.count check
9337 --
9338 -- Call the Version label API to associate a version label for the updated record
9339 IF (p_instance_tbl.count > 0) THEN
9340 FOR ins_row IN p_instance_tbl.FIRST .. p_instance_tbl.LAST
9341 LOOP
9342 l_iface_error_text := NULL;
9343 IF p_instance_tbl.EXISTS(ins_row) AND
9344 p_instance_tbl(ins_row).processed_flag = 'P' THEN
9345 -- Added by rtalluri for Bug 2256588 on 03/26/02
9346 -- Call the Version label API to associate a version label for the updated record
9347 OPEN instance_csr (p_instance_tbl(ins_row).instance_id);
9348 FETCH instance_csr INTO l_instance_csr;
9349 CLOSE instance_csr;
9350 --
9351 IF p_instance_tbl(ins_row).active_end_date = FND_API.G_MISS_DATE
9352 THEN
9353 l_active_end_date := l_instance_csr.active_end_date;
9354 ELSE
9355 l_active_end_date := p_instance_tbl(ins_row).active_end_date;
9356 END IF;
9357 --
9358 IF ((l_active_end_date > SYSDATE) OR
9359 (l_active_end_date IS NULL))
9360 THEN
9361 IF ((p_instance_tbl(ins_row).version_label IS NOT NULL) AND
9362 (p_instance_tbl(ins_row).version_label <> FND_API.G_MISS_CHAR))
9363 THEN
9364 -- Check if version label already exists in csi_i_version_labels
9365 -- If exists then raise an error message
9366 BEGIN
9367 SELECT 'x'
9368 INTO l_dummy
9369 FROM csi_i_version_labels
9370 WHERE instance_id = p_instance_tbl(ins_row).instance_id
9371 AND version_label = p_instance_tbl(ins_row).version_label
9372 AND ROWNUM=1;
9373 l_iface_error_text := substr(x_msg_data,1,2000);
9374 l_grp_error_count := l_grp_error_count + 1;
9375 l_grp_upd_error_tbl(l_grp_error_count).instance_id := p_instance_tbl(ins_row).instance_id;
9376 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'VERSION_LABEL';
9377 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
9378 EXCEPTION
9379 WHEN NO_DATA_FOUND THEN
9380 l_version_label_rec := l_temp_version_label_rec;
9381 l_version_label_rec.instance_id := p_instance_tbl(ins_row).instance_id;
9382 l_version_label_rec.version_label := p_instance_tbl(ins_row).version_label;
9383 l_version_label_rec.description := p_instance_tbl(ins_row).version_label_description;
9384 l_version_label_rec.date_time_stamp := SYSDATE;
9385 -- calling create version label api
9386 csi_item_instance_pvt.create_version_label
9387 ( p_api_version => p_api_version
9388 ,p_commit => p_commit
9389 ,p_init_msg_list => p_init_msg_list
9390 ,p_validation_level => p_validation_level
9391 ,p_version_label_rec => l_version_label_rec
9392 ,p_txn_rec => p_txn_rec
9393 ,x_return_status => x_return_status
9394 ,x_msg_count => x_msg_count
9398 csi_gen_utility_pvt.put_line( ' Error from CSI_ITEM_INSTANCE_PVT.CREATE_VERSION_LABEL..');
9395 ,x_msg_data => x_msg_data );
9396
9397 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
9399 l_msg_index := 1;
9400 l_msg_count := x_msg_count;
9401 WHILE l_msg_count > 0 LOOP
9402 x_msg_data := FND_MSG_PUB.GET
9403 ( l_msg_index,
9404 FND_API.G_FALSE );
9405 csi_gen_utility_pvt.put_line( ' MESSAGE DATA = '||x_msg_data);
9406 l_msg_index := l_msg_index + 1;
9407 l_msg_count := l_msg_count - 1;
9408 END LOOP;
9409 p_instance_tbl(ins_row).processed_flag := 'E';
9410 l_iface_error_text := substr(x_msg_data,1,2000);
9411 l_grp_error_count := l_grp_error_count + 1;
9412 l_grp_upd_error_tbl(l_grp_error_count).instance_id := p_instance_tbl(ins_row).instance_id;
9413 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'VERSION_LABEL';
9414 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
9415 -- RAISE FND_API.G_EXC_ERROR;
9416 ELSE
9417 p_instance_tbl(ins_row).processed_flag := 'P';
9418 END IF;
9419 WHEN OTHERS THEN
9420 p_instance_tbl(ins_row).processed_flag := 'E';
9421 l_iface_error_text := substr(x_msg_data,1,2000);
9422 l_grp_error_count := l_grp_error_count + 1;
9423 l_grp_upd_error_tbl(l_grp_error_count).instance_id := p_instance_tbl(ins_row).instance_id;
9424 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'VERSION_LABEL';
9425 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
9426 END;
9427 END IF; -- p_instance_tbl(ins_row).version_label is not null
9428 END IF; -- l_active_end_date
9429 -- Calling Contracts
9430 -- Added on 02-OCT-01
9431 l_iface_error_text := NULL;
9432 --
9433 BEGIN
9434 SELECT cip.party_id
9435 INTO l_party_id
9436 FROM csi_i_parties cip
9437 WHERE cip.instance_id = p_instance_tbl(ins_row).instance_id
9438 AND cip.relationship_type_code = 'OWNER';
9439 EXCEPTION
9440 WHEN OTHERS THEN
9441 l_party_id := NULL;
9442 END;
9443 --
9444 --Added for WEB ADI
9445 IF(Nvl(p_instance_tbl(ins_row).CALL_CONTRACTS, FND_API.G_FALSE)
9446 = FND_API.G_TRUE) AND (p_txn_rec.transaction_type_id = 3) AND
9447 (nvl(p_txn_rec.source_group_ref, FND_API.G_MISS_CHAR) = 'WBADI')
9448 OR nvl(p_txn_rec.source_group_ref, FND_API.G_MISS_CHAR) <> 'WBADI'
9449 THEN
9450 --End of code for WEB ADI
9451 csi_gen_utility_pvt.put_line('Checking for UPD...');
9452 IF p_instance_tbl(ins_row).quantity IS NOT NULL AND
9453 p_instance_tbl(ins_row).quantity <> FND_API.G_MISS_NUM AND
9454 p_instance_tbl(ins_row).quantity <> l_old_instance_tbl(ins_row).quantity THEN
9455 IF l_party_id IS NOT NULL AND
9456 l_party_id <> l_internal_party_id THEN
9457 IF p_txn_rec.transaction_type_id <> 7 THEN -- Added for bug 3973706
9458 csi_item_instance_pvt.Call_to_Contracts
9459 ( p_transaction_type => 'UPD'
9460 ,p_instance_id => p_instance_tbl(ins_row).instance_id
9461 ,p_new_instance_id => NULL
9462 ,p_vld_org_id => l_instance_csr.last_vld_organization_id
9463 ,p_quantity => l_old_instance_tbl(ins_row).quantity
9464 ,p_party_account_id1 => NULL
9465 ,p_party_account_id2 => NULL
9466 ,p_transaction_date => p_txn_rec.transaction_date -- l_transaction_date
9467 ,p_source_transaction_date => p_txn_rec.source_transaction_date -- l_transaction_date
9468 ,p_grp_call_contracts => FND_API.G_TRUE
9469 ,p_order_line_id => l_order_line_id
9470 ,p_oks_txn_inst_tbl => px_oks_txn_inst_tbl
9471 ,x_return_status => x_return_status
9472 ,x_msg_count => x_msg_count
9473 ,x_msg_data => x_msg_data
9474 );
9475 --
9476 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
9477 l_msg_index := 1;
9478 l_msg_count := x_msg_count;
9479 WHILE l_msg_count > 0 LOOP
9480 x_msg_data := FND_MSG_PUB.GET
9481 ( l_msg_index,
9482 FND_API.G_FALSE
9483 );
9484 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
9485 l_msg_index := l_msg_index + 1;
9486 l_msg_count := l_msg_count - 1;
9487 END LOOP;
9488 l_iface_error_text := substr(x_msg_data,1,2000);
9489 p_instance_tbl(ins_row).processed_flag := 'E';
9490 l_grp_error_count := l_grp_error_count + 1;
9491 l_grp_upd_error_tbl(l_grp_error_count).instance_id := p_instance_tbl(ins_row).instance_id;
9492 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'INS_CONTRACTS';
9493 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
9494 -- RAISE FND_API.G_EXC_ERROR;
9495 ELSE
9496 p_instance_tbl(ins_row).processed_flag := 'P';
9497 END IF;
9498 END IF;
9499 END IF;
9500 END IF; -- Qty Update check
9501 --
9505 nvl(l_old_instance_tbl(ins_row).install_date,fnd_api.g_miss_date) THEN
9502 IF p_instance_tbl(ins_row).install_date IS NOT NULL AND
9503 p_instance_tbl(ins_row).install_date <> FND_API.G_MISS_DATE AND
9504 p_instance_tbl(ins_row).install_date <>
9506 IF l_party_id IS NOT NULL AND
9507 l_party_id <> l_internal_party_id THEN
9508 IF p_txn_rec.transaction_type_id <> 7 THEN -- Added for bug 3973706
9509 csi_item_instance_pvt.Call_to_Contracts
9510 ( p_transaction_type => 'IDC'
9511 ,p_instance_id => p_instance_tbl(ins_row).instance_id
9512 ,p_new_instance_id => NULL
9513 ,p_vld_org_id => l_instance_csr.last_vld_organization_id
9514 ,p_quantity => l_instance_csr.quantity
9515 ,p_party_account_id1 => NULL
9516 ,p_party_account_id2 => NULL
9517 ,p_transaction_date => p_txn_rec.transaction_date -- l_transaction_date
9518 ,p_source_transaction_date => p_txn_rec.source_transaction_date -- l_transaction_date
9519 ,p_grp_call_contracts => FND_API.G_TRUE
9520 ,p_oks_txn_inst_tbl => px_oks_txn_inst_tbl
9521 ,x_return_status => x_return_status
9522 ,x_msg_count => x_msg_count
9523 ,x_msg_data => x_msg_data
9524 );
9525 --
9526 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
9527 l_msg_index := 1;
9528 l_msg_count := x_msg_count;
9529 WHILE l_msg_count > 0 LOOP
9530 x_msg_data := FND_MSG_PUB.GET
9531 ( l_msg_index,
9532 FND_API.G_FALSE
9533 );
9534 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
9535 l_msg_index := l_msg_index + 1;
9536 l_msg_count := l_msg_count - 1;
9537 END LOOP;
9538 l_iface_error_text := substr(x_msg_data,1,2000);
9539 p_instance_tbl(ins_row).processed_flag := 'E';
9540 l_grp_error_count := l_grp_error_count + 1;
9541 l_grp_upd_error_tbl(l_grp_error_count).instance_id := p_instance_tbl(ins_row).instance_id;
9542 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'INS_CONTRACTS';
9543 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
9544 -- RAISE FND_API.G_EXC_ERROR;
9545 ELSE
9546 p_instance_tbl(ins_row).processed_flag := 'P';
9547 END IF;
9548 END IF;
9549 END IF;
9550 END IF; -- Install Date Update check
9551 --
9552 IF csi_item_instance_vld_pvt.termination_status
9553 ( p_instance_status_id => l_instance_csr.instance_status_id )
9554 THEN
9555 l_transaction_type := 'TRM';
9556 l_transaction_date := l_instance_csr.active_end_date;
9557 END IF;
9558 --
9559 IF l_transaction_type IS NULL
9560 THEN
9561 IF l_old_instance_tbl(ins_row).active_end_date <= SYSDATE
9562 AND (p_instance_tbl(ins_row).active_end_date IS NULL
9563 OR p_instance_tbl(ins_row).active_end_date > SYSDATE )
9564 THEN
9565
9566 IF l_party_id IS NOT NULL AND
9567 l_internal_party_id IS NOT NULL AND
9568 l_party_id <> l_internal_party_id
9569 THEN
9570 -- End addition by sk for fixing bug 2245976
9571 l_transaction_type := 'NEW';
9572 l_transaction_date := l_instance_csr.active_end_date;
9573 --
9574 -- While un-expiring the instance, order Line ID will passed only if it is changing
9575 --
9576 IF l_instance_csr.location_type_code = 'IN_TRANSIT' THEN
9577 IF NVL(l_old_instance_tbl(ins_row).in_transit_order_line_id,FND_API.G_MISS_NUM) <>
9578 NVL(l_instance_csr.in_transit_order_line_id,FND_API.G_MISS_NUM) THEN
9579 l_order_line_id := l_instance_csr.in_transit_order_line_id;
9580 ELSE
9581 l_order_line_id := NULL;
9582 END IF;
9583 ELSE
9584 IF NVL(l_old_instance_tbl(ins_row).last_oe_order_line_id,FND_API.G_MISS_NUM) <>
9585 NVL(l_instance_csr.last_oe_order_line_id,FND_API.G_MISS_NUM) THEN
9586 l_order_line_id := l_instance_csr.last_oe_order_line_id;
9587 ELSE
9588 l_order_line_id := NULL;
9589 END IF;
9590 END IF;
9591 ELSE
9592 l_transaction_type := NULL;
9593 END IF;
9594 END IF;
9595 END IF;
9596 --
9597 IF l_transaction_type IS NOT NULL
9598 THEN
9599 csi_item_instance_pvt.Call_to_Contracts
9600 ( p_transaction_type => l_transaction_type
9601 ,p_instance_id => p_instance_tbl(ins_row).instance_id
9602 ,p_new_instance_id => NULL
9603 ,p_vld_org_id => l_instance_csr.last_vld_organization_id
9604 ,p_quantity => NULL
9605 ,p_party_account_id1 => NULL
9606 ,p_party_account_id2 => NULL
9607 ,p_transaction_date => p_txn_rec.transaction_date -- l_transaction_date
9608 ,p_source_transaction_date => p_txn_rec.source_transaction_date -- l_transaction_date
9609 ,p_grp_call_contracts => FND_API.G_TRUE
9610 ,p_order_line_id => l_order_line_id
9611 ,p_oks_txn_inst_tbl => px_oks_txn_inst_tbl
9615 );
9612 ,x_return_status => x_return_status
9613 ,x_msg_count => x_msg_count
9614 ,x_msg_data => x_msg_data
9616 --
9617 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
9618 l_msg_index := 1;
9619 l_msg_count := x_msg_count;
9620 WHILE l_msg_count > 0 LOOP
9621 x_msg_data := FND_MSG_PUB.GET
9622 ( l_msg_index,
9623 FND_API.G_FALSE
9624 );
9625 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
9626 l_msg_index := l_msg_index + 1;
9627 l_msg_count := l_msg_count - 1;
9628 END LOOP;
9629 l_iface_error_text := substr(x_msg_data,1,2000);
9630 p_instance_tbl(ins_row).processed_flag := 'E';
9631 l_grp_error_count := l_grp_error_count + 1;
9632 l_grp_upd_error_tbl(l_grp_error_count).instance_id := p_instance_tbl(ins_row).instance_id;
9633 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'INS_CONTRACTS';
9634 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
9635 -- RAISE FND_API.G_EXC_ERROR;
9636 ELSE
9637 p_instance_tbl(ins_row).processed_flag := 'P';
9638 END IF;
9639 END IF; --l_transaction_type is not null
9640 END IF; --Added for WEB ADI
9641 END IF; --p_instance_tbl.EXISTS(ins_row)
9642 END LOOP;
9643 END IF; --p_instance_tbl.count > 0
9644 --
9645 IF px_oks_txn_inst_tbl.count > 0 THEN
9646 IF l_debug_level > 1 THEN
9647 csi_gen_utility_pvt.dump_oks_txn_inst_tbl(px_oks_txn_inst_tbl);
9648 csi_gen_utility_pvt.put_line('Calling OKS Core API...');
9649 END IF;
9650 --
9651 IF p_txn_rec.transaction_type_id = 3
9652 AND nvl(p_txn_rec.source_group_ref, FND_API.G_MISS_CHAR) <> 'WBADI' THEN
9653 l_batch_id := p_txn_rec.source_header_ref_id;
9654 l_batch_type := p_txn_rec.source_group_ref;
9655 ELSE
9656 l_batch_id := NULL;
9657 l_batch_type := NULL;
9658 END IF;
9659 --
9660 UPDATE CSI_TRANSACTIONS
9661 set contracts_invoked = 'Y'
9662 where transaction_id = p_txn_rec.transaction_id;
9663 --
9664 OKS_IBINT_PUB.IB_interface
9665 (
9666 P_Api_Version => 1.0,
9667 P_init_msg_list => p_init_msg_list,
9668 P_single_txn_date_flag => 'N',
9669 P_Batch_type => l_batch_type,
9670 P_Batch_ID => l_batch_id,
9671 P_OKS_Txn_Inst_tbl => px_oks_txn_inst_tbl,
9672 x_return_status => x_return_status,
9673 x_msg_count => x_msg_count,
9674 x_msg_data => x_msg_data
9675 );
9676 csi_gen_utility_pvt.put_line('Status returned from Oks_ibint_pub.IB_interface is :'||x_return_status);
9677 --
9678 IF x_return_status = 'W' THEN -- Warning from OKS
9679 -- Since OKS does not have the ability to pass the instance_id for the warning record(s),
9680 -- we are not populating the grp error tbl. We are still looping thru' the message stack
9681 -- just in case IB UI calls group API during Update.
9682 --
9683 l_msg_index := 1;
9684 l_msg_count := x_msg_count;
9685 WHILE l_msg_count > 0 LOOP
9686 x_msg_data := FND_MSG_PUB.GET
9687 ( l_msg_index,
9688 FND_API.G_FALSE
9689 );
9690 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
9691 l_msg_index := l_msg_index + 1;
9692 l_msg_count := l_msg_count - 1;
9693 END LOOP;
9694 FND_MSG_PUB.Count_And_Get
9695 ( p_count => x_msg_count,
9696 p_data => x_msg_data
9697 );
9698 ELSIF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
9699 csi_gen_utility_pvt.put_line('Error from Call_to_contracts...');
9700 l_msg_index := 1;
9701 l_msg_count := x_msg_count;
9702 WHILE l_msg_count > 0 LOOP
9703 x_msg_data := FND_MSG_PUB.GET
9704 ( l_msg_index,
9705 FND_API.G_FALSE
9706 );
9707 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
9708 l_msg_index := l_msg_index + 1;
9709 l_msg_count := l_msg_count - 1;
9710 END LOOP;
9711 l_iface_error_text := substr(x_msg_data,1,2000);
9712 --
9713 IF p_instance_tbl.count > 0 THEN
9714 FOR ins_row IN p_instance_tbl.FIRST .. p_instance_tbl.LAST LOOP
9715 IF p_instance_tbl.EXISTS(ins_row) THEN
9716 p_instance_tbl(ins_row).processed_flag := 'E';
9717 l_grp_error_count := l_grp_error_count + 1;
9718 l_grp_upd_error_tbl(l_grp_error_count).instance_id := p_instance_tbl(ins_row).instance_id;
9719 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'INS_CONTRACTS';
9720 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
9721 END IF;
9722 END LOOP;
9723 END IF;
9724 --
9725 -- if OKS returns error then everthing gets rolledback
9726 p_grp_upd_error_tbl := l_grp_upd_error_tbl;
9727 RAISE FND_API.G_EXC_ERROR;
9728 END IF;
9729 END IF;
9730 --
9731 p_grp_upd_error_tbl := l_grp_upd_error_tbl;
9732 --
9733 -- End of API body
9734 -- Standard check of p_commit.
9735 IF FND_API.To_Boolean( p_commit ) THEN
9736 COMMIT WORK;
9737 END IF;
9738 /***** srramakr commented for bug # 3304439
9739 -- Check for the profile option and disable the trace
9740 IF (l_flag = 'Y') THEN
9741 dbms_session.set_sql_trace(FALSE);
9742 END IF;
9746 FND_MSG_PUB.Count_And_Get
9743 -- End disable trace
9744 ****/
9745 -- Standard call to get message count and if count is get message info.
9747 (p_count => x_msg_count ,
9748 p_data => x_msg_data
9749 );
9750 EXCEPTION
9751 WHEN FND_API.G_EXC_ERROR THEN
9752 ROLLBACK TO update_item_instance;
9753 x_return_status := FND_API.G_RET_STS_ERROR ;
9754 FND_MSG_PUB.Count_And_Get
9755 ( p_count => x_msg_count,
9756 p_data => x_msg_data
9757 );
9758
9759 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9760 ROLLBACK TO update_item_instance;
9761 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
9762 FND_MSG_PUB.Count_And_Get
9763 ( p_count => x_msg_count,
9764 p_data => x_msg_data
9765 );
9766
9767 WHEN OTHERS THEN
9768 ROLLBACK TO update_item_instance;
9769 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
9770 IF FND_MSG_PUB.Check_Msg_Level
9771 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9772 THEN
9773 FND_MSG_PUB.Add_Exc_Msg
9774 ( G_PKG_NAME ,
9775 l_api_name
9776 );
9777 END IF;
9778 FND_MSG_PUB.Count_And_Get
9779 ( p_count => x_msg_count,
9780 p_data => x_msg_data
9781 );
9782 END update_item_instance;
9783 --
9784 /*----------------------------------------------------*/
9785 /* Procedure name: expire_item_instance */
9786 /* Description : procedure for */
9787 /* Expiring an Item Instance */
9788 /*----------------------------------------------------*/
9789
9790 PROCEDURE expire_item_instance
9791 (
9792 p_api_version IN NUMBER
9793 ,p_commit IN VARCHAR2
9794 ,p_init_msg_list IN VARCHAR2
9795 ,p_validation_level IN NUMBER
9796 ,p_instance_tbl IN csi_datastructures_pub.instance_tbl
9797 ,p_expire_children IN VARCHAR2
9798 ,p_txn_rec IN OUT NOCOPY csi_datastructures_pub.transaction_rec
9799 ,x_instance_id_lst OUT NOCOPY csi_datastructures_pub.id_tbl
9800 ,p_grp_error_tbl OUT NOCOPY csi_datastructures_pub.grp_error_tbl
9801 ,x_return_status OUT NOCOPY VARCHAR2
9802 ,x_msg_count OUT NOCOPY NUMBER
9803 ,x_msg_data OUT NOCOPY VARCHAR2
9804 )
9805 IS
9806 l_api_name CONSTANT VARCHAR2(30) := 'EXPIRE_ITEM_INSTANCE';
9807 l_api_version CONSTANT NUMBER := 1.0;
9808 l_debug_level NUMBER;
9809 l_flag VARCHAR2(1);
9810 l_msg_index NUMBER;
9811 l_msg_count NUMBER;
9812 l_iface_error_text VARCHAR2(2000);
9813 l_grp_error_tbl csi_datastructures_pub.grp_error_tbl;
9814 l_instance_rec csi_datastructures_pub.instance_rec;
9815 px_oks_txn_inst_tbl OKS_IBINT_PUB.TXN_INSTANCE_TBL;
9816 l_batch_type VARCHAR2(50);
9817 l_batch_id NUMBER;
9818 --
9819 BEGIN
9820 -- Standard Start of API savepoint
9821 SAVEPOINT expire_item_instance;
9822
9823 -- Check for freeze_flag in csi_install_parameters is set to 'Y'
9824
9825 csi_utility_grp.check_ib_active;
9826
9827 -- Standard call to check for call compatibility.
9828 IF NOT FND_API.Compatible_API_Call (l_api_version,
9829 p_api_version,
9830 l_api_name ,
9831 G_PKG_NAME )
9832 THEN
9833 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9834 END IF;
9835
9836 -- Initialize message list if p_init_msg_list is set to TRUE.
9837 IF FND_API.to_Boolean( p_init_msg_list ) THEN
9838 FND_MSG_PUB.initialize;
9839 END IF;
9840 -- Initialize API return status to success
9841 x_return_status := FND_API.G_RET_STS_SUCCESS;
9842
9843 -- Check the profile option debug_level for debug message reporting
9844 l_debug_level:=fnd_profile.value('CSI_DEBUG_LEVEL');
9845
9846 -- If debug_level = 1 then dump the procedure name
9847 IF (l_debug_level > 0) THEN
9848 csi_gen_utility_pvt.put_line( 'expire_item_instance');
9849 END IF;
9850 --
9851 IF (p_instance_tbl.count > 0) THEN
9852 FOR ins_row IN p_instance_tbl.FIRST .. p_instance_tbl.LAST
9853 LOOP
9854 IF p_instance_tbl.EXISTS(ins_row) THEN
9855 -- If the debug level = 2 then dump all the parameters values.
9856 IF (l_debug_level > 1) THEN
9857 csi_gen_utility_pvt.put_line( 'expire_item_instance:' ||
9858 p_api_version ||'-'||
9859 p_commit ||'-'||
9860 p_init_msg_list ||'-'||
9861 p_validation_level );
9862 -- Dump the records in the log file
9863 csi_gen_utility_pvt.dump_txn_rec(p_txn_rec);
9864 csi_gen_utility_pvt.dump_instance_rec(p_instance_tbl(ins_row));
9865 END IF;
9866 /***** srramakr commented for bug # 3304439
9867 -- Check for the profile option and enable trace
9868 l_flag:=CSI_GEN_UTILITY_PVT.enable_trace(l_trace_flag => l_flag);
9869 -- End enable trace
9870 ****/
9871 -- Start API body
9872 l_iface_error_text := NULL;
9873 l_grp_error_tbl(ins_row).group_inst_num := ins_row;
9874 l_grp_error_tbl(ins_row).process_status := 'S';
9875 l_grp_error_tbl(ins_row).error_message := NULL;
9876 l_instance_rec := p_instance_tbl(ins_row);
9877 l_instance_rec.grp_call_contracts := FND_API.G_TRUE;
9881 ,p_commit => fnd_api.g_false
9878 csi_item_instance_pvt.expire_item_instance
9879 (
9880 p_api_version => p_api_version
9882 ,p_init_msg_list => p_init_msg_list
9883 ,p_validation_level => p_validation_level
9884 ,p_instance_rec => l_instance_rec
9885 ,p_expire_children => p_expire_children
9886 ,p_txn_rec => p_txn_rec
9887 ,x_instance_id_lst => x_instance_id_lst
9888 ,p_oks_txn_inst_tbl => px_oks_txn_inst_tbl
9889 ,x_return_status => x_return_status
9890 ,x_msg_count => x_msg_count
9891 ,x_msg_data => x_msg_data
9892 );
9893
9894 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
9895 l_msg_index := 1;
9896 l_msg_count := x_msg_count;
9897 WHILE l_msg_count > 0 LOOP
9898 x_msg_data := FND_MSG_PUB.GET
9899 (
9900 l_msg_index,
9901 FND_API.G_FALSE
9902 );
9903 csi_gen_utility_pvt.put_line('message data = '||x_msg_data);
9904 l_msg_index := l_msg_index + 1;
9905 l_msg_count := l_msg_count - 1;
9906 END LOOP;
9907 --
9908 l_iface_error_text := substr(x_msg_data,1,2000);
9909 l_grp_error_tbl(ins_row).process_status := 'E';
9910 l_grp_error_tbl(ins_row).error_message := l_iface_error_text;
9911 END IF;
9912 --
9913 END IF;
9914 END LOOP;
9915 END IF;
9916 --
9917 IF px_oks_txn_inst_tbl.count > 0 THEN
9918 IF l_debug_level > 1 THEN
9919 csi_gen_utility_pvt.dump_oks_txn_inst_tbl(px_oks_txn_inst_tbl);
9920 csi_gen_utility_pvt.put_line('Calling OKS Core API...');
9921 END IF;
9922 --
9923 IF p_txn_rec.transaction_type_id = 3 THEN
9924 l_batch_id := p_txn_rec.source_header_ref_id;
9925 l_batch_type := p_txn_rec.source_group_ref;
9926 ELSE
9927 l_batch_id := NULL;
9928 l_batch_type := NULL;
9929 END IF;
9930 --
9931 UPDATE CSI_TRANSACTIONS
9932 set contracts_invoked = 'Y'
9933 where transaction_id = p_txn_rec.transaction_id;
9934 --
9935 OKS_IBINT_PUB.IB_interface
9936 (
9937 P_Api_Version => 1.0,
9938 P_init_msg_list => p_init_msg_list,
9939 P_single_txn_date_flag => 'N',
9940 P_Batch_type => l_batch_type,
9941 P_Batch_ID => l_batch_id,
9942 P_OKS_Txn_Inst_tbl => px_oks_txn_inst_tbl,
9943 x_return_status => x_return_status,
9944 x_msg_count => x_msg_count,
9945 x_msg_data => x_msg_data
9946 );
9947 csi_gen_utility_pvt.put_line('Status returned from Oks_ibint_pub.IB_interface is :'||x_return_status);
9948 --
9949 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS)
9950 THEN
9951 csi_gen_utility_pvt.put_line('Error from Call_to_contracts...');
9952 l_msg_index := 1;
9953 l_msg_count := x_msg_count;
9954 WHILE l_msg_count > 0 LOOP
9955 x_msg_data := FND_MSG_PUB.GET
9956 ( l_msg_index,
9957 FND_API.G_FALSE
9958 );
9959 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
9960 l_msg_index := l_msg_index + 1;
9961 l_msg_count := l_msg_count - 1;
9962 END LOOP;
9963 l_iface_error_text := substr(x_msg_data,1,2000);
9964 --
9965 FOR ins_row IN p_instance_tbl.FIRST .. p_instance_tbl.LAST LOOP
9966 IF p_instance_tbl.EXISTS(ins_row) THEN
9967 l_grp_error_tbl(ins_row).process_status := 'E';
9968 l_grp_error_tbl(ins_row).error_message := l_iface_error_text;
9969 END IF;
9970 END LOOP;
9971 -- if OKS returns error then everthing gets rolledback
9972 p_grp_error_tbl := l_grp_error_tbl;
9973 RAISE FND_API.G_EXC_ERROR;
9974 END IF;
9975 END IF;
9976 --
9977 p_grp_error_tbl := l_grp_error_tbl;
9978 -- End of API body
9979 -- Standard check of p_commit.
9980 IF FND_API.To_Boolean( p_commit ) THEN
9981 COMMIT WORK;
9982 END IF;
9983
9984 /***** srramakr commented for bug # 3304439
9985 -- Check for the profile option and disable the trace
9986 IF (l_flag = 'Y') THEN
9987 dbms_session.set_sql_trace(FALSE);
9988 END IF;
9989 -- End disable trace
9990 ****/
9991 -- Standard call to get message count and if count is get message info.
9992 FND_MSG_PUB.Count_And_Get
9993 (p_count => x_msg_count ,
9994 p_data => x_msg_data );
9995
9996 EXCEPTION
9997 WHEN FND_API.G_EXC_ERROR THEN
9998 ROLLBACK TO expire_item_instance;
9999 x_return_status := FND_API.G_RET_STS_ERROR ;
10000 FND_MSG_PUB.Count_And_Get
10001 ( p_count => x_msg_count,
10002 p_data => x_msg_data
10003 );
10004
10005 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10006 ROLLBACK TO expire_item_instance;
10007 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
10008 FND_MSG_PUB.Count_And_Get
10009 ( p_count => x_msg_count,
10010 p_data => x_msg_data );
10011
10012 WHEN OTHERS THEN
10013 ROLLBACK TO expire_item_instance;
10014 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
10015 IF FND_MSG_PUB.Check_Msg_Level
10019 ( G_PKG_NAME, l_api_name );
10016 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10017 THEN
10018 FND_MSG_PUB.Add_Exc_Msg
10020 END IF;
10021 FND_MSG_PUB.Count_And_Get
10022 ( p_count => x_msg_count,
10023 p_data => x_msg_data );
10024
10025 END expire_item_instance;
10026 --
10027 /**********************************************************
10028 ** This Procedure gets all the parents traversing up **
10029 ** for a given child(subject) with the relationship type **
10030 ** COMPONENT-OF. It stops traversing when the top-most **
10031 ** is reached or the relationship is broken. **
10032 ***********************************************************/
10033
10034 PROCEDURE Get_All_Parents
10035 (
10036 p_api_version IN NUMBER,
10037 p_commit IN VARCHAR2,
10038 p_init_msg_list IN VARCHAR2,
10039 p_validation_level IN NUMBER,
10040 p_subject_id IN NUMBER,
10041 x_rel_tbl OUT NOCOPY csi_datastructures_pub.ii_relationship_tbl,
10042 x_return_status OUT NOCOPY VARCHAR2,
10043 x_msg_count OUT NOCOPY NUMBER,
10044 x_msg_data OUT NOCOPY VARCHAR2
10045 ) IS
10046 l_api_version CONSTANT NUMBER := 1.0;
10047 l_api_name CONSTANT VARCHAR2(30) := 'GET_ALL_PARENTS';
10048 l_ctr NUMBER := 0;
10049 l_object_id NUMBER;
10050 l_subject_id NUMBER;
10051 l_exists VARCHAR2(1);
10052 l_relationship_id NUMBER;
10053 l_rel_type_code VARCHAR2(30) := 'COMPONENT-OF';
10054 BEGIN
10055 -- Check for freeze_flag in csi_install_parameters is set to 'Y'
10056 csi_utility_grp.check_ib_active;
10057 -- Standard call to check for call compatibility.
10058 IF NOT FND_API.Compatible_API_Call (l_api_version,
10059 p_api_version,
10060 l_api_name,
10061 G_PKG_NAME
10062 )
10063 THEN
10064 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10065 END IF;
10066 -- Initialize message list if p_init_msg_list is set to TRUE.
10067 IF FND_API.to_Boolean( p_init_msg_list ) THEN
10068 FND_MSG_PUB.initialize;
10069 END IF;
10070 -- Initialize API return status to success
10071 x_return_status := FND_API.G_RET_STS_SUCCESS;
10072 --
10073 IF p_subject_id IS NULL OR p_subject_id = FND_API.G_MISS_NUM THEN
10074 fnd_message.set_name('CSI', 'CSI_INVALID_PARAMETERS');
10075 fnd_msg_pub.add;
10076 x_return_status := fnd_api.g_ret_sts_error;
10077 RAISE fnd_api.g_exc_error;
10078 END IF;
10079 --
10080 l_subject_id := p_subject_id;
10081 --
10082 csi_gen_utility_pvt.put_line('Given Subject ID is '||to_char(l_subject_id));
10083 --
10084 LOOP
10085 Begin
10086 select relationship_id,object_id
10087 into l_relationship_id,l_object_id
10088 from CSI_II_RELATIONSHIPS
10089 where subject_id = l_subject_id
10090 and relationship_type_code = l_rel_type_code
10091 and ((active_end_date is null) or (active_end_date > sysdate));
10092 --
10093 l_ctr := l_ctr + 1;
10094 x_rel_tbl(l_ctr).subject_id := l_subject_id;
10095 x_rel_tbl(l_ctr).object_id := l_object_id;
10096 x_rel_tbl(l_ctr).relationship_id := l_relationship_id;
10097 x_rel_tbl(l_ctr).relationship_type_code := l_rel_type_code;
10098 --
10099 -- Just in case a cycle exists because of bad data the following check will break
10100 -- the loop.
10101 l_exists := 'N';
10102 IF x_rel_tbl.count > 0 THEN
10103 FOR j in x_rel_tbl.FIRST .. x_rel_tbl.LAST Loop
10104 IF l_object_id = x_rel_tbl(j).subject_id THEN
10105 l_exists := 'Y';
10106 exit;
10107 END IF;
10108 End Loop;
10109 END IF;
10110 --
10111 IF l_exists = 'Y' THEN
10112 exit;
10113 END IF;
10114 --
10115 l_subject_id := l_object_id;
10116 Exception
10117 when no_data_found then
10118 exit;
10119 End;
10120 END LOOP;
10121 -- End of API body
10122 -- Standard call to get message count and if count is get message info.
10123 FND_MSG_PUB.Count_And_Get
10124 (p_count => x_msg_count ,
10125 p_data => x_msg_data
10126 );
10127 EXCEPTION
10128 WHEN FND_API.G_EXC_ERROR THEN
10129 x_return_status := FND_API.G_RET_STS_ERROR ;
10130 FND_MSG_PUB.Count_And_Get
10131 ( p_count => x_msg_count,
10132 p_data => x_msg_data
10133 );
10134 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10135 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
10136 FND_MSG_PUB.Count_And_Get
10137 ( p_count => x_msg_count,
10138 p_data => x_msg_data
10139 );
10140
10141 WHEN OTHERS THEN
10142 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
10143 csi_gen_utility_pvt.put_line('Others Error '||substr(sqlerrm,1,250));
10144 IF FND_MSG_PUB.Check_Msg_Level
10145 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10146 THEN
10147 FND_MSG_PUB.Add_Exc_Msg
10148 ( G_PKG_NAME ,
10149 l_api_name
10150 );
10151 END IF;
10152 FND_MSG_PUB.Count_And_Get
10153 ( p_count => x_msg_count,
10154 p_data => x_msg_data
10155 );
10156 END Get_All_Parents;
10157 --
10158 PROCEDURE Get_And_Build_Instance_Details
10159 (p_instance_id IN NUMBER
10160 ,p_txn_rec IN OUT NOCOPY csi_datastructures_pub.transaction_rec
10161 ,p_instance_rec OUT NOCOPY csi_datastructures_pub.instance_rec
10165 ,p_pricing_attribs_tbl OUT NOCOPY csi_datastructures_pub.pricing_attribs_tbl
10162 ,p_party_tbl OUT NOCOPY csi_datastructures_pub.party_tbl
10163 ,p_party_account_tbl OUT NOCOPY csi_datastructures_pub.party_account_tbl
10164 ,p_org_units_tbl OUT NOCOPY csi_datastructures_pub.organization_units_tbl
10166 ,p_ext_attrib_values_tbl OUT NOCOPY csi_datastructures_pub.extend_attrib_values_tbl
10167 ,p_instance_asset_tbl OUT NOCOPY csi_datastructures_pub.instance_asset_tbl
10168 ,x_return_status OUT NOCOPY VARCHAR2
10169 ,x_msg_count OUT NOCOPY NUMBER
10170 ,x_msg_data OUT NOCOPY VARCHAR2
10171 ) IS
10172 --
10173 l_api_name VARCHAR2(30) := 'Get_And_Build_Instance_Details';
10174 l_instance_rec csi_datastructures_pub.instance_header_rec;
10175 p_party_header_tbl CSI_DATASTRUCTURES_PUB.PARTY_HEADER_TBL;
10176 p_account_header_tbl CSI_DATASTRUCTURES_PUB.PARTY_ACCOUNT_HEADER_TBL;
10177 p_org_header_tbl CSI_DATASTRUCTURES_PUB.ORG_UNITS_HEADER_TBL;
10178 p_pricing_attrib_tbl CSI_DATASTRUCTURES_PUB.PRICING_ATTRIBS_TBL;
10179 p_ext_attrib_tbl CSI_DATASTRUCTURES_PUB.EXTEND_ATTRIB_VALUES_TBL;
10180 p_ext_attrib_def_tbl CSI_DATASTRUCTURES_PUB.EXTEND_ATTRIB_TBL;
10181 p_asset_header_tbl CSI_DATASTRUCTURES_PUB.INSTANCE_ASSET_HEADER_TBL;
10182 l_party_tbl csi_datastructures_pub.party_tbl;
10183 --
10184 l_ctr NUMBER;
10185 l_found BOOLEAN;
10186 l_msg_index NUMBER;
10187 l_msg_count NUMBER;
10188 --
10189 BEGIN
10190 x_return_status := FND_API.G_RET_STS_SUCCESS;
10191 IF p_instance_id IS NULL OR
10192 p_instance_id = FND_API.G_MISS_NUM THEN
10193 RETURN;
10194 END IF;
10195 --
10196 SAVEPOINT Get_And_Build_Instance_Details;
10197 --
10198 l_instance_rec.instance_id := p_instance_id;
10199 csi_item_instance_pub.get_item_instance_details
10200 (
10201 p_api_version => 1.0,
10202 p_commit => fnd_api.g_false,
10203 p_init_msg_list => fnd_api.g_true,
10204 p_validation_level => fnd_api.g_valid_level_full,
10205 p_instance_rec => l_instance_rec,
10206 p_get_parties => fnd_api.g_true,
10207 p_party_header_tbl => p_party_header_tbl,
10208 p_get_accounts => fnd_api.g_true,
10209 p_account_header_tbl => p_account_header_tbl,
10210 p_get_org_assignments => fnd_api.g_true,
10211 p_org_header_tbl => p_org_header_tbl,
10212 p_get_pricing_attribs => fnd_api.g_false, -- No need to get for children
10213 p_pricing_attrib_tbl => p_pricing_attrib_tbl,
10214 p_get_ext_attribs => fnd_api.g_false, -- No need to get for children
10215 p_ext_attrib_tbl => p_ext_attrib_tbl,
10216 p_ext_attrib_def_tbl => p_ext_attrib_def_tbl,
10217 p_get_asset_assignments => fnd_api.g_false, -- No need to get for children
10218 p_asset_header_tbl => p_asset_header_tbl,
10219 p_resolve_id_columns => fnd_api.g_false,
10220 p_time_stamp => fnd_api.g_miss_date,
10221 x_return_status => x_return_status,
10222 x_msg_count => x_msg_count,
10223 x_msg_data => x_msg_data
10224 );
10225 --
10226 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10227 l_msg_index := 1;
10228 l_msg_count := x_msg_count;
10229 WHILE l_msg_count > 0 LOOP
10230 x_msg_data := FND_MSG_PUB.GET
10231 ( l_msg_index,
10232 FND_API.G_FALSE );
10233 l_msg_index := l_msg_index + 1;
10234 l_msg_count := l_msg_count - 1;
10235 END LOOP;
10236 csi_gen_utility_pvt.put_line('Error from Get Instance Details...');
10237 RAISE FND_API.G_EXC_ERROR;
10238 END IF;
10239 --
10240 p_instance_rec.instance_id := l_instance_rec.instance_id;
10241 p_instance_rec.instance_number := l_instance_rec.instance_number;
10242 p_instance_rec.external_reference := l_instance_rec.external_reference;
10243 p_instance_rec.inventory_item_id := l_instance_rec.inventory_item_id;
10244 p_instance_rec.vld_organization_id := l_instance_rec.vld_organization_id;
10245 p_instance_rec.inventory_revision := l_instance_rec.inventory_revision;
10246 p_instance_rec.inv_master_organization_id := l_instance_rec.inv_master_organization_id;
10247 p_instance_rec.serial_number := l_instance_rec.serial_number;
10248 p_instance_rec.mfg_serial_number_flag := l_instance_rec.mfg_serial_number_flag;
10249 p_instance_rec.lot_number := l_instance_rec.lot_number;
10250 p_instance_rec.quantity := l_instance_rec.quantity;
10251 p_instance_rec.unit_of_measure := l_instance_rec.unit_of_measure;
10252 p_instance_rec.accounting_class_code := l_instance_rec.accounting_class_code;
10253 p_instance_rec.instance_condition_id := l_instance_rec.instance_condition_id;
10254 p_instance_rec.instance_status_id := l_instance_rec.instance_status_id;
10255 p_instance_rec.customer_view_flag := l_instance_rec.customer_view_flag;
10256 p_instance_rec.merchant_view_flag := l_instance_rec.merchant_view_flag;
10257 p_instance_rec.sellable_flag := l_instance_rec.sellable_flag;
10258 p_instance_rec.system_id := l_instance_rec.system_id;
10259 p_instance_rec.instance_type_code := l_instance_rec.instance_type_code;
10260 p_instance_rec.active_start_date := l_instance_rec.active_start_date;
10261 p_instance_rec.active_end_date := l_instance_rec.active_end_date;
10262 p_instance_rec.location_type_code := l_instance_rec.location_type_code;
10263 p_instance_rec.location_id := l_instance_rec.location_id;
10264 p_instance_rec.inv_organization_id := l_instance_rec.inv_organization_id;
10265 p_instance_rec.inv_subinventory_name := l_instance_rec.inv_subinventory_name;
10269 p_instance_rec.in_transit_order_line_id := l_instance_rec.in_transit_order_line_id;
10266 p_instance_rec.inv_locator_id := l_instance_rec.inv_locator_id;
10267 p_instance_rec.pa_project_id := l_instance_rec.pa_project_id;
10268 p_instance_rec.pa_project_task_id := l_instance_rec.pa_project_task_id;
10270 p_instance_rec.wip_job_id := l_instance_rec.wip_job_id;
10271 p_instance_rec.po_order_line_id := l_instance_rec.po_order_line_id;
10272 p_instance_rec.last_oe_order_line_id := l_instance_rec.last_oe_order_line_id;
10273 p_instance_rec.last_oe_rma_line_id := l_instance_rec.last_oe_rma_line_id;
10274 p_instance_rec.last_po_po_line_id := l_instance_rec.last_po_po_line_id;
10275 p_instance_rec.last_oe_po_number := l_instance_rec.last_oe_po_number;
10276 p_instance_rec.last_wip_job_id := l_instance_rec.last_wip_job_id;
10277 p_instance_rec.last_pa_project_id := l_instance_rec.last_pa_project_id;
10278 p_instance_rec.last_pa_task_id := l_instance_rec.last_pa_task_id;
10279 p_instance_rec.last_oe_agreement_id := l_instance_rec.last_oe_agreement_id;
10280 p_instance_rec.install_date := l_instance_rec.install_date;
10281 p_instance_rec.manually_created_flag := l_instance_rec.manually_created_flag;
10282 p_instance_rec.return_by_date := l_instance_rec.return_by_date;
10283 p_instance_rec.actual_return_date := l_instance_rec.actual_return_date;
10284 p_instance_rec.creation_complete_flag := l_instance_rec.creation_complete_flag;
10285 p_instance_rec.completeness_flag := l_instance_rec.completeness_flag;
10286 p_instance_rec.context := l_instance_rec.context;
10287 p_instance_rec.attribute1 := l_instance_rec.attribute1;
10288 p_instance_rec.attribute2 := l_instance_rec.attribute2;
10289 p_instance_rec.attribute3 := l_instance_rec.attribute3;
10290 p_instance_rec.attribute4 := l_instance_rec.attribute4;
10291 p_instance_rec.attribute5 := l_instance_rec.attribute5;
10292 p_instance_rec.attribute6 := l_instance_rec.attribute6;
10293 p_instance_rec.attribute7 := l_instance_rec.attribute7;
10294 p_instance_rec.attribute8 := l_instance_rec.attribute8;
10295 p_instance_rec.attribute9 := l_instance_rec.attribute9;
10296 p_instance_rec.attribute10 := l_instance_rec.attribute10;
10297 p_instance_rec.attribute11 := l_instance_rec.attribute11;
10298 p_instance_rec.attribute12 := l_instance_rec.attribute12;
10299 p_instance_rec.attribute13 := l_instance_rec.attribute13;
10300 p_instance_rec.attribute14 := l_instance_rec.attribute14;
10301 p_instance_rec.attribute15 := l_instance_rec.attribute15;
10302 p_instance_rec.object_version_number := l_instance_rec.object_version_number;
10303 p_instance_rec.last_txn_line_detail_id := l_instance_rec.last_txn_line_detail_id;
10304 p_instance_rec.install_location_type_code := l_instance_rec.install_location_type_code;
10305 p_instance_rec.install_location_id := l_instance_rec.install_location_id;
10306 p_instance_rec.instance_usage_code := l_instance_rec.instance_usage_code;
10307 p_instance_rec.config_inst_hdr_id := l_instance_rec.config_inst_hdr_id;
10308 p_instance_rec.config_inst_rev_num := l_instance_rec.config_inst_rev_num;
10309 p_instance_rec.config_inst_item_id := l_instance_rec.config_inst_item_id;
10310 p_instance_rec.config_valid_status := l_instance_rec.config_valid_status;
10311 p_instance_rec.instance_description := l_instance_rec.instance_description;
10312
10313 p_instance_rec.network_asset_flag := l_instance_rec.network_asset_flag;
10314 p_instance_rec.maintainable_flag := l_instance_rec.maintainable_flag;
10315 p_instance_rec.asset_criticality_code := l_instance_rec.asset_criticality_code;
10316 p_instance_rec.category_id := l_instance_rec.category_id ;
10317 p_instance_rec.equipment_gen_object_id := l_instance_rec.equipment_gen_object_id ;
10318 p_instance_rec.instantiation_flag := l_instance_rec.instantiation_flag;
10319 p_instance_rec.operational_log_flag := l_instance_rec.operational_log_flag ;
10320 p_instance_rec.supplier_warranty_exp_date:= l_instance_rec.supplier_warranty_exp_date ;
10321 p_instance_rec.attribute16 := l_instance_rec.attribute16 ;
10322 p_instance_rec.attribute17 := l_instance_rec.attribute17 ;
10323 p_instance_rec.attribute18 := l_instance_rec.attribute18 ;
10324 p_instance_rec.attribute19 := l_instance_rec.attribute19 ;
10325 p_instance_rec.attribute20 := l_instance_rec.attribute20 ;
10326 p_instance_rec.attribute21 := l_instance_rec.attribute21 ;
10327 p_instance_rec.attribute22 := l_instance_rec.attribute22 ;
10328 p_instance_rec.attribute23 := l_instance_rec.attribute23 ;
10329 p_instance_rec.attribute24 := l_instance_rec.attribute24 ;
10330 p_instance_rec.attribute25 := l_instance_rec.attribute25 ;
10331 p_instance_rec.attribute26 := l_instance_rec.attribute26 ;
10332 p_instance_rec.attribute27 := l_instance_rec.attribute27 ;
10333 p_instance_rec.attribute28 := l_instance_rec.attribute28 ;
10334 p_instance_rec.attribute29 := l_instance_rec.attribute29 ;
10335 p_instance_rec.attribute30 := l_instance_rec.attribute30 ;
10336 --
10337 p_instance_rec.purchase_unit_price := l_instance_rec.purchase_unit_price;
10338 p_instance_rec.purchase_currency_code := l_instance_rec.purchase_currency_code;
10339 p_instance_rec.payables_unit_price := l_instance_rec.payables_unit_price;
10340 p_instance_rec.payables_currency_code := l_instance_rec.payables_currency_code;
10341 p_instance_rec.sales_unit_price := l_instance_rec.sales_unit_price;
10342 p_instance_rec.sales_currency_code := l_instance_rec.sales_currency_code;
10343 p_instance_rec.operational_status_code := l_instance_rec.operational_status_code;
10344 --
10345 -- Build Party Table
10349 FOR i in p_party_header_tbl.FIRST .. p_party_header_tbl.LAST LOOP
10346 csi_gen_utility_pvt.put_line('Building party tbl..');
10347 IF p_party_header_tbl.count > 0 THEN
10348 l_ctr := l_party_tbl.count;
10350 IF nvl(p_party_header_tbl(i).active_end_date,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE OR
10351 p_party_header_tbl(i).active_end_date > sysdate THEN
10352 l_ctr := l_ctr + 1;
10353 --
10354 l_party_tbl(l_ctr).instance_party_id := p_party_header_tbl(i).instance_party_id;
10355 l_party_tbl(l_ctr).instance_id := p_party_header_tbl(i).instance_id;
10356 l_party_tbl(l_ctr).party_source_table := p_party_header_tbl(i).party_source_table;
10357 l_party_tbl(l_ctr).party_id := p_party_header_tbl(i).party_id;
10358 l_party_tbl(l_ctr).relationship_type_code := p_party_header_tbl(i).relationship_type_code;
10359 l_party_tbl(l_ctr).contact_flag := p_party_header_tbl(i).contact_flag;
10360 l_party_tbl(l_ctr).contact_ip_id := p_party_header_tbl(i).contact_ip_id;
10361 l_party_tbl(l_ctr).active_start_date := p_party_header_tbl(i).active_start_date;
10362 l_party_tbl(l_ctr).active_end_date := p_party_header_tbl(i).active_end_date;
10363 l_party_tbl(l_ctr).context := p_party_header_tbl(i).context;
10364 l_party_tbl(l_ctr).attribute1 := p_party_header_tbl(i).attribute1;
10365 l_party_tbl(l_ctr).attribute2 := p_party_header_tbl(i).attribute2;
10366 l_party_tbl(l_ctr).attribute3 := p_party_header_tbl(i).attribute3;
10367 l_party_tbl(l_ctr).attribute4 := p_party_header_tbl(i).attribute4;
10368 l_party_tbl(l_ctr).attribute5 := p_party_header_tbl(i).attribute5;
10369 l_party_tbl(l_ctr).attribute6 := p_party_header_tbl(i).attribute6;
10370 l_party_tbl(l_ctr).attribute7 := p_party_header_tbl(i).attribute7;
10371 l_party_tbl(l_ctr).attribute8 := p_party_header_tbl(i).attribute8;
10372 l_party_tbl(l_ctr).attribute9 := p_party_header_tbl(i).attribute9;
10373 l_party_tbl(l_ctr).attribute10 := p_party_header_tbl(i).attribute10;
10374 l_party_tbl(l_ctr).attribute11 := p_party_header_tbl(i).attribute11;
10375 l_party_tbl(l_ctr).attribute12 := p_party_header_tbl(i).attribute12;
10376 l_party_tbl(l_ctr).attribute13 := p_party_header_tbl(i).attribute13;
10377 l_party_tbl(l_ctr).attribute14 := p_party_header_tbl(i).attribute14;
10378 l_party_tbl(l_ctr).attribute15 := p_party_header_tbl(i).attribute15;
10379 l_party_tbl(l_ctr).object_version_number := p_party_header_tbl(i).object_version_number;
10380 l_party_tbl(l_ctr).primary_flag := p_party_header_tbl(i).primary_flag;
10381 l_party_tbl(l_ctr).preferred_flag := p_party_header_tbl(i).preferred_flag;
10382 l_party_tbl(l_ctr).parent_tbl_index := 1;
10383 END IF;
10384 END LOOP;
10385 --
10386 -- Following loop cannot be moved inside since contact record could come before the parent party
10387 --
10388 -- The reason for having l_party_tbl and later assigning qualifying records to p_party_tbl is
10389 -- we want to pass back p_party_tbl to the caller without any gaps in the slot#. Moreover, the
10390 -- same set is copied when the BOM is exploded and multiple instances are created.
10391 -- During that phase, we have to ignore the gaps which will potentially impact the underlying acct tbl
10392 --
10393 -- Scan thru' l_party_tbl and get all non-contact party records first
10394 --
10395 l_ctr := p_party_tbl.count;
10396 --
10397 IF l_party_tbl.count > 0 THEN
10398 FOR i in l_party_tbl.FIRST .. l_party_tbl.LAST LOOP
10399 IF l_party_tbl.EXISTS(i) THEN
10400 IF nvl(l_party_tbl(i).contact_flag,'N') = 'N' THEN
10401 l_ctr := l_ctr + 1;
10402 p_party_tbl(l_ctr) := l_party_tbl(i);
10403 l_party_tbl.DELETE(i); -- Just to reduce the table size
10404 END IF;
10405 END IF;
10406 END LOOP;
10407 END IF;
10408 --
10409 -- Append this with the contact party record after populating the contact_parent_tbl index
10410 -- Now, l_party_tbl will be left with only contact party records
10411 --
10412 l_ctr := p_party_tbl.count;
10413 --
10414 IF l_party_tbl.count > 0 THEN
10415 FOR i in l_party_tbl.FIRST .. l_party_tbl.LAST LOOP
10416 IF l_party_tbl.EXISTS(i) THEN
10417 IF l_party_tbl(i).contact_flag = 'Y' THEN -- Verify if parent party exists in p_party_tbl
10418 l_found := FALSE;
10419 FOR j in p_party_tbl.FIRST .. p_party_tbl.LAST LOOP
10420 IF l_party_tbl(i).contact_ip_id = p_party_tbl(j).instance_party_id THEN
10421 l_party_tbl(i).contact_parent_tbl_index := j;
10422 l_ctr := l_ctr + 1;
10423 p_party_tbl(l_ctr) := l_party_tbl(i);
10424 exit;
10425 END IF;
10426 END LOOP;
10427 END IF;
10428 END IF;
10429 END LOOP;
10430 END IF;
10431 END IF;
10432 --
10433 -- Build Account Table from Account Header Table
10434 csi_gen_utility_pvt.put_line('Building Account tbl..');
10435 IF p_account_header_tbl.count > 0 AND
10436 p_party_tbl.count > 0 THEN
10437 l_ctr := p_party_account_tbl.count;
10438 FOR i in p_account_header_tbl.FIRST .. p_account_header_tbl.LAST LOOP
10439 IF nvl(p_account_header_tbl(i).active_end_date,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE OR
10440 p_account_header_tbl(i).active_end_date > sysdate THEN
10441 l_found := FALSE;
10442 --
10443 FOR j in p_party_tbl.FIRST .. p_party_tbl.LAST LOOP
10444 IF p_party_tbl(j).instance_party_id = p_account_header_tbl(i).instance_party_id THEN
10445 l_ctr := l_ctr + 1;
10446 p_party_account_tbl(l_ctr).parent_tbl_index := j;
10447 l_found := TRUE; -- Corresponding party record found
10448 exit;
10449 END IF;
10450 END LOOP;
10451 --
10452 IF l_found = TRUE THEN
10456 p_party_account_tbl(l_ctr).party_account_id := p_account_header_tbl(i).party_account_id;
10453 -- l_ctr would have got incremented while setting l_found to TRUE
10454 p_party_account_tbl(l_ctr).ip_account_id := p_account_header_tbl(i).ip_account_id;
10455 p_party_account_tbl(l_ctr).instance_party_id := p_account_header_tbl(i).instance_party_id;
10457 p_party_account_tbl(l_ctr).relationship_type_code := p_account_header_tbl(i).relationship_type_code;
10458 p_party_account_tbl(l_ctr).bill_to_address := p_account_header_tbl(i).bill_to_address;
10459 p_party_account_tbl(l_ctr).ship_to_address := p_account_header_tbl(i).ship_to_address;
10460 p_party_account_tbl(l_ctr).active_start_date := p_account_header_tbl(i).active_start_date;
10461 p_party_account_tbl(l_ctr).active_end_date := p_account_header_tbl(i).active_end_date;
10462 p_party_account_tbl(l_ctr).context := p_account_header_tbl(i).context;
10463 p_party_account_tbl(l_ctr).attribute1 := p_account_header_tbl(i).attribute1;
10464 p_party_account_tbl(l_ctr).attribute2 := p_account_header_tbl(i).attribute2;
10465 p_party_account_tbl(l_ctr).attribute3 := p_account_header_tbl(i).attribute3;
10466 p_party_account_tbl(l_ctr).attribute4 := p_account_header_tbl(i).attribute4;
10467 p_party_account_tbl(l_ctr).attribute5 := p_account_header_tbl(i).attribute5;
10468 p_party_account_tbl(l_ctr).attribute6 := p_account_header_tbl(i).attribute6;
10469 p_party_account_tbl(l_ctr).attribute7 := p_account_header_tbl(i).attribute7;
10470 p_party_account_tbl(l_ctr).attribute8 := p_account_header_tbl(i).attribute8;
10471 p_party_account_tbl(l_ctr).attribute9 := p_account_header_tbl(i).attribute9;
10472 p_party_account_tbl(l_ctr).attribute10 := p_account_header_tbl(i).attribute10;
10473 p_party_account_tbl(l_ctr).attribute11 := p_account_header_tbl(i).attribute11;
10474 p_party_account_tbl(l_ctr).attribute12 := p_account_header_tbl(i).attribute12;
10475 p_party_account_tbl(l_ctr).attribute13 := p_account_header_tbl(i).attribute13;
10476 p_party_account_tbl(l_ctr).attribute14 := p_account_header_tbl(i).attribute14;
10477 p_party_account_tbl(l_ctr).attribute15 := p_account_header_tbl(i).attribute15;
10478 p_party_account_tbl(l_ctr).object_version_number := p_account_header_tbl(i).object_version_number;
10479 END IF;
10480 END IF; -- Active Account record
10481 END LOOP;
10482 END IF;
10483 --
10484 csi_gen_utility_pvt.put_line('Building Org Assignments tbl..');
10485 -- Build org Assignments table
10486 IF p_org_header_tbl.count > 0 THEN
10487 l_ctr := p_org_units_tbl.count;
10488 FOR i in p_org_header_tbl.FIRST .. p_org_header_tbl.LAST LOOP
10489 IF nvl(p_org_header_tbl(i).active_end_date,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE OR
10490 p_org_header_tbl(i).active_end_date > sysdate THEN
10491 l_ctr := l_ctr + 1;
10492 --
10493 p_org_units_tbl(l_ctr).instance_ou_id := p_org_header_tbl(i).instance_ou_id;
10494 p_org_units_tbl(l_ctr).instance_id := p_org_header_tbl(i).instance_id;
10495 p_org_units_tbl(l_ctr).operating_unit_id := p_org_header_tbl(i).operating_unit_id;
10496 p_org_units_tbl(l_ctr).relationship_type_code := p_org_header_tbl(i).relationship_type_code;
10497 p_org_units_tbl(l_ctr).active_start_date := p_org_header_tbl(i).active_start_date;
10498 p_org_units_tbl(l_ctr).active_end_date := p_org_header_tbl(i).active_end_date;
10499 p_org_units_tbl(l_ctr).context := p_org_header_tbl(i).context;
10500 p_org_units_tbl(l_ctr).attribute1 := p_org_header_tbl(i).attribute1;
10501 p_org_units_tbl(l_ctr).attribute2 := p_org_header_tbl(i).attribute2;
10502 p_org_units_tbl(l_ctr).attribute3 := p_org_header_tbl(i).attribute3;
10503 p_org_units_tbl(l_ctr).attribute4 := p_org_header_tbl(i).attribute4;
10504 p_org_units_tbl(l_ctr).attribute5 := p_org_header_tbl(i).attribute5;
10505 p_org_units_tbl(l_ctr).attribute6 := p_org_header_tbl(i).attribute6;
10506 p_org_units_tbl(l_ctr).attribute7 := p_org_header_tbl(i).attribute7;
10507 p_org_units_tbl(l_ctr).attribute8 := p_org_header_tbl(i).attribute8;
10508 p_org_units_tbl(l_ctr).attribute9 := p_org_header_tbl(i).attribute9;
10509 p_org_units_tbl(l_ctr).attribute10 := p_org_header_tbl(i).attribute10;
10510 p_org_units_tbl(l_ctr).attribute11 := p_org_header_tbl(i).attribute11;
10511 p_org_units_tbl(l_ctr).attribute12 := p_org_header_tbl(i).attribute12;
10512 p_org_units_tbl(l_ctr).attribute13 := p_org_header_tbl(i).attribute13;
10513 p_org_units_tbl(l_ctr).attribute14 := p_org_header_tbl(i).attribute14;
10514 p_org_units_tbl(l_ctr).attribute15 := p_org_header_tbl(i).attribute15;
10515 p_org_units_tbl(l_ctr).object_version_number := p_org_header_tbl(i).object_version_number;
10516 p_org_units_tbl(l_ctr).parent_tbl_index := 1;
10517 END IF;
10518 END LOOP;
10519 END IF;
10520 -- Build Pricing Attrib Table
10521 csi_gen_utility_pvt.put_line('Building Pricing tbl..');
10522 IF p_pricing_attrib_tbl.count > 0 THEN
10523 l_ctr := p_pricing_attribs_tbl.count;
10524 FOR i in p_pricing_attrib_tbl.FIRST .. p_pricing_attrib_tbl.LAST LOOP
10525 IF nvl(p_pricing_attrib_tbl(i).active_end_date,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE OR
10526 p_pricing_attrib_tbl(i).active_end_date > sysdate THEN
10527 l_ctr := l_ctr + 1;
10528 p_pricing_attribs_tbl(l_ctr) := p_pricing_attrib_tbl(i);
10529 p_pricing_attribs_tbl(l_ctr).parent_tbl_index := 1;
10530 END IF;
10531 END LOOP;
10532 END IF;
10533 -- Build Extended Attributes Table
10534 csi_gen_utility_pvt.put_line('Building Ext Attribs tbl..');
10535 IF p_ext_attrib_tbl.count > 0 THEN
10536 l_ctr := p_ext_attrib_values_tbl.count;
10537 FOR i in p_ext_attrib_tbl.FIRST .. p_ext_attrib_tbl.LAST LOOP
10538 IF nvl(p_ext_attrib_tbl(i).active_end_date,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE OR
10542 p_ext_attrib_values_tbl(l_ctr).parent_tbl_index := 1;
10539 p_ext_attrib_tbl(i).active_end_date > sysdate THEN
10540 l_ctr := l_ctr + 1;
10541 p_ext_attrib_values_tbl(l_ctr) := p_ext_attrib_tbl(i);
10543 END IF;
10544 END LOOP;
10545 END IF;
10546 -- Build Instance Asset Table
10547 csi_gen_utility_pvt.put_line('Building Instance Asset tbl..');
10548 IF p_asset_header_tbl.count > 0 THEN
10549 l_ctr := p_instance_asset_tbl.count;
10550 FOR i in p_asset_header_tbl.FIRST .. p_asset_header_tbl.LAST LOOP
10551 IF nvl(p_asset_header_tbl(i).active_end_date,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE OR
10552 p_asset_header_tbl(i).active_end_date > sysdate THEN
10553 l_ctr := l_ctr + 1;
10554 --
10555 p_instance_asset_tbl(l_ctr).instance_asset_id := p_asset_header_tbl(i).instance_asset_id;
10556 p_instance_asset_tbl(l_ctr).instance_id := p_asset_header_tbl(i).instance_id;
10557 p_instance_asset_tbl(l_ctr).fa_asset_id := p_asset_header_tbl(i).fa_asset_id;
10558 p_instance_asset_tbl(l_ctr).fa_book_type_code := p_asset_header_tbl(i).fa_book_type_code;
10559 p_instance_asset_tbl(l_ctr).fa_location_id := p_asset_header_tbl(i).fa_location_id;
10560 p_instance_asset_tbl(l_ctr).asset_quantity := p_asset_header_tbl(i).asset_quantity;
10561 p_instance_asset_tbl(l_ctr).update_status := p_asset_header_tbl(i).update_status;
10562 p_instance_asset_tbl(l_ctr).active_start_date := p_asset_header_tbl(i).active_start_date;
10563 p_instance_asset_tbl(l_ctr).active_end_date := p_asset_header_tbl(i).active_end_date;
10564 p_instance_asset_tbl(l_ctr).object_version_number := p_asset_header_tbl(i).object_version_number;
10565 p_instance_asset_tbl(l_ctr).parent_tbl_index := 1;
10566 END IF;
10567 END LOOP;
10568 END IF;
10569 EXCEPTION
10570 WHEN FND_API.G_EXC_ERROR THEN
10571 ROLLBACK TO Get_And_Build_Instance_Details;
10572 x_return_status := FND_API.G_RET_STS_ERROR ;
10573 FND_MSG_PUB.Count_And_Get
10574 ( p_count => x_msg_count,
10575 p_data => x_msg_data
10576 );
10577 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10578 ROLLBACK TO Get_And_Build_Instance_Details;
10579 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
10580 FND_MSG_PUB.Count_And_Get
10581 ( p_count => x_msg_count,
10582 p_data => x_msg_data
10583 );
10584 WHEN OTHERS THEN
10585 ROLLBACK TO Get_And_Build_Instance_Details;
10586 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
10587 IF FND_MSG_PUB.Check_Msg_Level
10588 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10589 THEN
10590 FND_MSG_PUB.Add_Exc_Msg
10591 ( G_PKG_NAME ,
10592 l_api_name
10593 );
10594 END IF;
10595 FND_MSG_PUB.Count_And_Get
10596 ( p_count => x_msg_count,
10597 p_data => x_msg_data
10598 );
10599 END Get_And_Build_Instance_Details;
10600 --
10601 /*---------------------------------------------------------*/
10602 /* Procedure name: Explode_Bom */
10603 /* Description : This procudure explodes the BOM and */
10604 /* creates instances and relationships */
10605 /* Author : Srinivasan Ramakrishnan */
10606 /*---------------------------------------------------------*/
10607 PROCEDURE Explode_Bom
10608 (
10609 p_api_version IN NUMBER
10610 ,p_commit IN VARCHAR2
10611 ,p_init_msg_list IN VARCHAR2
10612 ,p_validation_level IN NUMBER
10613 ,p_source_instance_tbl IN csi_datastructures_pub.instance_tbl
10614 ,p_explosion_level IN NUMBER
10615 ,p_txn_rec IN OUT NOCOPY csi_datastructures_pub.transaction_rec
10616 ,x_return_status OUT NOCOPY VARCHAR2
10617 ,x_msg_count OUT NOCOPY NUMBER
10618 ,x_msg_data OUT NOCOPY VARCHAR2
10619 )
10620 IS
10621 --
10622 l_api_name CONSTANT VARCHAR2(30) := 'explode_bom';
10623 l_api_version CONSTANT NUMBER := 1.0;
10624 l_debug_level NUMBER;
10625 l_msg_index NUMBER;
10626 l_msg_count NUMBER;
10627 x_ins_tbl csi_datastructures_pub.instance_tbl;
10628 x_rel_tbl csi_datastructures_pub.ii_relationship_tbl;
10629 l_ins_tbl csi_datastructures_pub.instance_tbl;
10630 l_rel_ctr NUMBER := 0;
10631 x_new_ins_tbl csi_datastructures_pub.instance_tbl;
10632 l_rel_tbl csi_datastructures_pub.ii_relationship_tbl;
10633 p_instance_rec csi_datastructures_pub.instance_rec;
10634 l_prev_item NUMBER := -9999;
10635 x_msg_index_out NUMBER;
10636 --
10637 p_party_tbl csi_datastructures_pub.party_tbl;
10638 p_party_account_tbl csi_datastructures_pub.party_account_tbl;
10639 p_org_units_tbl csi_datastructures_pub.organization_units_tbl;
10640 p_pricing_attribs_tbl csi_datastructures_pub.pricing_attribs_tbl;
10641 p_ext_attrib_values_tbl csi_datastructures_pub.extend_attrib_values_tbl;
10642 p_instance_asset_tbl csi_datastructures_pub.instance_asset_tbl;
10643 l_version_label VARCHAR2(240);
10644 l_ver_label_desc VARCHAR2(240);
10645 --
10646 p_grp_error_tbl csi_datastructures_pub.grp_error_tbl;
10647 p_txn_tbl csi_datastructures_pub.transaction_tbl;
10651 l_grp_party_tbl csi_datastructures_pub.party_tbl;
10648 l_grp_ins_tbl csi_datastructures_pub.instance_tbl;
10649 l_grp_ctr NUMBER := 0;
10650 l_grp_rel_tbl csi_datastructures_pub.ii_relationship_tbl;
10652 l_grp_account_tbl csi_datastructures_pub.party_account_tbl;
10653 l_grp_org_units_tbl csi_datastructures_pub.organization_units_tbl;
10654 l_grp_pricing_attribs_tbl csi_datastructures_pub.pricing_attribs_tbl;
10655 l_grp_ext_attrib_values_tbl csi_datastructures_pub.extend_attrib_values_tbl;
10656 l_grp_instance_asset_tbl csi_datastructures_pub.instance_asset_tbl;
10657 l_party_ctr NUMBER;
10658 l_ctr NUMBER;
10659 l_bom_expl_org_flag VARCHAR2(3);
10660 --
10661 BEGIN
10662 -- Standard Start of API savepoint
10663 SAVEPOINT explode_bom;
10664 -- Standard call to check for call compatibility.
10665 IF NOT FND_API.Compatible_API_Call (l_api_version,
10666 p_api_version,
10667 l_api_name ,
10668 G_PKG_NAME)
10669 THEN
10670 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10671 END IF;
10672 -- Initialize message list if p_init_msg_list is set to TRUE.
10673 IF FND_API.to_Boolean( p_init_msg_list ) THEN
10674 FND_MSG_PUB.initialize;
10675 END IF;
10676 -- Initialize API return status to success
10677 x_return_status := FND_API.G_RET_STS_SUCCESS;
10678 -- Check the profile option debug_level for debug message reporting
10679 l_debug_level:=fnd_profile.value('CSI_DEBUG_LEVEL');
10680 -- If debug_level = 1 then dump the procedure name
10681 IF (l_debug_level > 0) THEN
10682 csi_gen_utility_pvt.put_line( 'explode_bom (Group)');
10683 END IF;
10684 -- Start API body
10685 -- Bug 10285807
10686 -- Fetch profile CSI_BOM_EXPLOSION_ORG
10687 -- If Y => Shipping/Warehouse Org will be used for BOM child component
10688 -- validation and creation
10689 -- If N => Item validation Org will be used for BOM child component
10690 -- validation and creation
10691 l_bom_expl_org_flag := nvl(FND_PROFILE.VALUE('CSI_BOM_EXPLOSION_ORG'), 'N');
10692 csi_gen_utility_pvt.put_line('Group Explode BOM - l_bom_expl_org_flag - ' || l_bom_expl_org_flag);
10693
10694 IF p_source_instance_tbl.count > 0 THEN
10695 FOR src_rec in p_source_instance_tbl.FIRST .. p_source_instance_tbl.LAST LOOP
10696 IF p_source_instance_tbl.EXISTS(src_rec) THEN
10697 -- Verify instance quantity
10698 IF ((p_source_instance_tbl(src_rec).QUANTITY IS NULL)
10699 OR (p_source_instance_tbl(src_rec).QUANTITY = FND_API.G_MISS_NUM )
10700 OR (p_source_instance_tbl(src_rec).QUANTITY <> 1)) THEN
10701 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_QUANTITY');
10702 FND_MESSAGE.SET_TOKEN('QUANTITY',p_source_instance_tbl(src_rec).QUANTITY);
10703 FND_MSG_PUB.Add;
10704 RAISE FND_API.G_EXC_ERROR;
10705 END IF;
10706 --
10707 IF (p_source_instance_tbl(src_rec).instance_id IS NULL) OR
10708 (p_source_instance_tbl(src_rec).instance_id = FND_API.G_MISS_NUM) THEN
10709 FND_MESSAGE.SET_NAME('CSI','CSI_API_INSTANCE_ID_NULL');
10710 FND_MSG_PUB.Add;
10711 RAISE FND_API.G_EXC_ERROR;
10712 END IF;
10713 --
10714 -- Verify if configruation has been exploded before
10715 IF (csi_Item_Instance_Vld_pvt.Is_config_exploded
10716 ( p_source_instance_tbl(src_rec).INSTANCE_ID)) THEN
10717 csi_gen_utility_pvt.put_line('Configuration already Exploded');
10718 RAISE FND_API.G_EXC_ERROR;
10719 END IF;
10720 --
10721 IF l_prev_item = -9999 OR
10722 l_prev_item <> p_source_instance_tbl(src_rec).inventory_item_id THEN
10723 l_prev_item := p_source_instance_tbl(src_rec).inventory_item_id;
10724 -- Call Explode BOM
10725 csi_item_instance_pvt.Explode_Bom
10726 (
10727 p_api_version => 1.0
10728 ,p_commit => p_commit
10729 ,p_init_msg_list => p_init_msg_list
10730 ,p_validation_level => p_validation_level
10731 ,p_source_instance_rec => p_source_instance_tbl(src_rec)
10732 ,p_explosion_level => p_explosion_level
10733 ,p_item_tbl => x_ins_tbl
10734 ,p_item_relation_tbl => x_rel_tbl
10735 ,p_create_instance => FND_API.G_FALSE -- Since we just need the output
10736 ,p_txn_rec => p_txn_rec
10737 ,x_return_status => x_return_status
10738 ,x_msg_count => x_msg_count
10739 ,x_msg_data => x_msg_data
10740 );
10741 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
10742 csi_gen_utility_pvt.put_line('Error in Explode_BOM Regular Routine..');
10743 FOR i in 1..x_msg_Count LOOP
10744 FND_MSG_PUB.Get(p_msg_index => i,
10745 p_encoded => 'F',
10746 p_data => x_msg_data,
10747 p_msg_index_out => x_msg_index_out );
10748 csi_gen_utility_pvt.put_line('message data = '||x_msg_data);
10749 End LOOP;
10750 RAISE FND_API.G_EXC_ERROR;
10751 END IF;
10752 END IF;
10753 --
10754 -- Get the instance and other entities info
10755 IF x_ins_tbl.count > 0 THEN
10756 csi_gen_utility_pvt.put_line('Calling Get_And_Build_Instance_Details...');
10757 Get_And_Build_Instance_Details
10758 (p_instance_id => p_source_instance_tbl(src_rec).instance_id
10759 ,p_txn_rec => p_txn_rec
10760 ,p_instance_rec => p_instance_rec
10761 ,p_party_tbl => p_party_tbl
10762 ,p_party_account_tbl => p_party_account_tbl
10763 ,p_org_units_tbl => p_org_units_tbl
10767 ,x_return_status => x_return_status
10764 ,p_pricing_attribs_tbl => p_pricing_attribs_tbl
10765 ,p_ext_attrib_values_tbl => p_ext_attrib_values_tbl
10766 ,p_instance_asset_tbl => p_instance_asset_tbl
10768 ,x_msg_count => x_msg_count
10769 ,x_msg_data => x_msg_data
10770 );
10771 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10772 l_msg_index := 1;
10773 l_msg_count := x_msg_count;
10774 WHILE l_msg_count > 0 LOOP
10775 x_msg_data := FND_MSG_PUB.GET
10776 ( l_msg_index,
10777 FND_API.G_FALSE );
10778 l_msg_index := l_msg_index + 1;
10779 l_msg_count := l_msg_count - 1;
10780 END LOOP;
10781 csi_gen_utility_pvt.put_line('Error from Get_And_Build_Instance_Details...');
10782 RAISE FND_API.G_EXC_ERROR;
10783 ELSE
10784 csi_gen_utility_pvt.put_line('Count After Get_And_Build_Instance_Details...');
10785 csi_gen_utility_pvt.put_line('p_party_tbl Count is '||to_char(p_party_tbl.count));
10786 csi_gen_utility_pvt.put_line('p_party_account_tbl Count is '||to_char(p_party_account_tbl.count));
10787 csi_gen_utility_pvt.put_line('p_org_units_tbl Count is '||to_char(p_org_units_tbl.count));
10788 csi_gen_utility_pvt.put_line('p_pricing_attribs_tbl Count is '||to_char(p_pricing_attribs_tbl.count));
10789 csi_gen_utility_pvt.put_line('p_ext_attrib_values_tbl Count is '||to_char(p_ext_attrib_values_tbl.count));
10790 csi_gen_utility_pvt.put_line('p_instance_asset_tbl Count is '||to_char(p_instance_asset_tbl.count));
10791 END IF;
10792 --
10793 l_version_label := null;
10794 l_ver_label_desc := null;
10795 Begin
10796 select version_label,description
10797 into l_version_label,l_ver_label_desc
10798 from CSI_I_VERSION_LABELS
10799 where instance_id = p_source_instance_tbl(src_rec).instance_id
10800 and rownum < 2;
10801 Exception
10802 when no_data_found then
10803 null;
10804 End;
10805 END IF; -- x_ins_tbl count
10806 --
10807 l_ins_tbl.DELETE;
10808 l_rel_tbl.DELETE;
10809 l_party_ctr := p_party_tbl.count;
10810 l_ins_tbl := x_ins_tbl;
10811 l_rel_tbl := x_rel_tbl;
10812 IF l_ins_tbl.count > 0 THEN
10813 For ins_tab in l_ins_tbl.FIRST .. l_ins_tbl.LAST
10814 Loop
10815 l_grp_ctr := l_grp_ctr + 1;
10816 l_grp_ins_tbl(l_grp_ctr) := p_instance_rec;
10817 select CSI_ITEM_INSTANCES_S.nextval
10818 into l_grp_ins_tbl(l_grp_ctr).instance_id
10819 from dual;
10820 --
10821
10822 csi_gen_utility_pvt.put_line('Current vld org id '||l_grp_ins_tbl(l_grp_ctr).vld_organization_id);
10823 csi_gen_utility_pvt.put_line('Warehouse org id from BOM '||l_ins_tbl(ins_tab).vld_organization_id);
10824
10825 l_grp_ins_tbl(l_grp_ctr).instance_number := l_grp_ins_tbl(l_grp_ctr).instance_id;
10826 l_grp_ins_tbl(l_grp_ctr).external_reference := fnd_api.g_miss_char;
10827 l_grp_ins_tbl(l_grp_ctr).object_version_number := fnd_api.g_miss_num;
10828 l_grp_ins_tbl(l_grp_ctr).inventory_item_id := l_ins_tbl(ins_tab).inventory_item_id;
10829 -- Bug 10285807
10830 -- If Shipping org is enabled, then assign shipping org id from BOM to
10831 -- instance creation PLS table
10832 IF NVL(l_bom_expl_org_flag,'N') = 'Y' THEN
10833 l_grp_ins_tbl(l_grp_ctr).vld_organization_id := l_ins_tbl(ins_tab).vld_organization_id;
10834 END IF;
10835 l_grp_ins_tbl(l_grp_ctr).inventory_revision := fnd_api.g_miss_char;
10836 l_grp_ins_tbl(l_grp_ctr).quantity := l_ins_tbl(ins_tab).quantity;
10837 l_grp_ins_tbl(l_grp_ctr).mfg_serial_number_flag := 'N';
10838 l_grp_ins_tbl(l_grp_ctr).unit_of_measure := l_ins_tbl(ins_tab).unit_of_measure;
10839 l_grp_ins_tbl(l_grp_ctr).lot_number := NULL;
10840 l_grp_ins_tbl(l_grp_ctr).serial_number := NULL;
10841 l_grp_ins_tbl(l_grp_ctr).creation_complete_flag := fnd_api.g_miss_char;
10842 l_grp_ins_tbl(l_grp_ctr).completeness_flag := fnd_api.g_miss_char;
10843 l_grp_ins_tbl(l_grp_ctr).version_label := l_version_label;
10844 l_grp_ins_tbl(l_grp_ctr).version_label_description := l_ver_label_desc;
10845 --
10846 -- On success Populate the relationship_tbl with the new instance_id
10847 IF l_rel_tbl.count > 0 THEN
10848 For rel_tab in l_rel_tbl.FIRST .. l_rel_tbl.LAST
10849 Loop
10850 IF l_rel_tbl(rel_tab).object_id = 0 THEN -- Top Most
10851 l_rel_tbl(rel_tab).object_id := p_source_instance_tbl(src_rec).instance_id;
10852 END IF;
10853 --
10854 IF l_rel_tbl(rel_tab).subject_id = ins_tab THEN
10855 l_rel_tbl(rel_tab).subject_id := l_grp_ins_tbl(l_grp_ctr).instance_id;
10856 END IF;
10857 --
10858 IF l_rel_tbl(rel_tab).object_id = ins_tab THEN
10859 l_rel_tbl(rel_tab).object_id := l_grp_ins_tbl(l_grp_ctr).instance_id;
10860 END IF;
10861 End Loop;
10862 END IF;
10863 --
10864 -- One Txn per Instance for calling Group API
10865 -- We pass the same txn id for all the txns. Group API will insert only distinct values.
10866 p_txn_tbl(l_grp_ctr) := p_txn_rec;
10867 -- p_txn_tbl(l_grp_ctr).transaction_id := fnd_api.g_miss_num;
10868 -- p_txn_tbl(l_grp_ctr).object_version_number := fnd_api.g_miss_num;
10869 --
10870 -- Build Party Tbl
10871 l_ctr := l_grp_party_tbl.count;
10872 IF p_party_tbl.count > 0 THEN
10873 FOR j in p_party_tbl.FIRST .. p_party_tbl.LAST LOOP
10877 l_grp_party_tbl(l_ctr).instance_id := l_grp_ins_tbl(l_grp_ctr).instance_id;
10874 l_ctr := l_ctr + 1;
10875 l_grp_party_tbl(l_ctr) := p_party_tbl(j);
10876 l_grp_party_tbl(l_ctr).instance_party_id := fnd_api.g_miss_num;
10878 l_grp_party_tbl(l_ctr).object_version_number := fnd_api.g_miss_num;
10879 l_grp_party_tbl(l_ctr).parent_tbl_index := l_grp_ctr;
10880 l_grp_party_tbl(l_ctr).contact_ip_id := fnd_api.g_miss_num;
10881 IF l_grp_ctr > 1 THEN
10882 IF p_party_tbl(j).contact_flag = 'Y' THEN
10883 l_grp_party_tbl(l_ctr).contact_parent_tbl_index :=
10884 p_party_tbl(j).contact_parent_tbl_index + ((l_grp_ctr-1) * l_party_ctr);
10885 END IF;
10886 END IF;
10887 END LOOP;
10888 END IF;
10889 --
10890 -- Build Account Tbl
10891 l_ctr := l_grp_account_tbl.count;
10892 IF p_party_account_tbl.count > 0 THEN
10893 FOR j in p_party_account_tbl.FIRST .. p_party_account_tbl.LAST LOOP
10894 l_ctr := l_ctr + 1;
10895 l_grp_account_tbl(l_ctr) := p_party_account_tbl(j);
10896 l_grp_account_tbl(l_ctr).ip_account_id := fnd_api.g_miss_num;
10897 l_grp_account_tbl(l_ctr).instance_party_id := fnd_api.g_miss_num;
10898 l_grp_account_tbl(l_ctr).object_version_number := fnd_api.g_miss_num;
10899 IF l_grp_ctr > 1 THEN
10900 l_grp_account_tbl(l_ctr).parent_tbl_index :=
10901 p_party_account_tbl(j).parent_tbl_index + ((l_grp_ctr-1) * l_party_ctr);
10902 END IF;
10903 END LOOP;
10904 END IF;
10905 --
10906 l_ctr := l_grp_org_units_tbl.count;
10907 IF p_org_units_tbl.count > 0 THEN
10908 FOR j in p_org_units_tbl.FIRST .. p_org_units_tbl.LAST LOOP
10909 l_ctr := l_ctr + 1;
10910 l_grp_org_units_tbl(l_ctr) := p_org_units_tbl(j);
10911 l_grp_org_units_tbl(l_ctr).parent_tbl_index := l_grp_ctr;
10912 l_grp_org_units_tbl(l_ctr).instance_id := l_grp_ins_tbl(l_grp_ctr).instance_id;
10913 l_grp_org_units_tbl(l_ctr).instance_ou_id := fnd_api.g_miss_num;
10914 l_grp_org_units_tbl(l_ctr).object_version_number := fnd_api.g_miss_num;
10915 END LOOP;
10916 END IF;
10917 --
10918 l_ctr := l_grp_pricing_attribs_tbl.count;
10919 IF p_pricing_attribs_tbl.count > 0 THEN
10920 FOR j in p_pricing_attribs_tbl.FIRST .. p_pricing_attribs_tbl.LAST LOOP
10921 l_ctr := l_ctr + 1;
10922 l_grp_pricing_attribs_tbl(l_ctr) := p_pricing_attribs_tbl(j);
10923 l_grp_pricing_attribs_tbl(l_ctr).parent_tbl_index := l_grp_ctr;
10924 l_grp_pricing_attribs_tbl(l_ctr).instance_id := l_grp_ins_tbl(l_grp_ctr).instance_id;
10925 l_grp_pricing_attribs_tbl(l_ctr).pricing_attribute_id := fnd_api.g_miss_num;
10926 l_grp_pricing_attribs_tbl(l_ctr).object_version_number := fnd_api.g_miss_num;
10927 END LOOP;
10928 END IF;
10929 --
10930 l_ctr := l_grp_ext_attrib_values_tbl.count;
10931 IF p_ext_attrib_values_tbl.count > 0 THEN
10932 FOR j in p_ext_attrib_values_tbl.FIRST .. p_ext_attrib_values_tbl.LAST LOOP
10933 l_ctr := l_ctr + 1;
10934 l_grp_ext_attrib_values_tbl(l_ctr) := p_ext_attrib_values_tbl(j);
10935 l_grp_ext_attrib_values_tbl(l_ctr).parent_tbl_index := l_grp_ctr;
10936 l_grp_ext_attrib_values_tbl(l_ctr).attribute_value_id := fnd_api.g_miss_num;
10937 l_grp_ext_attrib_values_tbl(l_ctr).instance_id := l_grp_ins_tbl(l_grp_ctr).instance_id;
10938 l_grp_ext_attrib_values_tbl(l_ctr).object_version_number := fnd_api.g_miss_num;
10939 END LOOP;
10940 END IF;
10941 --
10942 l_ctr := l_grp_instance_asset_tbl.count;
10943 IF p_instance_asset_tbl.count > 0 THEN
10944 FOR j in p_instance_asset_tbl.FIRST .. p_instance_asset_tbl.LAST LOOP
10945 l_ctr := l_ctr + 1;
10946 l_grp_instance_asset_tbl(l_ctr) := p_instance_asset_tbl(j);
10947 l_grp_instance_asset_tbl(l_ctr).parent_tbl_index := l_grp_ctr;
10948 l_grp_instance_asset_tbl(l_ctr).instance_id := l_grp_ins_tbl(l_grp_ctr).instance_id;
10949 l_grp_instance_asset_tbl(l_ctr).object_version_number := fnd_api.g_miss_num;
10950 l_grp_instance_asset_tbl(l_ctr).instance_asset_id := fnd_api.g_miss_num;
10951 END LOOP;
10952 END IF;
10953 End Loop; -- l_ins_tbl (components) loop
10954 --
10955 -- At the end of this loop all the relationship records
10956 -- will have the right subject and object
10957 -- Add the l_rel_tbl into l_grp_rel_tbl
10958 IF l_rel_tbl.count > 0 THEN
10959 l_rel_ctr := l_grp_rel_tbl.count;
10960 FOR rel_rec in l_rel_tbl.FIRST .. l_rel_tbl.LAST LOOP
10961 l_rel_ctr := l_rel_ctr + 1;
10962 l_grp_rel_tbl(l_rel_ctr).object_id := l_rel_tbl(rel_rec).object_id;
10963 l_grp_rel_tbl(l_rel_ctr).subject_id := l_rel_tbl(rel_rec).subject_id;
10964 l_grp_rel_tbl(l_rel_ctr).relationship_type_code := 'COMPONENT-OF';
10965 END LOOP;
10966 END IF;
10967 END IF; -- End of l_ins_tbl_count
10968 END IF; -- p_source_instance_tbl exists
10969 END LOOP; -- p_source_instance_tbl loop
10970 END IF; -- p_src_instance_tbl count
10971 --
10972 -- Call Create Item Instance Group API
10973 csi_gen_utility_pvt.put_line('Instance count is '||to_char(l_grp_ins_tbl.count));
10974 csi_gen_utility_pvt.put_line('Party count is '||to_char(l_grp_party_tbl.count));
10975 csi_gen_utility_pvt.put_line('Account count is '||to_char(l_grp_account_tbl.count));
10976 csi_gen_utility_pvt.put_line('Pricing count is '||to_char(l_grp_pricing_attribs_tbl.count));
10977 csi_gen_utility_pvt.put_line('Ext Attribs count is '||to_char(l_grp_ext_attrib_values_tbl.count));
10978 csi_gen_utility_pvt.put_line('Org Units count is '||to_char(l_grp_org_units_tbl.count));
10979 csi_gen_utility_pvt.put_line('Asset count is '||to_char(l_grp_instance_asset_tbl.count));
10980 csi_gen_utility_pvt.put_line('Transaction count is '||to_char(p_txn_tbl.count));
10981 --
10985 ,p_init_msg_list => p_init_msg_list
10982 csi_item_instance_grp.create_item_instance
10983 ( p_api_version => 1.0
10984 ,p_commit => p_commit
10986 ,p_validation_level => p_validation_level
10987 ,p_instance_tbl => l_grp_ins_tbl
10988 ,p_ext_attrib_values_tbl => l_grp_ext_attrib_values_tbl
10989 ,p_party_tbl => l_grp_party_tbl
10990 ,p_account_tbl => l_grp_account_tbl
10991 ,p_pricing_attrib_tbl => l_grp_pricing_attribs_tbl
10992 ,p_org_assignments_tbl => l_grp_org_units_tbl
10993 ,p_asset_assignment_tbl => l_grp_instance_asset_tbl
10994 ,p_txn_tbl => p_txn_tbl
10995 ,p_call_from_bom_expl => fnd_api.g_true
10996 ,p_grp_error_tbl => p_grp_error_tbl
10997 ,x_return_status => x_return_status
10998 ,x_msg_count => x_msg_count
10999 ,x_msg_data => x_msg_data
11000 );
11001 --
11002 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
11003 csi_gen_utility_pvt.put_line('Error from Group Create_item_instance..');
11004 FOR i in 1..x_msg_Count LOOP
11005 FND_MSG_PUB.Get(p_msg_index => i,
11006 p_encoded => 'F',
11007 p_data => x_msg_data,
11008 p_msg_index_out => x_msg_index_out );
11009 csi_gen_utility_pvt.put_line('message data = '||x_msg_data);
11010 End LOOP;
11011 RAISE FND_API.G_EXC_ERROR;
11012 END IF;
11013 --
11014 csi_gen_utility_pvt.put_line('Relationship Count is '||to_char(l_grp_rel_tbl.count));
11015 IF l_grp_rel_tbl.count > 0 THEN
11016 csi_gen_utility_pvt.put_line('Calling Create Relationship PUB...');
11017 csi_ii_relationships_pub.create_relationship
11018 (
11019 p_api_version => 1.0,
11020 p_commit => fnd_api.g_false,
11021 p_init_msg_list => fnd_api.g_true,
11022 p_validation_level => fnd_api.g_valid_level_full,
11023 p_relationship_tbl => l_grp_rel_tbl,
11024 p_txn_rec => p_txn_rec,
11025 x_return_status => x_return_status,
11026 x_msg_count => x_msg_count,
11027 x_msg_data => x_msg_data
11028 );
11029 csi_gen_utility_pvt.put_line('End of Create Relationship...');
11030 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
11031 csi_gen_utility_pvt.put_line('Error while trying to Create II Relationships..');
11032 FOR i in 1..x_msg_Count LOOP
11033 FND_MSG_PUB.Get(p_msg_index => i,
11034 p_encoded => 'F',
11035 p_data => x_msg_data,
11036 p_msg_index_out => x_msg_index_out );
11037 csi_gen_utility_pvt.put_line('message data = '||x_msg_data);
11038 End LOOP;
11039 RAISE FND_API.G_EXC_ERROR;
11040 END IF;
11041 END IF;
11042 -- End of API body
11043 -- Standard check of p_commit
11044 IF FND_API.To_Boolean( p_commit ) THEN
11045 COMMIT WORK;
11046 END IF;
11047 -- Standard call to get message count and if count is get message info.
11048 FND_MSG_PUB.Count_And_Get
11049 ( p_count => x_msg_count ,
11050 p_data => x_msg_data
11051 );
11052 EXCEPTION
11053 WHEN FND_API.G_EXC_ERROR THEN
11054 ROLLBACK TO explode_bom;
11055 x_return_status := FND_API.G_RET_STS_ERROR ;
11056 FND_MSG_PUB.Count_And_Get
11057 ( p_count => x_msg_count,
11058 p_data => x_msg_data
11059 );
11060 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
11061 ROLLBACK TO explode_bom;
11062 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
11063 FND_MSG_PUB.Count_And_Get
11064 ( p_count => x_msg_count,
11065 p_data => x_msg_data
11066 );
11067 WHEN OTHERS THEN
11068 ROLLBACK TO explode_bom;
11069 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
11070 IF FND_MSG_PUB.Check_Msg_Level
11071 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11072 THEN
11073 FND_MSG_PUB.Add_Exc_Msg
11074 ( G_PKG_NAME ,
11075 l_api_name
11076 );
11077 END IF;
11078 FND_MSG_PUB.Count_And_Get
11079 ( p_count => x_msg_count,
11080 p_data => x_msg_data
11081 );
11082 END Explode_Bom;
11083 --
11084 PROCEDURE lock_item_instances
11085 (
11086 p_api_version IN NUMBER
11087 ,p_commit IN VARCHAR2 := fnd_api.g_false
11088 ,p_init_msg_list IN VARCHAR2 := fnd_api.g_false
11089 ,p_validation_level IN NUMBER := fnd_api.g_valid_level_full
11090 ,px_config_tbl IN OUT NOCOPY csi_cz_int.config_tbl
11091 -- ,p_txn_rec IN OUT NOCOPY csi_datastructures_pub.transaction_rec
11092 ,x_return_status OUT NOCOPY VARCHAR2
11093 ,x_msg_count OUT NOCOPY NUMBER
11094 ,x_msg_data OUT NOCOPY VARCHAR2
11095 )
11096 AS
11097 l_api_name CONSTANT VARCHAR2(30) := 'LOCK_ITEM_INSTANCES';
11098 l_api_version CONSTANT NUMBER := 1.0;
11099 l_csi_debug_level NUMBER;
11100 l_msg_data VARCHAR2(2000);
11101 l_msg_index NUMBER;
11102 l_msg_count NUMBER;
11103 BEGIN
11104
11105 SAVEPOINT csi_lock_item_grp;
11106
11107
11108 -- Check for freeze_flag in csi_install_parameters is set to 'Y'
11109
11110 csi_utility_grp.check_ib_active;
11111
11112 -- Standard call to check for call compatibility.
11116 g_pkg_name )
11113 IF NOT FND_API.Compatible_API_Call ( l_api_version ,
11114 p_api_version ,
11115 l_api_name ,
11117 THEN
11118 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11119 END IF;
11120
11121 -- Initialize message list if p_init_msg_list is set to TRUE.
11122 IF FND_API.to_Boolean( p_init_msg_list ) THEN
11123 FND_MSG_PUB.initialize;
11124 END IF;
11125
11126 -- Initialize API return status to success
11127 x_return_status := FND_API.G_RET_STS_SUCCESS;
11128
11129 -- Check the profile option CSI_DEBUG_LEVEL for debug message reporting
11130 l_csi_debug_level:=fnd_profile.value('CSI_DEBUG_LEVEL');
11131
11132 -- If CSI_DEBUG_LEVEL = 1 then dump the procedure name
11133 IF (l_csi_debug_level > 0) THEN
11134 csi_gen_utility_pvt.put_line( 'lock_item_instances');
11135 END IF;
11136
11137
11138 -- If the debug level = 2 then dump all the parameters values.
11139 IF (l_csi_debug_level > 1) THEN
11140 csi_gen_utility_pvt.put_line( 'lock_item_instances'||
11141 p_api_version ||'-'||
11142 p_commit ||'-'||
11143 p_init_msg_list ||'-'||
11144 p_validation_level );
11145 -- Dump the records in the log file
11146 -- csi_gen_utility_pvt.dump_txn_rec(p_txn_rec);
11147 END IF;
11148
11149 csi_item_instance_pvt.lock_item_instances
11150 (p_api_version => p_api_version
11151 ,p_commit => fnd_api.g_false
11152 ,p_init_msg_list => p_init_msg_list
11153 ,p_validation_level => p_validation_level
11154 ,px_config_tbl => px_config_tbl
11155 -- ,p_txn_rec => p_txn_rec
11156 ,x_return_status => x_return_status
11157 ,x_msg_count => x_msg_count
11158 ,x_msg_data => x_msg_data
11159 );
11160 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
11161 l_msg_index := 1;
11162 l_msg_count := x_msg_count;
11163 WHILE l_msg_count > 0 LOOP
11164 x_msg_data := FND_MSG_PUB.GET
11165 ( l_msg_index,
11166 FND_API.G_FALSE );
11167 csi_gen_utility_pvt.put_line('Error while locking item instances..');
11168 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
11169 l_msg_index := l_msg_index + 1;
11170 l_msg_count := l_msg_count - 1;
11171 END LOOP;
11172 RAISE FND_API.G_EXC_ERROR;
11173 END IF;
11174
11175 IF FND_API.To_Boolean( p_commit ) THEN
11176 COMMIT WORK;
11177 END IF;
11178
11179 -- Standard call to get message count and if count is get message info.
11180 FND_MSG_PUB.Count_And_Get
11181 (p_count => x_msg_count ,
11182 p_data => x_msg_data );
11183
11184 EXCEPTION
11185 WHEN FND_API.G_EXC_ERROR THEN
11186 ROLLBACK TO csi_lock_item_grp;
11187 x_return_status := FND_API.G_RET_STS_ERROR ;
11188 FND_MSG_PUB.Count_And_Get
11189 ( p_count => x_msg_count,
11190 p_data => x_msg_data );
11191 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
11192 ROLLBACK TO csi_lock_item_grp;
11193 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
11194 FND_MSG_PUB.Count_And_Get
11195 ( p_count => x_msg_count,
11196 p_data => x_msg_data );
11197 WHEN OTHERS THEN
11198 ROLLBACK TO csi_lock_item_grp;
11199 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
11200 IF FND_MSG_PUB.Check_Msg_Level
11201 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11202 THEN
11203 FND_MSG_PUB.Add_Exc_Msg
11204 ( g_pkg_name, l_api_name );
11205 END IF;
11206 FND_MSG_PUB.Count_And_Get
11207 ( p_count => x_msg_count,
11208 p_data => x_msg_data );
11209 END lock_item_instances;
11210
11211 PROCEDURE unlock_item_instances
11212 (
11213 p_api_version IN NUMBER
11214 ,p_commit IN VARCHAR2
11215 ,p_init_msg_list IN VARCHAR2
11216 ,p_validation_level IN NUMBER
11217 ,p_config_tbl IN csi_cz_int.config_tbl
11218 -- ,p_txn_rec IN OUT NOCOPY csi_datastructures_pub.transaction_rec
11219 ,x_return_status OUT NOCOPY VARCHAR2
11220 ,x_msg_count OUT NOCOPY NUMBER
11221 ,x_msg_data OUT NOCOPY VARCHAR2
11222 )
11223 AS
11224 l_api_name CONSTANT VARCHAR2(30) := 'UNLOCK_ITEM_INSTANCES';
11225 l_api_version CONSTANT NUMBER := 1.0;
11226 l_csi_debug_level NUMBER;
11227 l_msg_data VARCHAR2(2000);
11228 l_msg_index NUMBER;
11229 l_msg_count NUMBER;
11230 BEGIN
11231
11232 SAVEPOINT csi_unlock_item_grp;
11233
11234 -- Check for freeze_flag in csi_install_parameters is set to 'Y'
11235
11236 csi_utility_grp.check_ib_active;
11237
11238 -- Standard call to check for call compatibility.
11239 IF NOT FND_API.Compatible_API_Call ( l_api_version ,
11240 p_api_version ,
11241 l_api_name ,
11242 g_pkg_name )
11243 THEN
11244 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
11245 END IF;
11246
11247 -- Initialize message list if p_init_msg_list is set to TRUE.
11248 IF FND_API.to_Boolean( p_init_msg_list ) THEN
11249 FND_MSG_PUB.initialize;
11250 END IF;
11251
11252 -- Initialize API return status to success
11253 x_return_status := FND_API.G_RET_STS_SUCCESS;
11254
11255 -- Check the profile option CSI_DEBUG_LEVEL for debug message reporting
11256 l_csi_debug_level:=fnd_profile.value('CSI_DEBUG_LEVEL');
11257
11258 -- If CSI_DEBUG_LEVEL = 1 then dump the procedure name
11259 IF (l_csi_debug_level > 0) THEN
11260 csi_gen_utility_pvt.put_line( 'unlock_item_instances');
11261 END IF;
11262
11263
11264 -- If the debug level = 2 then dump all the parameters values.
11265 IF (l_csi_debug_level > 1) THEN
11266 csi_gen_utility_pvt.put_line( 'unlock_item_instances'||
11267 p_api_version ||'-'||
11268 p_commit ||'-'||
11269 p_init_msg_list ||'-'||
11270 p_validation_level );
11271 -- Dump the records in the log file
11272 -- csi_gen_utility_pvt.dump_txn_rec(p_txn_rec);
11273 END IF;
11274
11275
11276 csi_item_instance_pvt.unlock_item_instances
11277 (p_api_version => p_api_version
11278 ,p_commit => fnd_api.g_false
11279 ,p_init_msg_list => p_init_msg_list
11280 ,p_validation_level => p_validation_level
11281 ,p_config_tbl => p_config_tbl
11282 ,p_unlock_all => fnd_api.g_false
11283 -- ,p_txn_rec => p_txn_rec
11284 ,x_return_status => x_return_status
11285 ,x_msg_count => x_msg_count
11286 ,x_msg_data => x_msg_data
11287 );
11288 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
11289 l_msg_index := 1;
11290 l_msg_count := x_msg_count;
11291 WHILE l_msg_count > 0 LOOP
11292 x_msg_data := FND_MSG_PUB.GET
11293 ( l_msg_index,
11294 FND_API.G_FALSE );
11295 csi_gen_utility_pvt.put_line('Error while unlocking item instances..');
11296 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
11297 l_msg_index := l_msg_index + 1;
11298 l_msg_count := l_msg_count - 1;
11299 END LOOP;
11300 RAISE FND_API.G_EXC_ERROR;
11301 END IF;
11302
11303
11304 IF FND_API.To_Boolean( p_commit ) THEN
11305 COMMIT WORK;
11306 END IF;
11307
11308 -- Standard call to get message count and if count is get message info.
11309 FND_MSG_PUB.Count_And_Get
11310 (p_count => x_msg_count ,
11311 p_data => x_msg_data );
11312
11313 EXCEPTION
11314 WHEN FND_API.G_EXC_ERROR THEN
11315 ROLLBACK TO csi_unlock_item_grp;
11316 x_return_status := FND_API.G_RET_STS_ERROR ;
11317 FND_MSG_PUB.Count_And_Get
11318 ( p_count => x_msg_count,
11319 p_data => x_msg_data );
11320 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
11321 ROLLBACK TO csi_unlock_item_grp;
11322 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
11323 FND_MSG_PUB.Count_And_Get
11324 ( p_count => x_msg_count,
11325 p_data => x_msg_data );
11326 WHEN OTHERS THEN
11327 ROLLBACK TO csi_unlock_item_grp;
11328 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
11329 IF FND_MSG_PUB.Check_Msg_Level
11330 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
11331 THEN
11332 FND_MSG_PUB.Add_Exc_Msg
11333 ( g_pkg_name, l_api_name );
11334 END IF;
11335 FND_MSG_PUB.Count_And_Get
11336 ( p_count => x_msg_count,
11337 p_data => x_msg_data );
11338 END unlock_item_instances;
11339
11340 FUNCTION check_item_instance_lock
11341 ( p_instance_id IN NUMBER ,
11342 p_config_inst_hdr_id IN NUMBER ,
11343 p_config_inst_item_id IN NUMBER ,
11344 p_config_inst_rev_num IN NUMBER
11345 ) RETURN BOOLEAN IS
11346 l_return_value BOOLEAN := TRUE;
11347 l_lock_id NUMBER;
11348 l_lock_status NUMBER :=0;
11349 BEGIN
11350 l_return_value:= csi_item_instance_pvt.check_item_instance_lock
11351 ( p_instance_id => p_instance_id
11352 ,p_config_inst_hdr_id => p_config_inst_hdr_id
11353 ,p_config_inst_item_id => p_config_inst_item_id
11354 ,p_config_inst_rev_num => p_config_inst_rev_num
11355 );
11356
11357 RETURN l_return_value;
11358 END check_item_instance_lock;
11359
11360 END CSI_ITEM_INSTANCE_GRP;