[Home] [Help]
PACKAGE: APPS.FEM_RULE_SET_MANAGER
Source
1 package fem_rule_set_manager AS
2 --$Header: FEMRSMANS.pls 120.2.12000000.3 2007/08/20 16:38:56 gcheng ship $
3
4 --Lookup Codes for Error text
5 G_RSM_MEMBER_VALID VARCHAR2(30) := FEM_UTILS.getLookupMeaning(274
6 ,'FEM_RSM_ERROR_TYPES'
7 ,'FEM_RSM_MEMBER_VALID'); --'Valid';
8 G_RSM_INVALID_STATUS VARCHAR2(30) := FEM_UTILS.getLookupMeaning(274
9 ,'FEM_RSM_ERROR_TYPES'
10 ,'FEM_RSM_INVALID_STATUS'); --'Not Valid';
11 G_RSM_MEMBER_ENABLED VARCHAR2(30) := FEM_UTILS.getLookupMeaning(274
12 ,'FEM_RSM_ERROR_TYPES'
13 ,'FEM_RSM_MEMBER_ENABLED'); --'Enabled';
14 G_RSM_MEMBER_DISABLED VARCHAR2(30) := FEM_UTILS.getLookupMeaning(274
15 ,'FEM_RSM_ERROR_TYPES'
16 ,'FEM_RSM_MEMBER_DISABLED'); --'Disabled';
17 G_RSM_MEMBER_PREV_PROCESSED VARCHAR2(30) := FEM_UTILS.getLookupMeaning(274
18 ,'FEM_RSM_ERROR_TYPES'
19 ,'FEM_RSM_MEM_PREV_PROCESSED'); --'Previously Processed';
20 G_RSM_CYCLICAL_FAILURE VARCHAR2(30) := FEM_UTILS.getLookupMeaning(274
21 ,'FEM_RSM_ERROR_TYPES'
22 ,'FEM_RSM_CYCLICAL_FAILURE'); --'Cyclical Failure';
23 G_RSM_DEPTH_FAILURE VARCHAR2(30) := FEM_UTILS.getLookupMeaning(274
24 ,'FEM_RSM_ERROR_TYPES'
25 ,'FEM_RSM_DEPTH_FAILURE'); --'Depth Failure';
26 G_RSM_VALID_DEFN_EXISTS VARCHAR2(30) := FEM_UTILS.getLookupMeaning(274
27 ,'FEM_RSM_ERROR_TYPES'
28 ,'FEM_RSM_VALID_DEFN_EXISTS'); --'Exists';
29 G_RSM_NO_VALID_DEFN VARCHAR2(30) := FEM_UTILS.getLookupMeaning(274
30 ,'FEM_RSM_ERROR_TYPES'
31 ,'FEM_RSM_NO_VALID_DEFN'); --'Not Exists';
32 G_RSM_RULE_APPROVED VARCHAR2(30) := FEM_UTILS.getLookupMeaning(274
33 ,'FEM_RSM_ERROR_TYPES'
34 ,'FEM_RSM_RULE_APPROVED'); --'Approved';
35 G_RSM_RULE_NOT_APPROVED VARCHAR2(30) := FEM_UTILS.getLookupMeaning(274
36 ,'FEM_RSM_ERROR_TYPES'
37 ,'FEM_RSM_RULE_NOT_APPROVED'); --'Not Approved';
38 G_RSM_NO_DEP_OBJECTS VARCHAR2(30) := FEM_UTILS.getLookupMeaning(274
39 ,'FEM_RSM_ERROR_TYPES'
40 ,'FEM_RSM_NO_DEP_OBJECTS'); --'None';
41 G_RSM_DEP_OBJECTS_INVALID VARCHAR2(30) := FEM_UTILS.getLookupMeaning(274
42 ,'FEM_RSM_ERROR_TYPES'
43 ,'FEM_RSM_DEP_OBJECTS_INVALID'); --'Not Valid';
44 G_RSM_RULE_LOCKED VARCHAR2(30) := FEM_UTILS.getLookupMeaning(274
45 ,'FEM_RSM_ERROR_TYPES'
46 ,'FEM_RSM_RULE_LOCKED'); --'Locked';
47 G_RSM_RULE_NOT_LOCKED VARCHAR2(30) := FEM_UTILS.getLookupMeaning(274
48 ,'FEM_RSM_ERROR_TYPES'
49 ,'FEM_RSM_RULE_NOT_LOCKED'); --'Not Locked';
50
51 --Error Message variables
52 G_INVALID_DATASET_GROUP VARCHAR2(30) := 'FEM_INVALID_DATASET_GROUP';
53 G_INVALID_LVSCID_ON_OBJECT VARCHAR2(30) := 'FEM_INVALID_LVSCID_ON_OBJECT';
54
55 --Exceptions
56 USER_EXCEPTION EXCEPTION;
57
58 --Global Variables
59 DEF_OBJECT_ID FEM_OBJECT_CATALOG_B.OBJECT_ID%TYPE;
60 DEF_OBJECT_TYPE_CODE FEM_OBJECT_CATALOG_B.OBJECT_TYPE_CODE%TYPE;
61 DEF_LOCAL_VS_COMBO_ID FEM_OBJECT_CATALOG_B.LOCAL_VS_COMBO_ID%TYPE;
62
63 DEF_OBJECT_DISPLAY_NAME FEM_OBJECT_CATALOG_VL.OBJECT_NAME%TYPE;
64 DEF_FOLDER_ID FEM_FOLDERS_B.FOLDER_ID%TYPE;
65 DEF_FOLDER_NAME FEM_FOLDERS_VL.FOLDER_NAME%TYPE;
66
67 DEF_OBJECT_DEFINITION_ID FEM_OBJECT_DEFINITION_B.OBJECT_DEFINITION_ID%TYPE;
68 DEF_APPROVAL_STATUS_CODE FEM_OBJECT_DEFINITION_B.APPROVAL_STATUS_CODE%TYPE;
69
70 DEF_RULESET_OBJECT_TYPE_CODE FEM_RULE_SETS.RULE_SET_OBJECT_TYPE_CODE%TYPE;
71
72 DEF_CHILD_EXEC_SEQUENCE FEM_RULE_SET_MEMBERS.CHILD_EXECUTION_SEQUENCE%TYPE;
73 DEF_EXECUTE_CHILD_FLAG FEM_RULE_SET_MEMBERS.EXECUTE_CHILD_FLAG%TYPE;
74
75 DEF_DATASET_CODE FEM_DATASETS_B.DATASET_CODE%TYPE;
76
77
78 TYPE Rule_Set_Instance_Rec IS RECORD( RuleSet_Object_ID DEF_OBJECT_ID%TYPE
79 ,Owning_RuleSet_Name DEF_OBJECT_DISPLAY_NAME%TYPE
80 ,RuleSet_Object_Name DEF_OBJECT_DISPLAY_NAME%TYPE );
81
82 TYPE Rule_Set_Instance_Tab IS TABLE OF Rule_Set_Instance_Rec INDEX BY BINARY_INTEGER;
83
84 TYPE Members_Processed_Instance_Rec IS RECORD(Member_Object_ID DEF_OBJECT_ID%TYPE);
85 TYPE Members_Processed_Instance_Tab IS TABLE OF Members_Processed_Instance_Rec INDEX BY BINARY_INTEGER;
86
87 TYPE Valid_Invalid_Members_Inst_Rec IS RECORD(Folder_Name DEF_FOLDER_NAME%TYPE
88 ,Owning_RuleSet_Name DEF_OBJECT_DISPLAY_NAME%TYPE
89 ,Object_Name DEF_OBJECT_DISPLAY_NAME%TYPE
90 ,Object_Type DEF_OBJECT_TYPE_CODE%TYPE
91 ,Object_ID DEF_OBJECT_ID%TYPE
92 ,Validation_Status VARCHAR2(12)
93 ,Message_If_Invalid VARCHAR2(80));
94 TYPE Valid_Invalid_Members_Inst_Tab IS TABLE OF Valid_Invalid_Members_Inst_Rec INDEX BY BINARY_INTEGER;
95
96 TYPE Members_Validation_Status_Rec IS RECORD(Folder_Name DEF_FOLDER_NAME%TYPE
97 ,Owning_RuleSet_Name DEF_OBJECT_DISPLAY_NAME%TYPE
98 ,Object_Name DEF_OBJECT_DISPLAY_NAME%TYPE
99 ,Object_Type DEF_OBJECT_TYPE_CODE%TYPE
100 ,Object_ID DEF_OBJECT_ID%TYPE
101 ,Valid_Member_Enabled_Status VARCHAR2(30)
102 ,Valid_Rule_Def_Status VARCHAR2(30)
103 ,Valid_Lock_Status VARCHAR2(30)
104 ,Valid_Approval_Status VARCHAR2(30)
105 ,Valid_Dep_Obj_Status VARCHAR2(30)
106 ,Valid_Local_VS_Status VARCHAR2(30)
107 ,Other_Error_Status VARCHAR2(30)
108 );
109
110 TYPE Members_Validation_Status_Tab IS TABLE OF Members_Validation_Status_Rec INDEX BY BINARY_INTEGER;
111
112 -- CURRENT USE: used to track current ruleset being processed
113 TYPE Rule_Info IS RECORD( Owning_RuleSet_Name DEF_OBJECT_DISPLAY_NAME%TYPE ,
114 Object_Name DEF_OBJECT_DISPLAY_NAME%TYPE ,
115 Object_ID DEF_OBJECT_ID%TYPE );
116
117
118
119 TYPE Dependent_Objects_Rec IS RECORD(Parent_Object_ID DEF_OBJECT_ID%TYPE
120 ,Dependent_Object_ID DEF_OBJECT_ID%TYPE
121 ,Dependent_Object_Display_Name DEF_OBJECT_DISPLAY_NAME%TYPE
122 ,Dependent_Object_Folder_Name DEF_FOLDER_NAME%TYPE
123 ,Dependent_Object_Type_Code DEF_OBJECT_TYPE_CODE%TYPE
124 ,Status VARCHAR2(1)
125 ,Message_If_Invalid VARCHAR2(80));
126
127 TYPE Dependent_Objects_Tab IS TABLE OF Dependent_Objects_Rec INDEX BY BINARY_INTEGER;
128
129 cursor getValidDefForObject(p_Obj_Id IN DEF_OBJECT_ID%TYPE
130 ,p_Rule_Effective_Date IN DATE) IS
131 select
132 a.object_definition_id
133 ,a.approval_status_code
134 from
135 fem_object_definition_vl a
136 where
137 a.object_id = p_Obj_ID
138 and p_Rule_Effective_Date >= a.EFFECTIVE_START_DATE
139 and p_Rule_Effective_Date <= nvl(a.EFFECTIVE_END_DATE,to_date('31/12/9999','DD/MM/YYYY'))
140 and a.OLD_APPROVED_COPY_FLAG = 'N';
141
142 Procedure Get_ValidDefinition_Pub(p_Object_ID IN DEF_OBJECT_ID%TYPE
143 ,p_Rule_Effective_Date IN VARCHAR2
144 ,x_Object_Definition_ID OUT NOCOPY FEM_OBJECT_DEFINITION_B.OBJECT_DEFINITION_ID%TYPE
145 ,x_Err_Code OUT NOCOPY NUMBER
146 ,x_Err_Msg OUT NOCOPY VARCHAR2);
147
148 Procedure Validate_Rule_Public(x_Err_Code OUT NOCOPY NUMBER
149 ,x_Err_Msg OUT NOCOPY VARCHAR2
150 ,p_Rule_Object_ID IN DEF_OBJECT_ID%TYPE
151 ,p_DS_IO_Def_ID IN DEF_OBJECT_DEFINITION_ID%TYPE
152 ,p_Rule_Effective_Date IN VARCHAR2
153 ,p_Reference_Period_ID IN NUMBER
154 ,p_Ledger_ID IN NUMBER);
155
156 Procedure Validate_Rule_Public(p_api_version IN NUMBER
157 ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
158 ,p_encoded IN VARCHAR2 := FND_API.G_TRUE
159 ,p_Rule_Object_ID IN DEF_OBJECT_ID%TYPE
160 ,p_DS_IO_Def_ID IN DEF_OBJECT_DEFINITION_ID%TYPE
161 ,p_Rule_Effective_Date IN VARCHAR2
162 ,p_Reference_Period_ID IN NUMBER
163 ,p_Ledger_ID IN NUMBER
164 ,x_return_status OUT NOCOPY VARCHAR2
165 ,x_msg_count OUT NOCOPY NUMBER
166 ,x_msg_data OUT NOCOPY VARCHAR2);
167
168 -- Being called from a concurrent program: "FEM: Validate Rule Set"
169 PROCEDURE Preprocess_RuleSet(x_Err_Code OUT NOCOPY NUMBER
170 ,x_Err_Msg OUT NOCOPY VARCHAR2
171 ,p_Orig_RuleSet_Object_ID IN DEF_OBJECT_ID%TYPE
172 ,p_DS_IO_Def_ID IN DEF_OBJECT_DEFINITION_ID%TYPE
173 ,p_Rule_Effective_Date IN VARCHAR2
174 ,p_Output_Period_ID IN NUMBER
175 ,p_Ledger_ID IN NUMBER
176 ,p_Continue_Process_On_Err_Flg IN VARCHAR2
177 ,p_Execution_Mode IN VARCHAR2);
178
179 PROCEDURE FEM_Preprocess_RuleSet_PVT(
180 p_api_version IN NUMBER
181 ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
182 ,p_commit IN VARCHAR2 := FND_API.G_FALSE
183 ,p_encoded IN VARCHAR2 := FND_API.G_TRUE
184 ,x_return_status OUT NOCOPY VARCHAR2
185 ,x_msg_count OUT NOCOPY NUMBER
186 ,x_msg_data OUT NOCOPY VARCHAR2
187 ,p_Orig_RuleSet_Object_ID IN DEF_OBJECT_ID%TYPE
188 ,p_DS_IO_Def_ID IN DEF_OBJECT_DEFINITION_ID%TYPE
189 ,p_Rule_Effective_Date IN VARCHAR2
190 ,p_Output_Period_ID IN NUMBER
191 ,p_Ledger_ID IN NUMBER
192 ,p_Continue_Process_On_Err_Flg IN VARCHAR2
193 ,p_Execution_Mode IN VARCHAR2
194 );
195
196 PROCEDURE FEM_DeleteFlatRuleList_PVT(
197 p_api_version IN NUMBER
198 ,p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
199 ,p_commit IN VARCHAR2 := FND_API.G_FALSE
200 ,p_encoded IN VARCHAR2 := FND_API.G_TRUE
201 ,x_return_status OUT NOCOPY VARCHAR2
202 ,x_msg_count OUT NOCOPY NUMBER
203 ,x_msg_data OUT NOCOPY VARCHAR2
204 ,p_RuleSet_Object_ID IN DEF_OBJECT_ID%TYPE
205 ) ;
206
207
208 end fem_rule_set_manager;