[Home] [Help]
PACKAGE BODY: APPS.CSI_ITEM_INSTANCE_GRP
Source
1 PACKAGE BODY CSI_ITEM_INSTANCE_GRP AS
2 /* $Header: csigiib.pls 120.24 2008/04/30 10:21:50 jgootyag 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 ) RETURN BOOLEAN IS
108 --
109 l_serial_type NUMBER;
110 l_temp VARCHAR2(1);
111 l_base_item_id NUMBER;
112 l_return_value BOOLEAN;
113 l_count NUMBER;
114 --
115 BEGIN
116 l_return_value := TRUE;
117 --
118 BEGIN
119 SELECT serial_number_type -- serial number uniqueness control
120 INTO l_serial_type
121 FROM mtl_parameters
122 WHERE organization_id = p_instance_rec.vld_organization_id;
123 EXCEPTION
124 WHEN no_data_found THEN
125 l_return_value := FALSE;
126 fnd_message.set_name('CSI','CSI_NO_ORG_SET');
127 fnd_message.set_token('ORGANIZATION_ID',p_instance_rec.vld_organization_id);
128 fnd_msg_pub.add;
129 RETURN l_return_value;
130 END;
131 --
132 l_temp := NULL;
133 --
134 IF l_serial_type = 1 THEN
135 l_base_item_id := NULL;
136 Begin
137 select base_item_id
138 into l_base_item_id
139 from MTL_SYSTEM_ITEMS_B
140 where inventory_item_id = p_instance_rec.inventory_item_id
141 and organization_id = p_instance_rec.vld_organization_id;
142 Exception
143 when no_data_found then
144 l_return_value := FALSE;
145 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_ITEM');
146 FND_MESSAGE.SET_TOKEN('INVENTORY_ITEM_ID',p_instance_rec.inventory_item_id);
147 FND_MESSAGE.SET_TOKEN('INVENTORY_ORGANIZATION_ID',p_instance_rec.vld_organization_id);
148 FND_MSG_PUB.Add;
149 RETURN l_return_value;
150 End;
151 --
152 FOR j IN p_instance_tbl.FIRST .. p_instance_tbl.LAST LOOP
153 IF p_instance_tbl.EXISTS(j) THEN
154 IF p_instance_tbl(j).interface_id <> p_instance_rec.interface_id THEN -- ignoring the current
155 IF p_instance_tbl(j).serial_number = p_instance_rec.serial_number AND
156 nvl(p_instance_tbl(j).processed_flag,'N') <> 'E' THEN
157 IF p_instance_tbl(j).inventory_item_id = p_instance_rec.inventory_item_id THEN
158 l_temp := '1'; -- Fundamental uniqueness violated
159 exit;
160 ELSE -- Uniqueness within Model
161 l_count := 0;
162 IF l_base_item_id IS NOT NULL THEN
163 Begin
164 select 1
165 into l_count
166 from dual
167 where exists (select 'x' from mtl_system_items_b msi
168 where msi.base_item_id = l_base_item_id
169 and msi.inventory_item_id = p_instance_tbl(j).inventory_item_id);
170 Exception
171 when no_data_found then
172 l_count := 0;
173 when too_many_rows then
174 l_count := 1;
175 End;
176 IF nvl(l_count,0) > 0 THEN
177 l_temp := '4';
178 exit;
179 END IF;
180 END IF; -- Base Model exists
181 END IF;
182 END IF; -- Same srl# check
183 END IF; -- current check
184 END IF; -- exists
185 END LOOP;
186 --
187 IF nvl(l_temp,'0') = '1' THEN
188 l_return_value := FALSE;
189 fnd_message.set_name('CSI','CSI_SER_CASE1');
190 fnd_message.set_token('SERIAL_NUMBER',p_instance_rec.serial_number);
191 fnd_msg_pub.add;
192 RETURN l_return_value;
193 ELSIF nvl(l_temp,'0') = '4' THEN
194 l_return_value := FALSE;
195 fnd_message.set_name('CSI','CSI_SER_CASE4');
196 fnd_message.set_token('SERIAL_NUMBER',p_instance_rec.serial_number);
197 fnd_msg_pub.add;
198 RETURN l_return_value;
199 END IF;
200 END IF; -- Serial Type 1
201 --
202 IF l_serial_type = 4 THEN
203 FOR j IN p_instance_tbl.FIRST .. p_instance_tbl.LAST LOOP
204 IF p_instance_tbl.EXISTS(j) THEN
205 IF p_instance_rec.inventory_item_id = p_instance_tbl(j).inventory_item_id AND
206 p_instance_rec.serial_number = p_instance_tbl(j).serial_number AND
207 nvl(p_instance_tbl(j).processed_flag,'N') <> 'E' AND
208 p_instance_rec.interface_id <> p_instance_tbl(j).interface_id THEN
209 l_temp := 'x';
210 exit;
211 END IF;
212 END IF;
213 END LOOP;
214 IF l_temp IS NOT NULL THEN
215 l_return_value := FALSE;
216 fnd_message.set_name('CSI','CSI_SER_CASE1');
217 fnd_message.set_token('SERIAL_NUMBER',p_instance_rec.serial_number);
218 fnd_msg_pub.add;
219 RETURN l_return_value;
220 END IF;
221 END IF; -- serial_type 4
222 --
223 IF l_serial_type = 2 THEN
224 FOR j IN p_instance_tbl.FIRST .. p_instance_tbl.LAST LOOP
225 IF p_instance_tbl.EXISTS(j) THEN
226 IF p_instance_rec.serial_number = p_instance_tbl(j).serial_number AND
227 p_instance_rec.vld_organization_id = p_instance_tbl(j).vld_organization_id AND
228 nvl(p_instance_tbl(j).processed_flag,'N') <> 'E' AND
229 p_instance_rec.interface_id <> p_instance_tbl(j).interface_id THEN
230 l_temp := 'x';
231 exit;
232 END IF;
233 END IF;
234 END LOOP;
235 IF l_temp IS NOT NULL THEN
236 l_return_value := FALSE;
237 fnd_message.set_name('CSI','CSI_SER_CASE2');
238 fnd_message.set_token('SERIAL_NUMBER',p_instance_rec.serial_number);
239 fnd_msg_pub.add;
240 RETURN l_return_value;
241 END IF;
242 --
243 -- Also check if it has been already defined as
244 -- unique serial number accross organizations i.e entire system
245 BEGIN
246 SELECT 'x'
247 INTO l_temp
248 FROM mtl_serial_numbers s,
249 mtl_parameters p
250 WHERE s.current_organization_id = p.organization_id
251 AND s.serial_number = p_instance_rec.serial_number
252 AND p.serial_number_type = 3
253 AND ROWNUM = 1;
254 IF l_temp IS NOT NULL THEN
255 l_return_value := FALSE;
256 fnd_message.set_name('CSI','CSI_SER_CASE21');
257 fnd_message.set_token('SERIAL_NUMBER',p_instance_rec.serial_number);
258 fnd_msg_pub.add;
259 RETURN l_return_value;
260 END IF;
261 EXCEPTION
262 WHEN OTHERS THEN
263 l_return_value := TRUE;
264 END;
265 END IF; -- serial_type 2
266 --
267 IF l_serial_type = 3 THEN
268 FOR j IN p_instance_tbl.FIRST .. p_instance_tbl.LAST LOOP
269 IF p_instance_tbl.EXISTS(j) THEN
270 IF p_instance_rec.serial_number = p_instance_tbl(j).serial_number AND
271 nvl(p_instance_tbl(j).processed_flag,'N') <> 'E' AND
272 p_instance_rec.interface_id <> p_instance_tbl(j).interface_id THEN
273 l_temp := 'x';
274 exit;
275 END IF;
276 END IF;
277 END LOOP;
278 IF l_temp IS NOT NULL THEN
279 l_return_value := FALSE;
280 fnd_message.set_name('CSI','CSI_SER_CASE3');
281 fnd_message.set_token('SERIAL_NUMBER',p_instance_rec.serial_number);
282 fnd_msg_pub.add;
283 RETURN l_return_value;
284 END IF;
285 END IF; -- serial_type 3
286 --
287 RETURN l_return_value;
288 END Valid_Serial_Number;
289 --
290 FUNCTION Check_Inst_Party_Rules
291 (
292 p_party_tbl IN csi_datastructures_pub.party_tbl
293 ,p_party_rec IN csi_datastructures_pub.party_rec
294 ,p_start_date IN DATE -- Instance start date
295 ,p_end_date IN DATE -- Instance end date
296 ) RETURN BOOLEAN IS
297 --
298 l_party_rec csi_datastructures_pub.party_rec := p_party_rec;
299 l_party_tbl csi_datastructures_pub.party_tbl := p_party_tbl;
300 l_count NUMBER := 0;
301 l_primary_pty_count NUMBER := 0;
302 l_primary_con_count NUMBER := 0;
303 l_return_status BOOLEAN;
304 BEGIN
305 l_return_status := TRUE;
306 --
307 IF l_party_rec.active_end_date IS NOT NULL AND
308 l_party_rec.active_end_date <> FND_API.G_MISS_DATE THEN
309 IF l_party_rec.active_start_date > l_party_rec.active_end_date THEN
310 l_return_status := FALSE;
311 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_PTY_START_DATE');
312 FND_MESSAGE.SET_TOKEN('ACTIVE_START_DATE',l_party_rec.active_start_date);
313 FND_MSG_PUB.ADD;
314 RETURN l_return_status;
315 END IF;
316 --
317 IF ( (l_party_rec.active_end_date < SYSDATE) OR
318 (p_end_date IS NOT NULL AND l_party_rec.active_end_date > p_end_date) ) THEN
319 l_return_status := FALSE;
320 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_PTY_END_DATE');
321 FND_MESSAGE.SET_TOKEN('ACTIVE_END_DATE',l_party_rec.active_end_date);
322 FND_MSG_PUB.ADD;
323 RETURN l_return_status;
324 END IF;
325 END IF;
326 --
327 IF ( (l_party_rec.active_start_date < p_start_date) OR
328 (p_end_date IS NOT NULL AND p_end_date <> FND_API.G_MISS_DATE AND l_party_rec.active_start_date > p_end_date) ) THEN
329 l_return_status := FALSE;
330 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_PTY_START_DATE');
331 FND_MESSAGE.SET_TOKEN('ACTIVE_START_DATE',l_party_rec.active_start_date);
332 FND_MSG_PUB.ADD;
333 RETURN l_return_status;
334 END IF;
335 IF l_party_tbl.count < 2 THEN
336 l_return_status := TRUE;
337 RETURN l_return_status;
338 END IF;
339 --
340 IF l_party_rec.contact_flag IS NULL OR
341 l_party_rec.contact_flag = FND_API.G_MISS_CHAR THEN
342 l_party_rec.contact_flag := 'N';
343 END IF;
344 --
345 IF l_party_rec.contact_ip_id IS NULL OR
346 l_party_rec.contact_ip_id = FND_API.G_MISS_NUM THEN
347 l_party_rec.contact_ip_id := -9999;
348 END IF;
349 --
350 IF l_party_rec.PREFERRED_FLAG = 'Y' THEN
351 IF l_party_rec.CONTACT_FLAG <> 'Y' THEN
352 IF l_party_rec.PARTY_SOURCE_TABLE NOT IN ('GROUP','TEAM') THEN
353 l_return_status := FALSE;
354 FND_MESSAGE.SET_NAME('CSI','CSI_PREFERRED_PTY_TYPE');
355 FND_MESSAGE.SET_TOKEN('PARTY_TYPE',l_party_rec.PARTY_SOURCE_TABLE);
356 FND_MESSAGE.SET_TOKEN('INSTANCE_ID',l_party_rec.INSTANCE_ID);
357 FND_MSG_PUB.ADD;
358 RETURN l_return_status;
359 END IF;
360 END IF;
361 END IF;
362 --
363 FOR pty_row in l_party_tbl.FIRST .. l_party_tbl.LAST LOOP
364 IF l_party_tbl(pty_row).contact_flag IS NULL OR
365 l_party_tbl(pty_row).contact_flag = FND_API.G_MISS_CHAR THEN
366 l_party_tbl(pty_row).contact_flag := 'N';
367 END IF;
368 --
369 IF l_party_tbl(pty_row).contact_ip_id IS NULL OR
370 l_party_tbl(pty_row).contact_ip_id = FND_API.G_MISS_NUM THEN
371 l_party_tbl(pty_row).contact_ip_id := -9999;
372 END IF;
373 --
374 IF l_party_tbl(pty_row).party_source_table = l_party_rec.party_source_table AND
375 l_party_tbl(pty_row).party_id = l_party_rec.party_id AND
376 l_party_tbl(pty_row).relationship_type_code = l_party_rec.relationship_type_code AND
377 l_party_tbl(pty_row).contact_flag = l_party_rec.contact_flag AND
378 l_party_tbl(pty_row).contact_parent_tbl_index = l_party_rec.contact_parent_tbl_index THEN
379 l_count := l_count + 1;
380 END IF;
381 --
382 IF l_party_rec.primary_flag = 'Y' THEN
383 IF l_party_rec.contact_flag <> 'Y' THEN
384 IF l_party_rec.party_source_table NOT IN ('GROUP','TEAM') THEN
385 l_return_status := FALSE;
386 FND_MESSAGE.SET_NAME('CSI','CSI_PRIMARY_PTY_TYPE');
387 FND_MESSAGE.SET_TOKEN('PARTY_TYPE',l_party_rec.PARTY_SOURCE_TABLE);
388 FND_MESSAGE.SET_TOKEN('INSTANCE_ID',l_party_rec.INSTANCE_ID);
389 FND_MSG_PUB.ADD;
390 exit;
391 ELSE
392 -- Check for Primary Party
393 IF l_party_tbl(pty_row).primary_flag = 'Y' AND
394 l_party_tbl(pty_row).contact_flag <>'Y' AND
395 l_party_tbl(pty_row).relationship_type_code = l_party_rec.relationship_type_code THEN
396 l_primary_pty_count := l_primary_pty_count + 1;
397 END IF;
398 END IF;
399 ELSE
400 -- check for Primary contact party
401 IF l_party_tbl(pty_row).primary_flag = 'Y' AND
402 l_party_tbl(pty_row).contact_flag = 'Y' AND
403 l_party_tbl(pty_row).contact_parent_tbl_index = l_party_rec.contact_parent_tbl_index AND
404 l_party_tbl(pty_row).relationship_type_code = l_party_rec.relationship_type_code THEN
405 l_primary_con_count := l_primary_con_count + 1;
406 END IF;
407 END IF;
408 END IF;
409 END LOOP;
410 --
411 IF l_count > 1 THEN
412 l_return_status := FALSE;
413 FND_MESSAGE.SET_NAME('CSI','CSI_API_MANY_PTY_REL_COM_EXIST');
414 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);
415 FND_MSG_PUB.ADD;
416 RETURN l_return_status;
417 END IF;
418 --
419 IF l_primary_pty_count > 1 OR
420 l_primary_con_count > 1 THEN
421 l_return_status := FALSE;
422 FND_MESSAGE.SET_NAME('CSI','CSI_API_PRIMARY_PTY_EXISTS');
423 FND_MESSAGE.SET_TOKEN('INSTANCE_ID',l_party_rec.INSTANCE_ID);
424 FND_MESSAGE.SET_TOKEN('RELATIONSHIP_TYPE',l_party_rec.relationship_type_code);
425 FND_MSG_PUB.ADD;
426 RETURN l_return_status;
427 END IF;
428 --
429 RETURN l_return_status;
430 END Check_Inst_Party_Rules;
431 --
432 FUNCTION Check_Party_Acct_Rules
433 (
434 p_account_tbl IN csi_datastructures_pub.party_account_tbl
435 ,p_account_rec IN csi_datastructures_pub.party_account_rec
436 ,p_pty_src_table IN VARCHAR2
437 ,p_party_id IN NUMBER
438 ,p_acct_id_tbl IN OUT NOCOPY csi_party_relationships_pvt.acct_id_tbl
439 ,p_start_date IN DATE -- Instance Party Start Date
440 ,p_end_date IN DATE -- Instance Party End Date
441 ) RETURN BOOLEAN IS
442 --
443 l_return_status BOOLEAN;
444 l_count NUMBER := 0;
445 l_rel_count NUMBER := 0;
446 l_exists VARCHAR2(1);
447 l_exists_flag VARCHAR2(1);
448 l_valid_flag VARCHAR2(1);
449 l_ctr NUMBER;
450 BEGIN
451 l_return_status := TRUE;
452 --
453 IF p_account_rec.active_end_date IS NOT NULL AND
454 p_account_rec.active_end_date <> FND_API.G_MISS_DATE THEN
455 IF p_account_rec.active_start_date > p_account_rec.active_end_date THEN
456 l_return_status := FALSE;
457 FND_MESSAGE.SET_NAME('CSI','CSI_API_INV_ACCT_START_DATE');
458 FND_MESSAGE.SET_TOKEN('ACTIVE_START_DATE',p_account_rec.active_start_date);
459 FND_MSG_PUB.ADD;
460 RETURN l_return_status;
461 END IF;
462 --
463 IF ( (p_account_rec.active_end_date < SYSDATE) OR
464 (p_end_date IS NOT NULL AND p_account_rec.active_end_date > p_end_date) ) THEN
465 l_return_status := FALSE;
466 FND_MESSAGE.SET_NAME('CSI','CSI_API_INV_ACCT_END_DATE');
467 FND_MESSAGE.SET_TOKEN('ACTIVE_END_DATE',p_account_rec.active_end_date);
468 FND_MSG_PUB.ADD;
469 RETURN l_return_status;
470 END IF;
471 END IF;
472 --
473 IF ( (p_account_rec.active_start_date < p_start_date) OR
474 (p_end_date IS NOT NULL AND p_end_date <> FND_API.G_MISS_DATE AND p_account_rec.active_start_date > p_end_date) ) THEN
475 l_return_status := FALSE;
476 FND_MESSAGE.SET_NAME('CSI','CSI_API_INV_ACCT_START_DATE');
477 FND_MESSAGE.SET_TOKEN('ACTIVE_START_DATE',p_account_rec.active_start_date);
478 FND_MSG_PUB.ADD;
479 RETURN l_return_status;
480 END IF;
481 --
482 /**** IF p_pty_src_table = 'HZ_PARTIES' AND
483 p_account_rec.relationship_type_code = 'OWNER' THEN
484 Begin
485 select 'x'
486 into l_exists
487 from HZ_PARTIES hzp
488 ,HZ_CUST_ACCOUNTS hzc
489 where hzc.cust_account_id = p_account_rec.party_account_id
490 and hzc.party_id = p_party_id
491 and hzc.party_id = hzp.party_id;
492 Exception
493 when others then
494 l_return_status := FALSE;
495 FND_MESSAGE.SET_NAME('CSI','CSI_API_PTY_ACCT_HZ_PTY');
496 FND_MESSAGE.SET_TOKEN('PARTY_ACCOUNT_ID',p_account_rec.party_account_id);
497 FND_MESSAGE.SET_TOKEN('PARTY_ID',p_party_id);
498 RETURN l_return_status;
499 End;
500 ELSE
501 Begin
502 select 'x'
503 into l_exists
504 from HZ_CUST_ACCOUNTS hzc
505 where hzc.cust_account_id = p_account_rec.party_account_id;
506 Exception
507 when others then
508 l_return_status := FALSE;
509 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_PTY_ACCT_ID');
510 FND_MESSAGE.SET_TOKEN('PARTY_ACCOUNT_ID',p_account_rec.party_account_id);
511 RETURN l_return_status;
512 End;
513 END IF; ***/
514 --
515 l_exists_flag := 'N';
516 l_valid_flag := 'Y';
517 IF p_account_rec.party_account_id IS NOT NULL AND
518 p_account_rec.party_account_id <> FND_API.G_MISS_NUM THEN
519 IF p_acct_id_tbl.count > 0 THEN
520 FOR acct_row in p_acct_id_tbl.FIRST .. p_acct_id_tbl.LAST LOOP
521 IF p_acct_id_tbl(acct_row).account_id = p_account_rec.party_account_id THEN
522 l_valid_flag := p_acct_id_tbl(acct_row).valid_flag;
523 l_exists_flag := 'Y';
524 exit;
525 END IF;
526 END LOOP;
527 --
528 IF l_valid_flag <> 'Y' THEN
529 l_return_status := FALSE;
530 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_PTY_ACCT_ID');
531 FND_MESSAGE.SET_TOKEN('PARTY_ACCOUNT_ID',p_account_rec.party_account_id);
532 FND_MSG_PUB.ADD;
533 RETURN l_return_status;
534 END IF;
535 END IF;
536 --
537 IF l_exists_flag <> 'Y' THEN
538 l_ctr := p_acct_id_tbl.count + 1;
539 p_acct_id_tbl(l_ctr).account_id := p_account_rec.party_account_id;
540 Begin
541 select 'x'
542 into l_exists
543 from HZ_CUST_ACCOUNTS hzc
544 where hzc.cust_account_id = p_account_rec.party_account_id;
545 p_acct_id_tbl(l_ctr).valid_flag := 'Y';
546 Exception
547 when others then
548 p_acct_id_tbl(l_ctr).valid_flag := 'N';
549 l_return_status := FALSE;
550 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_PTY_ACCT_ID');
551 FND_MESSAGE.SET_TOKEN('PARTY_ACCOUNT_ID',p_account_rec.party_account_id);
552 FND_MSG_PUB.ADD;
553 RETURN l_return_status;
554 End;
555 END IF;
556 END IF;
557 --
558 IF p_account_tbl.count < 2 THEN
559 l_return_status := TRUE;
560 RETURN l_return_status;
561 END IF;
562 --
563 FOR acct_row in p_account_tbl.FIRST .. p_account_tbl.LAST LOOP
564 IF p_account_tbl(acct_row).party_account_id = p_account_rec.party_account_id AND
565 p_account_tbl(acct_row).relationship_type_code = p_account_rec.relationship_type_code THEN
566 l_count := l_count + 1;
567 END IF;
568 --
569 IF p_account_tbl(acct_row).relationship_type_code = p_account_rec.relationship_type_code THEN
570 l_rel_count := l_rel_count + 1;
571 END IF;
572 END LOOP;
573 --
574 IF l_count > 1 THEN
575 l_return_status := FALSE;
576 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_PARTY_ACCT_COM');
577 FND_MESSAGE.SET_TOKEN('ACCT_COMBINATION',to_char(p_account_rec.instance_party_id) ||', '
578 ||to_char(p_account_rec.party_account_id) ||','||p_account_rec.relationship_type_code);
579 FND_MSG_PUB.ADD;
580 RETURN l_return_status;
581 END IF;
582 --
583 IF l_rel_count > 1 THEN
584 l_return_status := FALSE;
585 FND_MESSAGE.SET_NAME('CSI','CSI_API_DUP_ACCT_TYPE');
586 FND_MESSAGE.SET_TOKEN('RELATIONSHIP_TYPE_CODE',p_account_rec.relationship_type_code);
587 FND_MSG_PUB.ADD;
588 RETURN l_return_status;
589 END IF;
590 --
591 RETURN l_return_status;
592 END Check_Party_Acct_Rules;
593 --
594 FUNCTION Check_Org_Rules
595 ( p_org_units_tbl IN csi_datastructures_pub.organization_units_tbl
596 ,p_org_units_rec IN csi_datastructures_pub.organization_units_rec
597 ,p_start_date IN DATE
598 ,p_end_date IN DATE
599 ) RETURN BOOLEAN IS
600 --
601 l_count NUMBER := 0;
602 l_return_status BOOLEAN;
603 BEGIN
604 l_return_status := TRUE;
605 --
606 IF p_org_units_rec.active_end_date IS NOT NULL AND
607 p_org_units_rec.active_end_date <> FND_API.G_MISS_DATE THEN
608 IF p_org_units_rec.active_start_date > p_org_units_rec.active_end_date THEN
609 l_return_status := FALSE;
610 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_ORG_START_DATE');
611 FND_MESSAGE.SET_TOKEN('START_DATE',p_org_units_rec.active_start_date);
612 FND_MSG_PUB.ADD;
613 RETURN l_return_status;
614 END IF;
615 --
616 IF ( (p_org_units_rec.active_end_date < SYSDATE) OR
617 (p_end_date IS NOT NULL AND p_org_units_rec.active_end_date > p_end_date) ) THEN
618 l_return_status := FALSE;
619 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_ORG_END_DATE');
620 FND_MESSAGE.SET_TOKEN('END_DATE',p_org_units_rec.active_end_date);
621 FND_MSG_PUB.ADD;
622 RETURN l_return_status;
623 END IF;
624 END IF;
625 --
626 IF ( (p_org_units_rec.active_start_date < p_start_date) OR
627 (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
628 l_return_status := FALSE;
629 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_ORG_START_DATE');
630 FND_MESSAGE.SET_TOKEN('START_DATE',p_org_units_rec.active_start_date);
631 FND_MSG_PUB.ADD;
632 RETURN l_return_status;
633 END IF;
634 --
635 IF p_org_units_tbl.count < 2 THEN
636 l_return_status := TRUE;
637 RETURN l_return_status;
638 END IF;
639 --
640 FOR org_row in p_org_units_tbl.FIRST .. p_org_units_tbl.LAST LOOP
641 IF p_org_units_tbl(org_row).relationship_type_code = p_org_units_rec.relationship_type_code THEN
642 l_count := l_count + 1;
643 END IF;
644 END LOOP;
645 --
646 IF l_count > 1 THEN
647 l_return_status := FALSE;
648 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_ALTERNATE_PK');
649 FND_MESSAGE.SET_TOKEN('ALTERNATE_PK',to_char(p_org_units_rec.instance_id)||' '||p_org_units_rec.relationship_type_code);
650 FND_MSG_PUB.ADD;
651 RETURN l_return_status;
652 END IF;
653 --
654 RETURN l_return_status;
655 END Check_Org_Rules;
656 --
657 FUNCTION Check_Pricing_Rules
658 (
659 p_pricing_rec IN csi_datastructures_pub.pricing_attribs_rec
660 ,p_start_date IN DATE
661 ,p_end_date IN DATE
662 ) RETURN BOOLEAN IS
663 --
664 l_return_status BOOLEAN;
665 BEGIN
666 l_return_status := TRUE;
667 --
668 IF p_pricing_rec.active_end_date IS NOT NULL AND
669 p_pricing_rec.active_end_date <> FND_API.G_MISS_DATE THEN
670 IF p_pricing_rec.active_start_date > p_pricing_rec.active_end_date THEN
671 l_return_status := FALSE;
672 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_PRI_START_DATE');
673 FND_MESSAGE.SET_TOKEN('START_DATE',p_pricing_rec.active_start_date);
674 FND_MSG_PUB.ADD;
675 RETURN l_return_status;
676 END IF;
677 --
678 IF ( (p_pricing_rec.active_end_date < SYSDATE) OR
679 (p_end_date IS NOT NULL AND p_pricing_rec.active_end_date > p_end_date) ) THEN
680 l_return_status := FALSE;
681 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_PRI_END_DATE');
682 FND_MESSAGE.SET_TOKEN('END_DATE',p_pricing_rec.active_end_date);
683 FND_MSG_PUB.ADD;
684 RETURN l_return_status;
685 END IF;
686 END IF;
687 --
688 IF ( (p_pricing_rec.active_start_date < p_start_date) OR
689 (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
690 l_return_status := FALSE;
691 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_PRI_START_DATE');
692 FND_MESSAGE.SET_TOKEN('START_DATE',p_pricing_rec.active_start_date);
693 FND_MSG_PUB.ADD;
694 RETURN l_return_status;
695 END IF;
696 --
697 RETURN l_return_status;
698 END Check_Pricing_Rules;
699 --
700 FUNCTION Check_Ext_Rules
701 (
702 p_ext_tbl IN csi_datastructures_pub.extend_attrib_values_tbl
703 ,p_ext_rec IN csi_datastructures_pub.extend_attrib_values_rec
704 ,p_start_date IN DATE
705 ,p_end_date IN DATE
706 ) RETURN BOOLEAN IS
707 --
708 l_count NUMBER := 0;
709 l_return_status BOOLEAN;
710 BEGIN
711 l_return_status := TRUE;
712 --
713 IF p_ext_rec.active_end_date IS NOT NULL AND
714 p_ext_rec.active_end_date <> FND_API.G_MISS_DATE THEN
715 IF p_ext_rec.active_start_date > p_ext_rec.active_end_date THEN
716 l_return_status := FALSE;
717 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_EXT_START_DATE');
718 FND_MESSAGE.SET_TOKEN('START_DATE',p_ext_rec.active_start_date);
719 FND_MSG_PUB.ADD;
720 RETURN l_return_status;
721 END IF;
722 --
723 IF ( (p_ext_rec.active_end_date < SYSDATE) OR
724 (p_end_date IS NOT NULL AND p_ext_rec.active_end_date > p_end_date) ) THEN
725 l_return_status := FALSE;
726 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_EXT_END_DATE');
727 FND_MESSAGE.SET_TOKEN('END_DATE',p_ext_rec.active_end_date);
728 FND_MSG_PUB.ADD;
729 RETURN l_return_status;
730 END IF;
731 END IF;
732 --
733 IF ( (p_ext_rec.active_start_date < p_start_date) OR
734 (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
735 l_return_status := FALSE;
736 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_EXT_START_DATE');
737 FND_MESSAGE.SET_TOKEN('START_DATE',p_ext_rec.active_start_date);
738 FND_MSG_PUB.ADD;
739 RETURN l_return_status;
740 END IF;
741 --
742 IF p_ext_tbl.count < 2 THEN
743 l_return_status := TRUE;
744 RETURN l_return_status;
745 END IF;
746 --
747 FOR ext_row in p_ext_tbl.FIRST .. p_ext_tbl.LAST LOOP
748 IF p_ext_tbl(ext_row).attribute_id = p_ext_rec.attribute_id THEN
749 l_count := l_count + 1;
750 END IF;
751 END LOOP;
752 --
753 IF l_count > 1 THEN
754 l_return_status := FALSE;
755 FND_MESSAGE.SET_NAME('CSI','CSI_EXT_INVALID_ALTERNATE_PK');
756 FND_MESSAGE.SET_TOKEN('ALTERNATE_PK',to_char(p_ext_rec.instance_id)||','||to_char(p_ext_rec.attribute_id));
757 FND_MSG_PUB.ADD;
758 RETURN l_return_status;
759 END IF;
760 --
761 RETURN l_return_status;
762 END Check_Ext_Rules;
763 --
764 FUNCTION Check_Asset_Rules
765 (
766 p_asset_rec IN csi_datastructures_pub.instance_asset_rec
767 ,p_start_date IN DATE
768 ,p_end_date IN DATE
769 ) RETURN BOOLEAN IS
770 --
771 l_return_status BOOLEAN;
772 BEGIN
773 l_return_status := TRUE;
774 --
775 IF p_asset_rec.active_end_date IS NOT NULL AND
776 p_asset_rec.active_end_date <> FND_API.G_MISS_DATE THEN
777 IF p_asset_rec.active_start_date > p_asset_rec.active_end_date THEN
778 l_return_status := FALSE;
779 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_AST_START_DATE');
780 FND_MESSAGE.SET_TOKEN('START_DATE',p_asset_rec.active_start_date);
781 FND_MSG_PUB.ADD;
782 RETURN l_return_status;
783 END IF;
784 --
785 IF ( (p_asset_rec.active_end_date < SYSDATE) OR
786 (p_end_date IS NOT NULL AND p_asset_rec.active_end_date > p_end_date) ) THEN
787 l_return_status := FALSE;
788 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_AST_END_DATE');
789 FND_MESSAGE.SET_TOKEN('END_DATE',p_asset_rec.active_end_date);
790 FND_MSG_PUB.ADD;
791 RETURN l_return_status;
792 END IF;
793 END IF;
794 --
795 IF ( (p_asset_rec.active_start_date < p_start_date) OR
796 (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
797 l_return_status := FALSE;
798 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVAL_AST_START_DATE');
799 FND_MESSAGE.SET_TOKEN('START_DATE',p_asset_rec.active_start_date);
800 FND_MSG_PUB.ADD;
801 RETURN l_return_status;
802 END IF;
803 --
804 RETURN l_return_status;
805 END Check_Asset_Rules;
806 --
807 PROCEDURE Build_Instance_History
808 (
809 p_inst_hist_tbl IN OUT NOCOPY csi_datastructures_pub.instance_history_tbl
810 ,p_inst_rec IN csi_datastructures_pub.instance_rec
811 ,p_txn_id IN NUMBER
812 ) IS
813 --
814 l_count NUMBER;
815 l_hist_id NUMBER;
816 BEGIN
817 l_count := p_inst_hist_tbl.count + 1;
818 select CSI_ITEM_INSTANCES_H_S.nextval
819 into l_hist_id
820 from sys.dual;
821 p_inst_hist_tbl(l_count).instance_id := p_inst_rec.instance_id;
822 p_inst_hist_tbl(l_count).instance_history_id := l_hist_id;
823 p_inst_hist_tbl(l_count).transaction_id := p_txn_id;
824 p_inst_hist_tbl(l_count).old_instance_number := null;
825 p_inst_hist_tbl(l_count).new_instance_number := p_inst_rec.instance_number;
826 p_inst_hist_tbl(l_count).old_external_reference := null;
827 p_inst_hist_tbl(l_count).new_external_reference := p_inst_rec.external_reference;
828 p_inst_hist_tbl(l_count).old_inventory_item_id := null;
829 p_inst_hist_tbl(l_count).new_inventory_item_id := p_inst_rec.inventory_item_id;
830 p_inst_hist_tbl(l_count).old_inventory_revision := null;
831 p_inst_hist_tbl(l_count).new_inventory_revision := p_inst_rec.inventory_revision;
832 p_inst_hist_tbl(l_count).old_inv_master_org_id := null;
833 p_inst_hist_tbl(l_count).new_inv_master_org_id := p_inst_rec.inv_master_organization_id;
834 p_inst_hist_tbl(l_count).old_serial_number := null;
835 p_inst_hist_tbl(l_count).new_serial_number := p_inst_rec.serial_number;
836 p_inst_hist_tbl(l_count).old_mfg_serial_number_flag := null;
837 p_inst_hist_tbl(l_count).new_mfg_serial_number_flag := p_inst_rec.mfg_serial_number_flag ;
838 p_inst_hist_tbl(l_count).old_lot_number := null;
839 p_inst_hist_tbl(l_count).new_lot_number := p_inst_rec.lot_number;
840 p_inst_hist_tbl(l_count).old_quantity := null;
841 p_inst_hist_tbl(l_count).new_quantity := p_inst_rec.quantity;
842 p_inst_hist_tbl(l_count).old_unit_of_measure := null;
843 p_inst_hist_tbl(l_count).new_unit_of_measure := p_inst_rec.unit_of_measure;
844 p_inst_hist_tbl(l_count).old_accounting_class_code := null;
845 p_inst_hist_tbl(l_count).new_accounting_class_code := p_inst_rec.accounting_class_code;
846 p_inst_hist_tbl(l_count).old_instance_condition_id := null;
847 p_inst_hist_tbl(l_count).new_instance_condition_id := p_inst_rec.instance_condition_id;
848 p_inst_hist_tbl(l_count).old_instance_status_id := null;
849 p_inst_hist_tbl(l_count).new_instance_status_id := p_inst_rec.instance_status_id;
850 p_inst_hist_tbl(l_count).old_customer_view_flag := null;
851 p_inst_hist_tbl(l_count).new_customer_view_flag := p_inst_rec.customer_view_flag;
852 p_inst_hist_tbl(l_count).old_merchant_view_flag := null;
853 p_inst_hist_tbl(l_count).new_merchant_view_flag := p_inst_rec.merchant_view_flag;
854 p_inst_hist_tbl(l_count).old_sellable_flag := null;
855 p_inst_hist_tbl(l_count).new_sellable_flag := p_inst_rec.sellable_flag ;
856 p_inst_hist_tbl(l_count).old_system_id := null;
857 p_inst_hist_tbl(l_count).new_system_id := p_inst_rec.system_id;
858 p_inst_hist_tbl(l_count).old_instance_type_code := null;
859 p_inst_hist_tbl(l_count).new_instance_type_code := p_inst_rec.instance_type_code;
860 p_inst_hist_tbl(l_count).old_active_start_date := null;
861 p_inst_hist_tbl(l_count).new_active_start_date := p_inst_rec.active_start_date;
862 p_inst_hist_tbl(l_count).old_active_end_date := null;
863 p_inst_hist_tbl(l_count).new_active_end_date := p_inst_rec.active_end_date;
864 p_inst_hist_tbl(l_count).old_location_type_code := null;
865 p_inst_hist_tbl(l_count).new_location_type_code := p_inst_rec.location_type_code;
866 p_inst_hist_tbl(l_count).old_location_id := null;
867 p_inst_hist_tbl(l_count).new_location_id := p_inst_rec.location_id;
868 p_inst_hist_tbl(l_count).old_inv_organization_id := null;
869 p_inst_hist_tbl(l_count).new_inv_organization_id := p_inst_rec.inv_organization_id;
870 p_inst_hist_tbl(l_count).old_inv_subinventory_name := null;
871 p_inst_hist_tbl(l_count).new_inv_subinventory_name := p_inst_rec.inv_subinventory_name;
872 p_inst_hist_tbl(l_count).old_inv_locator_id := null;
873 p_inst_hist_tbl(l_count).new_inv_locator_id := p_inst_rec.inv_locator_id;
874 p_inst_hist_tbl(l_count).old_pa_project_id := null;
875 p_inst_hist_tbl(l_count).new_pa_project_id := p_inst_rec.pa_project_id;
876 p_inst_hist_tbl(l_count).old_pa_project_task_id := null;
877 p_inst_hist_tbl(l_count).new_pa_project_task_id := p_inst_rec.pa_project_task_id;
878 p_inst_hist_tbl(l_count).old_in_transit_order_line_id := null;
879 p_inst_hist_tbl(l_count).new_in_transit_order_line_id := p_inst_rec.in_transit_order_line_id;
880 p_inst_hist_tbl(l_count).old_wip_job_id := null;
881 p_inst_hist_tbl(l_count).new_wip_job_id := p_inst_rec.wip_job_id;
882 p_inst_hist_tbl(l_count).old_po_order_line_id := null;
883 p_inst_hist_tbl(l_count).new_po_order_line_id := p_inst_rec.po_order_line_id;
884 p_inst_hist_tbl(l_count).old_completeness_flag := null;
885 p_inst_hist_tbl(l_count).new_completeness_flag := p_inst_rec.completeness_flag;
886 p_inst_hist_tbl(l_count).old_context := null;
887 p_inst_hist_tbl(l_count).new_context := p_inst_rec.context;
888 p_inst_hist_tbl(l_count).old_attribute1 := null;
889 p_inst_hist_tbl(l_count).new_attribute1 := p_inst_rec.attribute1;
890 p_inst_hist_tbl(l_count).old_attribute2 := null;
891 p_inst_hist_tbl(l_count).new_attribute2 := p_inst_rec.attribute2;
892 p_inst_hist_tbl(l_count).old_attribute3 := null;
893 p_inst_hist_tbl(l_count).new_attribute3 := p_inst_rec.attribute3;
894 p_inst_hist_tbl(l_count).old_attribute4 := null;
895 p_inst_hist_tbl(l_count).new_attribute4 := p_inst_rec.attribute4;
896 p_inst_hist_tbl(l_count).old_attribute5 := null;
897 p_inst_hist_tbl(l_count).new_attribute5 := p_inst_rec.attribute5;
898 p_inst_hist_tbl(l_count).old_attribute6 := null;
899 p_inst_hist_tbl(l_count).new_attribute6 := p_inst_rec.attribute6;
900 p_inst_hist_tbl(l_count).old_attribute7 := null;
901 p_inst_hist_tbl(l_count).new_attribute7 := p_inst_rec.attribute7;
902 p_inst_hist_tbl(l_count).old_attribute8 := null;
903 p_inst_hist_tbl(l_count).new_attribute8 := p_inst_rec.attribute8;
904 p_inst_hist_tbl(l_count).old_attribute9 := null;
905 p_inst_hist_tbl(l_count).new_attribute9 := p_inst_rec.attribute9;
906 p_inst_hist_tbl(l_count).old_attribute10 := null;
907 p_inst_hist_tbl(l_count).new_attribute10 := p_inst_rec.attribute10;
908 p_inst_hist_tbl(l_count).old_attribute11 := null;
909 p_inst_hist_tbl(l_count).new_attribute11 := p_inst_rec.attribute11;
910 p_inst_hist_tbl(l_count).old_attribute12 := null;
911 p_inst_hist_tbl(l_count).new_attribute12 := p_inst_rec.attribute12;
912 p_inst_hist_tbl(l_count).old_attribute13 := null;
913 p_inst_hist_tbl(l_count).new_attribute13 := p_inst_rec.attribute13;
914 p_inst_hist_tbl(l_count).old_attribute14 := null;
915 p_inst_hist_tbl(l_count).new_attribute14 := p_inst_rec.attribute14;
916 p_inst_hist_tbl(l_count).old_attribute15 := null;
917 p_inst_hist_tbl(l_count).new_attribute15 := p_inst_rec.attribute15;
918 p_inst_hist_tbl(l_count).old_install_location_type_code := null;
919 p_inst_hist_tbl(l_count).new_install_location_type_code := p_inst_rec.install_location_type_code;
920 p_inst_hist_tbl(l_count).old_install_location_id := null;
921 p_inst_hist_tbl(l_count).new_install_location_id := p_inst_rec.install_location_id;
922 p_inst_hist_tbl(l_count).old_instance_usage_code := null;
923 p_inst_hist_tbl(l_count).new_instance_usage_code := p_inst_rec.instance_usage_code;
924 p_inst_hist_tbl(l_count).old_last_vld_organization_id := null;
925 p_inst_hist_tbl(l_count).new_last_vld_organization_id := p_inst_rec.vld_organization_id;
926 p_inst_hist_tbl(l_count).old_config_inst_rev_num := null;
927 p_inst_hist_tbl(l_count).new_config_inst_rev_num := p_inst_rec.config_inst_rev_num;
928 p_inst_hist_tbl(l_count).old_config_valid_status := null;
929 p_inst_hist_tbl(l_count).new_config_valid_status := p_inst_rec.config_valid_status;
930 p_inst_hist_tbl(l_count).old_instance_description := null;
931 p_inst_hist_tbl(l_count).new_instance_description := p_inst_rec.instance_description;
932 p_inst_hist_tbl(l_count).old_last_oe_agreement_id := null;
933 p_inst_hist_tbl(l_count).new_last_oe_agreement_id := p_inst_rec.last_oe_agreement_id;
934 p_inst_hist_tbl(l_count).old_install_date := null;
935 p_inst_hist_tbl(l_count).new_install_date := p_inst_rec.install_date;
936 p_inst_hist_tbl(l_count).old_return_by_date := null;
937 p_inst_hist_tbl(l_count).new_return_by_date := p_inst_rec.return_by_date;
938 p_inst_hist_tbl(l_count).old_actual_return_date := null;
939 p_inst_hist_tbl(l_count).new_actual_return_date := p_inst_rec.actual_return_date;
940 p_inst_hist_tbl(l_count).old_last_oe_order_line_id := null;
941 p_inst_hist_tbl(l_count).new_last_oe_order_line_id := p_inst_rec.last_oe_order_line_id;
942 p_inst_hist_tbl(l_count).old_last_oe_rma_line_id := null;
943 p_inst_hist_tbl(l_count).new_last_oe_rma_line_id := p_inst_rec.last_oe_rma_line_id;
944 p_inst_hist_tbl(l_count).old_last_wip_job_id := null;
945 p_inst_hist_tbl(l_count).new_last_wip_job_id := p_inst_rec.last_wip_job_id;
946 p_inst_hist_tbl(l_count).old_last_po_po_line_id := null;
947 p_inst_hist_tbl(l_count).new_last_po_po_line_id := p_inst_rec.last_po_po_line_id;
948 p_inst_hist_tbl(l_count).old_last_pa_project_id := null;
949 p_inst_hist_tbl(l_count).new_last_pa_project_id := p_inst_rec.last_pa_project_id;
950 p_inst_hist_tbl(l_count).old_last_pa_task_id := null;
951 p_inst_hist_tbl(l_count).new_last_pa_task_id := p_inst_rec.last_pa_task_id;
952 p_inst_hist_tbl(l_count).old_last_txn_line_detail_id := null;
953 p_inst_hist_tbl(l_count).new_last_txn_line_detail_id := p_inst_rec.last_txn_line_detail_id;
954 p_inst_hist_tbl(l_count).old_last_oe_po_number := null;
955 p_inst_hist_tbl(l_count).new_last_oe_po_number := p_inst_rec.last_oe_po_number;
956
957 p_inst_hist_tbl(l_count).old_network_asset_flag := null;
958 p_inst_hist_tbl(l_count).new_network_asset_flag := p_inst_rec.network_asset_flag;
959 p_inst_hist_tbl(l_count).old_maintainable_flag := null;
960 p_inst_hist_tbl(l_count).new_maintainable_flag := p_inst_rec.maintainable_flag;
961 p_inst_hist_tbl(l_count).old_asset_criticality_code := null;
962 p_inst_hist_tbl(l_count).new_asset_criticality_code := p_inst_rec.asset_criticality_code;
963 p_inst_hist_tbl(l_count).old_category_id := null;
964 p_inst_hist_tbl(l_count).new_category_id := p_inst_rec.category_id ;
965 p_inst_hist_tbl(l_count).old_equipment_gen_object_id := null;
966 p_inst_hist_tbl(l_count).new_equipment_gen_object_id := p_inst_rec.equipment_gen_object_id ;
967 p_inst_hist_tbl(l_count).old_instantiation_flag := null;
968 p_inst_hist_tbl(l_count).new_instantiation_flag := p_inst_rec.instantiation_flag;
969 p_inst_hist_tbl(l_count).old_operational_log_flag := null;
970 p_inst_hist_tbl(l_count).new_operational_log_flag := p_inst_rec.operational_log_flag ;
971 p_inst_hist_tbl(l_count).old_supplier_warranty_exp_date := null;
972 p_inst_hist_tbl(l_count).new_supplier_warranty_exp_date := p_inst_rec.supplier_warranty_exp_date ;
973 p_inst_hist_tbl(l_count).old_attribute16 := null;
974 p_inst_hist_tbl(l_count).new_attribute16 := p_inst_rec.attribute16;
975 p_inst_hist_tbl(l_count).old_attribute17 := null;
976 p_inst_hist_tbl(l_count).new_attribute17 := p_inst_rec.attribute17;
977 p_inst_hist_tbl(l_count).old_attribute18 := null;
978 p_inst_hist_tbl(l_count).new_attribute18 := p_inst_rec.attribute18;
979 p_inst_hist_tbl(l_count).old_attribute19 := null;
980 p_inst_hist_tbl(l_count).new_attribute19 := p_inst_rec.attribute19;
981 p_inst_hist_tbl(l_count).old_attribute20 := null;
982 p_inst_hist_tbl(l_count).new_attribute20 := p_inst_rec.attribute20;
983 p_inst_hist_tbl(l_count).old_attribute21 := null;
984 p_inst_hist_tbl(l_count).new_attribute21 := p_inst_rec.attribute21;
985 p_inst_hist_tbl(l_count).old_attribute22 := null;
986 p_inst_hist_tbl(l_count).new_attribute22 := p_inst_rec.attribute22;
987 p_inst_hist_tbl(l_count).old_attribute23 := null;
988 p_inst_hist_tbl(l_count).new_attribute23 := p_inst_rec.attribute23;
989 p_inst_hist_tbl(l_count).old_attribute24 := null;
990 p_inst_hist_tbl(l_count).new_attribute24 := p_inst_rec.attribute24;
991 p_inst_hist_tbl(l_count).old_attribute25 := null;
992 p_inst_hist_tbl(l_count).new_attribute25 := p_inst_rec.attribute25;
993 p_inst_hist_tbl(l_count).old_attribute26 := null;
994 p_inst_hist_tbl(l_count).new_attribute26 := p_inst_rec.attribute26;
995 p_inst_hist_tbl(l_count).old_attribute27 := null;
996 p_inst_hist_tbl(l_count).new_attribute27 := p_inst_rec.attribute27;
997 p_inst_hist_tbl(l_count).old_attribute28 := null;
998 p_inst_hist_tbl(l_count).new_attribute28 := p_inst_rec.attribute28;
999 p_inst_hist_tbl(l_count).old_attribute29 := null;
1000 p_inst_hist_tbl(l_count).new_attribute29 := p_inst_rec.attribute29;
1001 p_inst_hist_tbl(l_count).old_attribute30 := null;
1002 p_inst_hist_tbl(l_count).new_attribute30 := p_inst_rec.attribute30;
1003 --
1004 p_inst_hist_tbl(l_count).old_payables_currency_code := null;
1005 p_inst_hist_tbl(l_count).new_payables_currency_code := p_inst_rec.payables_currency_code;
1006 p_inst_hist_tbl(l_count).old_purchase_unit_price := null;
1007 p_inst_hist_tbl(l_count).new_purchase_unit_price := p_inst_rec.purchase_unit_price;
1008 p_inst_hist_tbl(l_count).old_purchase_currency_code := null;
1009 p_inst_hist_tbl(l_count).new_purchase_currency_code := p_inst_rec.purchase_currency_code;
1010 p_inst_hist_tbl(l_count).old_payables_unit_price := null;
1011 p_inst_hist_tbl(l_count).new_payables_unit_price := p_inst_rec.payables_unit_price;
1012 p_inst_hist_tbl(l_count).old_sales_unit_price := null;
1013 p_inst_hist_tbl(l_count).new_sales_unit_price := p_inst_rec.sales_unit_price;
1014 p_inst_hist_tbl(l_count).old_sales_currency_code := null;
1015 p_inst_hist_tbl(l_count).new_sales_currency_code := p_inst_rec.sales_currency_code;
1016 p_inst_hist_tbl(l_count).old_operational_status_code := null;
1017 p_inst_hist_tbl(l_count).new_operational_status_code := p_inst_rec.operational_status_code;
1018
1019 END Build_Instance_History;
1020 --
1021 PROCEDURE Build_Ver_Label_History
1022 (
1023 p_ver_label_history_tbl IN OUT NOCOPY csi_datastructures_pub.version_label_history_tbl
1024 ,p_version_label_rec IN csi_datastructures_pub.version_label_rec
1025 ,p_txn_id IN NUMBER
1026 ) IS
1027 --
1028 l_count NUMBER;
1029 l_hist_id NUMBER;
1030 BEGIN
1031 l_count := p_ver_label_history_tbl.count + 1;
1032 select CSI_I_VERSION_LABELS_H_S.nextval
1033 into l_hist_id
1034 from sys.dual;
1035 --
1036 p_ver_label_history_tbl(l_count).VERSION_LABEL_HISTORY_ID := l_hist_id;
1037 p_ver_label_history_tbl(l_count).VERSION_LABEL_ID := p_version_label_rec.VERSION_LABEL_ID;
1038 p_ver_label_history_tbl(l_count).TRANSACTION_ID := p_txn_id;
1039 p_ver_label_history_tbl(l_count).OLD_VERSION_LABEL := NULL;
1040 p_ver_label_history_tbl(l_count).NEW_VERSION_LABEL := p_version_label_rec.VERSION_LABEL;
1041 p_ver_label_history_tbl(l_count).OLD_DESCRIPTION := NULL;
1042 p_ver_label_history_tbl(l_count).NEW_DESCRIPTION := p_version_label_rec.DESCRIPTION;
1043 p_ver_label_history_tbl(l_count).OLD_DATE_TIME_STAMP := NULL;
1044 p_ver_label_history_tbl(l_count).NEW_DATE_TIME_STAMP := p_version_label_rec.DATE_TIME_STAMP;
1045 p_ver_label_history_tbl(l_count).OLD_ACTIVE_START_DATE := NULL;
1046 p_ver_label_history_tbl(l_count).NEW_ACTIVE_START_DATE := p_version_label_rec.ACTIVE_START_DATE;
1047 p_ver_label_history_tbl(l_count).OLD_ACTIVE_END_DATE := NULL;
1048 p_ver_label_history_tbl(l_count).NEW_ACTIVE_END_DATE := p_version_label_rec.ACTIVE_END_DATE;
1049 p_ver_label_history_tbl(l_count).OLD_CONTEXT := NULL;
1050 p_ver_label_history_tbl(l_count).NEW_CONTEXT := p_version_label_rec.CONTEXT;
1051 p_ver_label_history_tbl(l_count).OLD_ATTRIBUTE1 := NULL;
1052 p_ver_label_history_tbl(l_count).NEW_ATTRIBUTE1 := p_version_label_rec.ATTRIBUTE1;
1053 p_ver_label_history_tbl(l_count).OLD_ATTRIBUTE2 := NULL;
1054 p_ver_label_history_tbl(l_count).NEW_ATTRIBUTE2 := p_version_label_rec.ATTRIBUTE2;
1055 p_ver_label_history_tbl(l_count).OLD_ATTRIBUTE3 := NULL;
1056 p_ver_label_history_tbl(l_count).NEW_ATTRIBUTE3 := p_version_label_rec.ATTRIBUTE3;
1057 p_ver_label_history_tbl(l_count).OLD_ATTRIBUTE4 := NULL;
1058 p_ver_label_history_tbl(l_count).NEW_ATTRIBUTE4 := p_version_label_rec.ATTRIBUTE4;
1059 p_ver_label_history_tbl(l_count).OLD_ATTRIBUTE5 := NULL;
1060 p_ver_label_history_tbl(l_count).NEW_ATTRIBUTE5 := p_version_label_rec.ATTRIBUTE5;
1061 p_ver_label_history_tbl(l_count).OLD_ATTRIBUTE6 := NULL;
1062 p_ver_label_history_tbl(l_count).NEW_ATTRIBUTE6 := p_version_label_rec.ATTRIBUTE6;
1063 p_ver_label_history_tbl(l_count).OLD_ATTRIBUTE7 := NULL;
1064 p_ver_label_history_tbl(l_count).NEW_ATTRIBUTE7 := p_version_label_rec.ATTRIBUTE7;
1065 p_ver_label_history_tbl(l_count).OLD_ATTRIBUTE8 := NULL;
1066 p_ver_label_history_tbl(l_count).NEW_ATTRIBUTE8 := p_version_label_rec.ATTRIBUTE8;
1067 p_ver_label_history_tbl(l_count).OLD_ATTRIBUTE9 := NULL;
1068 p_ver_label_history_tbl(l_count).NEW_ATTRIBUTE9 := p_version_label_rec.ATTRIBUTE9;
1069 p_ver_label_history_tbl(l_count).OLD_ATTRIBUTE10 := NULL;
1070 p_ver_label_history_tbl(l_count).NEW_ATTRIBUTE10 := p_version_label_rec.ATTRIBUTE10;
1071 p_ver_label_history_tbl(l_count).OLD_ATTRIBUTE11 := NULL;
1072 p_ver_label_history_tbl(l_count).NEW_ATTRIBUTE11 := p_version_label_rec.ATTRIBUTE11;
1073 p_ver_label_history_tbl(l_count).OLD_ATTRIBUTE12 := NULL;
1074 p_ver_label_history_tbl(l_count).NEW_ATTRIBUTE12 := p_version_label_rec.ATTRIBUTE12;
1075 p_ver_label_history_tbl(l_count).OLD_ATTRIBUTE13 := NULL;
1076 p_ver_label_history_tbl(l_count).NEW_ATTRIBUTE13 := p_version_label_rec.ATTRIBUTE13;
1077 p_ver_label_history_tbl(l_count).OLD_ATTRIBUTE14 := NULL;
1078 p_ver_label_history_tbl(l_count).NEW_ATTRIBUTE14 := p_version_label_rec.ATTRIBUTE14;
1079 p_ver_label_history_tbl(l_count).OLD_ATTRIBUTE15 := NULL;
1080 p_ver_label_history_tbl(l_count).NEW_ATTRIBUTE15 := p_version_label_rec.ATTRIBUTE15;
1081 END Build_Ver_Label_History;
1082 --
1083 PROCEDURE Build_Party_History
1084 ( p_party_hist_tbl IN OUT NOCOPY csi_datastructures_pub.party_history_tbl
1085 ,p_party_rec IN csi_datastructures_pub.party_rec
1086 ,p_txn_id IN NUMBER
1087 ) IS
1088 l_count NUMBER;
1089 l_hist_id NUMBER;
1090 BEGIN
1091 l_count := p_party_hist_tbl.count + 1;
1092 select CSI_I_PARTIES_H_S.nextval
1093 into l_hist_id
1094 from sys.dual;
1095 --
1096 p_party_hist_tbl(l_count).INSTANCE_PARTY_HISTORY_ID := l_hist_id;
1097 p_party_hist_tbl(l_count).INSTANCE_PARTY_ID := p_party_rec.INSTANCE_PARTY_ID;
1098 p_party_hist_tbl(l_count).TRANSACTION_ID := p_txn_id;
1099 p_party_hist_tbl(l_count).OLD_PARTY_SOURCE_TABLE := NULL;
1100 p_party_hist_tbl(l_count).NEW_PARTY_SOURCE_TABLE := p_party_rec.PARTY_SOURCE_TABLE;
1101 p_party_hist_tbl(l_count).OLD_PARTY_ID := NULL;
1102 p_party_hist_tbl(l_count).NEW_PARTY_ID := p_party_rec.PARTY_ID;
1103 p_party_hist_tbl(l_count).OLD_RELATIONSHIP_TYPE_CODE := NULL;
1104 p_party_hist_tbl(l_count).NEW_RELATIONSHIP_TYPE_CODE := p_party_rec.RELATIONSHIP_TYPE_CODE;
1105 p_party_hist_tbl(l_count).OLD_CONTACT_FLAG := NULL;
1106 p_party_hist_tbl(l_count).NEW_CONTACT_FLAG := p_party_rec.CONTACT_FLAG;
1107 p_party_hist_tbl(l_count).OLD_CONTACT_IP_ID := NULL;
1108 p_party_hist_tbl(l_count).NEW_CONTACT_IP_ID := p_party_rec.CONTACT_IP_ID;
1109 p_party_hist_tbl(l_count).OLD_ACTIVE_START_DATE := NULL;
1110 p_party_hist_tbl(l_count).NEW_ACTIVE_START_DATE := p_party_rec.ACTIVE_START_DATE;
1111 p_party_hist_tbl(l_count).OLD_ACTIVE_END_DATE := NULL;
1112 p_party_hist_tbl(l_count).NEW_ACTIVE_END_DATE := p_party_rec.ACTIVE_END_DATE;
1113 p_party_hist_tbl(l_count).OLD_CONTEXT := NULL;
1114 p_party_hist_tbl(l_count).NEW_CONTEXT := p_party_rec.CONTEXT;
1115 p_party_hist_tbl(l_count).OLD_ATTRIBUTE1 := NULL;
1116 p_party_hist_tbl(l_count).NEW_ATTRIBUTE1 := p_party_rec.ATTRIBUTE1;
1117 p_party_hist_tbl(l_count).OLD_ATTRIBUTE2 := NULL;
1118 p_party_hist_tbl(l_count).NEW_ATTRIBUTE2 := p_party_rec.ATTRIBUTE2;
1119 p_party_hist_tbl(l_count).OLD_ATTRIBUTE3 := NULL;
1120 p_party_hist_tbl(l_count).NEW_ATTRIBUTE3 := p_party_rec.ATTRIBUTE3;
1121 p_party_hist_tbl(l_count).OLD_ATTRIBUTE4 := NULL;
1122 p_party_hist_tbl(l_count).NEW_ATTRIBUTE4 := p_party_rec.ATTRIBUTE4;
1123 p_party_hist_tbl(l_count).OLD_ATTRIBUTE5 := NULL;
1124 p_party_hist_tbl(l_count).NEW_ATTRIBUTE5 := p_party_rec.ATTRIBUTE5;
1125 p_party_hist_tbl(l_count).OLD_ATTRIBUTE6 := NULL;
1126 p_party_hist_tbl(l_count).NEW_ATTRIBUTE6 := p_party_rec.ATTRIBUTE6;
1127 p_party_hist_tbl(l_count).OLD_ATTRIBUTE7 := NULL;
1128 p_party_hist_tbl(l_count).NEW_ATTRIBUTE7 := p_party_rec.ATTRIBUTE7;
1129 p_party_hist_tbl(l_count).OLD_ATTRIBUTE8 := NULL;
1130 p_party_hist_tbl(l_count).NEW_ATTRIBUTE8 := p_party_rec.ATTRIBUTE8;
1131 p_party_hist_tbl(l_count).OLD_ATTRIBUTE9 := NULL;
1132 p_party_hist_tbl(l_count).NEW_ATTRIBUTE9 := p_party_rec.ATTRIBUTE9;
1133 p_party_hist_tbl(l_count).OLD_ATTRIBUTE10 := NULL;
1134 p_party_hist_tbl(l_count).NEW_ATTRIBUTE10 := p_party_rec.ATTRIBUTE10;
1135 p_party_hist_tbl(l_count).OLD_ATTRIBUTE11 := NULL;
1136 p_party_hist_tbl(l_count).NEW_ATTRIBUTE11 := p_party_rec.ATTRIBUTE11;
1137 p_party_hist_tbl(l_count).OLD_ATTRIBUTE12 := NULL;
1138 p_party_hist_tbl(l_count).NEW_ATTRIBUTE12 := p_party_rec.ATTRIBUTE12;
1139 p_party_hist_tbl(l_count).OLD_ATTRIBUTE13 := NULL;
1140 p_party_hist_tbl(l_count).NEW_ATTRIBUTE13 := p_party_rec.ATTRIBUTE13;
1141 p_party_hist_tbl(l_count).OLD_ATTRIBUTE14 := NULL;
1142 p_party_hist_tbl(l_count).NEW_ATTRIBUTE14 := p_party_rec.ATTRIBUTE14;
1143 p_party_hist_tbl(l_count).OLD_ATTRIBUTE15 := NULL;
1144 p_party_hist_tbl(l_count).NEW_ATTRIBUTE15 := p_party_rec.ATTRIBUTE15;
1145 p_party_hist_tbl(l_count).OLD_PRIMARY_FLAG := NULL;
1146 p_party_hist_tbl(l_count).NEW_PRIMARY_FLAG := p_party_rec.PRIMARY_FLAG;
1147 p_party_hist_tbl(l_count).OLD_PREFERRED_FLAG := NULL;
1148 p_party_hist_tbl(l_count).NEW_PREFERRED_FLAG := p_party_rec.PREFERRED_FLAG;
1149 END Build_Party_History;
1150 --
1151 PROCEDURE Build_Account_History
1152 ( p_acct_hist_tbl IN OUT NOCOPY csi_datastructures_pub.account_history_tbl
1153 ,p_acct_rec IN csi_datastructures_pub.party_account_rec
1154 ,p_txn_id IN NUMBER
1155 ) IS
1156 --
1157 l_count NUMBER;
1158 l_hist_id NUMBER;
1159 BEGIN
1160 l_count := p_acct_hist_tbl.count + 1;
1161 select CSI_IP_ACCOUNTS_H_S.nextval
1162 into l_hist_id
1163 from sys.dual;
1164 --
1165 p_acct_hist_tbl(l_count).IP_ACCOUNT_HISTORY_ID := l_hist_id;
1166 p_acct_hist_tbl(l_count).IP_ACCOUNT_ID := p_acct_rec.IP_ACCOUNT_ID;
1167 p_acct_hist_tbl(l_count).TRANSACTION_ID := p_txn_id;
1168 p_acct_hist_tbl(l_count).OLD_PARTY_ACCOUNT_ID := NULL;
1169 p_acct_hist_tbl(l_count).NEW_PARTY_ACCOUNT_ID := p_acct_rec.PARTY_ACCOUNT_ID;
1170 p_acct_hist_tbl(l_count).OLD_RELATIONSHIP_TYPE_CODE := NULL;
1171 p_acct_hist_tbl(l_count).NEW_RELATIONSHIP_TYPE_CODE := p_acct_rec.RELATIONSHIP_TYPE_CODE;
1172 p_acct_hist_tbl(l_count).OLD_ACTIVE_START_DATE := NULL;
1173 p_acct_hist_tbl(l_count).NEW_ACTIVE_START_DATE := p_acct_rec.ACTIVE_START_DATE;
1174 p_acct_hist_tbl(l_count).OLD_ACTIVE_END_DATE := NULL;
1175 p_acct_hist_tbl(l_count).NEW_ACTIVE_END_DATE := p_acct_rec.ACTIVE_END_DATE;
1176 p_acct_hist_tbl(l_count).OLD_CONTEXT := NULL;
1177 p_acct_hist_tbl(l_count).NEW_CONTEXT := p_acct_rec.CONTEXT;
1178 p_acct_hist_tbl(l_count).OLD_ATTRIBUTE1 := NULL;
1179 p_acct_hist_tbl(l_count).NEW_ATTRIBUTE1 := p_acct_rec.ATTRIBUTE1;
1180 p_acct_hist_tbl(l_count).OLD_ATTRIBUTE2 := NULL;
1181 p_acct_hist_tbl(l_count).NEW_ATTRIBUTE2 := p_acct_rec.ATTRIBUTE2;
1182 p_acct_hist_tbl(l_count).OLD_ATTRIBUTE3 := NULL;
1183 p_acct_hist_tbl(l_count).NEW_ATTRIBUTE3 := p_acct_rec.ATTRIBUTE3;
1184 p_acct_hist_tbl(l_count).OLD_ATTRIBUTE4 := NULL;
1185 p_acct_hist_tbl(l_count).NEW_ATTRIBUTE4 := p_acct_rec.ATTRIBUTE4;
1186 p_acct_hist_tbl(l_count).OLD_ATTRIBUTE5 := NULL;
1187 p_acct_hist_tbl(l_count).NEW_ATTRIBUTE5 := p_acct_rec.ATTRIBUTE5;
1188 p_acct_hist_tbl(l_count).OLD_ATTRIBUTE6 := NULL;
1189 p_acct_hist_tbl(l_count).NEW_ATTRIBUTE6 := p_acct_rec.ATTRIBUTE6;
1190 p_acct_hist_tbl(l_count).OLD_ATTRIBUTE7 := NULL;
1191 p_acct_hist_tbl(l_count).NEW_ATTRIBUTE7 := p_acct_rec.ATTRIBUTE7;
1192 p_acct_hist_tbl(l_count).OLD_ATTRIBUTE8 := NULL;
1193 p_acct_hist_tbl(l_count).NEW_ATTRIBUTE8 := p_acct_rec.ATTRIBUTE8;
1194 p_acct_hist_tbl(l_count).OLD_ATTRIBUTE9 := NULL;
1195 p_acct_hist_tbl(l_count).NEW_ATTRIBUTE9 := p_acct_rec.ATTRIBUTE9;
1196 p_acct_hist_tbl(l_count).OLD_ATTRIBUTE10 := NULL;
1197 p_acct_hist_tbl(l_count).NEW_ATTRIBUTE10 := p_acct_rec.ATTRIBUTE10;
1198 p_acct_hist_tbl(l_count).OLD_ATTRIBUTE11 := NULL;
1199 p_acct_hist_tbl(l_count).NEW_ATTRIBUTE11 := p_acct_rec.ATTRIBUTE11;
1200 p_acct_hist_tbl(l_count).OLD_ATTRIBUTE12 := NULL;
1201 p_acct_hist_tbl(l_count).NEW_ATTRIBUTE12 := p_acct_rec.ATTRIBUTE12;
1202 p_acct_hist_tbl(l_count).OLD_ATTRIBUTE13 := NULL;
1203 p_acct_hist_tbl(l_count).NEW_ATTRIBUTE13 := p_acct_rec.ATTRIBUTE13;
1204 p_acct_hist_tbl(l_count).OLD_ATTRIBUTE14 := NULL;
1205 p_acct_hist_tbl(l_count).NEW_ATTRIBUTE14 := p_acct_rec.ATTRIBUTE14;
1206 p_acct_hist_tbl(l_count).OLD_ATTRIBUTE15 := NULL;
1207 p_acct_hist_tbl(l_count).NEW_ATTRIBUTE15 := p_acct_rec.ATTRIBUTE15;
1208 p_acct_hist_tbl(l_count).OLD_BILL_TO_ADDRESS := NULL;
1209 p_acct_hist_tbl(l_count).NEW_BILL_TO_ADDRESS := p_acct_rec.BILL_TO_ADDRESS;
1210 p_acct_hist_tbl(l_count).OLD_SHIP_TO_ADDRESS := NULL;
1211 p_acct_hist_tbl(l_count).NEW_SHIP_TO_ADDRESS := p_acct_rec.SHIP_TO_ADDRESS;
1212 END Build_Account_History;
1213 --
1214 PROCEDURE Build_Org_History
1215 (
1216 p_org_hist_tbl IN OUT NOCOPY csi_datastructures_pub.org_units_history_tbl
1217 ,p_org_rec IN csi_datastructures_pub.organization_units_rec
1218 ,p_txn_id IN NUMBER
1219 ) IS
1220 --
1221 l_count NUMBER;
1222 l_hist_id NUMBER;
1223 BEGIN
1224 l_count := p_org_hist_tbl.count + 1;
1225 select CSI_I_ORG_ASSIGNMENTS_H_S.nextval
1226 into l_hist_id
1227 from sys.dual;
1228
1229 p_org_hist_tbl(l_count).instance_ou_history_id := l_hist_id;
1230 p_org_hist_tbl(l_count).instance_ou_id := p_org_rec.instance_ou_id;
1231 p_org_hist_tbl(l_count).transaction_id := p_txn_id;
1232 p_org_hist_tbl(l_count).old_operating_unit_id := NULL;
1233 p_org_hist_tbl(l_count).new_operating_unit_id := p_org_rec.operating_unit_id;
1234 p_org_hist_tbl(l_count).old_relationship_type_code := NULL;
1235 p_org_hist_tbl(l_count).new_relationship_type_code := p_org_rec.relationship_type_code;
1236 p_org_hist_tbl(l_count).old_active_start_date := NULL;
1237 p_org_hist_tbl(l_count).new_active_start_date := p_org_rec.active_start_date;
1238 p_org_hist_tbl(l_count).old_active_end_date := NULL;
1239 p_org_hist_tbl(l_count).new_active_end_date := p_org_rec.active_end_date;
1240 p_org_hist_tbl(l_count).old_context := NULL;
1241 p_org_hist_tbl(l_count).new_context := p_org_rec.context;
1242 p_org_hist_tbl(l_count).old_attribute1 := NULL;
1243 p_org_hist_tbl(l_count).new_attribute1 := p_org_rec.attribute1;
1244 p_org_hist_tbl(l_count).old_attribute2 := NULL;
1245 p_org_hist_tbl(l_count).new_attribute2 := p_org_rec.attribute2;
1246 p_org_hist_tbl(l_count).old_attribute3 := NULL;
1247 p_org_hist_tbl(l_count).new_attribute3 := p_org_rec.attribute3;
1248 p_org_hist_tbl(l_count).old_attribute4 := NULL;
1249 p_org_hist_tbl(l_count).new_attribute4 := p_org_rec.attribute4;
1250 p_org_hist_tbl(l_count).old_attribute5 := NULL;
1251 p_org_hist_tbl(l_count).new_attribute5 := p_org_rec.attribute5;
1252 p_org_hist_tbl(l_count).old_attribute6 := NULL;
1253 p_org_hist_tbl(l_count).new_attribute6 := p_org_rec.attribute6;
1254 p_org_hist_tbl(l_count).old_attribute7 := NULL;
1255 p_org_hist_tbl(l_count).new_attribute7 := p_org_rec.attribute7;
1256 p_org_hist_tbl(l_count).old_attribute8 := NULL;
1257 p_org_hist_tbl(l_count).new_attribute8 := p_org_rec.attribute8;
1258 p_org_hist_tbl(l_count).old_attribute9 := NULL;
1259 p_org_hist_tbl(l_count).new_attribute9 := p_org_rec.attribute9;
1260 p_org_hist_tbl(l_count).old_attribute10 := NULL;
1261 p_org_hist_tbl(l_count).new_attribute10 := p_org_rec.attribute10;
1262 p_org_hist_tbl(l_count).old_attribute11 := NULL;
1263 p_org_hist_tbl(l_count).new_attribute11 := p_org_rec.attribute11;
1264 p_org_hist_tbl(l_count).old_attribute12 := NULL;
1265 p_org_hist_tbl(l_count).new_attribute12 := p_org_rec.attribute12;
1266 p_org_hist_tbl(l_count).old_attribute13 := NULL;
1267 p_org_hist_tbl(l_count).new_attribute13 := p_org_rec.attribute13;
1268 p_org_hist_tbl(l_count).old_attribute14 := NULL;
1269 p_org_hist_tbl(l_count).new_attribute14 := p_org_rec.attribute14;
1270 p_org_hist_tbl(l_count).old_attribute15 := NULL;
1271 p_org_hist_tbl(l_count).new_attribute15 := p_org_rec.attribute15;
1272 END Build_Org_History;
1273 --
1274 PROCEDURE Build_Pricing_History
1275 (
1276 p_pricing_hist_tbl IN OUT NOCOPY csi_datastructures_pub.pricing_history_tbl
1277 ,p_pricing_rec IN csi_datastructures_pub.pricing_attribs_rec
1278 ,p_txn_id IN NUMBER
1279 ) IS
1280 --
1281 l_count NUMBER;
1282 l_hist_id NUMBER;
1283 BEGIN
1284 l_count := p_pricing_hist_tbl.count + 1;
1285 select CSI_I_PRICING_ATTRIBS_H_S.nextval
1286 into l_hist_id
1287 from sys.dual;
1288
1289 p_pricing_hist_tbl(l_count).PRICE_ATTRIB_HISTORY_ID := l_hist_id;
1290 p_pricing_hist_tbl(l_count).PRICING_ATTRIBUTE_ID := p_pricing_rec.pricing_attribute_id;
1291 p_pricing_hist_tbl(l_count).TRANSACTION_ID := p_txn_id;
1292 p_pricing_hist_tbl(l_count).OLD_PRICING_CONTEXT := NULL;
1293 p_pricing_hist_tbl(l_count).NEW_PRICING_CONTEXT := p_pricing_rec.pricing_context;
1294 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE1 := NULL;
1295 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE1 := p_pricing_rec.pricing_attribute1;
1296 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE2 := NULL;
1297 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE2 := p_pricing_rec.pricing_attribute2;
1298 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE3 := NULL;
1299 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE3 := p_pricing_rec.pricing_attribute3;
1300 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE4 := NULL;
1301 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE4 := p_pricing_rec.pricing_attribute4;
1302 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE5 := NULL;
1303 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE5 := p_pricing_rec.pricing_attribute5;
1304 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE6 := NULL;
1305 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE6 := p_pricing_rec.pricing_attribute6;
1306 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE7 := NULL;
1307 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE7 := p_pricing_rec.pricing_attribute7;
1308 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE8 := NULL;
1309 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE8 := p_pricing_rec.pricing_attribute8;
1310 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE9 := NULL;
1311 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE9 := p_pricing_rec.pricing_attribute9;
1312 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE10 := NULL;
1313 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE10 := p_pricing_rec.pricing_attribute10;
1314 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE11 := NULL;
1315 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE11 := p_pricing_rec.pricing_attribute11;
1316 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE12 := NULL;
1317 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE12 := p_pricing_rec.pricing_attribute12;
1318 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE13 := NULL;
1319 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE13 := p_pricing_rec.pricing_attribute13;
1320 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE14 := NULL;
1321 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE14 := p_pricing_rec.pricing_attribute14;
1322 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE15 := NULL;
1323 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE15 := p_pricing_rec.pricing_attribute15;
1324 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE16 := NULL;
1325 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE16 := p_pricing_rec.pricing_attribute16;
1326 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE17 := NULL;
1327 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE17 := p_pricing_rec.pricing_attribute17;
1328 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE18 := NULL;
1329 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE18 := p_pricing_rec.pricing_attribute18;
1330 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE19 := NULL;
1331 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE19 := p_pricing_rec.pricing_attribute19;
1332 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE20 := NULL;
1333 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE20 := p_pricing_rec.pricing_attribute20;
1334 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE21 := NULL;
1335 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE21 := p_pricing_rec.pricing_attribute21;
1336 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE22 := NULL;
1337 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE22 := p_pricing_rec.pricing_attribute22;
1338 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE23 := NULL;
1339 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE23 := p_pricing_rec.pricing_attribute23;
1340 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE24 := NULL;
1341 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE24 := p_pricing_rec.pricing_attribute24;
1342 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE25 := NULL;
1343 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE25 := p_pricing_rec.pricing_attribute25;
1344 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE26 := NULL;
1345 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE26 := p_pricing_rec.pricing_attribute26;
1346 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE27 := NULL;
1347 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE27 := p_pricing_rec.pricing_attribute27;
1348 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE28 := NULL;
1349 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE28 := p_pricing_rec.pricing_attribute28;
1350 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE29 := NULL;
1351 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE29 := p_pricing_rec.pricing_attribute29;
1352 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE30 := NULL;
1353 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE30 := p_pricing_rec.pricing_attribute30;
1354 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE31 := NULL;
1355 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE31 := p_pricing_rec.pricing_attribute31;
1356 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE32 := NULL;
1357 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE32 := p_pricing_rec.pricing_attribute32;
1358 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE33 := NULL;
1359 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE33 := p_pricing_rec.pricing_attribute33;
1360 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE34 := NULL;
1361 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE34 := p_pricing_rec.pricing_attribute34;
1362 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE35 := NULL;
1363 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE35 := p_pricing_rec.pricing_attribute35;
1364 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE36 := NULL;
1365 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE36 := p_pricing_rec.pricing_attribute36;
1366 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE37 := NULL;
1367 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE37 := p_pricing_rec.pricing_attribute37;
1368 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE38 := NULL;
1369 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE38 := p_pricing_rec.pricing_attribute38;
1370 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE39 := NULL;
1371 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE39 := p_pricing_rec.pricing_attribute39;
1372 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE40 := NULL;
1373 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE40 := p_pricing_rec.pricing_attribute40;
1374 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE41 := NULL;
1375 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE41 := p_pricing_rec.pricing_attribute41;
1376 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE42 := NULL;
1377 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE42 := p_pricing_rec.pricing_attribute42;
1378 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE43 := NULL;
1379 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE43 := p_pricing_rec.pricing_attribute43;
1380 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE44 := NULL;
1381 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE44 := p_pricing_rec.pricing_attribute44;
1382 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE45 := NULL;
1383 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE45 := p_pricing_rec.pricing_attribute45;
1384 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE46 := NULL;
1385 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE46 := p_pricing_rec.pricing_attribute46;
1386 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE47 := NULL;
1387 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE47 := p_pricing_rec.pricing_attribute47;
1388 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE48 := NULL;
1389 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE48 := p_pricing_rec.pricing_attribute48;
1390 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE49 := NULL;
1391 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE49 := p_pricing_rec.pricing_attribute49;
1392 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE50 := NULL;
1393 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE50 := p_pricing_rec.pricing_attribute50;
1394 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE51 := NULL;
1395 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE51 := p_pricing_rec.pricing_attribute51;
1396 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE52 := NULL;
1397 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE52 := p_pricing_rec.pricing_attribute52;
1398 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE53 := NULL;
1399 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE53 := p_pricing_rec.pricing_attribute53;
1400 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE54 := NULL;
1401 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE54 := p_pricing_rec.pricing_attribute54;
1402 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE55 := NULL;
1403 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE55 := p_pricing_rec.pricing_attribute55;
1404 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE56 := NULL;
1405 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE56 := p_pricing_rec.pricing_attribute56;
1406 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE57 := NULL;
1407 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE57 := p_pricing_rec.pricing_attribute57;
1408 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE58 := NULL;
1409 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE58 := p_pricing_rec.pricing_attribute58;
1410 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE59 := NULL;
1411 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE59 := p_pricing_rec.pricing_attribute59;
1412 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE60 := NULL;
1413 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE60 := p_pricing_rec.pricing_attribute60;
1414 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE61 := NULL;
1415 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE61 := p_pricing_rec.pricing_attribute61;
1416 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE62 := NULL;
1417 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE62 := p_pricing_rec.pricing_attribute62;
1418 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE63 := NULL;
1419 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE63 := p_pricing_rec.pricing_attribute63;
1420 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE64 := NULL;
1421 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE64 := p_pricing_rec.pricing_attribute64;
1422 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE65 := NULL;
1423 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE65 := p_pricing_rec.pricing_attribute65;
1424 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE66 := NULL;
1425 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE66 := p_pricing_rec.pricing_attribute66;
1426 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE67 := NULL;
1427 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE67 := p_pricing_rec.pricing_attribute67;
1428 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE68 := NULL;
1429 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE68 := p_pricing_rec.pricing_attribute68;
1430 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE69 := NULL;
1431 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE69 := p_pricing_rec.pricing_attribute69;
1432 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE70 := NULL;
1433 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE70 := p_pricing_rec.pricing_attribute70;
1434 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE71 := NULL;
1435 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE71 := p_pricing_rec.pricing_attribute71;
1436 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE72 := NULL;
1437 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE72 := p_pricing_rec.pricing_attribute72;
1438 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE73 := NULL;
1439 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE73 := p_pricing_rec.pricing_attribute73;
1440 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE74 := NULL;
1441 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE74 := p_pricing_rec.pricing_attribute74;
1442 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE75 := NULL;
1443 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE75 := p_pricing_rec.pricing_attribute75;
1444 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE76 := NULL;
1445 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE76 := p_pricing_rec.pricing_attribute76;
1446 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE77 := NULL;
1447 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE77 := p_pricing_rec.pricing_attribute77;
1448 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE78 := NULL;
1449 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE78 := p_pricing_rec.pricing_attribute78;
1450 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE79 := NULL;
1451 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE79 := p_pricing_rec.pricing_attribute79;
1452 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE80 := NULL;
1453 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE80 := p_pricing_rec.pricing_attribute80;
1454 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE81 := NULL;
1455 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE81 := p_pricing_rec.pricing_attribute81;
1456 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE82 := NULL;
1457 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE82 := p_pricing_rec.pricing_attribute82;
1458 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE83 := NULL;
1459 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE83 := p_pricing_rec.pricing_attribute83;
1460 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE84 := NULL;
1461 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE84 := p_pricing_rec.pricing_attribute84;
1462 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE85 := NULL;
1463 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE85 := p_pricing_rec.pricing_attribute85;
1464 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE86 := NULL;
1465 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE86 := p_pricing_rec.pricing_attribute86;
1466 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE87 := NULL;
1467 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE87 := p_pricing_rec.pricing_attribute87;
1468 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE88 := NULL;
1469 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE88 := p_pricing_rec.pricing_attribute88;
1470 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE89 := NULL;
1471 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE89 := p_pricing_rec.pricing_attribute89;
1472 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE90 := NULL;
1473 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE90 := p_pricing_rec.pricing_attribute90;
1474 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE91 := NULL;
1475 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE91 := p_pricing_rec.pricing_attribute91;
1476 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE92 := NULL;
1477 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE92 := p_pricing_rec.pricing_attribute92;
1478 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE93 := NULL;
1479 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE93 := p_pricing_rec.pricing_attribute93;
1480 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE94 := NULL;
1481 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE94 := p_pricing_rec.pricing_attribute94;
1482 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE95 := NULL;
1483 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE95 := p_pricing_rec.pricing_attribute95;
1484 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE96 := NULL;
1485 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE96 := p_pricing_rec.pricing_attribute96;
1486 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE97 := NULL;
1487 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE97 := p_pricing_rec.pricing_attribute97;
1488 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE98 := NULL;
1489 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE98 := p_pricing_rec.pricing_attribute98;
1490 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE99 := NULL;
1491 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE99 := p_pricing_rec.pricing_attribute99;
1492 p_pricing_hist_tbl(l_count).OLD_PRICING_ATTRIBUTE100 := NULL;
1493 p_pricing_hist_tbl(l_count).NEW_PRICING_ATTRIBUTE100 := p_pricing_rec.pricing_attribute100;
1494 p_pricing_hist_tbl(l_count).OLD_ACTIVE_START_DATE := NULL;
1495 p_pricing_hist_tbl(l_count).NEW_ACTIVE_START_DATE := p_pricing_rec.active_start_date;
1496 p_pricing_hist_tbl(l_count).OLD_ACTIVE_END_DATE := NULL;
1497 p_pricing_hist_tbl(l_count).NEW_ACTIVE_END_DATE := p_pricing_rec.active_end_date;
1498 p_pricing_hist_tbl(l_count).OLD_CONTEXT := NULL;
1499 p_pricing_hist_tbl(l_count).NEW_CONTEXT := p_pricing_rec.context;
1500 p_pricing_hist_tbl(l_count).OLD_ATTRIBUTE1 := NULL;
1501 p_pricing_hist_tbl(l_count).NEW_ATTRIBUTE1 := p_pricing_rec.ATTRIBUTE1;
1502 p_pricing_hist_tbl(l_count).OLD_ATTRIBUTE2 := NULL;
1503 p_pricing_hist_tbl(l_count).NEW_ATTRIBUTE2 := p_pricing_rec.ATTRIBUTE2;
1504 p_pricing_hist_tbl(l_count).OLD_ATTRIBUTE3 := NULL;
1505 p_pricing_hist_tbl(l_count).NEW_ATTRIBUTE3 := p_pricing_rec.ATTRIBUTE3;
1506 p_pricing_hist_tbl(l_count).OLD_ATTRIBUTE4 := NULL;
1507 p_pricing_hist_tbl(l_count).NEW_ATTRIBUTE4 := p_pricing_rec.ATTRIBUTE4;
1508 p_pricing_hist_tbl(l_count).OLD_ATTRIBUTE5 := NULL;
1509 p_pricing_hist_tbl(l_count).NEW_ATTRIBUTE5 := p_pricing_rec.ATTRIBUTE5;
1510 p_pricing_hist_tbl(l_count).OLD_ATTRIBUTE6 := NULL;
1511 p_pricing_hist_tbl(l_count).NEW_ATTRIBUTE6 := p_pricing_rec.ATTRIBUTE6;
1512 p_pricing_hist_tbl(l_count).OLD_ATTRIBUTE7 := NULL;
1513 p_pricing_hist_tbl(l_count).NEW_ATTRIBUTE7 := p_pricing_rec.ATTRIBUTE7;
1514 p_pricing_hist_tbl(l_count).OLD_ATTRIBUTE8 := NULL;
1515 p_pricing_hist_tbl(l_count).NEW_ATTRIBUTE8 := p_pricing_rec.ATTRIBUTE8;
1516 p_pricing_hist_tbl(l_count).OLD_ATTRIBUTE9 := NULL;
1517 p_pricing_hist_tbl(l_count).NEW_ATTRIBUTE9 := p_pricing_rec.ATTRIBUTE9;
1518 p_pricing_hist_tbl(l_count).OLD_ATTRIBUTE10 := NULL;
1519 p_pricing_hist_tbl(l_count).NEW_ATTRIBUTE10 := p_pricing_rec.ATTRIBUTE10;
1520 p_pricing_hist_tbl(l_count).OLD_ATTRIBUTE11 := NULL;
1521 p_pricing_hist_tbl(l_count).NEW_ATTRIBUTE11 := p_pricing_rec.ATTRIBUTE11;
1522 p_pricing_hist_tbl(l_count).OLD_ATTRIBUTE12 := NULL;
1523 p_pricing_hist_tbl(l_count).NEW_ATTRIBUTE12 := p_pricing_rec.ATTRIBUTE12;
1524 p_pricing_hist_tbl(l_count).OLD_ATTRIBUTE13 := NULL;
1525 p_pricing_hist_tbl(l_count).NEW_ATTRIBUTE13 := p_pricing_rec.ATTRIBUTE13;
1526 p_pricing_hist_tbl(l_count).OLD_ATTRIBUTE14 := NULL;
1527 p_pricing_hist_tbl(l_count).NEW_ATTRIBUTE14 := p_pricing_rec.ATTRIBUTE14;
1528 p_pricing_hist_tbl(l_count).OLD_ATTRIBUTE15 := NULL;
1529 p_pricing_hist_tbl(l_count).NEW_ATTRIBUTE15 := p_pricing_rec.ATTRIBUTE15;
1530 END Build_Pricing_History;
1531 --
1532 PROCEDURE Build_Ext_Attr_History
1533 (
1534 p_ext_attr_hist_tbl IN OUT NOCOPY csi_datastructures_pub.ext_attrib_val_history_tbl
1535 ,p_ext_attr_rec IN csi_datastructures_pub.extend_attrib_values_rec
1536 ,p_txn_id IN NUMBER
1537 ) IS
1538 --
1539 l_count NUMBER;
1540 l_hist_id NUMBER;
1541 BEGIN
1542 l_count := p_ext_attr_hist_tbl.count + 1;
1543 select CSI_IEA_VALUES_H_S.nextval
1544 into l_hist_id
1545 from sys.dual;
1546
1547 p_ext_attr_hist_tbl(l_count).attribute_value_history_id := l_hist_id;
1548 p_ext_attr_hist_tbl(l_count).attribute_value_id := p_ext_attr_rec.attribute_value_id;
1549 p_ext_attr_hist_tbl(l_count).transaction_id := p_txn_id;
1550 p_ext_attr_hist_tbl(l_count).old_attribute_value := NULL;
1551 p_ext_attr_hist_tbl(l_count).new_attribute_value := p_ext_attr_rec.attribute_value;
1552 p_ext_attr_hist_tbl(l_count).old_active_start_date := NULL;
1553 p_ext_attr_hist_tbl(l_count).new_active_start_date := p_ext_attr_rec.active_start_date;
1554 p_ext_attr_hist_tbl(l_count).old_active_end_date := NULL;
1555 p_ext_attr_hist_tbl(l_count).new_active_end_date := p_ext_attr_rec.active_end_date;
1556 p_ext_attr_hist_tbl(l_count).old_context := NULL;
1557 p_ext_attr_hist_tbl(l_count).new_context := p_ext_attr_rec.context;
1558 p_ext_attr_hist_tbl(l_count).old_attribute1 := NULL;
1559 p_ext_attr_hist_tbl(l_count).new_attribute1 := p_ext_attr_rec.attribute1;
1560 p_ext_attr_hist_tbl(l_count).old_attribute2 := NULL;
1561 p_ext_attr_hist_tbl(l_count).new_attribute2 := p_ext_attr_rec.attribute2;
1562 p_ext_attr_hist_tbl(l_count).old_attribute3 := NULL;
1563 p_ext_attr_hist_tbl(l_count).new_attribute3 := p_ext_attr_rec.attribute3;
1564 p_ext_attr_hist_tbl(l_count).old_attribute4 := NULL;
1565 p_ext_attr_hist_tbl(l_count).new_attribute4 := p_ext_attr_rec.attribute4;
1566 p_ext_attr_hist_tbl(l_count).old_attribute5 := NULL;
1567 p_ext_attr_hist_tbl(l_count).new_attribute5 := p_ext_attr_rec.attribute5;
1568 p_ext_attr_hist_tbl(l_count).old_attribute6 := NULL;
1569 p_ext_attr_hist_tbl(l_count).new_attribute6 := p_ext_attr_rec.attribute6;
1570 p_ext_attr_hist_tbl(l_count).old_attribute7 := NULL;
1571 p_ext_attr_hist_tbl(l_count).new_attribute7 := p_ext_attr_rec.attribute7;
1572 p_ext_attr_hist_tbl(l_count).old_attribute8 := NULL;
1573 p_ext_attr_hist_tbl(l_count).new_attribute8 := p_ext_attr_rec.attribute8;
1574 p_ext_attr_hist_tbl(l_count).old_attribute9 := NULL;
1575 p_ext_attr_hist_tbl(l_count).new_attribute9 := p_ext_attr_rec.attribute9;
1576 p_ext_attr_hist_tbl(l_count).old_attribute10 := NULL;
1577 p_ext_attr_hist_tbl(l_count).new_attribute10 := p_ext_attr_rec.attribute10;
1578 p_ext_attr_hist_tbl(l_count).old_attribute11 := NULL;
1579 p_ext_attr_hist_tbl(l_count).new_attribute11 := p_ext_attr_rec.attribute11;
1580 p_ext_attr_hist_tbl(l_count).old_attribute12 := NULL;
1581 p_ext_attr_hist_tbl(l_count).new_attribute12 := p_ext_attr_rec.attribute12;
1582 p_ext_attr_hist_tbl(l_count).old_attribute13 := NULL;
1583 p_ext_attr_hist_tbl(l_count).new_attribute13 := p_ext_attr_rec.attribute13;
1584 p_ext_attr_hist_tbl(l_count).old_attribute14 := NULL;
1585 p_ext_attr_hist_tbl(l_count).new_attribute14 := p_ext_attr_rec.attribute14;
1586 p_ext_attr_hist_tbl(l_count).old_attribute15 := NULL;
1587 p_ext_attr_hist_tbl(l_count).new_attribute15 := p_ext_attr_rec.attribute15;
1588 p_ext_attr_hist_tbl(l_count).attribute_code := p_ext_attr_rec.attribute_code;
1589
1590 END Build_Ext_Attr_History;
1591 --
1592 PROCEDURE Build_Asset_History
1593 (
1594 p_asset_hist_tbl IN OUT NOCOPY csi_datastructures_pub.ins_asset_history_tbl
1595 ,p_asset_rec IN csi_datastructures_pub.instance_asset_rec
1596 ,p_txn_id IN NUMBER
1597 ) IS
1598 --
1599 l_count NUMBER;
1600 l_hist_id NUMBER;
1601 BEGIN
1602 l_count := p_asset_hist_tbl.count + 1;
1603 select CSI_I_ASSETS_H_S.nextval
1604 into l_hist_id
1605 from sys.dual;
1606
1607 p_asset_hist_tbl(l_count).instance_asset_history_id := l_hist_id;
1608 p_asset_hist_tbl(l_count).transaction_id := p_txn_id;
1609 p_asset_hist_tbl(l_count).instance_asset_id := p_asset_rec.instance_asset_id;
1610 p_asset_hist_tbl(l_count).old_instance_id := NULL;
1611 p_asset_hist_tbl(l_count).new_instance_id := p_asset_rec.instance_id;
1612 p_asset_hist_tbl(l_count).old_fa_asset_id := NULL;
1613 p_asset_hist_tbl(l_count).new_fa_asset_id := p_asset_rec.fa_asset_id;
1614 p_asset_hist_tbl(l_count).old_fa_book_type_code := NULL;
1615 p_asset_hist_tbl(l_count).new_fa_book_type_code := p_asset_rec.fa_book_type_code;
1616 p_asset_hist_tbl(l_count).old_fa_location_id := NULL;
1617 p_asset_hist_tbl(l_count).new_fa_location_id := p_asset_rec.fa_location_id;
1618 p_asset_hist_tbl(l_count).old_asset_quantity := NULL;
1619 p_asset_hist_tbl(l_count).new_asset_quantity := p_asset_rec.asset_quantity;
1620 p_asset_hist_tbl(l_count).old_update_status := NULL;
1621 p_asset_hist_tbl(l_count).new_update_status := p_asset_rec.update_status;
1622 p_asset_hist_tbl(l_count).old_active_start_date := NULL;
1623 p_asset_hist_tbl(l_count).new_active_start_date := p_asset_rec.active_start_date;
1624 p_asset_hist_tbl(l_count).old_active_end_date := NULL;
1625 p_asset_hist_tbl(l_count).new_active_end_date := p_asset_rec.active_end_date;
1626
1627 END Build_Asset_History;
1628 --
1629 PROCEDURE Build_Inst_Rec_of_Table
1630 (
1631 p_inst_tbl IN csi_datastructures_pub.instance_tbl
1632 ,p_inst_rec_tab IN OUT NOCOPY csi_item_instance_grp.instance_rec_tab
1633 ) IS
1634 BEGIN
1635 FOR i in p_inst_tbl.FIRST .. p_inst_tbl.LAST LOOP
1636 p_inst_rec_tab.INSTANCE_ID(i) := p_inst_tbl(i).INSTANCE_ID;
1637 p_inst_rec_tab.instance_number(i) := p_inst_tbl(i).instance_number;
1638 p_inst_rec_tab.external_reference(i) := p_inst_tbl(i).external_reference;
1639 p_inst_rec_tab.inventory_item_id(i) := p_inst_tbl(i).inventory_item_id;
1640 p_inst_rec_tab.vld_organization_id(i) := p_inst_tbl(i).vld_organization_id;
1641 p_inst_rec_tab.inventory_revision(i) := p_inst_tbl(i).inventory_revision;
1642 p_inst_rec_tab.inv_master_organization_id(i) := p_inst_tbl(i).inv_master_organization_id;
1643 p_inst_rec_tab.serial_number(i) := p_inst_tbl(i).serial_number;
1644 p_inst_rec_tab.mfg_serial_number_flag(i) := p_inst_tbl(i).mfg_serial_number_flag;
1645 p_inst_rec_tab.lot_number(i) := p_inst_tbl(i).lot_number;
1646 p_inst_rec_tab.quantity(i) := p_inst_tbl(i).quantity;
1647 p_inst_rec_tab.unit_of_measure(i) := p_inst_tbl(i).unit_of_measure;
1648 p_inst_rec_tab.accounting_class_code(i) := p_inst_tbl(i).accounting_class_code;
1649 p_inst_rec_tab.instance_condition_id(i) := p_inst_tbl(i).instance_condition_id;
1650 p_inst_rec_tab.instance_status_id(i) := p_inst_tbl(i).instance_status_id;
1651 p_inst_rec_tab.customer_view_flag(i) := p_inst_tbl(i).customer_view_flag;
1652 p_inst_rec_tab.merchant_view_flag(i) := p_inst_tbl(i).merchant_view_flag;
1653 p_inst_rec_tab.sellable_flag(i) := p_inst_tbl(i).sellable_flag;
1654 p_inst_rec_tab.system_id(i) := p_inst_tbl(i).system_id;
1655 p_inst_rec_tab.instance_type_code(i) := p_inst_tbl(i).instance_type_code;
1656 p_inst_rec_tab.active_start_date(i) := p_inst_tbl(i).active_start_date;
1657 p_inst_rec_tab.active_end_date(i) := p_inst_tbl(i).active_end_date;
1658 p_inst_rec_tab.location_type_code(i) := p_inst_tbl(i).location_type_code;
1659 p_inst_rec_tab.location_id(i) := p_inst_tbl(i).location_id;
1660 p_inst_rec_tab.inv_organization_id(i) := p_inst_tbl(i).inv_organization_id;
1661 p_inst_rec_tab.inv_subinventory_name(i) := p_inst_tbl(i).inv_subinventory_name;
1662 p_inst_rec_tab.inv_locator_id(i) := p_inst_tbl(i).inv_locator_id;
1663 p_inst_rec_tab.pa_project_id(i) := p_inst_tbl(i).pa_project_id;
1664 p_inst_rec_tab.pa_project_task_id(i) := p_inst_tbl(i).pa_project_task_id;
1665 p_inst_rec_tab.in_transit_order_line_id(i) := p_inst_tbl(i).in_transit_order_line_id;
1666 p_inst_rec_tab.wip_job_id(i) := p_inst_tbl(i).wip_job_id;
1667 p_inst_rec_tab.po_order_line_id(i) := p_inst_tbl(i).po_order_line_id;
1668 p_inst_rec_tab.last_oe_order_line_id(i) := p_inst_tbl(i).last_oe_order_line_id;
1669 p_inst_rec_tab.last_oe_rma_line_id(i) := p_inst_tbl(i).last_oe_rma_line_id;
1670 p_inst_rec_tab.last_po_po_line_id(i) := p_inst_tbl(i).last_po_po_line_id;
1671 p_inst_rec_tab.last_oe_po_number(i) := p_inst_tbl(i).last_oe_po_number;
1672 p_inst_rec_tab.last_wip_job_id(i) := p_inst_tbl(i).last_wip_job_id;
1673 p_inst_rec_tab.last_pa_project_id(i) := p_inst_tbl(i).last_pa_project_id;
1674 p_inst_rec_tab.last_pa_task_id(i) := p_inst_tbl(i).last_pa_task_id;
1675 p_inst_rec_tab.last_oe_agreement_id(i) := p_inst_tbl(i).last_oe_agreement_id;
1676 p_inst_rec_tab.install_date(i) := p_inst_tbl(i).install_date;
1677 p_inst_rec_tab.manually_created_flag(i) := p_inst_tbl(i).manually_created_flag;
1678 p_inst_rec_tab.return_by_date(i) := p_inst_tbl(i).return_by_date;
1679 p_inst_rec_tab.actual_return_date(i) := p_inst_tbl(i).actual_return_date;
1680 p_inst_rec_tab.creation_complete_flag(i) := p_inst_tbl(i).creation_complete_flag;
1681 p_inst_rec_tab.completeness_flag(i) := p_inst_tbl(i).completeness_flag;
1682 p_inst_rec_tab.version_label(i) := p_inst_tbl(i).version_label;
1683 p_inst_rec_tab.version_label_description(i) := p_inst_tbl(i).version_label_description;
1684 p_inst_rec_tab.context(i) := p_inst_tbl(i).context;
1685 p_inst_rec_tab.attribute1(i) := p_inst_tbl(i).attribute1;
1686 p_inst_rec_tab.attribute2(i) := p_inst_tbl(i).attribute2;
1687 p_inst_rec_tab.attribute3(i) := p_inst_tbl(i).attribute3;
1688 p_inst_rec_tab.attribute4(i) := p_inst_tbl(i).attribute4;
1689 p_inst_rec_tab.attribute5(i) := p_inst_tbl(i).attribute5;
1690 p_inst_rec_tab.attribute6(i) := p_inst_tbl(i).attribute6;
1691 p_inst_rec_tab.attribute7(i) := p_inst_tbl(i).attribute7;
1692 p_inst_rec_tab.attribute8(i) := p_inst_tbl(i).attribute8;
1693 p_inst_rec_tab.attribute9(i) := p_inst_tbl(i).attribute9;
1694 p_inst_rec_tab.attribute10(i) := p_inst_tbl(i).attribute10;
1695 p_inst_rec_tab.attribute11(i) := p_inst_tbl(i).attribute11;
1696 p_inst_rec_tab.attribute12(i) := p_inst_tbl(i).attribute12;
1697 p_inst_rec_tab.attribute13(i) := p_inst_tbl(i).attribute13;
1698 p_inst_rec_tab.attribute14(i) := p_inst_tbl(i).attribute14;
1699 p_inst_rec_tab.attribute15(i) := p_inst_tbl(i).attribute15;
1700 p_inst_rec_tab.object_version_number(i) := p_inst_tbl(i).object_version_number;
1701 p_inst_rec_tab.last_txn_line_detail_id(i) := p_inst_tbl(i).last_txn_line_detail_id;
1702 p_inst_rec_tab.install_location_type_code(i) := p_inst_tbl(i).install_location_type_code;
1703 p_inst_rec_tab.install_location_id(i) := p_inst_tbl(i).install_location_id;
1704 p_inst_rec_tab.instance_usage_code(i) := p_inst_tbl(i).instance_usage_code;
1705 p_inst_rec_tab.check_for_instance_expiry(i) := p_inst_tbl(i).check_for_instance_expiry;
1706 p_inst_rec_tab.call_contracts(i) := p_inst_tbl(i).call_contracts;
1707 p_inst_rec_tab.grp_call_contracts(i) := p_inst_tbl(i).grp_call_contracts;
1708 p_inst_rec_tab.config_inst_hdr_id(i) := p_inst_tbl(i).config_inst_hdr_id;
1709 p_inst_rec_tab.config_inst_rev_num(i) := p_inst_tbl(i).config_inst_rev_num;
1710 p_inst_rec_tab.config_inst_item_id(i) := p_inst_tbl(i).config_inst_item_id;
1711 p_inst_rec_tab.config_valid_status(i) := p_inst_tbl(i).config_valid_status;
1712 p_inst_rec_tab.instance_description(i) := p_inst_tbl(i).instance_description;
1713
1714 p_inst_rec_tab.network_asset_flag(i) := p_inst_tbl(i).network_asset_flag;
1715 p_inst_rec_tab.maintainable_flag(i) := p_inst_tbl(i).maintainable_flag;
1716 p_inst_rec_tab.asset_criticality_code(i) := p_inst_tbl(i).asset_criticality_code;
1717 p_inst_rec_tab.category_id(i) := p_inst_tbl(i).category_id ;
1718 p_inst_rec_tab.equipment_gen_object_id(i) := p_inst_tbl(i).equipment_gen_object_id ;
1719 p_inst_rec_tab.instantiation_flag(i) := p_inst_tbl(i).instantiation_flag;
1720 p_inst_rec_tab.operational_log_flag(i) := p_inst_tbl(i).operational_log_flag ;
1721 p_inst_rec_tab.supplier_warranty_exp_date(i) := p_inst_tbl(i).supplier_warranty_exp_date ;
1722 p_inst_rec_tab.attribute16(i) := p_inst_tbl(i).attribute16;
1723 p_inst_rec_tab.attribute17(i) := p_inst_tbl(i).attribute17;
1724 p_inst_rec_tab.attribute18(i) := p_inst_tbl(i).attribute18;
1725 p_inst_rec_tab.attribute19(i) := p_inst_tbl(i).attribute19;
1726 p_inst_rec_tab.attribute20(i) := p_inst_tbl(i).attribute20;
1727 p_inst_rec_tab.attribute21(i) := p_inst_tbl(i).attribute21;
1728 p_inst_rec_tab.attribute22(i) := p_inst_tbl(i).attribute22;
1729 p_inst_rec_tab.attribute23(i) := p_inst_tbl(i).attribute23;
1730 p_inst_rec_tab.attribute24(i) := p_inst_tbl(i).attribute24;
1731 p_inst_rec_tab.attribute25(i) := p_inst_tbl(i).attribute25;
1732 p_inst_rec_tab.attribute26(i) := p_inst_tbl(i).attribute26;
1733 p_inst_rec_tab.attribute27(i) := p_inst_tbl(i).attribute27;
1734 p_inst_rec_tab.attribute28(i) := p_inst_tbl(i).attribute28;
1735 p_inst_rec_tab.attribute29(i) := p_inst_tbl(i).attribute29;
1736 p_inst_rec_tab.attribute30(i) := p_inst_tbl(i).attribute30;
1737
1738 p_inst_rec_tab.purchase_unit_price(i) := p_inst_tbl(i).purchase_unit_price;
1739 p_inst_rec_tab.purchase_currency_code(i) := p_inst_tbl(i).purchase_currency_code;
1740 p_inst_rec_tab.payables_unit_price(i) := p_inst_tbl(i).payables_unit_price;
1741 p_inst_rec_tab.payables_currency_code(i) := p_inst_tbl(i).payables_currency_code;
1742 p_inst_rec_tab.sales_unit_price(i) := p_inst_tbl(i).sales_unit_price;
1743 p_inst_rec_tab.sales_currency_code(i) := p_inst_tbl(i).sales_currency_code;
1744 p_inst_rec_tab.operational_status_code(i) := p_inst_tbl(i).operational_status_code;
1745
1746 END LOOP;
1747 END Build_Inst_Rec_of_Table;
1748 --
1749 PROCEDURE Build_Inst_Hist_Rec_of_Table
1750 ( p_inst_hist_tbl IN csi_datastructures_pub.instance_history_tbl
1751 ,p_inst_hist_rec_tab IN OUT NOCOPY csi_item_instance_grp.instance_history_rec_tab
1752 ) IS
1753 BEGIN
1754 FOR i in p_inst_hist_tbl.FIRST .. p_inst_hist_tbl.LAST LOOP
1755 p_inst_hist_rec_tab.instance_id(i) := p_inst_hist_tbl(i).instance_id;
1756 p_inst_hist_rec_tab.old_instance_number(i) := p_inst_hist_tbl(i).old_instance_number;
1757 p_inst_hist_rec_tab.new_instance_number(i) := p_inst_hist_tbl(i).new_instance_number;
1758 p_inst_hist_rec_tab.old_external_reference(i) := p_inst_hist_tbl(i).old_external_reference;
1759 p_inst_hist_rec_tab.new_external_reference(i) := p_inst_hist_tbl(i).new_external_reference;
1760 p_inst_hist_rec_tab.old_inventory_item_id(i) := p_inst_hist_tbl(i).old_inventory_item_id;
1761 p_inst_hist_rec_tab.new_inventory_item_id(i) := p_inst_hist_tbl(i).new_inventory_item_id;
1762 p_inst_hist_rec_tab.old_inventory_revision(i) := p_inst_hist_tbl(i).old_inventory_revision;
1763 p_inst_hist_rec_tab.new_inventory_revision(i) := p_inst_hist_tbl(i).new_inventory_revision;
1764 p_inst_hist_rec_tab.old_inv_master_org_id(i) := p_inst_hist_tbl(i).old_inv_master_org_id;
1765 p_inst_hist_rec_tab.new_inv_master_org_id(i) := p_inst_hist_tbl(i).new_inv_master_org_id;
1766 p_inst_hist_rec_tab.old_serial_number(i) := p_inst_hist_tbl(i).old_serial_number;
1767 p_inst_hist_rec_tab.new_serial_number(i) := p_inst_hist_tbl(i).new_serial_number;
1768 p_inst_hist_rec_tab.old_mfg_serial_number_flag(i) := p_inst_hist_tbl(i).old_mfg_serial_number_flag;
1769 p_inst_hist_rec_tab.new_mfg_serial_number_flag(i) := p_inst_hist_tbl(i).new_mfg_serial_number_flag;
1770 p_inst_hist_rec_tab.old_lot_number(i) := p_inst_hist_tbl(i).old_lot_number;
1771 p_inst_hist_rec_tab.new_lot_number(i) := p_inst_hist_tbl(i).new_lot_number;
1772 p_inst_hist_rec_tab.old_quantity(i) := p_inst_hist_tbl(i).old_quantity;
1773 p_inst_hist_rec_tab.new_quantity(i) := p_inst_hist_tbl(i).new_quantity;
1774 p_inst_hist_rec_tab.old_unit_of_measure_name(i) := p_inst_hist_tbl(i).old_unit_of_measure_name;
1775 p_inst_hist_rec_tab.new_unit_of_measure_name(i) := p_inst_hist_tbl(i).new_unit_of_measure_name;
1776 p_inst_hist_rec_tab.old_unit_of_measure(i) := p_inst_hist_tbl(i).old_unit_of_measure;
1777 p_inst_hist_rec_tab.new_unit_of_measure(i) := p_inst_hist_tbl(i).new_unit_of_measure;
1778 p_inst_hist_rec_tab.old_accounting_class(i) := p_inst_hist_tbl(i).old_accounting_class;
1779 p_inst_hist_rec_tab.new_accounting_class(i) := p_inst_hist_tbl(i).new_accounting_class;
1780 p_inst_hist_rec_tab.old_accounting_class_code(i) := p_inst_hist_tbl(i).old_accounting_class_code;
1781 p_inst_hist_rec_tab.new_accounting_class_code(i) := p_inst_hist_tbl(i).new_accounting_class_code;
1782 p_inst_hist_rec_tab.old_instance_condition(i) := p_inst_hist_tbl(i).old_instance_condition;
1783 p_inst_hist_rec_tab.new_instance_condition(i) := p_inst_hist_tbl(i).new_instance_condition;
1784 p_inst_hist_rec_tab.old_instance_condition_id(i) := p_inst_hist_tbl(i).old_instance_condition_id;
1785 p_inst_hist_rec_tab.new_instance_condition_id(i) := p_inst_hist_tbl(i).new_instance_condition_id;
1786 p_inst_hist_rec_tab.old_instance_status(i) := p_inst_hist_tbl(i).old_instance_status;
1787 p_inst_hist_rec_tab.new_instance_status(i) := p_inst_hist_tbl(i).new_instance_status;
1788 p_inst_hist_rec_tab.old_instance_status_id(i) := p_inst_hist_tbl(i).old_instance_status_id;
1789 p_inst_hist_rec_tab.new_instance_status_id(i) := p_inst_hist_tbl(i).new_instance_status_id;
1790 p_inst_hist_rec_tab.old_customer_view_flag(i) := p_inst_hist_tbl(i).old_customer_view_flag;
1791 p_inst_hist_rec_tab.new_customer_view_flag(i) := p_inst_hist_tbl(i).new_customer_view_flag;
1792 p_inst_hist_rec_tab.old_merchant_view_flag(i) := p_inst_hist_tbl(i).old_merchant_view_flag;
1793 p_inst_hist_rec_tab.new_merchant_view_flag(i) := p_inst_hist_tbl(i).new_merchant_view_flag;
1794 p_inst_hist_rec_tab.old_sellable_flag(i) := p_inst_hist_tbl(i).old_sellable_flag;
1795 p_inst_hist_rec_tab.new_sellable_flag(i) := p_inst_hist_tbl(i).new_sellable_flag;
1796 p_inst_hist_rec_tab.old_system_id(i) := p_inst_hist_tbl(i).old_system_id;
1797 p_inst_hist_rec_tab.new_system_id(i) := p_inst_hist_tbl(i).new_system_id;
1798 p_inst_hist_rec_tab.old_system_name(i) := p_inst_hist_tbl(i).old_system_name;
1799 p_inst_hist_rec_tab.new_system_name(i) := p_inst_hist_tbl(i).new_system_name;
1800 p_inst_hist_rec_tab.old_instance_type_code(i) := p_inst_hist_tbl(i).old_instance_type_code;
1801 p_inst_hist_rec_tab.new_instance_type_code(i) := p_inst_hist_tbl(i).new_instance_type_code;
1802 p_inst_hist_rec_tab.old_instance_type_name(i) := p_inst_hist_tbl(i).old_instance_type_name;
1803 p_inst_hist_rec_tab.new_instance_type_name(i) := p_inst_hist_tbl(i).new_instance_type_name;
1804 p_inst_hist_rec_tab.old_active_start_date(i) := p_inst_hist_tbl(i).old_active_start_date;
1805 p_inst_hist_rec_tab.new_active_start_date(i) := p_inst_hist_tbl(i).new_active_start_date;
1806 p_inst_hist_rec_tab.old_active_end_date(i) := p_inst_hist_tbl(i).old_active_end_date;
1807 p_inst_hist_rec_tab.new_active_end_date(i) := p_inst_hist_tbl(i).new_active_end_date;
1808 p_inst_hist_rec_tab.old_location_type_code(i) := p_inst_hist_tbl(i).old_location_type_code;
1809 p_inst_hist_rec_tab.new_location_type_code(i) := p_inst_hist_tbl(i).new_location_type_code;
1810 p_inst_hist_rec_tab.old_location_id(i) := p_inst_hist_tbl(i).old_location_id;
1811 p_inst_hist_rec_tab.new_location_id(i) := p_inst_hist_tbl(i).new_location_id;
1812 p_inst_hist_rec_tab.old_inv_organization_id(i) := p_inst_hist_tbl(i).old_inv_organization_id;
1813 p_inst_hist_rec_tab.new_inv_organization_id(i) := p_inst_hist_tbl(i).new_inv_organization_id;
1814 p_inst_hist_rec_tab.old_inv_organization_name(i) := p_inst_hist_tbl(i).old_inv_organization_name;
1815 p_inst_hist_rec_tab.new_inv_organization_name(i) := p_inst_hist_tbl(i).new_inv_organization_name;
1816 p_inst_hist_rec_tab.old_inv_subinventory_name(i) := p_inst_hist_tbl(i).old_inv_subinventory_name;
1817 p_inst_hist_rec_tab.new_inv_subinventory_name(i) := p_inst_hist_tbl(i).new_inv_subinventory_name;
1818 p_inst_hist_rec_tab.old_inv_locator_id(i) := p_inst_hist_tbl(i).old_inv_locator_id;
1819 p_inst_hist_rec_tab.new_inv_locator_id(i) := p_inst_hist_tbl(i).new_inv_locator_id;
1820 p_inst_hist_rec_tab.old_pa_project_id(i) := p_inst_hist_tbl(i).old_pa_project_id;
1821 p_inst_hist_rec_tab.new_pa_project_id(i) := p_inst_hist_tbl(i).new_pa_project_id;
1822 p_inst_hist_rec_tab.old_pa_project_task_id(i) := p_inst_hist_tbl(i).old_pa_project_task_id;
1823 p_inst_hist_rec_tab.new_pa_project_task_id(i) := p_inst_hist_tbl(i).new_pa_project_task_id;
1824 p_inst_hist_rec_tab.old_pa_project_name(i) := p_inst_hist_tbl(i).old_pa_project_name;
1825 p_inst_hist_rec_tab.new_pa_project_name(i) := p_inst_hist_tbl(i).new_pa_project_name;
1826 p_inst_hist_rec_tab.old_pa_project_number(i) := p_inst_hist_tbl(i).old_pa_project_number;
1827 p_inst_hist_rec_tab.new_pa_project_number(i) := p_inst_hist_tbl(i).new_pa_project_number;
1828 p_inst_hist_rec_tab.old_pa_task_name(i) := p_inst_hist_tbl(i).old_pa_task_name;
1829 p_inst_hist_rec_tab.new_pa_task_name(i) := p_inst_hist_tbl(i).new_pa_task_name;
1830 p_inst_hist_rec_tab.old_pa_task_number(i) := p_inst_hist_tbl(i).old_pa_task_number;
1831 p_inst_hist_rec_tab.new_pa_task_number(i) := p_inst_hist_tbl(i).new_pa_task_number;
1832 p_inst_hist_rec_tab.old_in_transit_order_line_id(i) := p_inst_hist_tbl(i).old_in_transit_order_line_id;
1833 p_inst_hist_rec_tab.new_in_transit_order_line_id(i) := p_inst_hist_tbl(i).new_in_transit_order_line_id;
1834 p_inst_hist_rec_tab.old_in_transit_order_line_num(i) := p_inst_hist_tbl(i).old_in_transit_order_line_num;
1835 p_inst_hist_rec_tab.new_in_transit_order_line_num(i) := p_inst_hist_tbl(i).new_in_transit_order_line_num;
1836 p_inst_hist_rec_tab.old_in_transit_order_number(i) := p_inst_hist_tbl(i).old_in_transit_order_number;
1837 p_inst_hist_rec_tab.new_in_transit_order_number(i) := p_inst_hist_tbl(i).new_in_transit_order_number;
1838 p_inst_hist_rec_tab.old_wip_job_id(i) := p_inst_hist_tbl(i).old_wip_job_id;
1839 p_inst_hist_rec_tab.new_wip_job_id(i) := p_inst_hist_tbl(i).new_wip_job_id;
1840 p_inst_hist_rec_tab.old_wip_entity_name(i) := p_inst_hist_tbl(i).old_wip_entity_name;
1841 p_inst_hist_rec_tab.new_wip_entity_name(i) := p_inst_hist_tbl(i).new_wip_entity_name;
1842 p_inst_hist_rec_tab.old_po_order_line_id(i) := p_inst_hist_tbl(i).old_po_order_line_id;
1843 p_inst_hist_rec_tab.new_po_order_line_id(i) := p_inst_hist_tbl(i).new_po_order_line_id;
1844 p_inst_hist_rec_tab.old_last_oe_order_line_id(i) := p_inst_hist_tbl(i).old_last_oe_order_line_id;
1845 p_inst_hist_rec_tab.new_last_oe_order_line_id(i) := p_inst_hist_tbl(i).new_last_oe_order_line_id;
1846 p_inst_hist_rec_tab.old_last_oe_rma_line_id(i) := p_inst_hist_tbl(i).old_last_oe_rma_line_id;
1847 p_inst_hist_rec_tab.new_last_oe_rma_line_id(i) := p_inst_hist_tbl(i).new_last_oe_rma_line_id;
1848 p_inst_hist_rec_tab.old_last_po_po_line_id(i) := p_inst_hist_tbl(i).old_last_po_po_line_id;
1849 p_inst_hist_rec_tab.new_last_po_po_line_id(i) := p_inst_hist_tbl(i).new_last_po_po_line_id;
1850 p_inst_hist_rec_tab.old_last_oe_po_number(i) := p_inst_hist_tbl(i).old_last_oe_po_number;
1851 p_inst_hist_rec_tab.new_last_oe_po_number(i) := p_inst_hist_tbl(i).new_last_oe_po_number;
1852 p_inst_hist_rec_tab.old_last_wip_job_id(i) := p_inst_hist_tbl(i).old_last_wip_job_id;
1853 p_inst_hist_rec_tab.new_last_wip_job_id(i) := p_inst_hist_tbl(i).new_last_wip_job_id;
1854 p_inst_hist_rec_tab.old_last_pa_project_id(i) := p_inst_hist_tbl(i).old_last_pa_project_id;
1855 p_inst_hist_rec_tab.new_last_pa_project_id(i) := p_inst_hist_tbl(i).new_last_pa_project_id;
1856 p_inst_hist_rec_tab.old_last_pa_task_id(i) := p_inst_hist_tbl(i).old_last_pa_task_id;
1857 p_inst_hist_rec_tab.new_last_pa_task_id(i) := p_inst_hist_tbl(i).new_last_pa_task_id;
1858 p_inst_hist_rec_tab.old_last_oe_agreement_id(i) := p_inst_hist_tbl(i).old_last_oe_agreement_id;
1859 p_inst_hist_rec_tab.new_last_oe_agreement_id(i) := p_inst_hist_tbl(i).new_last_oe_agreement_id;
1860 p_inst_hist_rec_tab.old_install_date(i) := p_inst_hist_tbl(i).old_install_date;
1861 p_inst_hist_rec_tab.new_install_date(i) := p_inst_hist_tbl(i).new_install_date;
1862 p_inst_hist_rec_tab.old_manually_created_flag(i) := p_inst_hist_tbl(i).old_manually_created_flag;
1863 p_inst_hist_rec_tab.new_manually_created_flag(i) := p_inst_hist_tbl(i).new_manually_created_flag;
1864 p_inst_hist_rec_tab.old_return_by_date(i) := p_inst_hist_tbl(i).old_return_by_date;
1865 p_inst_hist_rec_tab.new_return_by_date(i) := p_inst_hist_tbl(i).new_return_by_date;
1866 p_inst_hist_rec_tab.old_actual_return_date(i) := p_inst_hist_tbl(i).old_actual_return_date;
1867 p_inst_hist_rec_tab.new_actual_return_date(i) := p_inst_hist_tbl(i).new_actual_return_date;
1868 p_inst_hist_rec_tab.old_creation_complete_flag(i) := p_inst_hist_tbl(i).old_creation_complete_flag;
1869 p_inst_hist_rec_tab.new_creation_complete_flag(i) := p_inst_hist_tbl(i).new_creation_complete_flag;
1870 p_inst_hist_rec_tab.old_completeness_flag(i) := p_inst_hist_tbl(i).old_completeness_flag;
1871 p_inst_hist_rec_tab.new_completeness_flag(i) := p_inst_hist_tbl(i).new_completeness_flag;
1872 p_inst_hist_rec_tab.old_context(i) := p_inst_hist_tbl(i).old_context;
1873 p_inst_hist_rec_tab.new_context(i) := p_inst_hist_tbl(i).new_context;
1874 p_inst_hist_rec_tab.old_attribute1(i) := p_inst_hist_tbl(i).old_attribute1;
1875 p_inst_hist_rec_tab.new_attribute1(i) := p_inst_hist_tbl(i).new_attribute1;
1876 p_inst_hist_rec_tab.old_attribute2(i) := p_inst_hist_tbl(i).old_attribute2;
1877 p_inst_hist_rec_tab.new_attribute2(i) := p_inst_hist_tbl(i).new_attribute2;
1878 p_inst_hist_rec_tab.old_attribute3(i) := p_inst_hist_tbl(i).old_attribute3;
1879 p_inst_hist_rec_tab.new_attribute3(i) := p_inst_hist_tbl(i).new_attribute3;
1880 p_inst_hist_rec_tab.old_attribute4(i) := p_inst_hist_tbl(i).old_attribute4;
1881 p_inst_hist_rec_tab.new_attribute4(i) := p_inst_hist_tbl(i).new_attribute4;
1882 p_inst_hist_rec_tab.old_attribute5(i) := p_inst_hist_tbl(i).old_attribute5;
1883 p_inst_hist_rec_tab.new_attribute5(i) := p_inst_hist_tbl(i).new_attribute5;
1884 p_inst_hist_rec_tab.old_attribute6(i) := p_inst_hist_tbl(i).old_attribute6;
1885 p_inst_hist_rec_tab.new_attribute6(i) := p_inst_hist_tbl(i).new_attribute6;
1886 p_inst_hist_rec_tab.old_attribute7(i) := p_inst_hist_tbl(i).old_attribute7;
1887 p_inst_hist_rec_tab.new_attribute7(i) := p_inst_hist_tbl(i).new_attribute7;
1888 p_inst_hist_rec_tab.old_attribute8(i) := p_inst_hist_tbl(i).old_attribute8;
1889 p_inst_hist_rec_tab.new_attribute8(i) := p_inst_hist_tbl(i).new_attribute8;
1890 p_inst_hist_rec_tab.old_attribute9(i) := p_inst_hist_tbl(i).old_attribute9;
1891 p_inst_hist_rec_tab.new_attribute9(i) := p_inst_hist_tbl(i).new_attribute9;
1892 p_inst_hist_rec_tab.old_attribute10(i) := p_inst_hist_tbl(i).old_attribute10;
1893 p_inst_hist_rec_tab.new_attribute10(i) := p_inst_hist_tbl(i).new_attribute10;
1894 p_inst_hist_rec_tab.old_attribute11(i) := p_inst_hist_tbl(i).old_attribute11;
1895 p_inst_hist_rec_tab.new_attribute11(i) := p_inst_hist_tbl(i).new_attribute11;
1896 p_inst_hist_rec_tab.old_attribute12(i) := p_inst_hist_tbl(i).old_attribute12;
1897 p_inst_hist_rec_tab.new_attribute12(i) := p_inst_hist_tbl(i).new_attribute12;
1898 p_inst_hist_rec_tab.old_attribute13(i) := p_inst_hist_tbl(i).old_attribute13;
1899 p_inst_hist_rec_tab.new_attribute13(i) := p_inst_hist_tbl(i).new_attribute13;
1900 p_inst_hist_rec_tab.old_attribute14(i) := p_inst_hist_tbl(i).old_attribute14;
1901 p_inst_hist_rec_tab.new_attribute14(i) := p_inst_hist_tbl(i).new_attribute14;
1902 p_inst_hist_rec_tab.old_attribute15(i) := p_inst_hist_tbl(i).old_attribute15;
1903 p_inst_hist_rec_tab.new_attribute15(i) := p_inst_hist_tbl(i).new_attribute15;
1904 p_inst_hist_rec_tab.old_last_txn_line_detail_id(i) := p_inst_hist_tbl(i).old_last_txn_line_detail_id;
1905 p_inst_hist_rec_tab.new_last_txn_line_detail_id(i) := p_inst_hist_tbl(i).new_last_txn_line_detail_id;
1906 p_inst_hist_rec_tab.old_install_location_type_code(i) := p_inst_hist_tbl(i).old_install_location_type_code;
1907 p_inst_hist_rec_tab.new_install_location_type_code(i) := p_inst_hist_tbl(i).new_install_location_type_code;
1908 p_inst_hist_rec_tab.old_install_location_id(i) := p_inst_hist_tbl(i).old_install_location_id;
1909 p_inst_hist_rec_tab.new_install_location_id(i) := p_inst_hist_tbl(i).new_install_location_id;
1910 p_inst_hist_rec_tab.old_instance_usage_code(i) := p_inst_hist_tbl(i).old_instance_usage_code;
1911 p_inst_hist_rec_tab.new_instance_usage_code(i) := p_inst_hist_tbl(i).new_instance_usage_code;
1912 p_inst_hist_rec_tab.old_current_loc_address1(i) := p_inst_hist_tbl(i).old_current_loc_address1;
1913 p_inst_hist_rec_tab.new_current_loc_address1(i) := p_inst_hist_tbl(i).new_current_loc_address1;
1914 p_inst_hist_rec_tab.old_current_loc_address2(i) := p_inst_hist_tbl(i).old_current_loc_address2;
1915 p_inst_hist_rec_tab.new_current_loc_address2(i) := p_inst_hist_tbl(i).new_current_loc_address2;
1916 p_inst_hist_rec_tab.old_current_loc_address3(i) := p_inst_hist_tbl(i).old_current_loc_address3;
1917 p_inst_hist_rec_tab.new_current_loc_address3(i) := p_inst_hist_tbl(i).new_current_loc_address3;
1918 p_inst_hist_rec_tab.old_current_loc_address4(i) := p_inst_hist_tbl(i).old_current_loc_address4;
1919 p_inst_hist_rec_tab.new_current_loc_address4(i) := p_inst_hist_tbl(i).new_current_loc_address4;
1920 p_inst_hist_rec_tab.old_current_loc_city(i) := p_inst_hist_tbl(i).old_current_loc_city;
1921 p_inst_hist_rec_tab.new_current_loc_city(i) := p_inst_hist_tbl(i).new_current_loc_city;
1922 p_inst_hist_rec_tab.old_current_loc_postal_code(i) := p_inst_hist_tbl(i).old_current_loc_postal_code;
1923 p_inst_hist_rec_tab.new_current_loc_postal_code(i) := p_inst_hist_tbl(i).new_current_loc_postal_code;
1924 p_inst_hist_rec_tab.old_current_loc_country(i) := p_inst_hist_tbl(i).old_current_loc_country;
1925 p_inst_hist_rec_tab.new_current_loc_country(i) := p_inst_hist_tbl(i).new_current_loc_country;
1926 p_inst_hist_rec_tab.old_sales_order_number(i) := p_inst_hist_tbl(i).old_sales_order_number;
1927 p_inst_hist_rec_tab.new_sales_order_number(i) := p_inst_hist_tbl(i).new_sales_order_number;
1928 p_inst_hist_rec_tab.old_sales_order_line_number(i) := p_inst_hist_tbl(i).old_sales_order_line_number;
1929 p_inst_hist_rec_tab.new_sales_order_line_number(i) := p_inst_hist_tbl(i).new_sales_order_line_number;
1930 p_inst_hist_rec_tab.old_sales_order_date(i) := p_inst_hist_tbl(i).old_sales_order_date;
1931 p_inst_hist_rec_tab.new_sales_order_date(i) := p_inst_hist_tbl(i).new_sales_order_date;
1932 p_inst_hist_rec_tab.old_purchase_order_number(i) := p_inst_hist_tbl(i).old_purchase_order_number;
1933 p_inst_hist_rec_tab.new_purchase_order_number(i) := p_inst_hist_tbl(i).new_purchase_order_number;
1934 p_inst_hist_rec_tab.old_instance_usage_name(i) := p_inst_hist_tbl(i).old_instance_usage_name;
1935 p_inst_hist_rec_tab.new_instance_usage_name(i) := p_inst_hist_tbl(i).new_instance_usage_name;
1936 p_inst_hist_rec_tab.old_current_loc_state(i) := p_inst_hist_tbl(i).old_current_loc_state;
1937 p_inst_hist_rec_tab.new_current_loc_state(i) := p_inst_hist_tbl(i).new_current_loc_state;
1938 p_inst_hist_rec_tab.old_install_loc_address1(i) := p_inst_hist_tbl(i).old_install_loc_address1;
1939 p_inst_hist_rec_tab.new_install_loc_address1(i) := p_inst_hist_tbl(i).new_install_loc_address1;
1940 p_inst_hist_rec_tab.old_install_loc_address2(i) := p_inst_hist_tbl(i).old_install_loc_address2;
1941 p_inst_hist_rec_tab.new_install_loc_address2(i) := p_inst_hist_tbl(i).new_install_loc_address2;
1942 p_inst_hist_rec_tab.old_install_loc_address3(i) := p_inst_hist_tbl(i).old_install_loc_address3;
1943 p_inst_hist_rec_tab.new_install_loc_address3(i) := p_inst_hist_tbl(i).new_install_loc_address3;
1944 p_inst_hist_rec_tab.old_install_loc_address4(i) := p_inst_hist_tbl(i).old_install_loc_address4;
1945 p_inst_hist_rec_tab.new_install_loc_address4(i) := p_inst_hist_tbl(i).new_install_loc_address4;
1946 p_inst_hist_rec_tab.old_install_loc_city(i) := p_inst_hist_tbl(i).old_install_loc_city;
1947 p_inst_hist_rec_tab.new_install_loc_city(i) := p_inst_hist_tbl(i).new_install_loc_city;
1948 p_inst_hist_rec_tab.old_install_loc_state(i) := p_inst_hist_tbl(i).old_install_loc_state;
1949 p_inst_hist_rec_tab.new_install_loc_state(i) := p_inst_hist_tbl(i).new_install_loc_state;
1950 p_inst_hist_rec_tab.old_install_loc_postal_code(i) := p_inst_hist_tbl(i).old_install_loc_postal_code;
1951 p_inst_hist_rec_tab.new_install_loc_postal_code(i) := p_inst_hist_tbl(i).new_install_loc_postal_code;
1952 p_inst_hist_rec_tab.old_install_loc_country(i) := p_inst_hist_tbl(i).old_install_loc_country;
1953 p_inst_hist_rec_tab.new_install_loc_country(i) := p_inst_hist_tbl(i).new_install_loc_country;
1954 p_inst_hist_rec_tab.old_config_inst_rev_num(i) := p_inst_hist_tbl(i).old_config_inst_rev_num;
1955 p_inst_hist_rec_tab.new_config_inst_rev_num(i) := p_inst_hist_tbl(i).new_config_inst_rev_num;
1956 p_inst_hist_rec_tab.old_config_valid_status(i) := p_inst_hist_tbl(i).old_config_valid_status;
1957 p_inst_hist_rec_tab.new_config_valid_status(i) := p_inst_hist_tbl(i).new_config_valid_status;
1958 p_inst_hist_rec_tab.old_instance_description(i) := p_inst_hist_tbl(i).old_instance_description;
1959 p_inst_hist_rec_tab.new_instance_description(i) := p_inst_hist_tbl(i).new_instance_description;
1960 p_inst_hist_rec_tab.instance_history_id(i) := p_inst_hist_tbl(i).instance_history_id;
1961 p_inst_hist_rec_tab.transaction_id(i) := p_inst_hist_tbl(i).transaction_id;
1962 p_inst_hist_rec_tab.old_last_vld_organization_id(i) := p_inst_hist_tbl(i).old_last_vld_organization_id;
1963 p_inst_hist_rec_tab.new_last_vld_organization_id(i) := p_inst_hist_tbl(i).new_last_vld_organization_id;
1964
1965 p_inst_hist_rec_tab.old_network_asset_flag(i) := p_inst_hist_tbl(i).old_network_asset_flag;
1966 p_inst_hist_rec_tab.new_network_asset_flag(i) := p_inst_hist_tbl(i).new_network_asset_flag;
1967 p_inst_hist_rec_tab.old_maintainable_flag(i) := p_inst_hist_tbl(i).old_maintainable_flag;
1968 p_inst_hist_rec_tab.new_maintainable_flag(i) := p_inst_hist_tbl(i).new_maintainable_flag;
1969 p_inst_hist_rec_tab.old_asset_criticality_code(i) := p_inst_hist_tbl(i).old_asset_criticality_code;
1970 p_inst_hist_rec_tab.new_asset_criticality_code(i) := p_inst_hist_tbl(i).new_asset_criticality_code;
1971 p_inst_hist_rec_tab.old_category_id(i) := p_inst_hist_tbl(i).old_category_id ;
1972 p_inst_hist_rec_tab.new_category_id(i) := p_inst_hist_tbl(i).new_category_id ;
1973 p_inst_hist_rec_tab.old_equipment_gen_object_id(i) := p_inst_hist_tbl(i).old_equipment_gen_object_id ;
1974 p_inst_hist_rec_tab.new_equipment_gen_object_id(i) := p_inst_hist_tbl(i).new_equipment_gen_object_id ;
1975 p_inst_hist_rec_tab.old_instantiation_flag(i) := p_inst_hist_tbl(i).old_instantiation_flag;
1976 p_inst_hist_rec_tab.new_instantiation_flag(i) := p_inst_hist_tbl(i).new_instantiation_flag;
1977 p_inst_hist_rec_tab.old_operational_log_flag(i) := p_inst_hist_tbl(i).old_operational_log_flag ;
1978 p_inst_hist_rec_tab.new_operational_log_flag(i) := p_inst_hist_tbl(i).new_operational_log_flag ;
1979 p_inst_hist_rec_tab.old_supplier_warranty_exp_date(i) := p_inst_hist_tbl(i).old_supplier_warranty_exp_date ;
1980 p_inst_hist_rec_tab.new_supplier_warranty_exp_date(i) := p_inst_hist_tbl(i).new_supplier_warranty_exp_date ;
1981 p_inst_hist_rec_tab.old_attribute16(i) := p_inst_hist_tbl(i).old_attribute16 ;
1982 p_inst_hist_rec_tab.new_attribute16(i) := p_inst_hist_tbl(i).new_attribute16 ;
1983 p_inst_hist_rec_tab.old_attribute17(i) := p_inst_hist_tbl(i).old_attribute17 ;
1984 p_inst_hist_rec_tab.new_attribute17(i) := p_inst_hist_tbl(i).new_attribute17 ;
1985 p_inst_hist_rec_tab.old_attribute18(i) := p_inst_hist_tbl(i).old_attribute18 ;
1986 p_inst_hist_rec_tab.new_attribute18(i) := p_inst_hist_tbl(i).new_attribute18 ;
1987 p_inst_hist_rec_tab.old_attribute19(i) := p_inst_hist_tbl(i).old_attribute19 ;
1988 p_inst_hist_rec_tab.new_attribute19(i) := p_inst_hist_tbl(i).new_attribute19 ;
1989 p_inst_hist_rec_tab.old_attribute20(i) := p_inst_hist_tbl(i).old_attribute20 ;
1990 p_inst_hist_rec_tab.new_attribute20(i) := p_inst_hist_tbl(i).new_attribute20 ;
1991 p_inst_hist_rec_tab.old_attribute21(i) := p_inst_hist_tbl(i).old_attribute21 ;
1992 p_inst_hist_rec_tab.new_attribute21(i) := p_inst_hist_tbl(i).new_attribute21 ;
1993 p_inst_hist_rec_tab.old_attribute22(i) := p_inst_hist_tbl(i).old_attribute22 ;
1994 p_inst_hist_rec_tab.new_attribute22(i) := p_inst_hist_tbl(i).new_attribute22 ;
1995 p_inst_hist_rec_tab.old_attribute23(i) := p_inst_hist_tbl(i).old_attribute23 ;
1996 p_inst_hist_rec_tab.new_attribute23(i) := p_inst_hist_tbl(i).new_attribute23 ;
1997 p_inst_hist_rec_tab.old_attribute24(i) := p_inst_hist_tbl(i).old_attribute24 ;
1998 p_inst_hist_rec_tab.new_attribute24(i) := p_inst_hist_tbl(i).new_attribute24 ;
1999 p_inst_hist_rec_tab.old_attribute25(i) := p_inst_hist_tbl(i).old_attribute25 ;
2000 p_inst_hist_rec_tab.new_attribute25(i) := p_inst_hist_tbl(i).new_attribute25 ;
2001 p_inst_hist_rec_tab.old_attribute26(i) := p_inst_hist_tbl(i).old_attribute26 ;
2002 p_inst_hist_rec_tab.new_attribute26(i) := p_inst_hist_tbl(i).new_attribute26 ;
2003 p_inst_hist_rec_tab.old_attribute27(i) := p_inst_hist_tbl(i).old_attribute27 ;
2004 p_inst_hist_rec_tab.new_attribute27(i) := p_inst_hist_tbl(i).new_attribute27 ;
2005 p_inst_hist_rec_tab.old_attribute28(i) := p_inst_hist_tbl(i).old_attribute28 ;
2006 p_inst_hist_rec_tab.new_attribute28(i) := p_inst_hist_tbl(i).new_attribute28 ;
2007 p_inst_hist_rec_tab.old_attribute29(i) := p_inst_hist_tbl(i).old_attribute29 ;
2008 p_inst_hist_rec_tab.new_attribute29(i) := p_inst_hist_tbl(i).new_attribute29 ;
2009 p_inst_hist_rec_tab.old_attribute30(i) := p_inst_hist_tbl(i).old_attribute30 ;
2010 p_inst_hist_rec_tab.new_attribute30(i) := p_inst_hist_tbl(i).new_attribute30 ;
2011
2012 p_inst_hist_rec_tab.old_payables_currency_code(i) := p_inst_hist_tbl(i).old_payables_currency_code;
2013 p_inst_hist_rec_tab.new_payables_currency_code(i) := p_inst_hist_tbl(i).new_payables_currency_code;
2014 p_inst_hist_rec_tab.old_purchase_unit_price(i) := p_inst_hist_tbl(i).old_purchase_unit_price;
2015 p_inst_hist_rec_tab.new_purchase_unit_price(i) := p_inst_hist_tbl(i).new_purchase_unit_price;
2016 p_inst_hist_rec_tab.old_purchase_currency_code(i) := p_inst_hist_tbl(i).old_purchase_currency_code;
2017 p_inst_hist_rec_tab.new_purchase_currency_code(i) := p_inst_hist_tbl(i).new_purchase_currency_code;
2018 p_inst_hist_rec_tab.old_payables_unit_price(i) := p_inst_hist_tbl(i).old_payables_unit_price;
2019 p_inst_hist_rec_tab.new_payables_unit_price(i) := p_inst_hist_tbl(i).new_payables_unit_price;
2020 p_inst_hist_rec_tab.old_sales_unit_price(i) := p_inst_hist_tbl(i).old_sales_unit_price;
2021 p_inst_hist_rec_tab.new_sales_unit_price(i) := p_inst_hist_tbl(i).new_sales_unit_price;
2022 p_inst_hist_rec_tab.old_sales_currency_code(i) := p_inst_hist_tbl(i).old_sales_currency_code;
2023 p_inst_hist_rec_tab.new_sales_currency_code(i) := p_inst_hist_tbl(i).new_sales_currency_code;
2024 p_inst_hist_rec_tab.old_operational_status_code(i) := p_inst_hist_tbl(i).old_operational_status_code;
2025 p_inst_hist_rec_tab.new_operational_status_code(i) := p_inst_hist_tbl(i).new_operational_status_code;
2026
2027 END LOOP;
2028 END Build_Inst_Hist_Rec_of_Table;
2029 --
2030 PROCEDURE Build_Ver_Label_Rec_of_Table
2031 (
2032 p_version_label_tbl IN csi_datastructures_pub.version_label_tbl
2033 ,p_version_label_rec_tab IN OUT NOCOPY csi_item_instance_grp.version_label_rec_tab
2034 ) IS
2035 BEGIN
2036 FOR i in p_version_label_tbl.FIRST .. p_version_label_tbl.LAST LOOP
2037 p_version_label_rec_tab.version_label_id(i) := p_version_label_tbl(i).version_label_id;
2038 p_version_label_rec_tab.instance_id(i) := p_version_label_tbl(i).instance_id;
2039 p_version_label_rec_tab.version_label(i) := p_version_label_tbl(i).version_label;
2040 p_version_label_rec_tab.description(i) := p_version_label_tbl(i).description;
2041 p_version_label_rec_tab.date_time_stamp(i) := p_version_label_tbl(i).date_time_stamp;
2042 p_version_label_rec_tab.active_start_date(i) := p_version_label_tbl(i).active_start_date;
2043 p_version_label_rec_tab.active_end_date(i) := p_version_label_tbl(i).active_end_date;
2044 p_version_label_rec_tab.context(i) := p_version_label_tbl(i).context;
2045 p_version_label_rec_tab.attribute1(i) := p_version_label_tbl(i).attribute1;
2046 p_version_label_rec_tab.attribute2(i) := p_version_label_tbl(i).attribute2;
2047 p_version_label_rec_tab.attribute3(i) := p_version_label_tbl(i).attribute3;
2048 p_version_label_rec_tab.attribute4(i) := p_version_label_tbl(i).attribute4;
2049 p_version_label_rec_tab.attribute5(i) := p_version_label_tbl(i).attribute5;
2050 p_version_label_rec_tab.attribute6(i) := p_version_label_tbl(i).attribute6;
2051 p_version_label_rec_tab.attribute7(i) := p_version_label_tbl(i).attribute7;
2052 p_version_label_rec_tab.attribute8(i) := p_version_label_tbl(i).attribute8;
2053 p_version_label_rec_tab.attribute9(i) := p_version_label_tbl(i).attribute9;
2054 p_version_label_rec_tab.attribute10(i) := p_version_label_tbl(i).attribute10;
2055 p_version_label_rec_tab.attribute11(i) := p_version_label_tbl(i).attribute11;
2056 p_version_label_rec_tab.attribute12(i) := p_version_label_tbl(i).attribute12;
2057 p_version_label_rec_tab.attribute13(i) := p_version_label_tbl(i).attribute13;
2058 p_version_label_rec_tab.attribute14(i) := p_version_label_tbl(i).attribute14;
2059 p_version_label_rec_tab.attribute15(i) := p_version_label_tbl(i).attribute15;
2060 p_version_label_rec_tab.object_version_number(i) := p_version_label_tbl(i).object_version_number;
2061 END LOOP;
2062 END Build_Ver_Label_Rec_of_Table;
2063 --
2064 PROCEDURE Build_Ver_Lbl_Hist_Rec_Table
2065 (
2066 p_ver_label_hist_tbl IN csi_datastructures_pub.version_label_history_tbl
2067 ,p_ver_label_hist_rec_tab IN OUT NOCOPY csi_item_instance_grp.ver_label_history_rec_tab
2068 ) IS
2069 BEGIN
2070 FOR i in p_ver_label_hist_tbl.FIRST .. p_ver_label_hist_tbl.LAST LOOP
2071 p_ver_label_hist_rec_tab.VERSION_LABEL_HISTORY_ID(i):= p_ver_label_hist_tbl(i).VERSION_LABEL_HISTORY_ID;
2072 p_ver_label_hist_rec_tab.VERSION_LABEL_ID(i) := p_ver_label_hist_tbl(i).VERSION_LABEL_ID;
2073 p_ver_label_hist_rec_tab.TRANSACTION_ID(i) := p_ver_label_hist_tbl(i).TRANSACTION_ID;
2074 p_ver_label_hist_rec_tab.OLD_VERSION_LABEL(i) := p_ver_label_hist_tbl(i).OLD_VERSION_LABEL;
2075 p_ver_label_hist_rec_tab.NEW_VERSION_LABEL(i) := p_ver_label_hist_tbl(i).NEW_VERSION_LABEL;
2076 p_ver_label_hist_rec_tab.OLD_DESCRIPTION(i) := p_ver_label_hist_tbl(i).OLD_DESCRIPTION;
2077 p_ver_label_hist_rec_tab.NEW_DESCRIPTION(i) := p_ver_label_hist_tbl(i).NEW_DESCRIPTION;
2078 p_ver_label_hist_rec_tab.OLD_DATE_TIME_STAMP(i) := p_ver_label_hist_tbl(i).OLD_DATE_TIME_STAMP;
2079 p_ver_label_hist_rec_tab.NEW_DATE_TIME_STAMP(i) := p_ver_label_hist_tbl(i).NEW_DATE_TIME_STAMP;
2080 p_ver_label_hist_rec_tab.OLD_ACTIVE_START_DATE(i) := p_ver_label_hist_tbl(i).OLD_ACTIVE_START_DATE;
2081 p_ver_label_hist_rec_tab.NEW_ACTIVE_START_DATE(i) := p_ver_label_hist_tbl(i).NEW_ACTIVE_START_DATE;
2082 p_ver_label_hist_rec_tab.OLD_ACTIVE_END_DATE(i) := p_ver_label_hist_tbl(i).OLD_ACTIVE_END_DATE;
2083 p_ver_label_hist_rec_tab.NEW_ACTIVE_END_DATE(i) := p_ver_label_hist_tbl(i).NEW_ACTIVE_END_DATE;
2084 p_ver_label_hist_rec_tab.OLD_CONTEXT(i) := p_ver_label_hist_tbl(i).OLD_CONTEXT;
2085 p_ver_label_hist_rec_tab.NEW_CONTEXT(i) := p_ver_label_hist_tbl(i).NEW_CONTEXT;
2086 p_ver_label_hist_rec_tab.OLD_ATTRIBUTE1(i) := p_ver_label_hist_tbl(i).OLD_ATTRIBUTE1;
2087 p_ver_label_hist_rec_tab.NEW_ATTRIBUTE1(i) := p_ver_label_hist_tbl(i).NEW_ATTRIBUTE1;
2088 p_ver_label_hist_rec_tab.OLD_ATTRIBUTE2(i) := p_ver_label_hist_tbl(i).OLD_ATTRIBUTE2;
2089 p_ver_label_hist_rec_tab.NEW_ATTRIBUTE2(i) := p_ver_label_hist_tbl(i).NEW_ATTRIBUTE2;
2090 p_ver_label_hist_rec_tab.OLD_ATTRIBUTE3(i) := p_ver_label_hist_tbl(i).OLD_ATTRIBUTE3;
2091 p_ver_label_hist_rec_tab.NEW_ATTRIBUTE3(i) := p_ver_label_hist_tbl(i).NEW_ATTRIBUTE3;
2092 p_ver_label_hist_rec_tab.OLD_ATTRIBUTE4(i) := p_ver_label_hist_tbl(i).OLD_ATTRIBUTE4;
2093 p_ver_label_hist_rec_tab.NEW_ATTRIBUTE4(i) := p_ver_label_hist_tbl(i).NEW_ATTRIBUTE4;
2094 p_ver_label_hist_rec_tab.OLD_ATTRIBUTE5(i) := p_ver_label_hist_tbl(i).OLD_ATTRIBUTE5;
2095 p_ver_label_hist_rec_tab.NEW_ATTRIBUTE5(i) := p_ver_label_hist_tbl(i).NEW_ATTRIBUTE5;
2096 p_ver_label_hist_rec_tab.OLD_ATTRIBUTE6(i) := p_ver_label_hist_tbl(i).OLD_ATTRIBUTE6;
2097 p_ver_label_hist_rec_tab.NEW_ATTRIBUTE6(i) := p_ver_label_hist_tbl(i).NEW_ATTRIBUTE6;
2098 p_ver_label_hist_rec_tab.OLD_ATTRIBUTE7(i) := p_ver_label_hist_tbl(i).OLD_ATTRIBUTE7;
2099 p_ver_label_hist_rec_tab.NEW_ATTRIBUTE7(i) := p_ver_label_hist_tbl(i).NEW_ATTRIBUTE7;
2100 p_ver_label_hist_rec_tab.OLD_ATTRIBUTE8(i) := p_ver_label_hist_tbl(i).OLD_ATTRIBUTE8;
2101 p_ver_label_hist_rec_tab.NEW_ATTRIBUTE8(i) := p_ver_label_hist_tbl(i).NEW_ATTRIBUTE8;
2102 p_ver_label_hist_rec_tab.OLD_ATTRIBUTE9(i) := p_ver_label_hist_tbl(i).OLD_ATTRIBUTE9;
2103 p_ver_label_hist_rec_tab.NEW_ATTRIBUTE9(i) := p_ver_label_hist_tbl(i).NEW_ATTRIBUTE9;
2104 p_ver_label_hist_rec_tab.OLD_ATTRIBUTE10(i) := p_ver_label_hist_tbl(i).OLD_ATTRIBUTE10;
2105 p_ver_label_hist_rec_tab.NEW_ATTRIBUTE10(i) := p_ver_label_hist_tbl(i).NEW_ATTRIBUTE10;
2106 p_ver_label_hist_rec_tab.OLD_ATTRIBUTE11(i) := p_ver_label_hist_tbl(i).OLD_ATTRIBUTE11;
2107 p_ver_label_hist_rec_tab.NEW_ATTRIBUTE11(i) := p_ver_label_hist_tbl(i).NEW_ATTRIBUTE11;
2108 p_ver_label_hist_rec_tab.OLD_ATTRIBUTE12(i) := p_ver_label_hist_tbl(i).OLD_ATTRIBUTE12;
2109 p_ver_label_hist_rec_tab.NEW_ATTRIBUTE12(i) := p_ver_label_hist_tbl(i).NEW_ATTRIBUTE12;
2110 p_ver_label_hist_rec_tab.OLD_ATTRIBUTE13(i) := p_ver_label_hist_tbl(i).OLD_ATTRIBUTE13;
2111 p_ver_label_hist_rec_tab.NEW_ATTRIBUTE13(i) := p_ver_label_hist_tbl(i).NEW_ATTRIBUTE13;
2112 p_ver_label_hist_rec_tab.OLD_ATTRIBUTE14(i) := p_ver_label_hist_tbl(i).OLD_ATTRIBUTE14;
2113 p_ver_label_hist_rec_tab.NEW_ATTRIBUTE14(i) := p_ver_label_hist_tbl(i).NEW_ATTRIBUTE14;
2114 p_ver_label_hist_rec_tab.OLD_ATTRIBUTE15(i) := p_ver_label_hist_tbl(i).OLD_ATTRIBUTE15;
2115 p_ver_label_hist_rec_tab.NEW_ATTRIBUTE15(i) := p_ver_label_hist_tbl(i).NEW_ATTRIBUTE15;
2116 p_ver_label_hist_rec_tab.FULL_DUMP_FLAG(i) := p_ver_label_hist_tbl(i).FULL_DUMP_FLAG;
2117 p_ver_label_hist_rec_tab.OBJECT_VERSION_NUMBER(i) := p_ver_label_hist_tbl(i).OBJECT_VERSION_NUMBER;
2118 p_ver_label_hist_rec_tab.INSTANCE_ID(i) := p_ver_label_hist_tbl(i).INSTANCE_ID;
2119 END LOOP;
2120 END Build_Ver_Lbl_Hist_Rec_Table;
2121 --
2122 PROCEDURE Build_Party_Rec_of_Table
2123 ( p_party_tbl IN csi_datastructures_pub.party_tbl
2124 ,p_party_rec_tab IN OUT NOCOPY csi_item_instance_grp.party_rec_tab
2125 ) IS
2126 BEGIN
2127 FOR i in p_party_tbl.FIRST .. p_party_tbl.LAST LOOP
2128 p_party_rec_tab.instance_party_id(i) := p_party_tbl(i).instance_party_id;
2129 p_party_rec_tab.instance_id(i) := p_party_tbl(i).instance_id;
2130 p_party_rec_tab.party_source_table(i) := p_party_tbl(i).party_source_table;
2131 p_party_rec_tab.party_id(i) := p_party_tbl(i).party_id;
2132 p_party_rec_tab.relationship_type_code(i) := p_party_tbl(i).relationship_type_code;
2133 p_party_rec_tab.contact_flag(i) := p_party_tbl(i).contact_flag;
2134 p_party_rec_tab.contact_ip_id(i) := p_party_tbl(i).contact_ip_id;
2135 p_party_rec_tab.active_start_date(i) := p_party_tbl(i).active_start_date;
2136 p_party_rec_tab.active_end_date(i) := p_party_tbl(i).active_end_date;
2137 p_party_rec_tab.context(i) := p_party_tbl(i).context;
2138 p_party_rec_tab.attribute1(i) := p_party_tbl(i).attribute1;
2139 p_party_rec_tab.attribute2(i) := p_party_tbl(i).attribute2;
2140 p_party_rec_tab.attribute3(i) := p_party_tbl(i).attribute3;
2141 p_party_rec_tab.attribute4(i) := p_party_tbl(i).attribute4;
2142 p_party_rec_tab.attribute5(i) := p_party_tbl(i).attribute5;
2143 p_party_rec_tab.attribute6(i) := p_party_tbl(i).attribute6;
2144 p_party_rec_tab.attribute7(i) := p_party_tbl(i).attribute7;
2145 p_party_rec_tab.attribute8(i) := p_party_tbl(i).attribute8;
2146 p_party_rec_tab.attribute9(i) := p_party_tbl(i).attribute9;
2147 p_party_rec_tab.attribute10(i) := p_party_tbl(i).attribute10;
2148 p_party_rec_tab.attribute11(i) := p_party_tbl(i).attribute11;
2149 p_party_rec_tab.attribute12(i) := p_party_tbl(i).attribute12;
2150 p_party_rec_tab.attribute13(i) := p_party_tbl(i).attribute13;
2151 p_party_rec_tab.attribute14(i) := p_party_tbl(i).attribute14;
2152 p_party_rec_tab.attribute15(i) := p_party_tbl(i).attribute15;
2153 p_party_rec_tab.object_version_number(i) := p_party_tbl(i).object_version_number;
2154 p_party_rec_tab.primary_flag(i) := p_party_tbl(i).primary_flag;
2155 p_party_rec_tab.preferred_flag(i) := p_party_tbl(i).preferred_flag;
2156 p_party_rec_tab.parent_tbl_index(i) := p_party_tbl(i).parent_tbl_index;
2157 p_party_rec_tab.call_contracts(i) := p_party_tbl(i).call_contracts;
2158 p_party_rec_tab.contact_parent_tbl_index(i) := p_party_tbl(i).contact_parent_tbl_index;
2159 END LOOP;
2160 END Build_Party_Rec_of_Table;
2161 --
2162 PROCEDURE Build_Party_Hist_Rec_of_Table
2163 ( p_party_hist_tbl IN csi_datastructures_pub.party_history_tbl
2164 ,p_party_hist_rec_tab IN OUT NOCOPY csi_item_instance_grp.party_history_rec_tab
2165 ) IS
2166 BEGIN
2167 FOR i in p_party_hist_tbl.FIRST .. p_party_hist_tbl.LAST LOOP
2168 p_party_hist_rec_tab.INSTANCE_PARTY_HISTORY_ID(i) := p_party_hist_tbl(i).INSTANCE_PARTY_HISTORY_ID;
2169 p_party_hist_rec_tab.INSTANCE_PARTY_ID(i) := p_party_hist_tbl(i).INSTANCE_PARTY_ID;
2170 p_party_hist_rec_tab.TRANSACTION_ID(i) := p_party_hist_tbl(i).TRANSACTION_ID;
2171 p_party_hist_rec_tab.OLD_PARTY_SOURCE_TABLE(i) := p_party_hist_tbl(i).OLD_PARTY_SOURCE_TABLE;
2172 p_party_hist_rec_tab.NEW_PARTY_SOURCE_TABLE(i) := p_party_hist_tbl(i).NEW_PARTY_SOURCE_TABLE;
2173 p_party_hist_rec_tab.OLD_PARTY_ID(i) := p_party_hist_tbl(i).OLD_PARTY_ID;
2174 p_party_hist_rec_tab.NEW_PARTY_ID(i) := p_party_hist_tbl(i).NEW_PARTY_ID;
2175 p_party_hist_rec_tab.OLD_RELATIONSHIP_TYPE_CODE(i) := p_party_hist_tbl(i).OLD_RELATIONSHIP_TYPE_CODE;
2176 p_party_hist_rec_tab.NEW_RELATIONSHIP_TYPE_CODE(i) := p_party_hist_tbl(i).NEW_RELATIONSHIP_TYPE_CODE;
2177 p_party_hist_rec_tab.OLD_CONTACT_FLAG(i) := p_party_hist_tbl(i).OLD_CONTACT_FLAG;
2178 p_party_hist_rec_tab.NEW_CONTACT_FLAG(i) := p_party_hist_tbl(i).NEW_CONTACT_FLAG;
2179 p_party_hist_rec_tab.OLD_CONTACT_IP_ID(i) := p_party_hist_tbl(i).OLD_CONTACT_IP_ID;
2180 p_party_hist_rec_tab.NEW_CONTACT_IP_ID(i) := p_party_hist_tbl(i).NEW_CONTACT_IP_ID;
2181 p_party_hist_rec_tab.OLD_ACTIVE_START_DATE(i) := p_party_hist_tbl(i).OLD_ACTIVE_START_DATE;
2182 p_party_hist_rec_tab.NEW_ACTIVE_START_DATE(i) := p_party_hist_tbl(i).NEW_ACTIVE_START_DATE;
2183 p_party_hist_rec_tab.OLD_ACTIVE_END_DATE(i) := p_party_hist_tbl(i).OLD_ACTIVE_END_DATE;
2184 p_party_hist_rec_tab.NEW_ACTIVE_END_DATE(i) := p_party_hist_tbl(i).NEW_ACTIVE_END_DATE;
2185 p_party_hist_rec_tab.OLD_CONTEXT(i) := p_party_hist_tbl(i).OLD_CONTEXT;
2186 p_party_hist_rec_tab.NEW_CONTEXT(i) := p_party_hist_tbl(i).NEW_CONTEXT;
2187 p_party_hist_rec_tab.OLD_ATTRIBUTE1(i) := p_party_hist_tbl(i).OLD_ATTRIBUTE1;
2188 p_party_hist_rec_tab.NEW_ATTRIBUTE1(i) := p_party_hist_tbl(i).NEW_ATTRIBUTE1;
2189 p_party_hist_rec_tab.OLD_ATTRIBUTE2(i) := p_party_hist_tbl(i).OLD_ATTRIBUTE2;
2190 p_party_hist_rec_tab.NEW_ATTRIBUTE2(i) := p_party_hist_tbl(i).NEW_ATTRIBUTE2;
2191 p_party_hist_rec_tab.OLD_ATTRIBUTE3(i) := p_party_hist_tbl(i).OLD_ATTRIBUTE3;
2192 p_party_hist_rec_tab.NEW_ATTRIBUTE3(i) := p_party_hist_tbl(i).NEW_ATTRIBUTE3;
2193 p_party_hist_rec_tab.OLD_ATTRIBUTE4(i) := p_party_hist_tbl(i).OLD_ATTRIBUTE4;
2194 p_party_hist_rec_tab.NEW_ATTRIBUTE4(i) := p_party_hist_tbl(i).NEW_ATTRIBUTE4;
2195 p_party_hist_rec_tab.OLD_ATTRIBUTE5(i) := p_party_hist_tbl(i).OLD_ATTRIBUTE5;
2196 p_party_hist_rec_tab.NEW_ATTRIBUTE5(i) := p_party_hist_tbl(i).NEW_ATTRIBUTE5;
2197 p_party_hist_rec_tab.OLD_ATTRIBUTE6(i) := p_party_hist_tbl(i).OLD_ATTRIBUTE6;
2198 p_party_hist_rec_tab.NEW_ATTRIBUTE6(i) := p_party_hist_tbl(i).NEW_ATTRIBUTE6;
2199 p_party_hist_rec_tab.OLD_ATTRIBUTE7(i) := p_party_hist_tbl(i).OLD_ATTRIBUTE7;
2200 p_party_hist_rec_tab.NEW_ATTRIBUTE7(i) := p_party_hist_tbl(i).NEW_ATTRIBUTE7;
2201 p_party_hist_rec_tab.OLD_ATTRIBUTE8(i) := p_party_hist_tbl(i).OLD_ATTRIBUTE8;
2202 p_party_hist_rec_tab.NEW_ATTRIBUTE8(i) := p_party_hist_tbl(i).NEW_ATTRIBUTE8;
2203 p_party_hist_rec_tab.OLD_ATTRIBUTE9(i) := p_party_hist_tbl(i).OLD_ATTRIBUTE9;
2204 p_party_hist_rec_tab.NEW_ATTRIBUTE9(i) := p_party_hist_tbl(i).NEW_ATTRIBUTE9;
2205 p_party_hist_rec_tab.OLD_ATTRIBUTE10(i) := p_party_hist_tbl(i).OLD_ATTRIBUTE10;
2206 p_party_hist_rec_tab.NEW_ATTRIBUTE10(i) := p_party_hist_tbl(i).NEW_ATTRIBUTE10;
2207 p_party_hist_rec_tab.OLD_ATTRIBUTE11(i) := p_party_hist_tbl(i).OLD_ATTRIBUTE11;
2208 p_party_hist_rec_tab.NEW_ATTRIBUTE11(i) := p_party_hist_tbl(i).NEW_ATTRIBUTE11;
2209 p_party_hist_rec_tab.OLD_ATTRIBUTE12(i) := p_party_hist_tbl(i).OLD_ATTRIBUTE12;
2210 p_party_hist_rec_tab.NEW_ATTRIBUTE12(i) := p_party_hist_tbl(i).NEW_ATTRIBUTE12;
2211 p_party_hist_rec_tab.OLD_ATTRIBUTE13(i) := p_party_hist_tbl(i).OLD_ATTRIBUTE13;
2212 p_party_hist_rec_tab.NEW_ATTRIBUTE13(i) := p_party_hist_tbl(i).NEW_ATTRIBUTE13;
2213 p_party_hist_rec_tab.OLD_ATTRIBUTE14(i) := p_party_hist_tbl(i).OLD_ATTRIBUTE14;
2214 p_party_hist_rec_tab.NEW_ATTRIBUTE14(i) := p_party_hist_tbl(i).NEW_ATTRIBUTE14;
2215 p_party_hist_rec_tab.OLD_ATTRIBUTE15(i) := p_party_hist_tbl(i).OLD_ATTRIBUTE15;
2216 p_party_hist_rec_tab.NEW_ATTRIBUTE15(i) := p_party_hist_tbl(i).NEW_ATTRIBUTE15;
2217 p_party_hist_rec_tab.FULL_DUMP_FLAG(i) := p_party_hist_tbl(i).FULL_DUMP_FLAG;
2218 p_party_hist_rec_tab.OBJECT_VERSION_NUMBER(i) := p_party_hist_tbl(i).OBJECT_VERSION_NUMBER;
2219 p_party_hist_rec_tab.OLD_PREFERRED_FLAG(i) := p_party_hist_tbl(i).OLD_PREFERRED_FLAG;
2220 p_party_hist_rec_tab.NEW_PREFERRED_FLAG(i) := p_party_hist_tbl(i).NEW_PREFERRED_FLAG;
2221 p_party_hist_rec_tab.OLD_PRIMARY_FLAG(i) := p_party_hist_tbl(i).OLD_PRIMARY_FLAG;
2222 p_party_hist_rec_tab.NEW_PRIMARY_FLAG(i) := p_party_hist_tbl(i).NEW_PRIMARY_FLAG;
2223 p_party_hist_rec_tab.old_party_number(i) := p_party_hist_tbl(i).old_party_number;
2224 p_party_hist_rec_tab.old_party_name(i) := p_party_hist_tbl(i).old_party_name;
2225 p_party_hist_rec_tab.old_party_type(i) := p_party_hist_tbl(i).old_party_type;
2226 p_party_hist_rec_tab.old_contact_party_number(i) := p_party_hist_tbl(i).old_contact_party_number;
2227 p_party_hist_rec_tab.old_contact_party_name(i) := p_party_hist_tbl(i).old_contact_party_name;
2228 p_party_hist_rec_tab.old_contact_party_type(i) := p_party_hist_tbl(i).old_contact_party_type;
2229 p_party_hist_rec_tab.old_contact_address1(i) := p_party_hist_tbl(i).old_contact_address1;
2230 p_party_hist_rec_tab.old_contact_address2(i) := p_party_hist_tbl(i).old_contact_address2;
2231 p_party_hist_rec_tab.old_contact_address3(i) := p_party_hist_tbl(i).old_contact_address3;
2232 p_party_hist_rec_tab.old_contact_address4(i) := p_party_hist_tbl(i).old_contact_address4;
2233 p_party_hist_rec_tab.old_contact_city(i) := p_party_hist_tbl(i).old_contact_city;
2234 p_party_hist_rec_tab.old_contact_state(i) := p_party_hist_tbl(i).old_contact_state;
2235 p_party_hist_rec_tab.old_contact_postal_code(i) := p_party_hist_tbl(i).old_contact_postal_code;
2236 p_party_hist_rec_tab.old_contact_country(i) := p_party_hist_tbl(i).old_contact_country;
2237 p_party_hist_rec_tab.old_contact_work_phone_num(i) := p_party_hist_tbl(i).old_contact_work_phone_num;
2238 p_party_hist_rec_tab.old_contact_email_address(i) := p_party_hist_tbl(i).old_contact_email_address;
2239 p_party_hist_rec_tab.new_party_number(i) := p_party_hist_tbl(i).new_party_number;
2240 p_party_hist_rec_tab.new_party_name(i) := p_party_hist_tbl(i).new_party_name;
2241 p_party_hist_rec_tab.new_party_type(i) := p_party_hist_tbl(i).new_party_type;
2242 p_party_hist_rec_tab.new_contact_party_number(i) := p_party_hist_tbl(i).new_contact_party_number;
2243 p_party_hist_rec_tab.new_contact_party_name(i) := p_party_hist_tbl(i).new_contact_party_name;
2244 p_party_hist_rec_tab.new_contact_party_type(i) := p_party_hist_tbl(i).new_contact_party_type;
2245 p_party_hist_rec_tab.new_contact_address1(i) := p_party_hist_tbl(i).new_contact_address1;
2246 p_party_hist_rec_tab.new_contact_address2(i) := p_party_hist_tbl(i).new_contact_address2;
2247 p_party_hist_rec_tab.new_contact_address3(i) := p_party_hist_tbl(i).new_contact_address3;
2248 p_party_hist_rec_tab.new_contact_address4(i) := p_party_hist_tbl(i).new_contact_address4;
2249 p_party_hist_rec_tab.new_contact_city(i) := p_party_hist_tbl(i).new_contact_city;
2250 p_party_hist_rec_tab.new_contact_state(i) := p_party_hist_tbl(i).new_contact_state;
2251 p_party_hist_rec_tab.new_contact_postal_code(i) := p_party_hist_tbl(i).new_contact_postal_code;
2252 p_party_hist_rec_tab.new_contact_country(i) := p_party_hist_tbl(i).new_contact_country;
2253 p_party_hist_rec_tab.new_contact_work_phone_num(i) := p_party_hist_tbl(i).new_contact_work_phone_num;
2254 p_party_hist_rec_tab.new_contact_email_address(i) := p_party_hist_tbl(i).new_contact_email_address;
2255 p_party_hist_rec_tab.INSTANCE_ID(i) := p_party_hist_tbl(i).INSTANCE_ID;
2256 END LOOP;
2257 END Build_Party_Hist_Rec_of_Table;
2258 --
2259 PROCEDURE Build_Acct_Rec_of_Table
2260 (
2261 p_account_tbl IN csi_datastructures_pub.party_account_tbl
2262 ,p_account_rec_tab IN OUT NOCOPY csi_item_instance_grp.account_rec_tab
2263 ) IS
2264 BEGIN
2265 FOR i in p_account_tbl.FIRST .. p_account_tbl.LAST LOOP
2266 p_account_rec_tab.ip_account_id(i) := p_account_tbl(i).ip_account_id;
2267 p_account_rec_tab.parent_tbl_index(i) := p_account_tbl(i).parent_tbl_index;
2268 p_account_rec_tab.instance_party_id(i) := p_account_tbl(i).instance_party_id;
2269 p_account_rec_tab.party_account_id(i) := p_account_tbl(i).party_account_id;
2270 p_account_rec_tab.relationship_type_code(i) := p_account_tbl(i).relationship_type_code;
2271 p_account_rec_tab.bill_to_address(i) := p_account_tbl(i).bill_to_address;
2272 p_account_rec_tab.ship_to_address(i) := p_account_tbl(i).ship_to_address;
2273 p_account_rec_tab.active_start_date(i) := p_account_tbl(i).active_start_date;
2274 p_account_rec_tab.active_end_date(i) := p_account_tbl(i).active_end_date;
2275 p_account_rec_tab.context(i) := p_account_tbl(i).context;
2276 p_account_rec_tab.attribute1(i) := p_account_tbl(i).attribute1;
2277 p_account_rec_tab.attribute2(i) := p_account_tbl(i).attribute2;
2278 p_account_rec_tab.attribute3(i) := p_account_tbl(i).attribute3;
2279 p_account_rec_tab.attribute4(i) := p_account_tbl(i).attribute4;
2280 p_account_rec_tab.attribute5(i) := p_account_tbl(i).attribute5;
2281 p_account_rec_tab.attribute6(i) := p_account_tbl(i).attribute6;
2282 p_account_rec_tab.attribute7(i) := p_account_tbl(i).attribute7;
2283 p_account_rec_tab.attribute8(i) := p_account_tbl(i).attribute8;
2284 p_account_rec_tab.attribute9(i) := p_account_tbl(i).attribute9;
2285 p_account_rec_tab.attribute10(i) := p_account_tbl(i).attribute10;
2286 p_account_rec_tab.attribute11(i) := p_account_tbl(i).attribute11;
2287 p_account_rec_tab.attribute12(i) := p_account_tbl(i).attribute12;
2288 p_account_rec_tab.attribute13(i) := p_account_tbl(i).attribute13;
2289 p_account_rec_tab.attribute14(i) := p_account_tbl(i).attribute14;
2290 p_account_rec_tab.attribute15(i) := p_account_tbl(i).attribute15;
2291 p_account_rec_tab.object_version_number(i) := p_account_tbl(i).object_version_number;
2292 p_account_rec_tab.call_contracts(i) := p_account_tbl(i).call_contracts;
2293 p_account_rec_tab.vld_organization_id(i) := p_account_tbl(i).vld_organization_id;
2294 p_account_rec_tab.expire_flag(i) := p_account_tbl(i).expire_flag;
2295 p_account_rec_tab.grp_call_contracts(i) := p_account_tbl(i).grp_call_contracts;
2296 END LOOP;
2297 END Build_Acct_Rec_of_Table;
2298 --
2299 PROCEDURE Build_Acct_Hist_Rec_of_Table
2300 (
2301 p_acct_hist_tbl IN csi_datastructures_pub.account_history_tbl
2302 ,p_acct_hist_rec_tab IN OUT NOCOPY csi_item_instance_grp.account_history_rec_tab
2303 ) IS
2304 BEGIN
2305 FOR i in p_acct_hist_tbl.FIRST .. p_acct_hist_tbl.LAST LOOP
2306 p_acct_hist_rec_tab.IP_ACCOUNT_HISTORY_ID(i) := p_acct_hist_tbl(i).IP_ACCOUNT_HISTORY_ID;
2307 p_acct_hist_rec_tab.IP_ACCOUNT_ID(i) := p_acct_hist_tbl(i).IP_ACCOUNT_ID;
2308 p_acct_hist_rec_tab.TRANSACTION_ID(i) := p_acct_hist_tbl(i).TRANSACTION_ID;
2309 p_acct_hist_rec_tab.OLD_PARTY_ACCOUNT_ID(i) := p_acct_hist_tbl(i).OLD_PARTY_ACCOUNT_ID;
2310 p_acct_hist_rec_tab.NEW_PARTY_ACCOUNT_ID(i) := p_acct_hist_tbl(i).NEW_PARTY_ACCOUNT_ID;
2311 p_acct_hist_rec_tab.OLD_RELATIONSHIP_TYPE_CODE(i) := p_acct_hist_tbl(i).OLD_RELATIONSHIP_TYPE_CODE;
2312 p_acct_hist_rec_tab.NEW_RELATIONSHIP_TYPE_CODE(i) := p_acct_hist_tbl(i).NEW_RELATIONSHIP_TYPE_CODE;
2313 p_acct_hist_rec_tab.OLD_ACTIVE_START_DATE(i) := p_acct_hist_tbl(i).OLD_ACTIVE_START_DATE;
2314 p_acct_hist_rec_tab.NEW_ACTIVE_START_DATE(i) := p_acct_hist_tbl(i).NEW_ACTIVE_START_DATE;
2315 p_acct_hist_rec_tab.OLD_ACTIVE_END_DATE(i) := p_acct_hist_tbl(i).OLD_ACTIVE_END_DATE;
2316 p_acct_hist_rec_tab.NEW_ACTIVE_END_DATE(i) := p_acct_hist_tbl(i).NEW_ACTIVE_END_DATE;
2317 p_acct_hist_rec_tab.OLD_CONTEXT(i) := p_acct_hist_tbl(i).OLD_CONTEXT;
2318 p_acct_hist_rec_tab.NEW_CONTEXT(i) := p_acct_hist_tbl(i).NEW_CONTEXT;
2319 p_acct_hist_rec_tab.OLD_ATTRIBUTE1(i) := p_acct_hist_tbl(i).OLD_ATTRIBUTE1;
2320 p_acct_hist_rec_tab.NEW_ATTRIBUTE1(i) := p_acct_hist_tbl(i).NEW_ATTRIBUTE1;
2321 p_acct_hist_rec_tab.OLD_ATTRIBUTE2(i) := p_acct_hist_tbl(i).OLD_ATTRIBUTE2;
2322 p_acct_hist_rec_tab.NEW_ATTRIBUTE2(i) := p_acct_hist_tbl(i).NEW_ATTRIBUTE2;
2323 p_acct_hist_rec_tab.OLD_ATTRIBUTE3(i) := p_acct_hist_tbl(i).OLD_ATTRIBUTE3;
2324 p_acct_hist_rec_tab.NEW_ATTRIBUTE3(i) := p_acct_hist_tbl(i).NEW_ATTRIBUTE3;
2325 p_acct_hist_rec_tab.OLD_ATTRIBUTE4(i) := p_acct_hist_tbl(i).OLD_ATTRIBUTE4;
2326 p_acct_hist_rec_tab.NEW_ATTRIBUTE4(i) := p_acct_hist_tbl(i).NEW_ATTRIBUTE4;
2327 p_acct_hist_rec_tab.OLD_ATTRIBUTE5(i) := p_acct_hist_tbl(i).OLD_ATTRIBUTE5;
2328 p_acct_hist_rec_tab.NEW_ATTRIBUTE5(i) := p_acct_hist_tbl(i).NEW_ATTRIBUTE5;
2329 p_acct_hist_rec_tab.OLD_ATTRIBUTE6(i) := p_acct_hist_tbl(i).OLD_ATTRIBUTE6;
2330 p_acct_hist_rec_tab.NEW_ATTRIBUTE6(i) := p_acct_hist_tbl(i).NEW_ATTRIBUTE6;
2331 p_acct_hist_rec_tab.OLD_ATTRIBUTE7(i) := p_acct_hist_tbl(i).OLD_ATTRIBUTE7;
2332 p_acct_hist_rec_tab.NEW_ATTRIBUTE7(i) := p_acct_hist_tbl(i).NEW_ATTRIBUTE7;
2333 p_acct_hist_rec_tab.OLD_ATTRIBUTE8(i) := p_acct_hist_tbl(i).OLD_ATTRIBUTE8;
2334 p_acct_hist_rec_tab.NEW_ATTRIBUTE8(i) := p_acct_hist_tbl(i).NEW_ATTRIBUTE8;
2335 p_acct_hist_rec_tab.OLD_ATTRIBUTE9(i) := p_acct_hist_tbl(i).OLD_ATTRIBUTE9;
2336 p_acct_hist_rec_tab.NEW_ATTRIBUTE9(i) := p_acct_hist_tbl(i).NEW_ATTRIBUTE9;
2337 p_acct_hist_rec_tab.OLD_ATTRIBUTE10(i) := p_acct_hist_tbl(i).OLD_ATTRIBUTE10;
2338 p_acct_hist_rec_tab.NEW_ATTRIBUTE10(i) := p_acct_hist_tbl(i).NEW_ATTRIBUTE10;
2339 p_acct_hist_rec_tab.OLD_ATTRIBUTE11(i) := p_acct_hist_tbl(i).OLD_ATTRIBUTE11;
2340 p_acct_hist_rec_tab.NEW_ATTRIBUTE11(i) := p_acct_hist_tbl(i).NEW_ATTRIBUTE11;
2341 p_acct_hist_rec_tab.OLD_ATTRIBUTE12(i) := p_acct_hist_tbl(i).OLD_ATTRIBUTE12;
2342 p_acct_hist_rec_tab.NEW_ATTRIBUTE12(i) := p_acct_hist_tbl(i).NEW_ATTRIBUTE12;
2343 p_acct_hist_rec_tab.OLD_ATTRIBUTE13(i) := p_acct_hist_tbl(i).OLD_ATTRIBUTE13;
2344 p_acct_hist_rec_tab.NEW_ATTRIBUTE13(i) := p_acct_hist_tbl(i).NEW_ATTRIBUTE13;
2345 p_acct_hist_rec_tab.OLD_ATTRIBUTE14(i) := p_acct_hist_tbl(i).OLD_ATTRIBUTE14;
2346 p_acct_hist_rec_tab.NEW_ATTRIBUTE14(i) := p_acct_hist_tbl(i).NEW_ATTRIBUTE14;
2347 p_acct_hist_rec_tab.OLD_ATTRIBUTE15(i) := p_acct_hist_tbl(i).OLD_ATTRIBUTE15;
2348 p_acct_hist_rec_tab.NEW_ATTRIBUTE15(i) := p_acct_hist_tbl(i).NEW_ATTRIBUTE15;
2349 p_acct_hist_rec_tab.FULL_DUMP_FLAG(i) := p_acct_hist_tbl(i).FULL_DUMP_FLAG;
2350 p_acct_hist_rec_tab.OBJECT_VERSION_NUMBER(i) := p_acct_hist_tbl(i).OBJECT_VERSION_NUMBER;
2351 p_acct_hist_rec_tab.OLD_BILL_TO_ADDRESS(i) := p_acct_hist_tbl(i).OLD_BILL_TO_ADDRESS;
2352 p_acct_hist_rec_tab.NEW_BILL_TO_ADDRESS(i) := p_acct_hist_tbl(i).NEW_BILL_TO_ADDRESS;
2353 p_acct_hist_rec_tab.OLD_SHIP_TO_ADDRESS(i) := p_acct_hist_tbl(i).OLD_SHIP_TO_ADDRESS;
2354 p_acct_hist_rec_tab.NEW_SHIP_TO_ADDRESS(i) := p_acct_hist_tbl(i).NEW_SHIP_TO_ADDRESS;
2355 p_acct_hist_rec_tab.old_party_account_number(i) := p_acct_hist_tbl(i).old_party_account_number;
2356 p_acct_hist_rec_tab.old_party_account_name(i) := p_acct_hist_tbl(i).old_party_account_name;
2357 p_acct_hist_rec_tab.old_bill_to_location(i) := p_acct_hist_tbl(i).old_bill_to_location;
2358 p_acct_hist_rec_tab.old_ship_to_location(i) := p_acct_hist_tbl(i).old_ship_to_location;
2359 p_acct_hist_rec_tab.new_party_account_number(i) := p_acct_hist_tbl(i).new_party_account_number;
2360 p_acct_hist_rec_tab.new_party_account_name(i) := p_acct_hist_tbl(i).new_party_account_name;
2361 p_acct_hist_rec_tab.new_bill_to_location(i) := p_acct_hist_tbl(i).new_bill_to_location;
2362 p_acct_hist_rec_tab.new_ship_to_location(i) := p_acct_hist_tbl(i).new_ship_to_location;
2363 p_acct_hist_rec_tab.INSTANCE_ID(i) := p_acct_hist_tbl(i).INSTANCE_ID;
2364 END LOOP;
2365 END Build_Acct_Hist_Rec_of_Table;
2366 --
2367 PROCEDURE Build_Owner_Pty_Acct_Rec_Table
2368 (
2369 p_owner_pty_acct_tbl IN csi_item_instance_pvt.owner_pty_acct_tbl
2370 ,p_owner_pty_acct_rec_tab IN OUT NOCOPY csi_item_instance_pvt.owner_pty_acct_rec_tab
2371 ) IS
2372 BEGIN
2373 FOR i in p_owner_pty_acct_tbl.FIRST .. p_owner_pty_acct_tbl.LAST LOOP
2374 p_owner_pty_acct_rec_tab.instance_id(i) := p_owner_pty_acct_tbl(i).instance_id;
2375 p_owner_pty_acct_rec_tab.party_source_table(i) := p_owner_pty_acct_tbl(i).party_source_table;
2376 p_owner_pty_acct_rec_tab.party_id(i) := p_owner_pty_acct_tbl(i).party_id;
2377 p_owner_pty_acct_rec_tab.account_id(i) := p_owner_pty_acct_tbl(i).account_id;
2378 END LOOP;
2379 END Build_Owner_Pty_Acct_Rec_Table;
2380 --
2381 PROCEDURE Build_Txn_Rec_of_Table
2382 (
2383 p_txn_tbl IN csi_datastructures_pub.transaction_tbl
2384 ,p_txn_rec_tab IN OUT NOCOPY csi_item_instance_grp.transaction_rec_tab
2385 ) IS
2386 BEGIN
2387 FOR i in p_txn_tbl.FIRST .. p_txn_tbl.LAST LOOP
2388 p_txn_rec_tab.TRANSACTION_ID(i) := p_txn_tbl(i).TRANSACTION_ID;
2389 p_txn_rec_tab.TRANSACTION_DATE(i) := p_txn_tbl(i).TRANSACTION_DATE;
2390 p_txn_rec_tab.SOURCE_TRANSACTION_DATE(i) := p_txn_tbl(i).SOURCE_TRANSACTION_DATE;
2391 p_txn_rec_tab.TRANSACTION_TYPE_ID(i) := p_txn_tbl(i).TRANSACTION_TYPE_ID;
2392 p_txn_rec_tab.TXN_SUB_TYPE_ID(i) := p_txn_tbl(i).TXN_SUB_TYPE_ID;
2393 p_txn_rec_tab.SOURCE_GROUP_REF_ID(i) := p_txn_tbl(i).SOURCE_GROUP_REF_ID;
2394 p_txn_rec_tab.SOURCE_GROUP_REF(i) := p_txn_tbl(i).SOURCE_GROUP_REF;
2395 p_txn_rec_tab.SOURCE_HEADER_REF_ID(i) := p_txn_tbl(i).SOURCE_HEADER_REF_ID;
2396 p_txn_rec_tab.SOURCE_HEADER_REF(i) := p_txn_tbl(i).SOURCE_HEADER_REF;
2397 p_txn_rec_tab.SOURCE_LINE_REF_ID(i) := p_txn_tbl(i).SOURCE_LINE_REF_ID;
2398 p_txn_rec_tab.SOURCE_LINE_REF(i) := p_txn_tbl(i).SOURCE_LINE_REF;
2399 p_txn_rec_tab.SOURCE_DIST_REF_ID1(i) := p_txn_tbl(i).SOURCE_DIST_REF_ID1;
2400 p_txn_rec_tab.SOURCE_DIST_REF_ID2(i) := p_txn_tbl(i).SOURCE_DIST_REF_ID2;
2401 p_txn_rec_tab.INV_MATERIAL_TRANSACTION_ID(i) := p_txn_tbl(i).INV_MATERIAL_TRANSACTION_ID;
2402 p_txn_rec_tab.TRANSACTION_QUANTITY(i) := p_txn_tbl(i).TRANSACTION_QUANTITY;
2403 p_txn_rec_tab.TRANSACTION_UOM_CODE(i) := p_txn_tbl(i).TRANSACTION_UOM_CODE;
2404 p_txn_rec_tab.TRANSACTED_BY(i) := p_txn_tbl(i).TRANSACTED_BY;
2405 p_txn_rec_tab.TRANSACTION_STATUS_CODE(i) := p_txn_tbl(i).TRANSACTION_STATUS_CODE;
2406 p_txn_rec_tab.TRANSACTION_ACTION_CODE(i) := p_txn_tbl(i).TRANSACTION_ACTION_CODE;
2407 p_txn_rec_tab.MESSAGE_ID(i) := p_txn_tbl(i).MESSAGE_ID;
2408 p_txn_rec_tab.CONTEXT(i) := p_txn_tbl(i).CONTEXT;
2409 p_txn_rec_tab.ATTRIBUTE1(i) := p_txn_tbl(i).ATTRIBUTE1;
2410 p_txn_rec_tab.ATTRIBUTE2(i) := p_txn_tbl(i).ATTRIBUTE2;
2411 p_txn_rec_tab.ATTRIBUTE3(i) := p_txn_tbl(i).ATTRIBUTE3;
2412 p_txn_rec_tab.ATTRIBUTE4(i) := p_txn_tbl(i).ATTRIBUTE4;
2413 p_txn_rec_tab.ATTRIBUTE5(i) := p_txn_tbl(i).ATTRIBUTE5;
2414 p_txn_rec_tab.ATTRIBUTE6(i) := p_txn_tbl(i).ATTRIBUTE6;
2415 p_txn_rec_tab.ATTRIBUTE7(i) := p_txn_tbl(i).ATTRIBUTE7;
2416 p_txn_rec_tab.ATTRIBUTE8(i) := p_txn_tbl(i).ATTRIBUTE8;
2417 p_txn_rec_tab.ATTRIBUTE9(i) := p_txn_tbl(i).ATTRIBUTE9;
2418 p_txn_rec_tab.ATTRIBUTE10(i) := p_txn_tbl(i).ATTRIBUTE10;
2419 p_txn_rec_tab.ATTRIBUTE11(i) := p_txn_tbl(i).ATTRIBUTE11;
2420 p_txn_rec_tab.ATTRIBUTE12(i) := p_txn_tbl(i).ATTRIBUTE12;
2421 p_txn_rec_tab.ATTRIBUTE13(i) := p_txn_tbl(i).ATTRIBUTE13;
2422 p_txn_rec_tab.ATTRIBUTE14(i) := p_txn_tbl(i).ATTRIBUTE14;
2423 p_txn_rec_tab.ATTRIBUTE15(i) := p_txn_tbl(i).ATTRIBUTE15;
2424 p_txn_rec_tab.OBJECT_VERSION_NUMBER(i) := p_txn_tbl(i).OBJECT_VERSION_NUMBER;
2425 p_txn_rec_tab.SPLIT_REASON_CODE(i) := p_txn_tbl(i).SPLIT_REASON_CODE;
2426 p_txn_rec_tab.GL_INTERFACE_STATUS_CODE(i) := p_txn_tbl(i).GL_INTERFACE_STATUS_CODE;
2427 END LOOP;
2428 END Build_Txn_Rec_of_Table;
2429 --
2430 PROCEDURE Build_Org_Rec_of_Table
2431 (
2432 p_org_tbl IN csi_datastructures_pub.organization_units_tbl
2433 ,p_org_units_rec_tab IN OUT NOCOPY csi_item_instance_grp.org_units_rec_tab
2434 ) IS
2435 BEGIN
2436 FOR i in p_org_tbl.FIRST .. p_org_tbl.LAST LOOP
2437 p_org_units_rec_tab.instance_ou_id(i) := p_org_tbl(i).instance_ou_id;
2438 p_org_units_rec_tab.instance_id(i) := p_org_tbl(i).instance_id;
2439 p_org_units_rec_tab.operating_unit_id(i) := p_org_tbl(i).operating_unit_id;
2440 p_org_units_rec_tab.relationship_type_code(i) := p_org_tbl(i).relationship_type_code;
2441 p_org_units_rec_tab.active_start_date(i) := p_org_tbl(i).active_start_date;
2442 p_org_units_rec_tab.active_end_date(i) := p_org_tbl(i).active_end_date;
2443 p_org_units_rec_tab.context(i) := p_org_tbl(i).context;
2444 p_org_units_rec_tab.attribute1(i) := p_org_tbl(i).attribute1;
2445 p_org_units_rec_tab.attribute2(i) := p_org_tbl(i).attribute2;
2446 p_org_units_rec_tab.attribute3(i) := p_org_tbl(i).attribute3;
2447 p_org_units_rec_tab.attribute4(i) := p_org_tbl(i).attribute4;
2448 p_org_units_rec_tab.attribute5(i) := p_org_tbl(i).attribute5;
2449 p_org_units_rec_tab.attribute6(i) := p_org_tbl(i).attribute6;
2450 p_org_units_rec_tab.attribute7(i) := p_org_tbl(i).attribute7;
2451 p_org_units_rec_tab.attribute8(i) := p_org_tbl(i).attribute8;
2452 p_org_units_rec_tab.attribute9(i) := p_org_tbl(i).attribute9;
2453 p_org_units_rec_tab.attribute10(i) := p_org_tbl(i).attribute10;
2454 p_org_units_rec_tab.attribute11(i) := p_org_tbl(i).attribute11;
2455 p_org_units_rec_tab.attribute12(i) := p_org_tbl(i).attribute12;
2456 p_org_units_rec_tab.attribute13(i) := p_org_tbl(i).attribute13;
2457 p_org_units_rec_tab.attribute14(i) := p_org_tbl(i).attribute14;
2458 p_org_units_rec_tab.attribute15(i) := p_org_tbl(i).attribute15;
2459 p_org_units_rec_tab.object_version_number(i) := p_org_tbl(i).object_version_number;
2460 p_org_units_rec_tab.parent_tbl_index(i) := p_org_tbl(i).parent_tbl_index;
2461 END LOOP;
2462 END Build_Org_Rec_of_Table;
2463 --
2464 PROCEDURE Build_Org_Hist_Rec_of_Table
2465 ( p_org_hist_tbl IN csi_datastructures_pub.org_units_history_tbl
2466 ,p_org_hist_rec_tab IN OUT NOCOPY csi_item_instance_grp.org_units_history_rec_tab
2467 ) IS
2468 BEGIN
2469 FOR i in p_org_hist_tbl.FIRST .. p_org_hist_tbl.LAST LOOP
2470 p_org_hist_rec_tab.INSTANCE_OU_HISTORY_ID(i) := p_org_hist_tbl(i).INSTANCE_OU_HISTORY_ID;
2471 p_org_hist_rec_tab.INSTANCE_OU_ID(i) := p_org_hist_tbl(i).INSTANCE_OU_ID;
2472 p_org_hist_rec_tab.TRANSACTION_ID(i) := p_org_hist_tbl(i).TRANSACTION_ID;
2473 p_org_hist_rec_tab.OLD_OPERATING_UNIT_ID(i) := p_org_hist_tbl(i).OLD_OPERATING_UNIT_ID;
2474 p_org_hist_rec_tab.NEW_OPERATING_UNIT_ID(i) := p_org_hist_tbl(i).NEW_OPERATING_UNIT_ID;
2475 p_org_hist_rec_tab.OLD_RELATIONSHIP_TYPE_CODE(i) := p_org_hist_tbl(i).OLD_RELATIONSHIP_TYPE_CODE;
2476 p_org_hist_rec_tab.NEW_RELATIONSHIP_TYPE_CODE(i) := p_org_hist_tbl(i).NEW_RELATIONSHIP_TYPE_CODE;
2477 p_org_hist_rec_tab.OLD_ACTIVE_START_DATE(i) := p_org_hist_tbl(i).OLD_ACTIVE_START_DATE;
2478 p_org_hist_rec_tab.NEW_ACTIVE_START_DATE(i) := p_org_hist_tbl(i).NEW_ACTIVE_START_DATE;
2479 p_org_hist_rec_tab.OLD_ACTIVE_END_DATE(i) := p_org_hist_tbl(i).OLD_ACTIVE_END_DATE;
2480 p_org_hist_rec_tab.NEW_ACTIVE_END_DATE(i) := p_org_hist_tbl(i).NEW_ACTIVE_END_DATE;
2481 p_org_hist_rec_tab.OLD_CONTEXT(i) := p_org_hist_tbl(i).OLD_CONTEXT;
2482 p_org_hist_rec_tab.NEW_CONTEXT(i) := p_org_hist_tbl(i).NEW_CONTEXT;
2483 p_org_hist_rec_tab.OLD_ATTRIBUTE1(i) := p_org_hist_tbl(i).OLD_ATTRIBUTE1;
2484 p_org_hist_rec_tab.NEW_ATTRIBUTE1(i) := p_org_hist_tbl(i).NEW_ATTRIBUTE1;
2485 p_org_hist_rec_tab.OLD_ATTRIBUTE2(i) := p_org_hist_tbl(i).OLD_ATTRIBUTE2;
2486 p_org_hist_rec_tab.NEW_ATTRIBUTE2(i) := p_org_hist_tbl(i).NEW_ATTRIBUTE2;
2487 p_org_hist_rec_tab.OLD_ATTRIBUTE3(i) := p_org_hist_tbl(i).OLD_ATTRIBUTE3;
2488 p_org_hist_rec_tab.NEW_ATTRIBUTE3(i) := p_org_hist_tbl(i).NEW_ATTRIBUTE3;
2489 p_org_hist_rec_tab.OLD_ATTRIBUTE4(i) := p_org_hist_tbl(i).OLD_ATTRIBUTE4;
2490 p_org_hist_rec_tab.NEW_ATTRIBUTE4(i) := p_org_hist_tbl(i).NEW_ATTRIBUTE4;
2491 p_org_hist_rec_tab.OLD_ATTRIBUTE5(i) := p_org_hist_tbl(i).OLD_ATTRIBUTE5;
2492 p_org_hist_rec_tab.NEW_ATTRIBUTE5(i) := p_org_hist_tbl(i).NEW_ATTRIBUTE5;
2493 p_org_hist_rec_tab.OLD_ATTRIBUTE6(i) := p_org_hist_tbl(i).OLD_ATTRIBUTE6;
2494 p_org_hist_rec_tab.NEW_ATTRIBUTE6(i) := p_org_hist_tbl(i).NEW_ATTRIBUTE6;
2495 p_org_hist_rec_tab.OLD_ATTRIBUTE7(i) := p_org_hist_tbl(i).OLD_ATTRIBUTE7;
2496 p_org_hist_rec_tab.NEW_ATTRIBUTE7(i) := p_org_hist_tbl(i).NEW_ATTRIBUTE7;
2497 p_org_hist_rec_tab.OLD_ATTRIBUTE8(i) := p_org_hist_tbl(i).OLD_ATTRIBUTE8;
2498 p_org_hist_rec_tab.NEW_ATTRIBUTE8(i) := p_org_hist_tbl(i).NEW_ATTRIBUTE8;
2499 p_org_hist_rec_tab.OLD_ATTRIBUTE9(i) := p_org_hist_tbl(i).OLD_ATTRIBUTE9;
2500 p_org_hist_rec_tab.NEW_ATTRIBUTE9(i) := p_org_hist_tbl(i).NEW_ATTRIBUTE9;
2501 p_org_hist_rec_tab.OLD_ATTRIBUTE10(i) := p_org_hist_tbl(i).OLD_ATTRIBUTE10;
2502 p_org_hist_rec_tab.NEW_ATTRIBUTE10(i) := p_org_hist_tbl(i).NEW_ATTRIBUTE10;
2503 p_org_hist_rec_tab.OLD_ATTRIBUTE11(i) := p_org_hist_tbl(i).OLD_ATTRIBUTE11;
2504 p_org_hist_rec_tab.NEW_ATTRIBUTE11(i) := p_org_hist_tbl(i).NEW_ATTRIBUTE11;
2505 p_org_hist_rec_tab.OLD_ATTRIBUTE12(i) := p_org_hist_tbl(i).OLD_ATTRIBUTE12;
2506 p_org_hist_rec_tab.NEW_ATTRIBUTE12(i) := p_org_hist_tbl(i).NEW_ATTRIBUTE12;
2507 p_org_hist_rec_tab.OLD_ATTRIBUTE13(i) := p_org_hist_tbl(i).OLD_ATTRIBUTE13;
2508 p_org_hist_rec_tab.NEW_ATTRIBUTE13(i) := p_org_hist_tbl(i).NEW_ATTRIBUTE13;
2509 p_org_hist_rec_tab.OLD_ATTRIBUTE14(i) := p_org_hist_tbl(i).OLD_ATTRIBUTE14;
2510 p_org_hist_rec_tab.NEW_ATTRIBUTE14(i) := p_org_hist_tbl(i).NEW_ATTRIBUTE14;
2511 p_org_hist_rec_tab.OLD_ATTRIBUTE15(i) := p_org_hist_tbl(i).OLD_ATTRIBUTE15;
2512 p_org_hist_rec_tab.NEW_ATTRIBUTE15(i) := p_org_hist_tbl(i).NEW_ATTRIBUTE15;
2513 p_org_hist_rec_tab.FULL_DUMP_FLAG(i) := p_org_hist_tbl(i).FULL_DUMP_FLAG;
2514 p_org_hist_rec_tab.OBJECT_VERSION_NUMBER(i) := p_org_hist_tbl(i).OBJECT_VERSION_NUMBER;
2515 p_org_hist_rec_tab.new_operating_unit_name(i) := p_org_hist_tbl(i).new_operating_unit_name;
2516 p_org_hist_rec_tab.old_operating_unit_name(i) := p_org_hist_tbl(i).old_operating_unit_name;
2517 p_org_hist_rec_tab.INSTANCE_ID(i) := p_org_hist_tbl(i).INSTANCE_ID;
2518
2519 END LOOP;
2520 END Build_Org_Hist_Rec_of_Table;
2521 --
2522 PROCEDURE Build_pricing_Rec_of_Table
2523 (
2524 p_pricing_tbl IN csi_datastructures_pub.pricing_attribs_tbl
2525 ,p_pricing_rec_tab IN OUT NOCOPY csi_item_instance_grp.pricing_attribs_rec_tab
2526 ) IS
2527 BEGIN
2528 FOR i in p_pricing_tbl.FIRST .. p_pricing_tbl.LAST LOOP
2529 p_pricing_rec_tab.pricing_attribute_id(i) := p_pricing_tbl(i).pricing_attribute_id;
2530 p_pricing_rec_tab.instance_id(i) := p_pricing_tbl(i).instance_id;
2531 p_pricing_rec_tab.active_start_date(i) := p_pricing_tbl(i).active_start_date;
2532 p_pricing_rec_tab.active_end_date(i) := p_pricing_tbl(i).active_end_date;
2533 p_pricing_rec_tab.pricing_context(i) := p_pricing_tbl(i).pricing_context;
2534 p_pricing_rec_tab.pricing_attribute1(i) := p_pricing_tbl(i).pricing_attribute1;
2535 p_pricing_rec_tab.pricing_attribute2(i) := p_pricing_tbl(i).pricing_attribute2;
2536 p_pricing_rec_tab.pricing_attribute3(i) := p_pricing_tbl(i).pricing_attribute3;
2537 p_pricing_rec_tab.pricing_attribute4(i) := p_pricing_tbl(i).pricing_attribute4;
2538 p_pricing_rec_tab.pricing_attribute5(i) := p_pricing_tbl(i).pricing_attribute5;
2539 p_pricing_rec_tab.pricing_attribute6(i) := p_pricing_tbl(i).pricing_attribute6;
2540 p_pricing_rec_tab.pricing_attribute7(i) := p_pricing_tbl(i).pricing_attribute7;
2541 p_pricing_rec_tab.pricing_attribute8(i) := p_pricing_tbl(i).pricing_attribute8;
2542 p_pricing_rec_tab.pricing_attribute9(i) := p_pricing_tbl(i).pricing_attribute9;
2543 p_pricing_rec_tab.pricing_attribute10(i) := p_pricing_tbl(i).pricing_attribute10;
2544 p_pricing_rec_tab.pricing_attribute11(i) := p_pricing_tbl(i).pricing_attribute11;
2545 p_pricing_rec_tab.pricing_attribute12(i) := p_pricing_tbl(i).pricing_attribute12;
2546 p_pricing_rec_tab.pricing_attribute13(i) := p_pricing_tbl(i).pricing_attribute13;
2547 p_pricing_rec_tab.pricing_attribute14(i) := p_pricing_tbl(i).pricing_attribute14;
2548 p_pricing_rec_tab.pricing_attribute15(i) := p_pricing_tbl(i).pricing_attribute15;
2549 p_pricing_rec_tab.pricing_attribute16(i) := p_pricing_tbl(i).pricing_attribute16;
2550 p_pricing_rec_tab.pricing_attribute17(i) := p_pricing_tbl(i).pricing_attribute17;
2551 p_pricing_rec_tab.pricing_attribute18(i) := p_pricing_tbl(i).pricing_attribute18;
2552 p_pricing_rec_tab.pricing_attribute19(i) := p_pricing_tbl(i).pricing_attribute19;
2553 p_pricing_rec_tab.pricing_attribute20(i) := p_pricing_tbl(i).pricing_attribute20;
2554 p_pricing_rec_tab.pricing_attribute21(i) := p_pricing_tbl(i).pricing_attribute21;
2555 p_pricing_rec_tab.pricing_attribute22(i) := p_pricing_tbl(i).pricing_attribute22;
2556 p_pricing_rec_tab.pricing_attribute23(i) := p_pricing_tbl(i).pricing_attribute23;
2557 p_pricing_rec_tab.pricing_attribute24(i) := p_pricing_tbl(i).pricing_attribute24;
2558 p_pricing_rec_tab.pricing_attribute25(i) := p_pricing_tbl(i).pricing_attribute25;
2559 p_pricing_rec_tab.pricing_attribute26(i) := p_pricing_tbl(i).pricing_attribute26;
2560 p_pricing_rec_tab.pricing_attribute27(i) := p_pricing_tbl(i).pricing_attribute27;
2561 p_pricing_rec_tab.pricing_attribute28(i) := p_pricing_tbl(i).pricing_attribute28;
2562 p_pricing_rec_tab.pricing_attribute29(i) := p_pricing_tbl(i).pricing_attribute29;
2563 p_pricing_rec_tab.pricing_attribute30(i) := p_pricing_tbl(i).pricing_attribute30;
2564 p_pricing_rec_tab.pricing_attribute31(i) := p_pricing_tbl(i).pricing_attribute31;
2565 p_pricing_rec_tab.pricing_attribute32(i) := p_pricing_tbl(i).pricing_attribute32;
2566 p_pricing_rec_tab.pricing_attribute33(i) := p_pricing_tbl(i).pricing_attribute33;
2567 p_pricing_rec_tab.pricing_attribute34(i) := p_pricing_tbl(i).pricing_attribute34;
2568 p_pricing_rec_tab.pricing_attribute35(i) := p_pricing_tbl(i).pricing_attribute35;
2569 p_pricing_rec_tab.pricing_attribute36(i) := p_pricing_tbl(i).pricing_attribute36;
2570 p_pricing_rec_tab.pricing_attribute37(i) := p_pricing_tbl(i).pricing_attribute37;
2571 p_pricing_rec_tab.pricing_attribute38(i) := p_pricing_tbl(i).pricing_attribute38;
2572 p_pricing_rec_tab.pricing_attribute39(i) := p_pricing_tbl(i).pricing_attribute39;
2573 p_pricing_rec_tab.pricing_attribute40(i) := p_pricing_tbl(i).pricing_attribute40;
2574 p_pricing_rec_tab.pricing_attribute41(i) := p_pricing_tbl(i).pricing_attribute41;
2575 p_pricing_rec_tab.pricing_attribute42(i) := p_pricing_tbl(i).pricing_attribute42;
2576 p_pricing_rec_tab.pricing_attribute43(i) := p_pricing_tbl(i).pricing_attribute43;
2577 p_pricing_rec_tab.pricing_attribute44(i) := p_pricing_tbl(i).pricing_attribute44;
2578 p_pricing_rec_tab.pricing_attribute45(i) := p_pricing_tbl(i).pricing_attribute45;
2579 p_pricing_rec_tab.pricing_attribute46(i) := p_pricing_tbl(i).pricing_attribute46;
2580 p_pricing_rec_tab.pricing_attribute47(i) := p_pricing_tbl(i).pricing_attribute47;
2581 p_pricing_rec_tab.pricing_attribute48(i) := p_pricing_tbl(i).pricing_attribute48;
2582 p_pricing_rec_tab.pricing_attribute49(i) := p_pricing_tbl(i).pricing_attribute49;
2583 p_pricing_rec_tab.pricing_attribute50(i) := p_pricing_tbl(i).pricing_attribute50;
2584 p_pricing_rec_tab.pricing_attribute51(i) := p_pricing_tbl(i).pricing_attribute51;
2585 p_pricing_rec_tab.pricing_attribute52(i) := p_pricing_tbl(i).pricing_attribute52;
2586 p_pricing_rec_tab.pricing_attribute53(i) := p_pricing_tbl(i).pricing_attribute53;
2587 p_pricing_rec_tab.pricing_attribute54(i) := p_pricing_tbl(i).pricing_attribute54;
2588 p_pricing_rec_tab.pricing_attribute55(i) := p_pricing_tbl(i).pricing_attribute55;
2589 p_pricing_rec_tab.pricing_attribute56(i) := p_pricing_tbl(i).pricing_attribute56;
2590 p_pricing_rec_tab.pricing_attribute57(i) := p_pricing_tbl(i).pricing_attribute57;
2591 p_pricing_rec_tab.pricing_attribute58(i) := p_pricing_tbl(i).pricing_attribute58;
2592 p_pricing_rec_tab.pricing_attribute59(i) := p_pricing_tbl(i).pricing_attribute59;
2593 p_pricing_rec_tab.pricing_attribute60(i) := p_pricing_tbl(i).pricing_attribute60;
2594 p_pricing_rec_tab.pricing_attribute61(i) := p_pricing_tbl(i).pricing_attribute61;
2595 p_pricing_rec_tab.pricing_attribute62(i) := p_pricing_tbl(i).pricing_attribute62;
2596 p_pricing_rec_tab.pricing_attribute63(i) := p_pricing_tbl(i).pricing_attribute63;
2597 p_pricing_rec_tab.pricing_attribute64(i) := p_pricing_tbl(i).pricing_attribute64;
2598 p_pricing_rec_tab.pricing_attribute65(i) := p_pricing_tbl(i).pricing_attribute65;
2599 p_pricing_rec_tab.pricing_attribute66(i) := p_pricing_tbl(i).pricing_attribute66;
2600 p_pricing_rec_tab.pricing_attribute67(i) := p_pricing_tbl(i).pricing_attribute67;
2601 p_pricing_rec_tab.pricing_attribute68(i) := p_pricing_tbl(i).pricing_attribute68;
2602 p_pricing_rec_tab.pricing_attribute69(i) := p_pricing_tbl(i).pricing_attribute69;
2603 p_pricing_rec_tab.pricing_attribute70(i) := p_pricing_tbl(i).pricing_attribute70;
2604 p_pricing_rec_tab.pricing_attribute71(i) := p_pricing_tbl(i).pricing_attribute71;
2605 p_pricing_rec_tab.pricing_attribute72(i) := p_pricing_tbl(i).pricing_attribute72;
2606 p_pricing_rec_tab.pricing_attribute73(i) := p_pricing_tbl(i).pricing_attribute73;
2607 p_pricing_rec_tab.pricing_attribute74(i) := p_pricing_tbl(i).pricing_attribute74;
2608 p_pricing_rec_tab.pricing_attribute75(i) := p_pricing_tbl(i).pricing_attribute75;
2609 p_pricing_rec_tab.pricing_attribute76(i) := p_pricing_tbl(i).pricing_attribute76;
2610 p_pricing_rec_tab.pricing_attribute77(i) := p_pricing_tbl(i).pricing_attribute77;
2611 p_pricing_rec_tab.pricing_attribute78(i) := p_pricing_tbl(i).pricing_attribute78;
2612 p_pricing_rec_tab.pricing_attribute79(i) := p_pricing_tbl(i).pricing_attribute79;
2613 p_pricing_rec_tab.pricing_attribute80(i) := p_pricing_tbl(i).pricing_attribute80;
2614 p_pricing_rec_tab.pricing_attribute81(i) := p_pricing_tbl(i).pricing_attribute81;
2615 p_pricing_rec_tab.pricing_attribute82(i) := p_pricing_tbl(i).pricing_attribute82;
2616 p_pricing_rec_tab.pricing_attribute83(i) := p_pricing_tbl(i).pricing_attribute83;
2617 p_pricing_rec_tab.pricing_attribute84(i) := p_pricing_tbl(i).pricing_attribute84;
2618 p_pricing_rec_tab.pricing_attribute85(i) := p_pricing_tbl(i).pricing_attribute85;
2619 p_pricing_rec_tab.pricing_attribute86(i) := p_pricing_tbl(i).pricing_attribute86;
2620 p_pricing_rec_tab.pricing_attribute87(i) := p_pricing_tbl(i).pricing_attribute87;
2621 p_pricing_rec_tab.pricing_attribute88(i) := p_pricing_tbl(i).pricing_attribute88;
2622 p_pricing_rec_tab.pricing_attribute89(i) := p_pricing_tbl(i).pricing_attribute89;
2623 p_pricing_rec_tab.pricing_attribute90(i) := p_pricing_tbl(i).pricing_attribute90;
2624 p_pricing_rec_tab.pricing_attribute91(i) := p_pricing_tbl(i).pricing_attribute91;
2625 p_pricing_rec_tab.pricing_attribute92(i) := p_pricing_tbl(i).pricing_attribute92;
2626 p_pricing_rec_tab.pricing_attribute93(i) := p_pricing_tbl(i).pricing_attribute93;
2627 p_pricing_rec_tab.pricing_attribute94(i) := p_pricing_tbl(i).pricing_attribute94;
2628 p_pricing_rec_tab.pricing_attribute95(i) := p_pricing_tbl(i).pricing_attribute95;
2629 p_pricing_rec_tab.pricing_attribute96(i) := p_pricing_tbl(i).pricing_attribute96;
2630 p_pricing_rec_tab.pricing_attribute97(i) := p_pricing_tbl(i).pricing_attribute97;
2631 p_pricing_rec_tab.pricing_attribute98(i) := p_pricing_tbl(i).pricing_attribute98;
2632 p_pricing_rec_tab.pricing_attribute99(i) := p_pricing_tbl(i).pricing_attribute99;
2633 p_pricing_rec_tab.pricing_attribute100(i) := p_pricing_tbl(i).pricing_attribute100;
2634 p_pricing_rec_tab.context(i) := p_pricing_tbl(i).context;
2635 p_pricing_rec_tab.attribute1(i) := p_pricing_tbl(i).attribute1;
2636 p_pricing_rec_tab.attribute2(i) := p_pricing_tbl(i).attribute2;
2637 p_pricing_rec_tab.attribute3(i) := p_pricing_tbl(i).attribute3;
2638 p_pricing_rec_tab.attribute4(i) := p_pricing_tbl(i).attribute4;
2639 p_pricing_rec_tab.attribute5(i) := p_pricing_tbl(i).attribute5;
2640 p_pricing_rec_tab.attribute6(i) := p_pricing_tbl(i).attribute6;
2641 p_pricing_rec_tab.attribute7(i) := p_pricing_tbl(i).attribute7;
2642 p_pricing_rec_tab.attribute8(i) := p_pricing_tbl(i).attribute8;
2643 p_pricing_rec_tab.attribute9(i) := p_pricing_tbl(i).attribute9;
2644 p_pricing_rec_tab.attribute10(i) := p_pricing_tbl(i).attribute10;
2645 p_pricing_rec_tab.attribute11(i) := p_pricing_tbl(i).attribute11;
2646 p_pricing_rec_tab.attribute12(i) := p_pricing_tbl(i).attribute12;
2647 p_pricing_rec_tab.attribute13(i) := p_pricing_tbl(i).attribute13;
2648 p_pricing_rec_tab.attribute14(i) := p_pricing_tbl(i).attribute14;
2649 p_pricing_rec_tab.attribute15(i) := p_pricing_tbl(i).attribute15;
2650 p_pricing_rec_tab.object_version_number(i) := p_pricing_tbl(i).object_version_number;
2651 p_pricing_rec_tab.parent_tbl_index(i) := p_pricing_tbl(i).parent_tbl_index;
2652 END LOOP;
2653 END Build_pricing_Rec_of_Table;
2654 --
2655 PROCEDURE Build_pricing_Hist_Rec_Table
2656 ( p_pricing_hist_tbl IN csi_datastructures_pub.pricing_history_tbl
2657 ,p_pricing_hist_rec_tab IN OUT NOCOPY csi_item_instance_grp.pricing_attribs_hist_rec_tab
2658 ) IS
2659 BEGIN
2660 FOR i in p_pricing_hist_tbl.FIRST .. p_pricing_hist_tbl.LAST LOOP
2661 p_pricing_hist_rec_tab.PRICE_ATTRIB_HISTORY_ID(i):= p_pricing_hist_tbl(i).PRICE_ATTRIB_HISTORY_ID;
2662 p_pricing_hist_rec_tab.PRICING_ATTRIBUTE_ID(i):= p_pricing_hist_tbl(i).PRICING_ATTRIBUTE_ID;
2663 p_pricing_hist_rec_tab.TRANSACTION_ID(i) := p_pricing_hist_tbl(i).TRANSACTION_ID;
2664 p_pricing_hist_rec_tab.OLD_PRICING_CONTEXT(i):= p_pricing_hist_tbl(i).OLD_PRICING_CONTEXT;
2665 p_pricing_hist_rec_tab.NEW_PRICING_CONTEXT(i):= p_pricing_hist_tbl(i).NEW_PRICING_CONTEXT;
2666 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE1(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE1;
2667 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE1(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE1;
2668 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE2(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE2;
2669 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE2(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE2;
2670 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE3(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE3;
2671 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE3(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE3;
2672 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE4(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE4;
2673 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE4(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE4;
2674 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE5(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE5;
2675 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE5(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE5;
2676 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE6(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE6;
2677 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE6(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE6;
2678 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE7(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE7;
2679 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE7(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE7;
2680 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE8(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE8;
2681 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE8(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE8;
2682 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE9(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE9;
2683 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE9(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE9;
2684 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE10(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE10;
2685 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE10(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE10;
2686 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE11(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE11;
2687 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE11(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE11;
2688 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE12(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE12;
2689 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE12(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE12;
2690 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE13(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE13;
2691 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE13(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE13;
2692 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE14(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE14;
2693 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE14(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE14;
2694 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE15(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE15;
2695 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE15(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE15;
2696 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE16(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE16;
2697 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE16(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE16;
2698 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE17(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE17;
2699 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE17(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE17;
2700 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE18(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE18;
2701 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE18(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE18;
2702 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE19(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE19;
2703 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE19(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE19;
2704 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE20(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE20;
2705 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE20(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE20;
2706 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE21(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE21;
2707 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE21(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE21;
2708 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE22(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE22;
2709 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE22(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE22;
2710 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE23(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE23;
2711 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE23(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE23;
2712 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE24(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE24;
2713 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE24(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE24;
2714 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE25(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE25;
2715 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE25(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE25;
2716 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE26(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE26;
2717 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE26(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE26;
2718 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE27(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE27;
2719 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE27(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE27;
2720 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE28(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE28;
2721 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE28(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE28;
2722 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE29(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE29;
2723 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE29(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE29;
2724 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE30(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE30;
2725 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE30(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE30;
2726 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE31(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE31;
2727 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE31(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE31;
2728 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE32(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE32;
2729 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE32(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE32;
2730 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE33(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE33;
2731 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE33(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE33;
2732 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE34(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE34;
2733 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE34(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE34;
2734 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE35(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE35;
2735 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE35(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE35;
2736 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE36(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE36;
2737 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE36(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE36;
2738 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE37(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE37;
2739 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE37(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE37;
2740 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE38(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE38;
2741 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE38(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE38;
2742 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE39(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE39;
2743 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE39(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE39;
2744 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE40(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE40;
2745 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE40(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE40;
2746 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE41(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE41;
2747 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE41(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE41;
2748 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE42(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE42;
2749 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE42(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE42;
2750 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE43(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE43;
2751 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE43(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE43;
2752 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE44(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE44;
2753 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE44(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE44;
2754 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE45(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE45;
2755 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE45(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE45;
2756 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE46(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE46;
2757 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE46(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE46;
2758 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE47(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE47;
2759 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE47(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE47;
2760 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE48(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE48;
2761 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE48(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE48;
2762 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE49(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE49;
2763 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE49(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE49;
2764 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE50(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE50;
2765 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE50(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE50;
2766 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE51(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE51;
2767 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE51(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE51;
2768 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE52(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE52;
2769 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE52(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE52;
2770 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE53(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE53;
2771 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE53(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE53;
2772 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE54(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE54;
2773 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE54(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE54;
2774 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE55(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE55;
2775 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE55(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE55;
2776 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE56(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE56;
2777 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE56(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE56;
2778 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE57(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE57;
2779 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE57(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE57;
2780 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE58(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE58;
2781 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE58(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE58;
2782 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE59(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE59;
2783 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE59(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE59;
2784 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE60(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE60;
2785 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE60(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE60;
2786 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE61(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE61;
2787 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE61(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE61;
2788 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE62(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE62;
2789 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE62(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE62;
2790 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE63(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE63;
2791 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE63(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE63;
2792 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE64(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE64;
2793 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE64(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE64;
2794 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE65(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE65;
2795 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE65(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE65;
2796 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE66(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE66;
2797 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE66(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE66;
2798 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE67(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE67;
2799 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE67(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE67;
2800 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE68(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE68;
2801 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE68(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE68;
2802 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE69(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE69;
2803 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE69(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE69;
2804 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE70(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE70;
2805 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE70(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE70;
2806 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE71(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE71;
2807 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE71(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE71;
2808 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE72(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE72;
2809 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE72(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE72;
2810 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE73(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE73;
2811 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE73(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE73;
2812 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE74(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE74;
2813 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE74(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE74;
2814 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE75(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE75;
2815 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE75(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE75;
2816 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE76(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE76;
2817 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE76(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE76;
2818 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE77(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE77;
2819 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE77(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE77;
2820 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE78(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE78;
2821 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE78(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE78;
2822 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE79(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE79;
2823 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE79(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE79;
2824 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE80(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE80;
2825 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE80(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE80;
2826 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE81(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE81;
2827 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE81(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE81;
2828 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE82(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE82;
2829 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE82(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE82;
2830 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE83(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE83;
2831 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE83(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE83;
2832 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE84(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE84;
2833 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE84(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE84;
2834 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE85(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE85;
2835 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE85(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE85;
2836 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE86(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE86;
2837 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE86(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE86;
2838 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE87(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE87;
2839 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE87(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE87;
2840 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE88(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE88;
2841 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE88(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE88;
2842 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE89(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE89;
2843 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE89(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE89;
2844 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE90(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE90;
2845 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE90(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE90;
2846 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE91(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE91;
2847 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE91(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE91;
2848 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE92(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE92;
2849 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE92(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE92;
2850 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE93(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE93;
2851 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE93(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE93;
2852 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE94(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE94;
2853 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE94(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE94;
2854 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE95(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE95;
2855 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE95(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE95;
2856 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE96(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE96;
2857 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE96(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE96;
2858 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE97(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE97;
2859 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE97(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE97;
2860 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE98(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE98;
2861 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE98(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE98;
2862 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE99(i):= p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE99;
2863 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE99(i):= p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE99;
2864 p_pricing_hist_rec_tab.OLD_PRICING_ATTRIBUTE100(i) := p_pricing_hist_tbl(i).OLD_PRICING_ATTRIBUTE100;
2865 p_pricing_hist_rec_tab.NEW_PRICING_ATTRIBUTE100(i) := p_pricing_hist_tbl(i).NEW_PRICING_ATTRIBUTE100;
2866 p_pricing_hist_rec_tab.OLD_ACTIVE_START_DATE(i):= p_pricing_hist_tbl(i).OLD_ACTIVE_START_DATE;
2867 p_pricing_hist_rec_tab.NEW_ACTIVE_START_DATE(i):= p_pricing_hist_tbl(i).NEW_ACTIVE_START_DATE;
2868 p_pricing_hist_rec_tab.OLD_ACTIVE_END_DATE(i):= p_pricing_hist_tbl(i).OLD_ACTIVE_END_DATE;
2869 p_pricing_hist_rec_tab.NEW_ACTIVE_END_DATE(i):= p_pricing_hist_tbl(i).NEW_ACTIVE_END_DATE;
2870 p_pricing_hist_rec_tab.OLD_CONTEXT(i) := p_pricing_hist_tbl(i).OLD_CONTEXT;
2871 p_pricing_hist_rec_tab.NEW_CONTEXT(i) := p_pricing_hist_tbl(i).NEW_CONTEXT;
2872 p_pricing_hist_rec_tab.OLD_ATTRIBUTE1(i) := p_pricing_hist_tbl(i).OLD_ATTRIBUTE1;
2873 p_pricing_hist_rec_tab.NEW_ATTRIBUTE1(i) := p_pricing_hist_tbl(i).NEW_ATTRIBUTE1;
2874 p_pricing_hist_rec_tab.OLD_ATTRIBUTE2(i) := p_pricing_hist_tbl(i).OLD_ATTRIBUTE2;
2875 p_pricing_hist_rec_tab.NEW_ATTRIBUTE2(i) := p_pricing_hist_tbl(i).NEW_ATTRIBUTE2;
2876 p_pricing_hist_rec_tab.OLD_ATTRIBUTE3(i) := p_pricing_hist_tbl(i).OLD_ATTRIBUTE3;
2877 p_pricing_hist_rec_tab.NEW_ATTRIBUTE3(i) := p_pricing_hist_tbl(i).NEW_ATTRIBUTE3;
2878 p_pricing_hist_rec_tab.OLD_ATTRIBUTE4(i) := p_pricing_hist_tbl(i).OLD_ATTRIBUTE4;
2879 p_pricing_hist_rec_tab.NEW_ATTRIBUTE4(i) := p_pricing_hist_tbl(i).NEW_ATTRIBUTE4;
2880 p_pricing_hist_rec_tab.OLD_ATTRIBUTE5(i) := p_pricing_hist_tbl(i).OLD_ATTRIBUTE5;
2881 p_pricing_hist_rec_tab.NEW_ATTRIBUTE5(i) := p_pricing_hist_tbl(i).NEW_ATTRIBUTE5;
2882 p_pricing_hist_rec_tab.OLD_ATTRIBUTE6(i) := p_pricing_hist_tbl(i).OLD_ATTRIBUTE6;
2883 p_pricing_hist_rec_tab.NEW_ATTRIBUTE6(i) := p_pricing_hist_tbl(i).NEW_ATTRIBUTE6;
2884 p_pricing_hist_rec_tab.OLD_ATTRIBUTE7(i) := p_pricing_hist_tbl(i).OLD_ATTRIBUTE7;
2885 p_pricing_hist_rec_tab.NEW_ATTRIBUTE7(i) := p_pricing_hist_tbl(i).NEW_ATTRIBUTE7;
2886 p_pricing_hist_rec_tab.OLD_ATTRIBUTE8(i) := p_pricing_hist_tbl(i).OLD_ATTRIBUTE8;
2887 p_pricing_hist_rec_tab.NEW_ATTRIBUTE8(i) := p_pricing_hist_tbl(i).NEW_ATTRIBUTE8;
2888 p_pricing_hist_rec_tab.OLD_ATTRIBUTE9(i) := p_pricing_hist_tbl(i).OLD_ATTRIBUTE9;
2889 p_pricing_hist_rec_tab.NEW_ATTRIBUTE9(i) := p_pricing_hist_tbl(i).NEW_ATTRIBUTE9;
2890 p_pricing_hist_rec_tab.OLD_ATTRIBUTE10(i) := p_pricing_hist_tbl(i).OLD_ATTRIBUTE10;
2891 p_pricing_hist_rec_tab.NEW_ATTRIBUTE10(i) := p_pricing_hist_tbl(i).NEW_ATTRIBUTE10;
2892 p_pricing_hist_rec_tab.OLD_ATTRIBUTE11(i) := p_pricing_hist_tbl(i).OLD_ATTRIBUTE11;
2893 p_pricing_hist_rec_tab.NEW_ATTRIBUTE11(i) := p_pricing_hist_tbl(i).NEW_ATTRIBUTE11;
2894 p_pricing_hist_rec_tab.OLD_ATTRIBUTE12(i) := p_pricing_hist_tbl(i).OLD_ATTRIBUTE12;
2895 p_pricing_hist_rec_tab.NEW_ATTRIBUTE12(i) := p_pricing_hist_tbl(i).NEW_ATTRIBUTE12;
2896 p_pricing_hist_rec_tab.OLD_ATTRIBUTE13(i) := p_pricing_hist_tbl(i).OLD_ATTRIBUTE13;
2897 p_pricing_hist_rec_tab.NEW_ATTRIBUTE13(i) := p_pricing_hist_tbl(i).NEW_ATTRIBUTE13;
2898 p_pricing_hist_rec_tab.OLD_ATTRIBUTE14(i) := p_pricing_hist_tbl(i).OLD_ATTRIBUTE14;
2899 p_pricing_hist_rec_tab.NEW_ATTRIBUTE14(i) := p_pricing_hist_tbl(i).NEW_ATTRIBUTE14;
2900 p_pricing_hist_rec_tab.OLD_ATTRIBUTE15(i) := p_pricing_hist_tbl(i).OLD_ATTRIBUTE15;
2901 p_pricing_hist_rec_tab.NEW_ATTRIBUTE15(i) := p_pricing_hist_tbl(i).NEW_ATTRIBUTE15;
2902 p_pricing_hist_rec_tab.FULL_DUMP_FLAG(i) := p_pricing_hist_tbl(i).FULL_DUMP_FLAG;
2903 END LOOP;
2904 END Build_pricing_Hist_Rec_Table;
2905 --
2906 PROCEDURE Build_Ext_Attr_Rec_Table
2907 (
2908 p_ext_attr_tbl IN csi_datastructures_pub.extend_attrib_values_tbl
2909 ,p_ext_attr_rec_tab IN OUT NOCOPY csi_item_instance_grp.extend_attrib_values_rec_tab
2910 ) IS
2911
2912 BEGIN
2913 FOR i in p_ext_attr_tbl.FIRST .. p_ext_attr_tbl.LAST LOOP
2914
2915 p_ext_attr_rec_tab.attribute_value_id(i) := p_ext_attr_tbl(i).attribute_value_id;
2916 p_ext_attr_rec_tab.instance_id(i) := p_ext_attr_tbl(i).instance_id;
2917 p_ext_attr_rec_tab.attribute_id(i) := p_ext_attr_tbl(i).attribute_id;
2918 p_ext_attr_rec_tab.attribute_code(i) := p_ext_attr_tbl(i).attribute_code;
2919 p_ext_attr_rec_tab.attribute_value(i) := p_ext_attr_tbl(i).attribute_value;
2920 p_ext_attr_rec_tab.active_start_date(i) := p_ext_attr_tbl(i).active_start_date;
2921 p_ext_attr_rec_tab.active_end_date(i) := p_ext_attr_tbl(i).active_end_date;
2922 p_ext_attr_rec_tab.context(i) := p_ext_attr_tbl(i).context;
2923 p_ext_attr_rec_tab.attribute1(i) := p_ext_attr_tbl(i).attribute1;
2924 p_ext_attr_rec_tab.attribute2 (i) := p_ext_attr_tbl(i).attribute2;
2925 p_ext_attr_rec_tab.attribute3(i) := p_ext_attr_tbl(i).attribute3;
2926 p_ext_attr_rec_tab.attribute4(i) := p_ext_attr_tbl(i).attribute4;
2927 p_ext_attr_rec_tab.attribute5(i) := p_ext_attr_tbl(i).attribute5;
2928 p_ext_attr_rec_tab.attribute6(i) := p_ext_attr_tbl(i).attribute6;
2929 p_ext_attr_rec_tab.attribute7(i) := p_ext_attr_tbl(i).attribute7;
2930 p_ext_attr_rec_tab.attribute8(i) := p_ext_attr_tbl(i).attribute8;
2931 p_ext_attr_rec_tab.attribute9(i) := p_ext_attr_tbl(i).attribute9;
2932 p_ext_attr_rec_tab.attribute10(i) := p_ext_attr_tbl(i).attribute10;
2933 p_ext_attr_rec_tab.attribute11(i) := p_ext_attr_tbl(i).attribute11;
2934 p_ext_attr_rec_tab.attribute12(i) := p_ext_attr_tbl(i).attribute12;
2935 p_ext_attr_rec_tab.attribute13(i) := p_ext_attr_tbl(i).attribute13;
2936 p_ext_attr_rec_tab.attribute14(i) := p_ext_attr_tbl(i).attribute14;
2937 p_ext_attr_rec_tab.attribute15(i) := p_ext_attr_tbl(i).attribute15;
2938 p_ext_attr_rec_tab.object_version_number(i) := p_ext_attr_tbl(i).object_version_number;
2939 p_ext_attr_rec_tab.parent_tbl_index(i) := p_ext_attr_tbl(i).parent_tbl_index;
2940
2941 END LOOP;
2942 END Build_Ext_Attr_Rec_Table;
2943 --
2944 PROCEDURE Build_Ext_Attr_Hist_Rec_Table
2945 (
2946 p_ext_attr_hist_tbl IN csi_datastructures_pub.ext_attrib_val_history_tbl
2947 ,p_ext_attr_hist_rec_tab IN OUT NOCOPY csi_item_instance_grp.ext_attrib_val_hist_rec_tab
2948 ) IS
2949 BEGIN
2950 FOR i in p_ext_attr_hist_tbl.FIRST .. p_ext_attr_hist_tbl.LAST LOOP
2951
2952 p_ext_attr_hist_rec_tab.attribute_value_history_id(i) := p_ext_attr_hist_tbl(i).attribute_value_history_id;
2953 p_ext_attr_hist_rec_tab.attribute_value_id(i) := p_ext_attr_hist_tbl(i).attribute_value_id;
2954 p_ext_attr_hist_rec_tab.transaction_id(i) := p_ext_attr_hist_tbl(i).transaction_id;
2955 p_ext_attr_hist_rec_tab.old_attribute_value(i) := p_ext_attr_hist_tbl(i).old_attribute_value;
2956 p_ext_attr_hist_rec_tab.new_attribute_value(i) := p_ext_attr_hist_tbl(i).new_attribute_value;
2957 p_ext_attr_hist_rec_tab.old_active_start_date(i) := p_ext_attr_hist_tbl(i).old_active_start_date;
2958 p_ext_attr_hist_rec_tab.new_active_start_date(i) := p_ext_attr_hist_tbl(i).new_active_start_date;
2959 p_ext_attr_hist_rec_tab.old_active_end_date(i) := p_ext_attr_hist_tbl(i).old_active_end_date;
2960 p_ext_attr_hist_rec_tab.new_active_end_date(i) := p_ext_attr_hist_tbl(i).new_active_end_date;
2961 p_ext_attr_hist_rec_tab.old_context(i) := p_ext_attr_hist_tbl(i).old_context;
2962 p_ext_attr_hist_rec_tab.new_context(i) := p_ext_attr_hist_tbl(i).new_context;
2963 p_ext_attr_hist_rec_tab.old_attribute1(i) := p_ext_attr_hist_tbl(i).old_attribute1;
2964 p_ext_attr_hist_rec_tab.new_attribute1(i) := p_ext_attr_hist_tbl(i).new_attribute1;
2965 p_ext_attr_hist_rec_tab.old_attribute2(i) := p_ext_attr_hist_tbl(i).old_attribute2;
2966 p_ext_attr_hist_rec_tab.new_attribute2(i) := p_ext_attr_hist_tbl(i).new_attribute2;
2967 p_ext_attr_hist_rec_tab.old_attribute3(i) := p_ext_attr_hist_tbl(i).old_attribute3;
2968 p_ext_attr_hist_rec_tab.new_attribute3(i) := p_ext_attr_hist_tbl(i).new_attribute3;
2969 p_ext_attr_hist_rec_tab.old_attribute4(i) := p_ext_attr_hist_tbl(i).old_attribute4;
2970 p_ext_attr_hist_rec_tab.new_attribute4(i) := p_ext_attr_hist_tbl(i).new_attribute4;
2971 p_ext_attr_hist_rec_tab.old_attribute5(i) := p_ext_attr_hist_tbl(i).old_attribute5;
2972 p_ext_attr_hist_rec_tab.new_attribute5(i) := p_ext_attr_hist_tbl(i).new_attribute5;
2973 p_ext_attr_hist_rec_tab.old_attribute6(i) := p_ext_attr_hist_tbl(i).old_attribute6;
2974 p_ext_attr_hist_rec_tab.new_attribute6(i) := p_ext_attr_hist_tbl(i).new_attribute6;
2975 p_ext_attr_hist_rec_tab.old_attribute7(i) := p_ext_attr_hist_tbl(i).old_attribute7;
2976 p_ext_attr_hist_rec_tab.new_attribute7(i) := p_ext_attr_hist_tbl(i).new_attribute7;
2977 p_ext_attr_hist_rec_tab.old_attribute8(i) := p_ext_attr_hist_tbl(i).old_attribute8;
2978 p_ext_attr_hist_rec_tab.new_attribute8(i) := p_ext_attr_hist_tbl(i).new_attribute8;
2979 p_ext_attr_hist_rec_tab.old_attribute9(i) := p_ext_attr_hist_tbl(i).old_attribute9;
2980 p_ext_attr_hist_rec_tab.new_attribute9(i) := p_ext_attr_hist_tbl(i).new_attribute9;
2981 p_ext_attr_hist_rec_tab.old_attribute10(i) := p_ext_attr_hist_tbl(i).old_attribute10;
2982 p_ext_attr_hist_rec_tab.new_attribute10(i) := p_ext_attr_hist_tbl(i).new_attribute10;
2983 p_ext_attr_hist_rec_tab.old_attribute11(i) := p_ext_attr_hist_tbl(i).old_attribute11;
2984 p_ext_attr_hist_rec_tab.new_attribute11(i) := p_ext_attr_hist_tbl(i).new_attribute11;
2985 p_ext_attr_hist_rec_tab.old_attribute12(i) := p_ext_attr_hist_tbl(i).old_attribute12;
2986 p_ext_attr_hist_rec_tab.new_attribute12(i) := p_ext_attr_hist_tbl(i).new_attribute12;
2987 p_ext_attr_hist_rec_tab.old_attribute13(i) := p_ext_attr_hist_tbl(i).old_attribute13;
2988 p_ext_attr_hist_rec_tab.new_attribute13(i) := p_ext_attr_hist_tbl(i).new_attribute13;
2989 p_ext_attr_hist_rec_tab.old_attribute14(i) := p_ext_attr_hist_tbl(i).old_attribute14;
2990 p_ext_attr_hist_rec_tab.new_attribute14(i) := p_ext_attr_hist_tbl(i).new_attribute14;
2991 p_ext_attr_hist_rec_tab.old_attribute15(i) := p_ext_attr_hist_tbl(i).old_attribute15;
2992 p_ext_attr_hist_rec_tab.new_attribute15(i) := p_ext_attr_hist_tbl(i).new_attribute15;
2993 p_ext_attr_hist_rec_tab.instance_id(i) := p_ext_attr_hist_tbl(i).instance_id;
2994 p_ext_attr_hist_rec_tab.attribute_code(i) := p_ext_attr_hist_tbl(i).attribute_code;
2995
2996 END LOOP;
2997 END Build_Ext_Attr_Hist_Rec_Table;
2998 --
2999 PROCEDURE Build_Asset_Rec_Table
3000 (
3001 p_asset_tbl IN csi_datastructures_pub.instance_asset_tbl
3002 ,p_asset_rec_tab IN OUT NOCOPY csi_item_instance_grp.instance_asset_rec_tab
3003 ) IS
3004
3005 BEGIN
3006 FOR i in p_asset_tbl.FIRST .. p_asset_tbl.LAST LOOP
3007
3008 p_asset_rec_tab.instance_asset_id(i) := p_asset_tbl(i).instance_asset_id;
3009 p_asset_rec_tab.instance_id(i) := p_asset_tbl(i).instance_id;
3010 p_asset_rec_tab.fa_asset_id(i) := p_asset_tbl(i).fa_asset_id;
3011 p_asset_rec_tab.fa_book_type_code(i) := p_asset_tbl(i).fa_book_type_code;
3012 p_asset_rec_tab.fa_location_id(i) := p_asset_tbl(i).fa_location_id;
3013 p_asset_rec_tab.asset_quantity(i) := p_asset_tbl(i).asset_quantity;
3014 p_asset_rec_tab.update_status(i) := p_asset_tbl(i).update_status;
3015 p_asset_rec_tab.active_start_date(i) := p_asset_tbl(i).active_start_date;
3016 p_asset_rec_tab.active_end_date(i) := p_asset_tbl(i).active_end_date;
3017 p_asset_rec_tab.object_version_number(i) := p_asset_tbl(i).object_version_number;
3018 p_asset_rec_tab.check_for_instance_expiry(i) := p_asset_tbl(i).check_for_instance_expiry;
3019 p_asset_rec_tab.parent_tbl_index(i) := p_asset_tbl(i).parent_tbl_index;
3020 p_asset_rec_tab.fa_sync_flag(i) := p_asset_tbl(i).fa_sync_flag;
3021
3022 END LOOP;
3023 END Build_Asset_Rec_Table;
3024 --
3025 PROCEDURE Build_Asset_Hist_Rec_Table
3026 (
3027 p_asset_hist_tbl IN csi_datastructures_pub.ins_asset_history_tbl
3028 ,p_asset_hist_rec_tab IN OUT NOCOPY csi_item_instance_grp.ins_asset_history_rec_tab
3029 ) IS
3030 BEGIN
3031 FOR i in p_asset_hist_tbl.FIRST .. p_asset_hist_tbl.LAST LOOP
3032
3033 p_asset_hist_rec_tab.instance_asset_history_id(i) := p_asset_hist_tbl(i).instance_asset_history_id;
3034 p_asset_hist_rec_tab.transaction_id(i) := p_asset_hist_tbl(i).transaction_id;
3035 p_asset_hist_rec_tab.instance_asset_id(i) := p_asset_hist_tbl(i).instance_asset_id;
3036 p_asset_hist_rec_tab.old_instance_id(i) := p_asset_hist_tbl(i).old_instance_id;
3037 p_asset_hist_rec_tab.new_instance_id(i) := p_asset_hist_tbl(i).new_instance_id;
3038 p_asset_hist_rec_tab.old_fa_asset_id(i) := p_asset_hist_tbl(i).old_fa_asset_id;
3039 p_asset_hist_rec_tab.new_fa_asset_id(i) := p_asset_hist_tbl(i).new_fa_asset_id;
3040 p_asset_hist_rec_tab.old_fa_book_type_code(i) := p_asset_hist_tbl(i).old_fa_book_type_code;
3041 p_asset_hist_rec_tab.new_fa_book_type_code(i) := p_asset_hist_tbl(i).new_fa_book_type_code;
3042 p_asset_hist_rec_tab.old_fa_location_id(i) := p_asset_hist_tbl(i).old_fa_location_id;
3043 p_asset_hist_rec_tab.new_fa_location_id(i) := p_asset_hist_tbl(i).new_fa_location_id;
3044 p_asset_hist_rec_tab.old_asset_quantity(i) := p_asset_hist_tbl(i).old_asset_quantity;
3045 p_asset_hist_rec_tab.new_asset_quantity(i) := p_asset_hist_tbl(i).new_asset_quantity;
3046 p_asset_hist_rec_tab.old_update_status(i) := p_asset_hist_tbl(i).old_update_status;
3047 p_asset_hist_rec_tab.new_update_status(i) := p_asset_hist_tbl(i).new_update_status;
3048 p_asset_hist_rec_tab.old_active_start_date(i) := p_asset_hist_tbl(i).old_active_start_date;
3049 p_asset_hist_rec_tab.new_active_start_date(i) := p_asset_hist_tbl(i).new_active_start_date;
3050 p_asset_hist_rec_tab.old_active_end_date(i) := p_asset_hist_tbl(i).old_active_end_date;
3051 p_asset_hist_rec_tab.new_active_end_date(i) := p_asset_hist_tbl(i).new_active_end_date;
3052 p_asset_hist_rec_tab.old_asset_number(i) := p_asset_hist_tbl(i).old_asset_number;
3053 p_asset_hist_rec_tab.new_asset_number(i) := p_asset_hist_tbl(i).new_asset_number;
3054 p_asset_hist_rec_tab.old_serial_number(i) := p_asset_hist_tbl(i).old_serial_number;
3055 p_asset_hist_rec_tab.new_serial_number(i) := p_asset_hist_tbl(i).new_serial_number;
3056 p_asset_hist_rec_tab.old_tag_number(i) := p_asset_hist_tbl(i).old_tag_number;
3057 p_asset_hist_rec_tab.new_tag_number(i) := p_asset_hist_tbl(i).new_tag_number;
3058 p_asset_hist_rec_tab.old_category(i) := p_asset_hist_tbl(i).old_category;
3059 p_asset_hist_rec_tab.new_category(i) := p_asset_hist_tbl(i).new_category;
3060 p_asset_hist_rec_tab.old_fa_location_segment1(i) := p_asset_hist_tbl(i).old_fa_location_segment1;
3061 p_asset_hist_rec_tab.new_fa_location_segment1(i) := p_asset_hist_tbl(i).new_fa_location_segment1;
3062 p_asset_hist_rec_tab.old_fa_location_segment2(i) := p_asset_hist_tbl(i).old_fa_location_segment2;
3063 p_asset_hist_rec_tab.new_fa_location_segment2(i) := p_asset_hist_tbl(i).new_fa_location_segment2;
3064 p_asset_hist_rec_tab.old_fa_location_segment3(i) := p_asset_hist_tbl(i).old_fa_location_segment3;
3065 p_asset_hist_rec_tab.new_fa_location_segment3(i) := p_asset_hist_tbl(i).new_fa_location_segment3;
3066 p_asset_hist_rec_tab.old_fa_location_segment4(i) := p_asset_hist_tbl(i).old_fa_location_segment4;
3067 p_asset_hist_rec_tab.new_fa_location_segment4(i) := p_asset_hist_tbl(i).new_fa_location_segment4;
3068 p_asset_hist_rec_tab.old_fa_location_segment5(i) := p_asset_hist_tbl(i).old_fa_location_segment5;
3069 p_asset_hist_rec_tab.new_fa_location_segment5(i) := p_asset_hist_tbl(i).new_fa_location_segment5;
3070 p_asset_hist_rec_tab.old_fa_location_segment6(i) := p_asset_hist_tbl(i).old_fa_location_segment6;
3071 p_asset_hist_rec_tab.new_fa_location_segment6(i) := p_asset_hist_tbl(i).new_fa_location_segment6;
3072 p_asset_hist_rec_tab.old_fa_location_segment7(i) := p_asset_hist_tbl(i).old_fa_location_segment7;
3073 p_asset_hist_rec_tab.new_fa_location_segment7(i) := p_asset_hist_tbl(i).new_fa_location_segment7;
3074 p_asset_hist_rec_tab.old_date_placed_in_service(i) := p_asset_hist_tbl(i).old_date_placed_in_service;
3075 p_asset_hist_rec_tab.new_date_placed_in_service(i) := p_asset_hist_tbl(i).new_date_placed_in_service;
3076 p_asset_hist_rec_tab.old_description(i) := p_asset_hist_tbl(i).old_description;
3077 p_asset_hist_rec_tab.new_description(i) := p_asset_hist_tbl(i).new_description;
3078 p_asset_hist_rec_tab.old_employee_name(i) := p_asset_hist_tbl(i).old_employee_name;
3079 p_asset_hist_rec_tab.new_employee_name(i) := p_asset_hist_tbl(i).new_employee_name;
3080 p_asset_hist_rec_tab.old_expense_account_number(i) := p_asset_hist_tbl(i).old_expense_account_number;
3081 p_asset_hist_rec_tab.new_expense_account_number(i) := p_asset_hist_tbl(i).new_expense_account_number;
3082 p_asset_hist_rec_tab.instance_id(i) := p_asset_hist_tbl(i).instance_id;
3083 p_asset_hist_rec_tab.old_fa_sync_flag(i) := p_asset_hist_tbl(i).old_fa_sync_flag;
3084 p_asset_hist_rec_tab.new_fa_sync_flag(i) := p_asset_hist_tbl(i).new_fa_sync_flag;
3085
3086 END LOOP;
3087 END Build_Asset_Hist_Rec_Table;
3088 --
3089 PROCEDURE Bulk_Insert
3090 (
3091 p_inst_tbl IN csi_datastructures_pub.instance_tbl
3092 ,p_txn_tbl IN csi_datastructures_pub.transaction_tbl
3093 ,p_inst_hist_tbl IN csi_datastructures_pub.instance_history_tbl
3094 ,p_version_label_tbl IN csi_datastructures_pub.version_label_tbl
3095 ,p_ver_label_hist_tbl IN csi_datastructures_pub.version_label_history_tbl
3096 ,p_party_tbl IN csi_datastructures_pub.party_tbl
3097 ,p_party_hist_tbl IN csi_datastructures_pub.party_history_tbl
3098 ,p_account_tbl IN csi_datastructures_pub.party_account_tbl
3099 ,p_acct_hist_tbl IN csi_datastructures_pub.account_history_tbl
3100 ,p_owner_pty_acct_tbl IN csi_item_instance_pvt.owner_pty_acct_tbl
3101 ,p_org_units_tbl IN csi_datastructures_pub.organization_units_tbl
3102 ,p_org_units_hist_tbl IN csi_datastructures_pub.org_units_history_tbl
3103 ,p_pricing_tbl IN csi_datastructures_pub.pricing_attribs_tbl
3104 ,p_pricing_hist_tbl IN csi_datastructures_pub.pricing_history_tbl
3105 ,p_ext_attr_values_tbl IN csi_datastructures_pub.extend_attrib_values_tbl
3106 ,p_ext_attr_val_hist_tbl IN csi_datastructures_pub.ext_attrib_val_history_tbl
3107 ,p_asset_tbl IN csi_datastructures_pub.instance_asset_tbl
3108 ,p_asset_hist_tbl IN csi_datastructures_pub.ins_asset_history_tbl
3109 ,x_return_status OUT NOCOPY VARCHAR2
3110 ) IS
3111 --
3112 l_inst_rec_tab csi_item_instance_grp.instance_rec_tab;
3113 l_inst_hist_rec_tab csi_item_instance_grp.instance_history_rec_tab;
3114 l_version_label_rec_tab csi_item_instance_grp.version_label_rec_tab;
3115 l_ver_label_hist_rec_tab csi_item_instance_grp.ver_label_history_rec_tab;
3116 l_party_rec_tab csi_item_instance_grp.party_rec_tab;
3117 l_party_hist_rec_tab csi_item_instance_grp.party_history_rec_tab;
3118 l_account_rec_tab csi_item_instance_grp.account_rec_tab;
3119 l_acct_hist_rec_tab csi_item_instance_grp.account_history_rec_tab;
3120 l_txn_rec_tab csi_item_instance_grp.transaction_rec_tab;
3121 l_owner_pty_acct_rec_tab csi_item_instance_pvt.owner_pty_acct_rec_tab;
3122 l_ext_attr_rec_tab csi_item_instance_grp.extend_attrib_values_rec_tab;
3123 l_ext_attr_hist_rec_tab csi_item_instance_grp.ext_attrib_val_hist_rec_tab;
3124 l_asset_rec_tab csi_item_instance_grp.instance_asset_rec_tab;
3125 l_asset_hist_rec_tab csi_item_instance_grp.ins_asset_history_rec_tab;
3126 l_org_units_rec_tab csi_item_instance_grp.org_units_rec_tab;
3127 l_org_hist_rec_tab csi_item_instance_grp.org_units_history_rec_tab;
3128 l_pricing_rec_tab csi_item_instance_grp.pricing_attribs_rec_tab;
3129 l_pricing_hist_rec_tab csi_item_instance_grp.pricing_attribs_hist_rec_tab;
3130 --
3131 l_user_id NUMBER := FND_GLOBAL.USER_ID;
3132 l_login_id NUMBER := FND_GLOBAL.CONC_LOGIN_ID;
3133 l_ctr NUMBER;
3134 BEGIN
3135 SAVEPOINT Bulk_Insert;
3136 --
3137 x_return_status := FND_API.G_RET_STS_SUCCESS;
3138 --
3139 IF p_inst_tbl.count > 0 THEN
3140 Build_Inst_Rec_of_Table
3141 ( p_inst_tbl => p_inst_tbl
3142 ,p_inst_rec_tab => l_inst_rec_tab
3143 );
3144 --
3145 l_ctr := l_inst_rec_tab.instance_id.count;
3146 FORALL i in 1 .. l_ctr
3147 INSERT INTO CSI_ITEM_INSTANCES(
3148 INSTANCE_ID,
3149 INSTANCE_NUMBER,
3150 EXTERNAL_REFERENCE,
3151 INVENTORY_ITEM_ID,
3152 INVENTORY_REVISION,
3153 INV_MASTER_ORGANIZATION_ID,
3154 SERIAL_NUMBER,
3155 MFG_SERIAL_NUMBER_FLAG,
3156 LOT_NUMBER,
3157 QUANTITY,
3158 UNIT_OF_MEASURE,
3159 ACCOUNTING_CLASS_CODE,
3160 INSTANCE_CONDITION_ID,
3161 INSTANCE_STATUS_ID,
3162 CUSTOMER_VIEW_FLAG,
3163 MERCHANT_VIEW_FLAG,
3164 SELLABLE_FLAG,
3165 SYSTEM_ID,
3166 INSTANCE_TYPE_CODE,
3167 ACTIVE_START_DATE,
3168 ACTIVE_END_DATE,
3169 LOCATION_TYPE_CODE,
3170 LOCATION_ID,
3171 INV_ORGANIZATION_ID,
3172 INV_SUBINVENTORY_NAME,
3173 INV_LOCATOR_ID,
3174 PA_PROJECT_ID,
3175 PA_PROJECT_TASK_ID,
3176 IN_TRANSIT_ORDER_LINE_ID,
3177 WIP_JOB_ID,
3178 PO_ORDER_LINE_ID,
3179 LAST_OE_ORDER_LINE_ID,
3180 LAST_OE_RMA_LINE_ID,
3181 LAST_PO_PO_LINE_ID,
3182 LAST_OE_PO_NUMBER,
3183 LAST_WIP_JOB_ID,
3184 LAST_PA_PROJECT_ID,
3185 LAST_PA_TASK_ID,
3186 LAST_OE_AGREEMENT_ID,
3187 INSTALL_DATE,
3188 MANUALLY_CREATED_FLAG,
3189 RETURN_BY_DATE,
3190 ACTUAL_RETURN_DATE,
3191 CREATION_COMPLETE_FLAG,
3192 COMPLETENESS_FLAG,
3193 CONTEXT,
3194 ATTRIBUTE1,
3195 ATTRIBUTE2,
3196 ATTRIBUTE3,
3197 ATTRIBUTE4,
3198 ATTRIBUTE5,
3199 ATTRIBUTE6,
3200 ATTRIBUTE7,
3201 ATTRIBUTE8,
3202 ATTRIBUTE9,
3203 ATTRIBUTE10,
3204 ATTRIBUTE11,
3205 ATTRIBUTE12,
3206 ATTRIBUTE13,
3207 ATTRIBUTE14,
3208 ATTRIBUTE15,
3209 CREATED_BY,
3210 CREATION_DATE,
3211 LAST_UPDATED_BY,
3212 LAST_UPDATE_DATE,
3213 LAST_UPDATE_LOGIN,
3214 OBJECT_VERSION_NUMBER,
3215 LAST_TXN_LINE_DETAIL_ID,
3216 INSTALL_LOCATION_TYPE_CODE,
3217 INSTALL_LOCATION_ID,
3218 INSTANCE_USAGE_CODE,
3219 LAST_VLD_ORGANIZATION_ID,
3220 CONFIG_INST_HDR_ID,
3221 CONFIG_INST_REV_NUM,
3222 CONFIG_INST_ITEM_ID,
3223 CONFIG_VALID_STATUS,
3224 INSTANCE_DESCRIPTION,
3225 NETWORK_ASSET_FLAG,
3226 MAINTAINABLE_FLAG ,
3227 ASSET_CRITICALITY_CODE,
3228 CATEGORY_ID ,
3229 EQUIPMENT_GEN_OBJECT_ID,
3230 INSTANTIATION_FLAG ,
3231 OPERATIONAL_LOG_FLAG ,
3232 SUPPLIER_WARRANTY_EXP_DATE,
3233 ATTRIBUTE16 ,
3234 ATTRIBUTE17 ,
3235 ATTRIBUTE18 ,
3236 ATTRIBUTE19 ,
3237 ATTRIBUTE20 ,
3238 ATTRIBUTE21 ,
3239 ATTRIBUTE22 ,
3240 ATTRIBUTE23 ,
3241 ATTRIBUTE24 ,
3242 ATTRIBUTE25 ,
3243 ATTRIBUTE26 ,
3244 ATTRIBUTE27 ,
3245 ATTRIBUTE28 ,
3246 ATTRIBUTE29 ,
3247 ATTRIBUTE30 ,
3248 PURCHASE_UNIT_PRICE ,
3249 PURCHASE_CURRENCY_CODE ,
3250 PAYABLES_UNIT_PRICE ,
3251 PAYABLES_CURRENCY_CODE ,
3252 SALES_UNIT_PRICE ,
3253 SALES_CURRENCY_CODE ,
3254 OPERATIONAL_STATUS_CODE
3255 ) VALUES(
3256 l_inst_rec_tab.INSTANCE_ID(i),
3257 decode( l_inst_rec_tab.INSTANCE_NUMBER(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.INSTANCE_NUMBER(i)),
3258 decode( l_inst_rec_tab.EXTERNAL_REFERENCE(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.EXTERNAL_REFERENCE(i)),
3259 decode( l_inst_rec_tab.INVENTORY_ITEM_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.INVENTORY_ITEM_ID(i)),
3260 decode( l_inst_rec_tab.INVENTORY_REVISION(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.INVENTORY_REVISION(i)),
3261 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)),
3262 decode( l_inst_rec_tab.SERIAL_NUMBER(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.SERIAL_NUMBER(i)),
3263 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)),
3264 decode( l_inst_rec_tab.LOT_NUMBER(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.LOT_NUMBER(i)),
3265 decode( l_inst_rec_tab.QUANTITY(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.QUANTITY(i)),
3266 decode( l_inst_rec_tab.UNIT_OF_MEASURE(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.UNIT_OF_MEASURE(i)),
3267 decode( l_inst_rec_tab.ACCOUNTING_CLASS_CODE(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ACCOUNTING_CLASS_CODE(i)),
3268 decode( l_inst_rec_tab.INSTANCE_CONDITION_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.INSTANCE_CONDITION_ID(i)),
3269 decode( l_inst_rec_tab.INSTANCE_STATUS_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.INSTANCE_STATUS_ID(i)),
3270 decode( l_inst_rec_tab.CUSTOMER_VIEW_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.CUSTOMER_VIEW_FLAG(i)),
3271 decode( l_inst_rec_tab.MERCHANT_VIEW_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.MERCHANT_VIEW_FLAG(i)),
3272 decode( l_inst_rec_tab.SELLABLE_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.SELLABLE_FLAG(i)),
3273 decode( l_inst_rec_tab.SYSTEM_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.SYSTEM_ID(i)),
3274 decode( l_inst_rec_tab.INSTANCE_TYPE_CODE(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.INSTANCE_TYPE_CODE(i)),
3275 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)),
3276 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)),
3277 decode( l_inst_rec_tab.LOCATION_TYPE_CODE(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.LOCATION_TYPE_CODE(i)),
3278 decode( l_inst_rec_tab.LOCATION_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.LOCATION_ID(i)),
3279 decode( l_inst_rec_tab.INV_ORGANIZATION_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.INV_ORGANIZATION_ID(i)),
3280 decode( l_inst_rec_tab.INV_SUBINVENTORY_NAME(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.INV_SUBINVENTORY_NAME(i)),
3281 decode( l_inst_rec_tab.INV_LOCATOR_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.INV_LOCATOR_ID(i)),
3282 decode( l_inst_rec_tab.PA_PROJECT_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.PA_PROJECT_ID(i)),
3283 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)),
3284 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)),
3285 decode( l_inst_rec_tab.WIP_JOB_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.WIP_JOB_ID(i)),
3286 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)),
3287 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)),
3288 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)),
3289 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)),
3290 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)),
3291 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)),
3292 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)),
3293 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)),
3294 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)),
3295 decode( l_inst_rec_tab.INSTALL_DATE(i), FND_API.G_MISS_DATE, TO_DATE(NULL), l_inst_rec_tab.INSTALL_DATE(i)),
3296 decode( l_inst_rec_tab.MANUALLY_CREATED_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.MANUALLY_CREATED_FLAG(i)),
3297 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)),
3298 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)),
3299 decode( l_inst_rec_tab.CREATION_COMPLETE_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.CREATION_COMPLETE_FLAG(i)),
3300 decode( l_inst_rec_tab.COMPLETENESS_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.COMPLETENESS_FLAG(i)),
3301 decode( l_inst_rec_tab.CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.CONTEXT(i)),
3302 decode( l_inst_rec_tab.ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE1(i)),
3303 decode( l_inst_rec_tab.ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE2(i)),
3304 decode( l_inst_rec_tab.ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE3(i)),
3305 decode( l_inst_rec_tab.ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE4(i)),
3306 decode( l_inst_rec_tab.ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE5(i)),
3307 decode( l_inst_rec_tab.ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE6(i)),
3308 decode( l_inst_rec_tab.ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE7(i)),
3309 decode( l_inst_rec_tab.ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE8(i)),
3310 decode( l_inst_rec_tab.ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE9(i)),
3311 decode( l_inst_rec_tab.ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE10(i)),
3312 decode( l_inst_rec_tab.ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE11(i)),
3313 decode( l_inst_rec_tab.ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE12(i)),
3314 decode( l_inst_rec_tab.ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE13(i)),
3315 decode( l_inst_rec_tab.ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE14(i)),
3316 decode( l_inst_rec_tab.ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE15(i)),
3317 l_user_id,
3318 SYSDATE,
3319 l_user_id,
3320 SYSDATE,
3321 l_login_id,
3322 1,
3323 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)),
3324 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)),
3325 decode( l_inst_rec_tab.INSTALL_LOCATION_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.INSTALL_LOCATION_ID(i)),
3326 decode( l_inst_rec_tab.INSTANCE_USAGE_CODE(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.INSTANCE_USAGE_CODE(i)),
3327 decode( l_inst_rec_tab.vld_organization_id(i), FND_API.G_MISS_NUM, NULL, l_inst_rec_tab.vld_organization_id(i)),
3328 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)),
3329 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)),
3330 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)),
3331 decode( l_inst_rec_tab.CONFIG_VALID_STATUS(i), FND_API.G_MISS_CHAR, NULL,l_inst_rec_tab.CONFIG_VALID_STATUS(i)),
3332 decode( l_inst_rec_tab.INSTANCE_DESCRIPTION(i), FND_API.G_MISS_CHAR, NULL,l_inst_rec_tab.INSTANCE_DESCRIPTION(i)),
3333 decode( l_inst_rec_tab.NETWORK_ASSET_FLAG(i), FND_API.G_MISS_CHAR, NULL,l_inst_rec_tab.NETWORK_ASSET_FLAG(i)),
3334 decode( l_inst_rec_tab.MAINTAINABLE_FLAG(i), FND_API.G_MISS_CHAR, NULL,l_inst_rec_tab.MAINTAINABLE_FLAG(i)),
3335 decode( l_inst_rec_tab.ASSET_CRITICALITY_CODE(i), FND_API.G_MISS_CHAR, NULL,l_inst_rec_tab.ASSET_CRITICALITY_CODE(i)),
3336 decode( l_inst_rec_tab.CATEGORY_ID(i), FND_API.G_MISS_NUM, NULL,l_inst_rec_tab.CATEGORY_ID(i)),
3337 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)),
3338 decode( l_inst_rec_tab.INSTANTIATION_FLAG(i), FND_API.G_MISS_CHAR, NULL,l_inst_rec_tab.INSTANTIATION_FLAG(i)),
3339 decode( l_inst_rec_tab.OPERATIONAL_LOG_FLAG(i), FND_API.G_MISS_CHAR, NULL,l_inst_rec_tab.OPERATIONAL_LOG_FLAG(i)),
3340 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)),
3341 decode( l_inst_rec_tab.ATTRIBUTE16(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE16(i)),
3342 decode( l_inst_rec_tab.ATTRIBUTE17(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE17(i)),
3343 decode( l_inst_rec_tab.ATTRIBUTE18(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE18(i)),
3344 decode( l_inst_rec_tab.ATTRIBUTE19(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE19(i)),
3345 decode( l_inst_rec_tab.ATTRIBUTE20(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE20(i)),
3346 decode( l_inst_rec_tab.ATTRIBUTE21(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE21(i)),
3347 decode( l_inst_rec_tab.ATTRIBUTE22(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE22(i)),
3348 decode( l_inst_rec_tab.ATTRIBUTE23(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE23(i)),
3349 decode( l_inst_rec_tab.ATTRIBUTE24(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE24(i)),
3350 decode( l_inst_rec_tab.ATTRIBUTE25(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE25(i)),
3351 decode( l_inst_rec_tab.ATTRIBUTE26(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE26(i)),
3352 decode( l_inst_rec_tab.ATTRIBUTE27(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE27(i)),
3353 decode( l_inst_rec_tab.ATTRIBUTE28(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE28(i)),
3354 decode( l_inst_rec_tab.ATTRIBUTE29(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE29(i)),
3355 decode( l_inst_rec_tab.ATTRIBUTE30(i), FND_API.G_MISS_CHAR, NULL, l_inst_rec_tab.ATTRIBUTE30(i)),
3356 decode( l_inst_rec_tab.PURCHASE_UNIT_PRICE(i),FND_API.G_MISS_NUM, NULL,l_inst_rec_tab.PURCHASE_UNIT_PRICE(i)),
3357 decode( l_inst_rec_tab.PURCHASE_CURRENCY_CODE(i),FND_API.G_MISS_CHAR, NULL,l_inst_rec_tab.PURCHASE_CURRENCY_CODE(i)),
3358 decode( l_inst_rec_tab.PAYABLES_UNIT_PRICE(i),FND_API.G_MISS_NUM, NULL,l_inst_rec_tab.PAYABLES_UNIT_PRICE(i)),
3359 decode( l_inst_rec_tab.PAYABLES_CURRENCY_CODE(i),FND_API.G_MISS_CHAR, NULL,l_inst_rec_tab.PAYABLES_CURRENCY_CODE(i)),
3360 decode(l_inst_rec_tab.SALES_UNIT_PRICE(i),FND_API.G_MISS_NUM, NULL,l_inst_rec_tab.SALES_UNIT_PRICE(i)),
3361 decode( l_inst_rec_tab.SALES_CURRENCY_CODE(i),FND_API.G_MISS_CHAR, NULL,l_inst_rec_tab.SALES_CURRENCY_CODE(i)),
3362 decode( l_inst_rec_tab.OPERATIONAL_STATUS_CODE(i),FND_API.G_MISS_CHAR, NULL,l_inst_rec_tab.OPERATIONAL_STATUS_CODE(i))
3363 );
3364 END IF;
3365 --
3366 IF p_txn_tbl.count > 0 THEN
3367 Build_Txn_Rec_of_Table
3368 (
3369 p_txn_tbl => p_txn_tbl
3370 ,p_txn_rec_tab => l_txn_rec_tab
3371 );
3372 --
3373 l_ctr := l_txn_rec_tab.transaction_id.count;
3374 --
3375 FORALL i in 1 .. l_ctr
3376 INSERT INTO CSI_TRANSACTIONS(
3377 transaction_id,
3378 transaction_date,
3379 source_transaction_date,
3380 transaction_type_id,
3381 txn_sub_type_id,
3382 source_group_ref_id,
3383 source_group_ref,
3384 source_header_ref_id,
3385 source_header_ref,
3386 source_line_ref_id,
3387 source_line_ref,
3388 source_dist_ref_id1,
3389 source_dist_ref_id2,
3390 inv_material_transaction_id,
3391 transaction_quantity,
3392 transaction_uom_code,
3393 transacted_by,
3394 transaction_status_code,
3395 transaction_action_code,
3396 message_id,
3397 context,
3398 attribute1,
3399 attribute2,
3400 attribute3,
3401 attribute4,
3402 attribute5,
3403 attribute6,
3404 attribute7,
3405 attribute8,
3406 attribute9,
3407 attribute10,
3408 attribute11,
3409 attribute12,
3410 attribute13,
3411 attribute14,
3412 attribute15,
3413 created_by,
3414 creation_date,
3415 last_updated_by,
3416 last_update_date,
3417 last_update_login,
3418 object_version_number,
3419 split_reason_code,
3420 gl_interface_status_code
3421 ) VALUES (
3422 l_txn_rec_tab.transaction_id(i),
3423 decode( l_txn_rec_tab.transaction_date(i), fnd_api.g_miss_date, to_date(null), l_txn_rec_tab.transaction_date(i)),
3424 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)),
3425 decode( l_txn_rec_tab.transaction_type_id(i), fnd_api.g_miss_num, null, l_txn_rec_tab.transaction_type_id(i)),
3426 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)),
3427 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)),
3428 decode( l_txn_rec_tab.source_group_ref(i), fnd_api.g_miss_char, null, l_txn_rec_tab.source_group_ref(i)),
3429 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)),
3430 decode( l_txn_rec_tab.source_header_ref(i), fnd_api.g_miss_char, null, l_txn_rec_tab.source_header_ref(i)),
3431 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)),
3432 decode( l_txn_rec_tab.source_line_ref(i), fnd_api.g_miss_char, null, l_txn_rec_tab.source_line_ref(i)),
3433 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)),
3434 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)),
3435 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)),
3436 decode( l_txn_rec_tab.transaction_quantity(i), fnd_api.g_miss_num, null, l_txn_rec_tab.transaction_quantity(i)),
3437 decode( l_txn_rec_tab.transaction_uom_code(i), fnd_api.g_miss_char, null, l_txn_rec_tab.transaction_uom_code(i)),
3438 decode( l_txn_rec_tab.transacted_by(i), fnd_api.g_miss_num, null, l_txn_rec_tab.transacted_by(i)),
3439 decode( l_txn_rec_tab.transaction_status_code(i), fnd_api.g_miss_char, null, l_txn_rec_tab.transaction_status_code(i)),
3440 decode( l_txn_rec_tab.transaction_action_code(i), fnd_api.g_miss_char, null, l_txn_rec_tab.transaction_action_code(i)),
3441 decode( l_txn_rec_tab.message_id(i), fnd_api.g_miss_num, null, l_txn_rec_tab.message_id(i)),
3442 decode( l_txn_rec_tab.context(i), fnd_api.g_miss_char, null, l_txn_rec_tab.context(i)),
3443 decode( l_txn_rec_tab.attribute1(i), fnd_api.g_miss_char, null, l_txn_rec_tab.attribute1(i)),
3444 decode( l_txn_rec_tab.attribute2(i), fnd_api.g_miss_char, null, l_txn_rec_tab.attribute2(i)),
3445 decode( l_txn_rec_tab.attribute3(i), fnd_api.g_miss_char, null, l_txn_rec_tab.attribute3(i)),
3446 decode( l_txn_rec_tab.attribute4(i), fnd_api.g_miss_char, null, l_txn_rec_tab.attribute4(i)),
3447 decode( l_txn_rec_tab.attribute5(i), fnd_api.g_miss_char, null, l_txn_rec_tab.attribute5(i)),
3448 decode( l_txn_rec_tab.attribute6(i), fnd_api.g_miss_char, null, l_txn_rec_tab.attribute6(i)),
3449 decode( l_txn_rec_tab.attribute7(i), fnd_api.g_miss_char, null, l_txn_rec_tab.attribute7(i)),
3450 decode( l_txn_rec_tab.attribute8(i), fnd_api.g_miss_char, null, l_txn_rec_tab.attribute8(i)),
3451 decode( l_txn_rec_tab.attribute9(i), fnd_api.g_miss_char, null, l_txn_rec_tab.attribute9(i)),
3452 decode( l_txn_rec_tab.attribute10(i), fnd_api.g_miss_char, null, l_txn_rec_tab.attribute10(i)),
3453 decode( l_txn_rec_tab.attribute11(i), fnd_api.g_miss_char, null, l_txn_rec_tab.attribute11(i)),
3454 decode( l_txn_rec_tab.attribute12(i), fnd_api.g_miss_char, null, l_txn_rec_tab.attribute12(i)),
3455 decode( l_txn_rec_tab.attribute13(i), fnd_api.g_miss_char, null, l_txn_rec_tab.attribute13(i)),
3456 decode( l_txn_rec_tab.attribute14(i), fnd_api.g_miss_char, null, l_txn_rec_tab.attribute14(i)),
3457 decode( l_txn_rec_tab.attribute15(i), fnd_api.g_miss_char, null, l_txn_rec_tab.attribute15(i)),
3458 l_user_id,
3459 SYSDATE,
3460 l_user_id,
3461 SYSDATE,
3462 l_login_id,
3463 1,
3464 decode( l_txn_rec_tab.split_reason_code(i), fnd_api.g_miss_char, null, l_txn_rec_tab.split_reason_code(i)),
3465 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))
3466 );
3467 END IF;
3468 --
3469 IF p_inst_hist_tbl.count > 0 THEN
3470 Build_Inst_Hist_Rec_of_Table
3471 ( p_inst_hist_tbl => p_inst_hist_tbl
3472 ,p_inst_hist_rec_tab => l_inst_hist_rec_tab
3473 );
3474 --
3475 l_ctr := l_inst_hist_rec_tab.instance_history_id.count;
3476 --
3477 FORALL i in 1 .. l_ctr
3478 INSERT INTO CSI_ITEM_INSTANCES_H(
3479 INSTANCE_HISTORY_ID,
3480 INSTANCE_ID,
3481 TRANSACTION_ID,
3482 OLD_INSTANCE_NUMBER,
3483 NEW_INSTANCE_NUMBER,
3484 OLD_EXTERNAL_REFERENCE,
3485 NEW_EXTERNAL_REFERENCE,
3486 OLD_INVENTORY_ITEM_ID,
3487 NEW_INVENTORY_ITEM_ID,
3488 OLD_INVENTORY_REVISION,
3489 NEW_INVENTORY_REVISION,
3490 OLD_INV_MASTER_ORGANIZATION_ID,
3491 NEW_INV_MASTER_ORGANIZATION_ID,
3492 OLD_SERIAL_NUMBER,
3493 NEW_SERIAL_NUMBER ,
3494 OLD_MFG_SERIAL_NUMBER_FLAG,
3495 NEW_MFG_SERIAL_NUMBER_FLAG,
3496 OLD_LOT_NUMBER,
3497 NEW_LOT_NUMBER,
3498 OLD_QUANTITY,
3499 NEW_QUANTITY,
3500 OLD_UNIT_OF_MEASURE,
3501 NEW_UNIT_OF_MEASURE,
3502 OLD_ACCOUNTING_CLASS_CODE,
3503 NEW_ACCOUNTING_CLASS_CODE,
3504 OLD_INSTANCE_CONDITION_ID,
3505 NEW_INSTANCE_CONDITION_ID,
3506 OLD_INSTANCE_STATUS_ID,
3507 NEW_INSTANCE_STATUS_ID,
3508 OLD_CUSTOMER_VIEW_FLAG,
3509 NEW_CUSTOMER_VIEW_FLAG,
3510 OLD_MERCHANT_VIEW_FLAG,
3511 NEW_MERCHANT_VIEW_FLAG,
3512 OLD_SELLABLE_FLAG,
3513 NEW_SELLABLE_FLAG,
3514 OLD_SYSTEM_ID,
3515 NEW_SYSTEM_ID,
3516 OLD_INSTANCE_TYPE_CODE,
3517 NEW_INSTANCE_TYPE_CODE,
3518 OLD_ACTIVE_START_DATE,
3519 NEW_ACTIVE_START_DATE,
3520 OLD_ACTIVE_END_DATE,
3521 NEW_ACTIVE_END_DATE,
3522 OLD_LOCATION_TYPE_CODE,
3523 NEW_LOCATION_TYPE_CODE,
3524 OLD_LOCATION_ID,
3525 NEW_LOCATION_ID,
3526 OLD_INV_ORGANIZATION_ID,
3527 NEW_INV_ORGANIZATION_ID,
3528 OLD_INV_SUBINVENTORY_NAME,
3529 NEW_INV_SUBINVENTORY_NAME,
3530 OLD_INV_LOCATOR_ID,
3531 NEW_INV_LOCATOR_ID,
3532 OLD_PA_PROJECT_ID,
3533 NEW_PA_PROJECT_ID,
3534 OLD_PA_PROJECT_TASK_ID,
3535 NEW_PA_PROJECT_TASK_ID,
3536 OLD_IN_TRANSIT_ORDER_LINE_ID,
3537 NEW_IN_TRANSIT_ORDER_LINE_ID,
3538 OLD_WIP_JOB_ID,
3539 NEW_WIP_JOB_ID,
3540 OLD_PO_ORDER_LINE_ID,
3541 NEW_PO_ORDER_LINE_ID,
3542 OLD_COMPLETENESS_FLAG,
3543 NEW_COMPLETENESS_FLAG,
3544 FULL_DUMP_FLAG,
3545 OLD_CONTEXT,
3546 NEW_CONTEXT,
3547 OLD_ATTRIBUTE1,
3548 NEW_ATTRIBUTE1,
3549 OLD_ATTRIBUTE2,
3550 NEW_ATTRIBUTE2,
3551 OLD_ATTRIBUTE3,
3552 NEW_ATTRIBUTE3,
3553 OLD_ATTRIBUTE4,
3554 NEW_ATTRIBUTE4,
3555 OLD_ATTRIBUTE5,
3556 NEW_ATTRIBUTE5,
3557 OLD_ATTRIBUTE6,
3558 NEW_ATTRIBUTE6,
3559 OLD_ATTRIBUTE7,
3560 NEW_ATTRIBUTE7,
3561 OLD_ATTRIBUTE8,
3562 NEW_ATTRIBUTE8,
3563 OLD_ATTRIBUTE9,
3564 NEW_ATTRIBUTE9,
3565 OLD_ATTRIBUTE10,
3566 NEW_ATTRIBUTE10,
3567 OLD_ATTRIBUTE11,
3568 NEW_ATTRIBUTE11,
3569 OLD_ATTRIBUTE12,
3570 NEW_ATTRIBUTE12,
3571 OLD_ATTRIBUTE13,
3572 NEW_ATTRIBUTE13,
3573 OLD_ATTRIBUTE14,
3574 NEW_ATTRIBUTE14,
3575 OLD_ATTRIBUTE15,
3576 NEW_ATTRIBUTE15,
3577 CREATED_BY,
3578 CREATION_DATE,
3579 LAST_UPDATED_BY,
3580 LAST_UPDATE_DATE,
3581 LAST_UPDATE_LOGIN,
3582 OBJECT_VERSION_NUMBER,
3583 OLD_INST_LOC_TYPE_CODE,
3584 NEW_INST_LOC_TYPE_CODE,
3585 OLD_INST_LOC_ID,
3586 NEW_INST_LOC_ID,
3587 OLD_INST_USAGE_CODE,
3588 NEW_INST_USAGE_CODE,
3589 OLD_last_vld_organization_id,
3590 NEW_last_vld_organization_id,
3591 OLD_CONFIG_INST_REV_NUM ,
3592 NEW_CONFIG_INST_REV_NUM ,
3593 OLD_CONFIG_VALID_STATUS ,
3594 NEW_CONFIG_VALID_STATUS ,
3595 OLD_INSTANCE_DESCRIPTION ,
3596 NEW_INSTANCE_DESCRIPTION ,
3597 OLD_OE_AGREEMENT_ID ,
3598 NEW_OE_AGREEMENT_ID ,
3599 OLD_INSTALL_DATE ,
3600 NEW_INSTALL_DATE ,
3601 OLD_RETURN_BY_DATE ,
3602 NEW_RETURN_BY_DATE ,
3603 OLD_ACTUAL_RETURN_DATE ,
3604 NEW_ACTUAL_RETURN_DATE ,
3605 OLD_LAST_OE_ORDER_LINE_ID ,
3606 NEW_LAST_OE_ORDER_LINE_ID ,
3607 OLD_LAST_OE_RMA_LINE_ID ,
3608 NEW_LAST_OE_RMA_LINE_ID ,
3609 OLD_LAST_WIP_JOB_ID ,
3610 NEW_LAST_WIP_JOB_ID ,
3611 OLD_LAST_PO_PO_LINE_ID ,
3612 NEW_LAST_PO_PO_LINE_ID ,
3613 OLD_LAST_PA_PROJECT_ID ,
3614 NEW_LAST_PA_PROJECT_ID ,
3615 OLD_LAST_PA_TASK_ID ,
3616 NEW_LAST_PA_TASK_ID ,
3617 OLD_LAST_TXN_LINE_DETAIL_ID ,
3618 NEW_LAST_TXN_LINE_DETAIL_ID ,
3619 OLD_LAST_OE_PO_NUMBER ,
3620 NEW_LAST_OE_PO_NUMBER,
3621
3622 OLD_NETWORK_ASSET_FLAG,
3623 NEW_NETWORK_ASSET_FLAG,
3624 OLD_MAINTAINABLE_FLAG,
3625 NEW_MAINTAINABLE_FLAG,
3626 OLD_ASSET_CRITICALITY_CODE,
3627 NEW_ASSET_CRITICALITY_CODE,
3628 OLD_CATEGORY_ID ,
3629 NEW_CATEGORY_ID ,
3630 OLD_EQUIPMENT_GEN_OBJECT_ID,
3631 NEW_EQUIPMENT_GEN_OBJECT_ID,
3632 OLD_INSTANTIATION_FLAG ,
3633 NEW_INSTANTIATION_FLAG ,
3634 OLD_OPERATIONAL_LOG_FLAG ,
3635 NEW_OPERATIONAL_LOG_FLAG ,
3636 OLD_SUPPLIER_WARRANTY_EXP_DATE,
3637 NEW_SUPPLIER_WARRANTY_EXP_DATE,
3638 OLD_ATTRIBUTE16,
3639 NEW_ATTRIBUTE16,
3640 OLD_ATTRIBUTE17,
3641 NEW_ATTRIBUTE17,
3642 OLD_ATTRIBUTE18,
3643 NEW_ATTRIBUTE18,
3644 OLD_ATTRIBUTE19,
3645 NEW_ATTRIBUTE19,
3646 OLD_ATTRIBUTE20,
3647 NEW_ATTRIBUTE20,
3648 OLD_ATTRIBUTE21,
3649 NEW_ATTRIBUTE21,
3650 OLD_ATTRIBUTE22,
3651 NEW_ATTRIBUTE22,
3652 OLD_ATTRIBUTE23,
3653 NEW_ATTRIBUTE23,
3654 OLD_ATTRIBUTE24,
3655 NEW_ATTRIBUTE24,
3656 OLD_ATTRIBUTE25,
3657 NEW_ATTRIBUTE25,
3658 OLD_ATTRIBUTE26,
3659 NEW_ATTRIBUTE26,
3660 OLD_ATTRIBUTE27,
3661 NEW_ATTRIBUTE27,
3662 OLD_ATTRIBUTE28,
3663 NEW_ATTRIBUTE28,
3664 OLD_ATTRIBUTE29,
3665 NEW_ATTRIBUTE29,
3666 OLD_ATTRIBUTE30,
3667 NEW_ATTRIBUTE30,
3668 OLD_PAYABLES_CURRENCY_CODE,
3669 NEW_PAYABLES_CURRENCY_CODE,
3670 OLD_PURCHASE_UNIT_PRICE,
3671 NEW_PURCHASE_UNIT_PRICE,
3672 OLD_PURCHASE_CURRENCY_CODE,
3673 NEW_PURCHASE_CURRENCY_CODE,
3674 OLD_PAYABLES_UNIT_PRICE,
3675 NEW_PAYABLES_UNIT_PRICE,
3676 OLD_SALES_UNIT_PRICE,
3677 NEW_SALES_UNIT_PRICE,
3678 OLD_SALES_CURRENCY_CODE,
3679 NEW_SALES_CURRENCY_CODE,
3680 OLD_OPERATIONAL_STATUS_CODE,
3681 NEW_OPERATIONAL_STATUS_CODE
3682 )
3683 VALUES (
3684 l_inst_hist_rec_tab.INSTANCE_HISTORY_ID(i),
3685 decode( l_inst_hist_rec_tab.INSTANCE_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.INSTANCE_ID(i)),
3686 decode( l_inst_hist_rec_tab.TRANSACTION_ID(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.TRANSACTION_ID(i)),
3687 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)),
3688 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)),
3689 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)),
3690 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)),
3691 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)),
3692 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)),
3693 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)),
3694 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)),
3695 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)),
3696 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)),
3697 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)),
3698 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)),
3699 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)),
3700 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)),
3701 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)),
3702 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)),
3703 decode( l_inst_hist_rec_tab.OLD_QUANTITY(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.OLD_QUANTITY(i)),
3704 decode( l_inst_hist_rec_tab.NEW_QUANTITY(i), FND_API.G_MISS_NUM, NULL, l_inst_hist_rec_tab.NEW_QUANTITY(i)),
3705 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)),
3706 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)),
3707 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)),
3708 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)),
3709 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)),
3710 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)),
3711 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)),
3712 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)),
3713 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)),
3714 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)),
3715 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)),
3716 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)),
3717 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)),
3718 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)),
3719 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)),
3720 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)),
3721 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)),
3722 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)),
3723 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)),
3724 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)),
3725 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)),
3726 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)),
3727 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)),
3728 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)),
3729 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)),
3730 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)),
3731 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)),
3732 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)),
3733 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)),
3734 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)),
3735 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)),
3736 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)),
3737 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)),
3738 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)),
3739 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)),
3740 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)),
3741 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)),
3742 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)),
3743 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)),
3744 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)),
3745 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)),
3746 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)),
3747 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)),
3748 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)),
3749 'N',
3750 decode( l_inst_hist_rec_tab.OLD_CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_CONTEXT(i)),
3751 decode( l_inst_hist_rec_tab.NEW_CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_CONTEXT(i)),
3752 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE1(i)),
3753 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE1(i)),
3754 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE2(i)),
3755 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE2(i)),
3756 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE3(i)),
3757 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE3(i)),
3758 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE4(i)),
3759 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE4(i)),
3760 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE5(i)),
3761 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE5(i)),
3762 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE6(i)),
3763 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE6(i)),
3764 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE7(i)),
3765 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE7(i)),
3766 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE8(i)),
3767 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE8(i)),
3768 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE9(i)),
3769 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE9(i)),
3770 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE10(i)),
3771 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE10(i)),
3772 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE11(i)),
3773 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE11(i)),
3774 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE12(i)),
3775 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE12(i)),
3776 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE13(i)),
3777 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE13(i)),
3778 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE14(i)),
3779 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE14(i)),
3780 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE15(i)),
3781 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE15(i)),
3782 l_user_id,
3783 SYSDATE,
3784 l_user_id,
3785 SYSDATE,
3786 l_login_id,
3787 1,
3788 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)),
3789 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)),
3790 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)),
3791 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)),
3792 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)),
3793 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)),
3794 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)),
3795 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)),
3796 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)),
3797 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)),
3798 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)),
3799 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)),
3800 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)),
3801 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)),
3802 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)),
3803 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)),
3804 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)) ,
3805 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)) ,
3806 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)),
3807 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)),
3808 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)),
3809 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)),
3810 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)),
3811 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)),
3812 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)),
3813 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)),
3814 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)),
3815 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)),
3816 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)),
3817 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)),
3818 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)),
3819 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)),
3820 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)),
3821 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)),
3822 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)),
3823 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)),
3824 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)),
3825 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)),
3826 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)),
3827 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)),
3828 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)),
3829 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)),
3830 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)),
3831 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)),
3832 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)),
3833 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)),
3834 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)),
3835 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)),
3836 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)),
3837 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)),
3838 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)),
3839 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)),
3840 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)),
3841 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)),
3842 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE16(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE16(i)),
3843 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE16(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE16(i)),
3844 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE17(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE17(i)),
3845 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE17(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE17(i)),
3846 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE18(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE18(i)),
3847 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE18(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE18(i)),
3848 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE19(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE19(i)),
3849 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE19(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE19(i)),
3850 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE20(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE20(i)),
3851 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE20(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE20(i)),
3852 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE21(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE21(i)),
3853 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE21(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE21(i)),
3854 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE22(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE22(i)),
3855 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE22(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE22(i)),
3856 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE23(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE23(i)),
3857 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE23(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE23(i)),
3858 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE24(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE24(i)),
3859 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE24(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE24(i)),
3860 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE25(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE25(i)),
3861 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE25(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE25(i)),
3862 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE26(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE26(i)),
3863 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE26(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE26(i)),
3864 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE27(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE27(i)),
3865 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE27(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE27(i)),
3866 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE28(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE28(i)),
3867 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE28(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE28(i)),
3868 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE29(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE29(i)),
3869 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE29(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE29(i)),
3870 decode( l_inst_hist_rec_tab.OLD_ATTRIBUTE30(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.OLD_ATTRIBUTE30(i)),
3871 decode( l_inst_hist_rec_tab.NEW_ATTRIBUTE30(i), FND_API.G_MISS_CHAR, NULL, l_inst_hist_rec_tab.NEW_ATTRIBUTE30(i)),
3872 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)),
3873 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)),
3874 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)),
3875 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)),
3876 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)),
3877 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)),
3878 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)),
3879 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)),
3880 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)),
3881 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)),
3882 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)),
3883 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)),
3884 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)),
3885 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))
3886 );
3887 END IF;
3888 --
3889 IF p_version_label_tbl.count > 0 THEN
3890 Build_Ver_Label_Rec_of_Table
3891 (
3892 p_version_label_tbl => p_version_label_tbl
3893 ,p_version_label_rec_tab => l_version_label_rec_tab
3894 );
3895 --
3896 l_ctr := l_version_label_rec_tab.version_label_id.count;
3897 --
3898 FORALL i in 1 .. l_ctr
3899 INSERT INTO CSI_I_VERSION_LABELS(
3900 VERSION_LABEL_ID,
3901 INSTANCE_ID,
3902 VERSION_LABEL,
3903 DATE_TIME_STAMP,
3904 DESCRIPTION,
3905 ACTIVE_START_DATE,
3906 ACTIVE_END_DATE,
3907 CONTEXT,
3908 ATTRIBUTE1,
3909 ATTRIBUTE2,
3910 ATTRIBUTE3,
3911 ATTRIBUTE4,
3912 ATTRIBUTE5,
3913 ATTRIBUTE6,
3914 ATTRIBUTE7,
3915 ATTRIBUTE8,
3916 ATTRIBUTE9,
3917 ATTRIBUTE10,
3918 ATTRIBUTE11,
3919 ATTRIBUTE12,
3920 ATTRIBUTE13,
3921 ATTRIBUTE14,
3922 ATTRIBUTE15,
3923 CREATED_BY,
3924 CREATION_DATE,
3925 LAST_UPDATED_BY,
3926 LAST_UPDATE_DATE,
3927 LAST_UPDATE_LOGIN,
3928 OBJECT_VERSION_NUMBER
3929 ) VALUES (
3930 l_version_label_rec_tab.VERSION_LABEL_ID(i),
3931 decode( l_version_label_rec_tab.INSTANCE_ID(i), FND_API.G_MISS_NUM, NULL, l_version_label_rec_tab.INSTANCE_ID(i)),
3932 decode( l_version_label_rec_tab.VERSION_LABEL(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.VERSION_LABEL(i)),
3933 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)),
3934 decode( l_version_label_rec_tab.DESCRIPTION(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.DESCRIPTION(i)),
3935 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)),
3936 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)),
3937 decode( l_version_label_rec_tab.CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.CONTEXT(i)),
3938 decode( l_version_label_rec_tab.ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.ATTRIBUTE1(i)),
3939 decode( l_version_label_rec_tab.ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.ATTRIBUTE2(i)),
3940 decode( l_version_label_rec_tab.ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.ATTRIBUTE3(i)),
3941 decode( l_version_label_rec_tab.ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.ATTRIBUTE4(i)),
3942 decode( l_version_label_rec_tab.ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.ATTRIBUTE5(i)),
3943 decode( l_version_label_rec_tab.ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.ATTRIBUTE6(i)),
3944 decode( l_version_label_rec_tab.ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.ATTRIBUTE7(i)),
3945 decode( l_version_label_rec_tab.ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.ATTRIBUTE8(i)),
3946 decode( l_version_label_rec_tab.ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.ATTRIBUTE9(i)),
3947 decode( l_version_label_rec_tab.ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.ATTRIBUTE10(i)),
3948 decode( l_version_label_rec_tab.ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.ATTRIBUTE11(i)),
3949 decode( l_version_label_rec_tab.ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.ATTRIBUTE12(i)),
3950 decode( l_version_label_rec_tab.ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.ATTRIBUTE13(i)),
3951 decode( l_version_label_rec_tab.ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.ATTRIBUTE14(i)),
3952 decode( l_version_label_rec_tab.ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_version_label_rec_tab.ATTRIBUTE15(i)),
3953 l_user_id,
3954 SYSDATE,
3955 l_user_id,
3956 SYSDATE,
3957 l_login_id,
3958 1
3959 );
3960 END IF;
3961 --
3962 IF p_ver_label_hist_tbl.count > 0 THEN
3963 Build_Ver_Lbl_Hist_Rec_Table
3964 (
3965 p_ver_label_hist_tbl => p_ver_label_hist_tbl
3966 ,p_ver_label_hist_rec_tab => l_ver_label_hist_rec_tab
3967 );
3968 --
3969 l_ctr := l_ver_label_hist_rec_tab.version_label_history_id.count;
3970 --
3971 FORALL i in 1 .. l_ctr
3972 INSERT INTO CSI_I_VERSION_LABELS_H(
3973 VERSION_LABEL_HISTORY_ID,
3974 VERSION_LABEL_ID,
3975 TRANSACTION_ID,
3976 OLD_VERSION_LABEL,
3977 NEW_VERSION_LABEL,
3978 OLD_DESCRIPTION,
3979 NEW_DESCRIPTION,
3980 OLD_DATE_TIME_STAMP,
3981 NEW_DATE_TIME_STAMP,
3982 OLD_ACTIVE_START_DATE,
3983 NEW_ACTIVE_START_DATE,
3984 OLD_ACTIVE_END_DATE,
3985 NEW_ACTIVE_END_DATE,
3986 OLD_CONTEXT,
3987 NEW_CONTEXT,
3988 OLD_ATTRIBUTE1,
3989 NEW_ATTRIBUTE1,
3990 OLD_ATTRIBUTE2,
3991 NEW_ATTRIBUTE2,
3992 OLD_ATTRIBUTE3,
3993 NEW_ATTRIBUTE3,
3994 OLD_ATTRIBUTE4,
3995 NEW_ATTRIBUTE4,
3996 OLD_ATTRIBUTE5,
3997 NEW_ATTRIBUTE5,
3998 OLD_ATTRIBUTE6,
3999 NEW_ATTRIBUTE6,
4000 OLD_ATTRIBUTE7,
4001 NEW_ATTRIBUTE7,
4002 OLD_ATTRIBUTE8,
4003 NEW_ATTRIBUTE8,
4004 OLD_ATTRIBUTE9,
4005 NEW_ATTRIBUTE9,
4006 OLD_ATTRIBUTE10,
4007 NEW_ATTRIBUTE10,
4008 OLD_ATTRIBUTE11,
4009 NEW_ATTRIBUTE11,
4010 OLD_ATTRIBUTE12,
4011 NEW_ATTRIBUTE12,
4012 OLD_ATTRIBUTE13,
4013 NEW_ATTRIBUTE13,
4014 OLD_ATTRIBUTE14,
4015 NEW_ATTRIBUTE14,
4016 OLD_ATTRIBUTE15,
4017 NEW_ATTRIBUTE15,
4018 FULL_DUMP_FLAG,
4019 CREATED_BY,
4020 CREATION_DATE,
4021 LAST_UPDATED_BY,
4022 LAST_UPDATE_DATE,
4023 LAST_UPDATE_LOGIN,
4024 OBJECT_VERSION_NUMBER
4025 ) VALUES (
4026 l_ver_label_hist_rec_tab.VERSION_LABEL_HISTORY_ID(i),
4027 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)),
4028 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)),
4029 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)),
4030 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)),
4031 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)),
4032 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)),
4033 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)),
4034 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)),
4035 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)),
4036 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)),
4037 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)),
4038 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)),
4039 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)),
4040 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)),
4041 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)),
4042 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)),
4043 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)),
4044 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)),
4045 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)),
4046 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)),
4047 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)),
4048 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)),
4049 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)),
4050 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)),
4051 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)),
4052 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)),
4053 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)),
4054 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)),
4055 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)),
4056 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)),
4057 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)),
4058 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)),
4059 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)),
4060 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)),
4061 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)),
4062 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)),
4063 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)),
4064 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)),
4065 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)),
4066 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)),
4067 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)),
4068 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)),
4069 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)),
4070 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)),
4071 'N',
4072 l_user_id,
4073 SYSDATE,
4074 l_user_id,
4075 SYSDATE,
4076 l_login_id,
4077 1
4078 );
4079 END IF;
4080 --
4081 IF p_party_tbl.count > 0 THEN
4082 Build_Party_Rec_of_Table
4083 ( p_party_tbl => p_party_tbl
4084 ,p_party_rec_tab => l_party_rec_tab
4085 );
4086 --
4087 l_ctr := l_party_rec_tab.instance_party_id.count;
4088 --
4089 FORALL i in 1 .. l_ctr
4090 INSERT INTO CSI_I_PARTIES(
4091 INSTANCE_PARTY_ID,
4092 INSTANCE_ID,
4093 PARTY_SOURCE_TABLE,
4094 PARTY_ID,
4095 RELATIONSHIP_TYPE_CODE,
4096 CONTACT_FLAG,
4097 CONTACT_IP_ID,
4098 ACTIVE_START_DATE,
4099 ACTIVE_END_DATE,
4100 CONTEXT,
4101 ATTRIBUTE1,
4102 ATTRIBUTE2,
4103 ATTRIBUTE3,
4104 ATTRIBUTE4,
4105 ATTRIBUTE5,
4106 ATTRIBUTE6,
4107 ATTRIBUTE7,
4108 ATTRIBUTE8,
4109 ATTRIBUTE9,
4110 ATTRIBUTE10,
4111 ATTRIBUTE11,
4112 ATTRIBUTE12,
4113 ATTRIBUTE13,
4114 ATTRIBUTE14,
4115 ATTRIBUTE15,
4116 CREATED_BY,
4117 CREATION_DATE,
4118 LAST_UPDATED_BY,
4119 LAST_UPDATE_DATE,
4120 LAST_UPDATE_LOGIN,
4121 OBJECT_VERSION_NUMBER,
4122 PRIMARY_FLAG,
4123 PREFERRED_FLAG
4124 ) VALUES (
4125 l_party_rec_tab.INSTANCE_PARTY_ID(i),
4126 decode( l_party_rec_tab.INSTANCE_ID(i), FND_API.G_MISS_NUM, NULL, l_party_rec_tab.INSTANCE_ID(i)),
4127 decode( l_party_rec_tab.PARTY_SOURCE_TABLE(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.PARTY_SOURCE_TABLE(i)),
4128 decode( l_party_rec_tab.PARTY_ID(i), FND_API.G_MISS_NUM, NULL, l_party_rec_tab.PARTY_ID(i)),
4129 decode( l_party_rec_tab.RELATIONSHIP_TYPE_CODE(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.RELATIONSHIP_TYPE_CODE(i)),
4130 decode( l_party_rec_tab.CONTACT_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.CONTACT_FLAG(i)),
4131 decode( l_party_rec_tab.CONTACT_IP_ID(i), FND_API.G_MISS_NUM, NULL, l_party_rec_tab.CONTACT_IP_ID(i)),
4132 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)),
4133 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)),
4134 decode( l_party_rec_tab.CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.CONTEXT(i)),
4135 decode( l_party_rec_tab.ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.ATTRIBUTE1(i)),
4136 decode( l_party_rec_tab.ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.ATTRIBUTE2(i)),
4137 decode( l_party_rec_tab.ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.ATTRIBUTE3(i)),
4138 decode( l_party_rec_tab.ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.ATTRIBUTE4(i)),
4139 decode( l_party_rec_tab.ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.ATTRIBUTE5(i)),
4140 decode( l_party_rec_tab.ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.ATTRIBUTE6(i)),
4141 decode( l_party_rec_tab.ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.ATTRIBUTE7(i)),
4142 decode( l_party_rec_tab.ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.ATTRIBUTE8(i)),
4143 decode( l_party_rec_tab.ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.ATTRIBUTE9(i)),
4144 decode( l_party_rec_tab.ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.ATTRIBUTE10(i)),
4145 decode( l_party_rec_tab.ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.ATTRIBUTE11(i)),
4146 decode( l_party_rec_tab.ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.ATTRIBUTE12(i)),
4147 decode( l_party_rec_tab.ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.ATTRIBUTE13(i)),
4148 decode( l_party_rec_tab.ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.ATTRIBUTE14(i)),
4149 decode( l_party_rec_tab.ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.ATTRIBUTE15(i)),
4150 l_user_id,
4151 SYSDATE,
4152 l_user_id,
4153 SYSDATE,
4154 l_login_id,
4155 1,
4156 decode(l_party_rec_tab.PRIMARY_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.PRIMARY_FLAG(i)),
4157 decode( l_party_rec_tab.PREFERRED_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_party_rec_tab.PREFERRED_FLAG(i)));
4158 --
4159 END IF;
4160 --
4161 IF p_party_hist_tbl.count > 0 THEN
4162 Build_Party_Hist_Rec_of_Table
4163 ( p_party_hist_tbl => p_party_hist_tbl
4164 ,p_party_hist_rec_tab => l_party_hist_rec_tab
4165 );
4166 --
4167 l_ctr := l_party_hist_rec_tab.instance_party_history_id.count;
4168 --
4169 FORALL i in 1 .. l_ctr
4170 INSERT INTO CSI_I_PARTIES_H(
4171 INSTANCE_PARTY_HISTORY_ID,
4172 INSTANCE_PARTY_ID,
4173 TRANSACTION_ID,
4174 OLD_PARTY_SOURCE_TABLE,
4175 NEW_PARTY_SOURCE_TABLE,
4176 OLD_PARTY_ID,
4177 NEW_PARTY_ID,
4178 OLD_RELATIONSHIP_TYPE_CODE,
4179 NEW_RELATIONSHIP_TYPE_CODE,
4180 OLD_CONTACT_FLAG,
4181 NEW_CONTACT_FLAG,
4182 OLD_CONTACT_IP_ID,
4183 NEW_CONTACT_IP_ID,
4184 OLD_ACTIVE_START_DATE,
4185 NEW_ACTIVE_START_DATE,
4186 OLD_ACTIVE_END_DATE,
4187 NEW_ACTIVE_END_DATE,
4188 OLD_CONTEXT,
4189 NEW_CONTEXT,
4190 OLD_ATTRIBUTE1,
4191 NEW_ATTRIBUTE1,
4192 OLD_ATTRIBUTE2,
4193 NEW_ATTRIBUTE2,
4194 OLD_ATTRIBUTE3,
4195 NEW_ATTRIBUTE3,
4196 OLD_ATTRIBUTE4,
4197 NEW_ATTRIBUTE4,
4198 OLD_ATTRIBUTE5,
4199 NEW_ATTRIBUTE5,
4200 OLD_ATTRIBUTE6,
4201 NEW_ATTRIBUTE6,
4202 OLD_ATTRIBUTE7,
4203 NEW_ATTRIBUTE7,
4204 OLD_ATTRIBUTE8,
4205 NEW_ATTRIBUTE8,
4206 OLD_ATTRIBUTE9,
4207 NEW_ATTRIBUTE9,
4208 OLD_ATTRIBUTE10,
4209 NEW_ATTRIBUTE10,
4210 OLD_ATTRIBUTE11,
4211 NEW_ATTRIBUTE11,
4212 OLD_ATTRIBUTE12,
4213 NEW_ATTRIBUTE12,
4214 OLD_ATTRIBUTE13,
4215 NEW_ATTRIBUTE13,
4216 OLD_ATTRIBUTE14,
4217 NEW_ATTRIBUTE14,
4218 OLD_ATTRIBUTE15,
4219 NEW_ATTRIBUTE15,
4220 FULL_DUMP_FLAG,
4221 CREATED_BY,
4222 CREATION_DATE,
4223 LAST_UPDATED_BY,
4224 LAST_UPDATE_DATE,
4225 LAST_UPDATE_LOGIN,
4226 OBJECT_VERSION_NUMBER,
4227 OLD_PRIMARY_FLAG,
4228 NEW_PRIMARY_FLAG,
4229 OLD_PREFERRED_FLAG,
4230 NEW_PREFERRED_FLAG
4231 ) VALUES (
4232 l_party_hist_rec_tab.INSTANCE_PARTY_HISTORY_ID(i),
4233 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)),
4234 decode( l_party_hist_rec_tab.TRANSACTION_ID(i), FND_API.G_MISS_NUM, NULL, l_party_hist_rec_tab.TRANSACTION_ID(i)),
4235 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)),
4236 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)),
4237 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)),
4238 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)),
4239 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)),
4240 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)),
4241 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)),
4242 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)),
4243 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)),
4244 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)),
4245 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)),
4246 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)),
4247 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)),
4248 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)),
4249 decode( l_party_hist_rec_tab.OLD_CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_CONTEXT(i)),
4250 decode( l_party_hist_rec_tab.NEW_CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_CONTEXT(i)),
4251 decode( l_party_hist_rec_tab.OLD_ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_ATTRIBUTE1(i)),
4252 decode( l_party_hist_rec_tab.NEW_ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_ATTRIBUTE1(i)),
4253 decode( l_party_hist_rec_tab.OLD_ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_ATTRIBUTE2(i)),
4254 decode( l_party_hist_rec_tab.NEW_ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_ATTRIBUTE2(i)),
4255 decode( l_party_hist_rec_tab.OLD_ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_ATTRIBUTE3(i)),
4256 decode( l_party_hist_rec_tab.NEW_ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_ATTRIBUTE3(i)),
4257 decode( l_party_hist_rec_tab.OLD_ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_ATTRIBUTE4(i)),
4258 decode( l_party_hist_rec_tab.NEW_ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_ATTRIBUTE4(i)),
4259 decode( l_party_hist_rec_tab.OLD_ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_ATTRIBUTE5(i)),
4260 decode( l_party_hist_rec_tab.NEW_ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_ATTRIBUTE5(i)),
4261 decode( l_party_hist_rec_tab.OLD_ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_ATTRIBUTE6(i)),
4262 decode( l_party_hist_rec_tab.NEW_ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_ATTRIBUTE6(i)),
4263 decode( l_party_hist_rec_tab.OLD_ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_ATTRIBUTE7(i)),
4264 decode( l_party_hist_rec_tab.NEW_ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_ATTRIBUTE7(i)),
4265 decode( l_party_hist_rec_tab.OLD_ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_ATTRIBUTE8(i)),
4266 decode( l_party_hist_rec_tab.NEW_ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_ATTRIBUTE8(i)),
4267 decode( l_party_hist_rec_tab.OLD_ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_ATTRIBUTE9(i)),
4268 decode( l_party_hist_rec_tab.NEW_ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_ATTRIBUTE9(i)),
4269 decode( l_party_hist_rec_tab.OLD_ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_ATTRIBUTE10(i)),
4270 decode( l_party_hist_rec_tab.NEW_ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_ATTRIBUTE10(i)),
4271 decode( l_party_hist_rec_tab.OLD_ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_ATTRIBUTE11(i)),
4272 decode( l_party_hist_rec_tab.NEW_ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_ATTRIBUTE11(i)),
4273 decode( l_party_hist_rec_tab.OLD_ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_ATTRIBUTE12(i)),
4274 decode( l_party_hist_rec_tab.NEW_ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_ATTRIBUTE12(i)),
4275 decode( l_party_hist_rec_tab.OLD_ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_ATTRIBUTE13(i)),
4276 decode( l_party_hist_rec_tab.NEW_ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_ATTRIBUTE13(i)),
4277 decode( l_party_hist_rec_tab.OLD_ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_ATTRIBUTE14(i)),
4278 decode( l_party_hist_rec_tab.NEW_ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_ATTRIBUTE14(i)),
4279 decode( l_party_hist_rec_tab.OLD_ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.OLD_ATTRIBUTE15(i)),
4280 decode( l_party_hist_rec_tab.NEW_ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_party_hist_rec_tab.NEW_ATTRIBUTE15(i)),
4281 'N',
4282 l_user_id,
4283 SYSDATE,
4284 l_user_id,
4285 SYSDATE,
4286 l_login_id,
4287 1,
4288 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)),
4289 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)),
4290 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)),
4291 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))
4292 );
4293 END IF;
4294 --
4295 IF p_account_tbl.count > 0 THEN
4296 Build_Acct_Rec_of_Table
4297 ( p_account_tbl => p_account_tbl
4298 ,p_account_rec_tab => l_account_rec_tab
4299 );
4300 --
4301 l_ctr := l_account_rec_tab.ip_account_id.count;
4302 --
4303 FORALL i in 1 .. l_ctr
4304 INSERT INTO CSI_IP_ACCOUNTS(
4305 IP_ACCOUNT_ID,
4306 INSTANCE_PARTY_ID,
4307 PARTY_ACCOUNT_ID,
4308 RELATIONSHIP_TYPE_CODE,
4309 ACTIVE_START_DATE,
4310 ACTIVE_END_DATE,
4311 CONTEXT,
4312 ATTRIBUTE1,
4313 ATTRIBUTE2,
4314 ATTRIBUTE3,
4315 ATTRIBUTE4,
4316 ATTRIBUTE5,
4317 ATTRIBUTE6,
4318 ATTRIBUTE7,
4319 ATTRIBUTE8,
4320 ATTRIBUTE9,
4321 ATTRIBUTE10,
4322 ATTRIBUTE11,
4323 ATTRIBUTE12,
4324 ATTRIBUTE13,
4325 ATTRIBUTE14,
4326 ATTRIBUTE15,
4327 CREATED_BY,
4328 CREATION_DATE,
4329 LAST_UPDATED_BY,
4330 LAST_UPDATE_DATE,
4331 LAST_UPDATE_LOGIN,
4332 OBJECT_VERSION_NUMBER,
4333 BILL_TO_ADDRESS,
4334 SHIP_TO_ADDRESS
4335 ) VALUES (
4336 l_account_rec_tab.IP_ACCOUNT_ID(i),
4337 decode( l_account_rec_tab.INSTANCE_PARTY_ID(i), FND_API.G_MISS_NUM, NULL, l_account_rec_tab.INSTANCE_PARTY_ID(i)),
4338 decode( l_account_rec_tab.PARTY_ACCOUNT_ID(i), FND_API.G_MISS_NUM, NULL, l_account_rec_tab.PARTY_ACCOUNT_ID(i)),
4339 decode( l_account_rec_tab.RELATIONSHIP_TYPE_CODE(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.RELATIONSHIP_TYPE_CODE(i)),
4340 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)),
4341 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)),
4342 decode( l_account_rec_tab.CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.CONTEXT(i)),
4343 decode( l_account_rec_tab.ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.ATTRIBUTE1(i)),
4344 decode( l_account_rec_tab.ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.ATTRIBUTE2(i)),
4345 decode( l_account_rec_tab.ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.ATTRIBUTE3(i)),
4346 decode( l_account_rec_tab.ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.ATTRIBUTE4(i)),
4347 decode( l_account_rec_tab.ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.ATTRIBUTE5(i)),
4348 decode( l_account_rec_tab.ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.ATTRIBUTE6(i)),
4349 decode( l_account_rec_tab.ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.ATTRIBUTE7(i)),
4350 decode( l_account_rec_tab.ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.ATTRIBUTE8(i)),
4351 decode( l_account_rec_tab.ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.ATTRIBUTE9(i)),
4352 decode( l_account_rec_tab.ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.ATTRIBUTE10(i)),
4353 decode( l_account_rec_tab.ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.ATTRIBUTE11(i)),
4354 decode( l_account_rec_tab.ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.ATTRIBUTE12(i)),
4355 decode( l_account_rec_tab.ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.ATTRIBUTE13(i)),
4356 decode( l_account_rec_tab.ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.ATTRIBUTE14(i)),
4357 decode( l_account_rec_tab.ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_account_rec_tab.ATTRIBUTE15(i)),
4358 l_user_id,
4359 SYSDATE,
4360 l_user_id,
4361 SYSDATE,
4362 l_login_id,
4363 1,
4364 decode( l_account_rec_tab.BILL_TO_ADDRESS(i), FND_API.G_MISS_NUM, NULL, l_account_rec_tab.BILL_TO_ADDRESS(i)),
4365 decode( l_account_rec_tab.SHIP_TO_ADDRESS(i), FND_API.G_MISS_NUM, NULL, l_account_rec_tab.SHIP_TO_ADDRESS(i))
4366 );
4367 END IF;
4368 --
4369 IF p_owner_pty_acct_tbl.count > 0 THEN
4370 Build_Owner_Pty_Acct_Rec_Table
4371 (
4372 p_owner_pty_acct_tbl => p_owner_pty_acct_tbl
4373 ,p_owner_pty_acct_rec_tab => l_owner_pty_acct_rec_tab
4374 );
4375 --
4376 l_ctr := l_owner_pty_acct_rec_tab.instance_id.count;
4377 --
4378 FORALL i in 1 .. l_ctr
4379 UPDATE CSI_ITEM_INSTANCES
4380 SET owner_party_id = l_owner_pty_acct_rec_tab.party_id(i)
4381 ,owner_party_source_table = l_owner_pty_acct_rec_tab.party_source_table(i)
4382 ,owner_party_account_id = l_owner_pty_acct_rec_tab.account_id(i)
4383 WHERE instance_id = l_owner_pty_acct_rec_tab.instance_id(i);
4384 END IF;
4385 --
4386 IF p_acct_hist_tbl.count > 0 THEN
4387 Build_Acct_Hist_Rec_of_Table
4388 ( p_acct_hist_tbl => p_acct_hist_tbl
4389 ,p_acct_hist_rec_tab => l_acct_hist_rec_tab
4390 );
4391 --
4392 l_ctr := l_acct_hist_rec_tab.ip_account_history_id.count;
4393 --
4394 FORALL i in 1 .. l_ctr
4395 INSERT INTO CSI_IP_ACCOUNTS_H(
4396 IP_ACCOUNT_HISTORY_ID,
4397 IP_ACCOUNT_ID,
4398 TRANSACTION_ID,
4399 OLD_PARTY_ACCOUNT_ID,
4400 NEW_PARTY_ACCOUNT_ID,
4401 OLD_RELATIONSHIP_TYPE_CODE,
4402 NEW_RELATIONSHIP_TYPE_CODE,
4403 OLD_ACTIVE_START_DATE,
4404 NEW_ACTIVE_START_DATE,
4405 OLD_ACTIVE_END_DATE,
4406 NEW_ACTIVE_END_DATE,
4407 OLD_CONTEXT,
4408 NEW_CONTEXT,
4409 OLD_ATTRIBUTE1,
4410 NEW_ATTRIBUTE1,
4411 OLD_ATTRIBUTE2,
4412 NEW_ATTRIBUTE2,
4413 OLD_ATTRIBUTE3,
4414 NEW_ATTRIBUTE3,
4415 OLD_ATTRIBUTE4,
4416 NEW_ATTRIBUTE4,
4417 OLD_ATTRIBUTE5,
4418 NEW_ATTRIBUTE5,
4419 OLD_ATTRIBUTE6,
4420 NEW_ATTRIBUTE6,
4421 OLD_ATTRIBUTE7,
4422 NEW_ATTRIBUTE7,
4423 OLD_ATTRIBUTE8,
4424 NEW_ATTRIBUTE8,
4425 OLD_ATTRIBUTE9,
4426 NEW_ATTRIBUTE9,
4427 OLD_ATTRIBUTE10,
4428 NEW_ATTRIBUTE10,
4429 OLD_ATTRIBUTE11,
4430 NEW_ATTRIBUTE11,
4431 OLD_ATTRIBUTE12,
4432 NEW_ATTRIBUTE12,
4433 OLD_ATTRIBUTE13,
4434 NEW_ATTRIBUTE13,
4435 OLD_ATTRIBUTE14,
4436 NEW_ATTRIBUTE14,
4437 OLD_ATTRIBUTE15,
4438 NEW_ATTRIBUTE15,
4439 FULL_DUMP_FLAG,
4440 CREATED_BY,
4441 CREATION_DATE,
4442 LAST_UPDATED_BY,
4443 LAST_UPDATE_DATE,
4444 LAST_UPDATE_LOGIN,
4445 OBJECT_VERSION_NUMBER,
4446 OLD_BILL_TO_ADDRESS,
4447 NEW_BILL_TO_ADDRESS,
4448 OLD_SHIP_TO_ADDRESS,
4449 NEW_SHIP_TO_ADDRESS
4450 ) VALUES (
4451 l_acct_hist_rec_tab.IP_ACCOUNT_HISTORY_ID(i),
4452 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)),
4453 decode( l_acct_hist_rec_tab.TRANSACTION_ID(i), FND_API.G_MISS_NUM, NULL, l_acct_hist_rec_tab.TRANSACTION_ID(i)),
4454 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)),
4455 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)),
4456 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)),
4457 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)),
4458 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)),
4459 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)),
4460 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)),
4461 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)),
4462 decode( l_acct_hist_rec_tab.OLD_CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_CONTEXT(i)),
4463 decode( l_acct_hist_rec_tab.NEW_CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_CONTEXT(i)),
4464 decode( l_acct_hist_rec_tab.OLD_ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_ATTRIBUTE1(i)),
4465 decode( l_acct_hist_rec_tab.NEW_ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_ATTRIBUTE1(i)),
4466 decode( l_acct_hist_rec_tab.OLD_ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_ATTRIBUTE2(i)),
4467 decode( l_acct_hist_rec_tab.NEW_ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_ATTRIBUTE2(i)),
4468 decode( l_acct_hist_rec_tab.OLD_ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_ATTRIBUTE3(i)),
4469 decode( l_acct_hist_rec_tab.NEW_ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_ATTRIBUTE3(i)),
4470 decode( l_acct_hist_rec_tab.OLD_ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_ATTRIBUTE4(i)),
4471 decode( l_acct_hist_rec_tab.NEW_ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_ATTRIBUTE4(i)),
4472 decode( l_acct_hist_rec_tab.OLD_ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_ATTRIBUTE5(i)),
4473 decode( l_acct_hist_rec_tab.NEW_ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_ATTRIBUTE5(i)),
4474 decode( l_acct_hist_rec_tab.OLD_ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_ATTRIBUTE6(i)),
4475 decode( l_acct_hist_rec_tab.NEW_ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_ATTRIBUTE6(i)),
4476 decode( l_acct_hist_rec_tab.OLD_ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_ATTRIBUTE7(i)),
4477 decode( l_acct_hist_rec_tab.NEW_ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_ATTRIBUTE7(i)),
4478 decode( l_acct_hist_rec_tab.OLD_ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_ATTRIBUTE8(i)),
4479 decode( l_acct_hist_rec_tab.NEW_ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_ATTRIBUTE8(i)),
4480 decode( l_acct_hist_rec_tab.OLD_ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_ATTRIBUTE9(i)),
4481 decode( l_acct_hist_rec_tab.NEW_ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_ATTRIBUTE9(i)),
4482 decode( l_acct_hist_rec_tab.OLD_ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_ATTRIBUTE10(i)),
4483 decode( l_acct_hist_rec_tab.NEW_ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_ATTRIBUTE10(i)),
4484 decode( l_acct_hist_rec_tab.OLD_ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_ATTRIBUTE11(i)),
4485 decode( l_acct_hist_rec_tab.NEW_ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_ATTRIBUTE11(i)),
4486 decode( l_acct_hist_rec_tab.OLD_ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_ATTRIBUTE12(i)),
4487 decode( l_acct_hist_rec_tab.NEW_ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_ATTRIBUTE12(i)),
4488 decode( l_acct_hist_rec_tab.OLD_ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_ATTRIBUTE13(i)),
4489 decode( l_acct_hist_rec_tab.NEW_ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_ATTRIBUTE13(i)),
4490 decode( l_acct_hist_rec_tab.OLD_ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_ATTRIBUTE14(i)),
4491 decode( l_acct_hist_rec_tab.NEW_ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_ATTRIBUTE14(i)),
4492 decode( l_acct_hist_rec_tab.OLD_ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.OLD_ATTRIBUTE15(i)),
4493 decode( l_acct_hist_rec_tab.NEW_ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_acct_hist_rec_tab.NEW_ATTRIBUTE15(i)),
4494 'N',
4495 l_user_id,
4496 SYSDATE,
4497 l_user_id,
4498 SYSDATE,
4499 l_login_id,
4500 1,
4501 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)),
4502 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)),
4503 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)),
4504 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))
4505 );
4506 END IF;
4507 --
4508 IF p_org_units_tbl.count > 0 THEN
4509 Build_Org_Rec_of_Table
4510 (
4511 p_org_tbl => p_org_units_tbl
4512 ,p_org_units_rec_tab => l_org_units_rec_tab
4513 );
4514 --
4515 l_ctr := l_org_units_rec_tab.instance_ou_id.count;
4516 --
4517 FORALL i in 1 .. l_ctr
4518 INSERT INTO CSI_I_ORG_ASSIGNMENTS(
4519 INSTANCE_OU_ID,
4520 INSTANCE_ID,
4521 OPERATING_UNIT_ID,
4522 RELATIONSHIP_TYPE_CODE,
4523 ACTIVE_START_DATE,
4524 ACTIVE_END_DATE,
4525 CONTEXT,
4526 ATTRIBUTE1,
4527 ATTRIBUTE2,
4528 ATTRIBUTE3,
4529 ATTRIBUTE4,
4530 ATTRIBUTE5,
4531 ATTRIBUTE6,
4532 ATTRIBUTE7,
4533 ATTRIBUTE8,
4534 ATTRIBUTE9,
4535 ATTRIBUTE10,
4536 ATTRIBUTE11,
4537 ATTRIBUTE12,
4538 ATTRIBUTE13,
4539 ATTRIBUTE14,
4540 ATTRIBUTE15,
4541 CREATED_BY,
4542 CREATION_DATE,
4543 LAST_UPDATED_BY,
4544 LAST_UPDATE_DATE,
4545 LAST_UPDATE_LOGIN,
4546 OBJECT_VERSION_NUMBER
4547 ) VALUES (
4548 l_org_units_rec_tab.INSTANCE_OU_ID(i),
4549 decode( l_org_units_rec_tab.INSTANCE_ID(i), FND_API.G_MISS_NUM, NULL, l_org_units_rec_tab.INSTANCE_ID(i)),
4550 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)),
4551 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)),
4552 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)),
4553 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)),
4554 decode( l_org_units_rec_tab.CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.CONTEXT(i)),
4555 decode( l_org_units_rec_tab.ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.ATTRIBUTE1(i)),
4556 decode( l_org_units_rec_tab.ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.ATTRIBUTE2(i)),
4557 decode( l_org_units_rec_tab.ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.ATTRIBUTE3(i)),
4558 decode( l_org_units_rec_tab.ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.ATTRIBUTE4(i)),
4559 decode( l_org_units_rec_tab.ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.ATTRIBUTE5(i)),
4560 decode( l_org_units_rec_tab.ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.ATTRIBUTE6(i)),
4561 decode( l_org_units_rec_tab.ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.ATTRIBUTE7(i)),
4562 decode( l_org_units_rec_tab.ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.ATTRIBUTE8(i)),
4563 decode( l_org_units_rec_tab.ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.ATTRIBUTE9(i)),
4564 decode( l_org_units_rec_tab.ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.ATTRIBUTE10(i)),
4565 decode( l_org_units_rec_tab.ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.ATTRIBUTE11(i)),
4566 decode( l_org_units_rec_tab.ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.ATTRIBUTE12(i)),
4567 decode( l_org_units_rec_tab.ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.ATTRIBUTE13(i)),
4568 decode( l_org_units_rec_tab.ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.ATTRIBUTE14(i)),
4569 decode( l_org_units_rec_tab.ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_org_units_rec_tab.ATTRIBUTE15(i)),
4570 l_user_id,
4571 SYSDATE,
4572 l_user_id,
4573 SYSDATE,
4574 l_login_id,
4575 1);
4576 END IF;
4577 --
4578 IF p_org_units_hist_tbl.count > 0 THEN
4579 Build_Org_Hist_Rec_of_Table
4580 (
4581 p_org_hist_tbl => p_org_units_hist_tbl
4582 ,p_org_hist_rec_tab => l_org_hist_rec_tab
4583 );
4584 --
4585 l_ctr := l_org_hist_rec_tab.instance_ou_history_id.count;
4586 --
4587 FORALL i in 1 .. l_ctr
4588 INSERT INTO CSI_I_ORG_ASSIGNMENTS_H(
4589 INSTANCE_OU_HISTORY_ID,
4590 INSTANCE_OU_ID,
4591 TRANSACTION_ID,
4592 OLD_OPERATING_UNIT_ID,
4593 NEW_OPERATING_UNIT_ID,
4594 OLD_RELATIONSHIP_TYPE_CODE,
4595 NEW_RELATIONSHIP_TYPE_CODE,
4596 OLD_ACTIVE_START_DATE,
4597 NEW_ACTIVE_START_DATE,
4598 OLD_ACTIVE_END_DATE,
4599 NEW_ACTIVE_END_DATE,
4600 OLD_CONTEXT,
4601 NEW_CONTEXT,
4602 OLD_ATTRIBUTE1,
4603 NEW_ATTRIBUTE1,
4604 OLD_ATTRIBUTE2,
4605 NEW_ATTRIBUTE2,
4606 OLD_ATTRIBUTE3,
4607 NEW_ATTRIBUTE3,
4608 OLD_ATTRIBUTE4,
4609 NEW_ATTRIBUTE4,
4610 OLD_ATTRIBUTE5,
4611 NEW_ATTRIBUTE5,
4612 OLD_ATTRIBUTE6,
4613 NEW_ATTRIBUTE6,
4614 OLD_ATTRIBUTE7,
4615 NEW_ATTRIBUTE7,
4616 OLD_ATTRIBUTE8,
4617 NEW_ATTRIBUTE8,
4618 OLD_ATTRIBUTE9,
4619 NEW_ATTRIBUTE9,
4620 OLD_ATTRIBUTE10,
4621 NEW_ATTRIBUTE10,
4622 OLD_ATTRIBUTE11,
4623 NEW_ATTRIBUTE11,
4624 OLD_ATTRIBUTE12,
4625 NEW_ATTRIBUTE12,
4626 OLD_ATTRIBUTE13,
4627 NEW_ATTRIBUTE13,
4628 OLD_ATTRIBUTE14,
4629 NEW_ATTRIBUTE14,
4630 OLD_ATTRIBUTE15,
4631 NEW_ATTRIBUTE15,
4632 FULL_DUMP_FLAG,
4633 CREATED_BY,
4634 CREATION_DATE,
4635 LAST_UPDATED_BY,
4636 LAST_UPDATE_DATE,
4637 LAST_UPDATE_LOGIN,
4638 OBJECT_VERSION_NUMBER
4639 ) VALUES (
4640 l_org_hist_rec_tab.INSTANCE_OU_HISTORY_ID(i),
4641 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)),
4642 decode( l_org_hist_rec_tab.TRANSACTION_ID(i), FND_API.G_MISS_NUM, NULL, l_org_hist_rec_tab.TRANSACTION_ID(i)),
4643 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)),
4644 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)),
4645 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)),
4646 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)),
4647 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)),
4648 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)),
4649 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)),
4650 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)),
4651 decode( l_org_hist_rec_tab.OLD_CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_CONTEXT(i)),
4652 decode( l_org_hist_rec_tab.NEW_CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_CONTEXT(i)),
4653 decode( l_org_hist_rec_tab.OLD_ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_ATTRIBUTE1(i)),
4654 decode( l_org_hist_rec_tab.NEW_ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_ATTRIBUTE1(i)),
4655 decode( l_org_hist_rec_tab.OLD_ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_ATTRIBUTE2(i)),
4656 decode( l_org_hist_rec_tab.NEW_ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_ATTRIBUTE2(i)),
4657 decode( l_org_hist_rec_tab.OLD_ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_ATTRIBUTE3(i)),
4658 decode( l_org_hist_rec_tab.NEW_ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_ATTRIBUTE3(i)),
4659 decode( l_org_hist_rec_tab.OLD_ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_ATTRIBUTE4(i)),
4660 decode( l_org_hist_rec_tab.NEW_ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_ATTRIBUTE4(i)),
4661 decode( l_org_hist_rec_tab.OLD_ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_ATTRIBUTE5(i)),
4662 decode( l_org_hist_rec_tab.NEW_ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_ATTRIBUTE5(i)),
4663 decode( l_org_hist_rec_tab.OLD_ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_ATTRIBUTE6(i)),
4664 decode( l_org_hist_rec_tab.NEW_ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_ATTRIBUTE6(i)),
4665 decode( l_org_hist_rec_tab.OLD_ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_ATTRIBUTE7(i)),
4666 decode( l_org_hist_rec_tab.NEW_ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_ATTRIBUTE7(i)),
4667 decode( l_org_hist_rec_tab.OLD_ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_ATTRIBUTE8(i)),
4668 decode( l_org_hist_rec_tab.NEW_ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_ATTRIBUTE8(i)),
4669 decode( l_org_hist_rec_tab.OLD_ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_ATTRIBUTE9(i)),
4670 decode( l_org_hist_rec_tab.NEW_ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_ATTRIBUTE9(i)),
4671 decode( l_org_hist_rec_tab.OLD_ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_ATTRIBUTE10(i)),
4672 decode( l_org_hist_rec_tab.NEW_ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_ATTRIBUTE10(i)),
4673 decode( l_org_hist_rec_tab.OLD_ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_ATTRIBUTE11(i)),
4674 decode( l_org_hist_rec_tab.NEW_ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_ATTRIBUTE11(i)),
4675 decode( l_org_hist_rec_tab.OLD_ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_ATTRIBUTE12(i)),
4676 decode( l_org_hist_rec_tab.NEW_ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_ATTRIBUTE12(i)),
4677 decode( l_org_hist_rec_tab.OLD_ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_ATTRIBUTE13(i)),
4678 decode( l_org_hist_rec_tab.NEW_ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_ATTRIBUTE13(i)),
4679 decode( l_org_hist_rec_tab.OLD_ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_ATTRIBUTE14(i)),
4680 decode( l_org_hist_rec_tab.NEW_ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_ATTRIBUTE14(i)),
4681 decode( l_org_hist_rec_tab.OLD_ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.OLD_ATTRIBUTE15(i)),
4682 decode( l_org_hist_rec_tab.NEW_ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_org_hist_rec_tab.NEW_ATTRIBUTE15(i)),
4683 'N',
4684 l_user_id,
4685 SYSDATE,
4686 l_user_id,
4687 SYSDATE,
4688 l_login_id,
4689 1);
4690 END IF;
4691 --
4692 IF p_pricing_tbl.count > 0 THEN
4693 Build_pricing_Rec_of_Table
4694 (
4695 p_pricing_tbl => p_pricing_tbl
4696 ,p_pricing_rec_tab => l_pricing_rec_tab
4697 );
4698 --
4699 l_ctr := l_pricing_rec_tab.pricing_attribute_id.count;
4700 --
4701 FORALL i in 1 .. l_ctr
4702 INSERT INTO CSI_I_PRICING_ATTRIBS(
4703 PRICING_ATTRIBUTE_ID,
4704 INSTANCE_ID,
4705 ACTIVE_START_DATE,
4706 ACTIVE_END_DATE,
4707 CONTEXT,
4708 ATTRIBUTE1,
4709 ATTRIBUTE2,
4710 ATTRIBUTE3,
4711 ATTRIBUTE4,
4712 ATTRIBUTE5,
4713 ATTRIBUTE6,
4714 ATTRIBUTE7,
4715 ATTRIBUTE8,
4716 ATTRIBUTE9,
4717 ATTRIBUTE10,
4718 ATTRIBUTE11,
4719 ATTRIBUTE12,
4720 ATTRIBUTE13,
4721 ATTRIBUTE14,
4722 ATTRIBUTE15,
4723 CREATED_BY,
4724 CREATION_DATE,
4725 LAST_UPDATED_BY,
4726 LAST_UPDATE_DATE,
4727 LAST_UPDATE_LOGIN,
4728 OBJECT_VERSION_NUMBER,
4729 PRICING_CONTEXT,
4730 PRICING_ATTRIBUTE1,
4731 PRICING_ATTRIBUTE2,
4732 PRICING_ATTRIBUTE3,
4733 PRICING_ATTRIBUTE4,
4734 PRICING_ATTRIBUTE5,
4735 PRICING_ATTRIBUTE6,
4736 PRICING_ATTRIBUTE7,
4737 PRICING_ATTRIBUTE8,
4738 PRICING_ATTRIBUTE9,
4739 PRICING_ATTRIBUTE10,
4740 PRICING_ATTRIBUTE11,
4741 PRICING_ATTRIBUTE12,
4742 PRICING_ATTRIBUTE13,
4743 PRICING_ATTRIBUTE14,
4744 PRICING_ATTRIBUTE15,
4745 PRICING_ATTRIBUTE16,
4746 PRICING_ATTRIBUTE17,
4747 PRICING_ATTRIBUTE18,
4748 PRICING_ATTRIBUTE19,
4749 PRICING_ATTRIBUTE20,
4750 PRICING_ATTRIBUTE21,
4751 PRICING_ATTRIBUTE22,
4752 PRICING_ATTRIBUTE23,
4753 PRICING_ATTRIBUTE24,
4754 PRICING_ATTRIBUTE25,
4755 PRICING_ATTRIBUTE26,
4756 PRICING_ATTRIBUTE27,
4757 PRICING_ATTRIBUTE28,
4758 PRICING_ATTRIBUTE29,
4759 PRICING_ATTRIBUTE30,
4760 PRICING_ATTRIBUTE31,
4761 PRICING_ATTRIBUTE32,
4762 PRICING_ATTRIBUTE33,
4763 PRICING_ATTRIBUTE34,
4764 PRICING_ATTRIBUTE35,
4765 PRICING_ATTRIBUTE36,
4766 PRICING_ATTRIBUTE37,
4767 PRICING_ATTRIBUTE38,
4768 PRICING_ATTRIBUTE39,
4769 PRICING_ATTRIBUTE40,
4770 PRICING_ATTRIBUTE41,
4771 PRICING_ATTRIBUTE42,
4772 PRICING_ATTRIBUTE43,
4773 PRICING_ATTRIBUTE44,
4774 PRICING_ATTRIBUTE45,
4775 PRICING_ATTRIBUTE46,
4776 PRICING_ATTRIBUTE47,
4777 PRICING_ATTRIBUTE48,
4778 PRICING_ATTRIBUTE49,
4779 PRICING_ATTRIBUTE50,
4780 PRICING_ATTRIBUTE51,
4781 PRICING_ATTRIBUTE52,
4782 PRICING_ATTRIBUTE53,
4783 PRICING_ATTRIBUTE54,
4784 PRICING_ATTRIBUTE55,
4785 PRICING_ATTRIBUTE56,
4786 PRICING_ATTRIBUTE57,
4787 PRICING_ATTRIBUTE58,
4788 PRICING_ATTRIBUTE59,
4789 PRICING_ATTRIBUTE60,
4790 PRICING_ATTRIBUTE61,
4791 PRICING_ATTRIBUTE62,
4792 PRICING_ATTRIBUTE63,
4793 PRICING_ATTRIBUTE64,
4794 PRICING_ATTRIBUTE65,
4795 PRICING_ATTRIBUTE66,
4796 PRICING_ATTRIBUTE67,
4797 PRICING_ATTRIBUTE68,
4798 PRICING_ATTRIBUTE69,
4799 PRICING_ATTRIBUTE70,
4800 PRICING_ATTRIBUTE71,
4801 PRICING_ATTRIBUTE72,
4802 PRICING_ATTRIBUTE73,
4803 PRICING_ATTRIBUTE74,
4804 PRICING_ATTRIBUTE75,
4805 PRICING_ATTRIBUTE76,
4806 PRICING_ATTRIBUTE77,
4807 PRICING_ATTRIBUTE78,
4808 PRICING_ATTRIBUTE79,
4809 PRICING_ATTRIBUTE80,
4810 PRICING_ATTRIBUTE81,
4811 PRICING_ATTRIBUTE82,
4812 PRICING_ATTRIBUTE83,
4813 PRICING_ATTRIBUTE84,
4814 PRICING_ATTRIBUTE85,
4815 PRICING_ATTRIBUTE86,
4816 PRICING_ATTRIBUTE87,
4817 PRICING_ATTRIBUTE88,
4818 PRICING_ATTRIBUTE89,
4819 PRICING_ATTRIBUTE90,
4820 PRICING_ATTRIBUTE91,
4821 PRICING_ATTRIBUTE92,
4822 PRICING_ATTRIBUTE93,
4823 PRICING_ATTRIBUTE94,
4824 PRICING_ATTRIBUTE95,
4825 PRICING_ATTRIBUTE96,
4826 PRICING_ATTRIBUTE97,
4827 PRICING_ATTRIBUTE98,
4828 PRICING_ATTRIBUTE99,
4829 PRICING_ATTRIBUTE100
4830 ) VALUES (
4831 l_pricing_rec_tab.PRICING_ATTRIBUTE_ID(i),
4832 decode( l_pricing_rec_tab.INSTANCE_ID(i), FND_API.G_MISS_NUM, NULL, l_pricing_rec_tab.INSTANCE_ID(i)),
4833 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)),
4834 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)),
4835 decode( l_pricing_rec_tab.CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.CONTEXT(i)),
4836 decode( l_pricing_rec_tab.ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.ATTRIBUTE1(i)),
4837 decode( l_pricing_rec_tab.ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.ATTRIBUTE2(i)),
4838 decode( l_pricing_rec_tab.ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.ATTRIBUTE3(i)),
4839 decode( l_pricing_rec_tab.ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.ATTRIBUTE4(i)),
4840 decode( l_pricing_rec_tab.ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.ATTRIBUTE5(i)),
4841 decode( l_pricing_rec_tab.ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.ATTRIBUTE6(i)),
4842 decode( l_pricing_rec_tab.ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.ATTRIBUTE7(i)),
4843 decode( l_pricing_rec_tab.ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.ATTRIBUTE8(i)),
4844 decode( l_pricing_rec_tab.ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.ATTRIBUTE9(i)),
4845 decode( l_pricing_rec_tab.ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.ATTRIBUTE10(i)),
4846 decode( l_pricing_rec_tab.ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.ATTRIBUTE11(i)),
4847 decode( l_pricing_rec_tab.ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.ATTRIBUTE12(i)),
4848 decode( l_pricing_rec_tab.ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.ATTRIBUTE13(i)),
4849 decode( l_pricing_rec_tab.ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.ATTRIBUTE14(i)),
4850 decode( l_pricing_rec_tab.ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.ATTRIBUTE15(i)),
4851 l_user_id,
4852 SYSDATE,
4853 l_user_id,
4854 SYSDATE,
4855 l_login_id,
4856 1,
4857 decode( l_pricing_rec_tab.PRICING_CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_CONTEXT(i)),
4858 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE1(i)),
4859 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE2(i)),
4860 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE3(i)),
4861 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE4(i)),
4862 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE5(i)),
4863 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE6(i)),
4864 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE7(i)),
4865 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE8(i)),
4866 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE9(i)),
4867 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE10(i)),
4868 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE11(i)),
4869 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE12(i)),
4870 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE13(i)),
4871 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE14(i)),
4872 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE15(i)),
4873 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE16(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE16(i)),
4874 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE17(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE17(i)),
4875 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE18(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE18(i)),
4876 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE19(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE19(i)),
4877 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE20(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE20(i)),
4878 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE21(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE21(i)),
4879 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE22(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE22(i)),
4880 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE23(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE23(i)),
4881 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE24(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE24(i)),
4882 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE25(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE25(i)),
4883 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE26(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE26(i)),
4884 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE27(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE27(i)),
4885 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE28(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE28(i)),
4886 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE29(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE29(i)),
4887 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE30(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE30(i)),
4888 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE31(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE31(i)),
4889 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE32(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE32(i)),
4890 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE33(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE33(i)),
4891 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE34(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE34(i)),
4892 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE35(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE35(i)),
4893 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE36(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE36(i)),
4894 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE37(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE37(i)),
4895 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE38(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE38(i)),
4896 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE39(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE39(i)),
4897 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE40(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE40(i)),
4898 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE41(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE41(i)),
4899 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE42(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE42(i)),
4900 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE43(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE43(i)),
4901 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE44(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE44(i)),
4902 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE45(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE45(i)),
4903 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE46(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE46(i)),
4904 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE47(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE47(i)),
4905 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE48(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE48(i)),
4906 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE49(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE49(i)),
4907 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE50(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE50(i)),
4908 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE51(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE51(i)),
4909 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE52(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE52(i)),
4910 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE53(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE53(i)),
4911 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE54(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE54(i)),
4912 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE55(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE55(i)),
4913 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE56(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE56(i)),
4914 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE57(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE57(i)),
4915 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE58(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE58(i)),
4916 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE59(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE59(i)),
4917 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE60(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE60(i)),
4918 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE61(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE61(i)),
4919 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE62(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE62(i)),
4920 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE63(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE63(i)),
4921 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE64(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE64(i)),
4922 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE65(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE65(i)),
4923 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE66(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE66(i)),
4924 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE67(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE67(i)),
4925 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE68(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE68(i)),
4926 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE69(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE69(i)),
4927 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE70(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE70(i)),
4928 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE71(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE71(i)),
4929 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE72(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE72(i)),
4930 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE73(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE73(i)),
4931 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE74(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE74(i)),
4932 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE75(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE75(i)),
4933 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE76(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE76(i)),
4934 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE77(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE77(i)),
4935 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE78(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE78(i)),
4936 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE79(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE79(i)),
4937 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE80(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE80(i)),
4938 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE81(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE81(i)),
4939 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE82(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE82(i)),
4940 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE83(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE83(i)),
4941 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE84(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE84(i)),
4942 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE85(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE85(i)),
4943 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE86(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE86(i)),
4944 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE87(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE87(i)),
4945 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE88(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE88(i)),
4946 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE89(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE89(i)),
4947 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE90(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE90(i)),
4948 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE91(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE91(i)),
4949 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE92(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE92(i)),
4950 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE93(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE93(i)),
4951 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE94(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE94(i)),
4952 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE95(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE95(i)),
4953 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE96(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE96(i)),
4954 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE97(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE97(i)),
4955 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE98(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE98(i)),
4956 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE99(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE99(i)),
4957 decode( l_pricing_rec_tab.PRICING_ATTRIBUTE100(i), FND_API.G_MISS_CHAR, NULL, l_pricing_rec_tab.PRICING_ATTRIBUTE100(i))
4958 );
4959 END IF;
4960 --
4961 IF p_pricing_hist_tbl.count > 0 THEN
4962 Build_pricing_Hist_Rec_Table
4963 (
4964 p_pricing_hist_tbl => p_pricing_hist_tbl
4965 ,p_pricing_hist_rec_tab => l_pricing_hist_rec_tab
4966 );
4967 --
4968 l_ctr := l_pricing_hist_rec_tab.price_attrib_history_id.count;
4969 --
4970 FORALL i in 1 .. l_ctr
4971 INSERT INTO CSI_I_PRICING_ATTRIBS_H(
4972 PRICE_ATTRIB_HISTORY_ID,
4973 PRICING_ATTRIBUTE_ID,
4974 TRANSACTION_ID,
4975 OLD_PRICING_CONTEXT,
4976 NEW_PRICING_CONTEXT,
4977 OLD_PRICING_ATTRIBUTE1,
4978 NEW_PRICING_ATTRIBUTE1,
4979 OLD_PRICING_ATTRIBUTE2,
4980 NEW_PRICING_ATTRIBUTE2,
4981 OLD_PRICING_ATTRIBUTE3,
4982 NEW_PRICING_ATTRIBUTE3,
4983 OLD_PRICING_ATTRIBUTE4,
4984 NEW_PRICING_ATTRIBUTE4,
4985 OLD_PRICING_ATTRIBUTE5,
4986 NEW_PRICING_ATTRIBUTE5,
4987 OLD_PRICING_ATTRIBUTE6,
4988 NEW_PRICING_ATTRIBUTE6,
4989 OLD_PRICING_ATTRIBUTE7,
4990 NEW_PRICING_ATTRIBUTE7,
4991 OLD_PRICING_ATTRIBUTE8,
4992 NEW_PRICING_ATTRIBUTE8,
4993 OLD_PRICING_ATTRIBUTE9,
4994 NEW_PRICING_ATTRIBUTE9,
4995 OLD_PRICING_ATTRIBUTE10,
4996 NEW_PRICING_ATTRIBUTE10,
4997 OLD_PRICING_ATTRIBUTE11,
4998 NEW_PRICING_ATTRIBUTE11,
4999 OLD_PRICING_ATTRIBUTE12,
5000 NEW_PRICING_ATTRIBUTE12,
5001 OLD_PRICING_ATTRIBUTE13,
5002 NEW_PRICING_ATTRIBUTE13,
5003 OLD_PRICING_ATTRIBUTE14,
5004 NEW_PRICING_ATTRIBUTE14,
5005 OLD_PRICING_ATTRIBUTE15,
5006 NEW_PRICING_ATTRIBUTE15,
5007 OLD_PRICING_ATTRIBUTE16,
5008 NEW_PRICING_ATTRIBUTE16,
5009 OLD_PRICING_ATTRIBUTE17,
5010 NEW_PRICING_ATTRIBUTE17,
5011 OLD_PRICING_ATTRIBUTE18,
5012 NEW_PRICING_ATTRIBUTE18,
5013 OLD_PRICING_ATTRIBUTE19,
5014 NEW_PRICING_ATTRIBUTE19,
5015 OLD_PRICING_ATTRIBUTE20,
5016 NEW_PRICING_ATTRIBUTE20,
5017 OLD_PRICING_ATTRIBUTE21,
5018 NEW_PRICING_ATTRIBUTE21,
5019 OLD_PRICING_ATTRIBUTE22,
5020 NEW_PRICING_ATTRIBUTE22,
5021 OLD_PRICING_ATTRIBUTE23,
5022 NEW_PRICING_ATTRIBUTE23,
5023 OLD_PRICING_ATTRIBUTE24,
5024 NEW_PRICING_ATTRIBUTE24,
5025 NEW_PRICING_ATTRIBUTE25,
5026 OLD_PRICING_ATTRIBUTE25,
5027 OLD_PRICING_ATTRIBUTE26,
5028 NEW_PRICING_ATTRIBUTE26,
5029 OLD_PRICING_ATTRIBUTE27,
5030 NEW_PRICING_ATTRIBUTE27,
5031 OLD_PRICING_ATTRIBUTE28,
5032 NEW_PRICING_ATTRIBUTE28,
5033 OLD_PRICING_ATTRIBUTE29,
5034 NEW_PRICING_ATTRIBUTE29,
5035 OLD_PRICING_ATTRIBUTE30,
5036 NEW_PRICING_ATTRIBUTE30,
5037 OLD_PRICING_ATTRIBUTE31,
5038 NEW_PRICING_ATTRIBUTE31,
5039 OLD_PRICING_ATTRIBUTE32,
5040 NEW_PRICING_ATTRIBUTE32,
5041 OLD_PRICING_ATTRIBUTE33,
5042 NEW_PRICING_ATTRIBUTE33,
5043 OLD_PRICING_ATTRIBUTE34,
5044 NEW_PRICING_ATTRIBUTE34,
5045 OLD_PRICING_ATTRIBUTE35,
5046 NEW_PRICING_ATTRIBUTE35,
5047 OLD_PRICING_ATTRIBUTE36,
5048 NEW_PRICING_ATTRIBUTE36,
5049 OLD_PRICING_ATTRIBUTE37,
5050 NEW_PRICING_ATTRIBUTE37,
5051 OLD_PRICING_ATTRIBUTE38,
5052 NEW_PRICING_ATTRIBUTE38,
5053 OLD_PRICING_ATTRIBUTE39,
5054 NEW_PRICING_ATTRIBUTE39,
5055 OLD_PRICING_ATTRIBUTE40,
5056 NEW_PRICING_ATTRIBUTE40,
5057 OLD_PRICING_ATTRIBUTE41,
5058 NEW_PRICING_ATTRIBUTE41,
5059 OLD_PRICING_ATTRIBUTE42,
5060 NEW_PRICING_ATTRIBUTE42,
5061 OLD_PRICING_ATTRIBUTE43,
5062 NEW_PRICING_ATTRIBUTE43,
5063 OLD_PRICING_ATTRIBUTE44,
5064 NEW_PRICING_ATTRIBUTE44,
5065 OLD_PRICING_ATTRIBUTE45,
5066 NEW_PRICING_ATTRIBUTE45,
5067 OLD_PRICING_ATTRIBUTE46,
5068 NEW_PRICING_ATTRIBUTE46,
5069 OLD_PRICING_ATTRIBUTE47,
5070 NEW_PRICING_ATTRIBUTE47,
5071 OLD_PRICING_ATTRIBUTE48,
5072 NEW_PRICING_ATTRIBUTE48,
5073 OLD_PRICING_ATTRIBUTE49,
5074 NEW_PRICING_ATTRIBUTE49,
5075 OLD_PRICING_ATTRIBUTE50,
5076 NEW_PRICING_ATTRIBUTE50,
5077 OLD_PRICING_ATTRIBUTE51,
5078 NEW_PRICING_ATTRIBUTE51,
5079 OLD_PRICING_ATTRIBUTE52,
5080 NEW_PRICING_ATTRIBUTE52,
5081 OLD_PRICING_ATTRIBUTE53,
5082 NEW_PRICING_ATTRIBUTE53,
5083 OLD_PRICING_ATTRIBUTE54,
5084 NEW_PRICING_ATTRIBUTE54,
5085 OLD_PRICING_ATTRIBUTE55,
5086 NEW_PRICING_ATTRIBUTE55,
5087 OLD_PRICING_ATTRIBUTE56,
5088 NEW_PRICING_ATTRIBUTE56,
5089 OLD_PRICING_ATTRIBUTE57,
5090 NEW_PRICING_ATTRIBUTE57,
5091 OLD_PRICING_ATTRIBUTE58,
5092 NEW_PRICING_ATTRIBUTE58,
5093 OLD_PRICING_ATTRIBUTE59,
5094 NEW_PRICING_ATTRIBUTE59,
5095 OLD_PRICING_ATTRIBUTE60,
5096 NEW_PRICING_ATTRIBUTE60,
5097 OLD_PRICING_ATTRIBUTE61,
5098 NEW_PRICING_ATTRIBUTE61,
5099 OLD_PRICING_ATTRIBUTE62,
5100 NEW_PRICING_ATTRIBUTE62,
5101 OLD_PRICING_ATTRIBUTE63,
5102 NEW_PRICING_ATTRIBUTE63,
5103 OLD_PRICING_ATTRIBUTE64,
5104 NEW_PRICING_ATTRIBUTE64,
5105 OLD_PRICING_ATTRIBUTE65,
5106 NEW_PRICING_ATTRIBUTE65,
5107 OLD_PRICING_ATTRIBUTE66,
5108 NEW_PRICING_ATTRIBUTE66,
5109 OLD_PRICING_ATTRIBUTE67,
5110 NEW_PRICING_ATTRIBUTE67,
5111 OLD_PRICING_ATTRIBUTE68,
5112 NEW_PRICING_ATTRIBUTE68,
5113 OLD_PRICING_ATTRIBUTE69,
5114 NEW_PRICING_ATTRIBUTE69,
5115 OLD_PRICING_ATTRIBUTE70,
5116 NEW_PRICING_ATTRIBUTE70,
5117 OLD_PRICING_ATTRIBUTE71,
5118 NEW_PRICING_ATTRIBUTE71,
5119 OLD_PRICING_ATTRIBUTE72,
5120 NEW_PRICING_ATTRIBUTE72,
5121 OLD_PRICING_ATTRIBUTE73,
5122 NEW_PRICING_ATTRIBUTE73,
5123 OLD_PRICING_ATTRIBUTE74,
5124 NEW_PRICING_ATTRIBUTE74,
5125 OLD_PRICING_ATTRIBUTE75,
5126 NEW_PRICING_ATTRIBUTE75,
5127 OLD_PRICING_ATTRIBUTE76,
5128 NEW_PRICING_ATTRIBUTE76,
5129 OLD_PRICING_ATTRIBUTE77,
5130 NEW_PRICING_ATTRIBUTE77,
5131 OLD_PRICING_ATTRIBUTE78,
5132 NEW_PRICING_ATTRIBUTE78,
5133 OLD_PRICING_ATTRIBUTE79,
5134 NEW_PRICING_ATTRIBUTE79,
5135 OLD_PRICING_ATTRIBUTE80,
5136 NEW_PRICING_ATTRIBUTE80,
5137 OLD_PRICING_ATTRIBUTE81,
5138 NEW_PRICING_ATTRIBUTE81,
5139 OLD_PRICING_ATTRIBUTE82,
5140 NEW_PRICING_ATTRIBUTE82,
5141 OLD_PRICING_ATTRIBUTE83,
5142 NEW_PRICING_ATTRIBUTE83,
5143 OLD_PRICING_ATTRIBUTE84,
5144 NEW_PRICING_ATTRIBUTE84,
5145 OLD_PRICING_ATTRIBUTE85,
5146 NEW_PRICING_ATTRIBUTE85,
5147 OLD_PRICING_ATTRIBUTE86,
5148 NEW_PRICING_ATTRIBUTE86,
5149 OLD_PRICING_ATTRIBUTE87,
5150 NEW_PRICING_ATTRIBUTE87,
5151 OLD_PRICING_ATTRIBUTE88,
5152 NEW_PRICING_ATTRIBUTE88,
5153 OLD_PRICING_ATTRIBUTE89,
5154 NEW_PRICING_ATTRIBUTE89,
5155 OLD_PRICING_ATTRIBUTE90,
5156 NEW_PRICING_ATTRIBUTE90,
5157 OLD_PRICING_ATTRIBUTE91,
5158 NEW_PRICING_ATTRIBUTE91,
5159 OLD_PRICING_ATTRIBUTE92,
5160 NEW_PRICING_ATTRIBUTE92,
5161 OLD_PRICING_ATTRIBUTE93,
5162 NEW_PRICING_ATTRIBUTE93,
5163 OLD_PRICING_ATTRIBUTE94,
5164 NEW_PRICING_ATTRIBUTE94,
5165 OLD_PRICING_ATTRIBUTE95,
5166 NEW_PRICING_ATTRIBUTE95,
5167 OLD_PRICING_ATTRIBUTE96,
5168 NEW_PRICING_ATTRIBUTE96,
5169 OLD_PRICING_ATTRIBUTE97,
5170 NEW_PRICING_ATTRIBUTE97,
5171 OLD_PRICING_ATTRIBUTE98,
5172 NEW_PRICING_ATTRIBUTE98,
5173 OLD_PRICING_ATTRIBUTE99,
5174 NEW_PRICING_ATTRIBUTE99,
5175 OLD_PRICING_ATTRIBUTE100,
5176 NEW_PRICING_ATTRIBUTE100,
5177 OLD_ACTIVE_START_DATE,
5178 NEW_ACTIVE_START_DATE,
5179 OLD_ACTIVE_END_DATE,
5180 NEW_ACTIVE_END_DATE,
5181 OLD_CONTEXT,
5182 NEW_CONTEXT,
5183 OLD_ATTRIBUTE1,
5184 NEW_ATTRIBUTE1,
5185 OLD_ATTRIBUTE2,
5186 NEW_ATTRIBUTE2,
5187 OLD_ATTRIBUTE3,
5188 NEW_ATTRIBUTE3,
5189 OLD_ATTRIBUTE4,
5190 NEW_ATTRIBUTE4,
5191 OLD_ATTRIBUTE5,
5192 NEW_ATTRIBUTE5,
5193 OLD_ATTRIBUTE6,
5194 NEW_ATTRIBUTE6,
5195 OLD_ATTRIBUTE7,
5196 NEW_ATTRIBUTE7,
5197 OLD_ATTRIBUTE8,
5198 NEW_ATTRIBUTE8,
5199 OLD_ATTRIBUTE9,
5200 NEW_ATTRIBUTE9,
5201 OLD_ATTRIBUTE10,
5202 NEW_ATTRIBUTE10,
5203 OLD_ATTRIBUTE11,
5204 NEW_ATTRIBUTE11,
5205 OLD_ATTRIBUTE12,
5206 NEW_ATTRIBUTE12,
5207 OLD_ATTRIBUTE13,
5208 NEW_ATTRIBUTE13,
5209 OLD_ATTRIBUTE14,
5210 NEW_ATTRIBUTE14,
5211 OLD_ATTRIBUTE15,
5212 NEW_ATTRIBUTE15,
5213 FULL_DUMP_FLAG,
5214 CREATED_BY,
5215 CREATION_DATE,
5216 LAST_UPDATED_BY,
5217 LAST_UPDATE_DATE,
5218 LAST_UPDATE_LOGIN,
5219 OBJECT_VERSION_NUMBER
5220 ) VALUES (
5221 l_pricing_hist_rec_tab.PRICE_ATTRIB_HISTORY_ID(i),
5222 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)),
5223 decode( l_pricing_hist_rec_tab.TRANSACTION_ID(i), FND_API.G_MISS_NUM, NULL, l_pricing_hist_rec_tab.TRANSACTION_ID(i)),
5224 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)),
5225 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)),
5226 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)),
5227 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)),
5228 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)),
5229 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)),
5230 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)),
5231 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)),
5232 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)),
5233 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)),
5234 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)),
5235 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)),
5236 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)),
5237 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)),
5238 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)),
5239 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)),
5240 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)),
5241 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)),
5242 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)),
5243 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)),
5244 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)),
5245 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)),
5246 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)),
5247 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)),
5248 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)),
5249 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)),
5250 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)),
5251 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)),
5252 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)),
5253 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)),
5254 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)),
5255 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)),
5256 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)),
5257 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)),
5258 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)),
5259 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)),
5260 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)),
5261 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)),
5262 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)),
5263 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)),
5264 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)),
5265 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)),
5266 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)),
5267 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)),
5268 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)),
5269 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)),
5270 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)),
5271 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)),
5272 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)),
5273 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)),
5274 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)),
5275 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)),
5276 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)),
5277 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)),
5278 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)),
5279 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)),
5280 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)),
5281 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)),
5282 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)),
5283 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)),
5284 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)),
5285 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)),
5286 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)),
5287 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)),
5288 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)),
5289 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)),
5290 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)),
5291 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)),
5292 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)),
5293 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)),
5294 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)),
5295 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)),
5296 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)),
5297 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)),
5298 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)),
5299 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)),
5300 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)),
5301 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)),
5302 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)),
5303 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)),
5304 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)),
5305 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)),
5306 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)),
5307 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)),
5308 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)),
5309 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)),
5310 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)),
5311 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)),
5312 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)),
5313 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)),
5314 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)),
5315 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)),
5316 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)),
5317 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)),
5318 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)),
5319 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)),
5320 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)),
5321 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)),
5322 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)),
5323 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)),
5324 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)),
5325 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)),
5326 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)),
5327 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)),
5328 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)),
5329 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)),
5330 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)),
5331 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)),
5332 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)),
5333 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)),
5334 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)),
5335 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)),
5336 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)),
5337 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)),
5338 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)),
5339 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)),
5340 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)),
5341 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)),
5342 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)),
5343 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)),
5344 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)),
5345 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)),
5346 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)),
5347 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)),
5348 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)),
5349 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)),
5350 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)),
5351 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)),
5352 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)),
5353 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)),
5354 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)),
5355 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)),
5356 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)),
5357 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)),
5358 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)),
5359 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)),
5360 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)),
5361 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)),
5362 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)),
5363 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)),
5364 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)),
5365 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)),
5366 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)),
5367 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)),
5368 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)),
5369 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)),
5370 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)),
5371 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)),
5372 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)),
5373 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)),
5374 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)),
5375 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)),
5376 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)),
5377 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)),
5378 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)),
5379 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)),
5380 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)),
5381 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)),
5382 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)),
5383 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)),
5384 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)),
5385 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)),
5386 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)),
5387 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)),
5388 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)),
5389 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)),
5390 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)),
5391 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)),
5392 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)),
5393 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)),
5394 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)),
5395 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)),
5396 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)),
5397 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)),
5398 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)),
5399 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)),
5400 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)),
5401 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)),
5402 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)),
5403 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)),
5404 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)),
5405 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)),
5406 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)),
5407 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)),
5408 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)),
5409 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)),
5410 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)),
5411 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)),
5412 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)),
5413 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)),
5414 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)),
5415 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)),
5416 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)),
5417 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)),
5418 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)),
5419 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)),
5420 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)),
5421 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)),
5422 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)),
5423 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)),
5424 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)),
5425 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)),
5426 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)),
5427 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)),
5428 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)),
5429 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)),
5430 decode( l_pricing_hist_rec_tab.OLD_CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_CONTEXT(i)),
5431 decode( l_pricing_hist_rec_tab.NEW_CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_CONTEXT(i)),
5432 decode( l_pricing_hist_rec_tab.OLD_ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_ATTRIBUTE1(i)),
5433 decode( l_pricing_hist_rec_tab.NEW_ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_ATTRIBUTE1(i)),
5434 decode( l_pricing_hist_rec_tab.OLD_ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_ATTRIBUTE2(i)),
5435 decode( l_pricing_hist_rec_tab.NEW_ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_ATTRIBUTE2(i)),
5436 decode( l_pricing_hist_rec_tab.OLD_ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_ATTRIBUTE3(i)),
5437 decode( l_pricing_hist_rec_tab.NEW_ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_ATTRIBUTE3(i)),
5438 decode( l_pricing_hist_rec_tab.OLD_ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_ATTRIBUTE4(i)),
5439 decode( l_pricing_hist_rec_tab.NEW_ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_ATTRIBUTE4(i)),
5440 decode( l_pricing_hist_rec_tab.OLD_ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_ATTRIBUTE5(i)),
5441 decode( l_pricing_hist_rec_tab.NEW_ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_ATTRIBUTE5(i)),
5442 decode( l_pricing_hist_rec_tab.OLD_ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_ATTRIBUTE6(i)),
5443 decode( l_pricing_hist_rec_tab.NEW_ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_ATTRIBUTE6(i)),
5444 decode( l_pricing_hist_rec_tab.OLD_ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_ATTRIBUTE7(i)),
5445 decode( l_pricing_hist_rec_tab.NEW_ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_ATTRIBUTE7(i)),
5446 decode( l_pricing_hist_rec_tab.OLD_ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_ATTRIBUTE8(i)),
5447 decode( l_pricing_hist_rec_tab.NEW_ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_ATTRIBUTE8(i)),
5448 decode( l_pricing_hist_rec_tab.OLD_ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_ATTRIBUTE9(i)),
5449 decode( l_pricing_hist_rec_tab.NEW_ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_ATTRIBUTE9(i)),
5450 decode( l_pricing_hist_rec_tab.OLD_ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_ATTRIBUTE10(i)),
5451 decode( l_pricing_hist_rec_tab.NEW_ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_ATTRIBUTE10(i)),
5452 decode( l_pricing_hist_rec_tab.OLD_ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_ATTRIBUTE11(i)),
5453 decode( l_pricing_hist_rec_tab.NEW_ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_ATTRIBUTE11(i)),
5454 decode( l_pricing_hist_rec_tab.OLD_ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_ATTRIBUTE12(i)),
5455 decode( l_pricing_hist_rec_tab.NEW_ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_ATTRIBUTE12(i)),
5456 decode( l_pricing_hist_rec_tab.OLD_ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_ATTRIBUTE13(i)),
5457 decode( l_pricing_hist_rec_tab.NEW_ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_ATTRIBUTE13(i)),
5458 decode( l_pricing_hist_rec_tab.OLD_ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_ATTRIBUTE14(i)),
5459 decode( l_pricing_hist_rec_tab.NEW_ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_ATTRIBUTE14(i)),
5460 decode( l_pricing_hist_rec_tab.OLD_ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.OLD_ATTRIBUTE15(i)),
5461 decode( l_pricing_hist_rec_tab.NEW_ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_pricing_hist_rec_tab.NEW_ATTRIBUTE15(i)),
5462 'N',
5463 l_user_id,
5464 SYSDATE,
5465 l_user_id,
5466 SYSDATE,
5467 l_login_id,
5468 1
5469 );
5470 END IF;
5471 IF p_ext_attr_values_tbl.count > 0 THEN
5472 Build_Ext_Attr_Rec_Table
5473 (
5474 p_ext_attr_tbl => p_ext_attr_values_tbl
5475 ,p_ext_attr_rec_tab => l_ext_attr_rec_tab
5476 );
5477 --
5478 l_ctr := l_ext_attr_rec_tab.attribute_value_id.count;
5479 --
5480 FORALL i in 1 .. l_ctr
5481 INSERT INTO CSI_IEA_VALUES(
5482 ATTRIBUTE_VALUE_ID,
5483 ATTRIBUTE_ID,
5484 INSTANCE_ID,
5485 ATTRIBUTE_VALUE,
5486 ACTIVE_START_DATE,
5487 ACTIVE_END_DATE,
5488 CONTEXT,
5489 ATTRIBUTE1,
5490 ATTRIBUTE2,
5491 ATTRIBUTE3,
5492 ATTRIBUTE4,
5493 ATTRIBUTE5,
5494 ATTRIBUTE6,
5495 ATTRIBUTE7,
5496 ATTRIBUTE8,
5497 ATTRIBUTE9,
5498 ATTRIBUTE10,
5499 ATTRIBUTE11,
5500 ATTRIBUTE12,
5501 ATTRIBUTE13,
5502 ATTRIBUTE14,
5503 ATTRIBUTE15,
5504 CREATED_BY,
5505 CREATION_DATE,
5506 LAST_UPDATED_BY,
5507 LAST_UPDATE_DATE,
5508 LAST_UPDATE_LOGIN,
5509 OBJECT_VERSION_NUMBER
5510 ) VALUES (
5511 l_ext_attr_rec_tab.ATTRIBUTE_VALUE_ID(i),
5512 decode( l_ext_attr_rec_tab.ATTRIBUTE_ID(i), FND_API.G_MISS_NUM, NULL, l_ext_attr_rec_tab.ATTRIBUTE_ID(i)),
5513 decode( l_ext_attr_rec_tab.INSTANCE_ID(i), FND_API.G_MISS_NUM, NULL, l_ext_attr_rec_tab.INSTANCE_ID(i)),
5514 decode( l_ext_attr_rec_tab.ATTRIBUTE_VALUE(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.ATTRIBUTE_VALUE(i)),
5515 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)),
5516 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)),
5517 decode( l_ext_attr_rec_tab.CONTEXT(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.CONTEXT(i)),
5518 decode( l_ext_attr_rec_tab.ATTRIBUTE1(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.ATTRIBUTE1(i)),
5519 decode( l_ext_attr_rec_tab.ATTRIBUTE2(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.ATTRIBUTE2(i)),
5520 decode( l_ext_attr_rec_tab.ATTRIBUTE3(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.ATTRIBUTE3(i)),
5521 decode( l_ext_attr_rec_tab.ATTRIBUTE4(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.ATTRIBUTE4(i)),
5522 decode( l_ext_attr_rec_tab.ATTRIBUTE5(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.ATTRIBUTE5(i)),
5523 decode( l_ext_attr_rec_tab.ATTRIBUTE6(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.ATTRIBUTE6(i)),
5524 decode( l_ext_attr_rec_tab.ATTRIBUTE7(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.ATTRIBUTE7(i)),
5525 decode( l_ext_attr_rec_tab.ATTRIBUTE8(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.ATTRIBUTE8(i)),
5526 decode( l_ext_attr_rec_tab.ATTRIBUTE9(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.ATTRIBUTE9(i)),
5527 decode( l_ext_attr_rec_tab.ATTRIBUTE10(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.ATTRIBUTE10(i)),
5528 decode( l_ext_attr_rec_tab.ATTRIBUTE11(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.ATTRIBUTE11(i)),
5529 decode( l_ext_attr_rec_tab.ATTRIBUTE12(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.ATTRIBUTE12(i)),
5530 decode( l_ext_attr_rec_tab.ATTRIBUTE13(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.ATTRIBUTE13(i)),
5531 decode( l_ext_attr_rec_tab.ATTRIBUTE14(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.ATTRIBUTE14(i)),
5532 decode( l_ext_attr_rec_tab.ATTRIBUTE15(i), FND_API.G_MISS_CHAR, NULL, l_ext_attr_rec_tab.ATTRIBUTE15(i)),
5533 l_user_id,
5534 SYSDATE,
5535 l_user_id,
5536 SYSDATE,
5537 l_login_id,
5538 1
5539 );
5540 END IF;
5541 --
5542 IF p_ext_attr_val_hist_tbl.count > 0 THEN
5543 Build_Ext_Attr_Hist_Rec_Table
5544 (
5545 p_ext_attr_hist_tbl => p_ext_attr_val_hist_tbl
5546 ,p_ext_attr_hist_rec_tab => l_ext_attr_hist_rec_tab
5547 );
5548 --
5549 l_ctr := l_ext_attr_hist_rec_tab.attribute_value_history_id.count;
5550 --
5551 FORALL i in 1 .. l_ctr
5552 INSERT INTO CSI_IEA_VALUES_H(
5553 ATTRIBUTE_VALUE_HISTORY_ID,
5554 ATTRIBUTE_VALUE_ID,
5555 TRANSACTION_ID,
5556 OLD_ATTRIBUTE_VALUE,
5557 NEW_ATTRIBUTE_VALUE,
5558 OLD_ACTIVE_START_DATE,
5559 NEW_ACTIVE_START_DATE,
5560 OLD_ACTIVE_END_DATE,
5561 NEW_ACTIVE_END_DATE,
5562 OLD_CONTEXT,
5563 NEW_CONTEXT,
5564 OLD_ATTRIBUTE1,
5565 NEW_ATTRIBUTE1,
5566 OLD_ATTRIBUTE2,
5567 NEW_ATTRIBUTE2,
5568 OLD_ATTRIBUTE3,
5569 NEW_ATTRIBUTE3,
5570 OLD_ATTRIBUTE4,
5571 NEW_ATTRIBUTE4,
5572 OLD_ATTRIBUTE5,
5573 NEW_ATTRIBUTE5,
5574 OLD_ATTRIBUTE6,
5575 NEW_ATTRIBUTE6,
5576 OLD_ATTRIBUTE7,
5577 NEW_ATTRIBUTE7,
5578 OLD_ATTRIBUTE8,
5579 NEW_ATTRIBUTE8,
5580 OLD_ATTRIBUTE9,
5581 NEW_ATTRIBUTE9,
5582 OLD_ATTRIBUTE10,
5583 NEW_ATTRIBUTE10,
5584 OLD_ATTRIBUTE11,
5585 NEW_ATTRIBUTE11,
5586 OLD_ATTRIBUTE12,
5587 NEW_ATTRIBUTE12,
5588 OLD_ATTRIBUTE13,
5589 NEW_ATTRIBUTE13,
5590 OLD_ATTRIBUTE14,
5591 NEW_ATTRIBUTE14,
5592 OLD_ATTRIBUTE15,
5593 NEW_ATTRIBUTE15,
5594 FULL_DUMP_FLAG,
5595 CREATED_BY,
5596 CREATION_DATE,
5597 LAST_UPDATED_BY,
5598 LAST_UPDATE_DATE,
5599 LAST_UPDATE_LOGIN,
5600 OBJECT_VERSION_NUMBER
5601 ) VALUES (
5602 l_ext_attr_hist_rec_tab.ATTRIBUTE_VALUE_HISTORY_ID(i),
5603 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)),
5604 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)),
5605 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)),
5606 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)),
5607 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)),
5608 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)),
5609 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)),
5610 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)),
5611 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)),
5612 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)),
5613 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)),
5614 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)),
5615 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)),
5616 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)),
5617 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)),
5618 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)),
5619 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)),
5620 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)),
5621 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)),
5622 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)),
5623 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)),
5624 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)),
5625 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)),
5626 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)),
5627 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)),
5628 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)),
5629 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)),
5630 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)),
5631 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)),
5632 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)),
5633 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)),
5634 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)),
5635 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)),
5636 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)),
5637 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)),
5638 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)),
5639 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)),
5640 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)),
5641 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)),
5642 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)),
5643 'N',
5644 l_user_id,
5645 SYSDATE,
5646 l_user_id,
5647 SYSDATE,
5648 l_login_id,
5649 1
5650 );
5651 END IF;
5652 --
5653 IF p_asset_tbl.count > 0 THEN
5654 Build_Asset_Rec_Table
5655 (
5656 p_asset_tbl => p_asset_tbl
5657 ,p_asset_rec_tab => l_asset_rec_tab
5658 );
5659 --
5660 l_ctr := l_asset_rec_tab.instance_asset_id.count;
5661 --
5662 FORALL i in 1 .. l_ctr
5663 INSERT INTO CSI_I_ASSETS(
5664 INSTANCE_ASSET_ID,
5665 INSTANCE_ID,
5666 FA_ASSET_ID,
5667 FA_BOOK_TYPE_CODE,
5668 FA_LOCATION_ID,
5669 ASSET_QUANTITY,
5670 UPDATE_STATUS,
5671 ACTIVE_START_DATE,
5672 ACTIVE_END_DATE,
5673 CREATED_BY,
5674 CREATION_DATE,
5675 LAST_UPDATED_BY,
5676 LAST_UPDATE_DATE,
5677 LAST_UPDATE_LOGIN,
5678 OBJECT_VERSION_NUMBER,
5679 FA_SYNC_FLAG
5680 ) VALUES (
5681 l_asset_rec_tab.INSTANCE_ASSET_ID(i),
5682 decode( l_asset_rec_tab.INSTANCE_ID(i), FND_API.G_MISS_NUM, NULL, l_asset_rec_tab.INSTANCE_ID(i)),
5683 decode( l_asset_rec_tab.FA_ASSET_ID(i), FND_API.G_MISS_NUM, NULL, l_asset_rec_tab.FA_ASSET_ID(i)),
5684 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)),
5685 decode( l_asset_rec_tab.FA_LOCATION_ID(i), FND_API.G_MISS_NUM, NULL, l_asset_rec_tab.FA_LOCATION_ID(i)),
5686 decode( l_asset_rec_tab.ASSET_QUANTITY(i), FND_API.G_MISS_NUM, NULL, l_asset_rec_tab.ASSET_QUANTITY(i)),
5687 decode( l_asset_rec_tab.UPDATE_STATUS(i), FND_API.G_MISS_CHAR, NULL, l_asset_rec_tab.UPDATE_STATUS(i)),
5688 decode( l_asset_rec_tab.ACTIVE_START_DATE(i), FND_API.G_MISS_DATE, NULL, l_asset_rec_tab.ACTIVE_START_DATE(i)),
5689 decode( l_asset_rec_tab.ACTIVE_END_DATE(i), FND_API.G_MISS_DATE, NULL, l_asset_rec_tab.ACTIVE_END_DATE(i)),
5690 l_user_id,
5691 SYSDATE,
5692 l_user_id,
5693 SYSDATE,
5694 l_login_id,
5695 1,
5696 decode( l_asset_rec_tab.FA_SYNC_FLAG(i), FND_API.G_MISS_CHAR, NULL, l_asset_rec_tab.FA_SYNC_FLAG(i))
5697 );
5698 END IF;
5699 --
5700 IF p_asset_hist_tbl.count > 0 THEN
5701 Build_Asset_Hist_Rec_Table
5702 (
5703 p_asset_hist_tbl => p_asset_hist_tbl
5704 ,p_asset_hist_rec_tab => l_asset_hist_rec_tab
5705 );
5706 --
5707 l_ctr := l_asset_hist_rec_tab.instance_asset_history_id.count;
5708 --
5709 FORALL i in 1 .. l_ctr
5710 INSERT INTO CSI_I_ASSETS_H(
5711 INSTANCE_ASSET_HISTORY_ID,
5712 INSTANCE_ASSET_ID,
5713 TRANSACTION_ID,
5714 OLD_INSTANCE_ID,
5715 NEW_INSTANCE_ID,
5716 OLD_FA_ASSET_ID,
5717 NEW_FA_ASSET_ID,
5718 OLD_ASSET_QUANTITY,
5719 NEW_ASSET_QUANTITY,
5720 OLD_FA_BOOK_TYPE_CODE,
5721 NEW_FA_BOOK_TYPE_CODE,
5722 OLD_FA_LOCATION_ID,
5723 NEW_FA_LOCATION_ID,
5724 OLD_UPDATE_STATUS,
5725 NEW_UPDATE_STATUS,
5726 OLD_ACTIVE_START_DATE,
5727 NEW_ACTIVE_START_DATE,
5728 OLD_ACTIVE_END_DATE,
5729 NEW_ACTIVE_END_DATE,
5730 FULL_DUMP_FLAG,
5731 CREATED_BY,
5732 CREATION_DATE,
5733 LAST_UPDATED_BY,
5734 LAST_UPDATE_DATE,
5735 LAST_UPDATE_LOGIN,
5736 OBJECT_VERSION_NUMBER,
5737 OLD_FA_SYNC_FLAG,
5738 NEW_FA_SYNC_FLAG
5739 ) VALUES (
5740 l_asset_hist_rec_tab.INSTANCE_ASSET_HISTORY_ID(i),
5741 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)),
5742 decode( l_asset_hist_rec_tab.TRANSACTION_ID(i), FND_API.G_MISS_NUM, NULL, l_asset_hist_rec_tab.TRANSACTION_ID(i)),
5743 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)),
5744 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)),
5745 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)),
5746 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)),
5747 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)),
5748 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)),
5749 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)),
5750 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)),
5751 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)),
5752 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)),
5753 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)),
5754 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)),
5755 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)),
5756 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)),
5757 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)),
5758 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)),
5759 'N',
5760 l_user_id,
5761 SYSDATE,
5762 l_user_id,
5763 SYSDATE,
5764 l_login_id,
5765 1,
5766 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)),
5767 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))
5768 );
5769 END IF;
5770 --
5771 EXCEPTION
5772 WHEN OTHERS THEN
5773 FND_File.Put_Line(Fnd_File.LOG,'Into when others of bulk_insert');
5774 FND_File.Put_Line(Fnd_File.LOG,'SQLERRM:'||substr(SQLERRM,1,200));
5775 csi_gen_utility_pvt.put_line('SQLERRM:'||substr(SQLERRM,1,200));
5776 ROLLBACK TO Bulk_Insert;
5777 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
5778 END Bulk_Insert;
5779 --
5780 --
5781 /*----------------------------------------------------*/
5782 /* procedure name: create_item_instance */
5783 /* description : procedure used to */
5784 /* create item instances */
5785 /*----------------------------------------------------*/
5786
5787 PROCEDURE create_item_instance
5788 (
5789 p_api_version IN NUMBER
5790 ,p_commit IN VARCHAR2
5791 ,p_init_msg_list IN VARCHAR2
5792 ,p_validation_level IN NUMBER
5793 ,p_instance_tbl IN OUT NOCOPY csi_datastructures_pub.instance_tbl
5794 ,p_ext_attrib_values_tbl IN OUT NOCOPY csi_datastructures_pub.extend_attrib_values_tbl
5795 ,p_party_tbl IN OUT NOCOPY csi_datastructures_pub.party_tbl
5796 ,p_account_tbl IN OUT NOCOPY csi_datastructures_pub.party_account_tbl
5797 ,p_pricing_attrib_tbl IN OUT NOCOPY csi_datastructures_pub.pricing_attribs_tbl
5798 ,p_org_assignments_tbl IN OUT NOCOPY csi_datastructures_pub.organization_units_tbl
5799 ,p_asset_assignment_tbl IN OUT NOCOPY csi_datastructures_pub.instance_asset_tbl
5800 ,p_txn_tbl IN OUT NOCOPY csi_datastructures_pub.transaction_tbl
5801 ,p_call_from_bom_expl IN VARCHAR2
5802 ,p_grp_error_tbl OUT NOCOPY csi_datastructures_pub.grp_error_tbl
5803 ,x_return_status OUT NOCOPY VARCHAR2
5804 ,x_msg_count OUT NOCOPY NUMBER
5805 ,x_msg_data OUT NOCOPY VARCHAR2
5806 )
5807 IS
5808 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_ITEM_INSTANCE';
5809 l_api_version CONSTANT NUMBER := 1.0;
5810 l_debug_level NUMBER;
5811 l_flag VARCHAR2(1) := 'N';
5812 l_serial_control NUMBER;
5813 l_msg_data VARCHAR2(2000);
5814 l_msg_index NUMBER;
5815 l_msg_count NUMBER;
5816 l_transaction_type VARCHAR2(10);
5817 l_contracts_status VARCHAR2(3);
5818 l_account_id NUMBER;
5819 l_party_id NUMBER;
5820 l_party_src_tbl VARCHAR2(30);
5821 l_version_label VARCHAR2(30) := FND_PROFILE.VALUE('CSI_DEFAULT_VERSION_LABEL');
5822 l_temp_party_tbl csi_datastructures_pub.party_tbl;
5823 l_temp_account_tbl csi_datastructures_pub.party_account_tbl;
5824 l_temp_org_tbl csi_datastructures_pub.organization_units_tbl;
5825 l_temp_asset_tbl csi_datastructures_pub.instance_asset_tbl;
5826 l_temp_ext_tbl csi_datastructures_pub.extend_attrib_values_tbl;
5827 l_build_party_tbl csi_datastructures_pub.party_tbl;
5828 l_build_account_tbl csi_datastructures_pub.party_account_tbl;
5829 l_build_org_tbl csi_datastructures_pub.organization_units_tbl;
5830 l_build_asset_tbl csi_datastructures_pub.instance_asset_tbl;
5831 l_build_ext_tbl csi_datastructures_pub.extend_attrib_values_tbl;
5832 l_build_pricing_tbl csi_datastructures_pub.pricing_attribs_tbl;
5833 l_build_ctr NUMBER := 0;
5834 l_party_count NUMBER;
5835 l_account_count NUMBER;
5836 l_org_count NUMBER;
5837 l_asset_count NUMBER;
5838 l_ext_count NUMBER;
5839 l_iface_id NUMBER;
5840 l_iface_error_text VARCHAR2(2000);
5841 l_item_attribute_tbl csi_item_instance_pvt.item_attribute_tbl;
5842 l_location_tbl csi_item_instance_pvt.location_tbl;
5843 l_generic_id_tbl csi_item_instance_pvt.generic_id_tbl;
5844 l_lookup_tbl csi_item_instance_pvt.lookup_tbl;
5845 l_ins_count_rec csi_item_instance_pvt.ins_count_rec;
5846 l_internal_party_id NUMBER;
5847 l_party_has_correct_acct BOOLEAN := FALSE;
5848 l_party_source_tbl csi_party_relationships_pvt.party_source_tbl;
5849 l_party_id_tbl csi_party_relationships_pvt.party_id_tbl;
5850 l_contact_tbl csi_party_relationships_pvt.contact_tbl;
5851 l_party_rel_type_tbl csi_party_relationships_pvt.party_rel_type_tbl;
5852 l_party_count_rec csi_party_relationships_pvt.party_count_rec;
5853 l_inst_party_tbl csi_party_relationships_pvt.inst_party_tbl;
5854 l_acct_rel_type_tbl csi_party_relationships_pvt.acct_rel_type_tbl;
5855 l_site_use_tbl csi_party_relationships_pvt.site_use_tbl;
5856 l_account_count_rec csi_party_relationships_pvt.account_count_rec;
5857 l_acct_id_tbl csi_party_relationships_pvt.acct_id_tbl;
5858 l_grp_error_tbl csi_datastructures_pub.grp_error_tbl;
5859 l_ou_lookup_tbl csi_organization_unit_pvt.lookup_tbl;
5860 l_ou_count_rec csi_organization_unit_pvt.ou_count_rec;
5861 l_ou_id_tbl csi_organization_unit_pvt.ou_id_tbl;
5862 l_ext_id_tbl csi_item_instance_pvt.ext_id_tbl;
5863 l_ext_count_rec csi_item_instance_pvt.ext_count_rec;
5864 l_ext_attr_tbl csi_item_instance_pvt.ext_attr_tbl;
5865 l_ext_cat_tbl csi_item_instance_pvt.ext_cat_tbl;
5866 l_asset_lookup_tbl csi_asset_pvt.lookup_tbl;
5867 l_asset_count_rec csi_asset_pvt.asset_count_rec;
5868 l_asset_id_tbl csi_asset_pvt.asset_id_tbl;
5869 l_asset_loc_tbl csi_asset_pvt.asset_loc_tbl;
5870 --
5871 l_bulk_inst_tbl csi_datastructures_pub.instance_tbl;
5872 l_bulk_version_label_tbl csi_datastructures_pub.version_label_tbl;
5873 l_bulk_ver_label_hist_tbl csi_datastructures_pub.version_label_history_tbl;
5874 l_bulk_inst_hist_tbl csi_datastructures_pub.instance_history_tbl;
5875 l_bulk_party_tbl csi_datastructures_pub.party_tbl;
5876 l_bulk_party_hist_tbl csi_datastructures_pub.party_history_tbl;
5877 l_bulk_acct_tbl csi_datastructures_pub.party_account_tbl;
5878 l_bulk_acct_hist_tbl csi_datastructures_pub.account_history_tbl;
5879 l_bulk_txn_tbl csi_datastructures_pub.transaction_tbl;
5880 x_bulk_txn_tbl csi_datastructures_pub.transaction_tbl;
5881 l_owner_pty_acct_tbl csi_item_instance_pvt.owner_pty_acct_tbl;
5882 l_bulk_org_units_tbl csi_datastructures_pub.organization_units_tbl;
5883 l_bulk_org_units_hist_tbl csi_datastructures_pub.org_units_history_tbl;
5884 l_bulk_pricing_tbl csi_datastructures_pub.pricing_attribs_tbl;
5885 l_bulk_pricing_hist_tbl csi_datastructures_pub.pricing_history_tbl;
5886 l_bulk_ext_attrib_values_tbl csi_datastructures_pub.extend_attrib_values_tbl;
5887 l_bulk_ext_attrib_val_hist_tbl csi_datastructures_pub.ext_attrib_val_history_tbl;
5888 l_bulk_asset_tbl csi_datastructures_pub.instance_asset_tbl;
5889 l_bulk_asset_hist_tbl csi_datastructures_pub.ins_asset_history_tbl;
5890 --
5891 l_bulk_inst_count NUMBER := 0;
5892 l_bulk_pty_count NUMBER := 0;
5893 l_bulk_acct_count NUMBER := 0;
5894 l_bulk_org_count NUMBER := 0;
5895 l_bulk_pricing_count NUMBER := 0;
5896 l_bulk_ext_count NUMBER := 0;
5897 l_bulk_asset_count NUMBER := 0;
5898 l_owner_count NUMBER := 0;
5899 --
5900 l_txn_exists_tbl dbms_sql.Number_Table;
5901 l_intf_id_array dbms_sql.Number_Table;
5902 l_inst_id_array dbms_sql.Number_Table;
5903 l_status_array dbms_sql.Varchar2_Table;
5904 l_error_array dbms_sql.Varchar2_Table;
5905 l_num_of_rows NUMBER;
5906 l_upd_stmt VARCHAR2(2000);
5907 l_dummy NUMBER;
5908 l_instance_status VARCHAR2(50) := FND_PROFILE.VALUE('CSI_DEFAULT_INSTANCE_STATUS');
5909 l_status_id NUMBER;
5910 l_owner_party_id NUMBER;
5911 l_vld_organization_id NUMBER;
5912 l_location_id NUMBER;
5913 --
5914 TYPE NUMLIST IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
5915 l_del_inst_tbl NUMLIST;
5916 l_del_txn_tbl NUMLIST;
5917 l_del_count NUMBER := 0;
5918 --
5919 l_error_count NUMBER := 0;
5920 --
5921 TYPE CTR_REC IS RECORD
5922 (
5923 inventory_item_id NUMBER
5924 ,ctr_template_exists VARCHAR2(1)
5925 );
5926 TYPE CTR_TBL IS TABLE OF CTR_REC INDEX BY BINARY_INTEGER;
5927 --
5928 TYPE CONTACT_PARTY_REC IS RECORD
5929 (
5930 party_id NUMBER
5931 ,contact_party_id NUMBER
5932 ,valid_flag VARCHAR2(1)
5933 );
5934 TYPE CONTACT_PARTY_TBL IS TABLE OF CONTACT_PARTY_REC INDEX BY BINARY_INTEGER;
5935 --
5936 l_ctr_id dbms_sql.Number_Table;
5937 l_ctr_ins_id dbms_sql.Number_Table;
5938 l_ctr_item_id dbms_sql.Number_Table;
5939 l_ctr_org_id dbms_sql.Number_Table;
5940 l_counter NUMBER := 0;
5941 l_contact_party_tbl CONTACT_PARTY_TBL;
5942 l_contact_party_count NUMBER := 0;
5943 l_ctr_tbl CTR_TBL;
5944 l_ctr_count NUMBER := 0;
5945 l_exists_flag VARCHAR2(1);
5946 l_exists VARCHAR2(1);
5947 l_txn_ctr NUMBER;
5948 l_valid_flag VARCHAR2(1);
5949 l_ctr_exists_flag VARCHAR2(1);
5950 l_ctr_instantiate VARCHAR2(1);
5951 l_call_counters VARCHAR2(1) := FND_PROFILE.VALUE('CSI_COUNTERS_ENABLED');
5952 l_ctr_grp_id_template NUMBER;
5953 l_ctr_grp_id_instance NUMBER;
5954 l_ctr_id_template csi_counter_template_pub.ctr_template_autoinst_tbl;
5955 l_ctr_id_instance csi_counter_template_pub.counter_autoinstantiate_tbl;
5956 l_user_id NUMBER := FND_GLOBAL.USER_ID;
5957 l_login_id NUMBER := FND_GLOBAL.CONC_LOGIN_ID;
5958 l_upd_txn_count NUMBER := 0;
5959 l_upd_txn_tbl dbms_sql.Number_Table;
5960 l_serial_control_code number;
5961 --
5962 PROCESS_NEXT EXCEPTION;
5963 SKIP_ERROR EXCEPTION;
5964 OTHER_ERROR EXCEPTION; -- Added for bug 3579121(rel 11.5.9)
5965
5966 CURSOR instance_csr (p_ins_id IN NUMBER) IS
5967 SELECT *
5968 FROM csi_item_instances
5969 WHERE instance_id = p_ins_id;
5970 --
5971 l_instance_csr instance_csr%ROWTYPE;
5972 --
5973 px_oks_txn_inst_tbl oks_ibint_pub.txn_instance_tbl;
5974 l_ctr_group_id NUMBER;
5975 l_eam_item_type NUMBER;
5976 --
5977 BEGIN
5978
5979 -- Standard Start of API savepoint
5980 -- SAVEPOINT create_item_instance;
5981
5982 -- Check for freeze_flag in csi_install_parameters is set to 'Y'
5983 csi_utility_grp.check_ib_active;
5984
5985 -- Standard call to check for call compatibility.
5986 IF NOT FND_API.Compatible_API_Call (l_api_version,
5987 p_api_version,
5988 l_api_name ,
5989 G_PKG_NAME )
5990 THEN
5991 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5992 END IF;
5993
5994 -- Initialize message list if p_init_msg_list is set to TRUE.
5995 IF FND_API.to_Boolean( p_init_msg_list ) THEN
5996 FND_MSG_PUB.initialize;
5997 END IF;
5998
5999 -- Initialize API return status to success
6000 x_return_status := FND_API.G_RET_STS_SUCCESS;
6001
6002 -- Check the profile option debug_level for debug message reporting
6003 l_debug_level:=fnd_profile.value('CSI_DEBUG_LEVEL');
6004
6005 -- If debug_level = 1 then dump the procedure name
6006 IF (l_debug_level > 0) THEN
6007 csi_gen_utility_pvt.put_line( 'create_item_instance');
6008 END IF;
6009
6010 -- If the debug level = 2 then dump all the parameters values.
6011 IF (l_debug_level > 1) THEN
6012
6013 csi_gen_utility_pvt.put_line( 'create_item_instance' ||
6014 p_api_version ||'-'||
6015 p_commit ||'-'||
6016 p_init_msg_list ||'-'||
6017 p_validation_level );
6018 END IF;
6019
6020 /***** srramakr commented for bug # 3304439
6021 -- Check for the profile option and enable trace
6022 l_flag:=CSI_GEN_UTILITY_PVT.enable_trace(l_trace_flag => l_flag);
6023 -- End enable trace
6024 ****/
6025
6026 -- Start API body
6027 l_ext_count_rec.ext_count := 0;
6028 -- Create an item instance after validating all the instance attributes.
6029 -- API also validates that exactly one owner is being created for the
6030 -- item instance
6031 -- Grab the internal party id from csi_installed paramters
6032 IF csi_datastructures_pub.g_install_param_rec.fetch_flag IS NULL THEN
6033 csi_gen_utility_pvt.populate_install_param_rec;
6034 END IF;
6035 --
6036 l_internal_party_id := csi_datastructures_pub.g_install_param_rec.internal_party_id;
6037 --
6038 IF l_internal_party_id IS NULL THEN
6039 FND_MESSAGE.SET_NAME('CSI','CSI_API_UNINSTALLED_PARAMETER');
6040 FND_MSG_PUB.ADD;
6041 RAISE OTHER_ERROR;
6042 END IF;
6043 --
6044 BEGIN
6045 SELECT instance_status_id
6046 INTO l_status_id
6047 FROM csi_instance_statuses
6048 WHERE name = l_instance_status;
6049 --
6050 EXCEPTION
6051 WHEN OTHERS THEN
6052 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_STATUS_ID');
6053 FND_MESSAGE.SET_TOKEN('INSTANCE_STATUS',l_instance_status);
6054 FND_MSG_PUB.Add;
6055 -- RAISE FND_API.G_EXC_ERROR;
6056 RAISE OTHER_ERROR; -- Added for bug 3579121 (rel 11.5.9)
6057 END;
6058 --
6059 IF (p_instance_tbl.count > 0) THEN
6060 FOR inst_tab_row IN p_instance_tbl.FIRST .. p_instance_tbl.LAST
6061 LOOP
6062 BEGIN
6063 IF p_instance_tbl.EXISTS(inst_tab_row) THEN
6064 FND_MSG_PUB.initialize;
6065 csi_gen_utility_pvt.dump_instance_rec(p_instance_tbl(inst_tab_row));
6066
6067 -- Standard Start of API savepoint
6068 SAVEPOINT create_item_instance;
6069 l_iface_id := p_instance_tbl(inst_tab_row).interface_id;
6070 l_iface_error_text := NULL;
6071 l_intf_id_array(inst_tab_row) := p_instance_tbl(inst_tab_row).interface_id;
6072 l_grp_error_tbl(inst_tab_row).group_inst_num := inst_tab_row;
6073 --
6074 l_build_party_tbl.DELETE;
6075 l_build_account_tbl.DELETE;
6076 l_build_org_tbl.DELETE;
6077 l_build_pricing_tbl.DELETE;
6078 l_build_ext_tbl.DELETE;
6079 l_build_asset_tbl.DELETE;
6080 --
6081 IF NOT p_txn_tbl.EXISTS(inst_tab_row) THEN
6082 l_iface_error_text := 'Unable to find the corresponding Transaction record';
6083 RAISE SKIP_ERROR;
6084 END IF;
6085 --
6086 --dump the operating units table associated to the instance
6087 IF l_debug_level > 0 THEN
6088 IF p_org_assignments_tbl.count > 0 THEN
6089 FOR tab_row IN p_org_assignments_tbl.FIRST .. p_org_assignments_tbl.LAST
6090 LOOP
6091 IF p_org_assignments_tbl.EXISTS(tab_row) THEN
6092 IF p_org_assignments_tbl(tab_row).parent_tbl_index = inst_tab_row THEN
6093 csi_gen_utility_pvt.dump_organization_unit_rec(p_org_assignments_tbl(tab_row));
6094 END IF;
6095 END IF;
6096 END LOOP;
6097 END IF;
6098 --dump the pricing attributes table associated to the instance
6099 IF p_pricing_attrib_tbl.count > 0 THEN
6100 FOR tab_row IN p_pricing_attrib_tbl.FIRST .. p_pricing_attrib_tbl.LAST
6101 LOOP
6102 IF p_pricing_attrib_tbl.EXISTS(tab_row) THEN
6103 IF p_pricing_attrib_tbl(tab_row).parent_tbl_index = inst_tab_row THEN
6104 csi_gen_utility_pvt.dump_pricing_attribs_rec(p_pricing_attrib_tbl(tab_row));
6105 END IF;
6106 END IF;
6107 END LOOP;
6108 END IF;
6109 --dump the extended attributes table associated to the instance
6110 IF p_ext_attrib_values_tbl.count > 0 THEN
6111 FOR tab_row IN p_ext_attrib_values_tbl.FIRST .. p_ext_attrib_values_tbl.LAST
6112 LOOP
6113 IF p_ext_attrib_values_tbl.EXISTS(tab_row) THEN
6114 IF p_ext_attrib_values_tbl(tab_row).parent_tbl_index = inst_tab_row THEN
6115 csi_gen_utility_pvt.dump_ext_attrib_values_rec(p_ext_attrib_values_tbl(tab_row));
6116 END IF;
6117 END IF;
6118 END LOOP;
6119 END IF;
6120 --dump the assets table associated to the instance
6121 IF (p_asset_assignment_tbl.count > 0) THEN
6122 FOR tab_row IN p_asset_assignment_tbl.FIRST .. p_asset_assignment_tbl.LAST
6123 LOOP
6124 IF p_asset_assignment_tbl.EXISTS(tab_row) THEN
6125 IF p_asset_assignment_tbl(tab_row).parent_tbl_index = inst_tab_row THEN
6126 csi_gen_utility_pvt.dump_instance_asset_rec(p_asset_assignment_tbl(tab_row));
6127 END IF;
6128 END IF;
6129 END LOOP;
6130 END IF;
6131
6132 --dump the parties and corresponding accounts table that are associated to an instance
6133 IF (p_party_tbl.count > 0) THEN
6134 FOR tab_row IN p_party_tbl.FIRST .. p_party_tbl.LAST
6135 LOOP
6136 IF p_party_tbl.EXISTS(tab_row) THEN
6137 IF p_party_tbl(tab_row).parent_tbl_index = inst_tab_row THEN
6138 csi_gen_utility_pvt.dump_party_rec(p_party_tbl(tab_row));
6139 IF p_account_tbl.count > 0 THEN
6140 FOR acct_tab_row in p_account_tbl.FIRST .. p_account_tbl.LAST
6141 LOOP
6142 IF p_account_tbl.EXISTS(acct_tab_row) THEN
6143 IF p_account_tbl(acct_tab_row).parent_tbl_index = tab_row THEN
6144 csi_gen_utility_pvt.dump_party_account_rec(p_account_tbl(acct_tab_row));
6145 END IF;
6146 END IF;
6147 END LOOP;
6148 END IF;
6149 END IF;
6150 END IF;
6151 END LOOP;
6152 END IF;
6153 END IF; -- dump if l_debug_level > 0
6154 --
6155 ELSE
6156 RAISE PROCESS_NEXT;
6157 END IF; --p_instance_tbl.EXISTS(inst_tab_row)
6158 -- Compress the Party Tbl and pass it to the Create API.
6159 l_temp_party_tbl.DELETE;
6160 l_party_count := 0;
6161 --
6162 IF (p_party_tbl.count > 0) THEN
6163 FOR tab_row IN p_party_tbl.FIRST .. p_party_tbl.LAST
6164 LOOP
6165 IF p_party_tbl.EXISTS(tab_row) THEN
6166 IF p_party_tbl(tab_row).parent_tbl_index = inst_tab_row THEN
6167 l_party_count := l_party_count + 1;
6168 l_temp_party_tbl(l_party_count) := p_party_tbl(tab_row);
6169 END IF;
6170 END IF;
6171 END LOOP;
6172 END IF;
6173 --
6174 -- Compress Asset Tbl and pass it to the Create API.
6175 l_asset_count := 0;
6176 l_temp_asset_tbl.DELETE;
6177 IF (p_asset_assignment_tbl.count > 0) THEN
6178 FOR tab_row IN p_asset_assignment_tbl.FIRST .. p_asset_assignment_tbl.LAST
6179 LOOP
6180 IF p_asset_assignment_tbl.EXISTS(tab_row) THEN
6181 IF p_asset_assignment_tbl(tab_row).parent_tbl_index = inst_tab_row THEN
6182 l_asset_count := l_asset_count + 1;
6183 l_temp_asset_tbl(l_asset_count) := p_asset_assignment_tbl(tab_row);
6184 END IF;
6185 END IF;
6186 END LOOP;
6187 END IF;
6188 --
6189 IF p_instance_tbl(inst_tab_row).instance_status_id IS NULL OR
6190 p_instance_tbl(inst_tab_row).instance_status_id = FND_API.G_MISS_NUM THEN
6191 p_instance_tbl(inst_tab_row).instance_status_id := l_status_id;
6192 END IF;
6193 --
6194 -- If version label is null, then we need read the the default value from the profile option
6195 IF ((p_instance_tbl(inst_tab_row).version_label IS NULL) OR
6196 (p_instance_tbl(inst_tab_row).version_label = FND_API.G_MISS_CHAR)) THEN
6197 IF l_version_label IS NULL THEN
6198 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_VERSION_LABEL');
6199 FND_MSG_PUB.ADD;
6200 l_msg_index := 1;
6201 FND_MSG_PUB.Count_And_Get
6202 (p_count => x_msg_count,
6203 p_data => x_msg_data
6204 );
6205 l_msg_count := x_msg_count;
6206 WHILE l_msg_count > 0 LOOP
6207 x_msg_data := FND_MSG_PUB.GET
6208 ( l_msg_index,
6209 FND_API.G_FALSE );
6210 csi_gen_utility_pvt.put_line( ' MESSAGE DATA = '||x_msg_data);
6211 l_msg_index := l_msg_index + 1;
6212 l_msg_count := l_msg_count - 1;
6213 END LOOP;
6214 l_iface_error_text := substr(x_msg_data,1,2000);
6215 RAISE SKIP_ERROR;
6216 ELSE
6217 p_instance_tbl(inst_tab_row).version_label := l_version_label;
6218 END IF;
6219 END IF;
6220 --
6221 IF p_instance_tbl(inst_tab_row).vld_organization_id IS NULL OR
6222 p_instance_tbl(inst_tab_row).vld_organization_id = FND_API.G_MISS_NUM THEN
6223 p_instance_tbl(inst_tab_row).vld_organization_id :=
6224 p_instance_tbl(inst_tab_row).inv_master_organization_id;
6225 END IF;
6226 -- Validate Serial uniqueness within this batch
6227 IF p_instance_tbl(inst_tab_row).serial_number IS NOT NULL AND
6228 p_instance_tbl(inst_tab_row).serial_number <> FND_API.G_MISS_CHAR AND
6229 p_instance_tbl(inst_tab_row).vld_organization_id IS NOT NULL AND
6230 p_instance_tbl(inst_tab_row).vld_organization_id <> FND_API.G_MISS_NUM AND
6231 p_instance_tbl(inst_tab_row).inventory_item_id IS NOT NULL AND
6232 p_instance_tbl(inst_tab_row).inventory_item_id <> FND_API.G_MISS_NUM THEN
6233 IF NOT Valid_Serial_Number
6234 ( p_instance_rec => p_instance_tbl(inst_tab_row),
6235 p_instance_tbl => p_instance_tbl) THEN
6236 l_msg_index := 1;
6237 FND_MSG_PUB.Count_And_Get
6238 (p_count => x_msg_count,
6239 p_data => x_msg_data
6240 );
6241 l_msg_count := x_msg_count;
6242 WHILE l_msg_count > 0 LOOP
6243 x_msg_data := FND_MSG_PUB.GET
6244 ( l_msg_index,
6245 FND_API.G_FALSE );
6246 csi_gen_utility_pvt.put_line( ' MESSAGE DATA = '||x_msg_data);
6247 l_msg_index := l_msg_index + 1;
6248 l_msg_count := l_msg_count - 1;
6249 END LOOP;
6250 l_iface_error_text := substr(x_msg_data,1,2000);
6251 RAISE SKIP_ERROR;
6252 END IF;
6253 END IF;
6254 --
6255 -- Validate Lot uniqueness within this batch
6256 IF p_instance_tbl(inst_tab_row).lot_number IS NOT NULL AND
6257 p_instance_tbl(inst_tab_row).lot_number <> FND_API.G_MISS_CHAR AND
6258 p_instance_tbl(inst_tab_row).vld_organization_id IS NOT NULL AND
6259 p_instance_tbl(inst_tab_row).vld_organization_id <> FND_API.G_MISS_NUM AND
6260 p_instance_tbl(inst_tab_row).inventory_item_id IS NOT NULL AND
6261 p_instance_tbl(inst_tab_row).inventory_item_id <> FND_API.G_MISS_NUM THEN
6262 IF NOT Valid_Lot_Number
6263 ( p_instance_rec => p_instance_tbl(inst_tab_row),
6264 p_instance_tbl => p_instance_tbl) THEN
6265 l_msg_index := 1;
6266 FND_MSG_PUB.Count_And_Get
6267 (p_count => x_msg_count,
6268 p_data => x_msg_data
6269 );
6270 l_msg_count := x_msg_count;
6271 WHILE l_msg_count > 0 LOOP
6272 x_msg_data := FND_MSG_PUB.GET
6273 ( l_msg_index,
6274 FND_API.G_FALSE );
6275 csi_gen_utility_pvt.put_line( ' MESSAGE DATA = '||x_msg_data);
6276 l_msg_index := l_msg_index + 1;
6277 l_msg_count := l_msg_count - 1;
6278 END LOOP;
6279 l_iface_error_text := substr(x_msg_data,1,2000);
6280 RAISE SKIP_ERROR;
6281 END IF;
6282 END IF;
6283 --
6284
6285 SELECT eam_item_type,
6286 serial_number_control_code
6287 INTO l_eam_item_type,
6288 l_serial_control_code
6289 FROM mtl_system_items
6290 WHERE inventory_item_id = p_instance_tbl(inst_tab_row).inventory_item_id
6291 AND organization_id = p_instance_tbl(inst_tab_row).vld_organization_id;
6292
6293 IF l_eam_item_type in (1, 3) AND l_serial_control_code <> 1 THEN
6294 p_instance_tbl(inst_tab_row).instance_condition_id := 1;
6295 END IF;
6296
6297
6298 csi_item_instance_pvt.create_item_instance
6299 (
6300 p_api_version => p_api_version
6301 ,p_commit => fnd_api.g_false
6302 ,p_init_msg_list => p_init_msg_list
6303 ,p_validation_level => p_validation_level
6304 ,p_instance_rec => p_instance_tbl(inst_tab_row)
6305 ,p_txn_rec => p_txn_tbl(inst_tab_row)
6306 ,p_party_tbl => l_temp_party_tbl
6307 ,p_asset_tbl => l_temp_asset_tbl
6308 ,x_return_status => x_return_status
6309 ,x_msg_count => x_msg_count
6310 ,x_msg_data => x_msg_data
6311 ,p_item_attribute_tbl => l_item_attribute_tbl
6312 ,p_location_tbl => l_location_tbl
6313 ,p_generic_id_tbl => l_generic_id_tbl
6314 ,p_lookup_tbl => l_lookup_tbl
6315 ,p_ins_count_rec => l_ins_count_rec
6316 ,p_called_from_grp => fnd_api.g_true
6317 ,p_internal_party_id => l_internal_party_id
6318 );
6319 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
6320 csi_gen_utility_pvt.put_line( ' Error from CSI_ITEM_INSTANCE_PVT.. ');
6321 l_msg_index := 1;
6322 l_msg_count := x_msg_count;
6323 WHILE l_msg_count > 0 LOOP
6324 x_msg_data := FND_MSG_PUB.GET
6325 ( l_msg_index,
6326 FND_API.G_FALSE );
6327 csi_gen_utility_pvt.put_line( ' MESSAGE DATA = '||x_msg_data);
6328 l_msg_index := l_msg_index + 1;
6329 l_msg_count := l_msg_count - 1;
6330 END LOOP;
6331 l_iface_error_text := substr(x_msg_data,1,2000);
6332 RAISE SKIP_ERROR;
6333 END IF;
6334 -- Call the create_party_relationship API to create instance-to-party
6335 -- relationships.
6336 IF ((p_instance_tbl(inst_tab_row).instance_id IS NOT NULL) AND
6337 (p_instance_tbl(inst_tab_row).instance_id <> FND_API.G_MISS_NUM)) THEN
6338 IF (p_party_tbl.count > 0) THEN
6339 FOR tab_row IN p_party_tbl.FIRST .. p_party_tbl.LAST
6340 LOOP
6341 IF p_party_tbl.EXISTS(tab_row) THEN
6342 IF p_party_tbl(tab_row).parent_tbl_index = inst_tab_row THEN
6343 p_party_tbl(tab_row).instance_id := p_instance_tbl(inst_tab_row).instance_id;
6344 IF ((p_party_tbl(tab_row).active_start_date IS NULL) OR
6345 (p_party_tbl(tab_row).active_start_date = FND_API.G_MISS_DATE)) THEN
6346 p_party_tbl(tab_row).active_start_date := p_instance_tbl(inst_tab_row).active_start_date;
6347 END IF;
6348 IF ((p_party_tbl(tab_row).party_source_table = 'HZ_PARTIES') AND
6349 (p_party_tbl(tab_row).party_id <> l_internal_party_id) AND
6350 (p_party_tbl(tab_row).relationship_type_code = 'OWNER')) THEN
6351 l_party_has_correct_acct := FALSE;
6352 IF p_account_tbl.COUNT > 0 THEN
6353 FOR l_acct_row IN p_account_tbl.FIRST..p_account_tbl.LAST
6354 LOOP
6355 -- Check if the party and its accounts are mapped
6356 --Commenting for bug 7010294
6357 -- IF ((p_account_tbl(l_acct_row).parent_tbl_index = tab_row) AND
6358 IF (p_account_tbl(l_acct_row).relationship_type_code = 'OWNER') THEN
6359 l_party_has_correct_acct := TRUE;
6360 exit;
6361 END IF;
6362 END LOOP;
6363 END IF;
6364 -- Raise an exception if external parties don't have an owner account
6365 IF NOT l_party_has_correct_acct THEN
6366 l_iface_error_text := 'Invalid OWNER Party Account for Party ID '
6367 ||to_char(p_party_tbl(tab_row).party_id);
6368 csi_gen_utility_pvt.put_line(l_iface_error_text);
6369 RAISE SKIP_ERROR;
6370 END IF;
6371 END IF; -- Party source table is HZ_PARITES and External OWNER Party check
6372 --
6373 -- Use l_temp_party_tbl which belongs to the current instance and validate the
6374 -- Instance-Party business rules.
6375 IF p_party_tbl(tab_row).contact_flag = 'Y' THEN
6376 IF p_party_tbl(tab_row).contact_parent_tbl_index IS NULL OR
6377 p_party_tbl(tab_row).contact_parent_tbl_index = FND_API.G_MISS_NUM THEN
6378 l_iface_error_text := 'Contact_parent_tbl_index should be passed for contacts';
6379 csi_gen_utility_pvt.put_line(l_iface_error_text);
6380 RAISE SKIP_ERROR;
6381 END IF;
6382 --
6383 IF p_party_tbl(tab_row).contact_parent_tbl_index = tab_row THEN
6384 l_iface_error_text := 'Contact Party cannot be a contact of itself ';
6385 csi_gen_utility_pvt.put_line(l_iface_error_text);
6386 RAISE SKIP_ERROR;
6387 END IF;
6388 --
6389 IF NOT p_party_tbl.EXISTS((p_party_tbl(tab_row).contact_parent_tbl_index)) THEN
6390 l_iface_error_text := 'Contact_parent_tbl_index passed is not valid ';
6391 csi_gen_utility_pvt.put_line(l_iface_error_text);
6392 RAISE SKIP_ERROR;
6393 ELSE
6394 -- Check if the contact_party and the current party belong to the same instance
6395 IF p_party_tbl((p_party_tbl(tab_row).contact_parent_tbl_index)).parent_tbl_index <>
6396 p_party_tbl(tab_row).parent_tbl_index THEN
6397 l_iface_error_text := 'Contact Party and the Current Party should belong to the same Instance';
6398 csi_gen_utility_pvt.put_line(l_iface_error_text);
6399 RAISE SKIP_ERROR;
6400 END IF;
6401 l_party_id := p_party_tbl((p_party_tbl(tab_row).contact_parent_tbl_index)).party_id;
6402 l_party_src_tbl := p_party_tbl((p_party_tbl(tab_row).contact_parent_tbl_index)).party_source_table;
6403 END IF;
6404 -- check whether the contact_party_id is related to the parent party_id
6405 IF p_party_tbl(tab_row).party_source_table = 'HZ_PARTIES' AND
6406 l_party_src_tbl = 'HZ_PARTIES' THEN
6407 l_exists_flag := 'N';
6408 l_valid_flag := 'Y';
6409 IF l_contact_party_tbl.count > 0 THEN
6410 FOR con_pty_row in l_contact_party_tbl.FIRST .. l_contact_party_tbl.LAST LOOP
6411 IF p_party_tbl(tab_row).party_id = l_contact_party_tbl(con_pty_row).contact_party_id AND
6412 l_party_id = l_contact_party_tbl(con_pty_row).party_id THEN
6413 l_exists_flag := 'Y';
6414 l_valid_flag := l_contact_party_tbl(con_pty_row).valid_flag;
6415 exit;
6416 END IF;
6417 END LOOP;
6418 --
6419 IF l_valid_flag <> 'Y' THEN
6420 l_iface_error_text := 'Invalid Contact Party ID '||to_char(p_party_tbl(tab_row).party_id)
6421 ||' for party ID '||to_char(l_party_id);
6422 csi_gen_utility_pvt.put_line(l_iface_error_text);
6423 RAISE SKIP_ERROR;
6424 END IF;
6425 END IF;
6426 --
6427 IF l_exists_flag <> 'Y' THEN
6428 l_contact_party_count := l_contact_party_count + 1;
6429 l_contact_party_tbl(l_contact_party_count).contact_party_id := p_party_tbl(tab_row).party_id;
6430 l_contact_party_tbl(l_contact_party_count).party_id := l_party_id;
6431 l_contact_party_tbl(l_contact_party_count).valid_flag := 'Y';
6432 END IF;
6433 END IF; -- Both party source tables are 'HZ_PARTIES' check
6434 END IF; -- contact_flag check
6435 --
6436 IF NOT ( Check_Inst_Party_Rules
6437 ( p_party_tbl => l_temp_party_tbl
6438 ,p_party_rec => p_party_tbl(tab_row)
6439 ,p_start_date => p_instance_tbl(inst_tab_row).active_start_date
6440 ,p_end_date => p_instance_tbl(inst_tab_row).active_end_date
6441 ) ) THEN
6442 l_msg_index := 1;
6443 FND_MSG_PUB.Count_And_Get
6444 (p_count => x_msg_count,
6445 p_data => x_msg_data
6446 );
6447 l_msg_count := x_msg_count;
6448 WHILE l_msg_count > 0 LOOP
6449 x_msg_data := FND_MSG_PUB.GET
6450 ( l_msg_index,
6451 FND_API.G_FALSE );
6452 csi_gen_utility_pvt.put_line('message data = '||x_msg_data);
6453 l_msg_index := l_msg_index + 1;
6454 l_msg_count := l_msg_count - 1;
6455 END LOOP;
6456 l_iface_error_text := substr(x_msg_data,1,2000);
6457 RAISE SKIP_ERROR;
6458 END IF;
6459 --
6460 -- Call Private package to validate and create party relationship
6461 csi_party_relationships_pvt.create_inst_party_relationship
6462 ( p_api_version => p_api_version
6463 ,p_commit => fnd_api.g_false
6464 ,p_init_msg_list => p_init_msg_list
6465 ,p_validation_level => p_validation_level
6466 ,p_party_rec => p_party_tbl(tab_row)
6467 ,p_txn_rec => p_txn_tbl(inst_tab_row)
6468 ,x_return_status => x_return_status
6469 ,x_msg_count => x_msg_count
6470 ,x_msg_data => x_msg_data
6471 ,p_party_source_tbl => l_party_source_tbl
6472 ,p_party_id_tbl => l_party_id_tbl
6473 ,p_contact_tbl => l_contact_tbl
6474 ,p_party_rel_type_tbl => l_party_rel_type_tbl
6475 ,p_party_count_rec => l_party_count_rec
6476 ,p_called_from_grp => fnd_api.g_true
6477 ) ;
6478
6479 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
6480 l_msg_index := 1;
6481 l_msg_count := x_msg_count;
6482 WHILE l_msg_count > 0 LOOP
6483 x_msg_data := FND_MSG_PUB.GET
6484 ( l_msg_index,
6485 FND_API.G_FALSE );
6486 csi_gen_utility_pvt.put_line('message data = '||x_msg_data);
6487 l_msg_index := l_msg_index + 1;
6488 l_msg_count := l_msg_count - 1;
6489 END LOOP;
6490 l_iface_error_text := substr(x_msg_data,1,2000);
6491 RAISE SKIP_ERROR;
6492 ELSE
6493 l_build_ctr := l_build_party_tbl.count + 1;
6494 l_build_party_tbl(l_build_ctr) := p_party_tbl(tab_row);
6495 END IF;
6496 --
6497 -- Traverse the account tbl and create the accounts
6498 l_temp_account_tbl.DELETE;
6499 l_account_count := 0;
6500 IF p_account_tbl.count > 0 THEN
6501 FOR l_acct_row IN p_account_tbl.FIRST .. p_account_tbl.LAST
6502 LOOP
6503 IF p_account_tbl.EXISTS(l_acct_row) THEN
6504 IF p_account_tbl(l_acct_row).parent_tbl_index = tab_row THEN
6505 p_account_tbl(l_acct_row).instance_party_id :=
6506 p_party_tbl(tab_row).instance_party_id;
6507 p_account_tbl(l_acct_row).call_contracts := fnd_api.g_false;
6508 p_account_tbl(l_acct_row).vld_organization_id :=
6509 p_instance_tbl(inst_tab_row).vld_organization_id;
6510 IF p_account_tbl(l_acct_row).active_start_date IS NULL OR
6511 p_account_tbl(l_acct_row).active_start_date = fnd_api.g_miss_date
6512 THEN
6513 p_account_tbl(l_acct_row).active_start_date :=
6514 p_party_tbl(tab_row).active_start_date;
6515 END IF;
6516 --
6517 IF p_account_tbl(l_acct_row).relationship_type_code = 'OWNER' AND
6518 p_party_tbl(tab_row).relationship_type_code <> 'OWNER' THEN
6519 l_iface_error_text := 'OWNER Account Requires OWNER PARTY ';
6520 csi_gen_utility_pvt.put_line(l_iface_error_text);
6521 RAISE SKIP_ERROR;
6522 END IF;
6523 --
6524 l_account_count := l_account_count + 1;
6525 l_temp_account_tbl(l_account_count) := p_account_tbl(l_acct_row);
6526 -- Check Party Account Business rules
6527 IF NOT ( Check_Party_Acct_Rules
6528 ( p_account_tbl => l_temp_account_tbl
6529 ,p_account_rec => p_account_tbl(l_acct_row)
6530 ,p_pty_src_table => p_party_tbl(tab_row).party_source_table
6531 ,p_party_id => p_party_tbl(tab_row).party_id
6532 ,p_acct_id_tbl => l_acct_id_tbl
6533 ,p_start_date => p_party_tbl(tab_row).active_start_date
6534 ,p_end_date => p_party_tbl(tab_row).active_end_date
6535 ) ) THEN
6536 l_msg_index := 1;
6537 FND_MSG_PUB.Count_And_Get
6538 (p_count => x_msg_count,
6539 p_data => x_msg_data
6540 );
6541 l_msg_count := x_msg_count;
6542 WHILE l_msg_count > 0 LOOP
6543 x_msg_data := FND_MSG_PUB.GET(
6544 l_msg_index,
6545 FND_API.G_FALSE );
6546 csi_gen_utility_pvt.put_line( 'message data = '||x_msg_data);
6547 l_msg_index := l_msg_index + 1;
6548 l_msg_count := l_msg_count - 1;
6549 END LOOP;
6550 l_iface_error_text := substr(x_msg_data,1,2000);
6551 RAISE SKIP_ERROR;
6552 END IF;
6553 -- Call Private package to validate and create party accounts
6554 csi_party_relationships_pvt.create_inst_party_account
6555 ( p_api_version => p_api_version
6556 ,p_commit => fnd_api.g_false
6557 ,p_init_msg_list => p_init_msg_list
6558 ,p_validation_level => p_validation_level
6559 ,p_party_account_rec => p_account_tbl(l_acct_row)
6560 ,p_txn_rec => p_txn_tbl(inst_tab_row)
6561 ,x_return_status => x_return_status
6562 ,x_msg_count => x_msg_count
6563 ,x_msg_data => x_msg_data
6564 ,p_inst_party_tbl => l_inst_party_tbl
6565 ,p_acct_rel_type_tbl => l_acct_rel_type_tbl
6566 ,p_site_use_tbl => l_site_use_tbl
6567 ,p_account_count_rec => l_account_count_rec
6568 ,p_called_from_grp => fnd_api.g_true
6569 ,p_oks_txn_inst_tbl => px_oks_txn_inst_tbl
6570 );
6571
6572 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
6573 l_msg_index := 1;
6574 l_msg_count := x_msg_count;
6575 WHILE l_msg_count > 0 LOOP
6576 x_msg_data := FND_MSG_PUB.GET(
6577 l_msg_index,
6578 FND_API.G_FALSE );
6579 csi_gen_utility_pvt.put_line( 'message data = '||x_msg_data);
6580 l_msg_index := l_msg_index + 1;
6581 l_msg_count := l_msg_count - 1;
6582 END LOOP;
6583 l_iface_error_text := substr(x_msg_data,1,2000);
6584 RAISE SKIP_ERROR;
6585 ELSE
6586 l_build_ctr := l_build_account_tbl.count + 1;
6587 l_build_account_tbl(l_build_ctr) := p_account_tbl(l_acct_row);
6588 END IF;
6589 END IF; -- If this account belongs to the current Party
6590 END IF; -- Account record exists
6591 END LOOP; -- Account Loop
6592 END IF; -- Account Tbl count
6593 END IF; -- If this party belong to the current instance
6594 END IF; -- Party record exists
6595 END LOOP; -- Party Loop
6596 END IF; -- Party Tbl count
6597 END IF; -- Instance ID exists
6598 --
6599 -- Call create_organization_unit API to create instance-
6600 -- to-organization units associations
6601 --
6602 l_temp_org_tbl.DELETE;
6603 l_org_count := 0;
6604 IF ((p_instance_tbl(inst_tab_row).instance_id IS NOT NULL) AND
6605 (p_instance_tbl(inst_tab_row).instance_id <> FND_API.G_MISS_NUM)) THEN
6606 IF (p_org_assignments_tbl.count > 0) THEN
6607 FOR tab_row IN p_org_assignments_tbl.FIRST .. p_org_assignments_tbl.LAST
6608 LOOP
6609 IF p_org_assignments_tbl.EXISTS(tab_row) THEN
6610 IF p_org_assignments_tbl(tab_row).parent_tbl_index = inst_tab_row THEN
6611 p_org_assignments_tbl(tab_row).instance_id := p_instance_tbl(inst_tab_row).instance_id;
6612 IF p_org_assignments_tbl(tab_row).active_start_date IS NULL OR
6613 p_org_assignments_tbl(tab_row).active_start_date = FND_API.G_MISS_DATE THEN
6614 p_org_assignments_tbl(tab_row).active_start_date := SYSDATE;
6615 END IF;
6616 l_org_count := l_org_count + 1;
6617 l_temp_org_tbl(l_org_count) := p_org_assignments_tbl(tab_row);
6618 IF NOT ( Check_Org_Rules
6619 ( p_org_units_tbl => l_temp_org_tbl
6620 ,p_org_units_rec => p_org_assignments_tbl(tab_row)
6621 ,p_start_date => p_instance_tbl(inst_tab_row).active_start_date
6622 ,p_end_date => p_instance_tbl(inst_tab_row).active_end_date
6623 ) ) THEN
6624 l_msg_index := 1;
6625 FND_MSG_PUB.Count_And_Get
6626 (p_count => x_msg_count,
6627 p_data => x_msg_data
6628 );
6629 l_msg_count := x_msg_count;
6630 WHILE l_msg_count > 0 LOOP
6631 x_msg_data := FND_MSG_PUB.GET
6632 ( l_msg_index,
6633 FND_API.G_FALSE );
6634 csi_gen_utility_pvt.put_line( ' MESSAGE DATA = '||x_msg_data);
6635 l_msg_index := l_msg_index + 1;
6636 l_msg_count := l_msg_count - 1;
6637 END LOOP;
6638 l_iface_error_text := substr(x_msg_data,1,2000);
6639 RAISE SKIP_ERROR;
6640 END IF;
6641 --
6642 csi_organization_unit_pvt.create_organization_unit
6643 (
6644 p_api_version => p_api_version
6645 ,p_commit => fnd_api.g_false
6646 ,p_init_msg_list => p_init_msg_list
6647 ,p_validation_level => p_validation_level
6648 ,p_org_unit_rec => p_org_assignments_tbl(tab_row)
6649 ,p_txn_rec => p_txn_tbl(inst_tab_row)
6650 ,x_return_status => x_return_status
6651 ,x_msg_count => x_msg_count
6652 ,x_msg_data => x_msg_data
6653 ,p_lookup_tbl => l_ou_lookup_tbl
6654 ,p_ou_count_rec => l_ou_count_rec
6655 ,p_ou_id_tbl => l_ou_id_tbl
6656 ,p_called_from_grp => fnd_api.g_true
6657 );
6658
6659 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
6660 csi_gen_utility_pvt.put_line( ' Error from CSI_ORGANIZATION_UNIT_PVT..');
6661 l_msg_index := 1;
6662 l_msg_count := x_msg_count;
6663 WHILE l_msg_count > 0 LOOP
6664 x_msg_data := FND_MSG_PUB.GET
6665 ( l_msg_index,
6666 FND_API.G_FALSE );
6667 csi_gen_utility_pvt.put_line( ' MESSAGE DATA = '||x_msg_data);
6668 l_msg_index := l_msg_index + 1;
6669 l_msg_count := l_msg_count - 1;
6670 END LOOP;
6671 l_iface_error_text := substr(x_msg_data,1,2000);
6672 RAISE SKIP_ERROR;
6673 ELSE
6674 l_build_ctr := l_build_org_tbl.count + 1;
6675 l_build_org_tbl(l_build_ctr) := p_org_assignments_tbl(tab_row);
6676 END IF;
6677 END IF; -- Org assignment for the current instance
6678 END IF; -- Org assignments row EXISTS
6679 END LOOP;
6680 END IF; --p_org_assignments_tbl.count > 0
6681 END IF;
6682
6683 -- Call create_pricing_attribs to associate any pricing attributes
6684 -- to the item instance
6685 IF ((p_instance_tbl(inst_tab_row).instance_id IS NOT NULL) AND
6686 (p_instance_tbl(inst_tab_row).instance_id <> FND_API.G_MISS_NUM)) THEN
6687 IF (p_pricing_attrib_tbl.count > 0) THEN
6688 FOR tab_row IN p_pricing_attrib_tbl.FIRST .. p_pricing_attrib_tbl.LAST
6689 LOOP
6690 IF p_pricing_attrib_tbl.EXISTS(tab_row) THEN
6691 IF p_pricing_attrib_tbl(tab_row).parent_tbl_index = inst_tab_row THEN
6692 p_pricing_attrib_tbl(tab_row).instance_id := p_instance_tbl(inst_tab_row).instance_id;
6693 IF p_pricing_attrib_tbl(tab_row).active_start_date IS NULL OR
6694 p_pricing_attrib_tbl(tab_row).active_start_date = FND_API.G_MISS_DATE THEN
6695 p_pricing_attrib_tbl(tab_row).active_start_date := SYSDATE;
6696 END IF;
6697 --
6698 IF NOT ( Check_Pricing_Rules
6699 ( p_pricing_rec => p_pricing_attrib_tbl(tab_row)
6700 ,p_start_date => p_instance_tbl(inst_tab_row).active_start_date
6701 ,p_end_date => p_instance_tbl(inst_tab_row).active_end_date
6702 ) ) THEN
6703 l_msg_index := 1;
6704 FND_MSG_PUB.Count_And_Get
6705 (p_count => x_msg_count,
6706 p_data => x_msg_data
6707 );
6708 l_msg_count := x_msg_count;
6709 WHILE l_msg_count > 0 LOOP
6710 x_msg_data := FND_MSG_PUB.GET
6711 ( l_msg_index,
6712 FND_API.G_FALSE );
6713 csi_gen_utility_pvt.put_line( ' MESSAGE DATA = '||x_msg_data);
6714 l_msg_index := l_msg_index + 1;
6715 l_msg_count := l_msg_count - 1;
6716 END LOOP;
6717 l_iface_error_text := substr(x_msg_data,1,2000);
6718 RAISE SKIP_ERROR;
6719 END IF;
6720 --
6721 csi_pricing_attribs_pvt.create_pricing_attribs
6722 (
6723 p_api_version => p_api_version
6724 ,p_commit => fnd_api.g_false
6725 ,p_init_msg_list => p_init_msg_list
6726 ,p_validation_level => p_validation_level
6727 ,p_pricing_attribs_rec => p_pricing_attrib_tbl(tab_row)
6728 ,p_txn_rec => p_txn_tbl(inst_tab_row)
6729 ,x_return_status => x_return_status
6730 ,x_msg_count => x_msg_count
6731 ,x_msg_data => x_msg_data
6732 ,p_called_from_grp => fnd_api.g_true
6733 );
6734
6735 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
6736 csi_gen_utility_pvt.put_line( ' Error from CSI_PRICING_ATTRIBS_PUB..');
6737 l_msg_index := 1;
6738 l_msg_count := x_msg_count;
6739 WHILE l_msg_count > 0 LOOP
6740 x_msg_data := FND_MSG_PUB.GET
6741 ( l_msg_index,
6742 FND_API.G_FALSE );
6743 csi_gen_utility_pvt.put_line( ' MESSAGE DATA = '||x_msg_data);
6744 l_msg_index := l_msg_index + 1;
6745 l_msg_count := l_msg_count - 1;
6746 END LOOP;
6747 l_iface_error_text := substr(x_msg_data,1,2000);
6748 RAISE SKIP_ERROR;
6749 ELSE
6750 l_build_ctr := l_build_pricing_tbl.count + 1;
6751 l_build_pricing_tbl(l_build_ctr) := p_pricing_attrib_tbl(tab_row);
6752 END IF;
6753 END IF; -- Pricing for the current instance
6754 END IF; -- Pricing row EXISTS.
6755 END LOOP;
6756 END IF; --p_pricing_attrib_tbl.count > 0
6757 END IF;
6758
6759 -- Call create_extended_attribs to associate any extended attributes
6760 -- to the item instance
6761 l_temp_ext_tbl.DELETE;
6762 l_ext_count := 0;
6763 IF ((p_instance_tbl(inst_tab_row).instance_id IS NOT NULL) AND
6764 (p_instance_tbl(inst_tab_row).instance_id <> FND_API.G_MISS_NUM)) THEN
6765 IF (p_ext_attrib_values_tbl.count > 0) THEN
6766 FOR tab_row IN p_ext_attrib_values_tbl.FIRST .. p_ext_attrib_values_tbl.LAST
6767 LOOP
6768 IF p_ext_attrib_values_tbl.EXISTS(tab_row) THEN
6769 IF p_ext_attrib_values_tbl(tab_row).parent_tbl_index = inst_tab_row THEN
6770 p_ext_attrib_values_tbl(tab_row).instance_id := p_instance_tbl(inst_tab_row).instance_id;
6771 IF p_ext_attrib_values_tbl(tab_row).active_start_date IS NULL OR
6772 p_ext_attrib_values_tbl(tab_row).active_start_date = FND_API.G_MISS_DATE THEN
6773 p_ext_attrib_values_tbl(tab_row).active_start_date := SYSDATE;
6774 END IF;
6775 --
6776 l_ext_count_rec.ext_count := l_ext_count_rec.ext_count + 1;
6777 l_ext_id_tbl(l_ext_count_rec.ext_count).instance_id := p_instance_tbl(inst_tab_row).instance_id;
6778 l_ext_id_tbl(l_ext_count_rec.ext_count).inv_item_id := p_instance_tbl(inst_tab_row).inventory_item_id;
6779 l_ext_id_tbl(l_ext_count_rec.ext_count).inv_mast_org_id := p_instance_tbl(inst_tab_row).inv_master_organization_id;
6780 l_ext_id_tbl(l_ext_count_rec.ext_count).valid_flag := 'Y';
6781 --
6782 l_ext_count := l_ext_count + 1;
6783 l_temp_ext_tbl(l_ext_count) := p_ext_attrib_values_tbl(tab_row);
6784 --
6785 IF NOT ( Check_Ext_Rules
6786 ( p_ext_tbl => l_temp_ext_tbl
6787 ,p_ext_rec => p_ext_attrib_values_tbl(tab_row)
6788 ,p_start_date => p_instance_tbl(inst_tab_row).active_start_date
6789 ,p_end_date => p_instance_tbl(inst_tab_row).active_end_date
6790 ) ) THEN
6791 l_msg_index := 1;
6792 FND_MSG_PUB.Count_And_Get
6793 (p_count => x_msg_count,
6794 p_data => x_msg_data
6795 );
6796 l_msg_count := x_msg_count;
6797 WHILE l_msg_count > 0 LOOP
6798 x_msg_data := FND_MSG_PUB.GET
6799 ( l_msg_index,
6800 FND_API.G_FALSE );
6801 csi_gen_utility_pvt.put_line( ' MESSAGE DATA = '||x_msg_data);
6802 l_msg_index := l_msg_index + 1;
6803 l_msg_count := l_msg_count - 1;
6804 END LOOP;
6805 l_iface_error_text := substr(x_msg_data,1,2000);
6806 RAISE SKIP_ERROR;
6807 END IF;
6808 --
6809 csi_item_instance_pvt.create_extended_attrib_values
6810 (
6811 p_api_version => p_api_version
6812 ,p_commit => fnd_api.g_false
6813 ,p_init_msg_list => p_init_msg_list
6814 ,p_validation_level => p_validation_level
6815 ,p_ext_attrib_rec => p_ext_attrib_values_tbl(tab_row)
6816 ,p_txn_rec => p_txn_tbl(inst_tab_row)
6817 ,x_return_status => x_return_status
6818 ,x_msg_count => x_msg_count
6819 ,x_msg_data => x_msg_data
6820 ,p_ext_id_tbl => l_ext_id_tbl
6821 ,p_ext_count_rec => l_ext_count_rec
6822 ,p_ext_attr_tbl => l_ext_attr_tbl
6823 ,p_ext_cat_tbl => l_ext_cat_tbl
6824 ,p_called_from_grp => fnd_api.g_true
6825 );
6826
6827 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
6828 csi_gen_utility_pvt.put_line( ' Error from CSI_EXTENDED_ATTRIBS_PUB..');
6829 l_msg_index := 1;
6830 l_msg_count := x_msg_count;
6831 WHILE l_msg_count > 0 LOOP
6832 x_msg_data := FND_MSG_PUB.GET
6833 ( l_msg_index,
6834 FND_API.G_FALSE );
6835 csi_gen_utility_pvt.put_line( ' MESSAGE DATA = '||x_msg_data);
6836 l_msg_index := l_msg_index + 1;
6837 l_msg_count := l_msg_count - 1;
6838 END LOOP;
6839 l_iface_error_text := substr(x_msg_data,1,2000);
6840 RAISE SKIP_ERROR;
6841 ELSE
6842 l_build_ctr := l_build_ext_tbl.count + 1;
6843 l_build_ext_tbl(l_build_ctr) := p_ext_attrib_values_tbl(tab_row);
6844 END IF;
6845 END IF; -- Ext attribs for the current instance
6846 END IF; -- Ext attribs EXISTS.
6847 END LOOP;
6848 END IF; --p_ext_attrib_values_tbl.count > 0
6849 END IF;
6850
6851 -- Call create_asset_assignments to associate any assets associated
6852 -- to the item instance
6853 IF ((p_instance_tbl(inst_tab_row).instance_id IS NOT NULL) AND
6854 (p_instance_tbl(inst_tab_row).instance_id <> FND_API.G_MISS_NUM)) THEN
6855 IF (p_asset_assignment_tbl.count > 0) THEN
6856 FOR tab_row IN p_asset_assignment_tbl.FIRST .. p_asset_assignment_tbl.LAST
6857 LOOP
6858 IF p_asset_assignment_tbl.EXISTS(tab_row) THEN
6859 IF p_asset_assignment_tbl(tab_row).parent_tbl_index = inst_tab_row THEN
6860 p_asset_assignment_tbl(tab_row).instance_id := p_instance_tbl(inst_tab_row).instance_id;
6861 IF p_asset_assignment_tbl(tab_row).active_start_date IS NULL OR
6862 p_asset_assignment_tbl(tab_row).active_start_date = FND_API.G_MISS_DATE THEN
6863 p_asset_assignment_tbl(tab_row).active_start_date := SYSDATE;
6864 END IF;
6865 --
6866 IF NOT ( Check_Asset_Rules
6867 ( p_asset_rec => p_asset_assignment_tbl(tab_row)
6868 ,p_start_date => p_instance_tbl(inst_tab_row).active_start_date
6869 ,p_end_date => p_instance_tbl(inst_tab_row).active_end_date
6870 ) ) THEN
6871 l_msg_index := 1;
6872 FND_MSG_PUB.Count_And_Get
6873 (p_count => x_msg_count,
6874 p_data => x_msg_data
6875 );
6876 l_msg_count := x_msg_count;
6877 WHILE l_msg_count > 0 LOOP
6878 x_msg_data := FND_MSG_PUB.GET
6879 ( l_msg_index,
6880 FND_API.G_FALSE );
6881 csi_gen_utility_pvt.put_line( ' MESSAGE DATA = '||x_msg_data);
6882 l_msg_index := l_msg_index + 1;
6883 l_msg_count := l_msg_count - 1;
6884 END LOOP;
6885 l_iface_error_text := substr(x_msg_data,1,2000);
6886 RAISE SKIP_ERROR;
6887 END IF;
6888 --
6889 -- Asset Open Interface should have this validation as False
6890 --
6891 -- Since the item instance is not yet created, the set_fa_sync_flag routine
6892 -- that looks at csi_item_instances cannot be used directly. Hence calling the
6893 -- same with the location_id.
6894 --
6895 IF p_asset_assignment_tbl(tab_row).fa_sync_validation_reqd = fnd_api.g_true THEN
6896 IF p_instance_tbl(inst_tab_row).location_type_code = 'HZ_PARTY_SITES' THEN
6897 Begin
6898 select location_id
6899 into l_location_id
6900 from HZ_PARTY_SITES
6901 where party_site_id = p_instance_tbl(inst_tab_row).location_id;
6902 Exception
6903 when no_data_found then
6904 l_location_id := null;
6905 End;
6906 ELSE
6907 l_location_id := p_instance_tbl(inst_tab_row).location_id;
6908 END IF;
6909 -- Pass this Location ID to Set_Sync_Flag and validate against CSI_A_LOCATIONS
6910 IF l_location_id IS NOT NULL THEN
6911 csi_asset_pvt.set_fa_sync_flag (
6912 px_instance_asset_rec => p_asset_assignment_tbl(tab_row),
6913 p_location_id => l_location_id,
6914 x_return_status => x_return_status,
6915 x_error_msg => x_msg_data);
6916 END IF;
6917 --
6918 -- The above routine just tries to set the FA Sync Flag. It doesn't retun any error
6919 END IF; -- Validation_reqd check
6920 --
6921 csi_asset_pvt.create_instance_asset
6922 (
6923 p_api_version => p_api_version
6924 ,p_commit => fnd_api.g_false
6925 ,p_init_msg_list => p_init_msg_list
6926 ,p_instance_asset_rec => p_asset_assignment_tbl(tab_row)
6927 ,p_txn_rec => p_txn_tbl(inst_tab_row)
6928 ,x_return_status => x_return_status
6929 ,x_msg_count => x_msg_count
6930 ,x_msg_data => x_msg_data
6931 ,p_lookup_tbl => l_asset_lookup_tbl
6932 ,p_asset_count_rec => l_asset_count_rec
6933 ,p_asset_id_tbl => l_asset_id_tbl
6934 ,p_asset_loc_tbl => l_asset_loc_tbl
6935 ,p_called_from_grp => fnd_api.g_true
6936 );
6937
6938 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
6939 csi_gen_utility_pvt.put_line( ' Error from CSI_ASSET_PVT..');
6940 l_msg_index := 1;
6941 l_msg_count := x_msg_count;
6942 WHILE l_msg_count > 0 LOOP
6943 x_msg_data := FND_MSG_PUB.GET
6944 ( l_msg_index,
6945 FND_API.G_FALSE );
6946 csi_gen_utility_pvt.put_line( ' MESSAGE DATA = '||x_msg_data);
6947 l_msg_index := l_msg_index + 1;
6948 l_msg_count := l_msg_count - 1;
6949 END LOOP;
6950 l_iface_error_text := substr(x_msg_data,1,2000);
6951 RAISE SKIP_ERROR;
6952 ELSE
6953 l_build_ctr := l_build_asset_tbl.count + 1;
6954 l_build_asset_tbl(l_build_ctr) := p_asset_assignment_tbl(tab_row);
6955 END IF;
6956 END IF; -- Asset for the current instance
6957 END IF; -- Asset row EXISTS.
6958 END LOOP;
6959 END IF; --p_asset_assignment_tbl.count > 0
6960 END IF;
6961 --
6962 -- Version Label tbl will be directly buil from Instance tbl
6963 --
6964 -- Call to contracts will be made after Bulk Insert
6965 --
6966 -- Update the Interface Table with PROCESSED status.
6967 p_instance_tbl(inst_tab_row).processed_flag := 'P'; -- Processed
6968 l_grp_error_tbl(inst_tab_row).process_status := 'S'; -- Success
6969 l_grp_error_tbl(inst_tab_row).error_message := NULL;
6970 l_error_array(inst_tab_row) := NULL;
6971 l_status_array(inst_tab_row) := 'P';
6972 l_inst_id_array(inst_tab_row) := p_instance_tbl(inst_tab_row).instance_id;
6973
6974 --
6975 l_bulk_inst_count := l_bulk_inst_count + 1;
6976 l_bulk_inst_tbl(l_bulk_inst_count) := p_instance_tbl(inst_tab_row);
6977 IF p_txn_tbl(inst_tab_row).transaction_id IS NULL OR
6978 p_txn_tbl(inst_tab_row).transaction_id = FND_API.G_MISS_NUM THEN
6979 select CSI_TRANSACTIONS_S.nextval
6980 into p_txn_tbl(inst_tab_row).transaction_id
6981 from sys.dual;
6982 END IF;
6983 --
6984 l_bulk_txn_tbl(l_bulk_inst_count) := p_txn_tbl(inst_tab_row);
6985 --
6986 select CSI_I_VERSION_LABELS_S.nextval
6987 into l_bulk_version_label_tbl(l_bulk_inst_count).version_label_id
6988 from sys.dual;
6989 --
6990 l_bulk_version_label_tbl(l_bulk_inst_count).version_label := p_instance_tbl(inst_tab_row).version_label;
6991 l_bulk_version_label_tbl(l_bulk_inst_count).active_start_date := p_instance_tbl(inst_tab_row).active_start_date;
6992 l_bulk_version_label_tbl(l_bulk_inst_count).date_time_stamp := SYSDATE;
6993 l_bulk_version_label_tbl(l_bulk_inst_count).instance_id := p_instance_tbl(inst_tab_row).instance_id;
6994 l_bulk_version_label_tbl(l_bulk_inst_count).description := p_instance_tbl(inst_tab_row).version_label_description;
6995 --
6996 Build_Instance_History
6997 ( p_inst_hist_tbl => l_bulk_inst_hist_tbl
6998 ,p_inst_rec => l_bulk_inst_tbl(l_bulk_inst_count)
6999 ,p_txn_id => l_bulk_txn_tbl(l_bulk_inst_count).transaction_id
7000 );
7001 --
7002 Build_Ver_Label_History
7003 (
7004 p_ver_label_history_tbl => l_bulk_ver_label_hist_tbl
7005 ,p_version_label_rec => l_bulk_version_label_tbl(l_bulk_inst_count)
7006 ,p_txn_id => l_bulk_txn_tbl(l_bulk_inst_count).transaction_id
7007 );
7008 --
7009 IF l_build_party_tbl.count > 0 THEN
7010 FOR pty_row in l_build_party_tbl.FIRST .. l_build_party_tbl.LAST LOOP
7011 IF l_build_party_tbl(pty_row).contact_flag = 'Y' THEN
7012 l_build_party_tbl(pty_row).contact_ip_id :=
7013 p_party_tbl(l_build_party_tbl(pty_row).contact_parent_tbl_index).instance_party_id;
7014 FOR src_pty in p_party_tbl.FIRST .. p_party_tbl.LAST LOOP
7015 IF p_party_tbl(src_pty).instance_party_id = l_build_party_tbl(pty_row).instance_party_id
7016 THEN
7017 p_party_tbl(src_pty).contact_ip_id := l_build_party_tbl(pty_row).contact_ip_id;
7018 EXIT;
7019 END IF;
7020 END LOOP;
7021 END IF;
7022 l_bulk_pty_count := l_bulk_pty_count + 1;
7023 l_bulk_party_tbl(l_bulk_pty_count) := l_build_party_tbl(pty_row);
7024 --
7025 IF l_build_party_tbl(pty_row).relationship_type_code = 'OWNER' THEN
7026 l_owner_count := l_owner_count + 1;
7027 l_owner_pty_acct_tbl(l_owner_count).instance_id := l_build_party_tbl(pty_row).instance_id;
7028 l_owner_pty_acct_tbl(l_owner_count).party_source_table :=
7029 l_build_party_tbl(pty_row).party_source_table;
7030 l_owner_pty_acct_tbl(l_owner_count).party_id := l_build_party_tbl(pty_row).party_id;
7031 l_owner_pty_acct_tbl(l_owner_count).account_id := NULL;
7032 l_owner_pty_acct_tbl(l_owner_count).vld_organization_id :=
7033 p_instance_tbl(inst_tab_row).vld_organization_id;
7034 END IF;
7035 --
7036 Build_Party_History
7037 ( p_party_hist_tbl => l_bulk_party_hist_tbl
7038 ,p_party_rec => l_bulk_party_tbl(l_bulk_pty_count)
7039 ,p_txn_id => l_bulk_txn_tbl(l_bulk_inst_count).transaction_id
7040 );
7041 END LOOP;
7042 END IF;
7043 --
7044 IF l_build_account_tbl.count > 0 THEN
7045 FOR acct_row in l_build_account_tbl.FIRST .. l_build_account_tbl.LAST LOOP
7046 l_bulk_acct_count := l_bulk_acct_count + 1;
7047 l_bulk_acct_tbl(l_bulk_acct_count) := l_build_account_tbl(acct_row);
7048 --
7049 IF l_build_account_tbl(acct_row).relationship_type_code = 'OWNER' THEN
7050 l_owner_pty_acct_tbl(l_owner_count).account_id :=
7051 l_build_account_tbl(acct_row).party_account_id;
7052 END IF;
7053 --
7054 Build_Account_History
7055 ( p_acct_hist_tbl => l_bulk_acct_hist_tbl
7056 ,p_acct_rec => l_bulk_acct_tbl(l_bulk_acct_count)
7057 ,p_txn_id => l_bulk_txn_tbl(l_bulk_inst_count).transaction_id
7058 );
7059 END LOOP; -- Account Loop
7060 END IF; -- Account_tbl count check
7061 --
7062 IF l_build_org_tbl.count > 0 THEN
7063 FOR org_row in l_build_org_tbl.FIRST .. l_build_org_tbl.LAST LOOP
7064 l_bulk_org_count := l_bulk_org_count + 1;
7065 l_bulk_org_units_tbl(l_bulk_org_count) := l_build_org_tbl(org_row);
7066 --
7067 Build_Org_History
7068 ( p_org_hist_tbl => l_bulk_org_units_hist_tbl
7069 ,p_org_rec => l_bulk_org_units_tbl(l_bulk_org_count)
7070 ,p_txn_id => l_bulk_txn_tbl(l_bulk_inst_count).transaction_id
7071 );
7072 END LOOP;
7073 END IF;
7074 --
7075 IF l_build_pricing_tbl.count > 0 THEN
7076 FOR pricing_row in l_build_pricing_tbl.FIRST .. l_build_pricing_tbl.LAST LOOP
7077 l_bulk_pricing_count := l_bulk_pricing_count + 1;
7078 l_bulk_pricing_tbl(l_bulk_pricing_count) := l_build_pricing_tbl(pricing_row);
7079 --
7080 Build_Pricing_History
7081 (
7082 p_pricing_hist_tbl => l_bulk_pricing_hist_tbl
7083 ,p_pricing_rec => l_bulk_pricing_tbl(l_bulk_pricing_count)
7084 ,p_txn_id => l_bulk_txn_tbl(l_bulk_inst_count).transaction_id
7085 );
7086 END LOOP;
7087 END IF;
7088 --
7089 IF l_build_ext_tbl.count > 0 THEN
7090 FOR ext_row in l_build_ext_tbl.FIRST .. l_build_ext_tbl.LAST LOOP
7091 l_bulk_ext_count := l_bulk_ext_count + 1;
7092 l_bulk_ext_attrib_values_tbl(l_bulk_ext_count) := l_build_ext_tbl(ext_row);
7093 -- Build History
7094 Build_Ext_Attr_History
7095 ( p_ext_attr_hist_tbl => l_bulk_ext_attrib_val_hist_tbl
7096 ,p_ext_attr_rec => l_bulk_ext_attrib_values_tbl(l_bulk_ext_count)
7097 ,p_txn_id => l_bulk_txn_tbl(l_bulk_inst_count).transaction_id
7098 );
7099 END LOOP;
7100 END IF;
7101 --
7102 IF l_build_asset_tbl.count > 0 THEN
7103 FOR asset_row in l_build_asset_tbl.FIRST .. l_build_asset_tbl.LAST LOOP
7104 l_bulk_asset_count := l_bulk_asset_count + 1;
7105 l_bulk_asset_tbl(l_bulk_asset_count) := l_build_asset_tbl(asset_row);
7106 -- Build History
7107 Build_Asset_History
7108 ( p_asset_hist_tbl => l_bulk_asset_hist_tbl
7109 ,p_asset_rec => l_bulk_asset_tbl(l_bulk_asset_count)
7110 ,p_txn_id => l_bulk_txn_tbl(l_bulk_inst_count).transaction_id
7111 );
7112 END LOOP;
7113 END IF;
7114 --
7115 EXCEPTION
7116 WHEN PROCESS_NEXT THEN
7117 NULL;
7118 WHEN SKIP_ERROR THEN
7119 ROLLBACK TO create_item_instance;
7120 p_instance_tbl(inst_tab_row).processed_flag := 'E'; -- Error
7121 l_grp_error_tbl(inst_tab_row).process_status := 'E';
7122 l_grp_error_tbl(inst_tab_row).error_message := l_iface_error_text;
7123 l_error_array(inst_tab_row) := l_iface_error_text;
7124 l_status_array(inst_tab_row) := 'E';
7125 l_inst_id_array(inst_tab_row) := NULL;
7126 END;
7127 END LOOP; --instance_tbl
7128 --
7129 l_temp_party_tbl.DELETE;
7130 l_temp_account_tbl.DELETE;
7131 l_temp_org_tbl.DELETE;
7132 l_temp_asset_tbl.DELETE;
7133 l_temp_ext_tbl.DELETE;
7134 x_return_status := FND_API.G_RET_STS_SUCCESS;
7135 --
7136 -- l_txn_exists_tbl contains those transactions exist in CSI_TRANSACTIONS
7137 -- x_bulk_txn_tbl contains the transactions that need to be inserted in CSI_TRANSACTIONS
7138 IF l_bulk_inst_tbl.count > 0 THEN
7139 -- Loop thru' the l_bulk_txn_tbl and eliminate duplicate txn id's.
7140 FOR j in l_bulk_txn_tbl.FIRST .. l_bulk_txn_tbl.LAST LOOP
7141 l_exists := 'N';
7142 IF l_txn_exists_tbl.count > 0 THEN
7143 FOR m in l_txn_exists_tbl.FIRST .. l_txn_exists_tbl.LAST LOOP
7144 IF l_txn_exists_tbl(m) = l_bulk_txn_tbl(j).transaction_id THEN
7145 l_exists := 'Y';
7146 exit;
7147 END IF;
7148 END LOOP;
7149 END IF;
7150 --
7151 IF l_exists <> 'Y' THEN
7152 IF x_bulk_txn_tbl.count > 0 THEN
7153 FOR k in x_bulk_txn_tbl.FIRST .. x_bulk_txn_tbl.LAST LOOP
7154 IF l_bulk_txn_tbl(j).transaction_id = x_bulk_txn_tbl(k).transaction_id THEN
7155 l_exists := 'Y';
7156 exit;
7157 END IF;
7158 END LOOP;
7159 END IF;
7160 END IF;
7161 --
7162 IF l_exists <> 'Y' THEN
7163 csi_gen_utility_pvt.put_line('Checking against csi_transactions..');
7164 Begin
7165 select 'Y'
7166 into l_exists
7167 from csi_transactions
7168 where transaction_id = l_bulk_txn_tbl(j).transaction_id;
7169 --
7170 l_txn_ctr := l_txn_exists_tbl.count;
7171 l_txn_ctr := l_txn_ctr + 1;
7172 l_txn_exists_tbl(l_txn_ctr) := l_bulk_txn_tbl(j).transaction_id;
7173 Exception
7174 when no_data_found then
7175 l_exists := 'N';
7176 End;
7177 --
7178 IF l_exists <> 'Y' THEN
7179 l_txn_ctr := x_bulk_txn_tbl.count;
7180 l_txn_ctr := l_txn_ctr + 1;
7181 x_bulk_txn_tbl(l_txn_ctr) := l_bulk_txn_tbl(j);
7182 END IF;
7183 END IF;
7184 END LOOP;
7185 --
7186 --
7187 csi_gen_utility_pvt.put_line('Transaction Tbl count before Bulk Insert is '
7188 ||to_char(x_bulk_txn_tbl.count));
7189 Bulk_Insert
7190 ( p_inst_tbl => l_bulk_inst_tbl
7191 ,p_txn_tbl => x_bulk_txn_tbl
7192 ,p_inst_hist_tbl => l_bulk_inst_hist_tbl
7193 ,p_version_label_tbl => l_bulk_version_label_tbl
7194 ,p_ver_label_hist_tbl => l_bulk_ver_label_hist_tbl
7195 ,p_party_tbl => l_bulk_party_tbl
7196 ,p_party_hist_tbl => l_bulk_party_hist_tbl
7197 ,p_account_tbl => l_bulk_acct_tbl
7198 ,p_acct_hist_tbl => l_bulk_acct_hist_tbl
7199 ,p_owner_pty_acct_tbl => l_owner_pty_acct_tbl
7200 ,p_org_units_tbl => l_bulk_org_units_tbl
7201 ,p_org_units_hist_tbl => l_bulk_org_units_hist_tbl
7202 ,p_pricing_tbl => l_bulk_pricing_tbl
7203 ,p_pricing_hist_tbl => l_bulk_pricing_hist_tbl
7204 ,p_ext_attr_values_tbl => l_bulk_ext_attrib_values_tbl
7205 ,p_ext_attr_val_hist_tbl => l_bulk_ext_attrib_val_hist_tbl
7206 ,p_asset_tbl => l_bulk_asset_tbl
7207 ,p_asset_hist_tbl => l_bulk_asset_hist_tbl
7208 ,x_return_status => x_return_status
7209 );
7210 --
7211 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
7212 csi_gen_utility_pvt.put_line('Error from Bulk Insert '||substr(sqlerrm,1,200));
7213 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7214 END IF;
7215 --
7216 csi_gen_utility_pvt.put_line('End of Bulk Insert...');
7217 --
7218 -- Call Counters and Instantiate EAM Object
7219 FOR inst_row in p_instance_tbl.FIRST .. p_instance_tbl.LAST LOOP
7220 IF p_instance_tbl(inst_row).processed_flag = 'P' THEN
7221 FOR item_row in l_item_attribute_tbl.FIRST .. l_item_attribute_tbl.LAST LOOP
7222 IF p_instance_tbl(inst_row).inventory_item_id = l_item_attribute_tbl(item_row).inventory_item_id AND
7223 p_instance_tbl(inst_row).vld_organization_id = l_item_attribute_tbl(item_row).organization_id THEN
7224 l_serial_control := l_item_attribute_tbl(item_row).serial_number_control_code;
7225 l_eam_item_type := l_item_attribute_tbl(item_row).eam_item_type;
7226 exit;
7227 END IF;
7228 END LOOP;
7229 --
7230 -- Call counters if Qty is 1 and other conditions satisfy
7231 IF p_instance_tbl(inst_row).quantity = 1 THEN
7232 IF NOT((l_serial_control IN (1,6)) AND
7233 (p_instance_tbl(inst_row).location_type_code = 'INVENTORY')) THEN
7234 l_exists_flag := 'N';
7235 l_ctr_exists_flag := 'N';
7236 l_ctr_instantiate := 'N';
7237 IF l_ctr_tbl.count > 0 THEN
7238 FOR ctr_row in l_ctr_tbl.FIRST .. l_ctr_tbl.LAST LOOP
7239 IF p_instance_tbl(inst_row).inventory_item_id = l_ctr_tbl(ctr_row).inventory_item_id THEN
7240 l_ctr_exists_flag := l_ctr_tbl(ctr_row).ctr_template_exists;
7241 l_exists_flag := 'Y';
7242 exit;
7243 END IF;
7244 END LOOP;
7245 --
7246 IF l_ctr_exists_flag = 'Y' THEN
7247 l_ctr_instantiate := 'Y';
7248 ELSE
7249 l_ctr_instantiate := 'N';
7250 END IF;
7251 END IF;
7252 --
7253 IF l_exists_flag = 'N' THEN
7254 l_ctr_count := l_ctr_count + 1;
7255 l_ctr_tbl(l_ctr_count).inventory_item_id := p_instance_tbl(inst_row).inventory_item_id;
7256 -- R12 Project. We no longer use CS counters
7257 l_ctr_group_id := 0;
7258 Begin
7259 SELECT COUNT(*)
7260 INTO l_ctr_group_id
7261 FROM csi_ctr_item_associations
7262 WHERE inventory_item_id = p_instance_tbl(inst_row).inventory_item_id
7263 AND ROWNUM=1;
7264 End;
7265 --
7266 IF l_ctr_group_id > 0 THEN
7267 l_ctr_tbl(l_ctr_count).ctr_template_exists := 'Y';
7268 l_ctr_instantiate := 'Y';
7269 ELSE
7270 l_ctr_tbl(l_ctr_count).ctr_template_exists := 'N';
7271 l_ctr_instantiate := 'N';
7272 END IF;
7273 END IF;
7274 --
7275 IF l_ctr_instantiate = 'Y' THEN
7276 IF nvl(l_call_counters,'N') = 'Y' THEN
7277 csi_counter_template_pub.autoinstantiate_counters
7278 ( p_api_version => 1.0
7279 ,p_init_msg_list => FND_API.G_TRUE
7280 ,p_commit => FND_API.G_FALSE
7281 ,x_return_status => x_return_status
7282 ,x_msg_count => x_msg_count
7283 ,x_msg_data => x_msg_data
7284 ,p_source_object_id_template => p_instance_tbl(inst_row).inventory_item_id
7285 ,p_source_object_id_instance => p_instance_tbl(inst_row).instance_id
7286 ,x_ctr_id_template => l_ctr_id_template
7287 ,x_ctr_id_instance => l_ctr_id_instance
7288 ,x_ctr_grp_id_template => l_ctr_grp_id_template
7289 ,x_ctr_grp_id_instance => l_ctr_grp_id_instance
7290 ,p_organization_id => p_instance_tbl(inst_row).vld_organization_id
7291 );
7292
7293 --
7294 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
7295 l_msg_index := 1;
7296 l_msg_count := x_msg_count;
7297 WHILE l_msg_count > 0 LOOP
7298 x_msg_data := FND_MSG_PUB.GET
7299 ( l_msg_index,
7300 FND_API.G_FALSE );
7301 l_msg_index := l_msg_index + 1;
7302 l_msg_count := l_msg_count - 1;
7303 END LOOP;
7304 l_iface_error_text := substr(x_msg_data,1,2000);
7305 p_instance_tbl(inst_row).processed_flag := 'E';
7306 l_grp_error_tbl(inst_row).error_message := l_iface_error_text;
7307 l_grp_error_tbl(inst_row).process_status := 'E';
7308 l_error_array(inst_row) := l_iface_error_text;
7309 l_status_array(inst_row) := 'E';
7310 l_inst_id_array(inst_row) := NULL;
7311 l_del_count := l_del_count + 1;
7312 l_del_inst_tbl(l_del_count) := p_instance_tbl(inst_row).instance_id;
7313 l_del_txn_tbl(l_del_count) := p_txn_tbl(inst_row).transaction_id;
7314 END IF;
7315 ELSE
7316 -- Build the PL/SQL table for Inserting into Counters Temp table
7317 l_counter := l_counter + 1;
7318 select CSI_CTR_UPLOAD_INSTANCES_S.nextval
7319 into l_ctr_id(l_counter) from sys.dual;
7320 --
7321 l_ctr_ins_id(l_counter) := p_instance_tbl(inst_row).instance_id;
7322 l_ctr_item_id(l_counter) := p_instance_tbl(inst_row).inventory_item_id;
7323 l_ctr_org_id(l_counter) := p_instance_tbl(inst_row).vld_organization_id;
7324 END IF;
7325 END IF; -- l_ctr_instantiate is Y
7326 END IF;
7327 END IF; -- Qty = 1 check for calling counters
7328 --
7329 IF csi_item_instance_vld_pvt.Check_for_EAM_Item
7330 ( p_inventory_item_id => p_instance_tbl(inst_row).inventory_item_id
7331 ,p_organization_id => p_instance_tbl(inst_row).vld_organization_id
7332 ,p_eam_item_type => l_eam_item_type
7333 ) THEN
7334 EAM_Objectinstantiation_Pub.Instantiate_Object
7335 ( p_api_version => 1.0
7336 ,p_init_msg_list => fnd_api.g_true
7337 ,p_commit => fnd_api.g_false
7338 ,p_validation_level => p_validation_level
7339 ,p_maintenance_object_id => p_instance_tbl(inst_row).instance_id
7340 ,p_maintenance_object_type => 3
7341 ,x_return_status => x_return_status
7342 ,x_msg_count => x_msg_count
7343 ,x_msg_data => x_msg_data
7344 );
7345 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
7346 l_msg_index := 1;
7347 l_msg_count := x_msg_count;
7348 WHILE l_msg_count > 0 LOOP
7349 x_msg_data := FND_MSG_PUB.GET
7350 ( l_msg_index,
7351 FND_API.G_FALSE );
7352 l_msg_index := l_msg_index + 1;
7353 l_msg_count := l_msg_count - 1;
7354 END LOOP;
7355 l_iface_error_text := substr(x_msg_data,1,2000);
7356 p_instance_tbl(inst_row).processed_flag := 'E';
7357 l_grp_error_tbl(inst_row).error_message := l_iface_error_text;
7358 l_grp_error_tbl(inst_row).process_status := 'E';
7359 l_error_array(inst_row) := l_iface_error_text;
7360 l_status_array(inst_row) := 'E';
7361 l_inst_id_array(inst_row) := NULL;
7362 l_del_count := l_del_count + 1;
7363 l_del_inst_tbl(l_del_count) := p_instance_tbl(inst_row).instance_id;
7364 l_del_txn_tbl(l_del_count) := p_txn_tbl(inst_row).transaction_id;
7365 END IF;
7366 END IF; -- Check for EAM Item
7367 END IF; -- Instance is Valid check
7368 END LOOP;
7369 --
7370 IF l_ctr_id.count > 0 THEN
7371 BEGIN
7372 FORALL i in 1 .. l_ctr_id.count
7373 INSERT INTO CSI_CTR_UPLOAD_INSTANCES
7374 (
7375 UPLOAD_INSTANCE_ID
7376 ,SOURCE_OBJECT_ID
7377 ,SOURCE_OBJECT_CODE
7378 ,ITEM_ID
7379 ,ORG_ID
7380 ,LAST_UPDATE_DATE
7381 ,LAST_UPDATED_BY
7382 ,LAST_UPDATE_LOGIN
7383 ,CREATION_DATE
7384 ,CREATED_BY
7385 )
7386 VALUES
7387 (
7388 l_ctr_id(i)
7389 ,l_ctr_ins_id(i)
7390 ,'CP'
7391 ,l_ctr_item_id(i)
7392 ,l_ctr_org_id(i)
7393 ,sysdate
7394 ,l_user_id
7395 ,l_login_id
7396 ,sysdate
7397 ,l_user_id
7398 );
7399 EXCEPTION
7400 WHEN OTHERS THEN
7401 NULL;
7402 END;
7403 END IF;
7404 -- Call contracts
7405 csi_gen_utility_pvt.put_line('Calling contracts...');
7406 --
7407 FOR inst_row in p_instance_tbl.FIRST .. p_instance_tbl.LAST LOOP
7408 IF p_instance_tbl(inst_row).processed_flag = 'P' AND
7409 p_instance_tbl(inst_row).call_contracts <> fnd_api.g_false THEN -- honoring the call_contracts
7410 IF l_owner_pty_acct_tbl.count > 0 THEN
7411 l_owner_party_id := NULL;
7412 FOR pty_row in l_owner_pty_acct_tbl.FIRST .. l_owner_pty_acct_tbl.LAST LOOP
7413 IF p_instance_tbl(inst_row).instance_id = l_owner_pty_acct_tbl(pty_row).instance_id THEN
7414 l_owner_party_id := l_owner_pty_acct_tbl(pty_row).party_id;
7415 l_vld_organization_id := l_owner_pty_acct_tbl(pty_row).vld_organization_id;
7416 exit;
7417 END IF;
7418 END LOOP;
7419 END IF;
7420 --
7421 IF l_owner_party_id IS NOT NULL AND
7422 l_owner_party_id <> FND_API.G_MISS_NUM AND
7423 l_owner_party_id <> l_internal_party_id THEN
7424 -- Call API
7425 l_transaction_type:= 'NEW';
7426 csi_item_instance_pvt.Call_to_Contracts(
7427 p_transaction_type => l_transaction_type
7428 ,p_instance_id => p_instance_tbl(inst_row).instance_id
7429 ,p_new_instance_id => NULL
7430 ,p_vld_org_id => p_instance_tbl(inst_row).vld_organization_id
7431 ,p_quantity => NULL
7432 ,p_party_account_id1 => NULL
7433 ,p_party_account_id2 => NULL
7434 ,p_transaction_date => p_txn_tbl(inst_row).transaction_date
7435 ,p_source_transaction_date => p_txn_tbl(inst_row).source_transaction_date
7436 ,p_grp_call_contracts => FND_API.G_TRUE
7437 ,p_call_from_bom_expl => p_call_from_bom_expl
7438 ,p_oks_txn_inst_tbl => px_oks_txn_inst_tbl
7439 ,x_return_status => x_return_status
7440 ,x_msg_count => x_msg_count
7441 ,x_msg_data => x_msg_data
7442 );
7443 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS)
7444 THEN
7445 csi_gen_utility_pvt.put_line('Error from Call_to_contracts...');
7446 l_msg_index := 1;
7447 l_msg_count := x_msg_count;
7448 WHILE l_msg_count > 0 LOOP
7449 x_msg_data := FND_MSG_PUB.GET
7450 ( l_msg_index,
7451 FND_API.G_FALSE
7452 );
7453 l_msg_index := l_msg_index + 1;
7454 l_msg_count := l_msg_count - 1;
7455 END LOOP;
7456 l_iface_error_text := substr(x_msg_data,1,2000);
7457 p_instance_tbl(inst_row).processed_flag := 'E';
7458 l_grp_error_tbl(inst_row).error_message := l_iface_error_text;
7459 l_grp_error_tbl(inst_row).process_status := 'E';
7460 l_error_array(inst_row) := l_iface_error_text;
7461 l_status_array(inst_row) := 'E';
7462 l_inst_id_array(inst_row) := NULL;
7463 l_del_count := l_del_count + 1;
7464 l_del_inst_tbl(l_del_count) := p_instance_tbl(inst_row).instance_id;
7465 l_del_txn_tbl(l_del_count) := p_txn_tbl(inst_row).transaction_id;
7466 ELSE
7467 -- Store the Transactions inorder to Update the Contracts Audit flag later
7468 l_upd_txn_count := l_upd_txn_count + 1;
7469 l_upd_txn_tbl(l_upd_txn_count) := p_txn_tbl(inst_row).transaction_id;
7470 END IF;
7471 END IF; -- Onwer party ID check
7472 END IF; -- Valid Instance check and call_contracts set to True
7473 END LOOP;
7474 --
7475 IF px_oks_txn_inst_tbl.count > 0 THEN
7476 IF l_debug_level > 1 THEN
7477 csi_gen_utility_pvt.dump_oks_txn_inst_tbl(px_oks_txn_inst_tbl);
7478 csi_gen_utility_pvt.put_line('Calling OKS Core API...');
7479 END IF;
7480 --
7481 IF l_upd_txn_tbl.count > 0 THEN
7482 FORALL K IN l_upd_txn_tbl.FIRST .. l_upd_txn_tbl.LAST
7483 UPDATE CSI_TRANSACTIONS
7484 set contracts_invoked = 'Y'
7485 where transaction_id = l_upd_txn_tbl(K);
7486 END IF;
7487 --
7488 OKS_IBINT_PUB.IB_interface
7489 (
7490 P_Api_Version => 1.0,
7491 P_init_msg_list => p_init_msg_list,
7492 P_single_txn_date_flag => 'N',
7493 P_Batch_type => NULL,
7494 P_Batch_ID => NULL,
7495 P_OKS_Txn_Inst_tbl => px_oks_txn_inst_tbl,
7496 x_return_status => x_return_status,
7497 x_msg_count => x_msg_count,
7498 x_msg_data => x_msg_data
7499 );
7500 csi_gen_utility_pvt.put_line('Status returned from Oks_ibint_pub.IB_interface is :'||x_return_status);
7501 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS)
7502 THEN
7503 csi_gen_utility_pvt.put_line('Error from Call_to_contracts...');
7504 l_msg_index := 1;
7505 l_msg_count := x_msg_count;
7506 WHILE l_msg_count > 0 LOOP
7507 x_msg_data := FND_MSG_PUB.GET
7508 ( l_msg_index,
7509 FND_API.G_FALSE
7510 );
7511 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
7512 l_msg_index := l_msg_index + 1;
7513 l_msg_count := l_msg_count - 1;
7514 END LOOP;
7515 l_iface_error_text := substr(x_msg_data,1,2000);
7516 --
7517 FOR inst_row IN p_instance_tbl.FIRST .. p_instance_tbl.LAST LOOP
7518 IF p_instance_tbl.EXISTS(inst_row) THEN
7519 p_instance_tbl(inst_row).processed_flag := 'E';
7520 l_grp_error_tbl(inst_row).error_message := l_iface_error_text;
7521 l_grp_error_tbl(inst_row).process_status := 'E';
7522 l_error_array(inst_row) := l_iface_error_text;
7523 l_status_array(inst_row) := 'E';
7524 l_inst_id_array(inst_row) := NULL;
7525 END IF;
7526 END LOOP;
7527 -- if OKS returns error then everthing gets rolledback
7528 p_grp_error_tbl := l_grp_error_tbl;
7529 RAISE FND_API.G_EXC_ERROR;
7530 END IF;
7531 END IF; -- px_oks_txn_inst_tbl count
7532 END IF; -- Check for l_bulk_inst_tbl count
7533 --
7534 -- Delete the Instances failed in Counter and Contracts creation.
7535 IF l_del_inst_tbl.count > 0 THEN
7536 BEGIN
7537 FORALL j in l_del_inst_tbl.FIRST .. l_del_inst_tbl.LAST
7538 DELETE FROM CSI_ITEM_INSTANCES WHERE instance_id = l_del_inst_tbl(j);
7539 FORALL j in l_del_inst_tbl.FIRST .. l_del_inst_tbl.LAST
7540 DELETE FROM CSI_IP_ACCOUNTS WHERE instance_party_id in (SELECT instance_party_id
7541 from CSI_I_PARTIES WHERE instance_id = l_del_inst_tbl(j));
7542 FORALL j in l_del_inst_tbl.FIRST .. l_del_inst_tbl.LAST
7543 DELETE FROM CSI_I_PARTIES WHERE instance_id = l_del_inst_tbl(j);
7544 FORALL j in l_del_inst_tbl.FIRST .. l_del_inst_tbl.LAST
7545 DELETE FROM CSI_I_ORG_ASSIGNMENTS WHERE instance_id = l_del_inst_tbl(j);
7546 FORALL j in l_del_inst_tbl.FIRST .. l_del_inst_tbl.LAST
7547 DELETE FROM CSI_I_PRICING_ATTRIBS WHERE instance_id = l_del_inst_tbl(j);
7548 FORALL j in l_del_inst_tbl.FIRST .. l_del_inst_tbl.LAST
7549 DELETE FROM CSI_I_VERSION_LABELS WHERE instance_id = l_del_inst_tbl(j);
7550 FORALL j in l_del_inst_tbl.FIRST .. l_del_inst_tbl.LAST
7551 DELETE FROM CSI_IEA_VALUES WHERE instance_id = l_del_inst_tbl(j);
7552 FORALL j in l_del_inst_tbl.FIRST .. l_del_inst_tbl.LAST
7553 DELETE FROM CSI_I_ASSETS WHERE instance_id = l_del_inst_tbl(j);
7554 FORALL j in l_del_txn_tbl.FIRST .. l_del_txn_tbl.LAST
7555 DELETE FROM CSI_ITEM_INSTANCES_H WHERE transaction_id = l_del_txn_tbl(j);
7556 FORALL j in l_del_txn_tbl.FIRST .. l_del_txn_tbl.LAST
7557 DELETE FROM CSI_I_PARTIES_H WHERE transaction_id = l_del_txn_tbl(j);
7558 FORALL j in l_del_txn_tbl.FIRST .. l_del_txn_tbl.LAST
7559 DELETE FROM CSI_IP_ACCOUNTS_H WHERE transaction_id = l_del_txn_tbl(j);
7560 FORALL j in l_del_txn_tbl.FIRST .. l_del_txn_tbl.LAST
7561 DELETE FROM CSI_I_ORG_ASSIGNMENTS_H WHERE transaction_id = l_del_txn_tbl(j);
7562 FORALL j in l_del_txn_tbl.FIRST .. l_del_txn_tbl.LAST
7563 DELETE FROM CSI_I_PRICING_ATTRIBS_H WHERE transaction_id = l_del_txn_tbl(j);
7564 FORALL j in l_del_txn_tbl.FIRST .. l_del_txn_tbl.LAST
7565 DELETE FROM CSI_I_VERSION_LABELS_H WHERE transaction_id = l_del_txn_tbl(j);
7566 FORALL j in l_del_txn_tbl.FIRST .. l_del_txn_tbl.LAST
7567 DELETE FROM CSI_IEA_VALUES_H WHERE transaction_id = l_del_txn_tbl(j);
7568 FORALL j in l_del_txn_tbl.FIRST .. l_del_txn_tbl.LAST
7569 DELETE FROM CSI_I_ASSETS_H WHERE transaction_id = l_del_txn_tbl(j);
7570 FORALL j in l_del_txn_tbl.FIRST .. l_del_txn_tbl.LAST
7571 DELETE FROM CSI_TRANSACTIONS WHERE transaction_id = l_del_txn_tbl(j);
7572 END;
7573 END IF;
7574 -- Update Interface Table
7575 IF l_intf_id_array.count > 0 THEN
7576 BEGIN
7577 l_upd_stmt := 'UPDATE CSI_INSTANCE_INTERFACE
7578 SET instance_id = :ins_id
7579 ,error_text = :error_text
7580 ,process_status = :status
7581 WHERE inst_interface_id = :intf_id';
7582 l_num_of_rows := dbms_sql.open_cursor;
7583 dbms_sql.parse(l_num_of_rows,l_upd_stmt,dbms_sql.native);
7584 dbms_sql.bind_array(l_num_of_rows,':ins_id',l_inst_id_array);
7585 dbms_sql.bind_array(l_num_of_rows,':intf_id',l_intf_id_array);
7586 dbms_sql.bind_array(l_num_of_rows,':status',l_status_array);
7587 dbms_sql.bind_array(l_num_of_rows,':error_text',l_error_array);
7588 l_dummy := dbms_sql.execute(l_num_of_rows);
7589 dbms_sql.close_cursor(l_num_of_rows);
7590
7591 l_upd_stmt := 'UPDATE CSI_I_ASSET_INTERFACE a
7592 SET instance_id = :ins_id
7593 , instance_asset_id =
7594 ( SELECT instance_asset_id
7595 FROM csi_i_assets b
7596 WHERE b.instance_id = :a_ins_id
7597 AND b.fa_asset_id = a.fa_asset_id
7598 AND b.fa_book_type_code = a.fa_book_type_code
7599 AND b.fa_location_id = a.fa_location_id
7600 AND rownum = 1
7601 )
7602 WHERE inst_interface_id = :intf_id';
7603 l_num_of_rows := dbms_sql.open_cursor;
7604 dbms_sql.parse(l_num_of_rows,l_upd_stmt,dbms_sql.native);
7605 dbms_sql.bind_array(l_num_of_rows,':ins_id',l_inst_id_array);
7606 dbms_sql.bind_array(l_num_of_rows,':a_ins_id',l_inst_id_array);
7607 dbms_sql.bind_array(l_num_of_rows,':intf_id',l_intf_id_array);
7608 l_dummy := dbms_sql.execute(l_num_of_rows);
7609 dbms_sql.close_cursor(l_num_of_rows);
7610
7611 EXCEPTION
7612 WHEN OTHERS THEN
7613 NULL;
7614 END;
7615 END IF;
7616 --
7617 p_grp_error_tbl := l_grp_error_tbl;
7618 x_return_status := FND_API.G_RET_STS_SUCCESS;
7619 --
7620 END IF; --end of instance_tbl count check
7621 -- End of API body
7622 -- Standard check of p_commit.
7623 IF FND_API.To_Boolean( p_commit ) THEN
7624 COMMIT WORK;
7625 END IF;
7626 /***** srramakr commented for bug # 3304439
7627 -- Check for the profile option and disable the trace
7628 IF (l_flag = 'Y') THEN
7629 dbms_session.set_sql_trace(FALSE);
7630 END IF;
7631 -- End disable trace
7632 ****/
7633
7634 -- Standard call to get message count and if count is get message info.
7635 FND_MSG_PUB.Count_And_Get
7636 (p_count => x_msg_count ,
7637 p_data => x_msg_data
7638 );
7639
7640 EXCEPTION
7641 -- The following other_error exception is added for bug 3579121 (rel 11.5.9)
7642 WHEN OTHER_ERROR THEN
7643 x_return_status := FND_API.G_RET_STS_ERROR ;
7644 FND_MSG_PUB.Count_And_Get
7645 ( p_count => x_msg_count,
7646 p_data => x_msg_data
7647 );
7648
7649 WHEN FND_API.G_EXC_ERROR THEN
7650 x_return_status := FND_API.G_RET_STS_ERROR ;
7651 ROLLBACK TO create_item_instance;
7652 FND_MSG_PUB.Count_And_Get
7653 ( p_count => x_msg_count,
7654 p_data => x_msg_data
7655 );
7656
7657 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7658 FND_File.Put_Line(Fnd_File.LOG,'Into unexpected exception of grp.create_item_instance');
7659 FND_File.Put_Line(Fnd_File.LOG,'SQLERRM:'||substr(SQLERRM,1,200));
7660 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
7661 ROLLBACK TO create_item_instance;
7662 FND_MSG_PUB.Count_And_Get
7663 ( p_count => x_msg_count,
7664 p_data => x_msg_data
7665 );
7666
7667 WHEN OTHERS THEN
7668 FND_File.Put_Line(Fnd_File.LOG,'Into when others exception of grp.create_item_instance');
7669 FND_File.Put_Line(Fnd_File.LOG,'SQLERRM:'||substr(SQLERRM,1,200));
7670 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
7671 ROLLBACK TO create_item_instance;
7672 IF FND_MSG_PUB.Check_Msg_Level
7673 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7674 THEN
7675 FND_MSG_PUB.Add_Exc_Msg
7676 (G_PKG_NAME,
7677 l_api_name
7678 );
7679 END IF;
7680 FND_MSG_PUB.Count_And_Get
7681 ( p_count => x_msg_count,
7682 p_data => x_msg_data
7683 );
7684
7685 END create_item_instance;
7686
7687 /*----------------------------------------------------*/
7688 /* Procedure name: update_item_instance */
7689 /* Description : procedure used to update an Item */
7690 /* Instance */
7691 /*----------------------------------------------------*/
7692
7693 PROCEDURE update_item_instance
7694 (
7695 p_api_version IN NUMBER
7696 ,p_commit IN VARCHAR2
7697 ,p_init_msg_list IN VARCHAR2
7698 ,p_validation_level IN NUMBER
7699 ,p_instance_tbl IN OUT NOCOPY csi_datastructures_pub.instance_tbl
7700 ,p_ext_attrib_values_tbl IN OUT NOCOPY csi_datastructures_pub.extend_attrib_values_tbl
7701 ,p_party_tbl IN OUT NOCOPY csi_datastructures_pub.party_tbl
7702 ,p_account_tbl IN OUT NOCOPY csi_datastructures_pub.party_account_tbl
7703 ,p_pricing_attrib_tbl IN OUT NOCOPY csi_datastructures_pub.pricing_attribs_tbl
7704 ,p_org_assignments_tbl IN OUT NOCOPY csi_datastructures_pub.organization_units_tbl
7705 ,p_asset_assignment_tbl IN OUT NOCOPY csi_datastructures_pub.instance_asset_tbl
7706 ,p_txn_rec IN OUT NOCOPY csi_datastructures_pub.transaction_rec
7707 ,x_instance_id_lst OUT NOCOPY csi_datastructures_pub.id_tbl
7708 ,p_grp_upd_error_tbl OUT NOCOPY csi_datastructures_pub.grp_upd_error_tbl
7709 ,x_return_status OUT NOCOPY VARCHAR2
7710 ,x_msg_count OUT NOCOPY NUMBER
7711 ,x_msg_data OUT NOCOPY VARCHAR2
7712 )
7713
7714 IS
7715 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_ITEM_INSTANCE';
7716 l_api_version CONSTANT NUMBER := 1.0;
7717 l_debug_level NUMBER;
7718 l_new_instance_rec csi_datastructures_pub.instance_rec;
7719 l_temp_instance_rec csi_datastructures_pub.instance_rec;
7720 l_old_instance_tbl csi_datastructures_pub.instance_tbl;
7721 l_version_label_rec csi_datastructures_pub.version_label_rec;
7722 l_temp_version_label_rec csi_datastructures_pub.version_label_rec;
7723 l_msg_count NUMBER;
7724 l_msg_data VARCHAR2(2000);
7725 l_msg_index NUMBER;
7726 l_line_count NUMBER;
7727 l_flag VARCHAR2(1):='N';
7728 l_transaction_type VARCHAR2(10) := NULL;
7729 l_old_oks_cp_rec oks_ibint_pub.cp_rec_type;
7730 l_new_oks_cp_rec oks_ibint_pub.cp_rec_type;
7731 l_contracts_status VARCHAR2(3);
7732 l_owner_party_id NUMBER;
7733 l_transaction_date DATE ;
7734 l_internal_party_id NUMBER;
7735 l_party_id NUMBER;
7736 l_active_end_date DATE;
7737 l_dummy VARCHAR2(1);
7738 l_item_attribute_tbl csi_item_instance_pvt.item_attribute_tbl;
7739 l_location_tbl csi_item_instance_pvt.location_tbl;
7740 l_generic_id_tbl csi_item_instance_pvt.generic_id_tbl;
7741 l_lookup_tbl csi_item_instance_pvt.lookup_tbl;
7742 l_ins_count_rec csi_item_instance_pvt.ins_count_rec;
7743 l_ou_lookup_tbl csi_organization_unit_pvt.lookup_tbl;
7744 l_ou_count_rec csi_organization_unit_pvt.ou_count_rec;
7745 l_ou_id_tbl csi_organization_unit_pvt.ou_id_tbl;
7746 l_ext_id_tbl csi_item_instance_pvt.ext_id_tbl;
7747 l_ext_count_rec csi_item_instance_pvt.ext_count_rec;
7748 l_ext_attr_tbl csi_item_instance_pvt.ext_attr_tbl;
7749 l_ext_cat_tbl csi_item_instance_pvt.ext_cat_tbl;
7750 l_asset_lookup_tbl csi_asset_pvt.lookup_tbl;
7751 l_asset_count_rec csi_asset_pvt.asset_count_rec;
7752 l_asset_id_tbl csi_asset_pvt.asset_id_tbl;
7753 l_asset_loc_tbl csi_asset_pvt.asset_loc_tbl;
7754 --
7755 CURSOR instance_csr(p_ins_id IN NUMBER) is
7756 SELECT
7757 INSTANCE_ID
7758 ,INSTANCE_NUMBER
7759 ,EXTERNAL_REFERENCE
7760 ,INVENTORY_ITEM_ID
7761 ,INVENTORY_REVISION
7762 ,INV_MASTER_ORGANIZATION_ID
7763 ,SERIAL_NUMBER
7764 ,MFG_SERIAL_NUMBER_FLAG
7765 ,LOT_NUMBER
7766 ,QUANTITY
7767 ,UNIT_OF_MEASURE
7768 ,ACCOUNTING_CLASS_CODE
7769 ,INSTANCE_CONDITION_ID
7770 ,INSTANCE_STATUS_ID
7771 ,CUSTOMER_VIEW_FLAG
7772 ,MERCHANT_VIEW_FLAG
7773 ,SELLABLE_FLAG
7774 ,SYSTEM_ID
7775 ,INSTANCE_TYPE_CODE
7776 ,ACTIVE_START_DATE
7777 ,ACTIVE_END_DATE
7778 ,LOCATION_TYPE_CODE
7779 ,LOCATION_ID
7780 ,INV_ORGANIZATION_ID
7781 ,INV_SUBINVENTORY_NAME
7782 ,INV_LOCATOR_ID
7783 ,PA_PROJECT_ID
7784 ,PA_PROJECT_TASK_ID
7785 ,IN_TRANSIT_ORDER_LINE_ID
7786 ,WIP_JOB_ID
7787 ,PO_ORDER_LINE_ID
7788 ,LAST_OE_ORDER_LINE_ID
7789 ,LAST_OE_RMA_LINE_ID
7790 ,LAST_PO_PO_LINE_ID
7791 ,LAST_OE_PO_NUMBER
7792 ,LAST_WIP_JOB_ID
7793 ,LAST_PA_PROJECT_ID
7794 ,LAST_PA_TASK_ID
7795 ,LAST_OE_AGREEMENT_ID
7796 ,INSTALL_DATE
7797 ,MANUALLY_CREATED_FLAG
7798 ,RETURN_BY_DATE
7799 ,ACTUAL_RETURN_DATE
7800 ,CREATION_COMPLETE_FLAG
7801 ,COMPLETENESS_FLAG
7802 ,CONTEXT
7803 ,ATTRIBUTE1
7804 ,ATTRIBUTE2
7805 ,ATTRIBUTE3
7806 ,ATTRIBUTE4
7807 ,ATTRIBUTE5
7808 ,ATTRIBUTE6
7809 ,ATTRIBUTE7
7810 ,ATTRIBUTE8
7811 ,ATTRIBUTE9
7812 ,ATTRIBUTE10
7813 ,ATTRIBUTE11
7814 ,ATTRIBUTE12
7815 ,ATTRIBUTE13
7816 ,ATTRIBUTE14
7817 ,ATTRIBUTE15
7818 ,CREATED_BY
7819 ,CREATION_DATE
7820 ,LAST_UPDATED_BY
7821 ,LAST_UPDATE_DATE
7822 ,LAST_UPDATE_LOGIN
7823 ,OBJECT_VERSION_NUMBER
7824 ,SECURITY_GROUP_ID
7825 ,LAST_TXN_LINE_DETAIL_ID
7826 ,INSTALL_LOCATION_TYPE_CODE
7827 ,INSTALL_LOCATION_ID
7828 ,INSTANCE_USAGE_CODE
7829 ,OWNER_PARTY_SOURCE_TABLE
7830 ,OWNER_PARTY_ID
7831 ,OWNER_PARTY_ACCOUNT_ID
7832 ,LAST_VLD_ORGANIZATION_ID
7833 ,MIGRATED_FLAG
7834 ,NULL PROCESSED_FLAG
7835 from CSI_ITEM_INSTANCES
7836 where instance_id = p_ins_id;
7837 --
7838 l_instance_csr instance_csr%ROWTYPE;
7839 --
7840 CURSOR old_ins_csr (p_ins_id IN NUMBER) IS
7841 SELECT
7842 INSTANCE_ID
7843 ,INSTANCE_NUMBER
7844 ,EXTERNAL_REFERENCE
7845 ,INVENTORY_ITEM_ID
7846 ,INVENTORY_REVISION
7847 ,INV_MASTER_ORGANIZATION_ID
7848 ,SERIAL_NUMBER
7849 ,MFG_SERIAL_NUMBER_FLAG
7850 ,LOT_NUMBER
7851 ,QUANTITY
7852 ,UNIT_OF_MEASURE
7853 ,ACCOUNTING_CLASS_CODE
7854 ,INSTANCE_CONDITION_ID
7855 ,INSTANCE_STATUS_ID
7856 ,CUSTOMER_VIEW_FLAG
7857 ,MERCHANT_VIEW_FLAG
7858 ,SELLABLE_FLAG
7859 ,SYSTEM_ID
7860 ,INSTANCE_TYPE_CODE
7861 ,ACTIVE_START_DATE
7862 ,ACTIVE_END_DATE
7863 ,LOCATION_TYPE_CODE
7864 ,LOCATION_ID
7865 ,INV_ORGANIZATION_ID
7866 ,INV_SUBINVENTORY_NAME
7867 ,INV_LOCATOR_ID
7868 ,PA_PROJECT_ID
7869 ,PA_PROJECT_TASK_ID
7870 ,IN_TRANSIT_ORDER_LINE_ID
7871 ,WIP_JOB_ID
7872 ,PO_ORDER_LINE_ID
7873 ,LAST_OE_ORDER_LINE_ID
7874 ,LAST_OE_RMA_LINE_ID
7875 ,LAST_PO_PO_LINE_ID
7876 ,LAST_OE_PO_NUMBER
7877 ,LAST_WIP_JOB_ID
7878 ,LAST_PA_PROJECT_ID
7879 ,LAST_PA_TASK_ID
7880 ,LAST_OE_AGREEMENT_ID
7881 ,INSTALL_DATE
7882 ,MANUALLY_CREATED_FLAG
7883 ,RETURN_BY_DATE
7884 ,ACTUAL_RETURN_DATE
7885 ,CREATION_COMPLETE_FLAG
7886 ,COMPLETENESS_FLAG
7887 ,CONTEXT
7888 ,ATTRIBUTE1
7889 ,ATTRIBUTE2
7890 ,ATTRIBUTE3
7891 ,ATTRIBUTE4
7892 ,ATTRIBUTE5
7893 ,ATTRIBUTE6
7894 ,ATTRIBUTE7
7895 ,ATTRIBUTE8
7896 ,ATTRIBUTE9
7897 ,ATTRIBUTE10
7898 ,ATTRIBUTE11
7899 ,ATTRIBUTE12
7900 ,ATTRIBUTE13
7901 ,ATTRIBUTE14
7902 ,ATTRIBUTE15
7903 ,CREATED_BY
7904 ,CREATION_DATE
7905 ,LAST_UPDATED_BY
7906 ,LAST_UPDATE_DATE
7907 ,LAST_UPDATE_LOGIN
7908 ,OBJECT_VERSION_NUMBER
7909 ,SECURITY_GROUP_ID
7910 ,LAST_TXN_LINE_DETAIL_ID
7911 ,INSTALL_LOCATION_TYPE_CODE
7912 ,INSTALL_LOCATION_ID
7913 ,INSTANCE_USAGE_CODE
7914 ,OWNER_PARTY_SOURCE_TABLE
7915 ,OWNER_PARTY_ID
7916 ,OWNER_PARTY_ACCOUNT_ID
7917 ,LAST_VLD_ORGANIZATION_ID
7918 ,MIGRATED_FLAG
7919 ,NULL PROCESSED_FLAG
7920 FROM CSI_ITEM_INSTANCES
7921 WHERE instance_id = p_ins_id;
7922 l_old_ins_csr old_ins_csr%ROWTYPE;
7923 --
7924 l_iface_error_text VARCHAR2(2000);
7925 l_grp_upd_error_tbl csi_datastructures_pub.grp_upd_error_tbl;
7926 l_grp_error_count NUMBER := 0;
7927 l_order_line_id NUMBER;
7928 --
7929 l_owner_party_tbl csi_datastructures_pub.party_tbl;
7930 l_party_tbl csi_datastructures_pub.party_tbl;
7931 l_contact_party_tbl csi_datastructures_pub.party_tbl;
7932 l_owner_acct_tbl csi_datastructures_pub.party_account_tbl;
7933 l_pty_acct_tbl csi_datastructures_pub.party_account_tbl;
7934 --
7935 l_upd_party_tbl csi_datastructures_pub.party_tbl;
7936 l_upd_acct_tbl csi_datastructures_pub.party_account_tbl;
7937 l_upd_count NUMBER := 0;
7938 --
7939 l_owner_count NUMBER := 0;
7940 l_party_count NUMBER := 0;
7941 l_contact_count NUMBER := 0;
7942 l_owner_acct_count NUMBER := 0;
7943 l_pty_acct_count NUMBER := 0;
7944 Process_next EXCEPTION;
7945 --
7946 l_party_slot_tbl T_NUM; -- This will be mapped one-to-one with the l_party_tbl
7947 -- -- It contains the p_party_tbl slot#
7948 l_pty_slot NUMBER := 0;
7949 --
7950 TYPE exp_rec IS RECORD
7951 ( instance_id NUMBER,
7952 instance_status_id NUMBER,
7953 active_end_date DATE
7954 );
7955 TYPE exp_tbl IS TABLE OF exp_rec INDEX BY BINARY_INTEGER;
7956 --
7957 l_exp_tbl exp_tbl;
7958 l_exp_count NUMBER := 0;
7959 --
7960 px_child_inst_tbl csi_item_instance_grp.child_inst_tbl;
7961 l_child_exists VARCHAR2(1);
7962 --
7963 px_oks_txn_inst_tbl oks_ibint_pub.txn_instance_tbl;
7964 l_batch_id NUMBER;
7965 l_batch_type VARCHAR2(50);
7966 --
7967 SKIP_ERROR EXCEPTION;
7968
7969 CURSOR non_owner_csr (p_ins_pty_id NUMBER) IS
7970 SELECT ip_account_id
7971 ,active_end_date
7972 ,object_version_number
7973 from csi_ip_accounts
7974 where instance_party_id=p_ins_pty_id
7975 and relationship_type_code<>'OWNER';
7976
7977 BEGIN
7978 -- Standard Start of API savepoint
7979 SAVEPOINT update_item_instance;
7980
7981 -- Check for freeze_flag in csi_install_parameters is set to 'Y'
7982
7983 csi_utility_grp.check_ib_active;
7984
7985 -- Standard call to check for call compatibility.
7986 IF NOT FND_API.Compatible_API_Call (l_api_version,
7987 p_api_version,
7988 l_api_name ,
7989 G_PKG_NAME )
7990 THEN
7991 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7992 END IF;
7993
7994 -- Initialize message list if p_init_msg_list is set to TRUE.
7995 IF FND_API.to_Boolean( p_init_msg_list ) THEN
7996 FND_MSG_PUB.initialize;
7997 END IF;
7998
7999 -- Initialize API return status to success
8000 x_return_status := FND_API.G_RET_STS_SUCCESS;
8001
8002 -- Check the profile option debug_level for debug message reporting
8003 l_debug_level:=fnd_profile.value('CSI_DEBUG_LEVEL');
8004
8005 -- If debug_level = 1 then dump the procedure name
8006 IF (l_debug_level > 0) THEN
8007 csi_gen_utility_pvt.put_line( 'update_item_instance');
8008 END IF;
8009 --
8010 /***** srramakr commented for bug # 3304439
8011 -- Check for the profile option and enable trace
8012 l_flag:=CSI_GEN_UTILITY_PVT.enable_trace(l_trace_flag => l_flag);
8013 -- End enable trace
8014 ****/
8015 IF csi_datastructures_pub.g_install_param_rec.fetch_flag IS NULL THEN
8016 csi_gen_utility_pvt.populate_install_param_rec;
8017 END IF;
8018 --
8019 l_internal_party_id := csi_datastructures_pub.g_install_param_rec.internal_party_id;
8020 --
8021 IF l_internal_party_id IS NULL THEN
8022 FND_MESSAGE.SET_NAME('CSI','CSI_API_UNINSTALLED_PARAMETER');
8023 FND_MSG_PUB.ADD;
8024 RAISE FND_API.G_EXC_ERROR;
8025 END IF;
8026 --
8027 l_old_instance_tbl.DELETE;
8028 IF (p_instance_tbl.count > 0) THEN
8029 FOR ins_row IN p_instance_tbl.FIRST .. p_instance_tbl.LAST
8030 LOOP
8031 IF p_instance_tbl.EXISTS(ins_row) THEN
8032 -- If the debug level = 2 then dump all the parameters values.
8033 IF (l_debug_level > 1) THEN
8034 csi_gen_utility_pvt.put_line( 'update_item_instance' ||
8035 p_api_version ||'-'||
8036 p_commit ||'-'||
8037 p_init_msg_list ||'-'||
8038 p_validation_level );
8039 csi_gen_utility_pvt.dump_instance_rec(p_instance_tbl(ins_row));
8040 csi_gen_utility_pvt.dump_party_tbl(p_party_tbl);
8041 csi_gen_utility_pvt.dump_txn_rec(p_txn_rec);
8042 csi_gen_utility_pvt.dump_organization_unit_tbl(p_org_assignments_tbl);
8043 csi_gen_utility_pvt.dump_pricing_attribs_tbl(p_pricing_attrib_tbl);
8044 csi_gen_utility_pvt.dump_party_account_tbl(p_account_tbl);
8045 csi_gen_utility_pvt.dump_ext_attrib_values_tbl(p_ext_attrib_values_tbl);
8046 END IF;
8047 -- Start API body
8048 -- This will fetch old instance data for the purpose of contracts
8049 OPEN old_ins_csr (p_instance_tbl(ins_row).instance_id);
8050 FETCH old_ins_csr INTO l_old_ins_csr;
8051 CLOSE old_ins_csr;
8052 -- Following table will be used for calling contracts.
8053 l_old_instance_tbl(ins_row).instance_id := p_instance_tbl(ins_row).instance_id;
8054 l_old_instance_tbl(ins_row).active_end_date := l_old_ins_csr.active_end_date;
8055 l_old_instance_tbl(ins_row).quantity := l_old_ins_csr.quantity;
8056 l_old_instance_tbl(ins_row).install_date := l_old_ins_csr.install_date;
8057 l_old_instance_tbl(ins_row).last_oe_order_line_id := l_old_ins_csr.last_oe_order_line_id;
8058 l_old_instance_tbl(ins_row).in_transit_order_line_id := l_old_ins_csr.in_transit_order_line_id;
8059 --
8060 -- End fetching old instance data for the purpose of contracts
8061 --
8062 l_new_instance_rec := p_instance_tbl(ins_row);
8063 --
8064 -- Check whether the instance is getting expired. If so, then update the other attributes
8065 -- and then expire the instance.
8066 IF l_new_instance_rec.active_end_date IS NOT NULL AND
8067 l_new_instance_rec.active_end_date <> FND_API.G_MISS_DATE AND
8068 l_new_instance_rec.active_end_date < sysdate THEN
8069 -- Store the following attributes in a PL/SQL tbl.
8070 -- ins_row is used as the slot# so that when Update API is called again, the status of
8071 -- p_instance_tbl can be updated directly using this ins_row.
8072 l_exp_tbl(ins_row).instance_id := l_new_instance_rec.instance_id;
8073 l_exp_tbl(ins_row).instance_status_id := l_new_instance_rec.instance_status_id;
8074 l_exp_tbl(ins_row).active_end_date := l_new_instance_rec.active_end_date;
8075 l_new_instance_rec.active_end_date := fnd_api.g_miss_date;
8076 l_new_instance_rec.instance_status_id := fnd_api.g_miss_num;
8077 END IF;
8078 --
8079 -- If any of the attribute values are different from the DB value then call Update API.
8080 IF (csi_Item_Instance_Pvt.Anything_To_Update(p_instance_rec => l_new_instance_rec)) THEN
8081 l_child_exists := 'N';
8082 IF px_child_inst_tbl.count > 0 THEN
8083 FOR k IN px_child_inst_tbl.FIRST .. px_child_inst_tbl.LAST LOOP
8084 IF l_new_instance_rec.instance_id = px_child_inst_tbl(k) THEN
8085 l_child_exists := 'Y';
8086 exit;
8087 END IF;
8088 END LOOP;
8089 END IF;
8090 --
8091 IF l_child_exists = 'Y' THEN -- Call update API with the New object version Number
8092 select object_version_number
8093 into l_new_instance_rec.object_version_number
8094 from CSI_ITEM_INSTANCES
8095 where instance_id = l_new_instance_rec.instance_id;
8096 END IF;
8097 -- Call the update_item_instance private API to update the instances
8098 l_iface_error_text := NULL;
8099 csi_item_instance_pvt.update_item_instance
8100 (
8101 p_api_version => p_api_version
8102 ,p_commit => fnd_api.g_false
8103 ,p_init_msg_list => p_init_msg_list
8104 ,p_validation_level => p_validation_level
8105 ,p_instance_rec => l_new_instance_rec
8106 ,p_txn_rec => p_txn_rec
8107 ,x_instance_id_lst => x_instance_id_lst
8108 ,x_return_status => x_return_status
8109 ,x_msg_count => x_msg_count
8110 ,x_msg_data => x_msg_data
8111 ,p_item_attribute_tbl => l_item_attribute_tbl
8112 ,p_location_tbl => l_location_tbl
8113 ,p_generic_id_tbl => l_generic_id_tbl
8114 ,p_lookup_tbl => l_lookup_tbl
8115 ,p_ins_count_rec => l_ins_count_rec
8116 ,p_oks_txn_inst_tbl => px_oks_txn_inst_tbl
8117 ,p_child_inst_tbl => px_child_inst_tbl
8118 );
8119
8120 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
8121 csi_gen_utility_pvt.put_line( 'Error from UPDATE_ITEM_INSTANCE_PVT..');
8122 l_msg_index := 1;
8123 l_msg_count := x_msg_count;
8124 WHILE l_msg_count > 0 LOOP
8125 x_msg_data := FND_MSG_PUB.GET
8126 ( l_msg_index,
8127 FND_API.G_FALSE );
8128 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
8129 l_msg_index := l_msg_index + 1;
8130 l_msg_count := l_msg_count - 1;
8131 END LOOP;
8132 -- RAISE FND_API.G_EXC_ERROR;
8133 p_instance_tbl(ins_row).processed_flag := 'E';
8134 l_iface_error_text := substr(x_msg_data,1,2000);
8135 l_grp_error_count := l_grp_error_count + 1;
8136 l_grp_upd_error_tbl(l_grp_error_count).instance_id := l_new_instance_rec.instance_id;
8137 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'INSTANCE';
8138 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
8139 ELSE
8140 p_instance_tbl(ins_row).processed_flag := 'P';
8141 END IF;
8142 END IF;
8143 END IF; -- Check Instance Tbl existance.
8144 END LOOP;
8145 --
8146 px_child_inst_tbl.DELETE;
8147 --
8148 END IF;
8149 --
8150 px_child_inst_tbl.DELETE;
8151 --
8152 IF p_party_tbl.count > 0 THEN
8153 FOR pty IN p_party_tbl.FIRST .. p_party_tbl.LAST LOOP
8154 IF p_party_tbl.EXISTS(pty) THEN
8155 IF p_party_tbl(pty).contact_flag <> 'Y' THEN
8156 IF p_party_tbl(pty).relationship_type_code = 'OWNER' THEN
8157 l_owner_count := l_owner_count + 1;
8158 l_owner_party_tbl(l_owner_count) := p_party_tbl(pty);
8159 IF p_account_tbl.count > 0 THEN
8160 FOR acct IN p_account_tbl.FIRST .. p_account_tbl.LAST LOOP
8161 IF p_account_tbl.EXISTS(acct) THEN
8162 IF p_account_tbl(acct).parent_tbl_index = pty THEN
8163 l_owner_acct_count := l_owner_acct_count + 1;
8164 l_owner_acct_tbl(l_owner_acct_count) := p_account_tbl(acct);
8165 l_owner_acct_tbl(l_owner_acct_count).parent_tbl_index := l_owner_count;
8166 l_owner_acct_tbl(l_owner_acct_count).call_contracts := fnd_api.g_true;
8167 END IF;
8168 END IF;
8169 END LOOP; -- Account Loop
8170 END IF;
8171 ELSE -- Non-Owner Party
8172 l_party_count := l_party_count + 1;
8173 l_party_tbl(l_party_count) := p_party_tbl(pty);
8174 l_pty_slot := l_pty_slot +1 ;
8175 l_party_slot_tbl(l_pty_slot) := pty;
8176 IF p_account_tbl.count > 0 THEN
8177 FOR acct IN p_account_tbl.FIRST .. p_account_tbl.LAST LOOP
8178 IF p_account_tbl.EXISTS(acct) THEN
8179 IF p_account_tbl(acct).parent_tbl_index = pty THEN
8180 l_pty_acct_count := l_pty_acct_count + 1;
8181 l_pty_acct_tbl(l_pty_acct_count) := p_account_tbl(acct);
8182 l_pty_acct_tbl(l_pty_acct_count).parent_tbl_index := l_party_count;
8183 END IF;
8184 END IF;
8185 END LOOP; -- Account Loop
8186 END IF;
8187 END IF; -- Relationship Type check
8188 ELSE -- Contact Party
8189 l_contact_count := l_contact_count + 1;
8190 l_contact_party_tbl(l_contact_count) := p_party_tbl(pty);
8191 END IF; -- Contact flag check
8192 END IF;
8193 END LOOP; -- Party Loop
8194 END IF;
8195 --
8196 -- Owner Party Tbl will always have instance_party_id and hence we need to call Update Party API
8197 -- If the corresponding account entity is getting created then Update Party API hadles that.
8198 IF l_owner_party_tbl.count > 0 THEN
8199 FOR J IN l_owner_party_tbl.FIRST .. l_owner_party_tbl.LAST LOOP
8200 l_upd_party_tbl.DELETE;
8201 l_upd_acct_tbl.DELETE;
8202 l_upd_count := 0;
8203 --
8204 l_upd_party_tbl(1) := l_owner_party_tbl(J);
8205 --
8206 IF l_owner_acct_tbl.count > 0 THEN
8207 FOR K IN l_owner_acct_tbl.FIRST .. l_owner_acct_tbl.LAST LOOP
8208 IF l_owner_acct_tbl(K).parent_tbl_index = J THEN
8209 l_upd_count := l_upd_count + 1;
8210 l_upd_acct_tbl(l_upd_count) := l_owner_acct_tbl(K);
8211 l_upd_acct_tbl(l_upd_count).parent_tbl_index := 1; -- Party tbl always contains 1 rec
8212 END IF;
8213 END LOOP;
8214 END IF;
8215 --
8216 -- Call Update Party API for this set
8217 csi_party_relationships_pub.update_inst_party_relationship
8218 ( p_api_version => p_api_version
8219 ,p_commit => fnd_api.g_false
8220 ,p_init_msg_list => fnd_api.g_false
8221 ,p_validation_level => p_validation_level
8222 ,p_party_tbl => l_upd_party_tbl
8223 ,p_party_account_tbl=> l_upd_acct_tbl
8224 ,p_txn_rec => p_txn_rec
8225 ,p_oks_txn_inst_tbl => px_oks_txn_inst_tbl
8226 ,x_return_status => x_return_status
8227 ,x_msg_count => x_msg_count
8228 ,x_msg_data => x_msg_data
8229 );
8230 --
8231 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
8232 l_msg_index := 1;
8233 l_msg_count := x_msg_count;
8234 WHILE l_msg_count > 0
8235 LOOP
8236 x_msg_data := FND_MSG_PUB.GET
8237 ( l_msg_index,
8238 FND_API.G_FALSE );
8239 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
8240 l_msg_index := l_msg_index + 1;
8241 l_msg_count := l_msg_count - 1;
8242 END LOOP;
8243 l_iface_error_text := substr(x_msg_data,1,2000);
8244 l_grp_error_count := l_grp_error_count + 1;
8245 l_grp_upd_error_tbl(l_grp_error_count).instance_id := l_upd_party_tbl(1).instance_id;
8246 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'PARTY';
8247 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
8248 END IF;
8249 END LOOP;
8250 END IF; -- Owner Party Tbl count check
8251 --
8252 IF l_party_tbl.count > 0 THEN
8253 FOR J IN l_party_tbl.FIRST .. l_party_tbl.LAST LOOP
8254 l_upd_party_tbl.DELETE;
8255 l_upd_acct_tbl.DELETE;
8256 l_upd_count := 0;
8257 --
8258 l_upd_party_tbl(1) := l_party_tbl(J);
8259 --
8260 IF l_pty_acct_tbl.count > 0 THEN
8261 FOR K IN l_pty_acct_tbl.FIRST .. l_pty_acct_tbl.LAST LOOP
8262 IF l_pty_acct_tbl(K).parent_tbl_index = J THEN
8263 l_upd_count := l_upd_count + 1;
8264 l_upd_acct_tbl(l_upd_count) := l_pty_acct_tbl(K);
8265 l_upd_acct_tbl(l_upd_count).parent_tbl_index := 1; -- Party tbl always contains 1 record
8266 END IF;
8267 END LOOP;
8268 END IF;
8269 --
8270 IF l_upd_party_tbl(1).instance_party_id IS NULL OR
8271 l_upd_party_tbl(1).instance_party_id = FND_API.G_MISS_NUM THEN
8272 -- Call Create Party API
8273 csi_party_relationships_pub.create_inst_party_relationship
8274 ( p_api_version => p_api_version
8275 ,p_commit => fnd_api.g_false
8276 ,p_init_msg_list => p_init_msg_list
8277 ,p_validation_level => p_validation_level
8278 ,p_party_tbl => l_upd_party_tbl
8279 ,p_party_account_tbl => l_upd_acct_tbl
8280 ,p_txn_rec => p_txn_rec
8281 ,p_oks_txn_inst_tbl => px_oks_txn_inst_tbl
8282 ,x_return_status => x_return_status
8283 ,x_msg_count => x_msg_count
8284 ,x_msg_data => x_msg_data
8285 );
8286 --
8287 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
8288 l_msg_index := 1;
8289 l_msg_count := x_msg_count;
8290 WHILE l_msg_count > 0
8291 LOOP
8292 x_msg_data := FND_MSG_PUB.GET
8293 ( l_msg_index,
8294 FND_API.G_FALSE );
8295 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
8296 l_msg_index := l_msg_index + 1;
8297 l_msg_count := l_msg_count - 1;
8298 END LOOP;
8299 l_iface_error_text := substr(x_msg_data,1,2000);
8300 l_grp_error_count := l_grp_error_count + 1;
8301 l_grp_upd_error_tbl(l_grp_error_count).instance_id := l_upd_party_tbl(1).instance_id;
8302 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'PARTY';
8303 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
8304 ELSE -- Update the instance_party_id for the corresponding p_party_tbl
8305 IF l_party_slot_tbl.count > 0 THEN
8306 p_party_tbl(l_party_slot_tbl(J)).instance_party_id :=
8307 l_upd_party_tbl(1).instance_party_id;
8308 END IF;
8309 END IF;
8310 ELSE
8311 -- Call Update Party API
8312 csi_party_relationships_pub.update_inst_party_relationship
8313 ( p_api_version => p_api_version
8314 ,p_commit => fnd_api.g_false
8315 ,p_init_msg_list => fnd_api.g_false
8316 ,p_validation_level => p_validation_level
8317 ,p_party_tbl => l_upd_party_tbl
8318 ,p_party_account_tbl=> l_upd_acct_tbl
8319 ,p_txn_rec => p_txn_rec
8320 ,p_oks_txn_inst_tbl => px_oks_txn_inst_tbl
8321 ,x_return_status => x_return_status
8322 ,x_msg_count => x_msg_count
8323 ,x_msg_data => x_msg_data
8324 );
8325 --
8326 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
8327 l_msg_index := 1;
8328 l_msg_count := x_msg_count;
8329 WHILE l_msg_count > 0
8330 LOOP
8331 x_msg_data := FND_MSG_PUB.GET
8332 ( l_msg_index,
8333 FND_API.G_FALSE );
8334 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
8335 l_msg_index := l_msg_index + 1;
8336 l_msg_count := l_msg_count - 1;
8337 END LOOP;
8338 l_iface_error_text := substr(x_msg_data,1,2000);
8339 l_grp_error_count := l_grp_error_count + 1;
8340 l_grp_upd_error_tbl(l_grp_error_count).instance_id := l_upd_party_tbl(1).instance_id;
8341 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'PARTY';
8342 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
8343 END IF;
8344 END IF;
8345 END LOOP;
8346 END IF; -- Non-Owner Party Tbl count check
8347 --
8348 -- Call Party API for Contacts
8349 l_upd_acct_tbl.DELETE;
8350 IF l_contact_party_tbl.count > 0 THEN
8351 FOR J IN l_contact_party_tbl.FIRST .. l_contact_party_tbl.LAST LOOP
8352 Begin
8353 l_upd_party_tbl.DELETE;
8354 l_upd_party_tbl(1) := l_contact_party_tbl(J);
8355 --
8356 -- Get the correct contact_ip_id if not passed
8357 --
8358 IF l_contact_party_tbl(J).contact_ip_id IS NULL OR
8359 l_contact_party_tbl(J).contact_ip_id = FND_API.G_MISS_NUM THEN
8360 IF NVL(l_contact_party_tbl(J).contact_parent_tbl_index,FND_API.G_MISS_NUM) <> FND_API.G_MISS_NUM
8361 THEN
8362 IF p_party_tbl.EXISTS(l_contact_party_tbl(J).contact_parent_tbl_index) THEN
8363 l_contact_party_tbl(J).contact_ip_id :=
8364 p_party_tbl(l_contact_party_tbl(J).contact_parent_tbl_index).instance_party_id;
8365 l_upd_party_tbl(1).contact_ip_id := l_contact_party_tbl(J).contact_ip_id;
8366 ELSE
8367 l_iface_error_text := 'Invalid contact_parent_tbl_index';
8368 l_grp_error_count := l_grp_error_count + 1;
8369 l_grp_upd_error_tbl(l_grp_error_count).instance_id := l_upd_party_tbl(1).instance_id;
8370 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'PARTY';
8371 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
8372 Raise Process_next;
8373 END IF;
8374 ELSE
8375 l_iface_error_text := 'Either Contact_parent_tbl_index or Contact_Ip_ID should be passed for Contacts';
8376 l_grp_error_count := l_grp_error_count + 1;
8377 l_grp_upd_error_tbl(l_grp_error_count).instance_id := l_upd_party_tbl(1).instance_id;
8378 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'PARTY';
8379 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
8380 Raise Process_next;
8381 END IF;
8382 END IF;
8383 --
8384 IF l_upd_party_tbl(1).instance_party_id IS NULL OR
8385 l_upd_party_tbl(1).instance_party_id = FND_API.G_MISS_NUM THEN
8386 -- Call Create Party API
8387 csi_party_relationships_pub.create_inst_party_relationship
8388 ( p_api_version => p_api_version
8389 ,p_commit => fnd_api.g_false
8390 ,p_init_msg_list => p_init_msg_list
8391 ,p_validation_level => p_validation_level
8392 ,p_party_tbl => l_upd_party_tbl
8393 ,p_party_account_tbl => l_upd_acct_tbl
8394 ,p_txn_rec => p_txn_rec
8395 ,p_oks_txn_inst_tbl => px_oks_txn_inst_tbl
8396 ,x_return_status => x_return_status
8397 ,x_msg_count => x_msg_count
8398 ,x_msg_data => x_msg_data
8399 );
8400 --
8401 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
8402 l_msg_index := 1;
8403 l_msg_count := x_msg_count;
8404 WHILE l_msg_count > 0
8405 LOOP
8406 x_msg_data := FND_MSG_PUB.GET
8407 ( l_msg_index,
8408 FND_API.G_FALSE );
8409 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
8410 l_msg_index := l_msg_index + 1;
8411 l_msg_count := l_msg_count - 1;
8412 END LOOP;
8413 l_iface_error_text := substr(x_msg_data,1,2000);
8414 l_grp_error_count := l_grp_error_count + 1;
8415 l_grp_upd_error_tbl(l_grp_error_count).instance_id := l_upd_party_tbl(1).instance_id;
8416 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'PARTY';
8417 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
8418 END IF;
8419 ELSE
8420 -- Call Update Party API
8421 csi_party_relationships_pub.update_inst_party_relationship
8422 ( p_api_version => p_api_version
8423 ,p_commit => fnd_api.g_false
8424 ,p_init_msg_list => fnd_api.g_false
8425 ,p_validation_level => p_validation_level
8426 ,p_party_tbl => l_upd_party_tbl
8427 ,p_party_account_tbl=> l_upd_acct_tbl
8428 ,p_txn_rec => p_txn_rec
8429 ,p_oks_txn_inst_tbl => px_oks_txn_inst_tbl
8430 ,x_return_status => x_return_status
8431 ,x_msg_count => x_msg_count
8432 ,x_msg_data => x_msg_data
8433 );
8434 --
8435 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
8436 l_msg_index := 1;
8437 l_msg_count := x_msg_count;
8438 WHILE l_msg_count > 0
8439 LOOP
8440 x_msg_data := FND_MSG_PUB.GET
8441 ( l_msg_index,
8442 FND_API.G_FALSE );
8443 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
8444 l_msg_index := l_msg_index + 1;
8445 l_msg_count := l_msg_count - 1;
8446 END LOOP;
8447 l_iface_error_text := substr(x_msg_data,1,2000);
8448 l_grp_error_count := l_grp_error_count + 1;
8449 l_grp_upd_error_tbl(l_grp_error_count).instance_id := l_upd_party_tbl(1).instance_id;
8450 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'PARTY';
8451 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
8452 END IF;
8453 END IF;
8454 Exception
8455 when Process_next then
8456 null;
8457 End;
8458 END LOOP;
8459 END IF; -- l_contact_party_tbl count check
8460 -- Call update_organization_unit to associate any org. assignments
8461 -- to the item instance
8462 IF (p_org_assignments_tbl.count > 0) THEN
8463 FOR tab_row IN p_org_assignments_tbl.FIRST .. p_org_assignments_tbl.LAST
8464 LOOP
8465 l_iface_error_text := NULL;
8466 IF p_org_assignments_tbl.EXISTS(tab_row) THEN
8467 IF ((p_org_assignments_tbl(tab_row).instance_ou_id IS NULL)
8468 OR
8469 (p_org_assignments_tbl(tab_row).instance_ou_id = FND_API.G_MISS_NUM))
8470 THEN
8471 csi_organization_unit_pvt.create_organization_unit
8472 (p_api_version => p_api_version
8473 ,p_commit => fnd_api.g_false
8474 ,p_init_msg_list => p_init_msg_list
8475 ,p_validation_level => p_validation_level
8476 ,p_org_unit_rec => p_org_assignments_tbl(tab_row)
8477 ,p_txn_rec => p_txn_rec
8478 ,x_return_status => x_return_status
8479 ,x_msg_count => x_msg_count
8480 ,x_msg_data => x_msg_data
8481 ,p_lookup_tbl => l_ou_lookup_tbl
8482 ,p_ou_count_rec => l_ou_count_rec
8483 ,p_ou_id_tbl => l_ou_id_tbl
8484 );
8485 ELSE
8486 csi_organization_unit_pvt.update_organization_unit
8487 (p_api_version => p_api_version
8488 ,p_commit => fnd_api.g_false
8489 ,p_init_msg_list => p_init_msg_list
8490 ,p_validation_level => p_validation_level
8491 ,p_org_unit_rec => p_org_assignments_tbl(tab_row)
8492 ,p_txn_rec => p_txn_rec
8493 ,x_return_status => x_return_status
8494 ,x_msg_count => x_msg_count
8495 ,x_msg_data => x_msg_data
8496 ,p_lookup_tbl => l_ou_lookup_tbl
8497 ,p_ou_count_rec => l_ou_count_rec
8498 ,p_ou_id_tbl => l_ou_id_tbl
8499 );
8500 END IF;
8501 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
8502 csi_gen_utility_pvt.put_line( ' Error from CSI_ORGANIZATION_UNIT_PVT..');
8503 l_msg_index := 1;
8504 l_msg_count := x_msg_count;
8505 WHILE l_msg_count > 0 LOOP
8506 x_msg_data := FND_MSG_PUB.GET
8507 ( l_msg_index,
8508 FND_API.G_FALSE );
8509 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
8510 l_msg_index := l_msg_index + 1;
8511 l_msg_count := l_msg_count - 1;
8512 END LOOP;
8513 l_iface_error_text := substr(x_msg_data,1,2000);
8514 l_grp_error_count := l_grp_error_count + 1;
8515 l_grp_upd_error_tbl(l_grp_error_count).instance_id := p_org_assignments_tbl(tab_row).instance_id;
8516 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'ORG_ASSIGN';
8517 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
8518 -- RAISE FND_API.G_EXC_ERROR;
8519 END IF;
8520 END IF;
8521 END LOOP;
8522 END IF;
8523
8524 -- Call update_pricing_attribs to associate any pricing attributes
8525 -- to the item instance
8526 IF (p_pricing_attrib_tbl.count > 0) THEN
8527 FOR tab_row IN p_pricing_attrib_tbl.FIRST .. p_pricing_attrib_tbl.LAST
8528 LOOP
8529 l_iface_error_text := NULL;
8530 IF p_pricing_attrib_tbl.EXISTS(tab_row) THEN
8531 IF ((p_pricing_attrib_tbl(tab_row).pricing_attribute_id IS NULL)
8532 OR
8533 (p_pricing_attrib_tbl(tab_row).pricing_attribute_id = FND_API.G_MISS_NUM))
8534 THEN
8535 csi_pricing_attribs_pvt.create_pricing_attribs
8536 ( p_api_version => p_api_version
8537 ,p_commit => p_commit
8538 ,p_init_msg_list => p_init_msg_list
8539 ,p_validation_level => p_validation_level
8540 ,p_pricing_attribs_rec => p_pricing_attrib_tbl(tab_row)
8541 ,p_txn_rec => p_txn_rec
8542 ,x_return_status => x_return_status
8543 ,x_msg_count => x_msg_count
8544 ,x_msg_data => x_msg_data
8545 );
8546 ELSE
8547 csi_pricing_attribs_pvt.update_pricing_attribs
8548 ( p_api_version => p_api_version
8549 ,p_commit => fnd_api.g_false
8550 ,p_init_msg_list => p_init_msg_list
8551 ,p_validation_level => p_validation_level
8552 ,p_pricing_attribs_rec => p_pricing_attrib_tbl(tab_row)
8553 ,p_txn_rec => p_txn_rec
8554 ,x_return_status => x_return_status
8555 ,x_msg_count => x_msg_count
8556 ,x_msg_data => x_msg_data
8557 );
8558 END IF;
8559
8560 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
8561 csi_gen_utility_pvt.put_line( ' Error from CSI_PRICING_ATTRIBS_PVT..');
8562 l_msg_index := 1;
8563 l_msg_count := x_msg_count;
8564 WHILE l_msg_count > 0 LOOP
8565 x_msg_data := FND_MSG_PUB.GET
8566 ( l_msg_index,
8567 FND_API.G_FALSE );
8568 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
8569 l_msg_index := l_msg_index + 1;
8570 l_msg_count := l_msg_count - 1;
8571 END LOOP;
8572 l_iface_error_text := substr(x_msg_data,1,2000);
8573 l_grp_error_count := l_grp_error_count + 1;
8574 l_grp_upd_error_tbl(l_grp_error_count).instance_id := p_pricing_attrib_tbl(tab_row).instance_id;
8575 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'PRICING';
8576 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
8577 -- RAISE FND_API.G_EXC_ERROR;
8578 END IF;
8579 END IF;
8580 END LOOP;
8581 END IF;
8582
8583 -- Call create_extended_attribs to associate any extended attributes
8584 -- to the item instance
8585 IF (p_ext_attrib_values_tbl.count > 0) THEN
8586 FOR tab_row IN p_ext_attrib_values_tbl.FIRST .. p_ext_attrib_values_tbl.LAST
8587 LOOP
8588 l_iface_error_text := NULL;
8589 IF p_ext_attrib_values_tbl.EXISTS (tab_row) THEN
8590 IF ((p_ext_attrib_values_tbl(tab_row).attribute_value_id IS NULL)
8591 OR
8592 (p_ext_attrib_values_tbl(tab_row).attribute_value_id = FND_API.G_MISS_NUM))
8593 THEN
8594 csi_item_instance_pvt.create_extended_attrib_values
8595 ( p_api_version => p_api_version
8596 ,p_commit => fnd_api.g_false
8597 ,p_init_msg_list => p_init_msg_list
8598 ,p_validation_level => p_validation_level
8599 ,p_ext_attrib_rec => p_ext_attrib_values_tbl(tab_row)
8600 ,p_txn_rec => p_txn_rec
8601 ,x_return_status => x_return_status
8602 ,x_msg_count => x_msg_count
8603 ,x_msg_data => x_msg_data
8604 ,p_ext_id_tbl => l_ext_id_tbl
8605 ,p_ext_count_rec => l_ext_count_rec
8606 ,p_ext_attr_tbl => l_ext_attr_tbl
8607 ,p_ext_cat_tbl => l_ext_cat_tbl
8608 );
8609 ELSE
8610 -- call the update extended attributes api
8611 csi_item_instance_pvt.update_extended_attrib_values
8612 ( p_api_version => p_api_version
8613 ,p_commit => fnd_api.g_false
8614 ,p_init_msg_list => p_init_msg_list
8615 ,p_validation_level => p_validation_level
8616 ,p_ext_attrib_rec => p_ext_attrib_values_tbl(tab_row)
8617 ,p_txn_rec => p_txn_rec
8618 ,x_return_status => x_return_status
8619 ,x_msg_count => x_msg_count
8620 ,x_msg_data => x_msg_data
8621 );
8622 END IF;
8623 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
8624 csi_gen_utility_pvt.put_line( ' Error from CSI_ITEM_INSTANCE_PVT.EXTENDED_ATTRIBS..');
8625 l_msg_index := 1;
8626 l_msg_count := x_msg_count;
8627 WHILE l_msg_count > 0 LOOP
8628 x_msg_data := FND_MSG_PUB.GET
8629 ( l_msg_index,
8630 FND_API.G_FALSE );
8631 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
8632 l_msg_index := l_msg_index + 1;
8633 l_msg_count := l_msg_count - 1;
8634 END LOOP;
8635 l_iface_error_text := substr(x_msg_data,1,2000);
8636 l_grp_error_count := l_grp_error_count + 1;
8637 l_grp_upd_error_tbl(l_grp_error_count).instance_id := p_ext_attrib_values_tbl(tab_row).instance_id;
8638 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'EXT_ATTRIBS';
8639 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
8640 -- RAISE FND_API.G_EXC_ERROR;
8641 END IF;
8642 END IF; -- exist if
8643 END LOOP; -- for loop
8644 END IF;
8645
8646 -- Call create_asset_assignments to associate any assets associated
8647 -- to the item instance
8648 IF (p_asset_assignment_tbl.count > 0) THEN
8649 FOR tab_row IN p_asset_assignment_tbl.FIRST .. p_asset_assignment_tbl.LAST
8650 LOOP
8651 l_iface_error_text := NULL;
8652 IF p_asset_assignment_tbl.EXISTS(tab_row) THEN
8653 IF ((p_asset_assignment_tbl(tab_row).instance_asset_id IS NULL)
8654 OR
8655 (p_asset_assignment_tbl(tab_row).instance_asset_id = FND_API.G_MISS_NUM)) THEN
8656 csi_asset_pvt.create_instance_asset
8657 (p_api_version => p_api_version
8658 ,p_commit => fnd_api.g_false
8659 ,p_init_msg_list => p_init_msg_list
8660 ,p_validation_level => p_validation_level
8661 ,p_instance_asset_rec => p_asset_assignment_tbl(tab_row)
8662 ,p_txn_rec => p_txn_rec
8663 ,x_return_status => x_return_status
8664 ,x_msg_count => x_msg_count
8665 ,x_msg_data => x_msg_data
8666 ,p_lookup_tbl => l_asset_lookup_tbl
8667 ,p_asset_count_rec => l_asset_count_rec
8668 ,p_asset_id_tbl => l_asset_id_tbl
8669 ,p_asset_loc_tbl => l_asset_loc_tbl
8670 );
8671 ELSE
8672 --call the update assets api
8673 csi_asset_pvt.update_instance_asset
8674 (p_api_version => p_api_version
8675 ,p_commit => fnd_api.g_false
8676 ,p_init_msg_list => p_init_msg_list
8677 ,p_validation_level => p_validation_level
8678 ,p_instance_asset_rec => p_asset_assignment_tbl(tab_row)
8679 ,p_txn_rec => p_txn_rec
8680 ,x_return_status => x_return_status
8681 ,x_msg_count => x_msg_count
8682 ,x_msg_data => x_msg_data
8683 ,p_lookup_tbl => l_asset_lookup_tbl
8684 ,p_asset_count_rec => l_asset_count_rec
8685 ,p_asset_id_tbl => l_asset_id_tbl
8686 ,p_asset_loc_tbl => l_asset_loc_tbl
8687 );
8688 END IF;
8689 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
8690 csi_gen_utility_pvt.put_line( ' Error from CSI_ASSET_PVT..');
8691 l_msg_index := 1;
8692 l_msg_count := x_msg_count;
8693 WHILE l_msg_count > 0 LOOP
8694 x_msg_data := FND_MSG_PUB.GET
8695 ( l_msg_index,
8696 FND_API.G_FALSE );
8697 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
8698 l_msg_index := l_msg_index + 1;
8699 l_msg_count := l_msg_count - 1;
8700 END LOOP;
8701 l_iface_error_text := substr(x_msg_data,1,2000);
8702 l_grp_error_count := l_grp_error_count + 1;
8703 l_grp_upd_error_tbl(l_grp_error_count).instance_id := p_asset_assignment_tbl(tab_row).instance_id;
8704 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'ASSET';
8705 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
8706 -- RAISE FND_API.G_EXC_ERROR;
8707 END IF;
8708 END IF;
8709 END LOOP;
8710 END IF;
8711 --
8712 -- Expire the Item Instances
8713 --
8714 IF l_exp_tbl.count > 0 THEN
8715 FOR k IN l_exp_tbl.FIRST .. l_exp_tbl.LAST LOOP -- 'k' will directly map to p_instance_tbl slot#
8716 IF l_exp_tbl.EXISTS(k) THEN
8717 l_new_instance_rec := l_temp_instance_rec;
8718 Begin
8719 select active_end_date,object_version_number
8720 into l_new_instance_rec.active_end_date,l_new_instance_rec.object_version_number
8721 from CSI_ITEM_INSTANCES
8722 where instance_id = l_exp_tbl(k).instance_id;
8723 Exception
8724 when no_data_found then
8725 p_instance_tbl(k).processed_flag := 'E';
8726 l_iface_error_text := 'Instance ID '||to_char(l_exp_tbl(k).instance_id)||
8727 ' Does not exist in Installed Base';
8728 l_grp_error_count := l_grp_error_count + 1;
8729 l_grp_upd_error_tbl(l_grp_error_count).instance_id := l_exp_tbl(k).instance_id;
8730 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'INSTANCE';
8731 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
8732 End;
8733 --
8734 IF l_new_instance_rec.active_end_date IS NOT NULL AND
8735 l_new_instance_rec.active_end_date < SYSDATE THEN
8736 Null; -- Instance would have got expired during parent instance expiry
8737 ELSE
8738 l_new_instance_rec.instance_id := l_exp_tbl(k).instance_id;
8739 l_new_instance_rec.active_end_date := l_exp_tbl(k).active_end_date;
8740 l_new_instance_rec.instance_status_id := l_exp_tbl(k).instance_status_id;
8741 --
8742 -- Call the update_item_instance private API to update the instances
8743 l_iface_error_text := NULL;
8744 csi_item_instance_pvt.update_item_instance
8745 (
8746 p_api_version => p_api_version
8747 ,p_commit => fnd_api.g_false
8748 ,p_init_msg_list => p_init_msg_list
8749 ,p_validation_level => p_validation_level
8750 ,p_instance_rec => l_new_instance_rec
8751 ,p_txn_rec => p_txn_rec
8752 ,x_instance_id_lst => x_instance_id_lst
8753 ,x_return_status => x_return_status
8754 ,x_msg_count => x_msg_count
8755 ,x_msg_data => x_msg_data
8756 ,p_item_attribute_tbl => l_item_attribute_tbl
8757 ,p_location_tbl => l_location_tbl
8758 ,p_generic_id_tbl => l_generic_id_tbl
8759 ,p_lookup_tbl => l_lookup_tbl
8760 ,p_ins_count_rec => l_ins_count_rec
8761 ,p_oks_txn_inst_tbl => px_oks_txn_inst_tbl
8762 ,p_child_inst_tbl => px_child_inst_tbl
8763 );
8764
8765 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
8766 csi_gen_utility_pvt.put_line( 'Error from UPDATE_ITEM_INSTANCE_PVT..');
8767 l_msg_index := 1;
8768 l_msg_count := x_msg_count;
8769 WHILE l_msg_count > 0 LOOP
8770 x_msg_data := FND_MSG_PUB.GET
8771 ( l_msg_index,
8772 FND_API.G_FALSE );
8773 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
8774 l_msg_index := l_msg_index + 1;
8775 l_msg_count := l_msg_count - 1;
8776 END LOOP;
8777 -- RAISE FND_API.G_EXC_ERROR;
8778 p_instance_tbl(k).processed_flag := 'E';
8779 l_iface_error_text := substr(x_msg_data,1,2000);
8780 l_grp_error_count := l_grp_error_count + 1;
8781 l_grp_upd_error_tbl(l_grp_error_count).instance_id := l_new_instance_rec.instance_id;
8782 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'INSTANCE';
8783 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
8784 ELSE
8785 p_instance_tbl(k).processed_flag := 'P';
8786 END IF;
8787 END IF;
8788 END IF;
8789 END LOOP;
8790 END IF; -- l_exp_tbl.count check
8791 --
8792 -- Call the Version label API to associate a version label for the updated record
8793 IF (p_instance_tbl.count > 0) THEN
8794 FOR ins_row IN p_instance_tbl.FIRST .. p_instance_tbl.LAST
8795 LOOP
8796 l_iface_error_text := NULL;
8797 IF p_instance_tbl.EXISTS(ins_row) AND
8798 p_instance_tbl(ins_row).processed_flag = 'P' THEN
8799 -- Added by rtalluri for Bug 2256588 on 03/26/02
8800 -- Call the Version label API to associate a version label for the updated record
8801 OPEN instance_csr (p_instance_tbl(ins_row).instance_id);
8802 FETCH instance_csr INTO l_instance_csr;
8803 CLOSE instance_csr;
8804 --
8805 IF p_instance_tbl(ins_row).active_end_date = FND_API.G_MISS_DATE
8806 THEN
8807 l_active_end_date := l_instance_csr.active_end_date;
8808 ELSE
8809 l_active_end_date := p_instance_tbl(ins_row).active_end_date;
8810 END IF;
8811 --
8812 IF ((l_active_end_date > SYSDATE) OR
8813 (l_active_end_date IS NULL))
8814 THEN
8815 IF ((p_instance_tbl(ins_row).version_label IS NOT NULL) AND
8816 (p_instance_tbl(ins_row).version_label <> FND_API.G_MISS_CHAR))
8817 THEN
8818 -- Check if version label already exists in csi_i_version_labels
8819 -- If exists then raise an error message
8820 BEGIN
8821 SELECT 'x'
8822 INTO l_dummy
8823 FROM csi_i_version_labels
8824 WHERE instance_id = p_instance_tbl(ins_row).instance_id
8825 AND version_label = p_instance_tbl(ins_row).version_label
8826 AND ROWNUM=1;
8827 l_iface_error_text := substr(x_msg_data,1,2000);
8828 l_grp_error_count := l_grp_error_count + 1;
8829 l_grp_upd_error_tbl(l_grp_error_count).instance_id := p_instance_tbl(ins_row).instance_id;
8830 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'VERSION_LABEL';
8831 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
8832 EXCEPTION
8833 WHEN NO_DATA_FOUND THEN
8834 l_version_label_rec := l_temp_version_label_rec;
8835 l_version_label_rec.instance_id := p_instance_tbl(ins_row).instance_id;
8836 l_version_label_rec.version_label := p_instance_tbl(ins_row).version_label;
8837 l_version_label_rec.description := p_instance_tbl(ins_row).version_label_description;
8838 l_version_label_rec.date_time_stamp := SYSDATE;
8839 -- calling create version label api
8840 csi_item_instance_pvt.create_version_label
8841 ( p_api_version => p_api_version
8842 ,p_commit => p_commit
8843 ,p_init_msg_list => p_init_msg_list
8844 ,p_validation_level => p_validation_level
8845 ,p_version_label_rec => l_version_label_rec
8846 ,p_txn_rec => p_txn_rec
8847 ,x_return_status => x_return_status
8848 ,x_msg_count => x_msg_count
8849 ,x_msg_data => x_msg_data );
8850
8851 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
8852 csi_gen_utility_pvt.put_line( ' Error from CSI_ITEM_INSTANCE_PVT.CREATE_VERSION_LABEL..');
8853 l_msg_index := 1;
8854 l_msg_count := x_msg_count;
8855 WHILE l_msg_count > 0 LOOP
8856 x_msg_data := FND_MSG_PUB.GET
8857 ( l_msg_index,
8858 FND_API.G_FALSE );
8859 csi_gen_utility_pvt.put_line( ' MESSAGE DATA = '||x_msg_data);
8860 l_msg_index := l_msg_index + 1;
8861 l_msg_count := l_msg_count - 1;
8862 END LOOP;
8863 p_instance_tbl(ins_row).processed_flag := 'E';
8864 l_iface_error_text := substr(x_msg_data,1,2000);
8865 l_grp_error_count := l_grp_error_count + 1;
8866 l_grp_upd_error_tbl(l_grp_error_count).instance_id := p_instance_tbl(ins_row).instance_id;
8867 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'VERSION_LABEL';
8868 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
8869 -- RAISE FND_API.G_EXC_ERROR;
8870 ELSE
8871 p_instance_tbl(ins_row).processed_flag := 'P';
8872 END IF;
8873 WHEN OTHERS THEN
8874 p_instance_tbl(ins_row).processed_flag := 'E';
8875 l_iface_error_text := substr(x_msg_data,1,2000);
8876 l_grp_error_count := l_grp_error_count + 1;
8877 l_grp_upd_error_tbl(l_grp_error_count).instance_id := p_instance_tbl(ins_row).instance_id;
8878 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'VERSION_LABEL';
8879 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
8880 END;
8881 END IF; -- p_instance_tbl(ins_row).version_label is not null
8882 END IF; -- l_active_end_date
8883 -- Calling Contracts
8884 -- Added on 02-OCT-01
8885 l_iface_error_text := NULL;
8886 --
8887 BEGIN
8888 SELECT cip.party_id
8889 INTO l_party_id
8890 FROM csi_i_parties cip
8891 WHERE cip.instance_id = p_instance_tbl(ins_row).instance_id
8892 AND cip.relationship_type_code = 'OWNER';
8893 EXCEPTION
8894 WHEN OTHERS THEN
8895 l_party_id := NULL;
8896 END;
8897 --
8898 csi_gen_utility_pvt.put_line('Checking for UPD...');
8899 IF p_instance_tbl(ins_row).quantity IS NOT NULL AND
8900 p_instance_tbl(ins_row).quantity <> FND_API.G_MISS_NUM AND
8901 p_instance_tbl(ins_row).quantity <> l_old_instance_tbl(ins_row).quantity THEN
8902 IF l_party_id IS NOT NULL AND
8903 l_party_id <> l_internal_party_id THEN
8904 IF p_txn_rec.transaction_type_id <> 7 THEN -- Added for bug 3973706
8905 csi_item_instance_pvt.Call_to_Contracts
8906 ( p_transaction_type => 'UPD'
8907 ,p_instance_id => p_instance_tbl(ins_row).instance_id
8908 ,p_new_instance_id => NULL
8909 ,p_vld_org_id => l_instance_csr.last_vld_organization_id
8910 ,p_quantity => l_old_instance_tbl(ins_row).quantity
8911 ,p_party_account_id1 => NULL
8912 ,p_party_account_id2 => NULL
8913 ,p_transaction_date => p_txn_rec.transaction_date -- l_transaction_date
8914 ,p_source_transaction_date => p_txn_rec.source_transaction_date -- l_transaction_date
8915 ,p_grp_call_contracts => FND_API.G_TRUE
8916 ,p_order_line_id => l_order_line_id
8917 ,p_oks_txn_inst_tbl => px_oks_txn_inst_tbl
8918 ,x_return_status => x_return_status
8919 ,x_msg_count => x_msg_count
8920 ,x_msg_data => x_msg_data
8921 );
8922 --
8923 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
8924 l_msg_index := 1;
8925 l_msg_count := x_msg_count;
8926 WHILE l_msg_count > 0 LOOP
8927 x_msg_data := FND_MSG_PUB.GET
8928 ( l_msg_index,
8929 FND_API.G_FALSE
8930 );
8931 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
8932 l_msg_index := l_msg_index + 1;
8933 l_msg_count := l_msg_count - 1;
8934 END LOOP;
8935 l_iface_error_text := substr(x_msg_data,1,2000);
8936 p_instance_tbl(ins_row).processed_flag := 'E';
8937 l_grp_error_count := l_grp_error_count + 1;
8938 l_grp_upd_error_tbl(l_grp_error_count).instance_id := p_instance_tbl(ins_row).instance_id;
8939 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'INS_CONTRACTS';
8940 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
8941 -- RAISE FND_API.G_EXC_ERROR;
8942 ELSE
8943 p_instance_tbl(ins_row).processed_flag := 'P';
8944 END IF;
8945 END IF;
8946 END IF;
8947 END IF; -- Qty Update check
8948 --
8949 IF p_instance_tbl(ins_row).install_date IS NOT NULL AND
8950 p_instance_tbl(ins_row).install_date <> FND_API.G_MISS_DATE AND
8951 p_instance_tbl(ins_row).install_date <>
8952 nvl(l_old_instance_tbl(ins_row).install_date,fnd_api.g_miss_date) THEN
8953 IF l_party_id IS NOT NULL AND
8954 l_party_id <> l_internal_party_id THEN
8955 IF p_txn_rec.transaction_type_id <> 7 THEN -- Added for bug 3973706
8956 csi_item_instance_pvt.Call_to_Contracts
8957 ( p_transaction_type => 'IDC'
8958 ,p_instance_id => p_instance_tbl(ins_row).instance_id
8959 ,p_new_instance_id => NULL
8960 ,p_vld_org_id => l_instance_csr.last_vld_organization_id
8961 ,p_quantity => l_instance_csr.quantity
8962 ,p_party_account_id1 => NULL
8963 ,p_party_account_id2 => NULL
8964 ,p_transaction_date => p_txn_rec.transaction_date -- l_transaction_date
8965 ,p_source_transaction_date => p_txn_rec.source_transaction_date -- l_transaction_date
8966 ,p_grp_call_contracts => FND_API.G_TRUE
8967 ,p_oks_txn_inst_tbl => px_oks_txn_inst_tbl
8968 ,x_return_status => x_return_status
8969 ,x_msg_count => x_msg_count
8970 ,x_msg_data => x_msg_data
8971 );
8972 --
8973 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
8974 l_msg_index := 1;
8975 l_msg_count := x_msg_count;
8976 WHILE l_msg_count > 0 LOOP
8977 x_msg_data := FND_MSG_PUB.GET
8978 ( l_msg_index,
8979 FND_API.G_FALSE
8980 );
8981 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
8982 l_msg_index := l_msg_index + 1;
8983 l_msg_count := l_msg_count - 1;
8984 END LOOP;
8985 l_iface_error_text := substr(x_msg_data,1,2000);
8986 p_instance_tbl(ins_row).processed_flag := 'E';
8987 l_grp_error_count := l_grp_error_count + 1;
8988 l_grp_upd_error_tbl(l_grp_error_count).instance_id := p_instance_tbl(ins_row).instance_id;
8989 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'INS_CONTRACTS';
8990 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
8991 -- RAISE FND_API.G_EXC_ERROR;
8992 ELSE
8993 p_instance_tbl(ins_row).processed_flag := 'P';
8994 END IF;
8995 END IF;
8996 END IF;
8997 END IF; -- Install Date Update check
8998 --
8999 IF csi_item_instance_vld_pvt.termination_status
9000 ( p_instance_status_id => l_instance_csr.instance_status_id )
9001 THEN
9002 l_transaction_type := 'TRM';
9003 l_transaction_date := l_instance_csr.active_end_date;
9004 END IF;
9005 --
9006 IF l_transaction_type IS NULL
9007 THEN
9008 IF l_old_instance_tbl(ins_row).active_end_date <= SYSDATE
9009 AND (p_instance_tbl(ins_row).active_end_date IS NULL
9010 OR p_instance_tbl(ins_row).active_end_date > SYSDATE )
9011 THEN
9012
9013 IF l_party_id IS NOT NULL AND
9014 l_internal_party_id IS NOT NULL AND
9015 l_party_id <> l_internal_party_id
9016 THEN
9017 -- End addition by sk for fixing bug 2245976
9018 l_transaction_type := 'NEW';
9019 l_transaction_date := l_instance_csr.active_end_date;
9020 --
9021 -- While un-expiring the instance, order Line ID will passed only if it is changing
9022 --
9023 IF l_instance_csr.location_type_code = 'IN_TRANSIT' THEN
9024 IF NVL(l_old_instance_tbl(ins_row).in_transit_order_line_id,FND_API.G_MISS_NUM) <>
9025 NVL(l_instance_csr.in_transit_order_line_id,FND_API.G_MISS_NUM) THEN
9026 l_order_line_id := l_instance_csr.in_transit_order_line_id;
9027 ELSE
9028 l_order_line_id := NULL;
9029 END IF;
9030 ELSE
9031 IF NVL(l_old_instance_tbl(ins_row).last_oe_order_line_id,FND_API.G_MISS_NUM) <>
9032 NVL(l_instance_csr.last_oe_order_line_id,FND_API.G_MISS_NUM) THEN
9033 l_order_line_id := l_instance_csr.last_oe_order_line_id;
9034 ELSE
9035 l_order_line_id := NULL;
9036 END IF;
9037 END IF;
9038 ELSE
9039 l_transaction_type := NULL;
9040 END IF;
9041 END IF;
9042 END IF;
9043 --
9044 IF l_transaction_type IS NOT NULL
9045 THEN
9046 csi_item_instance_pvt.Call_to_Contracts
9047 ( p_transaction_type => l_transaction_type
9048 ,p_instance_id => p_instance_tbl(ins_row).instance_id
9049 ,p_new_instance_id => NULL
9050 ,p_vld_org_id => l_instance_csr.last_vld_organization_id
9051 ,p_quantity => NULL
9052 ,p_party_account_id1 => NULL
9053 ,p_party_account_id2 => NULL
9054 ,p_transaction_date => p_txn_rec.transaction_date -- l_transaction_date
9055 ,p_source_transaction_date => p_txn_rec.source_transaction_date -- l_transaction_date
9056 ,p_grp_call_contracts => FND_API.G_TRUE
9057 ,p_order_line_id => l_order_line_id
9058 ,p_oks_txn_inst_tbl => px_oks_txn_inst_tbl
9059 ,x_return_status => x_return_status
9060 ,x_msg_count => x_msg_count
9061 ,x_msg_data => x_msg_data
9062 );
9063 --
9064 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
9065 l_msg_index := 1;
9066 l_msg_count := x_msg_count;
9067 WHILE l_msg_count > 0 LOOP
9068 x_msg_data := FND_MSG_PUB.GET
9069 ( l_msg_index,
9070 FND_API.G_FALSE
9071 );
9072 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
9073 l_msg_index := l_msg_index + 1;
9074 l_msg_count := l_msg_count - 1;
9075 END LOOP;
9076 l_iface_error_text := substr(x_msg_data,1,2000);
9077 p_instance_tbl(ins_row).processed_flag := 'E';
9078 l_grp_error_count := l_grp_error_count + 1;
9079 l_grp_upd_error_tbl(l_grp_error_count).instance_id := p_instance_tbl(ins_row).instance_id;
9080 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'INS_CONTRACTS';
9081 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
9082 -- RAISE FND_API.G_EXC_ERROR;
9083 ELSE
9084 p_instance_tbl(ins_row).processed_flag := 'P';
9085 END IF;
9086 END IF; --l_transaction_type is not null
9087 END IF; --p_instance_tbl.EXISTS(ins_row)
9088 END LOOP;
9089 END IF; --p_instance_tbl.count > 0
9090 --
9091 IF px_oks_txn_inst_tbl.count > 0 THEN
9092 IF l_debug_level > 1 THEN
9093 csi_gen_utility_pvt.dump_oks_txn_inst_tbl(px_oks_txn_inst_tbl);
9094 csi_gen_utility_pvt.put_line('Calling OKS Core API...');
9095 END IF;
9096 --
9097 IF p_txn_rec.transaction_type_id = 3 THEN
9098 l_batch_id := p_txn_rec.source_header_ref_id;
9099 l_batch_type := p_txn_rec.source_group_ref;
9100 ELSE
9101 l_batch_id := NULL;
9102 l_batch_type := NULL;
9103 END IF;
9104 --
9105 UPDATE CSI_TRANSACTIONS
9106 set contracts_invoked = 'Y'
9107 where transaction_id = p_txn_rec.transaction_id;
9108 --
9109 OKS_IBINT_PUB.IB_interface
9110 (
9111 P_Api_Version => 1.0,
9112 P_init_msg_list => p_init_msg_list,
9113 P_single_txn_date_flag => 'N',
9114 P_Batch_type => l_batch_type,
9115 P_Batch_ID => l_batch_id,
9116 P_OKS_Txn_Inst_tbl => px_oks_txn_inst_tbl,
9117 x_return_status => x_return_status,
9118 x_msg_count => x_msg_count,
9119 x_msg_data => x_msg_data
9120 );
9121 csi_gen_utility_pvt.put_line('Status returned from Oks_ibint_pub.IB_interface is :'||x_return_status);
9122 --
9123 IF x_return_status = 'W' THEN -- Warning from OKS
9124 -- Since OKS does not have the ability to pass the instance_id for the warning record(s),
9125 -- we are not populating the grp error tbl. We are still looping thru' the message stack
9126 -- just in case IB UI calls group API during Update.
9127 --
9128 l_msg_index := 1;
9129 l_msg_count := x_msg_count;
9130 WHILE l_msg_count > 0 LOOP
9131 x_msg_data := FND_MSG_PUB.GET
9132 ( l_msg_index,
9133 FND_API.G_FALSE
9134 );
9135 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
9136 l_msg_index := l_msg_index + 1;
9137 l_msg_count := l_msg_count - 1;
9138 END LOOP;
9139 FND_MSG_PUB.Count_And_Get
9140 ( p_count => x_msg_count,
9141 p_data => x_msg_data
9142 );
9143 ELSIF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
9144 csi_gen_utility_pvt.put_line('Error from Call_to_contracts...');
9145 l_msg_index := 1;
9146 l_msg_count := x_msg_count;
9147 WHILE l_msg_count > 0 LOOP
9148 x_msg_data := FND_MSG_PUB.GET
9149 ( l_msg_index,
9150 FND_API.G_FALSE
9151 );
9152 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
9153 l_msg_index := l_msg_index + 1;
9154 l_msg_count := l_msg_count - 1;
9155 END LOOP;
9156 l_iface_error_text := substr(x_msg_data,1,2000);
9157 --
9158 IF p_instance_tbl.count > 0 THEN
9159 FOR ins_row IN p_instance_tbl.FIRST .. p_instance_tbl.LAST LOOP
9160 IF p_instance_tbl.EXISTS(ins_row) THEN
9161 p_instance_tbl(ins_row).processed_flag := 'E';
9162 l_grp_error_count := l_grp_error_count + 1;
9163 l_grp_upd_error_tbl(l_grp_error_count).instance_id := p_instance_tbl(ins_row).instance_id;
9164 l_grp_upd_error_tbl(l_grp_error_count).entity_name := 'INS_CONTRACTS';
9165 l_grp_upd_error_tbl(l_grp_error_count).error_message := l_iface_error_text;
9166 END IF;
9167 END LOOP;
9168 END IF;
9169 --
9170 -- if OKS returns error then everthing gets rolledback
9171 p_grp_upd_error_tbl := l_grp_upd_error_tbl;
9172 RAISE FND_API.G_EXC_ERROR;
9173 END IF;
9174 END IF;
9175 --
9176 p_grp_upd_error_tbl := l_grp_upd_error_tbl;
9177 --
9178 -- End of API body
9179 -- Standard check of p_commit.
9180 IF FND_API.To_Boolean( p_commit ) THEN
9181 COMMIT WORK;
9182 END IF;
9183 /***** srramakr commented for bug # 3304439
9184 -- Check for the profile option and disable the trace
9185 IF (l_flag = 'Y') THEN
9186 dbms_session.set_sql_trace(FALSE);
9187 END IF;
9188 -- End disable trace
9189 ****/
9190 -- Standard call to get message count and if count is get message info.
9191 FND_MSG_PUB.Count_And_Get
9192 (p_count => x_msg_count ,
9193 p_data => x_msg_data
9194 );
9195 EXCEPTION
9196 WHEN FND_API.G_EXC_ERROR THEN
9197 ROLLBACK TO update_item_instance;
9198 x_return_status := FND_API.G_RET_STS_ERROR ;
9199 FND_MSG_PUB.Count_And_Get
9200 ( p_count => x_msg_count,
9201 p_data => x_msg_data
9202 );
9203
9204 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9205 ROLLBACK TO update_item_instance;
9206 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
9207 FND_MSG_PUB.Count_And_Get
9208 ( p_count => x_msg_count,
9209 p_data => x_msg_data
9210 );
9211
9212 WHEN OTHERS THEN
9213 ROLLBACK TO update_item_instance;
9214 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
9215 IF FND_MSG_PUB.Check_Msg_Level
9216 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9217 THEN
9218 FND_MSG_PUB.Add_Exc_Msg
9219 ( G_PKG_NAME ,
9220 l_api_name
9221 );
9222 END IF;
9223 FND_MSG_PUB.Count_And_Get
9224 ( p_count => x_msg_count,
9225 p_data => x_msg_data
9226 );
9227 END update_item_instance;
9228 --
9229 /*----------------------------------------------------*/
9230 /* Procedure name: expire_item_instance */
9231 /* Description : procedure for */
9232 /* Expiring an Item Instance */
9233 /*----------------------------------------------------*/
9234
9235 PROCEDURE expire_item_instance
9236 (
9237 p_api_version IN NUMBER
9238 ,p_commit IN VARCHAR2
9239 ,p_init_msg_list IN VARCHAR2
9240 ,p_validation_level IN NUMBER
9241 ,p_instance_tbl IN csi_datastructures_pub.instance_tbl
9242 ,p_expire_children IN VARCHAR2
9243 ,p_txn_rec IN OUT NOCOPY csi_datastructures_pub.transaction_rec
9244 ,x_instance_id_lst OUT NOCOPY csi_datastructures_pub.id_tbl
9245 ,p_grp_error_tbl OUT NOCOPY csi_datastructures_pub.grp_error_tbl
9246 ,x_return_status OUT NOCOPY VARCHAR2
9247 ,x_msg_count OUT NOCOPY NUMBER
9248 ,x_msg_data OUT NOCOPY VARCHAR2
9249 )
9250 IS
9251 l_api_name CONSTANT VARCHAR2(30) := 'EXPIRE_ITEM_INSTANCE';
9252 l_api_version CONSTANT NUMBER := 1.0;
9253 l_debug_level NUMBER;
9254 l_flag VARCHAR2(1);
9255 l_msg_index NUMBER;
9256 l_msg_count NUMBER;
9257 l_iface_error_text VARCHAR2(2000);
9258 l_grp_error_tbl csi_datastructures_pub.grp_error_tbl;
9259 l_instance_rec csi_datastructures_pub.instance_rec;
9260 px_oks_txn_inst_tbl OKS_IBINT_PUB.TXN_INSTANCE_TBL;
9261 l_batch_type VARCHAR2(50);
9262 l_batch_id NUMBER;
9263 --
9264 BEGIN
9265 -- Standard Start of API savepoint
9266 SAVEPOINT expire_item_instance;
9267
9268 -- Check for freeze_flag in csi_install_parameters is set to 'Y'
9269
9270 csi_utility_grp.check_ib_active;
9271
9272 -- Standard call to check for call compatibility.
9273 IF NOT FND_API.Compatible_API_Call (l_api_version,
9274 p_api_version,
9275 l_api_name ,
9276 G_PKG_NAME )
9277 THEN
9278 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9279 END IF;
9280
9281 -- Initialize message list if p_init_msg_list is set to TRUE.
9282 IF FND_API.to_Boolean( p_init_msg_list ) THEN
9283 FND_MSG_PUB.initialize;
9284 END IF;
9285 -- Initialize API return status to success
9286 x_return_status := FND_API.G_RET_STS_SUCCESS;
9287
9288 -- Check the profile option debug_level for debug message reporting
9289 l_debug_level:=fnd_profile.value('CSI_DEBUG_LEVEL');
9290
9291 -- If debug_level = 1 then dump the procedure name
9292 IF (l_debug_level > 0) THEN
9293 csi_gen_utility_pvt.put_line( 'expire_item_instance');
9294 END IF;
9295 --
9296 IF (p_instance_tbl.count > 0) THEN
9297 FOR ins_row IN p_instance_tbl.FIRST .. p_instance_tbl.LAST
9298 LOOP
9299 IF p_instance_tbl.EXISTS(ins_row) THEN
9300 -- If the debug level = 2 then dump all the parameters values.
9301 IF (l_debug_level > 1) THEN
9302 csi_gen_utility_pvt.put_line( 'expire_item_instance:' ||
9303 p_api_version ||'-'||
9304 p_commit ||'-'||
9305 p_init_msg_list ||'-'||
9306 p_validation_level );
9307 -- Dump the records in the log file
9308 csi_gen_utility_pvt.dump_txn_rec(p_txn_rec);
9309 csi_gen_utility_pvt.dump_instance_rec(p_instance_tbl(ins_row));
9310 END IF;
9311 /***** srramakr commented for bug # 3304439
9312 -- Check for the profile option and enable trace
9313 l_flag:=CSI_GEN_UTILITY_PVT.enable_trace(l_trace_flag => l_flag);
9314 -- End enable trace
9315 ****/
9316 -- Start API body
9317 l_iface_error_text := NULL;
9318 l_grp_error_tbl(ins_row).group_inst_num := ins_row;
9319 l_grp_error_tbl(ins_row).process_status := 'S';
9320 l_grp_error_tbl(ins_row).error_message := NULL;
9321 l_instance_rec := p_instance_tbl(ins_row);
9322 l_instance_rec.grp_call_contracts := FND_API.G_TRUE;
9323 csi_item_instance_pvt.expire_item_instance
9324 (
9325 p_api_version => p_api_version
9326 ,p_commit => fnd_api.g_false
9327 ,p_init_msg_list => p_init_msg_list
9328 ,p_validation_level => p_validation_level
9329 ,p_instance_rec => l_instance_rec
9330 ,p_expire_children => p_expire_children
9331 ,p_txn_rec => p_txn_rec
9332 ,x_instance_id_lst => x_instance_id_lst
9333 ,p_oks_txn_inst_tbl => px_oks_txn_inst_tbl
9334 ,x_return_status => x_return_status
9335 ,x_msg_count => x_msg_count
9336 ,x_msg_data => x_msg_data
9337 );
9338
9339 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
9340 l_msg_index := 1;
9341 l_msg_count := x_msg_count;
9342 WHILE l_msg_count > 0 LOOP
9343 x_msg_data := FND_MSG_PUB.GET
9344 (
9345 l_msg_index,
9346 FND_API.G_FALSE
9347 );
9348 csi_gen_utility_pvt.put_line('message data = '||x_msg_data);
9349 l_msg_index := l_msg_index + 1;
9350 l_msg_count := l_msg_count - 1;
9351 END LOOP;
9352 --
9353 l_iface_error_text := substr(x_msg_data,1,2000);
9354 l_grp_error_tbl(ins_row).process_status := 'E';
9355 l_grp_error_tbl(ins_row).error_message := l_iface_error_text;
9356 END IF;
9357 --
9358 END IF;
9359 END LOOP;
9360 END IF;
9361 --
9362 IF px_oks_txn_inst_tbl.count > 0 THEN
9363 IF l_debug_level > 1 THEN
9364 csi_gen_utility_pvt.dump_oks_txn_inst_tbl(px_oks_txn_inst_tbl);
9365 csi_gen_utility_pvt.put_line('Calling OKS Core API...');
9366 END IF;
9367 --
9368 IF p_txn_rec.transaction_type_id = 3 THEN
9369 l_batch_id := p_txn_rec.source_header_ref_id;
9370 l_batch_type := p_txn_rec.source_group_ref;
9371 ELSE
9372 l_batch_id := NULL;
9373 l_batch_type := NULL;
9374 END IF;
9375 --
9376 UPDATE CSI_TRANSACTIONS
9377 set contracts_invoked = 'Y'
9378 where transaction_id = p_txn_rec.transaction_id;
9379 --
9380 OKS_IBINT_PUB.IB_interface
9381 (
9382 P_Api_Version => 1.0,
9383 P_init_msg_list => p_init_msg_list,
9384 P_single_txn_date_flag => 'N',
9385 P_Batch_type => l_batch_type,
9386 P_Batch_ID => l_batch_id,
9387 P_OKS_Txn_Inst_tbl => px_oks_txn_inst_tbl,
9388 x_return_status => x_return_status,
9389 x_msg_count => x_msg_count,
9390 x_msg_data => x_msg_data
9391 );
9392 csi_gen_utility_pvt.put_line('Status returned from Oks_ibint_pub.IB_interface is :'||x_return_status);
9393 --
9394 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS)
9395 THEN
9396 csi_gen_utility_pvt.put_line('Error from Call_to_contracts...');
9397 l_msg_index := 1;
9398 l_msg_count := x_msg_count;
9399 WHILE l_msg_count > 0 LOOP
9400 x_msg_data := FND_MSG_PUB.GET
9401 ( l_msg_index,
9402 FND_API.G_FALSE
9403 );
9404 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
9405 l_msg_index := l_msg_index + 1;
9406 l_msg_count := l_msg_count - 1;
9407 END LOOP;
9408 l_iface_error_text := substr(x_msg_data,1,2000);
9409 --
9410 FOR ins_row IN p_instance_tbl.FIRST .. p_instance_tbl.LAST LOOP
9411 IF p_instance_tbl.EXISTS(ins_row) THEN
9412 l_grp_error_tbl(ins_row).process_status := 'E';
9413 l_grp_error_tbl(ins_row).error_message := l_iface_error_text;
9414 END IF;
9415 END LOOP;
9416 -- if OKS returns error then everthing gets rolledback
9417 p_grp_error_tbl := l_grp_error_tbl;
9418 RAISE FND_API.G_EXC_ERROR;
9419 END IF;
9420 END IF;
9421 --
9422 p_grp_error_tbl := l_grp_error_tbl;
9423 -- End of API body
9424 -- Standard check of p_commit.
9425 IF FND_API.To_Boolean( p_commit ) THEN
9426 COMMIT WORK;
9427 END IF;
9428
9429 /***** srramakr commented for bug # 3304439
9430 -- Check for the profile option and disable the trace
9431 IF (l_flag = 'Y') THEN
9432 dbms_session.set_sql_trace(FALSE);
9433 END IF;
9434 -- End disable trace
9435 ****/
9436 -- Standard call to get message count and if count is get message info.
9437 FND_MSG_PUB.Count_And_Get
9438 (p_count => x_msg_count ,
9439 p_data => x_msg_data );
9440
9441 EXCEPTION
9442 WHEN FND_API.G_EXC_ERROR THEN
9443 ROLLBACK TO expire_item_instance;
9444 x_return_status := FND_API.G_RET_STS_ERROR ;
9445 FND_MSG_PUB.Count_And_Get
9446 ( p_count => x_msg_count,
9447 p_data => x_msg_data
9448 );
9449
9450 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9451 ROLLBACK TO expire_item_instance;
9452 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
9453 FND_MSG_PUB.Count_And_Get
9454 ( p_count => x_msg_count,
9455 p_data => x_msg_data );
9456
9457 WHEN OTHERS THEN
9458 ROLLBACK TO expire_item_instance;
9459 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
9460 IF FND_MSG_PUB.Check_Msg_Level
9461 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9462 THEN
9463 FND_MSG_PUB.Add_Exc_Msg
9464 ( G_PKG_NAME, l_api_name );
9465 END IF;
9466 FND_MSG_PUB.Count_And_Get
9467 ( p_count => x_msg_count,
9468 p_data => x_msg_data );
9469
9470 END expire_item_instance;
9471 --
9472 /**********************************************************
9473 ** This Procedure gets all the parents traversing up **
9474 ** for a given child(subject) with the relationship type **
9475 ** COMPONENT-OF. It stops traversing when the top-most **
9476 ** is reached or the relationship is broken. **
9477 ***********************************************************/
9478
9479 PROCEDURE Get_All_Parents
9480 (
9481 p_api_version IN NUMBER,
9482 p_commit IN VARCHAR2,
9483 p_init_msg_list IN VARCHAR2,
9484 p_validation_level IN NUMBER,
9485 p_subject_id IN NUMBER,
9486 x_rel_tbl OUT NOCOPY csi_datastructures_pub.ii_relationship_tbl,
9487 x_return_status OUT NOCOPY VARCHAR2,
9488 x_msg_count OUT NOCOPY NUMBER,
9489 x_msg_data OUT NOCOPY VARCHAR2
9490 ) IS
9491 l_api_version CONSTANT NUMBER := 1.0;
9492 l_api_name CONSTANT VARCHAR2(30) := 'GET_ALL_PARENTS';
9493 l_ctr NUMBER := 0;
9494 l_object_id NUMBER;
9495 l_subject_id NUMBER;
9496 l_exists VARCHAR2(1);
9497 l_relationship_id NUMBER;
9498 l_rel_type_code VARCHAR2(30) := 'COMPONENT-OF';
9499 BEGIN
9500 -- Check for freeze_flag in csi_install_parameters is set to 'Y'
9501 csi_utility_grp.check_ib_active;
9502 -- Standard call to check for call compatibility.
9503 IF NOT FND_API.Compatible_API_Call (l_api_version,
9504 p_api_version,
9505 l_api_name,
9506 G_PKG_NAME
9507 )
9508 THEN
9509 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9510 END IF;
9511 -- Initialize message list if p_init_msg_list is set to TRUE.
9512 IF FND_API.to_Boolean( p_init_msg_list ) THEN
9513 FND_MSG_PUB.initialize;
9514 END IF;
9515 -- Initialize API return status to success
9516 x_return_status := FND_API.G_RET_STS_SUCCESS;
9517 --
9518 IF p_subject_id IS NULL OR p_subject_id = FND_API.G_MISS_NUM THEN
9519 fnd_message.set_name('CSI', 'CSI_INVALID_PARAMETERS');
9520 fnd_msg_pub.add;
9521 x_return_status := fnd_api.g_ret_sts_error;
9522 RAISE fnd_api.g_exc_error;
9523 END IF;
9524 --
9525 l_subject_id := p_subject_id;
9526 --
9527 csi_gen_utility_pvt.put_line('Given Subject ID is '||to_char(l_subject_id));
9528 --
9529 LOOP
9530 Begin
9531 select relationship_id,object_id
9532 into l_relationship_id,l_object_id
9533 from CSI_II_RELATIONSHIPS
9534 where subject_id = l_subject_id
9535 and relationship_type_code = l_rel_type_code
9536 and ((active_end_date is null) or (active_end_date > sysdate));
9537 --
9538 l_ctr := l_ctr + 1;
9539 x_rel_tbl(l_ctr).subject_id := l_subject_id;
9540 x_rel_tbl(l_ctr).object_id := l_object_id;
9541 x_rel_tbl(l_ctr).relationship_id := l_relationship_id;
9542 x_rel_tbl(l_ctr).relationship_type_code := l_rel_type_code;
9543 --
9544 -- Just in case a cycle exists because of bad data the following check will break
9545 -- the loop.
9546 l_exists := 'N';
9547 IF x_rel_tbl.count > 0 THEN
9548 FOR j in x_rel_tbl.FIRST .. x_rel_tbl.LAST Loop
9549 IF l_object_id = x_rel_tbl(j).subject_id THEN
9550 l_exists := 'Y';
9551 exit;
9552 END IF;
9553 End Loop;
9554 END IF;
9555 --
9556 IF l_exists = 'Y' THEN
9557 exit;
9558 END IF;
9559 --
9560 l_subject_id := l_object_id;
9561 Exception
9562 when no_data_found then
9563 exit;
9564 End;
9565 END LOOP;
9566 -- End of API body
9567 -- Standard call to get message count and if count is get message info.
9568 FND_MSG_PUB.Count_And_Get
9569 (p_count => x_msg_count ,
9570 p_data => x_msg_data
9571 );
9572 EXCEPTION
9573 WHEN FND_API.G_EXC_ERROR THEN
9574 x_return_status := FND_API.G_RET_STS_ERROR ;
9575 FND_MSG_PUB.Count_And_Get
9576 ( p_count => x_msg_count,
9577 p_data => x_msg_data
9578 );
9579 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9580 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
9581 FND_MSG_PUB.Count_And_Get
9582 ( p_count => x_msg_count,
9583 p_data => x_msg_data
9584 );
9585
9586 WHEN OTHERS THEN
9587 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
9588 csi_gen_utility_pvt.put_line('Others Error '||substr(sqlerrm,1,250));
9589 IF FND_MSG_PUB.Check_Msg_Level
9590 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9591 THEN
9592 FND_MSG_PUB.Add_Exc_Msg
9593 ( G_PKG_NAME ,
9594 l_api_name
9595 );
9596 END IF;
9597 FND_MSG_PUB.Count_And_Get
9598 ( p_count => x_msg_count,
9599 p_data => x_msg_data
9600 );
9601 END Get_All_Parents;
9602 --
9603 PROCEDURE Get_And_Build_Instance_Details
9604 (p_instance_id IN NUMBER
9605 ,p_txn_rec IN OUT NOCOPY csi_datastructures_pub.transaction_rec
9606 ,p_instance_rec OUT NOCOPY csi_datastructures_pub.instance_rec
9607 ,p_party_tbl OUT NOCOPY csi_datastructures_pub.party_tbl
9608 ,p_party_account_tbl OUT NOCOPY csi_datastructures_pub.party_account_tbl
9609 ,p_org_units_tbl OUT NOCOPY csi_datastructures_pub.organization_units_tbl
9610 ,p_pricing_attribs_tbl OUT NOCOPY csi_datastructures_pub.pricing_attribs_tbl
9611 ,p_ext_attrib_values_tbl OUT NOCOPY csi_datastructures_pub.extend_attrib_values_tbl
9612 ,p_instance_asset_tbl OUT NOCOPY csi_datastructures_pub.instance_asset_tbl
9613 ,x_return_status OUT NOCOPY VARCHAR2
9614 ,x_msg_count OUT NOCOPY NUMBER
9615 ,x_msg_data OUT NOCOPY VARCHAR2
9616 ) IS
9617 --
9618 l_api_name VARCHAR2(30) := 'Get_And_Build_Instance_Details';
9619 l_instance_rec csi_datastructures_pub.instance_header_rec;
9620 p_party_header_tbl CSI_DATASTRUCTURES_PUB.PARTY_HEADER_TBL;
9621 p_account_header_tbl CSI_DATASTRUCTURES_PUB.PARTY_ACCOUNT_HEADER_TBL;
9622 p_org_header_tbl CSI_DATASTRUCTURES_PUB.ORG_UNITS_HEADER_TBL;
9623 p_pricing_attrib_tbl CSI_DATASTRUCTURES_PUB.PRICING_ATTRIBS_TBL;
9624 p_ext_attrib_tbl CSI_DATASTRUCTURES_PUB.EXTEND_ATTRIB_VALUES_TBL;
9625 p_ext_attrib_def_tbl CSI_DATASTRUCTURES_PUB.EXTEND_ATTRIB_TBL;
9626 p_asset_header_tbl CSI_DATASTRUCTURES_PUB.INSTANCE_ASSET_HEADER_TBL;
9627 l_party_tbl csi_datastructures_pub.party_tbl;
9628 --
9629 l_ctr NUMBER;
9630 l_found BOOLEAN;
9631 l_msg_index NUMBER;
9632 l_msg_count NUMBER;
9633 --
9634 BEGIN
9635 x_return_status := FND_API.G_RET_STS_SUCCESS;
9636 IF p_instance_id IS NULL OR
9637 p_instance_id = FND_API.G_MISS_NUM THEN
9638 RETURN;
9639 END IF;
9640 --
9641 SAVEPOINT Get_And_Build_Instance_Details;
9642 --
9643 l_instance_rec.instance_id := p_instance_id;
9644 csi_item_instance_pub.get_item_instance_details
9645 (
9646 p_api_version => 1.0,
9647 p_commit => fnd_api.g_false,
9648 p_init_msg_list => fnd_api.g_true,
9649 p_validation_level => fnd_api.g_valid_level_full,
9650 p_instance_rec => l_instance_rec,
9651 p_get_parties => fnd_api.g_true,
9652 p_party_header_tbl => p_party_header_tbl,
9653 p_get_accounts => fnd_api.g_true,
9654 p_account_header_tbl => p_account_header_tbl,
9655 p_get_org_assignments => fnd_api.g_true,
9656 p_org_header_tbl => p_org_header_tbl,
9657 p_get_pricing_attribs => fnd_api.g_false, -- No need to get for children
9658 p_pricing_attrib_tbl => p_pricing_attrib_tbl,
9659 p_get_ext_attribs => fnd_api.g_false, -- No need to get for children
9660 p_ext_attrib_tbl => p_ext_attrib_tbl,
9661 p_ext_attrib_def_tbl => p_ext_attrib_def_tbl,
9662 p_get_asset_assignments => fnd_api.g_false, -- No need to get for children
9663 p_asset_header_tbl => p_asset_header_tbl,
9664 p_resolve_id_columns => fnd_api.g_false,
9665 p_time_stamp => fnd_api.g_miss_date,
9666 x_return_status => x_return_status,
9667 x_msg_count => x_msg_count,
9668 x_msg_data => x_msg_data
9669 );
9670 --
9671 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9672 l_msg_index := 1;
9673 l_msg_count := x_msg_count;
9674 WHILE l_msg_count > 0 LOOP
9675 x_msg_data := FND_MSG_PUB.GET
9676 ( l_msg_index,
9677 FND_API.G_FALSE );
9678 l_msg_index := l_msg_index + 1;
9679 l_msg_count := l_msg_count - 1;
9680 END LOOP;
9681 csi_gen_utility_pvt.put_line('Error from Get Instance Details...');
9682 RAISE FND_API.G_EXC_ERROR;
9683 END IF;
9684 --
9685 p_instance_rec.instance_id := l_instance_rec.instance_id;
9686 p_instance_rec.instance_number := l_instance_rec.instance_number;
9687 p_instance_rec.external_reference := l_instance_rec.external_reference;
9688 p_instance_rec.inventory_item_id := l_instance_rec.inventory_item_id;
9689 p_instance_rec.vld_organization_id := l_instance_rec.vld_organization_id;
9690 p_instance_rec.inventory_revision := l_instance_rec.inventory_revision;
9691 p_instance_rec.inv_master_organization_id := l_instance_rec.inv_master_organization_id;
9692 p_instance_rec.serial_number := l_instance_rec.serial_number;
9693 p_instance_rec.mfg_serial_number_flag := l_instance_rec.mfg_serial_number_flag;
9694 p_instance_rec.lot_number := l_instance_rec.lot_number;
9695 p_instance_rec.quantity := l_instance_rec.quantity;
9696 p_instance_rec.unit_of_measure := l_instance_rec.unit_of_measure;
9697 p_instance_rec.accounting_class_code := l_instance_rec.accounting_class_code;
9698 p_instance_rec.instance_condition_id := l_instance_rec.instance_condition_id;
9699 p_instance_rec.instance_status_id := l_instance_rec.instance_status_id;
9700 p_instance_rec.customer_view_flag := l_instance_rec.customer_view_flag;
9701 p_instance_rec.merchant_view_flag := l_instance_rec.merchant_view_flag;
9702 p_instance_rec.sellable_flag := l_instance_rec.sellable_flag;
9703 p_instance_rec.system_id := l_instance_rec.system_id;
9704 p_instance_rec.instance_type_code := l_instance_rec.instance_type_code;
9705 p_instance_rec.active_start_date := l_instance_rec.active_start_date;
9706 p_instance_rec.active_end_date := l_instance_rec.active_end_date;
9707 p_instance_rec.location_type_code := l_instance_rec.location_type_code;
9708 p_instance_rec.location_id := l_instance_rec.location_id;
9709 p_instance_rec.inv_organization_id := l_instance_rec.inv_organization_id;
9710 p_instance_rec.inv_subinventory_name := l_instance_rec.inv_subinventory_name;
9711 p_instance_rec.inv_locator_id := l_instance_rec.inv_locator_id;
9712 p_instance_rec.pa_project_id := l_instance_rec.pa_project_id;
9713 p_instance_rec.pa_project_task_id := l_instance_rec.pa_project_task_id;
9714 p_instance_rec.in_transit_order_line_id := l_instance_rec.in_transit_order_line_id;
9715 p_instance_rec.wip_job_id := l_instance_rec.wip_job_id;
9716 p_instance_rec.po_order_line_id := l_instance_rec.po_order_line_id;
9717 p_instance_rec.last_oe_order_line_id := l_instance_rec.last_oe_order_line_id;
9718 p_instance_rec.last_oe_rma_line_id := l_instance_rec.last_oe_rma_line_id;
9719 p_instance_rec.last_po_po_line_id := l_instance_rec.last_po_po_line_id;
9720 p_instance_rec.last_oe_po_number := l_instance_rec.last_oe_po_number;
9721 p_instance_rec.last_wip_job_id := l_instance_rec.last_wip_job_id;
9722 p_instance_rec.last_pa_project_id := l_instance_rec.last_pa_project_id;
9723 p_instance_rec.last_pa_task_id := l_instance_rec.last_pa_task_id;
9724 p_instance_rec.last_oe_agreement_id := l_instance_rec.last_oe_agreement_id;
9725 p_instance_rec.install_date := l_instance_rec.install_date;
9726 p_instance_rec.manually_created_flag := l_instance_rec.manually_created_flag;
9727 p_instance_rec.return_by_date := l_instance_rec.return_by_date;
9728 p_instance_rec.actual_return_date := l_instance_rec.actual_return_date;
9729 p_instance_rec.creation_complete_flag := l_instance_rec.creation_complete_flag;
9730 p_instance_rec.completeness_flag := l_instance_rec.completeness_flag;
9731 p_instance_rec.context := l_instance_rec.context;
9732 p_instance_rec.attribute1 := l_instance_rec.attribute1;
9733 p_instance_rec.attribute2 := l_instance_rec.attribute2;
9734 p_instance_rec.attribute3 := l_instance_rec.attribute3;
9735 p_instance_rec.attribute4 := l_instance_rec.attribute4;
9736 p_instance_rec.attribute5 := l_instance_rec.attribute5;
9737 p_instance_rec.attribute6 := l_instance_rec.attribute6;
9738 p_instance_rec.attribute7 := l_instance_rec.attribute7;
9739 p_instance_rec.attribute8 := l_instance_rec.attribute8;
9740 p_instance_rec.attribute9 := l_instance_rec.attribute9;
9741 p_instance_rec.attribute10 := l_instance_rec.attribute10;
9742 p_instance_rec.attribute11 := l_instance_rec.attribute11;
9743 p_instance_rec.attribute12 := l_instance_rec.attribute12;
9744 p_instance_rec.attribute13 := l_instance_rec.attribute13;
9745 p_instance_rec.attribute14 := l_instance_rec.attribute14;
9746 p_instance_rec.attribute15 := l_instance_rec.attribute15;
9747 p_instance_rec.object_version_number := l_instance_rec.object_version_number;
9748 p_instance_rec.last_txn_line_detail_id := l_instance_rec.last_txn_line_detail_id;
9749 p_instance_rec.install_location_type_code := l_instance_rec.install_location_type_code;
9750 p_instance_rec.install_location_id := l_instance_rec.install_location_id;
9751 p_instance_rec.instance_usage_code := l_instance_rec.instance_usage_code;
9752 p_instance_rec.config_inst_hdr_id := l_instance_rec.config_inst_hdr_id;
9753 p_instance_rec.config_inst_rev_num := l_instance_rec.config_inst_rev_num;
9754 p_instance_rec.config_inst_item_id := l_instance_rec.config_inst_item_id;
9755 p_instance_rec.config_valid_status := l_instance_rec.config_valid_status;
9756 p_instance_rec.instance_description := l_instance_rec.instance_description;
9757
9758 p_instance_rec.network_asset_flag := l_instance_rec.network_asset_flag;
9759 p_instance_rec.maintainable_flag := l_instance_rec.maintainable_flag;
9760 p_instance_rec.asset_criticality_code := l_instance_rec.asset_criticality_code;
9761 p_instance_rec.category_id := l_instance_rec.category_id ;
9762 p_instance_rec.equipment_gen_object_id := l_instance_rec.equipment_gen_object_id ;
9763 p_instance_rec.instantiation_flag := l_instance_rec.instantiation_flag;
9764 p_instance_rec.operational_log_flag := l_instance_rec.operational_log_flag ;
9765 p_instance_rec.supplier_warranty_exp_date:= l_instance_rec.supplier_warranty_exp_date ;
9766 p_instance_rec.attribute16 := l_instance_rec.attribute16 ;
9767 p_instance_rec.attribute17 := l_instance_rec.attribute17 ;
9768 p_instance_rec.attribute18 := l_instance_rec.attribute18 ;
9769 p_instance_rec.attribute19 := l_instance_rec.attribute19 ;
9770 p_instance_rec.attribute20 := l_instance_rec.attribute20 ;
9771 p_instance_rec.attribute21 := l_instance_rec.attribute21 ;
9772 p_instance_rec.attribute22 := l_instance_rec.attribute22 ;
9773 p_instance_rec.attribute23 := l_instance_rec.attribute23 ;
9774 p_instance_rec.attribute24 := l_instance_rec.attribute24 ;
9775 p_instance_rec.attribute25 := l_instance_rec.attribute25 ;
9776 p_instance_rec.attribute26 := l_instance_rec.attribute26 ;
9777 p_instance_rec.attribute27 := l_instance_rec.attribute27 ;
9778 p_instance_rec.attribute28 := l_instance_rec.attribute28 ;
9779 p_instance_rec.attribute29 := l_instance_rec.attribute29 ;
9780 p_instance_rec.attribute30 := l_instance_rec.attribute30 ;
9781 --
9782 p_instance_rec.purchase_unit_price := l_instance_rec.purchase_unit_price;
9783 p_instance_rec.purchase_currency_code := l_instance_rec.purchase_currency_code;
9784 p_instance_rec.payables_unit_price := l_instance_rec.payables_unit_price;
9785 p_instance_rec.payables_currency_code := l_instance_rec.payables_currency_code;
9786 p_instance_rec.sales_unit_price := l_instance_rec.sales_unit_price;
9787 p_instance_rec.sales_currency_code := l_instance_rec.sales_currency_code;
9788 p_instance_rec.operational_status_code := l_instance_rec.operational_status_code;
9789 --
9790 -- Build Party Table
9791 csi_gen_utility_pvt.put_line('Building party tbl..');
9792 IF p_party_header_tbl.count > 0 THEN
9793 l_ctr := l_party_tbl.count;
9794 FOR i in p_party_header_tbl.FIRST .. p_party_header_tbl.LAST LOOP
9795 IF nvl(p_party_header_tbl(i).active_end_date,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE OR
9796 p_party_header_tbl(i).active_end_date > sysdate THEN
9797 l_ctr := l_ctr + 1;
9798 --
9799 l_party_tbl(l_ctr).instance_party_id := p_party_header_tbl(i).instance_party_id;
9800 l_party_tbl(l_ctr).instance_id := p_party_header_tbl(i).instance_id;
9801 l_party_tbl(l_ctr).party_source_table := p_party_header_tbl(i).party_source_table;
9802 l_party_tbl(l_ctr).party_id := p_party_header_tbl(i).party_id;
9803 l_party_tbl(l_ctr).relationship_type_code := p_party_header_tbl(i).relationship_type_code;
9804 l_party_tbl(l_ctr).contact_flag := p_party_header_tbl(i).contact_flag;
9805 l_party_tbl(l_ctr).contact_ip_id := p_party_header_tbl(i).contact_ip_id;
9806 l_party_tbl(l_ctr).active_start_date := p_party_header_tbl(i).active_start_date;
9807 l_party_tbl(l_ctr).active_end_date := p_party_header_tbl(i).active_end_date;
9808 l_party_tbl(l_ctr).context := p_party_header_tbl(i).context;
9809 l_party_tbl(l_ctr).attribute1 := p_party_header_tbl(i).attribute1;
9810 l_party_tbl(l_ctr).attribute2 := p_party_header_tbl(i).attribute2;
9811 l_party_tbl(l_ctr).attribute3 := p_party_header_tbl(i).attribute3;
9812 l_party_tbl(l_ctr).attribute4 := p_party_header_tbl(i).attribute4;
9813 l_party_tbl(l_ctr).attribute5 := p_party_header_tbl(i).attribute5;
9814 l_party_tbl(l_ctr).attribute6 := p_party_header_tbl(i).attribute6;
9815 l_party_tbl(l_ctr).attribute7 := p_party_header_tbl(i).attribute7;
9816 l_party_tbl(l_ctr).attribute8 := p_party_header_tbl(i).attribute8;
9817 l_party_tbl(l_ctr).attribute9 := p_party_header_tbl(i).attribute9;
9818 l_party_tbl(l_ctr).attribute10 := p_party_header_tbl(i).attribute10;
9819 l_party_tbl(l_ctr).attribute11 := p_party_header_tbl(i).attribute11;
9820 l_party_tbl(l_ctr).attribute12 := p_party_header_tbl(i).attribute12;
9821 l_party_tbl(l_ctr).attribute13 := p_party_header_tbl(i).attribute13;
9822 l_party_tbl(l_ctr).attribute14 := p_party_header_tbl(i).attribute14;
9823 l_party_tbl(l_ctr).attribute15 := p_party_header_tbl(i).attribute15;
9824 l_party_tbl(l_ctr).object_version_number := p_party_header_tbl(i).object_version_number;
9825 l_party_tbl(l_ctr).primary_flag := p_party_header_tbl(i).primary_flag;
9826 l_party_tbl(l_ctr).preferred_flag := p_party_header_tbl(i).preferred_flag;
9827 l_party_tbl(l_ctr).parent_tbl_index := 1;
9828 END IF;
9829 END LOOP;
9830 --
9831 -- Following loop cannot be moved inside since contact record could come before the parent party
9832 --
9833 -- The reason for having l_party_tbl and later assigning qualifying records to p_party_tbl is
9834 -- we want to pass back p_party_tbl to the caller without any gaps in the slot#. Moreover, the
9835 -- same set is copied when the BOM is exploded and multiple instances are created.
9836 -- During that phase, we have to ignore the gaps which will potentially impact the underlying acct tbl
9837 --
9838 -- Scan thru' l_party_tbl and get all non-contact party records first
9839 --
9840 l_ctr := p_party_tbl.count;
9841 --
9842 IF l_party_tbl.count > 0 THEN
9843 FOR i in l_party_tbl.FIRST .. l_party_tbl.LAST LOOP
9844 IF l_party_tbl.EXISTS(i) THEN
9845 IF nvl(l_party_tbl(i).contact_flag,'N') = 'N' THEN
9846 l_ctr := l_ctr + 1;
9847 p_party_tbl(l_ctr) := l_party_tbl(i);
9848 l_party_tbl.DELETE(i); -- Just to reduce the table size
9849 END IF;
9850 END IF;
9851 END LOOP;
9852 END IF;
9853 --
9854 -- Append this with the contact party record after populating the contact_parent_tbl index
9855 -- Now, l_party_tbl will be left with only contact party records
9856 --
9857 l_ctr := p_party_tbl.count;
9858 --
9859 IF l_party_tbl.count > 0 THEN
9860 FOR i in l_party_tbl.FIRST .. l_party_tbl.LAST LOOP
9861 IF l_party_tbl.EXISTS(i) THEN
9862 IF l_party_tbl(i).contact_flag = 'Y' THEN -- Verify if parent party exists in p_party_tbl
9863 l_found := FALSE;
9864 FOR j in p_party_tbl.FIRST .. p_party_tbl.LAST LOOP
9865 IF l_party_tbl(i).contact_ip_id = p_party_tbl(j).instance_party_id THEN
9866 l_party_tbl(i).contact_parent_tbl_index := j;
9867 l_ctr := l_ctr + 1;
9868 p_party_tbl(l_ctr) := l_party_tbl(i);
9869 exit;
9870 END IF;
9871 END LOOP;
9872 END IF;
9873 END IF;
9874 END LOOP;
9875 END IF;
9876 END IF;
9877 --
9878 -- Build Account Table from Account Header Table
9879 csi_gen_utility_pvt.put_line('Building Account tbl..');
9880 IF p_account_header_tbl.count > 0 AND
9881 p_party_tbl.count > 0 THEN
9882 l_ctr := p_party_account_tbl.count;
9883 FOR i in p_account_header_tbl.FIRST .. p_account_header_tbl.LAST LOOP
9884 IF nvl(p_account_header_tbl(i).active_end_date,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE OR
9885 p_account_header_tbl(i).active_end_date > sysdate THEN
9886 l_found := FALSE;
9887 --
9888 FOR j in p_party_tbl.FIRST .. p_party_tbl.LAST LOOP
9889 IF p_party_tbl(j).instance_party_id = p_account_header_tbl(i).instance_party_id THEN
9890 l_ctr := l_ctr + 1;
9891 p_party_account_tbl(l_ctr).parent_tbl_index := j;
9892 l_found := TRUE; -- Corresponding party record found
9893 exit;
9894 END IF;
9895 END LOOP;
9896 --
9897 IF l_found = TRUE THEN
9898 -- l_ctr would have got incremented while setting l_found to TRUE
9899 p_party_account_tbl(l_ctr).ip_account_id := p_account_header_tbl(i).ip_account_id;
9900 p_party_account_tbl(l_ctr).instance_party_id := p_account_header_tbl(i).instance_party_id;
9901 p_party_account_tbl(l_ctr).party_account_id := p_account_header_tbl(i).party_account_id;
9902 p_party_account_tbl(l_ctr).relationship_type_code := p_account_header_tbl(i).relationship_type_code;
9903 p_party_account_tbl(l_ctr).bill_to_address := p_account_header_tbl(i).bill_to_address;
9904 p_party_account_tbl(l_ctr).ship_to_address := p_account_header_tbl(i).ship_to_address;
9905 p_party_account_tbl(l_ctr).active_start_date := p_account_header_tbl(i).active_start_date;
9906 p_party_account_tbl(l_ctr).active_end_date := p_account_header_tbl(i).active_end_date;
9907 p_party_account_tbl(l_ctr).context := p_account_header_tbl(i).context;
9908 p_party_account_tbl(l_ctr).attribute1 := p_account_header_tbl(i).attribute1;
9909 p_party_account_tbl(l_ctr).attribute2 := p_account_header_tbl(i).attribute2;
9910 p_party_account_tbl(l_ctr).attribute3 := p_account_header_tbl(i).attribute3;
9911 p_party_account_tbl(l_ctr).attribute4 := p_account_header_tbl(i).attribute4;
9912 p_party_account_tbl(l_ctr).attribute5 := p_account_header_tbl(i).attribute5;
9913 p_party_account_tbl(l_ctr).attribute6 := p_account_header_tbl(i).attribute6;
9914 p_party_account_tbl(l_ctr).attribute7 := p_account_header_tbl(i).attribute7;
9915 p_party_account_tbl(l_ctr).attribute8 := p_account_header_tbl(i).attribute8;
9916 p_party_account_tbl(l_ctr).attribute9 := p_account_header_tbl(i).attribute9;
9917 p_party_account_tbl(l_ctr).attribute10 := p_account_header_tbl(i).attribute10;
9918 p_party_account_tbl(l_ctr).attribute11 := p_account_header_tbl(i).attribute11;
9919 p_party_account_tbl(l_ctr).attribute12 := p_account_header_tbl(i).attribute12;
9920 p_party_account_tbl(l_ctr).attribute13 := p_account_header_tbl(i).attribute13;
9921 p_party_account_tbl(l_ctr).attribute14 := p_account_header_tbl(i).attribute14;
9922 p_party_account_tbl(l_ctr).attribute15 := p_account_header_tbl(i).attribute15;
9923 p_party_account_tbl(l_ctr).object_version_number := p_account_header_tbl(i).object_version_number;
9924 END IF;
9925 END IF; -- Active Account record
9926 END LOOP;
9927 END IF;
9928 --
9929 csi_gen_utility_pvt.put_line('Building Org Assignments tbl..');
9930 -- Build org Assignments table
9931 IF p_org_header_tbl.count > 0 THEN
9932 l_ctr := p_org_units_tbl.count;
9933 FOR i in p_org_header_tbl.FIRST .. p_org_header_tbl.LAST LOOP
9934 IF nvl(p_org_header_tbl(i).active_end_date,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE OR
9935 p_org_header_tbl(i).active_end_date > sysdate THEN
9936 l_ctr := l_ctr + 1;
9937 --
9938 p_org_units_tbl(l_ctr).instance_ou_id := p_org_header_tbl(i).instance_ou_id;
9939 p_org_units_tbl(l_ctr).instance_id := p_org_header_tbl(i).instance_id;
9940 p_org_units_tbl(l_ctr).operating_unit_id := p_org_header_tbl(i).operating_unit_id;
9941 p_org_units_tbl(l_ctr).relationship_type_code := p_org_header_tbl(i).relationship_type_code;
9942 p_org_units_tbl(l_ctr).active_start_date := p_org_header_tbl(i).active_start_date;
9943 p_org_units_tbl(l_ctr).active_end_date := p_org_header_tbl(i).active_end_date;
9944 p_org_units_tbl(l_ctr).context := p_org_header_tbl(i).context;
9945 p_org_units_tbl(l_ctr).attribute1 := p_org_header_tbl(i).attribute1;
9946 p_org_units_tbl(l_ctr).attribute2 := p_org_header_tbl(i).attribute2;
9947 p_org_units_tbl(l_ctr).attribute3 := p_org_header_tbl(i).attribute3;
9948 p_org_units_tbl(l_ctr).attribute4 := p_org_header_tbl(i).attribute4;
9949 p_org_units_tbl(l_ctr).attribute5 := p_org_header_tbl(i).attribute5;
9950 p_org_units_tbl(l_ctr).attribute6 := p_org_header_tbl(i).attribute6;
9951 p_org_units_tbl(l_ctr).attribute7 := p_org_header_tbl(i).attribute7;
9952 p_org_units_tbl(l_ctr).attribute8 := p_org_header_tbl(i).attribute8;
9953 p_org_units_tbl(l_ctr).attribute9 := p_org_header_tbl(i).attribute9;
9954 p_org_units_tbl(l_ctr).attribute10 := p_org_header_tbl(i).attribute10;
9955 p_org_units_tbl(l_ctr).attribute11 := p_org_header_tbl(i).attribute11;
9956 p_org_units_tbl(l_ctr).attribute12 := p_org_header_tbl(i).attribute12;
9957 p_org_units_tbl(l_ctr).attribute13 := p_org_header_tbl(i).attribute13;
9958 p_org_units_tbl(l_ctr).attribute14 := p_org_header_tbl(i).attribute14;
9959 p_org_units_tbl(l_ctr).attribute15 := p_org_header_tbl(i).attribute15;
9960 p_org_units_tbl(l_ctr).object_version_number := p_org_header_tbl(i).object_version_number;
9961 p_org_units_tbl(l_ctr).parent_tbl_index := 1;
9962 END IF;
9963 END LOOP;
9964 END IF;
9965 -- Build Pricing Attrib Table
9966 csi_gen_utility_pvt.put_line('Building Pricing tbl..');
9967 IF p_pricing_attrib_tbl.count > 0 THEN
9968 l_ctr := p_pricing_attribs_tbl.count;
9969 FOR i in p_pricing_attrib_tbl.FIRST .. p_pricing_attrib_tbl.LAST LOOP
9970 IF nvl(p_pricing_attrib_tbl(i).active_end_date,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE OR
9971 p_pricing_attrib_tbl(i).active_end_date > sysdate THEN
9972 l_ctr := l_ctr + 1;
9973 p_pricing_attribs_tbl(l_ctr) := p_pricing_attrib_tbl(i);
9974 p_pricing_attribs_tbl(l_ctr).parent_tbl_index := 1;
9975 END IF;
9976 END LOOP;
9977 END IF;
9978 -- Build Extended Attributes Table
9979 csi_gen_utility_pvt.put_line('Building Ext Attribs tbl..');
9980 IF p_ext_attrib_tbl.count > 0 THEN
9981 l_ctr := p_ext_attrib_values_tbl.count;
9982 FOR i in p_ext_attrib_tbl.FIRST .. p_ext_attrib_tbl.LAST LOOP
9983 IF nvl(p_ext_attrib_tbl(i).active_end_date,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE OR
9984 p_ext_attrib_tbl(i).active_end_date > sysdate THEN
9985 l_ctr := l_ctr + 1;
9986 p_ext_attrib_values_tbl(l_ctr) := p_ext_attrib_tbl(i);
9987 p_ext_attrib_values_tbl(l_ctr).parent_tbl_index := 1;
9988 END IF;
9989 END LOOP;
9990 END IF;
9991 -- Build Instance Asset Table
9992 csi_gen_utility_pvt.put_line('Building Instance Asset tbl..');
9993 IF p_asset_header_tbl.count > 0 THEN
9994 l_ctr := p_instance_asset_tbl.count;
9995 FOR i in p_asset_header_tbl.FIRST .. p_asset_header_tbl.LAST LOOP
9996 IF nvl(p_asset_header_tbl(i).active_end_date,FND_API.G_MISS_DATE) = FND_API.G_MISS_DATE OR
9997 p_asset_header_tbl(i).active_end_date > sysdate THEN
9998 l_ctr := l_ctr + 1;
9999 --
10000 p_instance_asset_tbl(l_ctr).instance_asset_id := p_asset_header_tbl(i).instance_asset_id;
10001 p_instance_asset_tbl(l_ctr).instance_id := p_asset_header_tbl(i).instance_id;
10002 p_instance_asset_tbl(l_ctr).fa_asset_id := p_asset_header_tbl(i).fa_asset_id;
10003 p_instance_asset_tbl(l_ctr).fa_book_type_code := p_asset_header_tbl(i).fa_book_type_code;
10004 p_instance_asset_tbl(l_ctr).fa_location_id := p_asset_header_tbl(i).fa_location_id;
10005 p_instance_asset_tbl(l_ctr).asset_quantity := p_asset_header_tbl(i).asset_quantity;
10006 p_instance_asset_tbl(l_ctr).update_status := p_asset_header_tbl(i).update_status;
10007 p_instance_asset_tbl(l_ctr).active_start_date := p_asset_header_tbl(i).active_start_date;
10008 p_instance_asset_tbl(l_ctr).active_end_date := p_asset_header_tbl(i).active_end_date;
10009 p_instance_asset_tbl(l_ctr).object_version_number := p_asset_header_tbl(i).object_version_number;
10010 p_instance_asset_tbl(l_ctr).parent_tbl_index := 1;
10011 END IF;
10012 END LOOP;
10013 END IF;
10014 EXCEPTION
10015 WHEN FND_API.G_EXC_ERROR THEN
10016 ROLLBACK TO Get_And_Build_Instance_Details;
10017 x_return_status := FND_API.G_RET_STS_ERROR ;
10018 FND_MSG_PUB.Count_And_Get
10019 ( p_count => x_msg_count,
10020 p_data => x_msg_data
10021 );
10022 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10023 ROLLBACK TO Get_And_Build_Instance_Details;
10024 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
10025 FND_MSG_PUB.Count_And_Get
10026 ( p_count => x_msg_count,
10027 p_data => x_msg_data
10028 );
10029 WHEN OTHERS THEN
10030 ROLLBACK TO Get_And_Build_Instance_Details;
10031 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
10032 IF FND_MSG_PUB.Check_Msg_Level
10033 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10034 THEN
10035 FND_MSG_PUB.Add_Exc_Msg
10036 ( G_PKG_NAME ,
10037 l_api_name
10038 );
10039 END IF;
10040 FND_MSG_PUB.Count_And_Get
10041 ( p_count => x_msg_count,
10042 p_data => x_msg_data
10043 );
10044 END Get_And_Build_Instance_Details;
10045 --
10046 /*---------------------------------------------------------*/
10047 /* Procedure name: Explode_Bom */
10048 /* Description : This procudure explodes the BOM and */
10049 /* creates instances and relationships */
10050 /* Author : Srinivasan Ramakrishnan */
10051 /*---------------------------------------------------------*/
10052 PROCEDURE Explode_Bom
10053 (
10054 p_api_version IN NUMBER
10055 ,p_commit IN VARCHAR2
10056 ,p_init_msg_list IN VARCHAR2
10057 ,p_validation_level IN NUMBER
10058 ,p_source_instance_tbl IN csi_datastructures_pub.instance_tbl
10059 ,p_explosion_level IN NUMBER
10060 ,p_txn_rec IN OUT NOCOPY csi_datastructures_pub.transaction_rec
10061 ,x_return_status OUT NOCOPY VARCHAR2
10062 ,x_msg_count OUT NOCOPY NUMBER
10063 ,x_msg_data OUT NOCOPY VARCHAR2
10064 )
10065 IS
10066 --
10067 l_api_name CONSTANT VARCHAR2(30) := 'explode_bom';
10068 l_api_version CONSTANT NUMBER := 1.0;
10069 l_debug_level NUMBER;
10070 l_msg_index NUMBER;
10071 l_msg_count NUMBER;
10072 x_ins_tbl csi_datastructures_pub.instance_tbl;
10073 x_rel_tbl csi_datastructures_pub.ii_relationship_tbl;
10074 l_ins_tbl csi_datastructures_pub.instance_tbl;
10075 l_rel_ctr NUMBER := 0;
10076 x_new_ins_tbl csi_datastructures_pub.instance_tbl;
10077 l_rel_tbl csi_datastructures_pub.ii_relationship_tbl;
10078 p_instance_rec csi_datastructures_pub.instance_rec;
10079 l_prev_item NUMBER := -9999;
10080 x_msg_index_out NUMBER;
10081 --
10082 p_party_tbl csi_datastructures_pub.party_tbl;
10083 p_party_account_tbl csi_datastructures_pub.party_account_tbl;
10084 p_org_units_tbl csi_datastructures_pub.organization_units_tbl;
10085 p_pricing_attribs_tbl csi_datastructures_pub.pricing_attribs_tbl;
10086 p_ext_attrib_values_tbl csi_datastructures_pub.extend_attrib_values_tbl;
10087 p_instance_asset_tbl csi_datastructures_pub.instance_asset_tbl;
10088 l_version_label VARCHAR2(240);
10089 l_ver_label_desc VARCHAR2(240);
10090 --
10091 p_grp_error_tbl csi_datastructures_pub.grp_error_tbl;
10092 p_txn_tbl csi_datastructures_pub.transaction_tbl;
10093 l_grp_ins_tbl csi_datastructures_pub.instance_tbl;
10094 l_grp_ctr NUMBER := 0;
10095 l_grp_rel_tbl csi_datastructures_pub.ii_relationship_tbl;
10096 l_grp_party_tbl csi_datastructures_pub.party_tbl;
10097 l_grp_account_tbl csi_datastructures_pub.party_account_tbl;
10098 l_grp_org_units_tbl csi_datastructures_pub.organization_units_tbl;
10099 l_grp_pricing_attribs_tbl csi_datastructures_pub.pricing_attribs_tbl;
10100 l_grp_ext_attrib_values_tbl csi_datastructures_pub.extend_attrib_values_tbl;
10101 l_grp_instance_asset_tbl csi_datastructures_pub.instance_asset_tbl;
10102 l_party_ctr NUMBER;
10103 l_ctr NUMBER;
10104 --
10105 BEGIN
10106 -- Standard Start of API savepoint
10107 SAVEPOINT explode_bom;
10108 -- Standard call to check for call compatibility.
10109 IF NOT FND_API.Compatible_API_Call (l_api_version,
10110 p_api_version,
10111 l_api_name ,
10112 G_PKG_NAME)
10113 THEN
10114 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10115 END IF;
10116 -- Initialize message list if p_init_msg_list is set to TRUE.
10117 IF FND_API.to_Boolean( p_init_msg_list ) THEN
10118 FND_MSG_PUB.initialize;
10119 END IF;
10120 -- Initialize API return status to success
10121 x_return_status := FND_API.G_RET_STS_SUCCESS;
10122 -- Check the profile option debug_level for debug message reporting
10123 l_debug_level:=fnd_profile.value('CSI_DEBUG_LEVEL');
10124 -- If debug_level = 1 then dump the procedure name
10125 IF (l_debug_level > 0) THEN
10126 csi_gen_utility_pvt.put_line( 'explode_bom (Group)');
10127 END IF;
10128 -- Start API body
10129 IF p_source_instance_tbl.count > 0 THEN
10130 FOR src_rec in p_source_instance_tbl.FIRST .. p_source_instance_tbl.LAST LOOP
10131 IF p_source_instance_tbl.EXISTS(src_rec) THEN
10132 -- Verify instance quantity
10133 IF ((p_source_instance_tbl(src_rec).QUANTITY IS NULL)
10134 OR (p_source_instance_tbl(src_rec).QUANTITY = FND_API.G_MISS_NUM )
10135 OR (p_source_instance_tbl(src_rec).QUANTITY <> 1)) THEN
10136 FND_MESSAGE.SET_NAME('CSI','CSI_API_INVALID_QUANTITY');
10137 FND_MESSAGE.SET_TOKEN('QUANTITY',p_source_instance_tbl(src_rec).QUANTITY);
10138 FND_MSG_PUB.Add;
10139 RAISE FND_API.G_EXC_ERROR;
10140 END IF;
10141 --
10142 IF (p_source_instance_tbl(src_rec).instance_id IS NULL) OR
10143 (p_source_instance_tbl(src_rec).instance_id = FND_API.G_MISS_NUM) THEN
10144 FND_MESSAGE.SET_NAME('CSI','CSI_API_INSTANCE_ID_NULL');
10145 FND_MSG_PUB.Add;
10146 RAISE FND_API.G_EXC_ERROR;
10147 END IF;
10148 --
10149 -- Verify if configruation has been exploded before
10150 IF (csi_Item_Instance_Vld_pvt.Is_config_exploded
10151 ( p_source_instance_tbl(src_rec).INSTANCE_ID)) THEN
10152 csi_gen_utility_pvt.put_line('Configuration already Exploded');
10153 RAISE FND_API.G_EXC_ERROR;
10154 END IF;
10155 --
10156 IF l_prev_item = -9999 OR
10157 l_prev_item <> p_source_instance_tbl(src_rec).inventory_item_id THEN
10158 l_prev_item := p_source_instance_tbl(src_rec).inventory_item_id;
10159 -- Call Explode BOM
10160 csi_item_instance_pvt.Explode_Bom
10161 (
10162 p_api_version => 1.0
10163 ,p_commit => p_commit
10164 ,p_init_msg_list => p_init_msg_list
10165 ,p_validation_level => p_validation_level
10166 ,p_source_instance_rec => p_source_instance_tbl(src_rec)
10167 ,p_explosion_level => p_explosion_level
10168 ,p_item_tbl => x_ins_tbl
10169 ,p_item_relation_tbl => x_rel_tbl
10170 ,p_create_instance => FND_API.G_FALSE -- Since we just need the output
10171 ,p_txn_rec => p_txn_rec
10172 ,x_return_status => x_return_status
10173 ,x_msg_count => x_msg_count
10174 ,x_msg_data => x_msg_data
10175 );
10176 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
10177 csi_gen_utility_pvt.put_line('Error in Explode_BOM Regular Routine..');
10178 FOR i in 1..x_msg_Count LOOP
10179 FND_MSG_PUB.Get(p_msg_index => i,
10180 p_encoded => 'F',
10181 p_data => x_msg_data,
10182 p_msg_index_out => x_msg_index_out );
10183 csi_gen_utility_pvt.put_line('message data = '||x_msg_data);
10184 End LOOP;
10185 RAISE FND_API.G_EXC_ERROR;
10186 END IF;
10187 END IF;
10188 --
10189 -- Get the instance and other entities info
10190 IF x_ins_tbl.count > 0 THEN
10191 csi_gen_utility_pvt.put_line('Calling Get_And_Build_Instance_Details...');
10192 Get_And_Build_Instance_Details
10193 (p_instance_id => p_source_instance_tbl(src_rec).instance_id
10194 ,p_txn_rec => p_txn_rec
10195 ,p_instance_rec => p_instance_rec
10196 ,p_party_tbl => p_party_tbl
10197 ,p_party_account_tbl => p_party_account_tbl
10198 ,p_org_units_tbl => p_org_units_tbl
10199 ,p_pricing_attribs_tbl => p_pricing_attribs_tbl
10200 ,p_ext_attrib_values_tbl => p_ext_attrib_values_tbl
10201 ,p_instance_asset_tbl => p_instance_asset_tbl
10202 ,x_return_status => x_return_status
10203 ,x_msg_count => x_msg_count
10204 ,x_msg_data => x_msg_data
10205 );
10206 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10207 l_msg_index := 1;
10208 l_msg_count := x_msg_count;
10209 WHILE l_msg_count > 0 LOOP
10210 x_msg_data := FND_MSG_PUB.GET
10211 ( l_msg_index,
10212 FND_API.G_FALSE );
10213 l_msg_index := l_msg_index + 1;
10214 l_msg_count := l_msg_count - 1;
10215 END LOOP;
10216 csi_gen_utility_pvt.put_line('Error from Get_And_Build_Instance_Details...');
10217 RAISE FND_API.G_EXC_ERROR;
10218 ELSE
10219 csi_gen_utility_pvt.put_line('Count After Get_And_Build_Instance_Details...');
10220 csi_gen_utility_pvt.put_line('p_party_tbl Count is '||to_char(p_party_tbl.count));
10221 csi_gen_utility_pvt.put_line('p_party_account_tbl Count is '||to_char(p_party_account_tbl.count));
10222 csi_gen_utility_pvt.put_line('p_org_units_tbl Count is '||to_char(p_org_units_tbl.count));
10223 csi_gen_utility_pvt.put_line('p_pricing_attribs_tbl Count is '||to_char(p_pricing_attribs_tbl.count));
10224 csi_gen_utility_pvt.put_line('p_ext_attrib_values_tbl Count is '||to_char(p_ext_attrib_values_tbl.count));
10225 csi_gen_utility_pvt.put_line('p_instance_asset_tbl Count is '||to_char(p_instance_asset_tbl.count));
10226 END IF;
10227 --
10228 l_version_label := null;
10229 l_ver_label_desc := null;
10230 Begin
10231 select version_label,description
10232 into l_version_label,l_ver_label_desc
10233 from CSI_I_VERSION_LABELS
10234 where instance_id = p_source_instance_tbl(src_rec).instance_id
10235 and rownum < 2;
10236 Exception
10237 when no_data_found then
10238 null;
10239 End;
10240 END IF; -- x_ins_tbl count
10241 --
10242 l_ins_tbl.DELETE;
10243 l_rel_tbl.DELETE;
10244 l_party_ctr := p_party_tbl.count;
10245 l_ins_tbl := x_ins_tbl;
10246 l_rel_tbl := x_rel_tbl;
10247 IF l_ins_tbl.count > 0 THEN
10248 For ins_tab in l_ins_tbl.FIRST .. l_ins_tbl.LAST
10249 Loop
10250 l_grp_ctr := l_grp_ctr + 1;
10251 l_grp_ins_tbl(l_grp_ctr) := p_instance_rec;
10252 select CSI_ITEM_INSTANCES_S.nextval
10253 into l_grp_ins_tbl(l_grp_ctr).instance_id
10254 from dual;
10255 --
10256 l_grp_ins_tbl(l_grp_ctr).instance_number := l_grp_ins_tbl(l_grp_ctr).instance_id;
10257 l_grp_ins_tbl(l_grp_ctr).external_reference := fnd_api.g_miss_char;
10258 l_grp_ins_tbl(l_grp_ctr).object_version_number := fnd_api.g_miss_num;
10259 l_grp_ins_tbl(l_grp_ctr).inventory_item_id := l_ins_tbl(ins_tab).inventory_item_id;
10260 l_grp_ins_tbl(l_grp_ctr).inventory_revision := fnd_api.g_miss_char;
10261 l_grp_ins_tbl(l_grp_ctr).quantity := l_ins_tbl(ins_tab).quantity;
10262 l_grp_ins_tbl(l_grp_ctr).mfg_serial_number_flag := 'N';
10263 l_grp_ins_tbl(l_grp_ctr).unit_of_measure := l_ins_tbl(ins_tab).unit_of_measure;
10264 l_grp_ins_tbl(l_grp_ctr).lot_number := NULL;
10265 l_grp_ins_tbl(l_grp_ctr).serial_number := NULL;
10266 l_grp_ins_tbl(l_grp_ctr).creation_complete_flag := fnd_api.g_miss_char;
10267 l_grp_ins_tbl(l_grp_ctr).completeness_flag := fnd_api.g_miss_char;
10268 l_grp_ins_tbl(l_grp_ctr).version_label := l_version_label;
10269 l_grp_ins_tbl(l_grp_ctr).version_label_description := l_ver_label_desc;
10270 --
10271 -- On success Populate the relationship_tbl with the new instance_id
10272 IF l_rel_tbl.count > 0 THEN
10273 For rel_tab in l_rel_tbl.FIRST .. l_rel_tbl.LAST
10274 Loop
10275 IF l_rel_tbl(rel_tab).object_id = 0 THEN -- Top Most
10276 l_rel_tbl(rel_tab).object_id := p_source_instance_tbl(src_rec).instance_id;
10277 END IF;
10278 --
10279 IF l_rel_tbl(rel_tab).subject_id = ins_tab THEN
10280 l_rel_tbl(rel_tab).subject_id := l_grp_ins_tbl(l_grp_ctr).instance_id;
10281 END IF;
10282 --
10283 IF l_rel_tbl(rel_tab).object_id = ins_tab THEN
10284 l_rel_tbl(rel_tab).object_id := l_grp_ins_tbl(l_grp_ctr).instance_id;
10285 END IF;
10286 End Loop;
10287 END IF;
10288 --
10289 -- One Txn per Instance for calling Group API
10290 -- We pass the same txn id for all the txns. Group API will insert only distinct values.
10291 p_txn_tbl(l_grp_ctr) := p_txn_rec;
10292 -- p_txn_tbl(l_grp_ctr).transaction_id := fnd_api.g_miss_num;
10293 -- p_txn_tbl(l_grp_ctr).object_version_number := fnd_api.g_miss_num;
10294 --
10295 -- Build Party Tbl
10296 l_ctr := l_grp_party_tbl.count;
10297 IF p_party_tbl.count > 0 THEN
10298 FOR j in p_party_tbl.FIRST .. p_party_tbl.LAST LOOP
10299 l_ctr := l_ctr + 1;
10300 l_grp_party_tbl(l_ctr) := p_party_tbl(j);
10301 l_grp_party_tbl(l_ctr).instance_party_id := fnd_api.g_miss_num;
10302 l_grp_party_tbl(l_ctr).instance_id := l_grp_ins_tbl(l_grp_ctr).instance_id;
10303 l_grp_party_tbl(l_ctr).object_version_number := fnd_api.g_miss_num;
10304 l_grp_party_tbl(l_ctr).parent_tbl_index := l_grp_ctr;
10305 l_grp_party_tbl(l_ctr).contact_ip_id := fnd_api.g_miss_num;
10306 IF l_grp_ctr > 1 THEN
10307 IF p_party_tbl(j).contact_flag = 'Y' THEN
10308 l_grp_party_tbl(l_ctr).contact_parent_tbl_index :=
10309 p_party_tbl(j).contact_parent_tbl_index + ((l_grp_ctr-1) * l_party_ctr);
10310 END IF;
10311 END IF;
10312 END LOOP;
10313 END IF;
10314 --
10315 -- Build Account Tbl
10316 l_ctr := l_grp_account_tbl.count;
10317 IF p_party_account_tbl.count > 0 THEN
10318 FOR j in p_party_account_tbl.FIRST .. p_party_account_tbl.LAST LOOP
10319 l_ctr := l_ctr + 1;
10320 l_grp_account_tbl(l_ctr) := p_party_account_tbl(j);
10321 l_grp_account_tbl(l_ctr).ip_account_id := fnd_api.g_miss_num;
10322 l_grp_account_tbl(l_ctr).instance_party_id := fnd_api.g_miss_num;
10323 l_grp_account_tbl(l_ctr).object_version_number := fnd_api.g_miss_num;
10324 IF l_grp_ctr > 1 THEN
10325 l_grp_account_tbl(l_ctr).parent_tbl_index :=
10326 p_party_account_tbl(j).parent_tbl_index + ((l_grp_ctr-1) * l_party_ctr);
10327 END IF;
10328 END LOOP;
10329 END IF;
10330 --
10331 l_ctr := l_grp_org_units_tbl.count;
10332 IF p_org_units_tbl.count > 0 THEN
10333 FOR j in p_org_units_tbl.FIRST .. p_org_units_tbl.LAST LOOP
10334 l_ctr := l_ctr + 1;
10335 l_grp_org_units_tbl(l_ctr) := p_org_units_tbl(j);
10336 l_grp_org_units_tbl(l_ctr).parent_tbl_index := l_grp_ctr;
10337 l_grp_org_units_tbl(l_ctr).instance_id := l_grp_ins_tbl(l_grp_ctr).instance_id;
10338 l_grp_org_units_tbl(l_ctr).instance_ou_id := fnd_api.g_miss_num;
10339 l_grp_org_units_tbl(l_ctr).object_version_number := fnd_api.g_miss_num;
10340 END LOOP;
10341 END IF;
10342 --
10343 l_ctr := l_grp_pricing_attribs_tbl.count;
10344 IF p_pricing_attribs_tbl.count > 0 THEN
10345 FOR j in p_pricing_attribs_tbl.FIRST .. p_pricing_attribs_tbl.LAST LOOP
10346 l_ctr := l_ctr + 1;
10347 l_grp_pricing_attribs_tbl(l_ctr) := p_pricing_attribs_tbl(j);
10348 l_grp_pricing_attribs_tbl(l_ctr).parent_tbl_index := l_grp_ctr;
10349 l_grp_pricing_attribs_tbl(l_ctr).instance_id := l_grp_ins_tbl(l_grp_ctr).instance_id;
10350 l_grp_pricing_attribs_tbl(l_ctr).pricing_attribute_id := fnd_api.g_miss_num;
10351 l_grp_pricing_attribs_tbl(l_ctr).object_version_number := fnd_api.g_miss_num;
10352 END LOOP;
10353 END IF;
10354 --
10355 l_ctr := l_grp_ext_attrib_values_tbl.count;
10356 IF p_ext_attrib_values_tbl.count > 0 THEN
10357 FOR j in p_ext_attrib_values_tbl.FIRST .. p_ext_attrib_values_tbl.LAST LOOP
10358 l_ctr := l_ctr + 1;
10359 l_grp_ext_attrib_values_tbl(l_ctr) := p_ext_attrib_values_tbl(j);
10360 l_grp_ext_attrib_values_tbl(l_ctr).parent_tbl_index := l_grp_ctr;
10361 l_grp_ext_attrib_values_tbl(l_ctr).attribute_value_id := fnd_api.g_miss_num;
10362 l_grp_ext_attrib_values_tbl(l_ctr).instance_id := l_grp_ins_tbl(l_grp_ctr).instance_id;
10363 l_grp_ext_attrib_values_tbl(l_ctr).object_version_number := fnd_api.g_miss_num;
10364 END LOOP;
10365 END IF;
10366 --
10367 l_ctr := l_grp_instance_asset_tbl.count;
10368 IF p_instance_asset_tbl.count > 0 THEN
10369 FOR j in p_instance_asset_tbl.FIRST .. p_instance_asset_tbl.LAST LOOP
10370 l_ctr := l_ctr + 1;
10371 l_grp_instance_asset_tbl(l_ctr) := p_instance_asset_tbl(j);
10372 l_grp_instance_asset_tbl(l_ctr).parent_tbl_index := l_grp_ctr;
10373 l_grp_instance_asset_tbl(l_ctr).instance_id := l_grp_ins_tbl(l_grp_ctr).instance_id;
10374 l_grp_instance_asset_tbl(l_ctr).object_version_number := fnd_api.g_miss_num;
10375 l_grp_instance_asset_tbl(l_ctr).instance_asset_id := fnd_api.g_miss_num;
10376 END LOOP;
10377 END IF;
10378 End Loop; -- l_ins_tbl (components) loop
10379 --
10380 -- At the end of this loop all the relationship records
10381 -- will have the right subject and object
10382 -- Add the l_rel_tbl into l_grp_rel_tbl
10383 IF l_rel_tbl.count > 0 THEN
10384 l_rel_ctr := l_grp_rel_tbl.count;
10385 FOR rel_rec in l_rel_tbl.FIRST .. l_rel_tbl.LAST LOOP
10386 l_rel_ctr := l_rel_ctr + 1;
10387 l_grp_rel_tbl(l_rel_ctr).object_id := l_rel_tbl(rel_rec).object_id;
10388 l_grp_rel_tbl(l_rel_ctr).subject_id := l_rel_tbl(rel_rec).subject_id;
10389 l_grp_rel_tbl(l_rel_ctr).relationship_type_code := 'COMPONENT-OF';
10390 END LOOP;
10391 END IF;
10392 END IF; -- End of l_ins_tbl_count
10393 END IF; -- p_source_instance_tbl exists
10394 END LOOP; -- p_source_instance_tbl loop
10395 END IF; -- p_src_instance_tbl count
10396 --
10397 -- Call Create Item Instance Group API
10398 csi_gen_utility_pvt.put_line('Instance count is '||to_char(l_grp_ins_tbl.count));
10399 csi_gen_utility_pvt.put_line('Party count is '||to_char(l_grp_party_tbl.count));
10400 csi_gen_utility_pvt.put_line('Account count is '||to_char(l_grp_account_tbl.count));
10401 csi_gen_utility_pvt.put_line('Pricing count is '||to_char(l_grp_pricing_attribs_tbl.count));
10402 csi_gen_utility_pvt.put_line('Ext Attribs count is '||to_char(l_grp_ext_attrib_values_tbl.count));
10403 csi_gen_utility_pvt.put_line('Org Units count is '||to_char(l_grp_org_units_tbl.count));
10404 csi_gen_utility_pvt.put_line('Asset count is '||to_char(l_grp_instance_asset_tbl.count));
10405 csi_gen_utility_pvt.put_line('Transaction count is '||to_char(p_txn_tbl.count));
10406 --
10407 csi_item_instance_grp.create_item_instance
10408 ( p_api_version => 1.0
10409 ,p_commit => p_commit
10410 ,p_init_msg_list => p_init_msg_list
10411 ,p_validation_level => p_validation_level
10412 ,p_instance_tbl => l_grp_ins_tbl
10413 ,p_ext_attrib_values_tbl => l_grp_ext_attrib_values_tbl
10414 ,p_party_tbl => l_grp_party_tbl
10415 ,p_account_tbl => l_grp_account_tbl
10416 ,p_pricing_attrib_tbl => l_grp_pricing_attribs_tbl
10417 ,p_org_assignments_tbl => l_grp_org_units_tbl
10418 ,p_asset_assignment_tbl => l_grp_instance_asset_tbl
10419 ,p_txn_tbl => p_txn_tbl
10420 ,p_call_from_bom_expl => fnd_api.g_true
10421 ,p_grp_error_tbl => p_grp_error_tbl
10422 ,x_return_status => x_return_status
10423 ,x_msg_count => x_msg_count
10424 ,x_msg_data => x_msg_data
10425 );
10426 --
10427 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
10428 csi_gen_utility_pvt.put_line('Error from Group Create_item_instance..');
10429 FOR i in 1..x_msg_Count LOOP
10430 FND_MSG_PUB.Get(p_msg_index => i,
10431 p_encoded => 'F',
10432 p_data => x_msg_data,
10433 p_msg_index_out => x_msg_index_out );
10434 csi_gen_utility_pvt.put_line('message data = '||x_msg_data);
10435 End LOOP;
10436 RAISE FND_API.G_EXC_ERROR;
10437 END IF;
10438 --
10439 csi_gen_utility_pvt.put_line('Relationship Count is '||to_char(l_grp_rel_tbl.count));
10440 IF l_grp_rel_tbl.count > 0 THEN
10441 csi_gen_utility_pvt.put_line('Calling Create Relationship PUB...');
10442 csi_ii_relationships_pub.create_relationship
10443 (
10444 p_api_version => 1.0,
10445 p_commit => fnd_api.g_false,
10446 p_init_msg_list => fnd_api.g_true,
10447 p_validation_level => fnd_api.g_valid_level_full,
10448 p_relationship_tbl => l_grp_rel_tbl,
10449 p_txn_rec => p_txn_rec,
10450 x_return_status => x_return_status,
10451 x_msg_count => x_msg_count,
10452 x_msg_data => x_msg_data
10453 );
10454 csi_gen_utility_pvt.put_line('End of Create Relationship...');
10455 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
10456 csi_gen_utility_pvt.put_line('Error while trying to Create II Relationships..');
10457 FOR i in 1..x_msg_Count LOOP
10458 FND_MSG_PUB.Get(p_msg_index => i,
10459 p_encoded => 'F',
10460 p_data => x_msg_data,
10461 p_msg_index_out => x_msg_index_out );
10462 csi_gen_utility_pvt.put_line('message data = '||x_msg_data);
10463 End LOOP;
10464 RAISE FND_API.G_EXC_ERROR;
10465 END IF;
10466 END IF;
10467 -- End of API body
10468 -- Standard check of p_commit
10469 IF FND_API.To_Boolean( p_commit ) THEN
10470 COMMIT WORK;
10471 END IF;
10472 -- Standard call to get message count and if count is get message info.
10473 FND_MSG_PUB.Count_And_Get
10474 ( p_count => x_msg_count ,
10475 p_data => x_msg_data
10476 );
10477 EXCEPTION
10478 WHEN FND_API.G_EXC_ERROR THEN
10479 ROLLBACK TO explode_bom;
10480 x_return_status := FND_API.G_RET_STS_ERROR ;
10481 FND_MSG_PUB.Count_And_Get
10482 ( p_count => x_msg_count,
10483 p_data => x_msg_data
10484 );
10485 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10486 ROLLBACK TO explode_bom;
10487 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
10488 FND_MSG_PUB.Count_And_Get
10489 ( p_count => x_msg_count,
10490 p_data => x_msg_data
10491 );
10492 WHEN OTHERS THEN
10493 ROLLBACK TO explode_bom;
10494 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
10495 IF FND_MSG_PUB.Check_Msg_Level
10496 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10497 THEN
10498 FND_MSG_PUB.Add_Exc_Msg
10499 ( G_PKG_NAME ,
10500 l_api_name
10501 );
10502 END IF;
10503 FND_MSG_PUB.Count_And_Get
10504 ( p_count => x_msg_count,
10505 p_data => x_msg_data
10506 );
10507 END Explode_Bom;
10508 --
10509 PROCEDURE lock_item_instances
10510 (
10511 p_api_version IN NUMBER
10512 ,p_commit IN VARCHAR2 := fnd_api.g_false
10513 ,p_init_msg_list IN VARCHAR2 := fnd_api.g_false
10514 ,p_validation_level IN NUMBER := fnd_api.g_valid_level_full
10515 ,px_config_tbl IN OUT NOCOPY csi_cz_int.config_tbl
10516 -- ,p_txn_rec IN OUT NOCOPY csi_datastructures_pub.transaction_rec
10517 ,x_return_status OUT NOCOPY VARCHAR2
10518 ,x_msg_count OUT NOCOPY NUMBER
10519 ,x_msg_data OUT NOCOPY VARCHAR2
10520 )
10521 AS
10522 l_api_name CONSTANT VARCHAR2(30) := 'LOCK_ITEM_INSTANCES';
10523 l_api_version CONSTANT NUMBER := 1.0;
10524 l_csi_debug_level NUMBER;
10525 l_msg_data VARCHAR2(2000);
10526 l_msg_index NUMBER;
10527 l_msg_count NUMBER;
10528 BEGIN
10529
10530 SAVEPOINT csi_lock_item_grp;
10531
10532
10533 -- Check for freeze_flag in csi_install_parameters is set to 'Y'
10534
10535 csi_utility_grp.check_ib_active;
10536
10537 -- Standard call to check for call compatibility.
10538 IF NOT FND_API.Compatible_API_Call ( l_api_version ,
10539 p_api_version ,
10540 l_api_name ,
10541 g_pkg_name )
10542 THEN
10543 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10544 END IF;
10545
10546 -- Initialize message list if p_init_msg_list is set to TRUE.
10547 IF FND_API.to_Boolean( p_init_msg_list ) THEN
10548 FND_MSG_PUB.initialize;
10549 END IF;
10550
10551 -- Initialize API return status to success
10552 x_return_status := FND_API.G_RET_STS_SUCCESS;
10553
10554 -- Check the profile option CSI_DEBUG_LEVEL for debug message reporting
10555 l_csi_debug_level:=fnd_profile.value('CSI_DEBUG_LEVEL');
10556
10557 -- If CSI_DEBUG_LEVEL = 1 then dump the procedure name
10558 IF (l_csi_debug_level > 0) THEN
10559 csi_gen_utility_pvt.put_line( 'lock_item_instances');
10560 END IF;
10561
10562
10563 -- If the debug level = 2 then dump all the parameters values.
10564 IF (l_csi_debug_level > 1) THEN
10565 csi_gen_utility_pvt.put_line( 'lock_item_instances'||
10566 p_api_version ||'-'||
10567 p_commit ||'-'||
10568 p_init_msg_list ||'-'||
10569 p_validation_level );
10570 -- Dump the records in the log file
10571 -- csi_gen_utility_pvt.dump_txn_rec(p_txn_rec);
10572 END IF;
10573
10574 csi_item_instance_pvt.lock_item_instances
10575 (p_api_version => p_api_version
10576 ,p_commit => fnd_api.g_false
10577 ,p_init_msg_list => p_init_msg_list
10578 ,p_validation_level => p_validation_level
10579 ,px_config_tbl => px_config_tbl
10580 -- ,p_txn_rec => p_txn_rec
10581 ,x_return_status => x_return_status
10582 ,x_msg_count => x_msg_count
10583 ,x_msg_data => x_msg_data
10584 );
10585 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
10586 l_msg_index := 1;
10587 l_msg_count := x_msg_count;
10588 WHILE l_msg_count > 0 LOOP
10589 x_msg_data := FND_MSG_PUB.GET
10590 ( l_msg_index,
10591 FND_API.G_FALSE );
10592 csi_gen_utility_pvt.put_line('Error while locking item instances..');
10593 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
10594 l_msg_index := l_msg_index + 1;
10595 l_msg_count := l_msg_count - 1;
10596 END LOOP;
10597 RAISE FND_API.G_EXC_ERROR;
10598 END IF;
10599
10600 IF FND_API.To_Boolean( p_commit ) THEN
10601 COMMIT WORK;
10602 END IF;
10603
10604 -- Standard call to get message count and if count is get message info.
10605 FND_MSG_PUB.Count_And_Get
10606 (p_count => x_msg_count ,
10607 p_data => x_msg_data );
10608
10609 EXCEPTION
10610 WHEN FND_API.G_EXC_ERROR THEN
10611 ROLLBACK TO csi_lock_item_grp;
10612 x_return_status := FND_API.G_RET_STS_ERROR ;
10613 FND_MSG_PUB.Count_And_Get
10614 ( p_count => x_msg_count,
10615 p_data => x_msg_data );
10616 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10617 ROLLBACK TO csi_lock_item_grp;
10618 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
10619 FND_MSG_PUB.Count_And_Get
10620 ( p_count => x_msg_count,
10621 p_data => x_msg_data );
10622 WHEN OTHERS THEN
10623 ROLLBACK TO csi_lock_item_grp;
10624 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
10625 IF FND_MSG_PUB.Check_Msg_Level
10626 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10627 THEN
10628 FND_MSG_PUB.Add_Exc_Msg
10629 ( g_pkg_name, l_api_name );
10630 END IF;
10631 FND_MSG_PUB.Count_And_Get
10632 ( p_count => x_msg_count,
10633 p_data => x_msg_data );
10634 END lock_item_instances;
10635
10636 PROCEDURE unlock_item_instances
10637 (
10638 p_api_version IN NUMBER
10639 ,p_commit IN VARCHAR2
10640 ,p_init_msg_list IN VARCHAR2
10641 ,p_validation_level IN NUMBER
10642 ,p_config_tbl IN csi_cz_int.config_tbl
10643 -- ,p_txn_rec IN OUT NOCOPY csi_datastructures_pub.transaction_rec
10644 ,x_return_status OUT NOCOPY VARCHAR2
10645 ,x_msg_count OUT NOCOPY NUMBER
10646 ,x_msg_data OUT NOCOPY VARCHAR2
10647 )
10648 AS
10649 l_api_name CONSTANT VARCHAR2(30) := 'UNLOCK_ITEM_INSTANCES';
10650 l_api_version CONSTANT NUMBER := 1.0;
10651 l_csi_debug_level NUMBER;
10652 l_msg_data VARCHAR2(2000);
10653 l_msg_index NUMBER;
10654 l_msg_count NUMBER;
10655 BEGIN
10656
10657 SAVEPOINT csi_unlock_item_grp;
10658
10659 -- Check for freeze_flag in csi_install_parameters is set to 'Y'
10660
10661 csi_utility_grp.check_ib_active;
10662
10663 -- Standard call to check for call compatibility.
10664 IF NOT FND_API.Compatible_API_Call ( l_api_version ,
10665 p_api_version ,
10666 l_api_name ,
10667 g_pkg_name )
10668 THEN
10669 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10670 END IF;
10671
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
10677 -- Initialize API return status to success
10678 x_return_status := FND_API.G_RET_STS_SUCCESS;
10679
10680 -- Check the profile option CSI_DEBUG_LEVEL for debug message reporting
10681 l_csi_debug_level:=fnd_profile.value('CSI_DEBUG_LEVEL');
10682
10683 -- If CSI_DEBUG_LEVEL = 1 then dump the procedure name
10684 IF (l_csi_debug_level > 0) THEN
10685 csi_gen_utility_pvt.put_line( 'unlock_item_instances');
10686 END IF;
10687
10688
10689 -- If the debug level = 2 then dump all the parameters values.
10690 IF (l_csi_debug_level > 1) THEN
10691 csi_gen_utility_pvt.put_line( 'unlock_item_instances'||
10692 p_api_version ||'-'||
10693 p_commit ||'-'||
10694 p_init_msg_list ||'-'||
10695 p_validation_level );
10696 -- Dump the records in the log file
10697 -- csi_gen_utility_pvt.dump_txn_rec(p_txn_rec);
10698 END IF;
10699
10700
10701 csi_item_instance_pvt.unlock_item_instances
10702 (p_api_version => p_api_version
10703 ,p_commit => fnd_api.g_false
10704 ,p_init_msg_list => p_init_msg_list
10705 ,p_validation_level => p_validation_level
10706 ,p_config_tbl => p_config_tbl
10707 ,p_unlock_all => fnd_api.g_false
10708 -- ,p_txn_rec => p_txn_rec
10709 ,x_return_status => x_return_status
10710 ,x_msg_count => x_msg_count
10711 ,x_msg_data => x_msg_data
10712 );
10713 IF NOT(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
10714 l_msg_index := 1;
10715 l_msg_count := x_msg_count;
10716 WHILE l_msg_count > 0 LOOP
10717 x_msg_data := FND_MSG_PUB.GET
10718 ( l_msg_index,
10719 FND_API.G_FALSE );
10720 csi_gen_utility_pvt.put_line('Error while unlocking item instances..');
10721 csi_gen_utility_pvt.put_line('MESSAGE DATA = '||x_msg_data);
10722 l_msg_index := l_msg_index + 1;
10723 l_msg_count := l_msg_count - 1;
10724 END LOOP;
10725 RAISE FND_API.G_EXC_ERROR;
10726 END IF;
10727
10728
10729 IF FND_API.To_Boolean( p_commit ) THEN
10730 COMMIT WORK;
10731 END IF;
10732
10733 -- Standard call to get message count and if count is get message info.
10734 FND_MSG_PUB.Count_And_Get
10735 (p_count => x_msg_count ,
10736 p_data => x_msg_data );
10737
10738 EXCEPTION
10739 WHEN FND_API.G_EXC_ERROR THEN
10740 ROLLBACK TO csi_unlock_item_grp;
10741 x_return_status := FND_API.G_RET_STS_ERROR ;
10742 FND_MSG_PUB.Count_And_Get
10743 ( p_count => x_msg_count,
10744 p_data => x_msg_data );
10745 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10746 ROLLBACK TO csi_unlock_item_grp;
10747 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
10748 FND_MSG_PUB.Count_And_Get
10749 ( p_count => x_msg_count,
10750 p_data => x_msg_data );
10751 WHEN OTHERS THEN
10752 ROLLBACK TO csi_unlock_item_grp;
10753 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
10754 IF FND_MSG_PUB.Check_Msg_Level
10755 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10756 THEN
10757 FND_MSG_PUB.Add_Exc_Msg
10758 ( g_pkg_name, l_api_name );
10759 END IF;
10760 FND_MSG_PUB.Count_And_Get
10761 ( p_count => x_msg_count,
10762 p_data => x_msg_data );
10763 END unlock_item_instances;
10764
10765 FUNCTION check_item_instance_lock
10766 ( p_instance_id IN NUMBER ,
10767 p_config_inst_hdr_id IN NUMBER ,
10768 p_config_inst_item_id IN NUMBER ,
10769 p_config_inst_rev_num IN NUMBER
10770 ) RETURN BOOLEAN IS
10771 l_return_value BOOLEAN := TRUE;
10772 l_lock_id NUMBER;
10773 l_lock_status NUMBER :=0;
10774 BEGIN
10775 l_return_value:= csi_item_instance_pvt.check_item_instance_lock
10776 ( p_instance_id => p_instance_id
10777 ,p_config_inst_hdr_id => p_config_inst_hdr_id
10778 ,p_config_inst_item_id => p_config_inst_item_id
10779 ,p_config_inst_rev_num => p_config_inst_rev_num
10780 );
10781
10782 RETURN l_return_value;
10783 END check_item_instance_lock;
10784
10785 END CSI_ITEM_INSTANCE_GRP;