DBA Data[Home] [Help]

PACKAGE: APPS.CZ_DEVELOPER_UTILS_PVT

Source


1 PACKAGE CZ_DEVELOPER_UTILS_PVT AUTHID CURRENT_USER AS
2 /*	$Header: czdevus.pls 120.13 2010/06/14 20:27:35 smanna ship $		*/
3 
4 --
5 -- update node names in rule text
6 -- Parameters : p_rule_id - identifies rule
7 -- Returns    : rule text with updated node names
8 --
9 COMPONENT_TYPE               CONSTANT INTEGER := 259;
10 REFERENCE_TYPE               CONSTANT INTEGER := 263;
11 FEATURE_TYPE                 CONSTANT INTEGER := 261;
12 CONNECTOR_TYPE               CONSTANT INTEGER := 264;
13 BOM_MODEL_TYPE               CONSTANT INTEGER := 436;
14 OPTION_FEATURE_TYPE          CONSTANT INTEGER := 0;
15 
16 PROFILE_OPTION_LABEL_BOM     CONSTANT VARCHAR2(80)  := 'CZ_DEV_ASSOC_OBJECT_BOM_NODES';
17 PROFILE_OPTION_LABEL_NONBOM  CONSTANT VARCHAR2(80)  := 'CZ_DEV_ASSOC_OBJ_NON_BOM_NODES';
18 OPTION_VALUE_LABEL_NAME      CONSTANT VARCHAR2(240) := '2';
19 OPTION_VALUE_LABEL_DESC      CONSTANT VARCHAR2(240) := '1';
20 
21 PROFILE_OPTION_EFF_FILTER    CONSTANT VARCHAR2(80)  := 'CZEFFECTIVITYFILTER';
22 OPTION_VALUE_FILTER_ALL      CONSTANT VARCHAR2(240) := 'ALL';
23 OPTION_VALUE_FILTER_CURRENT  CONSTANT VARCHAR2(240) := 'CURRENT';
24 OPTION_VALUE_FILTER_FUTURE   CONSTANT VARCHAR2(240) := 'FUTUREANDCURRENT';
25 LCE_ENGINE_TYPE              CONSTANT VARCHAR2(1)   := 'L';
26 NlsNumericCharacters         CONSTANT VARCHAR2(16) := '.,';
27 
28 RULE_TYPE_LOGIC              CONSTANT PLS_INTEGER := 21;
29 RULE_TYPE_NUMERIC            CONSTANT PLS_INTEGER := 22;
30 RULE_TYPE_COMPAT             CONSTANT PLS_INTEGER := 23;
31 RULE_TYPE_COMPAT_TABLE       CONSTANT PLS_INTEGER := 24;
32 RULE_TYPE_COMPARISON         CONSTANT PLS_INTEGER := 27;
33 RULE_TYPE_FUNC_COMP          CONSTANT PLS_INTEGER := 29;
34 RULE_TYPE_DESIGNCHART        CONSTANT PLS_INTEGER := 30;
35 RULE_TYPE_DISPLAY_CONDITION  CONSTANT PLS_INTEGER := 33;
36 RULE_TYPE_ENABLED_CONDITION  CONSTANT PLS_INTEGER := 34;
37 RULE_TYPE_RULE_FOLDER        CONSTANT PLS_INTEGER := 39;
38 RULE_TYPE_TEMPLATE           CONSTANT PLS_INTEGER := 100;
39 RULE_TYPE_EXPRESSION         CONSTANT PLS_INTEGER := 200;
40 RULE_TYPE_JAVA_METHOD        CONSTANT PLS_INTEGER := 300;
41 RULE_TYPE_BINDING            CONSTANT PLS_INTEGER := 400;
42 RULE_TYPE_RULE_SYS_PROP      CONSTANT PLS_INTEGER := 500;
43 RULE_TYPE_JAVA_SYS_PROP      CONSTANT PLS_INTEGER := 501;
44 RULE_TYPE_POPULATOR          CONSTANT PLS_INTEGER := 502;
45 RULE_TYPE_CAPTION            CONSTANT PLS_INTEGER := 700;
46 
47 G_PKG_NAME varchar2(255):='CZ_DEVELOPER_UTILS_PVT';
48 
49 FUNCTION replace_Rule_Text(p_rule_id     IN NUMBER,
50                            p_use_profile IN NUMBER DEFAULT 0) RETURN CLOB;
51 
52 FUNCTION parse_to_statement (p_rule_id IN NUMBER) RETURN VARCHAR2;
53 --vsingava bug6638552 23 Nov '08
54 --performance fix for model report
55 PROCEDURE start_model_report(p_devl_project_id IN NUMBER);
56 PROCEDURE end_model_report;
57 
58 
59 --
60 -- copy subtree of Model tree
61 -- Parameters :
62 --   p_node_id       - identifies root node of subtree
63 --   p_new_parent_id - identifies new parent node
64 --   p_copy_mode     - specifies mode of copying
65 --   xrun_id         - OUT parameter : if =0 => no errors
66 --                   - else =CZ_DB_LOGS.run_id
67 --   x_return_status - status string
68 --   x_msg_count     - number of error messages
69 --   x_msg_data      - string which contains error messages
70 --
71 PROCEDURE copy_PS_Subtree
72 (
73 p_node_id            IN  NUMBER,
74 p_new_parent_id      IN  NUMBER,
75 p_copy_mode          IN  VARCHAR2,
76 x_run_id             OUT NOCOPY NUMBER,
77 x_return_status      OUT NOCOPY VARCHAR2,
78 x_msg_count          OUT NOCOPY NUMBER,
79 x_msg_data           OUT NOCOPY VARCHAR2
80 );
81 
82 --
83 -- copy Rule
84 -- Parameters :
85 --   p_rule_id              - identifies rule to copy
86 --   p_rule_folder_id       - identifies rule folder in which rule will be copied
87 --   x_out_new_rule_id      - OUT variable - id of new rule
88 --   x_run_id               - OUT parameter : if =0 => no errors
89 --                          - else =CZ_DB_LOGS.run_id
90 --   x_return_status        - status string
91 --   x_msg_count            - number of error messages
92 --   x_msg_data             - string which contains error messages
93 --
94 PROCEDURE copy_Rule
95 (p_rule_id                  IN   NUMBER,
96  p_rule_folder_id           IN   NUMBER DEFAULT NULL,
97  x_out_new_rule_id          OUT  NOCOPY INTEGER,
98  x_run_id                   OUT  NOCOPY NUMBER,
99  x_return_status            OUT  NOCOPY VARCHAR2,
100  x_msg_count                OUT  NOCOPY NUMBER,
101  x_msg_data                 OUT  NOCOPY VARCHAR2);
102 
103 PROCEDURE copy_Rule
104 (p_rule_id                  IN   NUMBER,
105  p_rule_folder_id           IN   NUMBER DEFAULT NULL,
106  p_init_msg_list            IN   VARCHAR2,
107  x_out_new_rule_id          OUT  NOCOPY INTEGER,
108  x_run_id                   OUT  NOCOPY NUMBER,
109  x_return_status            OUT  NOCOPY VARCHAR2,
110  x_msg_count                OUT  NOCOPY NUMBER,
111  x_msg_data                 OUT  NOCOPY VARCHAR2);
112 
113 PROCEDURE copy_Rule
114 (p_rule_id                  IN   NUMBER,
115  p_rule_folder_id           IN   NUMBER DEFAULT NULL,
116  p_init_msg_list            IN   VARCHAR2,
117  p_ui_def_id                IN   NUMBER,
118  p_ui_page_id               IN   NUMBER,
119  p_ui_page_element_id       IN   VARCHAR2,
120  x_out_new_rule_id          OUT  NOCOPY NUMBER,
121  x_run_id                   OUT  NOCOPY NUMBER,
122  x_return_status            OUT  NOCOPY VARCHAR2,
123  x_msg_count                OUT  NOCOPY NUMBER,
124  x_msg_data                 OUT  NOCOPY VARCHAR2);
125 
126 --
127 -- copy Rule Folder
128 -- Parameters :
129 --   p_rule_folder_id       -
130 --   p_new_parent_folder_id -
131 --   x_out_new_rule_id      -
132 --   x_run_id               - OUT parameter : if =0 => no errors
133 --                          - else =CZ_DB_LOGS.run_id
134 --   x_return_status        - status string
135 --   x_msg_count            - number of error messages
136 --   x_msg_data             - string which contains error messages
137 --
138 PROCEDURE copy_Rule_Folder
139 (p_rule_folder_id           IN   NUMBER,
140  p_new_parent_folder_id     IN   NUMBER,
141  x_out_rule_folder_id       OUT  NOCOPY   INTEGER,
142  x_run_id                   OUT  NOCOPY   NUMBER,
143  x_return_status            OUT  NOCOPY   VARCHAR2,
144  x_msg_count                OUT  NOCOPY   NUMBER,
145  x_msg_data                 OUT  NOCOPY   VARCHAR2);
146 
147 --
148 --   copy Repository folder
149 --   p_folder_id            - identifies folder to copy
150 --   p_encl_folder_id       - enclosing folder to copy to
151 --   x_folder_id            - new copied folder
152 --   x_run_id               - OUT parameter : if =0 => no errors
153 --                          - else =CZ_DB_LOGS.run_id
154 --   x_return_status        - status string
155 --   x_msg_count            - number of error messages
156 --   x_msg_data             - string which contains error messages
157 --
158 PROCEDURE copy_Repository_Folder
159 (
160 p_folder_id        IN   NUMBER,
161 p_encl_folder_id   IN   NUMBER,
162 x_folder_id        OUT  NOCOPY   NUMBER,
163 x_run_id           OUT  NOCOPY   NUMBER,
164 x_return_status    OUT  NOCOPY   VARCHAR2,
165 x_msg_count        OUT  NOCOPY   NUMBER,
166 x_msg_data         OUT  NOCOPY   VARCHAR2,
167 p_init_msg_list    IN   VARCHAR2 DEFAULT FND_API.G_TRUE
168 );
169 
170 --
171 -- get absolute model path ( <=> path from root node )
172 -- Parameters :
173 --   p_ps_node_id  - identifies model tree node
174 --   px_model_path - OUT parameter - absolute model path
175 --
176 PROCEDURE get_Absolute_Model_Path
177 (
178  p_ps_node_id  IN NUMBER,
179  px_model_path OUT NOCOPY VARCHAR2
180 );
181 
182 FUNCTION is_val_number (p_str IN VARCHAR2) RETURN VARCHAR2;
183 
184 --
185 -- get absolute model path ( <=> path from root node )
186 -- Parameters :
187 --   p_ps_node_id  - identifies model tree node
188 --
189 FUNCTION get_Absolute_Model_Path
190 (
191  p_ps_node_id  IN NUMBER
192 ) RETURN VARCHAR2;
193 PRAGMA RESTRICT_REFERENCES (get_Absolute_Model_Path, WNDS, WNPS);
194 
195 --
196 -- get full model path ( <=> path from root node )
197 -- Parameters :
198 --   p_ps_node_id        - identifies model tree node
199 --   p_model_ref_expl_id - identifies model_ref_expl_id of model tree node
200 --   p_model_id          - identifies current model
201 --   px_model_path       - OUT parameter - full model path
202 --
203 PROCEDURE get_Full_Model_Path
204 (
205  p_ps_node_id          IN  NUMBER,
206  p_model_ref_expl_id   IN  NUMBER,
207  p_model_id            IN  NUMBER,
208  px_model_path         OUT NOCOPY VARCHAR2
209 );
210 
211 --
212 -- get full model path ( <=> path from root node )
213 -- Parameters :
214 --   p_ps_node_id        - identifies model tree node
215 --   p_model_ref_expl_id - identifies model_ref_expl_id of model tree node
216 --   p_model_id          - identifies current model
217 --  RETURN : full model path
218 --
219 FUNCTION get_Full_Model_Path
220 (
221  p_ps_node_id          IN  NUMBER,
222  p_model_ref_expl_id   IN  NUMBER,
223  p_model_id            IN  NUMBER)  RETURN VARCHAR2;
224 PRAGMA RESTRICT_REFERENCES (get_Full_Model_Path, WNDS, WNPS);
225 
226 
227 --
228 -- get relative model path ( <=> path from root node )
229 -- Parameters :
230 --   p_ps_node_id  - identifies model tree node
231 --   px_model_path - OUT parameter - absolute model path
232 --
233 PROCEDURE get_Relative_Model_Path
234 (
235  p_ps_node_id  IN NUMBER,
236  px_model_path OUT NOCOPY VARCHAR2
237 );
238 
239 --
240 -- get relative model path ( <=> path from root node )
241 -- Parameters :
242 --   p_ps_node_id  - identifies model tree node
243 --
244 FUNCTION get_Relative_Model_Path
245 (
246  p_ps_node_id  IN NUMBER
247 ) RETURN VARCHAR2;
248 PRAGMA RESTRICT_REFERENCES (get_Relative_Model_Path, WNDS, WNPS);
249 
250 FUNCTION get_absolute_label_path(p_ps_node_id   IN NUMBER,
251                                  p_label_bom    IN VARCHAR2,
252                                  p_label_nonbom IN VARCHAR2) RETURN VARCHAR2;
253 PRAGMA RESTRICT_REFERENCES (get_absolute_label_path, WNDS, WNPS);
254 
255 FUNCTION get_node_label(p_ps_node_type  IN NUMBER,
256                         p_name          IN VARCHAR2,
257                         p_description   IN VARCHAR2) RETURN VARCHAR2;
258 PRAGMA RESTRICT_REFERENCES (get_node_label, WNDS, WNPS);
259 
260 FUNCTION get_node_label(p_ps_node_id IN NUMBER) RETURN VARCHAR2;
261 PRAGMA RESTRICT_REFERENCES (get_node_label, WNDS, WNPS);
262 
263 PROCEDURE get_full_label_path(p_ps_node_id        IN  NUMBER,
264                               p_model_ref_expl_id IN  NUMBER,
265                               p_model_id          IN  NUMBER,
266                               px_model_path       OUT NOCOPY VARCHAR2);
267 
268 FUNCTION get_full_label_path(p_ps_node_id        IN  NUMBER,
269                              p_model_ref_expl_id IN  NUMBER,
270                              p_model_id          IN  NUMBER) RETURN VARCHAR2;
271 PRAGMA RESTRICT_REFERENCES (get_full_label_path, WNDS, WNPS);
272 
273 --
274 -- get path in Repository
275 -- Parameters :
276 --   p_object_id   - identifies object
277 --   p_object_type - identifies object type
278 --
279 FUNCTION get_Repository_Path
280 (
281  p_object_id   IN NUMBER,
282  p_object_type IN VARCHAR2
283 ) RETURN VARCHAR2;
284 PRAGMA RESTRICT_REFERENCES (get_Repository_Path, WNDS, WNPS);
285 
286 --
287 -- get path in Rule Folders
288 -- Parameters :
289 --   p_rule_folder_id   - identifies object
290 --   p_object_type      - identifies object type
291 --
292 FUNCTION get_Rule_Folder_Path
293 (
294  p_rule_folder_id   IN NUMBER,
295  p_object_type      IN VARCHAR2
296 ) RETURN VARCHAR2;
297 PRAGMA RESTRICT_REFERENCES (get_Rule_Folder_Path, WNDS, WNPS);
298 
299 --
300 -- delete_model_node
301 -- Parameters :
302 --   p_ps_node_id           - cz_ps_nodes.ps_node_id
303 --   x_return_status        - status string
304 --   x_msg_count            - number of error messages
305 --   x_msg_data             - string which contains error messages
306 --
307 
308 PROCEDURE delete_model_node
309 (p_ps_node_id               IN   NUMBER,
310  x_return_status            OUT  NOCOPY   VARCHAR2,
311  x_msg_count                OUT  NOCOPY   NUMBER,
312  x_msg_data                 OUT  NOCOPY   VARCHAR2);
313 
314 --
315 -- delete_ui_def
316 -- Parameters :
317 --   p_ui_def_id            - cz_ui_defs.ui_def_id
318 --   x_return_status        - status string
319 --   x_msg_count            - number of error messages
320 --   x_msg_data             - string which contains error messages
321 --
322 
323 PROCEDURE delete_ui_def
324 (p_ui_def_id                IN   NUMBER,
325  x_return_status            OUT  NOCOPY   VARCHAR2,
326  x_msg_count                OUT  NOCOPY   NUMBER,
327  x_msg_data                 OUT  NOCOPY   VARCHAR2);
328 
329 
330 --
331 -- delete_rule_folder
332 -- Parameters :
333 --   p_rule_folder_id       - cz_rule_folders.rule_folder_id where object_type = 'RFD'
334 --   x_return_status        - status string
335 --   x_msg_count            - number of error messages
336 --   x_msg_data             - string which contains error messages
337 --
338 
339 PROCEDURE delete_rule_folder
340 (p_rule_folder_id           IN   NUMBER,
341  x_return_status            OUT  NOCOPY   VARCHAR2,
342  x_msg_count                OUT  NOCOPY   NUMBER,
343  x_msg_data                 OUT  NOCOPY   VARCHAR2);
344 
345 
346 
347 --
348 -- delete_rule_sequence
349 -- Parameters :
350 --   p_rule_sequence_id     - cz_rule_folders.rule_folder_id where object_type = 'RSQ'
351 --   x_return_status        - status string
352 --   x_msg_count            - number of error messages
353 --   x_msg_data             - string which contains error messages
354 --
355 
356 PROCEDURE delete_rule_sequence
357 (p_rule_sequence_id         IN   NUMBER,
358  x_return_status            OUT  NOCOPY   VARCHAR2,
359  x_msg_count                OUT  NOCOPY   NUMBER,
360  x_msg_data                 OUT  NOCOPY   VARCHAR2);
361 
362 
363 --
364 -- delete_repository_folder
365 -- Parameters :
366 --   p_rp_folder_id         - cz_rp_entries.object_id where object_type = 'FLD'
367 --   x_return_status        - status string
368 --   x_msg_count            - number of error messages
369 --   x_msg_data             - string which contains error messages
370 --
371 
372 PROCEDURE delete_repository_folder
373 (p_rp_folder_id             IN   NUMBER,
374  x_return_status            OUT  NOCOPY   VARCHAR2,
375  x_msg_count                OUT  NOCOPY   NUMBER,
376  x_msg_data                 OUT  NOCOPY   VARCHAR2);
377 
378 --
379 -- delete_item_type
380 -- Parameters :
381 --   p_item_type_id         - cz_item_types.item_type_id
382 --   x_return_status        - status string
383 --   x_msg_count            - number of error messages
384 --   x_msg_data             - string which contains error messages
385 --
386 
387 PROCEDURE delete_item_type
388 (p_item_type_id             IN   NUMBER,
389  x_return_status            OUT  NOCOPY   VARCHAR2,
390  x_msg_count                OUT  NOCOPY   NUMBER,
391  x_msg_data                 OUT  NOCOPY   VARCHAR2);
392 
393 --
394 -- is_model_deleteable
395 -- Parameters :
396 --   p_model_id         IN NUMBER:            - object_id in cz_rp_entries where object_type = 'PRJ'
397 --
398 --   x_return_status    OUT VARCHAR2(1):      - return string:
399 --
400 --                           'S': model is deleteable by this user
401 --                           'E': model is not deleteable by this user, see x_msg_data for reasons:
402 --                              : invalid p_model_id, user privs, locks, existing refs/pubs, seeded_model
403 --                           'U': Unexpected error, see l_msg_data
404 --
408 PROCEDURE is_model_deleteable (p_model_id IN NUMBER,
405 --   x_msg_count        OUT NUMBER            - number of error messages in stack
406 --   x_msg_data         OUT VARCHAR2(2000)    - string which contains error message
407 --
409 				    x_return_status OUT NOCOPY VARCHAR2,
410 				    x_msg_count  OUT NOCOPY NUMBER,
411 				    x_msg_data   OUT NOCOPY VARCHAR2);
412 
413 -----------------------------------------------------
414 --
415 -- delete_model
416 -- Parameters :
417 --   p_model_id         IN NUMBER:            - object_id in cz_rp_entries where object_type = 'PRJ'
418 --
419 --   x_return_status    OUT VARCHAR2(1):      - return string:
420 --
421 --                           'S': model is deleted
422 --                           'E': model is not deleted, see x_msg_data for reasons:
423 --                              : invalid p_model_id, user privs, locks, existing refs/pubs, seeded_model
424 --                           'U': Unexpected error, see l_msg_data
425 --
426 --   x_msg_count        OUT NUMBER            - number of error messages in stack
427 --   x_msg_data         OUT VARCHAR2(2000)    - string which contains error message
428 PROCEDURE delete_model(p_model_id             IN  NUMBER
429                       ,x_return_status        OUT NOCOPY  VARCHAR2
430                       ,x_msg_count            OUT NOCOPY  NUMBER
431                       ,x_msg_data             OUT NOCOPY  VARCHAR2);
432 -------------------------------------------------------
433 --
434 --   copy_model_usage
435 --   p_model_usage_id            - identifies folder to copy
436 --   p_encl_folder_id       - enclosing folder to copy to
437 --   x_folder_id            - new copied folder
438 --   x_run_id               - OUT parameter : if =0 => no errors
439 --                          - else =CZ_DB_LOGS.run_id
440 --   x_return_status        - status string
441 --   x_msg_count            - number of error messages
442 --   x_msg_data             - string which contains error messages
443 
444 PROCEDURE copy_model_usage
445 (
446 p_model_usage_id        IN   NUMBER,
447 p_encl_folder_id   IN   NUMBER,
448 x_new_model_usage_id        OUT  NOCOPY   NUMBER,
449 x_return_status    OUT  NOCOPY   VARCHAR2,
450 x_msg_count        OUT  NOCOPY   NUMBER,
451 x_msg_data         OUT  NOCOPY   VARCHAR2
452 );
453 
454 
455 PROCEDURE copy_property
456 (
457 p_property_id        IN   NUMBER,
458 p_encl_folder_id   IN   NUMBER,
459 x_new_property_id        OUT  NOCOPY   NUMBER,
460 x_return_status    OUT  NOCOPY   VARCHAR2,
461 x_msg_count        OUT  NOCOPY   NUMBER,
462 x_msg_data         OUT  NOCOPY   VARCHAR2
463 );
464 
465 PROCEDURE copy_effectivity_set
466 (
467 p_effectivity_set_id        IN   NUMBER,
468 p_encl_folder_id   IN   NUMBER,
469 x_new_effectivity_set_id        OUT  NOCOPY   NUMBER,
470 x_return_status    OUT  NOCOPY   VARCHAR2,
471 x_msg_count        OUT  NOCOPY   NUMBER,
472 x_msg_data         OUT  NOCOPY   VARCHAR2
473 );
474 
475 PROCEDURE copy_archive
476 (
477 p_archive_id        IN   NUMBER,
478 p_encl_folder_id   IN   NUMBER,
479 x_new_archive_id        OUT  NOCOPY   NUMBER,
480 x_return_status    OUT  NOCOPY   VARCHAR2,
481 x_msg_count        OUT  NOCOPY   NUMBER,
482 x_msg_data         OUT  NOCOPY   VARCHAR2
483 );
484 
485 PROCEDURE copy_ui_template
486 (
487 p_template_id        IN   NUMBER,
488 p_encl_folder_id   IN   NUMBER,
489 x_new_template_id        OUT  NOCOPY   NUMBER,
490 x_return_status    OUT  NOCOPY   VARCHAR2,
491 x_msg_count        OUT  NOCOPY   NUMBER,
492 x_msg_data         OUT  NOCOPY   VARCHAR2
493 );
494 
495 PROCEDURE copy_ui_master_template
496 (
497 p_ui_def_id        IN   NUMBER,
498 p_encl_folder_id   IN   NUMBER,
499 x_new_ui_def_id  	    OUT  NOCOPY   NUMBER,
500 x_return_status    OUT  NOCOPY   VARCHAR2,
501 x_msg_count        OUT  NOCOPY   NUMBER,
502 x_msg_data         OUT  NOCOPY   VARCHAR2
503 );
504 
505 
506 -----------------delete API(s)
507 --------is effset deletable
508  PROCEDURE is_eff_set_deleteable(p_eff_set_id    IN  NUMBER,
509   	       x_return_status OUT NOCOPY VARCHAR2,
510 	       x_msg_count     OUT NOCOPY NUMBER,
511 	       x_msg_data      OUT NOCOPY VARCHAR2);
512 
513 ---- delete effectivity sets
514 PROCEDURE delete_eff_set(p_eff_set_id    IN  NUMBER,
515 	       x_return_status OUT NOCOPY VARCHAR2,
516 	       x_msg_count     OUT NOCOPY NUMBER,
517 	       x_msg_data      OUT NOCOPY VARCHAR2);
518 
519 -------can delete archive
520 PROCEDURE is_archive_deleteable(p_archive_id IN NUMBER,
521 	     x_return_status OUT NOCOPY VARCHAR2,
522 	     x_msg_count     OUT NOCOPY NUMBER,
523 	     x_msg_data      OUT NOCOPY VARCHAR2);
524 
525 --------delete archive
526 PROCEDURE delete_archive(p_archive_id  IN NUMBER,
527 	     x_return_status OUT NOCOPY VARCHAR2,
528 	     x_msg_count     OUT NOCOPY NUMBER,
529 	     x_msg_data      OUT NOCOPY VARCHAR2);
530 
531 -----can delete property
532 PROCEDURE is_property_deleteable (p_property_id IN NUMBER,
533 	     x_return_status OUT NOCOPY VARCHAR2,
534 	     x_msg_count     OUT NOCOPY NUMBER,
535 	     x_msg_data      OUT NOCOPY VARCHAR2);
536 
537 ------------------delete property
538 PROCEDURE delete_property(p_property_id IN NUMBER,
542 
539 	     x_return_status OUT NOCOPY VARCHAR2,
540 	     x_msg_count     OUT NOCOPY NUMBER,
541 	     x_msg_data      OUT NOCOPY VARCHAR2);
543 ----can delete umt
544 PROCEDURE is_umt_deleteable (p_umt_id IN NUMBER,
545 	     x_return_status OUT NOCOPY VARCHAR2,
546 	     x_msg_count     OUT NOCOPY NUMBER,
547 	     x_msg_data      OUT NOCOPY VARCHAR2);
548 
549 ------------delete umt
550 PROCEDURE delete_umt(p_umt_id   IN NUMBER,
551 	   x_return_status OUT NOCOPY VARCHAR2,
552 	   x_msg_count     OUT NOCOPY NUMBER,
553 	   x_msg_data      OUT NOCOPY VARCHAR2);
554 
555 
556 -----can delete uct
557 PROCEDURE is_uct_deleteable(p_uct_id IN NUMBER,
558 	   x_return_status OUT NOCOPY VARCHAR2,
559 	   x_msg_count     OUT NOCOPY NUMBER,
560 	   x_msg_data      OUT NOCOPY VARCHAR2);
561 
562 ------delete uct
563 PROCEDURE delete_uct(p_uct_id IN NUMBER,
564 	   x_return_status OUT NOCOPY VARCHAR2,
565 	   x_msg_count     OUT NOCOPY NUMBER,
566 	   x_msg_data      OUT NOCOPY VARCHAR2);
567 
568 
569 PROCEDURE is_repos_fld_deleteable (p_rp_folder_id IN NUMBER,
570 				    x_return_status OUT NOCOPY VARCHAR2,
571 				    x_msg_count     OUT NOCOPY NUMBER,
572 				    x_msg_data      OUT NOCOPY VARCHAR2);
573 
574 PROCEDURE is_usage_deleteable(p_usage_id IN NUMBER,
575 				    x_return_status OUT NOCOPY VARCHAR2,
576 				    x_msg_count     OUT NOCOPY NUMBER,
577 				    x_msg_data      OUT NOCOPY VARCHAR2);
578 
579 PROCEDURE delete_usage(p_usage_id  IN NUMBER,
580 			     x_return_status OUT NOCOPY VARCHAR2,
581 			     x_msg_count     OUT NOCOPY NUMBER,
582 			     x_msg_data      OUT NOCOPY VARCHAR2);
583 
584 PROCEDURE NEW_USAGE (enclosingFolderId IN NUMBER,
585                      usageId IN OUT NOCOPY NUMBER);
586 
587 FUNCTION append_name(p_object_id IN NUMBER, p_object_type IN VARCHAR2, p_object_name IN VARCHAR2) RETURN VARCHAR2;
588 
589 FUNCTION copy_name(p_object_id   IN NUMBER,p_object_type IN VARCHAR2) RETURN VARCHAR2 ;
590 
591 --
592 -- The procedure identifies whether two explosion nodes are within the same virtual boundary.
593 -- The parameters are two model_ref_expl_id values and the output parameter.
594 -- The procedure returns 1 if the nodes are in the same virtual boundary, 0 otherwise.
595 --
596 PROCEDURE in_boundary (p_base_expl_id            IN NUMBER,
597                        p_node_expl_id            IN NUMBER,
598                        p_node_persistent_node_id IN NUMBER,
599                        x_output                  OUT NOCOPY PLS_INTEGER);
600 
601 --
602 -- The function identifies whether two explosion nodes are within the same virtual boundary.
603 -- The parameters are two model_ref_expl_id values.
604 -- The function returns 1 if the nodes are in the same virtual boundary, 0 otherwise.
605 --
606 FUNCTION in_boundary (p_base_expl_id            IN NUMBER,
607                       p_node_expl_id            IN NUMBER,
608                       p_node_persistent_node_id IN NUMBER)
609   RETURN PLS_INTEGER;
610 PRAGMA RESTRICT_REFERENCES (in_boundary, WNDS, WNPS);
611 
612 PROCEDURE verify_special_rule(p_rule_id IN NUMBER,
613                               p_name    IN VARCHAR,
614                               x_run_id  IN OUT NOCOPY NUMBER);
615 
616 FUNCTION runtime_relative_path(p_base_expl_id IN NUMBER,
617                                p_base_pers_id IN NUMBER,
618                                p_node_expl_id IN NUMBER,
619                                p_node_pers_id IN NUMBER)
620   RETURN VARCHAR2;
621 
622 ---- this functions does validations required during the time of
623 ---- moving a rule or rule folder to a different folder
624 PROCEDURE is_rule_movable(p_src_rule_id    IN cz_rule_folders.rule_folder_id%TYPE,
625 		    p_src_rule_type   IN cz_rule_folders.object_type%TYPE,
626 		    p_tgt_rule_fld_id IN cz_rule_folders.rule_folder_id%TYPE,
627 		    x_return_status OUT NOCOPY VARCHAR2,
628 		    x_msg_count      OUT NOCOPY NUMBER,
629 		    x_msg_data       OUT NOCOPY VARCHAR2);
630 
631 /*
632  * This function is used for effectivity filtering in CZ_EXPLNODES_IMAGE_EFF_V. When called
633  * on a node and given the node's parent identity and node's effectivity parameters it
634  * returns 1 if the node is visible with the current effectivity filtering settings,
635  * 0 otherwise.
636  *
637  * @param p_parent_psnode_id   correspond to cz_explmodel_nodes_v.effective_parent_id
638  * @param p_parent_expl_id     correspond to cz_explmodel_nodes_v.parent_psnode_expl_id
639  * p_model_id                  correspond to cz_explmodel_nodes_v.model_id
640  * p_self_eff_from             correspond to cz_explmodel_nodes_v.effective_from
641  * p_self_eff_until            correspond to cz_explmodel_nodes_v.effective_until
642  * p_self_eff_set_id           correspond to cz_explmodel_nodes_v.effectivity_set_id
643  *
644  * @rep:scope public
645  * @rep:product CZ
646  * @rep:displayname Auxiliary function for using in CZ_EXPLNODES_IMAGE_EFF_V
647  * @rep:lifecycle active
648  * @rep:compatibility S
649  * @rep:category Effectivity Filtering
650  */
651 
652 FUNCTION is_node_visible(p_parent_psnode_id IN NUMBER,
653                         p_parent_expl_id    IN NUMBER,
654                         p_model_id          IN NUMBER,
655                         p_self_eff_from     IN DATE,
656                         p_self_eff_until    IN DATE,
657                         p_self_eff_set_id   IN NUMBER) RETURN PLS_INTEGER;
658 PRAGMA RESTRICT_REFERENCES (is_node_visible, WNDS, WNPS);
659 
660 /*
661  * This function is used for effectivity filtering. It takes a node identity and arrays of effectivity
662  * parameters for the children of this node. It returns an array with 0 or 1 for every child of this
663  * node, 1 if the child node is visible with the current effectivity filtering settings, 0 otherwise.
664  *
665  * @param p_parent_psnode_id   ps_node_id of the node
666  * @param p_parent_expl_id     model_ref_expl_id of the node
667  * p_self_eff_from             array of effective_from values for children of the node
668  * p_self_eff_until            array of effective_until values for children of the node
669  * p_self_eff_set_id           array of effectivity_set_id values for children of the node
670  *
671  * @rep:scope public
672  * @rep:product CZ
673  * @rep:displayname Auxiliary function for effectivity filtering
674  * @rep:lifecycle active
675  * @rep:compatibility S
676  * @rep:category
677  */
678 
679 FUNCTION get_visibility(p_parent_psnode_id  IN NUMBER,
680                         p_parent_expl_id    IN NUMBER,
681                         p_self_eff_from     IN system.cz_date_tbl_type,
682                         p_self_eff_until    IN system.cz_date_tbl_type,
683                         p_self_eff_set_id   IN system.cz_number_tbl_type)
684   RETURN system.cz_number_tbl_type;
685 PRAGMA RESTRICT_REFERENCES (get_visibility, WNDS, WNPS);
686 
687 /*
688  * This procedure is a wrapper over the function to be called by the Developer.
689  *
690  * @rep:scope public
691  * @rep:product CZ
692  * @rep:displayname Wrapper over the function for Developer
693  * @rep:lifecycle active
694  * @rep:compatibility S
695  * @rep:category
696  */
697 
698 PROCEDURE get_visibility(p_parent_psnode_id  IN NUMBER,
699                          p_parent_expl_id    IN NUMBER,
700                          p_self_eff_from     IN system.cz_date_tbl_type,
701                          p_self_eff_until    IN system.cz_date_tbl_type,
702                          p_self_eff_set_id   IN system.cz_number_tbl_type,
703                          x_is_visible        IN OUT NOCOPY system.cz_number_tbl_type);
704 
705 FUNCTION annotated_node_path(p_model_id           IN NUMBER,
706                              p_model_ref_expl_id  IN NUMBER,
707                              p_ps_node_id         IN NUMBER) RETURN VARCHAR2;
708 PRAGMA RESTRICT_REFERENCES (annotated_node_path, WNDS, WNPS);
709 
710 /*
711  * This function is used for getting translated description for a given object id and object type.
712  * It takes object_id and object_type as an input and returns the translated description.
713  *
714  * @param object_id               object_id of the repository object
715  * @param object_type             object_type of the repository object
716  * @rep:scope public
717  * @rep:product CZ
718  * @rep:displayname Function for getting translated usage description.
719  * @rep:lifecycle active
720  * @rep:compatibility S
721  * @rep:category
722  */
723 FUNCTION get_trans_desc(object_id  IN NUMBER,object_type  IN varchar2) RETURN VARCHAR2;
724 
725 /*
726  * This function returns the date when the logic generation occured
727  * It uses the model id to determine engine type for switching between
728  * cz_lce_headers (LCE) and cz_fce_files (FCE)
729  *
730  * @param p_model_id              model id
731  */
732 FUNCTION get_last_logic_gen_date(p_model_id in NUMBER)
733   RETURN cz_fce_files.creation_date%TYPE;
734 
735 /*
736  * This procedure is a wrapper for calling copy_repository_folder.
737  * It loops over all of the folders calling a procedure to check for
738  * locked Models or Templates and logs them before continuing to do the actual
739  *  copy operation.
740  *
741  *   p_folder_ids           - identifies folders to copy
742  *   p_encl_folder_id       - enclosing folder to copy to
743  *   x_folder_id            - folder_id
744  *   x_return_status        - status string
745  *   x_msg_count            - number of error messages
746  *   x_msg_data             - string which contains error messages
747  */
748 
749 PROCEDURE copy_repository_folders
750 (
751   p_folder_ids       IN   system.cz_number_tbl_type,
752   p_encl_folder_id   IN   NUMBER,
753   x_folder_id        OUT  NOCOPY   NUMBER,
754   x_run_id           OUT  NOCOPY   NUMBER,
755   x_return_status    OUT  NOCOPY   VARCHAR2,
756   x_msg_count        OUT  NOCOPY   NUMBER,
757   x_msg_data         OUT  NOCOPY   VARCHAR2
758 );
759 
760 /*
764  *   x_return_status        - status string
761  * This procedure converts CX's in a fce model that still link CIO classes.
762  *
763  *   p_model_id           - identifies model to convert
765  *   x_msg_count            - number of error messages
766  *   x_msg_data             - string which contains error messages
767  */
768 
769 PROCEDURE ConvertModelCXs
770 (
771 p_model_id      IN NUMBER,
772 x_return_status OUT  NOCOPY VARCHAR2,
773 x_msg_count     OUT  NOCOPY NUMBER,
774 x_msg_data      OUT  NOCOPY VARCHAR2
775 );
776 
777 /* Bug-9788241: A new API for SUN (Oracle) to insert/update property value
778  * directly in the table cz_item_property_values table.
779  * p_property_value will be always passed as char and will be populated in
780  * respective column as per the data_type of the property.
781  */
782 
783 PROCEDURE create_item_property_value
784 (
785  p_item_id            IN NUMBER,
786  p_property_id        IN NUMBER,
787  p_property_value     IN VARCHAR2,
788  x_return_status      OUT NOCOPY VARCHAR2,
789  x_msg_count          OUT NOCOPY NUMBER,
790  x_msg_data           OUT NOCOPY VARCHAR2
791 );
792 
793 END;