DBA Data[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,
371           LAST_IMPORT_DATE,
368           COMPONENT_ITEM_ID,
369           DESCRIPTION,
370           LAST_IMPORT_RUN_ID,
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,
526            DATA_NUM_VALUE, -- sselahi
527            DELETED_FLAG,
528            SECURITY_MASK,
529            CHECKOUT_USER)
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 
564    get_Next_Val(new_id,'CZ_MODEL_REF_EXPLS_S');
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
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;
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);
685 
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,
738         QUOTEABLE_FLAG,
735         EFFECTIVE_UNTIL,
736         EFFECTIVE_USAGE_MASK,
737         COMPONENT_SEQUENCE_ID,
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);
850        ELSE
851           new_rule_folder_id:=NULL;
852        END IF;
853     ELSE
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 /*>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
916 
913 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<*/
914 
915 PROCEDURE Copy_POPULATOR IS
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;
1011 new_parent            INTEGER;
1012 new_child             INTEGER;
1013 exp_id                INTEGER;
1014 new_express_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
1076           ELSE
1073              WHEN NO_DATA_FOUND THEN
1074                   new_model_ref_expl_id:=i.model_ref_expl_id;
1075              END;
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,
1149                   i.PARAM_INDEX,
1150                   i.ARGUMENT_NAME,
1151                   i.DATA_TYPE,
1152                   i.DISPLAY_NODE_DEPTH,
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
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');
1334       FlowId_GRID_CELL(i.grid_cell_id):=new_id;
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,
1494             k.TREENODE_DISPLAY_SOURCE,
1495             k.GEN_HEADER,
1496             k.LOOK_AND_FEEL,
1497             k.CONTROLS_PER_SCREEN,
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 
1530       get_Next_Val(new_id,'CZ_UI_NODES_S');
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
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,
1653           TOOL_TIP_ID,
1654           DEFAULT_BKGRND_COLOR_FLAG,
1655           DEFAULT_BKGRND_PICTURE_FLAG,
1656           DELETED_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,
1810            DEVL_PROJECT_ID,
1811            TREE_SEQ,
1812            DELETED_FLAG,
1813            SECURITY_MASK,
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,
1974                               new_sub_cons_id,
1975                               new_reason_id,
1976                               new_amount_id,
1977                               new_grid_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;
2031 
2028 new_model_ref_expl_id INTEGER;
2029 
2030 BEGIN
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
2140            new_secondary_feature_id:=i.secondary_feature_id;
2141       END;
2142       BEGIN
2143       new_secondary_feat_expl_id:=FlowId_MODEL_REF_EXPL(i.secondary_feat_expl_id);
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,
2216    VALUES(
2213         DELETED_FLAG,
2214         SECURITY_MASK,
2215         CHECKOUT_USER)
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');
2307          Copy_INTL_TEXT(i.intl_text_id,new_intl_text_id,NEW_PROJECT_ID,NULL);
2308       ELSE
2309          new_intl_text_id:=NULL;
2310       END IF;
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
2386              i.PS_NODE_TYPE,
2383                                    new_parent,
2384              i.MINIMUM,
2385              i.MAXIMUM,
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
2462    get_Next_Val(new_id,'CZ_FUNC_COMP_SPECS_S');
2463 
2464    INSERT INTO CZ_FUNC_COMP_SPECS
2465          (FUNC_COMP_ID,
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,
2555               i.COMPANION_TYPE,
2552               MODEL_REF_EXPL_ID)
2553 VALUES(
2554                                p_out_new_func_comp_id,
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
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
2626       UPDATE CZ_RULES SET CONSEQUENT_ID=new_id WHERE rule_id=p_rule_id;
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,
2782               SECURITY_MASK,
2783               CHECKOUT_USER)
2784        VALUES(               new_grid_id,
2785               i.DEVL_PROJECT_ID,
2789               i.SECURITY_MASK,
2786               i.NAME,
2787               i.DESC_TEXT,
2788               i.DELETED_FLAG,
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
2928           WHERE rule_id=p_rule_id AND deleted_flag=NO_FLAG)
2929 LOOP
2930    IF i.grid_col_id IS NOT NULL THEN
2931       new_grid_col_id:=FlowId_GRID_COL(i.grid_col_id);
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)
2949           i.COL_TYPE,
2946    VALUES(i.FEATURE_ID,
2947                     new_grid_col_id,
2948                     new_rule_id,
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*/
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;
3090 INSERT INTO CZ_RULE_FOLDERS
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;