DBA Data[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;