[Home] [Help]
PACKAGE BODY: APPS.CZ_PS_COPY
Source
1 PACKAGE BODY cz_ps_copy AS
2 /* $Header: czpscpb.pls 120.0 2005/05/25 07:27:11 appldev noship $ */
3
4 GLOBAL_ORIG_SYS_REF CZ_DEVL_PROJECTS.orig_sys_ref%TYPE;
5 BATCH_SIZE INTEGER:=20000;
6 numRecords INTEGER:=0;
7
8 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
9 START PACKAGE
10 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
11
12 ENCLOSE_FOLDER INTEGER;
13
14 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
15 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
16
17 PROCEDURE LOG_REPORT
18 (p_caller IN VARCHAR2,
19 p_error_message IN VARCHAR2) IS
20
21 PRAGMA AUTONOMOUS_TRANSACTION;
22
23 var_error BOOLEAN;
24 var_status INTEGER;
25
26 BEGIN
27
28 var_status:=11276;
29
30 INSERT INTO CZ_DB_LOGS
31 (RUN_ID,
32 LOGTIME,
33 LOGUSER,
34 URGENCY,
35 CALLER,
36 STATUSCODE,
37 MESSAGE)
38 VALUES (GLOBAL_RUN_ID,
39 SYSDATE,
40 USER,
41 1,
42 p_caller,
43 var_status,
44 p_error_message);
45 COMMIT;
46
47 EXCEPTION
48 WHEN OTHERS THEN
49 NULL;
50 END;
51
52
53 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
54 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
55
56 PROCEDURE Initialize IS
57 BEGIN
58 numRecords:=0;
59 Sequences(1).name:='CZ_PS_NODES_S';
60 Sequences(2).name:='CZ_FILTER_SETS_S';
61 Sequences(3).name:='CZ_SUB_CON_SETS_S';
62 Sequences(4).name:='CZ_EXPRESSIONS_S';
63 Sequences(5).name:='CZ_RULES_S';
64 Sequences(6).name:='CZ_EXPRESSION_NODES_S';
65 Sequences(7).name:='CZ_POPULATORS_S';
66 Sequences(8).name:='CZ_RULE_FOLDERS_S';
67 Sequences(9).name:='CZ_GRID_DEFS_S';
68 Sequences(10).name:='CZ_GRID_COLS_S';
69 Sequences(11).name:='CZ_GRID_CELLS_S';
70 Sequences(12).name:='CZ_UI_DEFS_S';
71 Sequences(13).name:='CZ_UI_NODES_S';
72 Sequences(14).name:='CZ_FUNC_COMP_SPECS_S';
73 Sequences(15).name:='CZ_INTL_TEXTS_S';
74 Sequences(16).name:='CZ_MODEL_REF_EXPLS_S';
75
76 FlowId_PS_NODE.DELETE;
77 FlowId_INTL_TEXT.DELETE;
78 FlowId_EXPRESSION.DELETE;
79 FlowId_FILTER_SET.DELETE;
80 FlowId_RULE.DELETE;
81 FlowId_SUB_CON_SET.DELETE;
82 FlowId_POPULATOR.DELETE;
83 FlowId_EXPRESSION_NODE.DELETE;
84 FlowId_GRID_DEF.DELETE;
85 FlowId_GRID_COL.DELETE;
86 FlowId_GRID_CELL.DELETE;
87 FlowId_UI_DEF.DELETE;
88 FlowId_UI_NODE.DELETE;
89 FlowId_FUNC_COMP_SPEC.DELETE;
90 FlowId_RULE_FOLDER.DELETE;
91 FlowId_MODEL_REF_EXPL.DELETE;
92
93 FlowId_PS_NODE(NULL_):=NULL;
94 FlowId_INTL_TEXT(NULL_):=NULL;
95 FlowId_EXPRESSION(NULL_):=NULL;
96 FlowId_FILTER_SET(NULL_):=NULL;
97 FlowId_RULE(NULL_):=NULL;
98 FlowId_SUB_CON_SET(NULL_):=NULL;
99 FlowId_POPULATOR(NULL_):=NULL;
100 FlowId_EXPRESSION_NODE(NULL_):=NULL;
101 FlowId_GRID_DEF(NULL_):=NULL;
102 FlowId_GRID_COL(NULL_):=NULL;
103 FlowId_GRID_CELL(NULL_):=NULL;
104 FlowId_UI_DEF(NULL_):=NULL;
105 FlowId_UI_NODE(NULL_):=NULL;
106 FlowId_FUNC_COMP_SPEC(NULL_):=NULL;
107 FlowId_RULE_FOLDER(NULL_):=NULL;
108 FlowId_MODEL_REF_EXPL(NULL_):=NULL;
109
110 BEGIN
111 SELECT value INTO BATCH_SIZE FROM
112 CZ_DB_SETTINGS WHERE UPPER(setting_id)='BATCHSIZE';
113 EXCEPTION
114 WHEN NO_DATA_FOUND THEN
115 NULL;
116 WHEN OTHERS THEN
117 NULL;
118 END;
119
120 END;
121
122 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
123 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
124
125 PROCEDURE PACK IS
126
127 BEGIN
128
129 IF numRecords>BATCH_SIZE THEN
130 --LOG_REPORT('CZ_PS_COPY.PACK',TO_CHAR(BATCH_SIZE)|| ' records has been inserted...');
131 numRecords:=0;
132 COMMIT;
133 ELSE
134 numRecords:=numRecords+1;
135 END IF;
136
137 END;
138
139 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
140 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
141
142 PROCEDURE get_Next_Val
143 (p_id IN OUT NOCOPY INTEGER,
144 p_sequence_name IN VARCHAR2) IS
145
146 var_id INTEGER;
147
148 BEGIN
149
150 FOR i IN Sequences.First..Sequences.Last
151 LOOP
152 IF p_sequence_name=Sequences(i).name THEN
153 IF NVL(p_id,1)>=NVL(Sequences(i).id,-INCREMENT)+INCREMENT-1
154 OR (p_id IS NULL AND Sequences(i).id IS NOT NULL) THEN
155
156 EXECUTE IMMEDIATE 'SELECT '||p_sequence_name||'.NEXTVAL FROM dual'
157 INTO var_id;
158
159 p_id:=var_id;
160 Sequences(i).id:=var_id;
161 ELSE
162 p_id:=p_id+1;
163 END IF;
164 END IF;
165 END LOOP;
166
167 END;
168
169 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
170 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
171
172 PROCEDURE Copy_INTL_TEXT
173 (p_old_intl_text_id IN INTEGER,
174 p_new_intl_text_id IN INTEGER,
175 p_model_id IN INTEGER,
176 p_ui_def_id IN INTEGER
177 ) IS
178
179 BEGIN
180
181 INSERT INTO CZ_LOCALIZED_TEXTS
182 (INTL_TEXT_ID,
183 LOCALIZED_STR,
184 LANGUAGE,
185 SOURCE_LANG,
186 ORIG_SYS_REF,
187 DELETED_FLAG,
188 SECURITY_MASK,
189 CHECKOUT_USER,
190 UI_DEF_ID,
191 MODEL_ID,
192 SEEDED_FLAG)
193 SELECT
194 p_new_intl_text_id,
195 LOCALIZED_STR,
196 LANGUAGE,
197 SOURCE_LANG,
198 ORIG_SYS_REF,
199 DELETED_FLAG,
200 SECURITY_MASK,
201 CHECKOUT_USER,
202 p_ui_def_id,
203 p_model_id,
204 SEEDED_FLAG
205 FROM CZ_LOCALIZED_TEXTS
206 WHERE intl_text_id=p_old_intl_text_id AND deleted_flag=NO_FLAG;
207
208 PACK;
209
210 END;
211
212 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
213 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
214
215 PROCEDURE COPY_DEVL_PROJECT
216 (p_new_name IN VARCHAR2) IS
217
218 i CZ_DEVL_PROJECTS%ROWTYPE;
219 var_name CZ_DEVL_PROJECTS.NAME%TYPE;
220 var_intl_text_id CZ_INTL_TEXTS.intl_text_id%TYPE;
221
222 BEGIN
223
224 SELECT CZ_PS_NODES_S.NEXTVAL INTO NEW_PROJECT_ID FROM dual;
225 SELECT * INTO i FROM CZ_DEVL_PROJECTS
226 WHERE DEVL_PROJECT_ID=OLD_PROJECT_ID AND deleted_flag=NO_FLAG;
227
228 GLOBAL_ORIG_SYS_REF:=i.ORIG_SYS_REF;
229
230 IF p_new_name IS NULL THEN
231 var_name:=i.Name||'-'||to_char(NEW_PROJECT_ID);
232 ELSE
233 var_name:=p_new_name;
234 END IF;
235
236 var_intl_text_id:=NULL;
237 IF i.intl_text_id IS NOT NULL THEN
238 get_Next_Val(var_intl_text_id,'CZ_INTL_TEXTS_S');
239 Copy_INTL_TEXT(i.intl_text_id,var_intl_text_id,NEW_PROJECT_ID,NULL);
240 END IF;
241
242
243 INSERT INTO CZ_DEVL_PROJECTS
244 (DEVL_PROJECT_ID,
245 INTL_TEXT_ID,
246 NAME,
247 PERSISTENT_PROJECT_ID,
248 VERSION,
249 DESC_TEXT ,
250 DELETED_FLAG,
251 SECURITY_MASK,
252 CHECKOUT_USER,
253 ORIG_SYS_REF,
254 LAST_STRUCT_UPDATE,
255 LAST_LOGIC_UPDATE,
256 PUBLISHED,
257 MODEL_TYPE,
258 PRODUCT_KEY,
259 ORGANIZATION_ID,
260 INVENTORY_ITEM_ID)
261 VALUES(
262 NEW_PROJECT_ID,
263 var_intl_text_id,
264 var_name,
265 i.PERSISTENT_PROJECT_ID,
266 i.VERSION,
267 i.DESC_TEXT ,
268 i.DELETED_FLAG,
269 i.SECURITY_MASK,
270 i.CHECKOUT_USER,
271 i.ORIG_SYS_REF,
272 i.LAST_STRUCT_UPDATE,
273 i.LAST_LOGIC_UPDATE,
274 i.PUBLISHED,
275 i.MODEL_TYPE,
276 i.PRODUCT_KEY,
277 i.ORGANIZATION_ID,
278 i.INVENTORY_ITEM_ID);
279
280 INSERT INTO CZ_RP_ENTRIES(object_type,object_id,enclosing_folder,deleted_flag,name)
281 SELECT object_type,NEW_PROJECT_ID,DECODE(ENCLOSE_FOLDER,-1,enclosing_folder,ENCLOSE_FOLDER),deleted_flag,var_name
282 FROM CZ_RP_ENTRIES
283 WHERE object_id=OLD_PROJECT_ID AND deleted_flag=NO_FLAG;
284
285 PACK;
286
287 END;
288
289 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
290 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
291
292 PROCEDURE Copy_EXPRESSION IS
293
294 new_id INTEGER;
295
296 BEGIN
297
298 FOR i IN (SELECT * FROM CZ_EXPRESSIONS
299 WHERE DEVL_PROJECT_ID=OLD_PROJECT_ID AND deleted_flag=NO_FLAG)
300 LOOP
301 BEGIN
302 get_Next_Val(new_id,'CZ_EXPRESSIONS_S');
303
304 INSERT INTO CZ_EXPRESSIONS(
305 EXPRESS_ID,
306 DEVL_PROJECT_ID,
307 NAME,
308 EXPR_STR,
309 DESC_TEXT,
310 PRESENT_TYPE,
311 PARSED_FLAG,
312 DELETED_FLAG,
313 SECURITY_MASK,
314 CHECKOUT_USER,
315 PERSISTENT_EXPRESSION_ID)
316 VALUES(
317 new_id,
318 NEW_PROJECT_ID,
319 i.NAME,
320 i.EXPR_STR,
321 i.DESC_TEXT,
322 i.PRESENT_TYPE,
323 i.PARSED_FLAG,
324 i.DELETED_FLAG,
325 i.SECURITY_MASK,
326 i.CHECKOUT_USER,
327 i.PERSISTENT_EXPRESSION_ID);
328
329 PACK;
330
331 FlowId_EXPRESSION(i.express_id):=new_id;
332 EXCEPTION
333 WHEN NO_DATA_FOUND THEN
334 NULL;
335 WHEN OTHERS THEN
336 NULL;
337 END;
338 END LOOP;
339
340 END;
341
342 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
343 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
344
345 PROCEDURE Copy_XFR_PROJECT_BILL IS
346
347 BEGIN
348
349 IF GLOBAL_ORIG_SYS_REF IS NOT NULL THEN
350 INSERT INTO CZ_XFR_PROJECT_BILLS
351 (ORGANIZATION_ID,
352 COMPONENT_ITEM_ID,
353 DESCRIPTION,
354 LAST_IMPORT_RUN_ID,
355 LAST_IMPORT_DATE,
356 SOURCE_BILL_DELETED,
357 TOP_ITEM_ID,
358 DELETED_FLAG,
359 EXPLOSION_TYPE,
360 BILL_REVISION_DATE,
361 EFF_FROM,
362 EFF_TO,
363 SOURCE_SERVER,
364 MODEL_PS_NODE_ID,
365 COPY_ADDL_CHILD_MODELS)
366 SELECT
367 ORGANIZATION_ID,
368 COMPONENT_ITEM_ID,
369 DESCRIPTION,
370 LAST_IMPORT_RUN_ID,
371 LAST_IMPORT_DATE,
372 SOURCE_BILL_DELETED,
373 TOP_ITEM_ID,
374 YES_FLAG,
375 EXPLOSION_TYPE,
376 BILL_REVISION_DATE,
377 EFF_FROM,
378 EFF_TO,
379 SOURCE_SERVER,
380 NEW_PROJECT_ID,
381 COPY_ADDL_CHILD_MODELS
382 FROM CZ_XFR_PROJECT_BILLS
383 WHERE model_ps_node_id=OLD_PROJECT_ID;
384
385 PACK;
386
387 END IF;
388
389 END;
390
391 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
392 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
393
394 PROCEDURE Copy_FILTER_SET IS
395
396 new_id INTEGER;
397 new_exp_id INTEGER;
398 k INTEGER;
399 BEGIN
400
401 IF FlowId_EXPRESSION.Count>0 THEN
402
403 k:=FlowId_EXPRESSION.First;
404 LOOP
405 BEGIN
406 FOR i IN (SELECT * FROM CZ_FILTER_SETS
407 WHERE express_id=k AND deleted_flag=NO_FLAG)
408 LOOP
409 BEGIN
410 new_exp_id:=FlowId_EXPRESSION(k);
411
412 IF (new_exp_id IS not NULL) or (new_exp_id<>NULL_) THEN
413
414 get_Next_Val(new_id,'CZ_FILTER_SETS_S');
415
416 INSERT INTO CZ_FILTER_SETS
417 (FILTER_SET_ID,
418 DEVL_PROJECT_ID,
419 EXPRESS_ID,
420 SOURCE_TYPE,
421 DELETED_FLAG,
422 SECURITY_MASK,
423 CHECKOUT_USER,
424 SOURCE_VIEW_NAME,
425 SOURCE_VIEW_OWNER,
426 SOURCE_SYNTAX)
427 VALUES ( new_id,
428 NEW_PROJECT_ID,
429 new_exp_id,
430 i.SOURCE_TYPE,
431 i.DELETED_FLAG,
432 i.SECURITY_MASK,
433 i.CHECKOUT_USER,
434 i.SOURCE_VIEW_NAME,
435 i.SOURCE_VIEW_OWNER,
436 i.SOURCE_SYNTAX);
437
438 PACK;
439
440 FlowId_FILTER_SET(i.filter_set_id):=new_id;
441
442 END IF;
443
444 EXCEPTION
445 WHEN NO_DATA_FOUND THEN
446 NULL;
447 WHEN OTHERS THEN
448 NULL;
449 END;
450 END LOOP;
451
452 k:=FlowId_EXPRESSION.NEXT(k);
453 IF k IS NULL THEN
454 EXIT;
455 END IF;
456
457 EXCEPTION
458 WHEN NO_DATA_FOUND THEN
459 NULL;
460 WHEN OTHERS THEN
461 NULL;
462 END;
463
464 END LOOP;
465
466 END IF;
467
468 END;
469
470 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
471 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
472
473 PROCEDURE Copy_SUB_CON_SET
474 (p_old_sub_id IN INTEGER,
475 p_out_sub_id IN OUT NOCOPY INTEGER) IS
476
477 new_id INTEGER;
478
479 BEGIN
480
481 IF p_old_sub_id IS NOT NULL THEN
482 get_Next_Val(new_id,'CZ_SUB_CON_SETS_S');
483 INSERT INTO CZ_SUB_CON_SETS
484 (SUB_CONS_ID,
485 NAME,
486 DESC_TEXT,
487 DELETED_FLAG,
488 SECURITY_MASK,
489 CHECKOUT_USER)
490 SELECT new_id,
491 NAME,
492 DESC_TEXT,
493 DELETED_FLAG,
494 SECURITY_MASK,
495 CHECKOUT_USER
496 FROM CZ_SUB_CON_SETS
497 WHERE sub_cons_id=p_old_sub_id AND deleted_flag=NO_FLAG;
498
499 PACK;
500
501 p_out_sub_id:=new_id;
502 FlowId_SUB_CON_SET(p_old_sub_id):=new_id;
503 ELSE
504 p_out_sub_id:=NULL;
505 END IF;
506
507 END;
508
509 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
510 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
511
512 PROCEDURE Copy_PS_PROP_VAL
513 (p_old_ps_id IN INTEGER,
514 p_new_ps_id IN INTEGER) IS
515
516 BEGIN
517 -- sselahi
518 FOR i IN (SELECT ps_node_id,property_id,data_value,data_num_value
519 FROM CZ_PS_PROP_VALS
520 WHERE ps_node_id=p_old_ps_id AND deleted_flag='0')
521 LOOP
522 INSERT INTO CZ_PS_PROP_VALS
523 (PS_NODE_ID,
524 PROPERTY_ID,
525 DATA_VALUE,
529 CHECKOUT_USER)
526 DATA_NUM_VALUE, -- sselahi
527 DELETED_FLAG,
528 SECURITY_MASK,
530 SELECT p_new_ps_id,
531 PROPERTY_ID,
532 DATA_VALUE,
533 DATA_NUM_VALUE, -- sselahi
534 DELETED_FLAG,
535 SECURITY_MASK,
536 CHECKOUT_USER
537 FROM CZ_PS_PROP_VALS
538 WHERE PS_NODE_ID=p_old_ps_id AND property_id=i.property_id
539 AND data_value=i.data_value AND data_num_value=i.data_num_value AND deleted_flag=NO_FLAG;
540
541 PACK;
542
543 END LOOP;
544
545 END;
546
547 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
548 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
549
550 PROCEDURE Copy_MODEL_REF_EXPL IS
551
552 new_id INTEGER;
553 new_parent INTEGER;
554 new_child INTEGER;
555 new_referring_node_id INTEGER;
556 new_component_id INTEGER;
557 new_child_model_expl_id INTEGER;
558
559 BEGIN
560
561 FOR i IN (SELECT model_ref_expl_id FROM CZ_MODEL_REF_EXPLS
562 WHERE model_id=OLD_PROJECT_ID AND deleted_flag=NO_FLAG)
563 LOOP
564 get_Next_Val(new_id,'CZ_MODEL_REF_EXPLS_S');
565 FlowId_MODEL_REF_EXPL(i.model_ref_expl_id):=new_id;
566 END LOOP;
567
568 FOR i IN (SELECT * FROM CZ_MODEL_REF_EXPLS
569 WHERE model_id=OLD_PROJECT_ID AND deleted_flag=NO_FLAG)
570 LOOP
571 IF i.parent_expl_node_id IS NOT NULL THEN
572 new_parent:=FlowId_MODEL_REF_EXPL(i.parent_expl_node_id);
573 ELSE
574 new_parent:=NULL;
575 END IF;
576 new_child:=FlowId_MODEL_REF_EXPL(i.model_ref_expl_id);
577
578 IF i.referring_node_id IS NOT NULL THEN
579 BEGIN
580 new_referring_node_id:=FlowId_PS_NODE(i.referring_node_id);
581 EXCEPTION
582 WHEN NO_DATA_FOUND THEN
583 new_referring_node_id:=i.referring_node_id;
584 END;
585 ELSE
586 new_referring_node_id:=NULL;
587 END IF;
588
589 IF i.ps_node_type=REFRENCE_NODE_TYPE THEN
590 new_component_id:=i.component_id;
591 ELSE
592 BEGIN
593 new_component_id:=FlowId_PS_NODE(i.component_id);
594 EXCEPTION
595 WHEN NO_DATA_FOUND THEN
596 new_component_id:=i.component_id;
597 END;
598 END IF;
599
600 IF i.child_model_expl_id IS NOT NULL THEN
601 BEGIN
602 new_child_model_expl_id:=FlowId_MODEL_REF_EXPL(i.child_model_expl_id);
603 EXCEPTION
604 WHEN NO_DATA_FOUND THEN
605 new_child_model_expl_id:=i.child_model_expl_id;
606 END;
607 ELSE
608 new_child_model_expl_id:=NULL;
609 END IF;
610
611 INSERT INTO CZ_MODEL_REF_EXPLS
612 (model_ref_expl_id,
613 parent_expl_node_id,
614 referring_node_id,
615 model_id,
616 component_id,
617 child_model_expl_id,
618 ps_node_type,
619 virtual_flag,
620 node_depth,
621 expl_node_type,
622 has_trackable_children,
623 deleted_flag)
624 VALUES( new_child,
625 new_parent,
626 new_referring_node_id,
627 NEW_PROJECT_ID,
628 new_component_id,
629 new_child_model_expl_id,
630 i.ps_node_type,
631 i.virtual_flag,
632 i.node_depth,
633 i.expl_node_type,
634 i.has_trackable_children,
635 i.deleted_flag);
636
637 PACK;
638
639 END LOOP;
640 END;
641
642 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
643 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
644
645 PROCEDURE Copy_PS_NODE IS
646
647 new_parent INTEGER;
648 new_child INTEGER;
649 new_intl_text_id INTEGER;
650 new_sub_cons_id INTEGER;
651 sub_id INTEGER;
652 new_id INTEGER;
653
654 BEGIN
655
656 FOR i IN (SELECT ps_node_id FROM CZ_PS_NODES
657 WHERE devl_project_id=OLD_PROJECT_ID AND deleted_flag=NO_FLAG)
658 LOOP
659 get_Next_Val(new_id,'CZ_PS_NODES_S');
660 FlowId_PS_NODE(i.ps_node_id):=new_id;
661 END LOOP;
662
663 FlowId_PS_NODE(OLD_PROJECT_ID):=NEW_PROJECT_ID;
664
665 FOR i IN (SELECT * FROM CZ_PS_NODES WHERE devl_project_id=OLD_PROJECT_ID AND deleted_flag=NO_FLAG)
666 LOOP
667 BEGIN
668 IF i.parent_id IS NOT NULL THEN
669 new_parent:=FlowId_PS_NODE(i.parent_id);
670 new_child:=FlowId_PS_NODE(i.ps_node_id);
671 ELSE
672 new_parent:=NULL;
673 new_child:=NEW_PROJECT_ID;
674 new_intl_text_id:=NULL;
675 END IF;
676 IF i.intl_text_id IS NOT NULL THEN
677 get_Next_Val(new_intl_text_id,'CZ_INTL_TEXTS_S');
678 Copy_INTL_TEXT(i.intl_text_id,new_intl_text_id,NEW_PROJECT_ID,NULL);
679 ELSE
680 new_intl_text_id:=NULL;
681 END IF;
685
682
683 get_Next_Val(new_sub_cons_id,'CZ_SUB_CON_SETS_S');
684 Copy_SUB_CON_SET(i.sub_cons_id,new_sub_cons_id);
686 INSERT INTO CZ_PS_NODES
687 (PS_NODE_ID,
688 DEVL_PROJECT_ID,
689 FROM_POPULATOR_ID,
690 PROPERTY_BACKPTR,
691 ITEM_TYPE_BACKPTR,
692 INTL_TEXT_ID,
693 SUB_CONS_ID,
694 ITEM_ID,
695 NAME,
696 RESOURCE_FLAG,
697 INITIAL_VALUE,
698 initial_num_value, -- sselahi
699 PARENT_ID,
700 MINIMUM,
701 MAXIMUM,
702 PS_NODE_TYPE,
703 FEATURE_TYPE,
704 PRODUCT_FLAG,
705 REFERENCE_ID,
706 MULTI_CONFIG_FLAG,
707 ORDER_SEQ_FLAG,
708 SYSTEM_NODE_FLAG,
709 TREE_SEQ,
710 COUNTED_OPTIONS_FLAG,
711 UI_OMIT,
712 UI_SECTION,
713 BOM_TREATMENT,
714 ORIG_SYS_REF,
715 BOM_REQUIRED_FLAG,
716 SO_ITEM_TYPE_CODE,
717 MINIMUM_SELECTED,
718 MAXIMUM_SELECTED,
719 DELETED_FLAG,
720 SECURITY_MASK,
721 CHECKOUT_USER,
722 USER_NUM01,
723 USER_NUM02,
724 USER_NUM03,
725 USER_NUM04,
726 USER_STR01,
727 USER_STR02,
728 USER_STR03,
729 USER_STR04,
730 VIRTUAL_FLAG,
731 DECIMAL_QTY_FLAG,
732 VIOLATION_TEXT_ID,
733 EFFECTIVITY_SET_ID,
734 EFFECTIVE_FROM,
735 EFFECTIVE_UNTIL,
736 EFFECTIVE_USAGE_MASK,
737 COMPONENT_SEQUENCE_ID,
738 QUOTEABLE_FLAG,
739 PRIMARY_UOM_CODE,
740 PERSISTENT_NODE_ID,
741 BOM_SORT_ORDER,
742 COMPONENT_SEQUENCE_PATH,
743 IB_TRACKABLE)
744 VALUES( new_child,
745 NEW_PROJECT_ID,
746 i.FROM_POPULATOR_ID,
747 i.PROPERTY_BACKPTR,
748 i.ITEM_TYPE_BACKPTR,
749 new_intl_text_id,
750 new_sub_cons_id,
751 i.ITEM_ID,
752 i.NAME,
753 i.RESOURCE_FLAG,
754 i.INITIAL_VALUE,
755 i.initial_num_value, -- sselahi
756 new_parent,
757 i.MINIMUM,
758 i.MAXIMUM,
759 i.PS_NODE_TYPE,
760 i.FEATURE_TYPE,
761 i.PRODUCT_FLAG,
762 i.REFERENCE_ID,
763 i.MULTI_CONFIG_FLAG,
764 i.ORDER_SEQ_FLAG,
765 i.SYSTEM_NODE_FLAG,
766 i.TREE_SEQ,
767 i.COUNTED_OPTIONS_FLAG,
768 i.UI_OMIT,
769 i.UI_SECTION,
770 i.BOM_TREATMENT,
771 i.ORIG_SYS_REF,
772 i.BOM_REQUIRED_FLAG,
773 i.SO_ITEM_TYPE_CODE,
774 i.MINIMUM_SELECTED,
775 i.MAXIMUM_SELECTED,
776 i.DELETED_FLAG,
777 i.SECURITY_MASK,
778 i.CHECKOUT_USER,
779 i.USER_NUM01,
780 i.USER_NUM02,
781 i.USER_NUM03,
782 i.USER_NUM04,
783 i.USER_STR01,
784 i.USER_STR02,
785 i.USER_STR03,
786 i.USER_STR04,
787 i.VIRTUAL_FLAG,
788 i.DECIMAL_QTY_FLAG,
789 i.VIOLATION_TEXT_ID,
790 i.EFFECTIVITY_SET_ID,
791 i.EFFECTIVE_FROM,
792 i.EFFECTIVE_UNTIL,
793 i.EFFECTIVE_USAGE_MASK,
794 i.COMPONENT_SEQUENCE_ID,
795 i.QUOTEABLE_FLAG,
796 i.PRIMARY_UOM_CODE,
797 i.PERSISTENT_NODE_ID,
798 i.BOM_SORT_ORDER,
799 i.COMPONENT_SEQUENCE_PATH,
800 i.IB_TRACKABLE);
801
802 PACK;
803
804 Copy_PS_PROP_VAL(i.ps_node_id,new_child);
805
806 EXCEPTION
807 WHEN NO_DATA_FOUND THEN
808 NULL;
809 WHEN OTHERS THEN
810 NULL;
811 END;
812 END LOOP;
813
814 END;
815
816 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
817 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
818
819 PROCEDURE Copy_FUNC_COMP_SPEC
820 (withRules IN VARCHAR2) IS -- DEFAULT '1'
821
822 new_id INTEGER;
823 new_component_id INTEGER;
824 new_rule_folder_id INTEGER;
825 new_model_ref_expl_id INTEGER;
826
827 BEGIN
828
829 FOR i IN (SELECT * FROM CZ_FUNC_COMP_SPECS
830 WHERE DEVL_PROJECT_ID=OLD_PROJECT_ID AND deleted_flag=NO_FLAG)
831 LOOP
832 BEGIN
833 get_Next_Val(new_id,'CZ_FUNC_COMP_SPECS_S');
834
835 IF i.component_id IS NOT NULL THEN
836 BEGIN
837 new_component_id:=FlowId_PS_NODE(i.component_id);
838 EXCEPTION
839 WHEN NO_DATA_FOUND THEN
840 new_component_id:=i.component_id;
841 END;
842
843 ELSE
844 new_component_id:=NULL;
845 END IF;
846
847 IF withRules=YES_FLAG THEN
848 IF i.rule_folder_id IS NOT NULL THEN
849 new_rule_folder_id:=FlowId_RULE_FOLDER(i.rule_folder_id);
853 ELSE
850 ELSE
851 new_rule_folder_id:=NULL;
852 END IF;
854 new_rule_folder_id:=i.rule_folder_id;
855 END IF;
856
857 IF i.model_ref_expl_id IS NOT NULL THEN
858 BEGIN
859 new_model_ref_expl_id:=FlowId_MODEL_REF_EXPL(i.model_ref_expl_id);
860 EXCEPTION
861 WHEN NO_DATA_FOUND THEN
862 new_model_ref_expl_id:=i.model_ref_expl_id;
863 END;
864 ELSE
865 new_model_ref_expl_id:=NULL;
866 END IF;
867
868 INSERT INTO CZ_FUNC_COMP_SPECS(
869 FUNC_COMP_ID,
870 COMPANION_TYPE,
871 DEVL_PROJECT_ID,
872 COMPONENT_ID,
873 NAME,
874 DESC_TEXT,
875 PROGRAM_STRING,
876 IMPLEMENTATION_TYPE,
877 RULE_FOLDER_ID,
878 DELETED_FLAG,
879 SECURITY_MASK,
880 CHECKOUT_USER,
881 MODEL_REF_EXPL_ID)
882 VALUES(
883 new_id,
884 i.COMPANION_TYPE,
885 NEW_PROJECT_ID,
886 new_component_id,
887 i.NAME,
888 i.DESC_TEXT,
889 i.PROGRAM_STRING,
890 i.IMPLEMENTATION_TYPE,
891 new_rule_folder_id,
892 i.DELETED_FLAG,
893 i.SECURITY_MASK,
894 i.CHECKOUT_USER,
895 new_model_ref_expl_id);
896
897 PACK;
898
899 FlowId_FUNC_COMP_SPEC(i.func_comp_id):=new_id;
900
901 EXCEPTION
902 WHEN NO_DATA_FOUND THEN
903 NULL;
904 WHEN OTHERS THEN
905 NULL;
906 END;
907
908 END LOOP;
909
910 END;
911
912 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
913 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
914
915 PROCEDURE Copy_POPULATOR IS
916
917 new_id INTEGER;
918 new_node_id INTEGER;
919 new_filter_id INTEGER;
920 currSeqVal INTEGER;
921 k INTEGER;
922
923 BEGIN
924
925 get_Next_Val(new_id,'CZ_POPULATORS_S');
926
927 FOR i IN (SELECT * FROM CZ_POPULATORS a WHERE deleted_flag=NO_FLAG
928 AND EXISTS(SELECT NULL FROM CZ_PS_NODES WHERE devl_project_id=OLD_PROJECT_ID
929 AND ps_node_id=a.owned_by_node_id AND deleted_flag=NO_FLAG))
930 LOOP
931 BEGIN
932 SELECT CZ_POPULATORS_S.NEXTVAL INTO new_id FROM dual;
933
934 new_node_id:=FlowId_PS_NODE(i.owned_by_node_id);
935 new_filter_id:=FlowId_FILTER_SET(i.filter_set_id);
936
937 INSERT INTO CZ_POPULATORS(
938 POPULATOR_ID,
939 OWNED_BY_NODE_ID,
940 FILTER_SET_ID,
941 RESULT_TYPE,
942 DELETED_FLAG,
943 SECURITY_MASK,
944 CHECKOUT_USER,
945 PERSISTENT_POPULATOR_ID,
946 FEATURE_TYPE,
947 VIEW_NAME,
948 HAS_ITEM,
949 HAS_ITEM_TYPE,
950 HAS_PROPERTY,
951 HAS_DESCRIPTION,
952 HAS_LEVEL,
953 QUERY_SYNTAX,
954 NAME,
955 DESCRIPTION)
956 VALUES(
957 new_id,
958 new_node_id,
959 new_filter_id,
960 i.RESULT_TYPE,
961 i.DELETED_FLAG,
962 i.SECURITY_MASK,
963 i.CHECKOUT_USER,
964 i.PERSISTENT_POPULATOR_ID,
965 i.FEATURE_TYPE,
966 i.VIEW_NAME,
967 i.HAS_ITEM,
968 i.HAS_ITEM_TYPE,
969 i.HAS_PROPERTY,
970 i.HAS_DESCRIPTION,
971 i.HAS_LEVEL,
972 i.QUERY_SYNTAX,
973 i.NAME,
974 i.DESCRIPTION);
975
976 PACK;
977
978 FlowId_POPULATOR(i.populator_id):=new_id;
979 get_Next_Val(new_id,'CZ_POPULATORS_S');
980
981 EXCEPTION
982 WHEN NO_DATA_FOUND THEN
983 NULL;
984 WHEN OTHERS THEN
985 NULL;
986 END;
987
988 END LOOP;
989
990 IF FlowId_POPULATOR.Count>0 THEN
991 k:=FlowId_POPULATOR.First;
992 LOOP
993 IF k IS NULL THEN
994 EXIT;
995 END IF;
996 UPDATE CZ_PS_NODES SET from_populator_id=FlowId_POPULATOR(k)
997 WHERE from_populator_id=k AND devl_project_id=NEW_PROJECT_ID;
998 k:=FlowId_POPULATOR.NEXT(k);
999 END LOOP;
1000 END IF;
1001
1002 END;
1003
1004 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
1005 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
1006
1007 PROCEDURE Copy_EXPRESSION_NODE
1008 (forRules_Subschema IN BOOLEAN,p_rule_id IN VARCHAR2 DEFAULT NULL) IS -- DEFAULT FALSE
1009
1010 new_id INTEGER;
1014 new_express_id INTEGER;
1011 new_parent INTEGER;
1012 new_child INTEGER;
1013 exp_id INTEGER;
1015 new_filter_id INTEGER;
1016 new_ps_node_id INTEGER;
1017 new_model_ref_expl_id INTEGER;
1018 ind INTEGER;
1019 k INTEGER;
1020
1021 BEGIN
1022
1023 ind:=FlowId_EXPRESSION.First;
1024 LOOP
1025 BEGIN
1026 FOR i IN (SELECT expr_node_id FROM CZ_EXPRESSION_NODES
1027 WHERE express_id=ind AND deleted_flag=NO_FLAG
1028 ORDER BY expr_node_id)
1029 LOOP
1030 get_Next_Val(new_id,'CZ_EXPRESSION_NODES_S');
1031 FlowId_EXPRESSION_NODE(i.expr_node_id):=new_id;
1032 END LOOP;
1033
1034 FOR i IN (SELECT * FROM CZ_EXPRESSION_NODES
1035 WHERE express_id=ind AND deleted_flag=NO_FLAG
1036 ORDER BY expr_node_id)
1037 LOOP
1038 BEGIN
1039 IF i.expr_parent_id IS NOT NULL THEN
1040 new_parent:=FlowId_EXPRESSION_NODE(i.expr_parent_id);
1041 ELSE
1042 new_parent:=NULL;
1043 END IF;
1044
1045 new_child:=FlowId_EXPRESSION_NODE(i.expr_node_id);
1046 new_express_id:=FlowId_EXPRESSION(i.express_id);
1047
1048 IF forRules_Subschema THEN
1049 new_ps_node_id:=i.ps_node_id;
1050 ELSE
1051 IF i.ps_node_id IS NOT NULL THEN
1052 BEGIN
1053 new_ps_node_id:=FlowId_PS_NODE(i.ps_node_id);
1054 EXCEPTION
1055 WHEN NO_DATA_FOUND THEN
1056 new_ps_node_id:=i.ps_node_id;
1057 END;
1058 ELSE
1059 new_ps_node_id:=NULL;
1060 END IF;
1061 END IF;
1062
1063 IF i.filter_set_id IS NOT NULL THEN
1064 new_filter_id:=FlowId_FILTER_SET(i.filter_set_id);
1065 ELSE
1066 new_filter_id:=NULL;
1067 END IF;
1068
1069 IF i.model_ref_expl_id IS NOT NULL THEN
1070 BEGIN
1071 new_model_ref_expl_id:=FlowId_MODEL_REF_EXPL(i.model_ref_expl_id);
1072 EXCEPTION
1073 WHEN NO_DATA_FOUND THEN
1074 new_model_ref_expl_id:=i.model_ref_expl_id;
1075 END;
1076 ELSE
1077 new_model_ref_expl_id:=NULL;
1078 END IF;
1079
1080 new_child:=FlowId_EXPRESSION_NODE(i.expr_node_id);
1081 INSERT INTO CZ_EXPRESSION_NODES(
1082 EXPR_NODE_ID,
1083 EXPRESS_ID,
1084 SEQ_NBR,
1085 ITEM_TYPE_ID,
1086 PS_NODE_ID,
1087 ITEM_ID,
1088 FILTER_SET_ID,
1089 GRID_COL_ID,
1090 EXPR_PARENT_ID,
1091 PROPERTY_ID,
1092 COMPILE_ADVICE,
1093 COL,
1094 DATA_VALUE,
1095 DATA_NUM_VALUE, -- sselahi
1096 FIELD_NAME,
1097 EXPR_TYPE,
1098 EXPR_SUBTYPE,
1099 TOKEN_LIST_SEQ,
1100 DELETED_FLAG,
1101 SECURITY_MASK,
1102 CHECKOUT_USER,
1103 CONSEQUENT_FLAG,
1104 MODEL_REF_EXPL_ID,
1105 RULE_ID,
1106 TEMPLATE_ID,
1107 ARGUMENT_SIGNATURE_ID,
1108 ARGUMENT_INDEX,
1109 PARAM_SIGNATURE_ID,
1110 PARAM_INDEX,
1111 ARGUMENT_NAME,
1112 DATA_TYPE,
1113 DISPLAY_NODE_DEPTH,
1114 COLLECTION_FLAG,
1115 SOURCE_OFFSET,
1116 SOURCE_LENGTH,
1117 RELATIVE_NODE_PATH,
1118 MUTABLE_FLAG,
1119 EVENT_EXECUTION_SCOPE)
1120 VALUES(
1121 new_child,
1122 new_express_id,
1123 i.SEQ_NBR,
1124 i.ITEM_TYPE_ID,
1125 new_ps_node_id,
1126 i.ITEM_ID,
1127 i.FILTER_SET_ID,
1128 i.GRID_COL_ID,
1129 new_parent,
1130 i.PROPERTY_ID,
1131 i.COMPILE_ADVICE,
1132 i.COL,
1133 i.DATA_VALUE,
1134 i.DATA_NUM_VALUE, -- sselahi
1135 i.FIELD_NAME,
1136 i.EXPR_TYPE,
1137 i.EXPR_SUBTYPE,
1138 i.TOKEN_LIST_SEQ,
1139 i.DELETED_FLAG,
1140 i.SECURITY_MASK,
1141 i.CHECKOUT_USER,
1142 i.CONSEQUENT_FLAG,
1143 new_model_ref_expl_id,
1144 p_rule_id,
1145 i.TEMPLATE_ID,
1146 i.ARGUMENT_SIGNATURE_ID,
1147 i.ARGUMENT_INDEX,
1148 i.PARAM_SIGNATURE_ID,
1152 i.DISPLAY_NODE_DEPTH,
1149 i.PARAM_INDEX,
1150 i.ARGUMENT_NAME,
1151 i.DATA_TYPE,
1153 i.COLLECTION_FLAG,
1154 i.SOURCE_OFFSET,
1155 i.SOURCE_LENGTH,
1156 i.RELATIVE_NODE_PATH,
1157 i.MUTABLE_FLAG,
1158 i.EVENT_EXECUTION_SCOPE);
1159
1160 PACK;
1161
1162 EXCEPTION
1163 WHEN NO_DATA_FOUND THEN
1164 NULL;
1165 WHEN OTHERS THEN
1166 NULL;
1167 END;
1168
1169 END LOOP;
1170
1171 ind:=FlowId_EXPRESSION.NEXT(ind);
1172 IF ind IS NULL THEN
1173 EXIT;
1174 END IF;
1175
1176 EXCEPTION
1177 WHEN NO_DATA_FOUND THEN
1178 NULL;
1179 WHEN OTHERS THEN
1180 NULL;
1181 END;
1182
1183 END LOOP;
1184
1185 END;
1186
1187 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
1188 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
1189
1190 PROCEDURE Copy_GRID_DEF IS
1191
1192 new_id INTEGER;
1193
1194 BEGIN
1195
1196 FOR i IN (SELECT * FROM CZ_GRID_DEFS
1197 WHERE devl_project_id=OLD_PROJECT_ID AND deleted_flag=NO_FLAG)
1198 LOOP
1199
1200 get_Next_Val(new_id,'CZ_GRID_DEFS_S');
1201
1202 INSERT INTO CZ_GRID_DEFS(
1203 GRID_ID,
1204 DEVL_PROJECT_ID,
1205 NAME,
1206 DESC_TEXT,
1207 DELETED_FLAG,
1208 SECURITY_MASK,
1209 CHECKOUT_USER)
1210 VALUES(
1211 new_id,
1212 NEW_PROJECT_ID,
1213 i.NAME,
1214 i.DESC_TEXT,
1215 i.DELETED_FLAG,
1216 i.SECURITY_MASK,
1217 i.CHECKOUT_USER);
1218
1219 PACK;
1220
1221 FlowId_GRID_DEF(i.grid_id):=new_id;
1222 END LOOP;
1223
1224 END;
1225
1226 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
1227 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
1228
1229 PROCEDURE Copy_GRID_COL IS
1230
1231 new_id INTEGER;
1232 new_parent INTEGER;
1233 new_child INTEGER;
1234 new_grid_id INTEGER;
1235 ind INTEGER;
1236
1237 BEGIN
1238
1239 ind:=FlowId_GRID_DEF.First;
1240 LOOP
1241 BEGIN
1242 FOR i IN (SELECT grid_col_id FROM CZ_GRID_COLS
1243 WHERE grid_id=ind AND deleted_flag=NO_FLAG)
1244 LOOP
1245 get_Next_Val(new_id,'CZ_GRID_COLS_S');
1246 FlowId_GRID_COL(i.grid_col_id):=new_id;
1247 END LOOP;
1248
1249 FOR i IN (SELECT grid_col_id,prev_grid_col_id,grid_id FROM CZ_GRID_COLS
1250 WHERE grid_id=ind AND deleted_flag=NO_FLAG
1251 START WITH prev_grid_col_id IS NULL
1252 CONNECT BY PRIOR grid_col_id=prev_grid_col_id)
1253 LOOP
1254 BEGIN
1255 IF i.prev_grid_col_id IS not NULL THEN
1256 new_parent:=FlowId_GRID_COL(i.prev_grid_col_id);
1257 ELSE
1258 new_parent:=NULL;
1259 END IF;
1260
1261 new_child:=FlowId_GRID_COL(i.grid_col_id);
1262
1263 new_grid_id:=FlowId_GRID_DEF(i.grid_id);
1264
1265 INSERT INTO CZ_GRID_COLS
1266 (GRID_ID,
1267 GRID_COL_ID,
1268 PREV_GRID_COL_ID,
1269 DATA_TYPE,
1270 DELETED_FLAG,
1271 SECURITY_MASK,
1272 CHECKOUT_USER)
1273 SELECT
1274 new_grid_id,
1275 new_child,
1276 new_parent,
1277 DATA_TYPE,
1278 DELETED_FLAG,
1279 SECURITY_MASK,
1280 CHECKOUT_USER
1281 FROM CZ_GRID_COLS
1282 WHERE grid_col_id=i.grid_col_id;
1283
1284 PACK;
1285
1286 EXCEPTION
1287 WHEN NO_DATA_FOUND THEN
1288 NULL;
1289 WHEN OTHERS THEN
1290 NULL;
1291 END;
1292
1293 END LOOP;
1294
1295 ind:=FlowId_GRID_DEF.NEXT(ind);
1296 IF ind IS NULL THEN
1297 EXIT;
1298 END IF;
1299
1300 EXCEPTION
1301 WHEN NO_DATA_FOUND THEN
1302 NULL;
1303 WHEN OTHERS THEN
1304 NULL;
1305 END;
1306
1307 END LOOP;
1308
1309 END;
1310
1311 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
1312 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
1313
1314 PROCEDURE Copy_GRID_CELL
1315 (fromRules IN BOOLEAN) IS -- DEFAULT FALSE
1316
1317 new_id INTEGER;
1318 new_parent INTEGER;
1319 new_child INTEGER;
1320 new_grid_col_id INTEGER;
1321 new_ps_node_id INTEGER;
1322 ind INTEGER;
1323
1324 BEGIN
1325
1326 ind:=FlowId_GRID_COL.First;
1327
1328 LOOP
1329 BEGIN
1330 FOR i IN (SELECT grid_cell_id FROM CZ_GRID_CELLS
1334 FlowId_GRID_CELL(i.grid_cell_id):=new_id;
1331 WHERE grid_col_id=ind AND deleted_flag=NO_FLAG ORDER BY grid_cell_id)
1332 LOOP
1333 get_Next_Val(new_id,'CZ_GRID_CELLS_S');
1335 END LOOP;
1336
1337 FOR i IN (SELECT grid_cell_id,prev_grid_cell_id,grid_col_id,ps_node_id
1338 FROM CZ_GRID_CELLS WHERE grid_col_id=ind AND deleted_flag=NO_FLAG ORDER BY grid_cell_id)
1339 LOOP
1340 BEGIN
1341 IF i.prev_grid_cell_id IS NOT NULL THEN
1342 new_parent:=FlowId_GRID_CELL(i.prev_grid_cell_id);
1343 ELSE
1344 new_parent:=NULL;
1345 END IF;
1346
1347 new_child:=FlowId_GRID_CELL(i.grid_cell_id);
1348
1349 new_grid_col_id:=FlowId_GRID_COL(i.grid_col_id);
1350
1351 IF i.ps_node_id IS NOT NULL THEN
1352 IF fromRules THEN
1353 new_ps_node_id:=i.ps_node_id;
1354 ELSE
1355 BEGIN
1356 new_ps_node_id:=FlowId_PS_NODE(i.ps_node_id);
1357 EXCEPTION
1358 WHEN NO_DATA_FOUND THEN
1359 new_ps_node_id:=i.ps_node_id;
1360 END;
1361 END IF;
1362 ELSE
1363 new_ps_node_id:=NULL;
1364 END IF;
1365
1366 INSERT INTO CZ_GRID_CELLS(
1367 GRID_COL_ID,
1368 GRID_CELL_ID,
1369 STR_VALUE,
1370 PREV_GRID_CELL_ID,
1371 PS_NODE_ID,
1372 DELETED_FLAG,
1373 SECURITY_MASK,
1374 CHECKOUT_USER)
1375 SELECT
1376 new_grid_col_id,
1377 new_child,
1378 STR_VALUE,
1379 new_parent,
1380 new_ps_node_id,
1381 DELETED_FLAG,
1382 SECURITY_MASK,
1383 CHECKOUT_USER
1384 FROM CZ_GRID_CELLS
1385 WHERE grid_cell_id=i.grid_cell_id;
1386
1387 PACK;
1388
1389 EXCEPTION
1390 WHEN NO_DATA_FOUND THEN
1391 NULL;
1392 WHEN OTHERS THEN
1393 NULL;
1394 END;
1395
1396 END LOOP;
1397
1398 ind:=FlowId_GRID_COL.NEXT(ind);
1399 IF ind IS NULL THEN
1400 EXIT;
1401 END IF;
1402
1403 EXCEPTION
1404 WHEN NO_DATA_FOUND THEN
1405 NULL;
1406 WHEN OTHERS THEN
1407 NULL;
1408 END;
1409
1410 END LOOP;
1411
1412 END;
1413
1414 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
1415 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
1416
1417 PROCEDURE Copy_UI IS
1418
1419 new_id INTEGER;
1420 new_ps_id INTEGER;
1421 new_parent INTEGER;
1422 new_child INTEGER;
1423 new_intl_text_id INTEGER;
1424 new_func_comp_id INTEGER;
1425 new_ps_node_id INTEGER;
1426 new_container_id INTEGER;
1427 new_tool_tip_id INTEGER;
1428 new_caption_id INTEGER;
1429 new_comp_id INTEGER;
1430 new_ui_def_id INTEGER;
1431 new_ui_node_ref_id INTEGER;
1432 new_ui_node_id INTEGER;
1433 new_component_id INTEGER;
1434 ind INTEGER;
1435 var_temp INTEGER;
1436 new_model_ref_expl_id INTEGER;
1437 new_lce_identifier CZ_UI_NODES.lce_identifier%TYPE;
1438
1439 BEGIN
1440
1441 FOR k IN (SELECT * FROM CZ_UI_DEFS
1442 WHERE devl_project_id=OLD_PROJECT_ID AND deleted_flag=NO_FLAG)
1443 LOOP
1444 BEGIN
1445 get_Next_Val(new_ui_def_id,'CZ_UI_DEFS_S');
1446 IF k.component_id IS NOT NULL THEN
1447 new_comp_id:=FlowId_PS_NODE(k.component_id);
1448 ELSE
1449 new_comp_id:=NULL;
1450 END IF;
1451
1452 INSERT INTO CZ_UI_DEFS
1453 (UI_DEF_ID,
1454 DESC_TEXT,
1455 NAME,
1456 DEVL_PROJECT_ID,
1457 COMPONENT_ID,
1458 TREE_SEQ,
1459 DELETED_FLAG,
1460 EFF_FROM,
1461 EFF_TO,
1462 SECURITY_MASK,
1463 EFF_MASK,
1464 CHECKOUT_USER,
1465 UI_STYLE,
1466 GEN_VERSION,
1467 TREENODE_DISPLAY_SOURCE,
1468 GEN_HEADER,
1469 LOOK_AND_FEEL,
1470 CONTROLS_PER_SCREEN,
1471 PERSISTENT_UI_DEF_ID,
1472 MODEL_TIMESTAMP,
1473 UI_STATUS,
1474 FROM_MASTER_TEMPLATE_ID,
1475 PAGE_SET_ID,
1476 START_PAGE_ID,
1477 ERR_RUN_ID)
1478
1479 VALUES(
1480 new_ui_def_id,
1481 k.DESC_TEXT,
1482 k.NAME,
1483 NEW_PROJECT_ID,
1484 new_comp_id,
1485 k.TREE_SEQ+1,
1486 k.DELETED_FLAG,
1487 k.EFF_FROM,
1488 k.EFF_TO,
1489 k.SECURITY_MASK,
1490 k.EFF_MASK,
1491 k.CHECKOUT_USER,
1492 k.UI_STYLE,
1493 k.GEN_VERSION,
1497 k.CONTROLS_PER_SCREEN,
1494 k.TREENODE_DISPLAY_SOURCE,
1495 k.GEN_HEADER,
1496 k.LOOK_AND_FEEL,
1498 k.PERSISTENT_UI_DEF_ID,
1499 k.MODEL_TIMESTAMP,
1500 k.UI_STATUS,
1501 k.FROM_MASTER_TEMPLATE_ID,
1502 k.PAGE_SET_ID,
1503 k.START_PAGE_ID,
1504 k.ERR_RUN_ID);
1505
1506 PACK;
1507
1508 INSERT INTO CZ_UI_PROPERTIES
1509 (KEY_STR,
1510 UI_DEF_ID,
1511 VALUE_STR,
1512 DELETED_FLAG,
1513 SECURITY_MASK,
1514 CHECKOUT_USER)
1515 SELECT
1516 KEY_STR,
1517 new_ui_def_id,
1518 VALUE_STR,
1519 DELETED_FLAG,
1520 SECURITY_MASK,
1521 CHECKOUT_USER
1522 FROM CZ_UI_PROPERTIES
1523 WHERE ui_def_id=k.ui_def_id;
1524
1525 PACK;
1526
1527 FOR i IN (SELECT ui_node_id FROM CZ_UI_NODES WHERE
1528 ui_def_id=k.ui_def_id AND deleted_flag=NO_FLAG)
1529 LOOP
1530 get_Next_Val(new_id,'CZ_UI_NODES_S');
1531 FlowId_UI_NODE(i.ui_node_id):=new_id;
1532 END LOOP;
1533
1534 FOR i IN (SELECT * FROM CZ_UI_NODES
1535 WHERE ui_def_id=k.ui_def_id AND deleted_flag=NO_FLAG)
1536 LOOP
1537 BEGIN
1538 new_parent:=FlowId_UI_NODE(i.parent_id);
1539 new_child:=FlowId_UI_NODE(i.ui_node_id);
1540
1541 get_Next_Val(new_intl_text_id,'CZ_INTL_TEXTS_S');
1542 Copy_INTL_TEXT(i.caption_id,new_intl_text_id,NEW_PROJECT_ID,new_ui_def_id);
1543
1544 /* *** tool tips are not used anymore ***
1545 *get_Next_Val(new_tool_tip_id,'CZ_INTL_TEXTS_S');
1546 *get_Next_Val(new_tool_tip_id,'CZ_INTL_TEXTS_S');
1547 *Copy_INTL_TEXT(i.tool_tip_id,new_tool_tip_id);
1548 */
1549
1550 IF i.ps_node_id IS NOT NULL THEN
1551 BEGIN
1552 new_ps_node_id:=FlowId_PS_NODE(i.ps_node_id);
1553 EXCEPTION
1554 WHEN NO_DATA_FOUND THEN
1555 new_ps_node_id:=i.ps_node_id;
1556 END;
1557 ELSE
1558 new_ps_node_id:=NULL;
1559 END IF;
1560
1561 IF i.component_id IS NOT NULL THEN
1562 BEGIN
1563 new_component_id:=FlowId_PS_NODE(i.component_id);
1564 EXCEPTION
1565 WHEN NO_DATA_FOUND THEN
1566 new_component_id:=i.component_id;
1567 END;
1568 ELSE
1569 new_component_id:=NULL;
1570 END IF;
1571
1572 IF i.container_id IS NOT NULL THEN
1573 BEGIN
1574 new_container_id:=FlowId_PS_NODE(i.container_id);
1575 EXCEPTION
1576 WHEN NO_DATA_FOUND THEN
1577 new_container_id:=i.container_id;
1578 END;
1579 ELSE
1580 new_container_id:=NULL;
1581 END IF;
1582
1583 IF i.func_comp_id IS NOT NULL THEN
1584 BEGIN
1585 new_func_comp_id:=FlowId_FUNC_COMP_SPEC(i.func_comp_id);
1586 EXCEPTION
1587 WHEN NO_DATA_FOUND THEN
1588 new_func_comp_id:=i.func_comp_id;
1589 END;
1590 ELSE
1591 new_func_comp_id:=NULL;
1592 END IF;
1593
1594 IF i.ui_node_ref_id IS NOT NULL THEN
1595 BEGIN
1596 new_ui_node_ref_id:=FlowId_UI_NODE(i.ui_node_ref_id);
1597 EXCEPTION
1598 WHEN NO_DATA_FOUND THEN
1599 new_ui_node_ref_id:=i.ui_node_ref_id;
1600 END;
1601 ELSE
1602 new_ui_node_ref_id:=NULL;
1603 END IF;
1604
1605 IF i.lce_identifier IS NOT NULL THEN
1606
1607 var_temp:=TO_NUMBER(SUBSTR(i.lce_identifier,3));
1608
1609 IF FlowId_PS_NODE.EXISTS(var_temp) THEN
1610 new_lce_identifier:='P_'||TO_CHAR(FlowId_PS_NODE(var_temp));
1611 ELSE
1612 new_lce_identifier:='P_'||TO_CHAR(var_temp);
1613 END IF;
1614 ELSE
1615 new_lce_identifier:=NULL;
1616 END IF;
1617
1618 IF i.model_ref_expl_id IS NOT NULL THEN
1619 BEGIN
1620 new_model_ref_expl_id:=FlowId_MODEL_REF_EXPL(i.model_ref_expl_id);
1621 EXCEPTION
1622 WHEN NO_DATA_FOUND THEN
1623 new_model_ref_expl_id:=i.model_ref_expl_id;
1624 END;
1625 ELSE
1626 new_model_ref_expl_id:=NULL;
1627 END IF;
1628
1629 INSERT INTO CZ_UI_NODES(
1630 UI_NODE_ID,
1631 UI_DEF_ID,
1632 FUNC_COMP_ID,
1633 REL_TOP_POS,
1634 WIDTH,
1635 HEIGHT,
1636 PARENT_ID,
1637 REL_LEFT_POS,
1638 COMPONENT_ID,
1639 CONTAINER_ID,
1640 CAPTION_ID,
1641 UI_NODE_TYPE,
1642 PS_NODE_ID,
1643 NAME,
1644 UI_NODE_REF_ID,
1645 BACKGROUND_COLOR,
1646 LCE_IDENTIFIER,
1647 DESC_TEXT,
1648 TREE_SEQ,
1649 TREE_DISPLAY_FLAG,
1650 MODIFIED_FLAGS,
1651 TAB_ORDER,
1652 DEFAULT_FONT_FLAG,
1656 DELETED_FLAG,
1653 TOOL_TIP_ID,
1654 DEFAULT_BKGRND_COLOR_FLAG,
1655 DEFAULT_BKGRND_PICTURE_FLAG,
1657 SECURITY_MASK,
1658 CHECKOUT_USER,
1659 MODEL_REF_EXPL_ID,
1660 FONTBOLD,
1661 FONTCOLOR,
1662 FONTITALIC,
1663 FONTUNDERLINE,
1664 FONTSIZE,
1665 FONTNAME,
1666 BACKGROUNDSTYLE,
1667 CONTROLTYPE,
1668 BACKGROUNDPICTURE,
1669 BORDERS,
1670 PICTURENAME,
1671 UI_DEF_REF_ID,
1672 OPTION_SORT_METHOD,
1673 OPTION_SORT_PROPERTY,
1674 OPTION_SORT_ORDER,
1675 OPTION_SORT_SELECT_FIRST,
1676 PAGE_NUMBER,
1677 PROPERTY_ID,
1678 PERSISTENT_UI_NODE_ID)
1679 VALUES(
1680 new_child,
1681 new_ui_def_id,
1682 new_func_comp_id,
1683 i.REL_TOP_POS,
1684 i.WIDTH,
1685 i.HEIGHT,
1686 new_parent,
1687 i.REL_LEFT_POS,
1688 new_component_id,
1689 new_container_id,
1690 new_intl_text_id,
1691 i.UI_NODE_TYPE,
1692 new_ps_node_id,
1693 i.NAME,
1694 new_ui_node_ref_id,
1695 i.BACKGROUND_COLOR,
1696 new_lce_identifier,
1697 i.DESC_TEXT,
1698 i.TREE_SEQ,
1699 i.TREE_DISPLAY_FLAG,
1700 i.MODIFIED_FLAGS,
1701 i.TAB_ORDER,
1702 i.DEFAULT_FONT_FLAG,
1703 new_tool_tip_id,
1704 i.DEFAULT_BKGRND_COLOR_FLAG,
1705 i.DEFAULT_BKGRND_PICTURE_FLAG,
1706 i.DELETED_FLAG,
1707 i.SECURITY_MASK,
1708 i.CHECKOUT_USER,
1709 new_model_ref_expl_id,
1710 i.FONTBOLD,
1711 i.FONTCOLOR,
1712 i.FONTITALIC,
1713 i.FONTUNDERLINE,
1714 i.FONTSIZE,
1715 i.FONTNAME,
1716 i.BACKGROUNDSTYLE,
1717 i.CONTROLTYPE,
1718 i.BACKGROUNDPICTURE,
1719 i.BORDERS,
1720 i.PICTURENAME,
1721 i.ui_def_ref_id,
1722 i.OPTION_SORT_METHOD,
1723 i.OPTION_SORT_PROPERTY,
1724 i.OPTION_SORT_ORDER,
1725 i.OPTION_SORT_SELECT_FIRST,
1726 i.PAGE_NUMBER,
1727 i.PROPERTY_ID,
1728 i.PERSISTENT_UI_NODE_ID);
1729
1730
1731 INSERT INTO CZ_UI_NODE_PROPS
1732 (UI_NODE_ID,
1733 UI_DEF_ID,
1734 KEY_STR,
1735 VALUE_STR,
1736 DELETED_FLAG,
1737 SECURITY_MASK,
1738 CHECKOUT_USER,
1739 CONTAINER_ID)
1740 SELECT
1741 new_child,
1742 new_ui_def_id,
1743 KEY_STR,
1744 VALUE_STR,
1745 DELETED_FLAG,
1746 SECURITY_MASK,
1747 CHECKOUT_USER,
1748 CONTAINER_ID
1749 FROM CZ_UI_NODE_PROPS
1750 WHERE ui_node_id=i.ui_node_id AND ui_def_id=k.ui_def_id AND deleted_flag=NO_FLAG;
1751
1752 PACK;
1753
1754 EXCEPTION
1755 WHEN NO_DATA_FOUND THEN
1756 LOG_REPORT('CZ_PS_COPY.copy_UI','UI node='||to_char(i.ui_node_id)||' is corrupted.');
1757 END;
1758 END LOOP;
1759
1760 EXCEPTION
1761 WHEN NO_DATA_FOUND THEN
1762 NULL;
1763 WHEN OTHERS THEN
1764 NULL;
1765 END;
1766
1767 END LOOP;
1768
1769 --EXCEPTION
1770 --WHEN NO_DATA_FOUND THEN
1771 -- NULL;
1772 --WHEN OTHERS THEN
1773 -- NULL;
1774 END;
1775
1776 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
1777 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
1778
1779 PROCEDURE Copy_RULE_FOLDERS IS
1780
1781 new_id INTEGER;
1782 new_parent INTEGER;
1783 new_child INTEGER;
1784
1785 BEGIN
1786
1787 FOR i IN (SELECT rule_folder_id FROM CZ_RULE_FOLDERS
1788 WHERE devl_project_id=OLD_PROJECT_ID AND deleted_flag=NO_FLAG)
1789 LOOP
1790 get_Next_Val(new_id,'CZ_RULE_FOLDERS_S');
1791 FlowId_RULE_FOLDER(i.rule_folder_id):=new_id;
1792 END LOOP;
1793
1794 FOR i IN (SELECT * FROM CZ_RULE_FOLDERS
1795 WHERE devl_project_id=OLD_PROJECT_ID AND deleted_flag=NO_FLAG)
1796 LOOP
1797 BEGIN
1798 IF i.parent_rule_folder_id IS NOT NULL THEN
1799 new_parent:=FlowId_RULE_FOLDER(i.parent_rule_folder_id);
1800 ELSE
1801 new_parent:=NULL;
1802 END IF;
1803 new_child:=FlowId_RULE_FOLDER(i.rule_folder_id);
1804
1805 INSERT INTO CZ_RULE_FOLDERS
1806 (RULE_FOLDER_ID,
1807 NAME,
1808 DESC_TEXT,
1809 PARENT_RULE_FOLDER_ID,
1813 SECURITY_MASK,
1810 DEVL_PROJECT_ID,
1811 TREE_SEQ,
1812 DELETED_FLAG,
1814 CHECKOUT_USER,
1815 FOLDER_TYPE,
1816 EFFECTIVE_USAGE_MASK,
1817 EFFECTIVE_FROM,
1818 EFFECTIVE_UNTIL,
1819 EFFECTIVITY_SET_ID,
1820 PERSISTENT_RULE_FOLDER_ID,
1821 OBJECT_TYPE,
1822 DISABLED_FLAG,
1823 ORIG_SYS_REF)
1824 VALUES(
1825 new_child,
1826 i.NAME,
1827 i.DESC_TEXT,
1828 new_parent,
1829 NEW_PROJECT_ID,
1830 i.TREE_SEQ,
1831 i.DELETED_FLAG,
1832 i.SECURITY_MASK,
1833 i.CHECKOUT_USER,
1834 i.FOLDER_TYPE,
1835 i.EFFECTIVE_USAGE_MASK,
1836 i.EFFECTIVE_FROM,
1837 i.EFFECTIVE_UNTIL,
1838 i.EFFECTIVITY_SET_ID,
1839 i.PERSISTENT_RULE_FOLDER_ID,
1840 i.OBJECT_TYPE,
1841 i.DISABLED_FLAG,
1842 i.ORIG_SYS_REF);
1843
1844 PACK;
1845
1846 EXCEPTION
1847 WHEN NO_DATA_FOUND THEN
1848 NULL;
1849 WHEN OTHERS THEN
1850 NULL;
1851 END;
1852
1853 END LOOP;
1854
1855 END;
1856
1857 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
1858 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
1859
1860 PROCEDURE Copy_RULE IS
1861
1862 new_id INTEGER;
1863 new_reason_id INTEGER;
1864 new_amount_id INTEGER;
1865 new_antecedent_id INTEGER;
1866 new_consequent_id INTEGER;
1867 new_component_id INTEGER;
1868 new_sub_cons_id INTEGER;
1869 new_grid_id INTEGER;
1870 new_rule_folder_id INTEGER;
1871 new_intl_text_id INTEGER;
1872 new_msg_id INTEGER;
1873
1874 BEGIN
1875
1876 FOR i IN (SELECT * FROM CZ_RULES
1877 WHERE DEVL_PROJECT_ID=OLD_PROJECT_ID AND deleted_flag=NO_FLAG)
1878 LOOP
1879 BEGIN
1880 get_Next_Val(new_id,'CZ_RULES_S');
1881 FlowId_RULE(i.rule_id):=new_id;
1882
1883 IF i.reason_id IS NOT NULL THEN
1884 get_Next_Val(new_intl_text_id,'CZ_INTL_TEXTS_S');
1885 new_reason_id:=new_intl_text_id;
1886 Copy_INTL_TEXT(i.reason_id,new_reason_id,NEW_PROJECT_ID,NULL);
1887 ELSE
1888 new_reason_id:=NULL;
1889 END IF;
1890
1891 IF i.unsatisfied_msg_id IS NOT NULL THEN
1892 get_Next_Val(new_intl_text_id,'CZ_INTL_TEXTS_S');
1893 new_msg_id:=new_intl_text_id;
1894 Copy_INTL_TEXT(i.unsatisfied_msg_id,new_msg_id,NEW_PROJECT_ID,NULL);
1895 ELSE
1896 new_msg_id:=i.unsatisfied_msg_id;
1897 END IF;
1898
1899 IF i.amount_id IS NOT NULL THEN
1900 new_amount_id:=FlowId_EXPRESSION(i.amount_id);
1901 ELSE
1902 new_amount_id:=NULL;
1903 END IF;
1904
1905 IF i.antecedent_id IS NOT NULL THEN
1906 new_antecedent_id:=FlowId_EXPRESSION(i.antecedent_id);
1907 ELSE
1908 new_antecedent_id:=NULL;
1909 END IF;
1910
1911 IF i.consequent_id IS NOT NULL THEN
1912 new_consequent_id:=FlowId_EXPRESSION(i.consequent_id);
1913 ELSE
1914 new_consequent_id:=NULL;
1915 END IF;
1916
1917 IF i.component_id IS NOT NULL THEN
1918 new_component_id:=FlowId_PS_NODE(i.component_id);
1919 ELSE
1920 new_component_id:=NULL;
1921 END IF;
1922
1923 IF i.sub_cons_id IS NOT NULL THEN
1924 new_sub_cons_id:=FlowId_SUB_CON_SET(i.sub_cons_id);
1925 ELSE
1926 new_sub_cons_id:=NULL;
1927 END IF;
1928
1929 IF i.grid_id IS NOT NULL THEN
1930 new_grid_id:=FlowId_GRID_DEF(i.grid_id);
1931 ELSE
1932 new_grid_id:=NULL;
1933 END IF;
1934
1935 IF i.rule_folder_id IS NULL OR i.rule_folder_id=NULL_ THEN
1936 new_rule_folder_id:=i.rule_folder_id;
1937 ELSE
1938 new_rule_folder_id:=FlowId_RULE_FOLDER(i.rule_folder_id);
1939 END IF;
1940
1941 INSERT INTO CZ_RULES(
1942 RULE_ID,
1943 SUB_CONS_ID,
1944 REASON_ID,
1945 AMOUNT_ID,
1946 GRID_ID,
1947 RULE_FOLDER_ID,
1948 DEVL_PROJECT_ID,
1949 INVALID_FLAG,
1950 DESC_TEXT,
1951 NAME,
1952 ANTECEDENT_ID,
1953 CONSEQUENT_ID,
1954 RULE_TYPE,
1955 EXPR_RULE_TYPE,
1956 COMPONENT_ID,
1957 REASON_TYPE,
1958 DISABLED_FLAG,
1959 ORIG_SYS_REF,
1960 DELETED_FLAG,
1961 SECURITY_MASK,
1962 CHECKOUT_USER,
1963 EFFECTIVITY_SET_ID,
1964 EFFECTIVE_FROM,
1965 EFFECTIVE_UNTIL,
1966 EFFECTIVE_USAGE_MASK,
1967 PERSISTENT_RULE_ID,
1968 SEQ_NBR,
1969 RULE_FOLDER_TYPE,
1970 UNSATISFIED_MSG_ID,
1971 UNSATISFIED_MSG_SOURCE,
1972 SEEDED_FLAG)
1973 VALUES( new_id,
1977 new_grid_id,
1974 new_sub_cons_id,
1975 new_reason_id,
1976 new_amount_id,
1978 new_rule_folder_id,
1979 NEW_PROJECT_ID,
1980 i.INVALID_FLAG,
1981 i.DESC_TEXT,
1982 i.NAME,
1983 new_antecedent_id,
1984 new_consequent_id,
1985 i.RULE_TYPE,
1986 i.EXPR_RULE_TYPE,
1987 new_component_id,
1988 i.REASON_TYPE,
1989 i.DISABLED_FLAG,
1990 i.ORIG_SYS_REF,
1991 i.DELETED_FLAG,
1992 i.SECURITY_MASK,
1993 i.CHECKOUT_USER,
1994 i.EFFECTIVITY_SET_ID,
1995 i.EFFECTIVE_FROM,
1996 i.EFFECTIVE_UNTIL,
1997 i.EFFECTIVE_USAGE_MASK,
1998 i.PERSISTENT_RULE_ID,
1999 i.SEQ_NBR,
2000 i.RULE_FOLDER_TYPE,
2001 new_msg_id,
2002 i.UNSATISFIED_MSG_SOURCE,
2003 i.SEEDED_FLAG);
2004
2005 PACK;
2006
2007 FlowId_RULE(i.rule_id):=new_id;
2008
2009 EXCEPTION
2010 WHEN NO_DATA_FOUND THEN
2011 NULL;
2012 WHEN OTHERS THEN
2013 NULL;
2014 END;
2015
2016 END LOOP;
2017
2018 END;
2019
2020 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2021 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
2022
2023 PROCEDURE Copy_COMBO_FEATURE IS
2024
2025 new_feature_id INTEGER;
2026 new_rule_id INTEGER;
2027 new_grid_col_id INTEGER;
2028 new_model_ref_expl_id INTEGER;
2029
2030 BEGIN
2031
2032 FOR i IN(SELECT b.* FROM CZ_RULES a,CZ_COMBO_FEATURES b
2033 WHERE a.devl_project_id=OLD_PROJECT_ID AND a.rule_id=b.rule_id
2034 AND a.deleted_flag=NO_FLAG AND b.deleted_flag=NO_FLAG)
2035 LOOP
2036 BEGIN
2037
2038 BEGIN
2039 new_feature_id:=FlowId_PS_NODE(i.feature_id);
2040 EXCEPTION
2041 WHEN NO_DATA_FOUND THEN
2042 new_feature_id:=i.feature_id;
2043 END;
2044
2045 new_rule_id:=FlowId_RULE(i.rule_id);
2046
2047 IF i.grid_col_id IS NOT NULL THEN
2048 new_grid_col_id:=FlowId_GRID_COL(i.grid_col_id);
2049 ELSE
2050 new_grid_col_id:=NULL;
2051 END IF;
2052
2053 IF i.model_ref_expl_id IS NOT NULL THEN
2054 BEGIN
2055 new_model_ref_expl_id:=FlowId_MODEL_REF_EXPL(i.model_ref_expl_id);
2056 EXCEPTION
2057 WHEN NO_DATA_FOUND THEN
2058 new_model_ref_expl_id:=i.model_ref_expl_id;
2059 END;
2060 ELSE
2061 new_model_ref_expl_id:=NULL;
2062 END IF;
2063
2064 INSERT INTO CZ_COMBO_FEATURES
2065 (FEATURE_ID,
2066 GRID_COL_ID,
2067 RULE_ID,
2068 COL_TYPE,
2069 MINIMUM,
2070 MAXIMUM,
2071 DELETED_FLAG,
2072 SECURITY_MASK,
2073 CHECKOUT_USER,
2074 MODEL_REF_EXPL_ID)
2075 VALUES(
2076 new_feature_id,
2077 new_grid_col_id,
2078 new_rule_id,
2079 i.COL_TYPE,
2080 i.MINIMUM,
2081 i.MAXIMUM,
2082 i.DELETED_FLAG,
2083 i.SECURITY_MASK,
2084 i.CHECKOUT_USER,
2085 new_model_ref_expl_id);
2086
2087 PACK;
2088
2089 EXCEPTION
2090 WHEN NO_DATA_FOUND THEN
2091 NULL;
2092 WHEN OTHERS THEN
2093 NULL;
2094 END;
2095
2096 END LOOP;
2097
2098 END;
2099
2100 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2101 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
2102
2103 PROCEDURE Copy_CHART_Tables IS
2104
2105 new_primary_opt_id INTEGER;
2106 new_secondary_opt_id INTEGER;
2107 new_secondary_feature_id INTEGER;
2108 new_secondary_feat_expl_id INTEGER;
2109 new_feature_id INTEGER;
2110 new_rule_id INTEGER;
2111 new_ref_id INTEGER;
2112
2113 BEGIN
2114
2115 FOR i IN (SELECT b.* FROM CZ_RULES a,CZ_DES_CHART_CELLS b
2116 WHERE a.devl_project_id=OLD_PROJECT_ID AND a.rule_id=b.rule_id
2117 AND a.deleted_flag=NO_FLAG AND b.deleted_flag=NO_FLAG)
2118 LOOP
2119 BEGIN
2120 new_rule_id:=FlowId_RULE(i.rule_id);
2121
2122 BEGIN
2123 new_primary_opt_id:=FlowId_PS_NODE(i.primary_opt_id);
2124 EXCEPTION
2125 WHEN NO_DATA_FOUND THEN
2126 new_primary_opt_id:=i.primary_opt_id;
2127 END;
2128 BEGIN
2129 new_secondary_opt_id:=FlowId_PS_NODE(i.secondary_opt_id);
2130 EXCEPTION
2131 WHEN NO_DATA_FOUND THEN
2132 new_secondary_opt_id:=i.secondary_opt_id;
2133 END;
2134
2135 IF i.secondary_feature_id IS NOT NULL THEN
2136 BEGIN
2137 new_secondary_feature_id:=FlowId_PS_NODE(i.secondary_feature_id);
2138 EXCEPTION
2139 WHEN NO_DATA_FOUND THEN
2143 new_secondary_feat_expl_id:=FlowId_MODEL_REF_EXPL(i.secondary_feat_expl_id);
2140 new_secondary_feature_id:=i.secondary_feature_id;
2141 END;
2142 BEGIN
2144 EXCEPTION
2145 WHEN NO_DATA_FOUND THEN
2146 new_secondary_feat_expl_id:=i.secondary_feat_expl_id;
2147 END;
2148
2149 ELSE
2150 new_secondary_feature_id:=NULL;
2151 new_secondary_feat_expl_id:=NULL;
2152 END IF;
2153
2154 INSERT INTO CZ_DES_CHART_CELLS
2155 (RULE_ID,
2156 PRIMARY_OPT_ID,
2157 SECONDARY_OPT_ID,
2158 MARK_CHAR,
2159 SECONDARY_FEAT_EXPL_ID,
2160 SECONDARY_FEATURE_ID,
2161 DELETED_FLAG,
2162 SECURITY_MASK ,
2163 CHECKOUT_USER )
2164 VALUES(
2165 new_rule_id,
2166 new_primary_opt_id,
2167 new_secondary_opt_id,
2168 i.MARK_CHAR,
2169 new_secondary_feat_expl_id,
2170 new_secondary_feature_id,
2171 i.DELETED_FLAG,
2172 i.SECURITY_MASK,
2173 i.CHECKOUT_USER);
2174
2175 PACK;
2176
2177 EXCEPTION
2178 WHEN NO_DATA_FOUND THEN
2179 NULL;
2180 WHEN OTHERS THEN
2181 NULL;
2182 END;
2183
2184 END LOOP;
2185
2186 FOR i IN (SELECT b.* FROM CZ_RULES a,CZ_DES_CHART_FEATURES b WHERE
2187 a.devl_project_id=OLD_PROJECT_ID AND a.rule_id=b.rule_id
2188 AND a.deleted_flag=NO_FLAG AND b.deleted_flag=NO_FLAG)
2189 LOOP
2190 BEGIN
2191 new_rule_id:=FlowId_RULE(i.rule_id);
2192
2193 BEGIN
2194 new_feature_id:=FlowId_PS_NODE(i.feature_id);
2195 EXCEPTION
2196 WHEN NO_DATA_FOUND THEN
2197 new_feature_id:=i.feature_id;
2198 END;
2199
2200
2201 BEGIN
2202 new_ref_id:=FlowId_MODEL_REF_EXPL(i.model_ref_expl_id);
2203 EXCEPTION
2204 WHEN NO_DATA_FOUND THEN
2205 new_ref_id:=i.model_ref_expl_id;
2206 END;
2207
2208 INSERT INTO CZ_DES_CHART_FEATURES
2209 (RULE_ID,
2210 FEATURE_ID,
2211 FEATURE_TYPE ,
2212 MODEL_REF_EXPL_ID,
2213 DELETED_FLAG,
2214 SECURITY_MASK,
2215 CHECKOUT_USER)
2216 VALUES(
2217 new_rule_id,
2218 new_feature_id,
2219 i.FEATURE_TYPE ,
2220 new_ref_id,
2221 i.DELETED_FLAG,
2222 i.SECURITY_MASK,
2223 i.CHECKOUT_USER);
2224
2225 PACK;
2226
2227 EXCEPTION
2228 WHEN NO_DATA_FOUND THEN
2229 NULL;
2230 WHEN OTHERS THEN
2231 NULL;
2232 END;
2233 END LOOP;
2234
2235 EXCEPTION
2236 WHEN NO_DATA_FOUND THEN
2237 LOG_REPORT('CZ_PS_COPY.Copy_CHART_Tables',SQLERRM);
2238 END;
2239
2240 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2241 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
2242
2243 PROCEDURE Copy_PS_NODE_subtree
2244 (p_project_id IN INTEGER,
2245 p_parent_id IN INTEGER,
2246 p_new_project_id IN INTEGER,
2247 p_out_new_root IN OUT NOCOPY INTEGER,
2248 p_new_parent_id IN INTEGER DEFAULT NULL) IS
2249
2250 new_parent INTEGER;
2251 new_child INTEGER;
2252 new_intl_text_id INTEGER;
2253 var_ind INTEGER;
2254 ind INTEGER;
2255 new_id INTEGER;
2256 var_intl_text_id INTEGER;
2257 var_parent_id INTEGER;
2258
2259 BEGIN
2260
2261 /* Exception is raised for BUG No.4028599*/
2262 RAISE_APPLICATION_ERROR(-20001, 'ERROR: CZ_PS_COPY is obsolete in 11.5.10 and later builds.');
2263
2264 SELECT CZ_XFR_RUN_INFOS_S.NEXTVAL INTO GLOBAL_RUN_ID FROM dual;
2265
2266 Initialize;
2267
2268 IF p_new_project_id IS NULL THEN
2269 NEW_PROJECT_ID:=p_project_id;
2270 ELSE
2271 NEW_PROJECT_ID:=p_new_project_id;
2272 END IF;
2273
2274 FOR i IN (SELECT * FROM CZ_PS_NODES
2275 WHERE devl_project_id=p_project_id AND deleted_flag=NO_FLAG
2276 START WITH parent_id=p_parent_id
2277 CONNECT BY PRIOR ps_node_id=parent_id)
2278 LOOP
2279 get_Next_Val(new_id,'CZ_PS_NODES_S');
2280 FlowId_PS_NODE(i.ps_node_id):=new_id;
2281
2282 IF i.parent_id=p_parent_id THEN
2283 p_out_new_root:=new_id;
2284 END IF;
2285 END LOOP;
2286
2287 ind:=FlowId_PS_NODE.First;
2288 LOOP
2289 FOR i IN (SELECT * FROM CZ_PS_NODES
2290 WHERE ps_node_id=ind AND deleted_flag=NO_FLAG)
2291 LOOP
2292 IF i.parent_id IS NOT NULL THEN
2293 new_parent:=FlowId_PS_NODE(i.parent_id);
2294 ELSE
2295 new_parent:=NULL;
2296 new_intl_text_id:=NULL;
2297 END IF;
2298
2299 IF i.parent_id=p_parent_id THEN
2300 new_parent:=p_new_parent_id;
2301 END IF;
2302
2303 new_child:=FlowId_PS_NODE(i.ps_node_id);
2304
2305 IF i.intl_text_id IS NOT NULL THEN
2306 get_Next_Val(new_intl_text_id,'CZ_INTL_TEXTS_S');
2310 END IF;
2307 Copy_INTL_TEXT(i.intl_text_id,new_intl_text_id,NEW_PROJECT_ID,NULL);
2308 ELSE
2309 new_intl_text_id:=NULL;
2311
2312 INSERT INTO CZ_PS_NODES
2313 (PS_NODE_ID,
2314 DEVL_PROJECT_ID,
2315 FROM_POPULATOR_ID,
2316 PROPERTY_BACKPTR,
2317 ITEM_TYPE_BACKPTR,
2318 INTL_TEXT_ID,
2319 SUB_CONS_ID,
2320 ITEM_ID,
2321 NAME,
2322 RESOURCE_FLAG,
2323 INITIAL_VALUE,
2324 initial_num_value, -- sselahi
2325 PARENT_ID,
2326 MINIMUM,
2327 MAXIMUM,
2328 PS_NODE_TYPE,
2329 FEATURE_TYPE,
2330 PRODUCT_FLAG,
2331 REFERENCE_ID,
2332 MULTI_CONFIG_FLAG,
2333 ORDER_SEQ_FLAG,
2334 SYSTEM_NODE_FLAG,
2335 TREE_SEQ,
2336 COUNTED_OPTIONS_FLAG,
2337 UI_OMIT,
2338 UI_SECTION,
2339 BOM_TREATMENT,
2340 ORIG_SYS_REF,
2341 BOM_REQUIRED_FLAG,
2342 SO_ITEM_TYPE_CODE,
2343 MINIMUM_SELECTED,
2344 MAXIMUM_SELECTED,
2345 DELETED_FLAG,
2346 SECURITY_MASK,
2347 CHECKOUT_USER,
2348 USER_NUM01,
2349 USER_NUM02,
2350 USER_NUM03,
2351 USER_NUM04,
2352 USER_STR01,
2353 USER_STR02,
2354 USER_STR03,
2355 USER_STR04,
2356 VIRTUAL_FLAG,
2357 VIOLATION_TEXT_ID,
2358 DECIMAL_QTY_FLAG,
2359 EFFECTIVITY_SET_ID,
2360 EFFECTIVE_FROM,
2361 EFFECTIVE_UNTIL,
2362 EFFECTIVE_USAGE_MASK,
2363 COMPONENT_SEQUENCE_ID,
2364 PERSISTENT_NODE_ID,
2365 QUOTEABLE_FLAG,
2366 PRIMARY_UOM_CODE,
2367 BOM_SORT_ORDER,
2368 COMPONENT_SEQUENCE_PATH,
2369 IB_TRACKABLE)
2370 VALUES(
2371 new_child,
2372 NEW_PROJECT_ID,
2373 i.FROM_POPULATOR_ID,
2374 i.PROPERTY_BACKPTR,
2375 i.ITEM_TYPE_BACKPTR,
2376 new_intl_text_id,
2377 i.SUB_CONS_ID,
2378 i.ITEM_ID,
2379 i.NAME,
2380 i.RESOURCE_FLAG,
2381 i.INITIAL_VALUE,
2382 i.initial_num_value, -- sselahi
2383 new_parent,
2384 i.MINIMUM,
2385 i.MAXIMUM,
2386 i.PS_NODE_TYPE,
2387 i.FEATURE_TYPE,
2388 i.PRODUCT_FLAG,
2389 i.REFERENCE_ID,
2390 i.MULTI_CONFIG_FLAG,
2391 i.ORDER_SEQ_FLAG,
2392 i.SYSTEM_NODE_FLAG,
2393 i.TREE_SEQ,
2394 i.COUNTED_OPTIONS_FLAG,
2395 i.UI_OMIT,
2396 i.UI_SECTION,
2397 i.BOM_TREATMENT,
2398 i.ORIG_SYS_REF,
2399 i.BOM_REQUIRED_FLAG,
2400 i.SO_ITEM_TYPE_CODE,
2401 i.MINIMUM_SELECTED,
2402 i.MAXIMUM_SELECTED,
2403 i.DELETED_FLAG,
2404 i.SECURITY_MASK,
2405 i.CHECKOUT_USER,
2406 i.USER_NUM01,
2407 i.USER_NUM02,
2408 i.USER_NUM03,
2409 i.USER_NUM04,
2410 i.USER_STR01,
2411 i.USER_STR02,
2412 i.USER_STR03,
2413 i.USER_STR04,
2414 i.VIRTUAL_FLAG,
2415 i.VIOLATION_TEXT_ID,
2416 i.DECIMAL_QTY_FLAG,
2417 i.EFFECTIVITY_SET_ID,
2418 i.EFFECTIVE_FROM,
2419 i.EFFECTIVE_UNTIL,
2420 i.EFFECTIVE_USAGE_MASK,
2421 i.COMPONENT_SEQUENCE_ID,
2422 i.PERSISTENT_NODE_ID,
2423 i.QUOTEABLE_FLAG,
2424 i.PRIMARY_UOM_CODE,
2425 i.BOM_SORT_ORDER,
2426 i.COMPONENT_SEQUENCE_PATH,
2427 i.IB_TRACKABLE);
2428
2429 PACK;
2430
2431 END LOOP;
2432
2433 ind:=FlowId_PS_NODE.NEXT(ind);
2434 IF ind IS NULL THEN
2435 EXIT;
2436 END IF;
2437
2438 END LOOP;
2439
2440 Copy_MODEL_REF_EXPL;
2441
2442 END;
2443
2444 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2445 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
2446
2447 PROCEDURE Copy_FUNC_COMP_SPEC_
2448 (p_project_id IN INTEGER,
2449 p_old_rule_folder_id IN INTEGER,
2450 p_new_rule_folder_id IN INTEGER ) IS
2451
2452 new_id INTEGER;
2453
2454 BEGIN
2455
2456 Initialize;
2457
2458 FOR i IN (SELECT * FROM CZ_FUNC_COMP_SPECS
2459 WHERE DEVL_PROJECT_ID=p_project_id
2460 AND RULE_FOLDER_ID=p_old_rule_folder_id AND deleted_flag=NO_FLAG)
2461 LOOP
2465 (FUNC_COMP_ID,
2462 get_Next_Val(new_id,'CZ_FUNC_COMP_SPECS_S');
2463
2464 INSERT INTO CZ_FUNC_COMP_SPECS
2466 COMPANION_TYPE,
2467 DEVL_PROJECT_ID,
2468 COMPONENT_ID,
2469 NAME,
2470 DESC_TEXT,
2471 PROGRAM_STRING,
2472 IMPLEMENTATION_TYPE,
2473 RULE_FOLDER_ID,
2474 DELETED_FLAG,
2475 SECURITY_MASK,
2476 CHECKOUT_USER,
2477 MODEL_REF_EXPL_ID)
2478 VALUES(
2479 new_id,
2480 i.COMPANION_TYPE,
2481 i.DEVL_PROJECT_ID,
2482 i.COMPONENT_ID,
2483 i.NAME,
2484 i.DESC_TEXT,
2485 i.PROGRAM_STRING,
2486 i.IMPLEMENTATION_TYPE,
2487 p_new_rule_folder_id,
2488 i.DELETED_FLAG,
2489 i.SECURITY_MASK,
2490 i.CHECKOUT_USER,
2491 i.MODEL_REF_EXPL_ID);
2492
2493 PACK;
2494
2495 END LOOP;
2496
2497 EXCEPTION
2498 WHEN NO_DATA_FOUND THEN
2499 LOG_REPORT('CZ_PS_COPY.Copy_FUNC_COMP_SPEC_',SQLERRM);
2500 WHEN OTHERS THEN
2501 LOG_REPORT('CZ_PS_COPY.Copy_FUNC_COMP_SPEC_',SQLERRM);
2502 END;
2503
2504 PROCEDURE COPY_FUNC_COMPANION
2505 (p_func_comp_id IN INTEGER,
2506 p_project_id IN INTEGER,
2507 p_new_rule_folder_id IN INTEGER DEFAULT NULL,
2508 p_out_new_func_comp_id IN OUT NOCOPY INTEGER ) IS
2509
2510 var_component_id INTEGER;
2511 new_rule_folder_id INTEGER;
2512
2513 BEGIN
2514
2515 /* Exception is raised for BUG No.4028599*/
2516 RAISE_APPLICATION_ERROR(-20001, 'ERROR: CZ_PS_COPY is obsolete in 11.5.10 and later builds.');
2517
2518 SELECT CZ_FUNC_COMP_SPECS_S.NEXTVAL INTO p_out_new_func_comp_id FROM dual;
2519
2520 var_component_id:=NULL;
2521 FOR i IN(SELECT component_id FROM CZ_FUNC_COMP_SPECS
2522 WHERE devl_project_id=p_project_id
2523 AND func_comp_id=p_func_comp_id AND deleted_flag=NO_FLAG)
2524 LOOP
2525 var_component_id:=i.component_id;
2526 END LOOP;
2527
2528 FOR i IN (SELECT * FROM CZ_FUNC_COMP_SPECS
2529 WHERE func_comp_id=p_func_comp_id
2530 AND devl_project_id=p_project_id AND deleted_flag=NO_FLAG)
2531 LOOP
2532
2533 IF p_new_rule_folder_id IS NOT NULL AND p_new_rule_folder_id<>-1 THEN
2534 new_rule_folder_id:=p_new_rule_folder_id;
2535 ELSE
2536 new_rule_folder_id:=i.rule_folder_id;
2537 END IF;
2538
2539 INSERT INTO CZ_FUNC_COMP_SPECS(
2540 FUNC_COMP_ID,
2541 COMPANION_TYPE,
2542 DEVL_PROJECT_ID,
2543 COMPONENT_ID,
2544 NAME,
2545 DESC_TEXT,
2546 PROGRAM_STRING,
2547 IMPLEMENTATION_TYPE,
2548 RULE_FOLDER_ID,
2549 DELETED_FLAG,
2550 SECURITY_MASK,
2551 CHECKOUT_USER,
2552 MODEL_REF_EXPL_ID)
2553 VALUES(
2554 p_out_new_func_comp_id,
2555 i.COMPANION_TYPE,
2556 p_project_id,
2557 var_component_id,
2558 i.NAME||'-'||TO_CHAR(p_out_new_func_comp_id),
2559 i.DESC_TEXT,
2560 i.PROGRAM_STRING,
2561 i.IMPLEMENTATION_TYPE,
2562 new_rule_folder_id,
2563 i.DELETED_FLAG,
2564 i.SECURITY_MASK,
2565 i.CHECKOUT_USER,
2566 i.MODEL_REF_EXPL_ID);
2567
2568 PACK;
2569
2570 END LOOP;
2571
2572 EXCEPTION
2573 WHEN NO_DATA_FOUND THEN
2574 LOG_REPORT('CZ_PS_COPY.COPY_FUNC_COMPANION',SQLERRM);
2575 WHEN OTHERS THEN
2576 LOG_REPORT('CZ_PS_COPY.COPY_FUNC_COMPANION',SQLERRM);
2577 END;
2578
2579 PROCEDURE Copy_EXPRESSION_
2580 (p_express_id IN INTEGER,
2581 p_rule_id IN INTEGER,
2582 p_mode IN VARCHAR2) IS
2583
2584 new_id INTEGER;
2585
2586 BEGIN
2587
2588 FOR i IN (SELECT * FROM CZ_EXPRESSIONS
2589 WHERE EXPRESS_ID=p_express_id AND deleted_flag=NO_FLAG)
2590 LOOP
2591 get_Next_Val(new_id,'CZ_EXPRESSIONS_S');
2592
2593 INSERT INTO CZ_EXPRESSIONS(
2594 EXPRESS_ID,
2595 DEVL_PROJECT_ID,
2596 NAME,
2597 EXPR_STR,
2598 DESC_TEXT,
2599 PRESENT_TYPE,
2600 PARSED_FLAG,
2601 DELETED_FLAG,
2602 SECURITY_MASK,
2603 CHECKOUT_USER,
2604 PERSISTENT_EXPRESSION_ID)
2605 VALUES(
2606 new_id,
2607 i.DEVL_PROJECT_ID,
2608 i.NAME,
2609 i.EXPR_STR,
2610 i.DESC_TEXT,
2611 i.PRESENT_TYPE,
2612 i.PARSED_FLAG,
2613 i.DELETED_FLAG,
2614 i.SECURITY_MASK,
2615 i.CHECKOUT_USER,
2616 i.PERSISTENT_EXPRESSION_ID);
2617
2618 PACK;
2619
2620 FlowId_EXPRESSION(i.express_id):=new_id;
2621
2622 IF p_mode='ANTECEDENT_ID' THEN
2626 UPDATE CZ_RULES SET CONSEQUENT_ID=new_id WHERE rule_id=p_rule_id;
2623 UPDATE CZ_RULES SET ANTECEDENT_ID=new_id WHERE rule_id=p_rule_id;
2624 END IF;
2625 IF p_mode='CONSEQUENT_ID' THEN
2627 END IF;
2628 IF p_mode='AMOUNT_ID' THEN
2629 UPDATE CZ_RULES SET AMOUNT_ID=new_id WHERE rule_id=p_rule_id;
2630 END IF;
2631
2632 END LOOP;
2633
2634 EXCEPTION
2635 WHEN NO_DATA_FOUND THEN
2636 NULL;
2637 WHEN OTHERS THEN
2638 NULL;
2639 END;
2640
2641 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2642 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
2643
2644 PROCEDURE Copy_CHART_Tables_
2645 (p_old_rule_id IN INTEGER,
2646 p_new_rule_id IN INTEGER) IS
2647
2648 BEGIN
2649
2650 INSERT INTO CZ_DES_CHART_CELLS
2651 (RULE_ID,
2652 PRIMARY_OPT_ID,
2653 SECONDARY_OPT_ID,
2654 MARK_CHAR,
2655 SECONDARY_FEAT_EXPL_ID,
2656 SECONDARY_FEATURE_ID,
2657 DELETED_FLAG,
2658 SECURITY_MASK ,
2659 CHECKOUT_USER )
2660 SELECT
2661 p_new_rule_id,
2662 PRIMARY_OPT_ID,
2663 SECONDARY_OPT_ID,
2664 MARK_CHAR,
2665 SECONDARY_FEAT_EXPL_ID,
2666 SECONDARY_FEATURE_ID,
2667 DELETED_FLAG,
2668 SECURITY_MASK,
2669 CHECKOUT_USER
2670 FROM CZ_DES_CHART_CELLS
2671 WHERE rule_id=p_old_rule_id AND deleted_flag=NO_FLAG;
2672
2673 INSERT INTO CZ_DES_CHART_FEATURES
2674 (RULE_ID,
2675 FEATURE_ID,
2676 FEATURE_TYPE ,
2677 MODEL_REF_EXPL_ID,
2678 DELETED_FLAG,
2679 SECURITY_MASK,
2680 CHECKOUT_USER )
2681 SELECT
2682 p_new_rule_id,
2683 FEATURE_ID,
2684 FEATURE_TYPE ,
2685 MODEL_REF_EXPL_ID,
2686 DELETED_FLAG,
2687 SECURITY_MASK,
2688 CHECKOUT_USER
2689 FROM CZ_DES_CHART_FEATURES
2690 WHERE rule_id=p_old_rule_id AND deleted_flag=NO_FLAG;
2691
2692 PACK;
2693
2694 EXCEPTION
2695 WHEN NO_DATA_FOUND THEN
2696 LOG_REPORT('CZ_PS_COPY.Copy_CHART_Tables_',SQLERRM);
2697 END;
2698
2699 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2700 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
2701
2702 PROCEDURE Copy_RULES_subschema
2703 (p_rule_id IN INTEGER,
2704 p_out_new_rule_id OUT NOCOPY INTEGER,
2705 p_FUNC_COMP_Flag IN VARCHAR2 , -- DEFAULT '0',
2706 p_rule_folder_id IN INTEGER DEFAULT NULL,
2707 p_Rules_Seq_Flag IN VARCHAR2 -- DEFAULT '0'
2708 )IS
2709
2710 new_reason_id INTEGER;
2711 new_rule_id INTEGER;
2712 new_feature_id INTEGER;
2713 new_grid_id INTEGER;
2714 var_grid_id INTEGER;
2715 var_folder_id INTEGER;
2716 new_folder_id INTEGER;
2717 new_grid_col_id INTEGER;
2718
2719 var_antecedent_id INTEGER;
2720 var_consequent_id INTEGER;
2721 var_amount_id INTEGER;
2722 new_intl_text_id INTEGER;
2723
2724 new_msg_id INTEGER;
2725 new_RULE_FOLDER_ID INTEGER;
2726 new_EFFECTIVITY_SET_ID INTEGER;
2727 new_SEQ_NBR INTEGER;
2728 new_EFFECTIVE_FROM DATE;
2729 new_EFFECTIVE_UNTIL DATE;
2730
2731 END_OPERATION EXCEPTION;
2732
2733 BEGIN
2734
2735 /* Exception is raised for BUG No.4028599*/
2736 RAISE_APPLICATION_ERROR(-20001, 'ERROR: CZ_PS_COPY is obsolete in 11.5.10 and later builds.');
2737
2738 SELECT CZ_XFR_RUN_INFOS_S.NEXTVAL INTO GLOBAL_RUN_ID FROM dual;
2739
2740 p_out_new_rule_id:=0;
2741
2742 Initialize;
2743
2744 IF p_Rules_Seq_Flag='1' THEN
2745 SELECT devl_project_id INTO OLD_PROJECT_ID FROM CZ_RULE_FOLDERS
2746 WHERE rule_folder_id=p_rule_id AND deleted_flag=NO_FLAG;
2747 NEW_PROJECT_ID:=OLD_PROJECT_ID;
2748 copy_RULE_SEQ(p_rule_id,p_out_new_rule_id);
2749 RAISE END_OPERATION;
2750 END IF;
2751
2752 IF p_FUNC_COMP_Flag='1' THEN
2753 SELECT devl_project_id INTO OLD_PROJECT_ID FROM CZ_FUNC_COMP_SPECS
2754 WHERE func_comp_id=p_rule_id AND deleted_flag=NO_FLAG;
2755 NEW_PROJECT_ID:=OLD_PROJECT_ID;
2756 COPY_FUNC_COMPANION(p_rule_id,OLD_PROJECT_ID,NULL,p_out_new_rule_id);
2757 RAISE END_OPERATION;
2758 END IF;
2759
2760 BEGIN
2761
2762 SELECT grid_id,devl_project_id,rule_folder_id,
2763 antecedent_id,consequent_id,amount_id
2764 INTO var_grid_id,NEW_PROJECT_ID,var_folder_id,
2765 var_antecedent_id,var_consequent_id,var_amount_id
2766 FROM CZ_RULES
2767 WHERE rule_id=p_rule_id AND deleted_flag=NO_FLAG;
2768
2769 OLD_PROJECT_ID:=NEW_PROJECT_ID;
2770
2771 IF var_grid_id IS NOT NULL THEN
2772 FOR i IN (SELECT * FROM CZ_GRID_DEFS
2773 WHERE grid_id=var_grid_id AND deleted_flag=NO_FLAG)
2774 LOOP
2775 get_Next_Val(new_grid_id,'CZ_GRID_DEFS_S');
2776 INSERT INTO CZ_GRID_DEFS(
2777 GRID_ID,
2778 DEVL_PROJECT_ID,
2779 NAME,
2780 DESC_TEXT,
2781 DELETED_FLAG,
2785 i.DEVL_PROJECT_ID,
2782 SECURITY_MASK,
2783 CHECKOUT_USER)
2784 VALUES( new_grid_id,
2786 i.NAME,
2787 i.DESC_TEXT,
2788 i.DELETED_FLAG,
2789 i.SECURITY_MASK,
2790 i.CHECKOUT_USER);
2791
2792 PACK;
2793
2794 END LOOP;
2795 FlowId_GRID_DEF(var_grid_id):=new_grid_id;
2796 Copy_GRID_COL;
2797 Copy_GRID_CELL(TRUE);
2798 END IF;
2799
2800 EXCEPTION
2801 WHEN NO_DATA_FOUND THEN
2802 NULL;
2803 WHEN OTHERS THEN
2804 NULL;
2805 END;
2806
2807 get_Next_Val(new_rule_id,'CZ_RULES_S');
2808
2809 FOR i IN (SELECT * FROM CZ_RULES
2810 WHERE rule_id=p_rule_id AND deleted_flag=NO_FLAG)
2811 LOOP
2812
2813 get_Next_Val(new_intl_text_id,'CZ_INTL_TEXTS_S');
2814 new_reason_id:=new_intl_text_id;
2815 Copy_INTL_TEXT(i.reason_id,new_reason_id,NEW_PROJECT_ID,NULL);
2816
2817 IF i.unsatisfied_msg_id IS NOT NULL THEN
2818 get_Next_Val(new_intl_text_id,'CZ_INTL_TEXTS_S');
2819 new_msg_id:=new_intl_text_id;
2820 Copy_INTL_TEXT(i.unsatisfied_msg_id,new_msg_id,NEW_PROJECT_ID,NULL);
2821 ELSE
2822 new_msg_id:=i.unsatisfied_msg_id;
2823 END IF;
2824
2825 IF p_rule_folder_id IS NOT NULL AND p_rule_folder_id<>-1 THEN
2826 new_RULE_FOLDER_ID:=p_rule_folder_id;
2827 new_EFFECTIVITY_SET_ID:=NULL;
2828 new_EFFECTIVE_FROM:=CZ_UTILS.EPOCH_END_;
2829 new_EFFECTIVE_UNTIL:=CZ_UTILS.EPOCH_BEGIN_;
2830 SELECT NVL(MAX(SEQ_NBR),0)+1 INTO new_SEQ_NBR FROM CZ_RULES
2831 WHERE rule_folder_id=p_rule_folder_id AND deleted_flag=NO_FLAG;
2832 ELSE
2833 new_RULE_FOLDER_ID:=i.RULE_FOLDER_ID;
2834 new_EFFECTIVITY_SET_ID:=i.EFFECTIVITY_SET_ID;
2835 new_EFFECTIVE_FROM:=i.EFFECTIVE_FROM;
2836 new_EFFECTIVE_UNTIL:=i.EFFECTIVE_UNTIL;
2837 new_SEQ_NBR:=i.SEQ_NBR;
2838 END IF;
2839
2840 INSERT INTO CZ_RULES(
2841 RULE_ID,
2842 SUB_CONS_ID,
2843 REASON_ID,
2844 AMOUNT_ID,
2845 GRID_ID,
2846 RULE_FOLDER_ID,
2847 DEVL_PROJECT_ID,
2848 INVALID_FLAG,
2849 DESC_TEXT,
2850 NAME,
2851 ANTECEDENT_ID,
2852 CONSEQUENT_ID,
2853 RULE_TYPE,
2854 EXPR_RULE_TYPE,
2855 COMPONENT_ID,
2856 REASON_TYPE,
2857 DISABLED_FLAG,
2858 ORIG_SYS_REF,
2859 DELETED_FLAG,
2860 SECURITY_MASK,
2861 CHECKOUT_USER,
2862 EFFECTIVITY_SET_ID,
2863 EFFECTIVE_FROM,
2864 EFFECTIVE_UNTIL,
2865 EFFECTIVE_USAGE_MASK,
2866 SEQ_NBR,
2867 RULE_FOLDER_TYPE,
2868 UNSATISFIED_MSG_ID,
2869 UNSATISFIED_MSG_SOURCE,
2870 SIGNATURE_ID,
2871 TEMPLATE_PRIMITIVE_FLAG,
2872 PRESENTATION_FLAG,
2873 TEMPLATE_TOKEN,
2874 RULE_TEXT,
2875 NOTES,
2876 CLASS_NAME,
2877 INSTANTIATION_SCOPE,
2878 MODEL_REF_EXPL_ID,
2879 MUTABLE_FLAG,
2880 SEEDED_FLAG)
2881 VALUES(
2882 new_rule_id,
2883 i.SUB_CONS_ID,
2884 new_reason_id,
2885 i.AMOUNT_ID,
2886 new_grid_id,
2887 new_RULE_FOLDER_ID,
2888 i.DEVL_PROJECT_ID,
2889 i.INVALID_FLAG,
2890 i.DESC_TEXT,
2891 i.NAME||'-'||TO_CHAR(new_rule_id),
2892 i.ANTECEDENT_ID,
2893 i.CONSEQUENT_ID,
2894 i.RULE_TYPE,
2895 i.EXPR_RULE_TYPE,
2896 i.COMPONENT_ID,
2897 i.REASON_TYPE,
2898 i.DISABLED_FLAG,
2899 i.ORIG_SYS_REF,
2900 i.DELETED_FLAG,
2901 i.SECURITY_MASK,
2902 i.CHECKOUT_USER,
2903 new_EFFECTIVITY_SET_ID,
2904 new_EFFECTIVE_FROM,
2905 new_EFFECTIVE_UNTIL,
2906 i.EFFECTIVE_USAGE_MASK,
2907 new_SEQ_NBR,
2908 i.RULE_FOLDER_TYPE,
2909 new_msg_id,
2910 i.UNSATISFIED_MSG_SOURCE,
2911 i.SIGNATURE_ID,
2912 i.TEMPLATE_PRIMITIVE_FLAG,
2913 i.PRESENTATION_FLAG,
2914 i.TEMPLATE_TOKEN,
2915 i.RULE_TEXT,
2916 i.NOTES,
2917 i.CLASS_NAME,
2918 i.INSTANTIATION_SCOPE,
2919 i.MODEL_REF_EXPL_ID,
2920 i.MUTABLE_FLAG,
2921 i.SEEDED_FLAG);
2922
2923 PACK;
2924
2925 END LOOP;
2926
2927 FOR i IN (SELECT * FROM CZ_COMBO_FEATURES
2931 new_grid_col_id:=FlowId_GRID_COL(i.grid_col_id);
2928 WHERE rule_id=p_rule_id AND deleted_flag=NO_FLAG)
2929 LOOP
2930 IF i.grid_col_id IS NOT NULL THEN
2932 ELSE
2933 new_grid_col_id:=NULL;
2934 END IF;
2935 INSERT INTO CZ_COMBO_FEATURES
2936 (FEATURE_ID,
2937 GRID_COL_ID,
2938 RULE_ID,
2939 COL_TYPE,
2940 MINIMUM,
2941 MAXIMUM,
2942 DELETED_FLAG,
2943 SECURITY_MASK,
2944 CHECKOUT_USER,
2945 MODEL_REF_EXPL_ID)
2946 VALUES(i.FEATURE_ID,
2947 new_grid_col_id,
2948 new_rule_id,
2949 i.COL_TYPE,
2950 i.MINIMUM,
2951 i.MAXIMUM,
2952 i.DELETED_FLAG,
2953 i.SECURITY_MASK,
2954 i.CHECKOUT_USER,
2955 i.MODEL_REF_EXPL_ID);
2956
2957 PACK;
2958
2959 END LOOP;
2960
2961 Copy_CHART_Tables_(p_rule_id,new_rule_id);
2962
2963 IF p_FUNC_COMP_Flag=YES_FLAG AND NOT(var_folder_id=NULL_ OR var_folder_id IS NULL) THEN
2964 Copy_RULE_FOLDERS;
2965 IF FlowId_RULE_FOLDER.Count>0 THEN
2966 new_folder_id:=FlowId_RULE_FOLDER(var_folder_id);
2967 END IF;
2968 Copy_FUNC_COMP_SPEC_(NEW_PROJECT_ID,var_folder_id,new_folder_id);
2969 END IF;
2970
2971 IF var_antecedent_id IS NOT NULL THEN
2972 Copy_EXPRESSION_(var_antecedent_id,new_rule_id,'ANTECEDENT_ID');
2973 END IF;
2974 IF var_consequent_id IS NOT NULL THEN
2975 Copy_EXPRESSION_(var_consequent_id,new_rule_id,'CONSEQUENT_ID');
2976 END IF;
2977 IF var_amount_id IS NOT NULL THEN
2978 Copy_EXPRESSION_(var_amount_id,new_rule_id,'AMOUNT_ID');
2979 END IF;
2980
2981 Copy_FILTER_SET;
2982 Copy_EXPRESSION_NODE(TRUE,new_rule_id);
2983
2984 p_out_new_rule_id:=new_rule_id;
2985
2986 EXCEPTION
2987 WHEN END_OPERATION THEN
2988 NULL;
2989 WHEN NO_DATA_FOUND THEN
2990 LOG_REPORT('CZ_PS_COPY.Copy_RULES_subschema',SQLERRM);
2991 WHEN OTHERS THEN
2992 LOG_REPORT('CZ_PS_COPY.Copy_RULES_subschema',SQLERRM);
2993 END;
2994
2995 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2996 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
2997
2998 PROCEDURE Copy_DES_CHART_COLUMN IS
2999
3000 new_rule_id INTEGER;
3001 new_feature_id INTEGER;
3002 new_option_id INTEGER;
3003 new_model_ref_expl_id INTEGER;
3004
3005 BEGIN
3006
3007 FOR i IN(SELECT * FROM CZ_DES_CHART_COLUMNS WHERE rule_id IN
3008 (SELECT rule_id FROM CZ_RULES WHERE devl_project_id=OLD_PROJECT_ID
3009 AND deleted_flag=NO_FLAG) AND option_id IN
3010 (SELECT ps_node_id FROM CZ_PS_NODES WHERE devl_project_id=OLD_PROJECT_ID
3011 AND deleted_flag=NO_FLAG))
3012 LOOP
3013 BEGIN
3014
3015 BEGIN
3016 new_rule_id:=FlowId_Rule(i.rule_id);
3017 EXCEPTION
3018 WHEN NO_DATA_FOUND THEN
3019 new_rule_id:=i.rule_id;
3020 END;
3021
3022 BEGIN
3023 new_option_id:=FlowId_PS_NODE(i.option_id);
3024 EXCEPTION
3025 WHEN NO_DATA_FOUND THEN
3026 new_option_id:=i.option_id;
3027 END;
3028
3029 BEGIN
3030 new_feature_id:=FlowId_PS_NODE(i.feature_id);
3031 EXCEPTION
3032 WHEN NO_DATA_FOUND THEN
3033 new_feature_id:=i.feature_id;
3034 END;
3035
3036 BEGIN
3037 new_model_ref_expl_id:=FlowId_MODEL_REF_EXPL(i.model_ref_expl_id);
3038 EXCEPTION
3039 WHEN NO_DATA_FOUND THEN
3040 new_model_ref_expl_id:=i.model_ref_expl_id;
3041 END;
3042
3043 INSERT INTO CZ_DES_CHART_COLUMNS
3044 (RULE_ID,
3045 OPTION_ID,
3046 COLUMN_WIDTH,
3047 FEATURE_ID,
3048 MODEL_REF_EXPL_ID)
3049 SELECT
3050 new_rule_id,
3051 new_option_id,
3052 i.COLUMN_WIDTH,
3053 new_feature_id,
3054 new_model_ref_expl_id
3055 FROM CZ_DES_CHART_COLUMNS
3056 WHERE rule_id=i.rule_id AND option_id=i.option_id;
3057
3058 PACK;
3059
3060 EXCEPTION
3061 WHEN NO_DATA_FOUND THEN
3062 LOG_REPORT('CZ_PS_COPY.Copy_DES_CHART_COLUMN','rule_id='||TO_CHAR(i.rule_id)||
3063 ' option_id='||TO_CHAR(i.option_id)||' : '||SQLERRM);
3064 WHEN OTHERS THEN
3065 LOG_REPORT('CZ_PS_COPY.Copy_DES_CHART_COLUMN','rule_id='||TO_CHAR(i.rule_id)||
3066 ' option_id='||TO_CHAR(i.option_id)||' : '||SQLERRM);
3067 END;
3068 END LOOP;
3069
3070 EXCEPTION
3071 WHEN OTHERS THEN
3072 LOG_REPORT('CZ_PS_COPY.Copy_DES_CHART_COLUMN',SQLERRM);
3073 END;
3074
3075 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
3076 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
3077
3078 PROCEDURE copy_RULE_SEQ
3079 (p_rule_seq_id IN INTEGER,
3080 p_new_rule_seq_id IN OUT NOCOPY INTEGER) IS
3081
3082 new_rule_id INTEGER;
3083
3084 BEGIN
3085
3086 /* Exception is raised for BUG No.4028599*/
3090 INSERT INTO CZ_RULE_FOLDERS
3087 RAISE_APPLICATION_ERROR(-20001, 'ERROR: CZ_PS_COPY is obsolete in 11.5.10 and later builds.');
3088
3089 SELECT CZ_RULE_FOLDERS_S.NEXTVAL INTO p_new_rule_seq_id FROM dual;
3091 (RULE_FOLDER_ID,
3092 FOLDER_TYPE,
3093 NAME,
3094 DESC_TEXT,
3095 PARENT_RULE_FOLDER_ID,
3096 TREE_SEQ,
3097 DEVL_PROJECT_ID,
3098 PERSISTENT_RULE_FOLDER_ID,
3099 EFFECTIVE_USAGE_MASK,
3100 EFFECTIVE_FROM,
3101 EFFECTIVE_UNTIL,
3102 EFFECTIVITY_SET_ID,
3103 DELETED_FLAG,
3104 SECURITY_MASK,
3105 CHECKOUT_USER,
3106 OBJECT_TYPE,
3107 DISABLED_FLAG,
3108 ORIG_SYS_REF)
3109 SELECT p_new_rule_seq_id,
3110 FOLDER_TYPE,
3111 NAME||'-'||TO_CHAR(p_new_rule_seq_id),
3112 DESC_TEXT,
3113 PARENT_RULE_FOLDER_ID,
3114 TREE_SEQ,
3115 DEVL_PROJECT_ID,
3116 PERSISTENT_RULE_FOLDER_ID,
3117 EFFECTIVE_USAGE_MASK,
3118 EFFECTIVE_FROM,
3119 EFFECTIVE_UNTIL,
3120 EFFECTIVITY_SET_ID,
3121 DELETED_FLAG,
3122 SECURITY_MASK,
3123 CHECKOUT_USER,
3124 OBJECT_TYPE,
3125 DISABLED_FLAG,
3126 ORIG_SYS_REF
3127 FROM CZ_RULE_FOLDERS WHERE rule_folder_id=p_rule_seq_id AND deleted_flag=NO_FLAG;
3128
3129 PACK;
3130
3131 FOR i IN ( SELECT rule_id FROM CZ_RULES WHERE rule_folder_id=p_rule_seq_id AND deleted_flag=NO_FLAG)
3132 LOOP
3133 Copy_RULES_subschema(i.rule_id,new_rule_id, '0', NULL, '0');
3134 UPDATE CZ_RULES SET rule_folder_id=p_new_rule_seq_id
3135 WHERE rule_id=new_rule_id;
3136
3137 PACK;
3138
3139 END LOOP;
3140
3141 EXCEPTION
3142 WHEN NO_DATA_FOUND THEN
3143 p_new_rule_seq_id:=-GLOBAL_RUN_ID;
3144 LOG_REPORT('CZ_PS_COPY.copy_RULE_SEQ',SQLERRM);
3145 WHEN OTHERS THEN
3146 p_new_rule_seq_id:=-GLOBAL_RUN_ID;
3147 LOG_REPORT('CZ_PS_COPY.copy_RULE_SEQ',SQLERRM);
3148 END;
3149
3150 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
3151 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
3152
3153 PROCEDURE copy_RULE
3154 (p_rule_seq_id IN INTEGER,
3155 p_new_rule_seq_id IN OUT NOCOPY INTEGER) IS
3156
3157 new_rule_id INTEGER;
3158
3159 BEGIN
3160
3161 FOR i IN ( SELECT rule_id FROM CZ_RULES WHERE rule_folder_id=p_rule_seq_id AND deleted_flag=NO_FLAG)
3162 LOOP
3163 Copy_RULES_subschema(i.rule_id,new_rule_id, '0', NULL, '0');
3164 UPDATE CZ_RULES SET rule_folder_id=p_new_rule_seq_id
3165 WHERE rule_id=new_rule_id;
3166 END LOOP;
3167
3168 EXCEPTION
3169 WHEN NO_DATA_FOUND THEN
3170 p_new_rule_seq_id:=-GLOBAL_RUN_ID;
3171 LOG_REPORT('CZ_PS_COPY.copy_RULE_SEQ',SQLERRM);
3172 WHEN OTHERS THEN
3173 p_new_rule_seq_id:=-GLOBAL_RUN_ID;
3174 LOG_REPORT('CZ_PS_COPY.copy_RULE_SEQ',SQLERRM);
3175 END;
3176
3177 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
3178 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
3179
3180 PROCEDURE Project_Copy
3181 (p_old_id IN INTEGER,
3182 p_new_id IN OUT NOCOPY INTEGER,
3183 p_Copy_Rules IN VARCHAR2 , -- DEFAULT '1',
3184 p_Copy_UI IN VARCHAR2 , -- DEFAULT '1',
3185 p_name IN VARCHAR2 DEFAULT NULL,
3186 p_folder_id IN INTEGER DEFAULT NULL
3187 ) IS
3188
3189 new_id INTEGER;
3190
3191 BEGIN
3192
3193 /* Exception is raised for BUG No.4028599*/
3194 RAISE_APPLICATION_ERROR(-20001, 'ERROR: CZ_PS_COPY is obsolete in 11.5.10 and later builds.');
3195
3196 SELECT CZ_XFR_RUN_INFOS_S.NEXTVAL INTO GLOBAL_RUN_ID FROM dual;
3197 Initialize;
3198
3199 OLD_PROJECT_ID:=p_old_id;
3200 ENCLOSE_FOLDER:=p_folder_id;
3201 Copy_DEVL_PROJECT(p_name);
3202 p_new_id:=NEW_PROJECT_ID;
3203
3204 Copy_EXPRESSION;
3205 Copy_FILTER_SET;
3206 Copy_PS_NODE;
3207 Copy_MODEL_REF_EXPL;
3208
3209 IF p_Copy_Rules='1' THEN
3210 BEGIN
3211 -- Copy_EXPRESSION;
3212 -- Copy_FILTER_SET;
3213
3214 Copy_RULE_FOLDERS;
3215 Copy_FUNC_COMP_SPEC('1');
3216 Copy_POPULATOR;
3217 Copy_EXPRESSION_NODE(FALSE);
3218 copy_GRID_DEF;
3219 Copy_GRID_COL;
3220 Copy_GRID_CELL(FALSE);
3221 Copy_RULE;
3222 Copy_CHART_Tables;
3223 Copy_COMBO_FEATURE;
3224
3225 Copy_DES_CHART_COLUMN;
3226
3227 EXCEPTION
3228 WHEN NO_DATA_FOUND THEN
3229 NULL;
3230 WHEN OTHERS THEN
3231 NULL;
3232 END;
3233 END IF;
3234
3235 IF p_Copy_UI='1' THEN
3236 BEGIN
3237 copy_UI;
3238 EXCEPTION
3239 WHEN NO_DATA_FOUND THEN
3240 NULL;
3241 WHEN OTHERS THEN
3242 NULL;
3243 END;
3244 END IF;
3245
3246 Copy_XFR_PROJECT_BILL;
3247
3248 EXCEPTION
3249 WHEN NO_DATA_FOUND THEN
3250 p_new_id:=-GLOBAL_RUN_ID;
3251 LOG_REPORT('CZ_PS_COPY.Project_Copy',SQLERRM);
3252 WHEN OTHERS THEN
3253 p_new_id:=-GLOBAL_RUN_ID;
3254 LOG_REPORT('CZ_PS_COPY.Project_Copy',SQLERRM);
3255 END;
3256
3257 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
3258 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
3259
3260 PROCEDURE Test
3261 (p_id IN INTEGER,
3262 p_Rules IN VARCHAR2 , -- DEFAULT '1',
3263 p_UI IN VARCHAR2 , -- DEFAULT '1',
3264 p_folder_id IN INTEGER -- DEFAULT -1
3265 ) IS
3266 new_id INTEGER;
3267 BEGIN
3268
3269 /* Exception is raised for BUG No.4028599*/
3270 RAISE_APPLICATION_ERROR(-20001, 'ERROR: CZ_PS_COPY is obsolete in 11.5.10 and later builds.');
3271
3272 Project_Copy(p_id,new_id,p_Rules,p_UI,NULL,p_folder_id);
3273 END;
3274
3275 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
3276 END PACKAGE
3277 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
3278
3279 END;