6: * *
7: * *
8: * *
9: ****************************************************************/
10: PROCEDURE propagateInput(p_ac_id IN ZPB_SOLVE_MEMBER_DEFS.ANALYSIS_CYCLE_ID%TYPE,
11: p_from_member IN ZPB_SOLVE_MEMBER_DEFS.MEMBER%TYPE)
12:
13: IS
14: fromSource NUMBER;
7: * *
8: * *
9: ****************************************************************/
10: PROCEDURE propagateInput(p_ac_id IN ZPB_SOLVE_MEMBER_DEFS.ANALYSIS_CYCLE_ID%TYPE,
11: p_from_member IN ZPB_SOLVE_MEMBER_DEFS.MEMBER%TYPE)
12:
13: IS
14: fromSource NUMBER;
15: ipRec ZPB_SOLVE_INPUT_SELECTIONS%ROWTYPE;
19: SELECT * FROM ZPB_SOLVE_INPUT_SELECTIONS
20: WHERE ANALYSIS_CYCLE_ID = p_ac_id AND MEMBER = p_from_member;
21: BEGIN
22: SELECT SOURCE_TYPE INTO fromSource
23: FROM ZPB_SOLVE_MEMBER_DEFS
24: WHERE ANALYSIS_CYCLE_ID = p_ac_id AND MEMBER = p_from_member;
25:
26: IF(fromSource <> CALCULATED_SOURCE AND fromSource <> AGGREGATED_SOURCE) THEN
27: FOR i IN propagateList.FIRST..propagateList.LAST
101: * COPY DIMENSION HANDLING INFO *
102: * *
103: * *
104: *****************************************************************/
105: PROCEDURE copyDimHandlingInfo(p_ac_id IN ZPB_SOLVE_MEMBER_DEFS.ANALYSIS_CYCLE_ID%TYPE,
106: p_from_member IN ZPB_SOLVE_MEMBER_DEFS.MEMBER%TYPE,
107: p_to_index IN INTEGER,
108: p_dimensionality_flag IN VARCHAR2 DEFAULT 'NO')
109: IS
102: * *
103: * *
104: *****************************************************************/
105: PROCEDURE copyDimHandlingInfo(p_ac_id IN ZPB_SOLVE_MEMBER_DEFS.ANALYSIS_CYCLE_ID%TYPE,
106: p_from_member IN ZPB_SOLVE_MEMBER_DEFS.MEMBER%TYPE,
107: p_to_index IN INTEGER,
108: p_dimensionality_flag IN VARCHAR2 DEFAULT 'NO')
109: IS
110:
195: * *
196: * *
197: *****************************************************************/
198:
199: PROCEDURE copyInputSelections(p_ac_id IN ZPB_SOLVE_MEMBER_DEFS.ANALYSIS_CYCLE_ID%TYPE,
200: p_from_member IN ZPB_SOLVE_MEMBER_DEFS.MEMBER%TYPE,
201: p_to_index IN INTEGER,
202: p_dimensionality_flag IN VARCHAR2 DEFAULT 'NO')
203: IS
196: * *
197: *****************************************************************/
198:
199: PROCEDURE copyInputSelections(p_ac_id IN ZPB_SOLVE_MEMBER_DEFS.ANALYSIS_CYCLE_ID%TYPE,
200: p_from_member IN ZPB_SOLVE_MEMBER_DEFS.MEMBER%TYPE,
201: p_to_index IN INTEGER,
202: p_dimensionality_flag IN VARCHAR2 DEFAULT 'NO')
203: IS
204: ipRec ZPB_SOLVE_INPUT_SELECTIONS%ROWTYPE;
275:
276: END copyInputSelections;
277:
278:
279: PROCEDURE copyOutputSelections(p_ac_id IN ZPB_SOLVE_MEMBER_DEFS.ANALYSIS_CYCLE_ID%TYPE,
280: p_from_member IN ZPB_SOLVE_MEMBER_DEFS.MEMBER%TYPE,
281: p_to_index IN INTEGER,
282: p_dimensionality_flag IN VARCHAR2)
283: IS
276: END copyInputSelections;
277:
278:
279: PROCEDURE copyOutputSelections(p_ac_id IN ZPB_SOLVE_MEMBER_DEFS.ANALYSIS_CYCLE_ID%TYPE,
280: p_from_member IN ZPB_SOLVE_MEMBER_DEFS.MEMBER%TYPE,
281: p_to_index IN INTEGER,
282: p_dimensionality_flag IN VARCHAR2)
283: IS
284: opRec ZPB_SOLVE_OUTPUT_SELECTIONS%ROWTYPE;
354:
355: END copyOutputSelections;
356:
357:
358: PROCEDURE removeCalcObjectInfo(p_ac_id IN ZPB_SOLVE_MEMBER_DEFS.ANALYSIS_CYCLE_ID%TYPE,
359: p_to_member IN ZPB_SOLVE_MEMBER_DEFS.MEMBER%TYPE)
360: IS
361: BEGIN
362: UPDATE ZPB_SOLVE_MEMBER_DEFS
355: END copyOutputSelections;
356:
357:
358: PROCEDURE removeCalcObjectInfo(p_ac_id IN ZPB_SOLVE_MEMBER_DEFS.ANALYSIS_CYCLE_ID%TYPE,
359: p_to_member IN ZPB_SOLVE_MEMBER_DEFS.MEMBER%TYPE)
360: IS
361: BEGIN
362: UPDATE ZPB_SOLVE_MEMBER_DEFS
363: SET CALCSTEP_PATH = NULL,
358: PROCEDURE removeCalcObjectInfo(p_ac_id IN ZPB_SOLVE_MEMBER_DEFS.ANALYSIS_CYCLE_ID%TYPE,
359: p_to_member IN ZPB_SOLVE_MEMBER_DEFS.MEMBER%TYPE)
360: IS
361: BEGIN
362: UPDATE ZPB_SOLVE_MEMBER_DEFS
363: SET CALCSTEP_PATH = NULL,
364: CALC_TYPE = NULL,
365: CALC_DESCRIPTION = NULL,
366: CALC_PARAMETERS = NULL,
548: * PROPAGATE SOURCE TYPE&(DIM INFO or I/P SELECTIONS *
549: * *
550: * *
551: *****************************************************************/
552: PROCEDURE propagateCalc(p_ac_id IN ZPB_SOLVE_MEMBER_DEFS.ANALYSIS_CYCLE_ID%TYPE,
553: p_from_member IN ZPB_SOLVE_MEMBER_DEFS.MEMBER%TYPE,
554: p_prop_dimhandling IN INTEGER,
555: p_prop_input IN INTEGER,
556: p_prop_output IN INTEGER)
549: * *
550: * *
551: *****************************************************************/
552: PROCEDURE propagateCalc(p_ac_id IN ZPB_SOLVE_MEMBER_DEFS.ANALYSIS_CYCLE_ID%TYPE,
553: p_from_member IN ZPB_SOLVE_MEMBER_DEFS.MEMBER%TYPE,
554: p_prop_dimhandling IN INTEGER,
555: p_prop_input IN INTEGER,
556: p_prop_output IN INTEGER)
557:
556: p_prop_output IN INTEGER)
557:
558:
559: IS
560: fromSource ZPB_SOLVE_MEMBER_DEFS.SOURCE_TYPE%TYPE;
561: updateSolve BOOLEAN;
562: l_calcDesc ZPB_SOLVE_MEMBER_DEFS.CALC_DESCRIPTION%TYPE;
563: l_calcType ZPB_SOLVE_MEMBER_DEFS.CALC_TYPE%TYPE;
564: l_calcParams ZPB_SOLVE_MEMBER_DEFS.CALC_PARAMETERS%TYPE;
558:
559: IS
560: fromSource ZPB_SOLVE_MEMBER_DEFS.SOURCE_TYPE%TYPE;
561: updateSolve BOOLEAN;
562: l_calcDesc ZPB_SOLVE_MEMBER_DEFS.CALC_DESCRIPTION%TYPE;
563: l_calcType ZPB_SOLVE_MEMBER_DEFS.CALC_TYPE%TYPE;
564: l_calcParams ZPB_SOLVE_MEMBER_DEFS.CALC_PARAMETERS%TYPE;
565: l_modelEquation ZPB_SOLVE_MEMBER_DEFS.MODEL_EQUATION%TYPE;
566: BEGIN
559: IS
560: fromSource ZPB_SOLVE_MEMBER_DEFS.SOURCE_TYPE%TYPE;
561: updateSolve BOOLEAN;
562: l_calcDesc ZPB_SOLVE_MEMBER_DEFS.CALC_DESCRIPTION%TYPE;
563: l_calcType ZPB_SOLVE_MEMBER_DEFS.CALC_TYPE%TYPE;
564: l_calcParams ZPB_SOLVE_MEMBER_DEFS.CALC_PARAMETERS%TYPE;
565: l_modelEquation ZPB_SOLVE_MEMBER_DEFS.MODEL_EQUATION%TYPE;
566: BEGIN
567: SELECT SOURCE_TYPE INTO fromSource
560: fromSource ZPB_SOLVE_MEMBER_DEFS.SOURCE_TYPE%TYPE;
561: updateSolve BOOLEAN;
562: l_calcDesc ZPB_SOLVE_MEMBER_DEFS.CALC_DESCRIPTION%TYPE;
563: l_calcType ZPB_SOLVE_MEMBER_DEFS.CALC_TYPE%TYPE;
564: l_calcParams ZPB_SOLVE_MEMBER_DEFS.CALC_PARAMETERS%TYPE;
565: l_modelEquation ZPB_SOLVE_MEMBER_DEFS.MODEL_EQUATION%TYPE;
566: BEGIN
567: SELECT SOURCE_TYPE INTO fromSource
568: FROM ZPB_SOLVE_MEMBER_DEFS
561: updateSolve BOOLEAN;
562: l_calcDesc ZPB_SOLVE_MEMBER_DEFS.CALC_DESCRIPTION%TYPE;
563: l_calcType ZPB_SOLVE_MEMBER_DEFS.CALC_TYPE%TYPE;
564: l_calcParams ZPB_SOLVE_MEMBER_DEFS.CALC_PARAMETERS%TYPE;
565: l_modelEquation ZPB_SOLVE_MEMBER_DEFS.MODEL_EQUATION%TYPE;
566: BEGIN
567: SELECT SOURCE_TYPE INTO fromSource
568: FROM ZPB_SOLVE_MEMBER_DEFS
569: WHERE ANALYSIS_CYCLE_ID = p_ac_id AND MEMBER = p_from_member;
564: l_calcParams ZPB_SOLVE_MEMBER_DEFS.CALC_PARAMETERS%TYPE;
565: l_modelEquation ZPB_SOLVE_MEMBER_DEFS.MODEL_EQUATION%TYPE;
566: BEGIN
567: SELECT SOURCE_TYPE INTO fromSource
568: FROM ZPB_SOLVE_MEMBER_DEFS
569: WHERE ANALYSIS_CYCLE_ID = p_ac_id AND MEMBER = p_from_member;
570:
571: --Check whether Source Type of Target Member needs updation
572: --Bug#5092815, changed into bulk operation
570:
571: --Check whether Source Type of Target Member needs updation
572: --Bug#5092815, changed into bulk operation
573: FORALL i IN propagateList.FIRST..propagateList.LAST
574: UPDATE ZPB_SOLVE_MEMBER_DEFS
575: SET SOURCE_TYPE = fromSource,
576: LAST_UPDATED_BY = fnd_global.USER_ID,
577: LAST_UPDATE_DATE = SYSDATE,
578: LAST_UPDATE_LOGIN = fnd_global.LOGIN_ID
590: END IF;
591:
592: FOR i IN propagateList.FIRST..propagateList.LAST
593: LOOP
594: UPDATE ZPB_SOLVE_MEMBER_DEFS
595: SET
596: SOURCE_TYPE = fromSource,
597: LAST_UPDATED_BY = fnd_global.USER_ID,
598: LAST_UPDATE_DATE = SYSDATE,
735:
736: SELECT CALC_DESCRIPTION,CALC_TYPE,CALC_PARAMETERS,MODEL_EQUATION
737: INTO l_calcDesc,l_calcType,l_calcParams,l_modelEquation
738:
739: FROM ZPB_SOLVE_MEMBER_DEFS
740: WHERE ANALYSIS_CYCLE_ID = p_ac_id AND MEMBER = p_from_member;
741:
742: UPDATE ZPB_SOLVE_MEMBER_DEFS
743: SET CALCSTEP_PATH = propagateList(i),
738:
739: FROM ZPB_SOLVE_MEMBER_DEFS
740: WHERE ANALYSIS_CYCLE_ID = p_ac_id AND MEMBER = p_from_member;
741:
742: UPDATE ZPB_SOLVE_MEMBER_DEFS
743: SET CALCSTEP_PATH = propagateList(i),
744: CALC_TYPE = l_calcType,
745: CALC_DESCRIPTION = l_calcDesc,
746: CALC_PARAMETERS = l_calcParams,
761: * *
762: * *
763: *****************************************************************/
764:
765: PROCEDURE propagateAlloc(p_ac_id IN ZPB_SOLVE_MEMBER_DEFS.ANALYSIS_CYCLE_ID%TYPE,
766:
767: p_from_member IN ZPB_SOLVE_MEMBER_DEFS.MEMBER%TYPE)
768:
769: IS
763: *****************************************************************/
764:
765: PROCEDURE propagateAlloc(p_ac_id IN ZPB_SOLVE_MEMBER_DEFS.ANALYSIS_CYCLE_ID%TYPE,
766:
767: p_from_member IN ZPB_SOLVE_MEMBER_DEFS.MEMBER%TYPE)
768:
769: IS
770: BEGIN
771: --delete existing rows
805: * *
806: * *
807: *****************************************************************/
808:
809: PROCEDURE propagateOutput(p_ac_id IN ZPB_SOLVE_MEMBER_DEFS.ANALYSIS_CYCLE_ID%TYPE,
810: p_from_member IN ZPB_SOLVE_MEMBER_DEFS.MEMBER%TYPE)
811:
812: IS
813: opRec ZPB_SOLVE_OUTPUT_SELECTIONS%ROWTYPE;
806: * *
807: *****************************************************************/
808:
809: PROCEDURE propagateOutput(p_ac_id IN ZPB_SOLVE_MEMBER_DEFS.ANALYSIS_CYCLE_ID%TYPE,
810: p_from_member IN ZPB_SOLVE_MEMBER_DEFS.MEMBER%TYPE)
811:
812: IS
813: opRec ZPB_SOLVE_OUTPUT_SELECTIONS%ROWTYPE;
814:
815: CURSOR c1 IS
816: SELECT * FROM ZPB_SOLVE_OUTPUT_SELECTIONS
817: WHERE ANALYSIS_CYCLE_ID = p_ac_id AND MEMBER = p_from_member;
818:
819: fromSource ZPB_SOLVE_MEMBER_DEFS.SOURCE_TYPE%TYPE;
820: BEGIN
821: SELECT SOURCE_TYPE INTO fromSource
822: FROM ZPB_SOLVE_MEMBER_DEFS
823: WHERE ANALYSIS_CYCLE_ID = p_ac_id AND MEMBER = p_from_member;
818:
819: fromSource ZPB_SOLVE_MEMBER_DEFS.SOURCE_TYPE%TYPE;
820: BEGIN
821: SELECT SOURCE_TYPE INTO fromSource
822: FROM ZPB_SOLVE_MEMBER_DEFS
823: WHERE ANALYSIS_CYCLE_ID = p_ac_id AND MEMBER = p_from_member;
824:
825: --For all cases update PROPAGATED_FLAG of source member.
826: UPDATE ZPB_SOLVE_OUTPUT_SELECTIONS
979: * *
980:
981: *****************************************************************/
982:
983: PROCEDURE propagateDimhandling(p_ac_id IN ZPB_SOLVE_MEMBER_DEFS.ANALYSIS_CYCLE_ID%TYPE,
984: p_from_member IN ZPB_SOLVE_MEMBER_DEFS.MEMBER%TYPE)
985: IS
986: fromSource NUMBER;
987: dimRec ZPB_LINE_DIMENSIONALITY%ROWTYPE;
980:
981: *****************************************************************/
982:
983: PROCEDURE propagateDimhandling(p_ac_id IN ZPB_SOLVE_MEMBER_DEFS.ANALYSIS_CYCLE_ID%TYPE,
984: p_from_member IN ZPB_SOLVE_MEMBER_DEFS.MEMBER%TYPE)
985: IS
986: fromSource NUMBER;
987: dimRec ZPB_LINE_DIMENSIONALITY%ROWTYPE;
988: isSetSrcPropFlag boolean := FALSE;
991: WHERE ANALYSIS_CYCLE_ID = p_ac_id AND MEMBER = p_from_member;
992: BEGIN
993: SELECT SOURCE_TYPE INTO fromSource
994:
995: FROM ZPB_SOLVE_MEMBER_DEFS
996: WHERE ANALYSIS_CYCLE_ID = p_ac_id AND MEMBER = p_from_member;
997:
998: IF fromSource = LOADED_SOURCE THEN
999: FOR i IN propagateList.FIRST..propagateList.LAST
1068: * *
1069: ****************************************************************/
1070:
1071: PROCEDURE propagateSolve (
1072: p_ac_id IN ZPB_SOLVE_MEMBER_DEFS.ANALYSIS_CYCLE_ID%TYPE,
1073: p_from_member IN ZPB_SOLVE_MEMBER_DEFS.MEMBER%TYPE,
1074: p_view_dim_name IN VARCHAR2,
1075: p_view_member_column IN VARCHAR2,
1076: p_view_short_lbl_column IN VARCHAR2,
1069: ****************************************************************/
1070:
1071: PROCEDURE propagateSolve (
1072: p_ac_id IN ZPB_SOLVE_MEMBER_DEFS.ANALYSIS_CYCLE_ID%TYPE,
1073: p_from_member IN ZPB_SOLVE_MEMBER_DEFS.MEMBER%TYPE,
1074: p_view_dim_name IN VARCHAR2,
1075: p_view_member_column IN VARCHAR2,
1076: p_view_short_lbl_column IN VARCHAR2,
1077: p_prop_calc IN INTEGER, -- source flag
1089:
1090: tableselect := 'Select member, member_order, memberlookup.';
1091: tableselect := tableselect || p_view_short_lbl_column || ' as MemberName,';
1092: tableselect := tableselect || ' SOURCE_TYPE';
1093: tableselect := tableselect || ' FROM ZPB_SOLVE_MEMBER_DEFS defs, ';
1094: tableselect := tableselect || p_view_dim_name || ' memberlookup';
1095: tableselect := tableselect || ' WHERE defs.ANALYSIS_CYCLE_ID = ' || p_ac_id;
1096: tableselect := tableselect || ' AND defs.PROPAGATE_TARGET = ' || iTrueValue;
1097: tableselect := tableselect || ' AND defs.member = memberlookup.' || p_view_member_column;
1100: Fetch c4 BULK COLLECT into propagateList, propagateOrder, propagateName, propagateSourceType;
1101:
1102: SELECT SOURCE_TYPE INTO fromSource
1103:
1104: FROM ZPB_SOLVE_MEMBER_DEFS
1105: WHERE ANALYSIS_CYCLE_ID = p_ac_id AND MEMBER = p_from_member;
1106:
1107: if p_prop_calc = iTrueValue THEN
1108: propagateCalc(p_ac_id, p_from_member,p_prop_dimhandling,p_prop_input,p_prop_output);
1119: if p_prop_dimhandling = iTrueValue and p_prop_calc = iFalseValue THEN
1120: propagateDimhandling(p_ac_id, p_from_member);
1121: END IF;
1122: --reset propagate flag
1123: UPDATE ZPB_SOLVE_MEMBER_DEFS
1124: SET PROPAGATE_TARGET = iFalseValue,
1125: LAST_UPDATED_BY = fnd_global.USER_ID,
1126: LAST_UPDATE_DATE = SYSDATE,
1127: LAST_UPDATE_LOGIN = fnd_global.LOGIN_ID
1139: WHERE LOOKUP_TYPE = 'ZPB_SOLVE_DIMENSIONLIST_SELECT' AND LOOKUP_CODE = p_lookup_code;
1140: RETURN ret_meaning;
1141: END getDimSettingMeaning;
1142:
1143: PROCEDURE updateCleanup(p_ac_id IN ZPB_SOLVE_MEMBER_DEFS.ANALYSIS_CYCLE_ID%TYPE,
1144: p_line_member IN ZPB_SOLVE_MEMBER_DEFS.MEMBER%TYPE,
1145: p_src_type IN ZPB_SOLVE_MEMBER_DEFS.SOURCE_TYPE%TYPE)
1146: IS
1147:
1140: RETURN ret_meaning;
1141: END getDimSettingMeaning;
1142:
1143: PROCEDURE updateCleanup(p_ac_id IN ZPB_SOLVE_MEMBER_DEFS.ANALYSIS_CYCLE_ID%TYPE,
1144: p_line_member IN ZPB_SOLVE_MEMBER_DEFS.MEMBER%TYPE,
1145: p_src_type IN ZPB_SOLVE_MEMBER_DEFS.SOURCE_TYPE%TYPE)
1146: IS
1147:
1148: BEGIN
1141: END getDimSettingMeaning;
1142:
1143: PROCEDURE updateCleanup(p_ac_id IN ZPB_SOLVE_MEMBER_DEFS.ANALYSIS_CYCLE_ID%TYPE,
1144: p_line_member IN ZPB_SOLVE_MEMBER_DEFS.MEMBER%TYPE,
1145: p_src_type IN ZPB_SOLVE_MEMBER_DEFS.SOURCE_TYPE%TYPE)
1146: IS
1147:
1148: BEGIN
1149: IF p_src_type <> LOADED_SOURCE THEN
1181: END IF;
1182: END updateCleanup;
1183:
1184:
1185: PROCEDURE deleteOutputSelections(p_ac_id IN ZPB_SOLVE_MEMBER_DEFS.ANALYSIS_CYCLE_ID%TYPE,
1186: p_targetIndex IN INTEGER )
1187: IS
1188: BEGIN
1189: DELETE ZPB_SOLVE_OUTPUT_SELECTIONS