DBA Data[Home] [Help]

PACKAGE: APPS.CSI_ITEM_INSTANCE_PVT

Source


1 PACKAGE CSI_ITEM_INSTANCE_PVT AUTHID CURRENT_USER AS
2 /* $Header: csiviis.pls 120.8 2010/10/19 17:12:01 devijay ship $ */
3 
4 /*------------------------------------------------------*/
5 /* Declare the PL/SQL tables used by the validation API */
6 /*------------------------------------------------------*/
7 TYPE ITEM_ATTRIBUTE_REC IS RECORD
8   (
9     inventory_item_id           NUMBER      := FND_API.G_MISS_NUM
10    ,organization_id	            NUMBER      := FND_API.G_MISS_NUM
11    ,master_organization_id      NUMBER      := FND_API.G_MISS_NUM
12    ,serial_number_control_code  NUMBER      := FND_API.G_MISS_NUM
13    ,lot_control_code            NUMBER      := FND_API.G_MISS_NUM
14    ,revision_control_code       NUMBER      := FND_API.G_MISS_NUM
15    ,Uom_code                    VARCHAR2(3) := FND_API.G_MISS_CHAR
16    ,Trackable_flag              VARCHAR2(1) := FND_API.G_MISS_CHAR
17    ,shelf_life_code             NUMBER      := FND_API.G_MISS_NUM
18    ,valid_flag                  VARCHAR2(1) := FND_API.G_MISS_CHAR
19    ,eam_item_type               NUMBER      := FND_API.G_MISS_NUM
20    ,equipment_type              NUMBER      := FND_API.G_MISS_NUM
21   );
22 
23 TYPE ITEM_ATTRIBUTE_TBL IS TABLE OF ITEM_ATTRIBUTE_REC INDEX BY BINARY_INTEGER;
24 --
25 TYPE GENERIC_ID_REC IS RECORD
26   (
27      generic_id 	NUMBER	     := FND_API.G_MISS_NUM
28     ,id_type		VARCHAR2(30) := FND_API.G_MISS_CHAR
29     ,terminated_flag    VARCHAR2(30) := FND_API.G_MISS_CHAR
30     ,valid_flag         VARCHAR2(1)  := FND_API.G_MISS_CHAR
31   );
32 
33 TYPE GENERIC_ID_TBL IS TABLE OF GENERIC_ID_REC INDEX BY BINARY_INTEGER;
34 --
35 TYPE LOOKUP_REC IS RECORD
36   (
37     lookup_code		VARCHAR2(30)	:= FND_API.G_MISS_CHAR
38    ,lookup_type		VARCHAR2(30)	:= FND_API.G_MISS_CHAR
39    ,valid_flag		VARCHAR2(1)	:= FND_API.G_MISS_CHAR
40   );
41 
42 TYPE LOOKUP_TBL IS TABLE OF LOOKUP_REC INDEX BY BINARY_INTEGER;
43 --
44 TYPE LOCATION_REC IS RECORD
45    (
46      location_type_code	VARCHAR2(30)		:= FND_API.G_MISS_CHAR
47     ,location_id 	NUMBER			:= FND_API.G_MISS_NUM
48     ,valid_flag		VARCHAR2(1)		:= FND_API.G_MISS_CHAR
49    );
50 TYPE LOCATION_TBL IS TABLE OF LOCATION_REC INDEX BY BINARY_INTEGER;
51 --
52 TYPE INS_COUNT_REC IS RECORD
53   (
54      inv_count         	NUMBER   	:= FND_API.G_MISS_NUM
55     ,generic_count 	NUMBER       	:= FND_API.G_MISS_NUM
56     ,location_count	NUMBER       	:= FND_API.G_MISS_NUM
57     ,lookup_count	NUMBER       	:= FND_API.G_MISS_NUM
58   );
59 -- PL/SQL tables used by Explode_BOM API.
60 --
61 TYPE PARENT_CHILD_REC IS RECORD
62    (
63      parent_sort_order        VARCHAR2(2000)
64     ,child_sort_order         VARCHAR2(2000)
65    );
66 TYPE PARENT_CHILD_TBL IS TABLE OF PARENT_CHILD_REC INDEX BY BINARY_INTEGER;
67 --
68 TYPE BOM_SORT_ORDER_REC IS RECORD
69    (
70      parent_sort_order    VARCHAR2(2000),
71      child_sort_order     VARCHAR2(2000),
72      mark_flag            VARCHAR2(1),
73      child_occurance      NUMBER
74    );
75 --
76 TYPE BOM_SORT_ORDER_TBL IS TABLE OF BOM_SORT_ORDER_REC INDEX BY BINARY_INTEGER;
77 --
78 FUNCTION Is_Parent(
79 		    p_child_sort_order   VARCHAR2
80 		   ,p_parent_child_tbl   csi_item_instance_pvt.parent_child_tbl
81 		  )
82 RETURN BOOLEAN;
83 --
84 PROCEDURE Get_parent_sort_order
85    (
86      p_parent_sort_order   IN OUT NOCOPY VARCHAR2
87     ,p_parent_child_tbl    IN csi_item_instance_pvt.parent_child_tbl
88     ,p_bom_sort_order_tbl  IN csi_item_instance_pvt.bom_sort_order_tbl
89    );
90 --
91 FUNCTION Has_Trackable_Component
92    (
93      p_inventory_item_id   IN NUMBER
94     ,p_organization_id     IN NUMBER
95     ,p_explosion_level     IN NUMBER
96    ) RETURN BOOLEAN;
97 --
98 TYPE MAP_INST_REC IS RECORD
99    (
100      old_instance_id        NUMBER
101     ,new_instance_id        NUMBER
102    );
103 TYPE MAP_INST_TBL IS TABLE OF MAP_INST_REC INDEX BY BINARY_INTEGER;
104 --
105 TYPE OWNER_PTY_ACCT_REC IS RECORD
106    ( instance_id            NUMBER
107     ,party_source_table     VARCHAR2(30)
108     ,party_id               NUMBER
109     ,account_id             NUMBER
110     ,vld_organization_id    NUMBER
111    );
112 TYPE OWNER_PTY_ACCT_TBL IS TABLE OF OWNER_PTY_ACCT_REC INDEX BY BINARY_INTEGER;
113 --
114 TYPE T_NUM IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
115 TYPE T_V30 IS TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER;
116 --
117 TYPE OWNER_PTY_ACCT_REC_TAB IS RECORD
118    (
119      instance_id             T_NUM
120     ,party_source_table      T_V30
121     ,party_id                T_NUM
122     ,account_id              T_NUM
123    );
124 --
125 /*--------------------------------------------------*/
126 /* procedure name: create_item_instance             */
127 /* description :   procedure used to                */
128 /*                 create item instances            */
129 /*                                                  */
130 /*--------------------------------------------------*/
131 
132 TYPE lock_instances_rec IS RECORD
133   (
134      instance_id             NUMBER  := fnd_api.g_miss_num
135     ,root_instance_id        NUMBER  := fnd_api.g_miss_num
136     ,lock_id                 NUMBER  := fnd_api.g_miss_num
137     ,lock_status             NUMBER  := fnd_api.g_miss_num
138     ,source_application_id   NUMBER  := fnd_api.g_miss_num
139     ,source_txn_header_ref   VARCHAR2(30) := fnd_api.g_miss_char
140     ,source_txn_line_ref1    VARCHAR2(30) := fnd_api.g_miss_char
141     ,source_txn_line_ref2    VARCHAR2(30) := fnd_api.g_miss_char
142     ,source_txn_line_ref3    VARCHAR2(30) := fnd_api.g_miss_char
143     ,config_inst_hdr_id      NUMBER := fnd_api.g_miss_num
144     ,config_inst_item_id     NUMBER := fnd_api.g_miss_num
145     ,config_inst_rev_num     NUMBER := fnd_api.g_miss_num
146     ,root_config_inst_hdr_id NUMBER := fnd_api.g_miss_num
147     ,root_config_inst_item_id NUMBER := fnd_api.g_miss_num
148     ,root_config_inst_rev_num NUMBER := fnd_api.g_miss_num
149   );
150 
151 TYPE lock_instances_tbl IS TABLE OF lock_instances_rec INDEX BY BINARY_INTEGER;
152 
153 TYPE lock_config_rec IS RECORD
154   (
155      config_inst_hdr_id      NUMBER := fnd_api.g_miss_num
156     ,config_inst_item_id     NUMBER := fnd_api.g_miss_num
157     ,config_inst_rev_num     NUMBER := fnd_api.g_miss_num
158   );
159 
160 FUNCTION check_item_instance_lock
161 (    p_instance_id         IN      NUMBER :=fnd_api.g_miss_num,
162      p_config_inst_hdr_id  IN      NUMBER :=fnd_api.g_miss_num,
163      p_config_inst_item_id IN      NUMBER :=fnd_api.g_miss_num,
164      p_config_inst_rev_num IN      NUMBER :=fnd_api.g_miss_num
165 ) RETURN BOOLEAN;
166 
167 PROCEDURE get_instance_lock_status
168 (    p_instance_id         IN   NUMBER ,
169      p_lock_status         OUT  NOCOPY NUMBER
170 );
171 PROCEDURE lock_item_instances
172  (
173      p_api_version           IN   NUMBER
174     ,p_commit                IN   VARCHAR2 := fnd_api.g_false
175     ,p_init_msg_list         IN   VARCHAR2 := fnd_api.g_false
176     ,p_validation_level      IN   NUMBER := fnd_api.g_valid_level_full
177     ,px_config_tbl           IN   OUT NOCOPY csi_cz_int.config_tbl
178 --    ,p_txn_rec               IN   OUT NOCOPY csi_datastructures_pub.transaction_rec
179     ,x_return_status         OUT  NOCOPY VARCHAR2
180     ,x_msg_count             OUT  NOCOPY NUMBER
181     ,x_msg_data              OUT  NOCOPY VARCHAR2
182  );
183 
184 PROCEDURE unlock_item_instances
185  (
186      p_api_version           IN   NUMBER
187     ,p_commit                IN   VARCHAR2 := fnd_api.g_false
188     ,p_init_msg_list         IN   VARCHAR2 := fnd_api.g_false
189     ,p_validation_level      IN   NUMBER := fnd_api.g_valid_level_full
190     ,p_config_tbl            IN   csi_cz_int.config_tbl
191     ,p_unlock_all            IN   VARCHAR2 :=fnd_api.g_false
192 --    ,p_txn_rec               IN   OUT NOCOPY csi_datastructures_pub.transaction_rec
193     ,x_return_status         OUT  NOCOPY VARCHAR2
194     ,x_msg_count             OUT  NOCOPY NUMBER
195     ,x_msg_data              OUT  NOCOPY VARCHAR2
196  );
197 
198 PROCEDURE create_item_instance
199  (
200      p_api_version           IN     NUMBER
201     ,p_commit                IN     VARCHAR2 := fnd_api.g_false
202     ,p_init_msg_list         IN     VARCHAR2 := fnd_api.g_false
203     ,p_validation_level      IN     NUMBER   := fnd_api.g_valid_level_full
204     ,p_instance_rec          IN OUT NOCOPY csi_datastructures_pub.instance_rec
205     ,p_txn_rec               IN OUT NOCOPY csi_datastructures_pub.transaction_rec
206     ,p_party_tbl             IN OUT NOCOPY csi_datastructures_pub.party_tbl
207     ,p_asset_tbl             IN OUT NOCOPY csi_datastructures_pub.instance_asset_tbl
208     ,x_return_status         OUT    NOCOPY VARCHAR2
209     ,x_msg_count             OUT    NOCOPY NUMBER
210     ,x_msg_data              OUT    NOCOPY VARCHAR2
211     ,p_item_attribute_tbl    IN OUT NOCOPY csi_item_instance_pvt.item_attribute_tbl
212     ,p_location_tbl          IN OUT NOCOPY csi_item_instance_pvt.location_tbl
213     ,p_generic_id_tbl        IN OUT NOCOPY csi_item_instance_pvt.generic_id_tbl
214     ,p_lookup_tbl            IN OUT NOCOPY csi_item_instance_pvt.lookup_tbl
215     ,p_ins_count_rec         IN OUT NOCOPY csi_item_instance_pvt.ins_count_rec
216     ,p_called_from_grp       IN     VARCHAR2 DEFAULT fnd_api.g_false
217     ,p_internal_party_id     IN     NUMBER DEFAULT -9999
218  );
219 
220 /*---------------------------------------------------*/
221 /* Procedure name: update_item_instance              */
222 /* Description :   procedure used to update an Item  */
223 /*                 Instance                          */
224 /*---------------------------------------------------*/
225 
226 PROCEDURE update_item_instance
227  (
228       p_api_version         IN      NUMBER
229      ,p_commit              IN      VARCHAR2 := fnd_api.g_false
230      ,p_init_msg_list       IN      VARCHAR2 := fnd_api.g_false
231      ,p_validation_level    IN      NUMBER   := fnd_api.g_valid_level_full
232      ,p_instance_rec        IN OUT  NOCOPY csi_datastructures_pub.instance_rec
233      ,p_txn_rec             IN OUT  NOCOPY csi_datastructures_pub.transaction_rec
234 
235      ,x_instance_id_lst     OUT     NOCOPY csi_datastructures_pub.id_tbl
236      ,x_return_status       OUT     NOCOPY VARCHAR2
237      ,x_msg_count           OUT     NOCOPY NUMBER
238      ,x_msg_data            OUT     NOCOPY VARCHAR2
239      ,p_item_attribute_tbl  IN OUT NOCOPY csi_item_instance_pvt.item_attribute_tbl
240 
241      ,p_location_tbl        IN OUT NOCOPY csi_item_instance_pvt.location_tbl
242      ,p_generic_id_tbl      IN OUT NOCOPY csi_item_instance_pvt.generic_id_tbl
243      ,p_lookup_tbl          IN OUT NOCOPY csi_item_instance_pvt.lookup_tbl
244      ,p_ins_count_rec       IN OUT NOCOPY csi_item_instance_pvt.ins_count_rec
245      ,p_called_from_rel     IN     VARCHAR2 DEFAULT fnd_api.g_false
246      ,p_validation_mode     IN     VARCHAR2 DEFAULT 'A'
247      ,p_oks_txn_inst_tbl    IN OUT NOCOPY oks_ibint_pub.txn_instance_tbl
248      ,p_child_inst_tbl      IN OUT NOCOPY csi_item_instance_grp.child_inst_tbl
249  );
250 
251 /*---------------------------------------------------*/
252 /* Procedure name: expire_child_instances            */
253 /* Description   : procedure for                     */
254 /*                 Expiring all child Instance       */
255 /*                 associated with the parent        */
256 /*---------------------------------------------------*/
257 PROCEDURE expire_child_instances
258    (   p_api_version         IN     NUMBER,
259        p_commit              IN     VARCHAR2,
260        p_init_msg_list       IN     VARCHAR2,
261        p_validation_level    IN     NUMBER,
262        p_instance_rec        IN     csi_datastructures_pub.instance_rec,
263        p_expire_children     IN     VARCHAR2,
264        p_txn_rec             IN OUT NOCOPY csi_datastructures_pub.transaction_rec,
265        x_instance_id_lst     OUT    NOCOPY csi_datastructures_pub.id_tbl,
266        p_oks_txn_inst_tbl    IN OUT NOCOPY oks_ibint_pub.txn_instance_tbl,
267        x_return_status       OUT    NOCOPY VARCHAR2,
268        x_msg_count           OUT    NOCOPY NUMBER,
269        x_msg_data            OUT    NOCOPY VARCHAR2
270    );
271 
272 /*---------------------------------------------------*/
273 /* Procedure name: expire_item_instance              */
274 /* Description :   procedure for                     */
275 /*                 Expiring an Item Instance         */
276 /*---------------------------------------------------*/
277 
278 PROCEDURE expire_item_instance
279  (
280       p_api_version         IN      NUMBER
281      ,p_commit              IN      VARCHAR2 := fnd_api.g_false
282      ,p_init_msg_list       IN      VARCHAR2 := fnd_api.g_false
283      ,p_validation_level    IN      NUMBER   := fnd_api.g_valid_level_full
284      ,p_instance_rec        IN      csi_datastructures_pub.instance_rec
285      ,p_expire_children     IN      VARCHAR2 := fnd_api.g_false
286      ,p_txn_rec             IN OUT  NOCOPY csi_datastructures_pub.transaction_rec
287      ,x_instance_id_lst     OUT     NOCOPY csi_datastructures_pub.id_tbl
288      ,p_oks_txn_inst_tbl    IN OUT NOCOPY oks_ibint_pub.txn_instance_tbl
289      ,x_return_status       OUT     NOCOPY VARCHAR2
290      ,x_msg_count           OUT     NOCOPY NUMBER
291      ,x_msg_data            OUT     NOCOPY VARCHAR2
292  );
293 
294 /*---------------------------------------------------*/
295 /* Procedure name:  Get_Inst_Column_Values           */
296 /* Description   :  This procedure gets the column   */
297 /*                  values for the Dynamic SQL       */
298 /*---------------------------------------------------*/
299 
300 PROCEDURE Get_Inst_Column_Values
301 (
302     p_get_inst_cursor_id      IN   NUMBER,
303     x_instance_id             OUT  NOCOPY NUMBER  );
304 
305 /*---------------------------------------------------*/
306 /* Procedure name:  Initialize_inst_rec              */
307 /* Description :    This procudure recontructs the   */
308 /*                  record from the history          */
309 /*---------------------------------------------------*/
310 
311 PROCEDURE Initialize_inst_rec
312 (
313   x_instance_rec                IN OUT NOCOPY csi_datastructures_pub.instance_header_rec,
314   p_instance_hist_id            IN     NUMBER ,
315   x_nearest_full_dump           IN OUT NOCOPY DATE  ) ;
316 
317 /*---------------------------------------------------*/
318 /* Procedure name:  Construct_inst_from_hist         */
319 /* Description :    This procudure recontructs the   */
320 /*                  record from the history          */
321 /*---------------------------------------------------*/
322 
323 PROCEDURE Construct_inst_from_hist
324 (
325   x_instance_rec           IN OUT NOCOPY csi_datastructures_pub.instance_header_rec,
326   p_time_stamp             IN     DATE                                      ) ;
327 
328 /*---------------------------------------------------*/
329 /* Procedure name:  Construct_inst_header_rec        */
330 /* Description   :  This procedure defines the       */
331 /*                  columns for the Dynamic SQL      */
332 /*---------------------------------------------------*/
333 
334 PROCEDURE Construct_inst_header_rec
335 (
336   p_inst_id                 IN   NUMBER,
337   x_instance_header_tbl     IN OUT NOCOPY  csi_datastructures_pub.instance_header_tbl );
338 
339 /*----------------------------------------------------------*/
340 /* Procedure name:  Resolve_Id_Columns                      */
341 /* Description   :  This procedure gets the column values   */
342 /*                  for the Dynamic SQL                     */
343 /*----------------------------------------------------------*/
344 
345 PROCEDURE Resolve_id_columns
346            (p_instance_header_tbl  IN OUT NOCOPY csi_datastructures_pub.instance_header_tbl);
347 
348 /*---------------------------------------------------*/
349 /* Procedure name:  Define_Inst_Columns              */
350 /* Description   :  This procedure defines the       */
351 /*                  columns for the Dynamic SQL      */
352 /*---------------------------------------------------*/
353 
354 PROCEDURE Define_Inst_Columns
355 (
356   p_get_inst_cursor_id      IN   NUMBER,
357   p_instance_query_rec      IN   csi_datastructures_pub.instance_query_rec );
358 
359 /*---------------------------------------------------*/
360 /* Procedure name:  Bind_Inst_variable               */
361 /* Description :    Procedure used to generate the   */
362 /*                  where clause for the Dynamic SQL */
363 /*---------------------------------------------------*/
364 
365 PROCEDURE Bind_Inst_variable
366 (
367     p_instance_query_rec        IN   csi_datastructures_pub.instance_query_rec,
368     p_party_query_rec           IN   csi_datastructures_pub.party_query_rec,
369     p_pty_acct_query_rec        IN   csi_datastructures_pub.party_account_query_rec,
370     p_transaction_id            IN   NUMBER,
371     p_cur_get_inst_rel          IN   NUMBER
372 );
373 
374 /*---------------------------------------------------*/
375 /* Procedure name:  Gen_Inst_Where_Clause            */
376 /* Description :    Procedure used to  build the     */
377 /*                  where clause  Dynamic SQL        */
378 /*---------------------------------------------------*/
379 
380 PROCEDURE Gen_Inst_Where_Clause
381 (
382     p_instance_query_rec    IN      csi_datastructures_pub.instance_query_rec,
383     p_party_query_rec       IN      csi_datastructures_pub.party_query_rec,
384     p_pty_acct_query_rec    IN      csi_datastructures_pub.party_account_query_rec,
385     p_transaction_id        IN      NUMBER,
386     x_select_stmt           OUT     NOCOPY VARCHAR2,
387     p_active_instance_only  IN      VARCHAR2
388 );
389 
390 /*---------------------------------------------------*/
391 /* Procedure name:  Get_Instance_Column_Values       */
392 /* Description   :  This procedure gets the column   */
393 /*                  values for the Dynamic SQL       */
394 /*---------------------------------------------------*/
395 
396 PROCEDURE Get_Instance_Col_Values
397 (
398     p_get_instance_cur_id      IN       NUMBER,
399     x_instance_rec             IN OUT   NOCOPY csi_datastructures_pub.instance_header_rec
400 );
401 
402 /*---------------------------------------------------*/
403 /* Procedure name:  Define_Instance_Columns          */
404 /* Description   :  This procedure defines the       */
405 /*                  columns for the Dynamic SQL      */
406 /*---------------------------------------------------*/
407 
408 PROCEDURE Define_Instance_Columns
409 (
410   p_get_instance_cur_id      IN   NUMBER
411 );
412 
413 /*---------------------------------------------------*/
414 /* Procedure name:  Anything_To_Update               */
415 /* Description   :  This function  checks if any of  */
416 /*                  the columns related to instance  */
417 /*                  are changing                     */
418 /*---------------------------------------------------*/
419 
420 FUNCTION Anything_To_Update
421 (
422  p_instance_rec    csi_datastructures_pub.instance_rec
423 )
424 RETURN BOOLEAN;
425 
426 /*----------------------------------------------------*/
427 /*  This Procedure validates the accounting class code*/
428 /*  depending upon the location type code             */
429 /*----------------------------------------------------*/
430 
431 PROCEDURE get_and_update_acct_class
432 ( p_api_version          IN      NUMBER
433  ,p_commit               IN      VARCHAR2 := fnd_api.g_false
434  ,p_init_msg_list        IN      VARCHAR2 := fnd_api.g_false
435  ,p_validation_level     IN      NUMBER   := fnd_api.g_valid_level_full
436  ,p_instance_id          IN      NUMBER
437  ,p_instance_expiry_flag IN      VARCHAR2 :=  fnd_api.g_true
438  ,p_txn_rec              IN OUT  NOCOPY csi_datastructures_pub.transaction_rec
439  ,x_acct_class_code      OUT     NOCOPY VARCHAR2
440  ,x_return_status        OUT     NOCOPY VARCHAR2
441  ,x_msg_count            OUT     NOCOPY NUMBER
442  ,x_msg_data             OUT     NOCOPY VARCHAR2
443 );
444 
445 /*---------------------------------------------------*/
446 /* Procedure name:  Bind_Instance_variable           */
447 /* Description :    Procedure used to generate the   */
448 /*                  where clause for Item Instances  */
449 /*---------------------------------------------------*/
450 
451 PROCEDURE Bind_Instance_variable
452 (
453     p_instance_rec              IN   csi_datastructures_pub.instance_header_rec,
454     p_cur_get_instance_rel      IN   NUMBER
455 );
456 
457 /*---------------------------------------------------*/
458 /* Procedure name:  Split_Item_Instance              */
459 /* Description   :  This procedure is used to create */
460 /*                  split lines for instance         */
461 /*---------------------------------------------------*/
462 
463 PROCEDURE Split_Item_Instance
464  (
465    p_api_version                  IN      NUMBER
466   ,p_commit                       IN      VARCHAR2 := fnd_api.g_false
467   ,p_init_msg_list                IN      VARCHAR2 := fnd_api.g_false
468   ,p_validation_level             IN      NUMBER   := fnd_api.g_valid_level_full
469   ,p_source_instance_rec          IN OUT  NOCOPY csi_datastructures_pub.instance_rec
470   ,p_quantity1                    IN      NUMBER
471   ,p_quantity2                    IN      NUMBER
472   ,p_copy_ext_attribs             IN      VARCHAR2 := fnd_api.g_true
473   ,p_copy_org_assignments         IN      VARCHAR2 := fnd_api.g_true
474   ,p_copy_parties                 IN      VARCHAR2 := fnd_api.g_true
475 --  ,p_copy_contacts                IN      VARCHAR2 := fnd_api.g_true
476   ,p_copy_accounts                IN      VARCHAR2 := fnd_api.g_true
477   ,p_copy_asset_assignments       IN      VARCHAR2 := fnd_api.g_true
478   ,p_copy_pricing_attribs         IN      VARCHAR2 := fnd_api.g_true
479   ,p_txn_rec                      IN OUT  NOCOPY csi_datastructures_pub.transaction_rec
480   ,x_new_instance_rec             OUT     NOCOPY csi_datastructures_pub.instance_rec
481   ,x_return_status                OUT     NOCOPY VARCHAR2
482   ,x_msg_count                    OUT     NOCOPY NUMBER
483   ,x_msg_data                     OUT     NOCOPY VARCHAR2
484  );
485 
486 /*---------------------------------------------------*/
487 /* Procedure name:  Split_Item_Instance_lines        */
488 /* Description   :  This procedure is used to create */
489 /*                  split lines for instance         */
490 /*---------------------------------------------------*/
491  PROCEDURE Split_Item_Instance_Lines
492  (
493    p_api_version                 IN      NUMBER
494   ,p_commit                      IN      VARCHAR2 := fnd_api.g_false
495   ,p_init_msg_list               IN      VARCHAR2 := fnd_api.g_false
496   ,p_validation_level            IN      NUMBER   := fnd_api.g_valid_level_full
497   ,p_source_instance_rec         IN OUT  NOCOPY csi_datastructures_pub.instance_rec
498   ,p_copy_ext_attribs            IN      VARCHAR2 := fnd_api.g_true
499   ,p_copy_org_assignments        IN      VARCHAR2 := fnd_api.g_true
500   ,p_copy_parties                IN      VARCHAR2 := fnd_api.g_true
501 --  ,p_copy_contacts               IN      VARCHAR2 := fnd_api.g_true
502   ,p_copy_accounts               IN      VARCHAR2 := fnd_api.g_true
503   ,p_copy_asset_assignments      IN      VARCHAR2 := fnd_api.g_true
504   ,p_copy_pricing_attribs        IN      VARCHAR2 := fnd_api.g_true
505   ,p_txn_rec                     IN OUT  NOCOPY csi_datastructures_pub.transaction_rec
506   ,x_new_instance_tbl            OUT     NOCOPY csi_datastructures_pub.instance_tbl
507   ,x_return_status               OUT     NOCOPY VARCHAR2
508   ,x_msg_count                   OUT     NOCOPY NUMBER
509   ,x_msg_data                    OUT     NOCOPY VARCHAR2
510  );
511 
512 /*----------------------------------------------------------*/
513 /* Procedure name:  Initialize_ver_rec_no_dump              */
514 /* Description : This procedure initializes the first       */
515 /*                 record from the history                  */
516 /*----------------------------------------------------------*/
517 
518 PROCEDURE Initialize_ver_rec_no_dump
519 (
520   x_version_label_rec      IN OUT NOCOPY csi_datastructures_pub.version_label_rec,
521   p_version_label_id       IN NUMBER ,
522   x_no_dump                IN OUT NOCOPY DATE
523   );
524 
525 /*---------------------------------------------------*/
526 /* Procedure name:  Initialize_ver_rec               */
527 /* Description :    This procudure recontructs the   */
528 /*                  record from the history          */
529 /*---------------------------------------------------*/
530 
531 PROCEDURE Initialize_ver_rec
532 (
533   x_version_label_rec           IN OUT NOCOPY csi_datastructures_pub.version_label_rec,
534   p_version_label_hist_id       IN     NUMBER ,
535   x_nearest_full_dump           IN OUT NOCOPY DATE  ) ;
536 
537 /*---------------------------------------------------*/
538 /* Procedure name:  Construct_ver_from_hist          */
539 /* Description :    This procudure recontructs the   */
540 /*                  record from the history          */
541 /*---------------------------------------------------*/
542 
543 PROCEDURE Construct_ver_from_hist
544 (
545   x_version_label_tbl      IN OUT NOCOPY csi_datastructures_pub.version_label_tbl,
546   p_time_stamp             IN     DATE                                ) ;
547 
548 /*---------------------------------------------------*/
549 /* Procedure name:  Get_Ver_Column_Values            */
550 /* Description :    This procudure gets the column   */
551 /*                  values for the Dynamic SQL       */
552 /*---------------------------------------------------*/
553 
554 PROCEDURE Get_Ver_Column_Values
555 (
556     p_get_ver_cursor_id    IN   NUMBER      ,
557     x_ver_label_query_rec  OUT  NOCOPY csi_datastructures_pub.version_label_rec );
558 
559 /*---------------------------------------------------*/
560 /* Procedure name:  Define_Ver_Columns               */
561 /* Description :    This procudure defines the       */
562 /*                  columns for the Dynamic SQL      */
563 /*---------------------------------------------------*/
564 
565 PROCEDURE Define_Ver_Columns
566 (
567     p_get_ver_cursor_id      IN   NUMBER             ) ;
568 
569 /*---------------------------------------------------*/
570 /* Procedure name:Bind_Ver_variable                  */
571 /* Description : Procedure used to  generate the     */
572 /*               where clause for Party relationship */
573 /*---------------------------------------------------*/
574 
575 PROCEDURE Bind_Ver_variable
576 (
577     p_ver_label_query_rec  IN    csi_datastructures_pub.version_label_query_rec,
578     p_get_ver_cursor_id    IN    NUMBER             );
579 
580 /*---------------------------------------------------*/
581 /* Procedure name:Gen_Ver_Where_Clause               */
582 /* Description : Procedure used to  generate the     */
583 /*               where cluase for Party relationship */
584 /*---------------------------------------------------*/
585 
586 PROCEDURE Gen_Ver_Where_Clause
587 (   p_ver_label_query_rec      IN    csi_datastructures_pub.version_label_query_rec
588    ,x_where_clause             OUT   NOCOPY VARCHAR2           );
589 
590 /*---------------------------------------------------*/
591 /* Pocedure name:  Create_version_label              */
592 /* Description :   procedure for creating            */
593 /*                 version label for                 */
594 /*                 an Item Instance                  */
595 /*---------------------------------------------------*/
596 
597 PROCEDURE create_version_label
598  (    p_api_version         IN      NUMBER
599      ,p_commit              IN      VARCHAR2 := fnd_api.g_false
600      ,p_init_msg_list       IN      VARCHAR2 := fnd_api.g_false
601      ,p_validation_level    IN      NUMBER   := fnd_api.g_valid_level_full
602      ,p_version_label_rec   IN OUT  NOCOPY csi_datastructures_pub.version_label_rec
603      ,p_txn_rec             IN OUT  NOCOPY csi_datastructures_pub.transaction_rec
604      ,x_return_status       OUT     NOCOPY VARCHAR2
605      ,x_msg_count           OUT     NOCOPY NUMBER
606      ,x_msg_data            OUT     NOCOPY VARCHAR2         );
607 
608 /*---------------------------------------------------*/
609 /* Procedure name: Update_version_label              */
610 /* Description :   procedure for Update              */
611 /*                 version label for                 */
612 /*                 an Item Instance                  */
613 /*---------------------------------------------------*/
614 
615 PROCEDURE update_version_label
616  (    p_api_version                 IN      NUMBER
617      ,p_commit                      IN      VARCHAR2 := fnd_api.g_false
618      ,p_init_msg_list               IN      VARCHAR2 := fnd_api.g_false
619      ,p_validation_level            IN      NUMBER   := fnd_api.g_valid_level_full
620      ,p_version_label_rec           IN      csi_datastructures_pub.version_label_rec
621      ,p_txn_rec                     IN OUT  NOCOPY csi_datastructures_pub.transaction_rec
622      ,p_call_transaction            IN      VARCHAR2 := fnd_api.g_true
623      ,x_return_status               OUT     NOCOPY VARCHAR2
624      ,x_msg_count                   OUT     NOCOPY NUMBER
625      ,x_msg_data                    OUT     NOCOPY VARCHAR2    );
626 
627 /*---------------------------------------------------*/
628 /* Procedure name: expire_version_label              */
629 /* Description :   procedure for expire              */
630 /*                 version label for                 */
631 /*                 an Item Instance                  */
632 /*---------------------------------------------------*/
633 
634 PROCEDURE expire_version_label
635  (    p_api_version                 IN      NUMBER
636      ,p_commit                      IN      VARCHAR2 := fnd_api.g_false
637      ,p_init_msg_list               IN      VARCHAR2 := fnd_api.g_false
638      ,p_validation_level            IN      NUMBER   := fnd_api.g_valid_level_full
639      ,p_version_label_rec           IN      csi_datastructures_pub.version_label_rec
640      ,p_txn_rec                     IN OUT  NOCOPY csi_datastructures_pub.transaction_rec
641      ,x_return_status               OUT     NOCOPY VARCHAR2
642      ,x_msg_count                   OUT     NOCOPY NUMBER
643      ,x_msg_data                    OUT     NOCOPY VARCHAR2    );
644 
645 --
646 TYPE EXT_COUNT_REC IS RECORD
647   (
648      ext_count         NUMBER   	:= FND_API.G_MISS_NUM
649     ,ext_attr_count    NUMBER       := FND_API.G_MISS_NUM
650     ,ext_cat_count     NUMBER       := FND_API.G_MISS_NUM
651   );
652 --
653 TYPE EXT_ID_REC IS RECORD
654   (
655      instance_id	   NUMBER	    := FND_API.G_MISS_NUM
656     ,inv_item_id       NUMBER       := FND_API.G_MISS_NUM
657     ,inv_mast_org_id   NUMBER       := FND_API.G_MISS_NUM
658     ,valid_flag		   VARCHAR2(1)	:= FND_API.G_MISS_CHAR
659   );
660 TYPE EXT_ID_TBL IS TABLE OF EXT_ID_REC INDEX BY BINARY_INTEGER;
661 --
662 TYPE EXT_ATTR_REC IS RECORD
663   (
664      instance_id	   NUMBER	    := FND_API.G_MISS_NUM
665     ,inv_item_id       NUMBER       := FND_API.G_MISS_NUM
666     ,inv_mast_org_id   NUMBER       := FND_API.G_MISS_NUM
667     ,attribute_id      NUMBER       := FND_API.G_MISS_NUM
668     ,attribute_level   VARCHAR2(15) := FND_API.G_MISS_CHAR
669     ,item_category_id  NUMBER       := FND_API.G_MISS_NUM
670     ,valid_flag		   VARCHAR2(1)	:= FND_API.G_MISS_CHAR
671   );
672 TYPE EXT_ATTR_TBL IS TABLE OF EXT_ATTR_REC INDEX BY BINARY_INTEGER;
673 --
674 TYPE EXT_CAT_REC IS RECORD
675   (
676      inv_item_id       NUMBER      := FND_API.G_MISS_NUM
677     ,inv_mast_org_id   NUMBER      := FND_API.G_MISS_NUM
678     ,item_cat_id       NUMBER      := FND_API.G_MISS_NUM
679     ,valid_flag        VARCHAR2(1) := FND_API.G_MISS_CHAR
680   );
681 TYPE EXT_CAT_TBL IS TABLE OF EXT_CAT_REC INDEX BY BINARY_INTEGER;
682 --
683 
684 /*----------------------------------------------------------*/
685 /* Procedure name:  Initialize_ext_rec_no_dump              */
686 /* Description : This procedure initialises the first       */
687 /*                  record from the history                 */
688 /*----------------------------------------------------------*/
689 
690 PROCEDURE Initialize_ext_rec_no_dump
691 (
692  x_ext_rec               IN OUT  NOCOPY csi_datastructures_pub.extend_attrib_values_rec,
693  p_ext_id              IN      NUMBER,
694  x_no_dump     IN OUT  NOCOPY DATE
695 );
696 
697 /*---------------------------------------------------*/
698 /* Procedure name:  Initialize_ext_rec               */
699 /* Description : This procudure recontructs the      */
700 /*               record from the history             */
701 /*---------------------------------------------------*/
702 
703 PROCEDURE Initialize_ext_rec
704 (x_ext_rec            IN OUT  NOCOPY csi_datastructures_pub.extend_attrib_values_rec,
705  p_ext_h_id           IN      NUMBER,
706 x_nearest_full_dump   IN OUT  NOCOPY DATE
707 );
708 
709 /*---------------------------------------------------*/
710 /* Procedure name:  Construct_ext_from_hist          */
711 /* Description : This procudure recontructs the      */
712 /*               record from the history             */
713 /*---------------------------------------------------*/
714 
715 PROCEDURE Construct_ext_from_hist
716 ( x_ext_tbl      IN OUT   NOCOPY csi_datastructures_pub.extend_attrib_values_tbl,
717   p_time_stamp   IN       DATE
718  );
719 
720 /*---------------------------------------------------*/
721 /* Procedure name:  Define_ext_Columns               */
722 /* Description : This procudure defines the columns  */
723 /*                        for the Dynamic SQL        */
724 /*---------------------------------------------------*/
725 
726 PROCEDURE Define_ext_Columns
727 (  p_get_ext_cursor_id      IN   NUMBER);
728 
729 /*---------------------------------------------------*/
730 /* Procedure name:  Get_ext_Column_Values            */
731 /* Description : This procudure gets the column      */
732 /*               values for the Dynamic SQL          */
733 /*---------------------------------------------------*/
734 
735 PROCEDURE Get_ext_Column_Values
736    ( p_get_ext_cursor_id   IN       NUMBER,
737      x_ext_rec                OUT  NOCOPY csi_datastructures_pub.extend_attrib_values_rec
738     );
739 
740 /*---------------------------------------------------*/
741 /* Procedure name:  Bind_ext_variable                */
742 /* Description : This procudure binds the column     */
743 /*               values for the Dynamic SQL          */
744 /*---------------------------------------------------*/
745 
746 PROCEDURE Bind_ext_variable
747   ( p_ext_query_rec    IN    csi_datastructures_pub.extend_attrib_query_rec,
748     p_cur_get_ext      IN    NUMBER
749    );
750 
751 /*---------------------------------------------------*/
752 /* Procedure name:  Gen_ext_Where_Clause             */
753 /* Description : Procedure used to generate the      */
754 /*               where clause for Extended           */
755 /*               Attribute units                     */
756 /*---------------------------------------------------*/
757 
758 PROCEDURE Gen_ext_Where_Clause
759  (  p_ext_query_rec   IN   csi_datastructures_pub.extend_attrib_query_rec
760    ,x_where_clause    OUT  NOCOPY VARCHAR2
761   );
762 
763 /*---------------------------------------------------*/
764 /* procedure name: create_extended_attrib_values     */
765 /* description :  Associates extended attributes to  */
766 /*                an item instance                   */
767 /*                                                   */
768 /*---------------------------------------------------*/
769 
770 PROCEDURE create_extended_attrib_values
771  (    p_api_version        IN     NUMBER
772      ,p_commit             IN     VARCHAR2 := fnd_api.g_false
773      ,p_init_msg_list      IN     VARCHAR2 := fnd_api.g_false
774      ,p_validation_level   IN     NUMBER   := fnd_api.g_valid_level_full
775      ,p_ext_attrib_rec     IN OUT NOCOPY csi_datastructures_pub.extend_attrib_values_rec
776      ,p_txn_rec            IN OUT NOCOPY csi_datastructures_pub.transaction_rec
777      ,x_return_status         OUT NOCOPY VARCHAR2
778      ,x_msg_count             OUT NOCOPY NUMBER
779      ,x_msg_data              OUT NOCOPY VARCHAR2
780      ,p_ext_id_tbl         IN OUT NOCOPY csi_item_instance_pvt.ext_id_tbl
781      ,p_ext_count_rec      IN OUT NOCOPY csi_item_instance_pvt.ext_count_rec
782      ,p_ext_attr_tbl       IN OUT NOCOPY csi_item_instance_pvt.ext_attr_tbl
783      ,p_ext_cat_tbl        IN OUT NOCOPY csi_item_instance_pvt.ext_cat_tbl
784      ,p_called_from_grp    IN     VARCHAR2 DEFAULT fnd_api.g_false
785  );
786 
787 /*---------------------------------------------------*/
788 /* procedure name: update_extended_attrib_values     */
789 /* description :  Updates the existing extended      */
790 /*                attributes for an item instance    */
791 /*                                                   */
792 /*---------------------------------------------------*/
793 
794 PROCEDURE update_extended_attrib_values
795  (    p_api_version        IN       NUMBER
796      ,p_commit             IN       VARCHAR2 := fnd_api.g_false
797      ,p_init_msg_list      IN       VARCHAR2 := fnd_api.g_false
798      ,p_validation_level   IN       NUMBER   := fnd_api.g_valid_level_full
799      ,p_ext_attrib_rec     IN       csi_datastructures_pub.extend_attrib_values_rec
800      ,p_txn_rec            IN   OUT NOCOPY csi_datastructures_pub.transaction_rec
801      ,x_return_status           OUT NOCOPY VARCHAR2
802      ,x_msg_count               OUT NOCOPY NUMBER
803      ,x_msg_data                OUT NOCOPY VARCHAR2
804  );
805 
806 /*---------------------------------------------------*/
807 /* procedure name: expire_extended_attrib_values     */
808 /* description :  Expires the existing extended      */
809 /*                attributes for an item instance    */
810 /*                                                   */
811 /*---------------------------------------------------*/
812 
813 PROCEDURE expire_extended_attrib_values
814  (    p_api_version        IN       NUMBER
815      ,p_commit             IN       VARCHAR2 := fnd_api.g_false
816      ,p_init_msg_list      IN       VARCHAR2 := fnd_api.g_false
817      ,p_validation_level   IN       NUMBER   := fnd_api.g_valid_level_full
818      ,p_ext_attrib_rec     IN       csi_datastructures_pub.extend_attrib_values_rec
819      ,p_txn_rec            IN   OUT NOCOPY csi_datastructures_pub.transaction_rec
820      ,x_return_status           OUT NOCOPY VARCHAR2
821      ,x_msg_count               OUT NOCOPY NUMBER
822      ,x_msg_data                OUT NOCOPY VARCHAR2
823  );
824 
825 /*---------------------------------------------------*/
826 /* procedure name: copy_item_instance_old            */
827 /* description :  Copies an instace from an instance */
828 /*                                                   */
829 /*---------------------------------------------------*/
830 
831 PROCEDURE copy_single_item_instance
832  (
833    p_api_version            IN         NUMBER
834   ,p_commit                 IN         VARCHAR2 := fnd_api.g_false
835   ,p_init_msg_list          IN         VARCHAR2 := fnd_api.g_false
836   ,p_validation_level       IN         NUMBER   := fnd_api.g_valid_level_full
837   ,p_source_instance_rec    IN         csi_datastructures_pub.instance_rec
838   ,p_copy_ext_attribs       IN         VARCHAR2 := fnd_api.g_false
839   ,p_copy_org_assignments   IN         VARCHAR2 := fnd_api.g_false
840   ,p_copy_parties           IN         VARCHAR2 := fnd_api.g_false
841   ,p_copy_contacts          IN         VARCHAR2 := fnd_api.g_false
842   ,p_copy_accounts          IN         VARCHAR2 := fnd_api.g_false
843   ,p_copy_asset_assignments IN         VARCHAR2 := fnd_api.g_false
844   ,p_copy_pricing_attribs   IN         VARCHAR2 := fnd_api.g_false
845   ,p_call_from_split        IN         VARCHAR2 := fnd_api.g_false
846   ,p_call_from_bom_expl     IN         VARCHAR2 DEFAULT fnd_api.g_false -- should be passed only from Explode BOM
847   ,p_txn_rec                IN  OUT    NOCOPY csi_datastructures_pub.transaction_rec
848   ,x_new_instance_tbl           OUT    NOCOPY csi_datastructures_pub.instance_tbl
849   ,x_return_status              OUT    NOCOPY VARCHAR2
850   ,x_msg_count                  OUT    NOCOPY NUMBER
851   ,x_msg_data                   OUT    NOCOPY VARCHAR2
852  );
853 
854 /*-------------------------------------------------------------*/
855 /* Procedure name:  Explode_Bom                                */
856 /* Description :    This procudure explodes the BOM and        */
857 /*                  creates instances and relationships        */
858 /*                  The parameter p_create_instance determines */
859 /*                  whether to create instances or not.        */
860 /* Author      :    Srinivasan Ramakrishnan                    */
861 /*-------------------------------------------------------------*/
862 
863 PROCEDURE Explode_Bom
864  (
865    p_api_version            IN     NUMBER
866   ,p_commit                 IN     VARCHAR2 := fnd_api.g_false
867   ,p_init_msg_list          IN     VARCHAR2 := fnd_api.g_false
868   ,p_validation_level       IN     NUMBER   := fnd_api.g_valid_level_full
869   ,p_source_instance_rec    IN     csi_datastructures_pub.instance_rec
870   ,p_explosion_level        IN     NUMBER
871   ,p_item_tbl               OUT    NOCOPY csi_datastructures_pub.instance_tbl
872   ,p_item_relation_tbl      OUT    NOCOPY csi_datastructures_pub.ii_relationship_tbl
873   ,p_create_instance        IN     VARCHAR2 DEFAULT FND_API.G_FALSE
874   ,p_txn_rec                IN OUT NOCOPY csi_datastructures_pub.transaction_rec
875   ,x_return_status          OUT    NOCOPY VARCHAR2
876   ,x_msg_count              OUT    NOCOPY NUMBER
877   ,x_msg_data               OUT    NOCOPY VARCHAR2
878  );
879 
880 /*---------------------------------------------------*/
881 /* procedure name: get_instance_hist                 */
882 /* description   : Retreive history transactions     */
883 /*                 for an instance                   */
884 /*---------------------------------------------------*/
885 
886 PROCEDURE get_instance_hist
887 ( p_api_version           IN  NUMBER
888  ,p_commit                IN  VARCHAR2 := fnd_api.g_false
889  ,p_init_msg_list         IN  VARCHAR2 := fnd_api.g_false
890  ,p_validation_level      IN  NUMBER   := fnd_api.g_valid_level_full
891  ,p_transaction_id        IN  NUMBER
892  ,x_instance_history_tbl  OUT NOCOPY csi_datastructures_pub.instance_history_tbl
893  ,x_return_status         OUT NOCOPY VARCHAR2
894  ,x_msg_count             OUT NOCOPY NUMBER
895  ,x_msg_data              OUT NOCOPY VARCHAR2
896  );
897 
898 /*---------------------------------------------------*/
899 /* procedure name: call_to_contracts                 */
900 /* description   : call_to_contracts                 */
901 /*                                                   */
902 /*---------------------------------------------------*/
903 
904 
905 PROCEDURE Call_to_Contracts
906 (  p_transaction_type         IN   VARCHAR2
907   ,p_instance_id              IN   NUMBER
908   ,p_new_instance_id          IN   NUMBER
909   ,p_vld_org_id               IN   NUMBER
910   ,p_quantity                 IN   NUMBER
911   ,p_party_account_id1        IN   NUMBER
912   ,p_party_account_id2        IN   NUMBER
913   ,p_transaction_date         IN   DATE   := fnd_api.g_miss_date
914   ,p_source_transaction_date  IN   DATE   := fnd_api.g_miss_date  -- Added by jpwilson
915   ,p_transaction_id           IN   NUMBER := fnd_api.g_miss_num  -- Added by sguthiva for TRF(HTML)
916   ,p_grp_call_contracts       IN   VARCHAR2 DEFAULT fnd_api.g_false
917   ,p_txn_type_id              IN   NUMBER DEFAULT fnd_api.g_miss_num
918   ,p_system_id                IN   NUMBER DEFAULT fnd_api.g_miss_num -- OKS Enhancement
919   ,p_order_line_id            IN   NUMBER DEFAULT fnd_api.g_miss_num -- should be passed only when un-expiring an Instance
920   ,p_call_from_bom_expl       IN   VARCHAR2 DEFAULT fnd_api.g_false
921   ,p_oks_txn_inst_tbl         IN OUT NOCOPY oks_ibint_pub.txn_instance_tbl
922   ,x_return_status            OUT  NOCOPY VARCHAR2
923   ,x_msg_count                OUT  NOCOPY NUMBER
924   ,x_msg_data                 OUT  NOCOPY VARCHAR2
925   );
926 
927 /*---------------------------------------------------*/
928 /* procedure name: get_ext_attrib_val_hist           */
929 /* description   : Retreive history transactions     */
930 /*                 for extended attribute values     */
931 /*---------------------------------------------------*/
932 
933 PROCEDURE get_ext_attrib_val_hist
934 ( p_api_version             IN  NUMBER
935  ,p_commit                  IN  VARCHAR2 := fnd_api.g_false
936  ,p_init_msg_list           IN  VARCHAR2 := fnd_api.g_false
937  ,p_validation_level        IN  NUMBER   := fnd_api.g_valid_level_full
938  ,p_transaction_id          IN  NUMBER
939  ,x_ext_attrib_val_hist_tbl OUT NOCOPY csi_datastructures_pub.ext_attrib_val_history_tbl
940  ,x_return_status           OUT NOCOPY VARCHAR2
941  ,x_msg_count               OUT NOCOPY NUMBER
942  ,x_msg_data                OUT NOCOPY VARCHAR2
943  );
944 
945 /*------------------------------------------------------*/
946 /* procedure name: copy_item_instance                   */
947 /* description :  Copies an instace from an instance.   */
948 /*                It has the configuration parameter    */
949 /*------------------------------------------------------*/
950 
951 
952 PROCEDURE copy_item_instance
953  ( p_api_version            IN         NUMBER
954   ,p_commit                 IN         VARCHAR2 := fnd_api.g_false
955   ,p_init_msg_list          IN         VARCHAR2 := fnd_api.g_false
956   ,p_validation_level       IN         NUMBER   := fnd_api.g_valid_level_full
957   ,p_source_instance_rec    IN         csi_datastructures_pub.instance_rec
958   ,p_copy_ext_attribs       IN         VARCHAR2 := fnd_api.g_false
959   ,p_copy_org_assignments   IN         VARCHAR2 := fnd_api.g_false
960   ,p_copy_parties           IN         VARCHAR2 := fnd_api.g_false
961   ,p_copy_contacts          IN         VARCHAR2 := fnd_api.g_false
962   ,p_copy_accounts          IN         VARCHAR2 := fnd_api.g_false
963   ,p_copy_asset_assignments IN         VARCHAR2 := fnd_api.g_false
964   ,p_copy_pricing_attribs   IN         VARCHAR2 := fnd_api.g_false
965   ,p_copy_inst_children     IN         VARCHAR2 := fnd_api.g_false
966   ,p_call_from_split        IN         VARCHAR2 := fnd_api.g_false
967   ,p_txn_rec                IN  OUT    NOCOPY csi_datastructures_pub.transaction_rec
968   ,x_new_instance_tbl           OUT    NOCOPY csi_datastructures_pub.instance_tbl
969   ,x_return_status              OUT    NOCOPY VARCHAR2
970   ,x_msg_count                  OUT    NOCOPY NUMBER
971   ,x_msg_data                   OUT    NOCOPY VARCHAR2
972  );
973 
974 
975 
976 /*------------------------------------------------------------*/
977 /* Procedure name:   get_version_label_history                */
978 /* Description :     Procedure used to  get version lables    */
979 /*                   from history given a transaction_id      */
980 /*------------------------------------------------------------*/
981 
982 PROCEDURE get_version_label_history
983  (    p_api_version             IN  NUMBER
984      ,p_commit                  IN  VARCHAR2 := fnd_api.g_false
985      ,p_init_msg_list           IN  VARCHAR2 := fnd_api.g_false
986      ,p_validation_level        IN  NUMBER   := fnd_api.g_valid_level_full
987      ,p_transaction_id          IN  NUMBER
988      ,x_version_label_hist_tbl  OUT NOCOPY csi_datastructures_pub.version_label_history_tbl
989      ,x_return_status           OUT NOCOPY VARCHAR2
990      ,x_msg_count               OUT NOCOPY NUMBER
991      ,x_msg_data                OUT NOCOPY VARCHAR2
992     );
993 
994 /*----------------------------------------------------*/
995 /* Procedure name: get_instance_link_locations        */
996 /* Description :   procedure to                       */
997 /*                 get an Item Instance               */
998 /*----------------------------------------------------*/
999 
1000 PROCEDURE get_instance_link_locations
1001  (
1002       p_api_version          IN  NUMBER
1003      ,p_commit               IN  VARCHAR2 := fnd_api.g_false
1004      ,p_init_msg_list        IN  VARCHAR2 := fnd_api.g_false
1005      ,p_validation_level     IN  NUMBER   := fnd_api.g_valid_level_full
1006      ,p_instance_id          IN  NUMBER
1007      ,x_instance_link_rec    OUT NOCOPY csi_datastructures_pub.instance_link_rec
1008      ,x_return_status        OUT NOCOPY VARCHAR2
1009      ,x_msg_count            OUT NOCOPY NUMBER
1010      ,x_msg_data             OUT NOCOPY VARCHAR2
1011     );
1012 
1013 PROCEDURE Update_version_time
1014  (
1015      p_api_version           IN     NUMBER
1016     ,p_commit                IN     VARCHAR2 := fnd_api.g_false
1017     ,p_init_msg_list         IN     VARCHAR2 := fnd_api.g_false
1018     ,p_validation_level      IN     NUMBER   := fnd_api.g_valid_level_full
1019     ,p_txn_rec               IN OUT NOCOPY csi_datastructures_pub.transaction_rec
1020     ,x_return_status         OUT NOCOPY   VARCHAR2
1021     ,x_msg_count             OUT NOCOPY   NUMBER
1022     ,x_msg_data              OUT NOCOPY   VARCHAR2);
1023 
1024 END CSI_ITEM_INSTANCE_PVT;