1 PACKAGE FUN_RULE_OBJECTS_PUB AS
2 /*$Header: FUNXTMRULROBPUS.pls 120.6 2006/07/18 10:21:17 havvari noship $ */
3 /*#
4 * This package contains the public APIs for user customizable Rules objects.
5 * @rep:scope internal
6 * @rep:product FUN
7 * @rep:displayname Rules Framework:Customizable Object Definition
8 * @rep:category BUSINESS_ENTITY FUN_RULE_OBJECT
9 * @rep:lifecycle active
10 */
11
12 --------------------------------------
13 -- declaration of record type
14 --------------------------------------
15
16 TYPE rule_objects_rec_type IS RECORD (
17 rule_object_id NUMBER(15),
18 application_id NUMBER(15),
19 rule_object_name VARCHAR2(30),
20 user_rule_object_name VARCHAR2(80),
21 description VARCHAR2(240),
22 result_type VARCHAR2(30),
23 required_flag VARCHAR2(1),
24 use_default_value_flag VARCHAR2(1),
25 default_application_id NUMBER,
26 default_value VARCHAR2(240),
27 flex_value_set_id NUMBER,
28 flexfield_name VARCHAR2(80),
29 flexfield_app_short_name VARCHAR2(50),
30 multi_rule_result_flag VARCHAR2(1),
31 use_instance_flag VARCHAR2(1),
32 instance_label VARCHAR2(150),
33 parent_rule_object_id VARCHAR2(15),
34 org_id NUMBER(15),
35 creation_date DATE,
36 created_by NUMBER,
37 last_update_date DATE,
38 last_updated_by NUMBER,
39 last_update_login NUMBER,
40 created_by_module VARCHAR2(150)
41 );
42
43
44 --------------------------------------
45 -- declaration of public procedures and functions
46 --------------------------------------
47
48 /**
49 * Use this routine to create a rule object and its related information.
50 * With this API you can create a record in the FUN_RULE_OBJECTS_B ,
51 * FUN_RULE_OBJECTS_TL and FUN_RULE_OBJ_ATTRIBUTES table.
52 *
53 * @rep:scope internal
54 * @rep:lifecycle active
55 * @rep:displayname Create Rule Objects
56 *
57 * @param p_init_msg_list Initialize message stack if it is set to FND_API.G_TRUE. Default is FND_API.G_FALSE.
58 * @param p_rule_object_rec User customizable objects record.
59 * @param p_rule_object_id Internal identifier for the Rule Object
60 * @param x_return_status Return status after the call.
61 * @param x_msg_count Number of messages in message stack.
62 * @param x_msg_data Message text if x_msg_count is 1.
63 *
64 * @rep:comment 10-Sep-2004 Amulya Mishra Created
65 */
66
67 PROCEDURE create_rule_object(
68 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
69 p_rule_object_rec IN RULE_OBJECTS_REC_TYPE,
70 x_rule_object_id OUT NOCOPY NUMBER,
71 x_return_status OUT NOCOPY VARCHAR2,
72 x_msg_count OUT NOCOPY NUMBER,
73 x_msg_data OUT NOCOPY VARCHAR2
74 );
75
76 /**
77 * Use this routine to create a rule object instance to be used for rule partitioning.
78 * With this API you can create a record in the FUN_RULE_OBJECTS_B ,
79 * table provided the flag USE_INSTANCE_FLAG is set to 'Y'. This API will return
80 * the rule_object_id of the newly created rule object instance record.
81 *
82 * @rep:scope internal
83 * @rep:lifecycle active
84 * @rep:displayname Create Rule Object Instance
85 *
86 * @param p_init_msg_list Initialize message stack if it is set to FND_API.G_TRUE. Default is FND_API.G_FALSE.
87 * @param p_application_id Application identifier
88 * @param p_rule_object_name Name of Rule Object
89 * @param p_instance_label Name of the Instance.
90 * @param p_rule_object_id Internal identifier for the Rule Object
91 * @param x_return_status Return status after the call.
92 * @param x_msg_count Number of messages in message stack.
93 * @param x_msg_data Message text if x_msg_count is 1.
94 *
95 * @rep:comment 27-Dec-2005 Amulya Mishra Created
96 */
97
98
99
100 PROCEDURE create_rule_object_instance(
101 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
102 p_application_id IN NUMBER,
103 p_rule_object_name IN VARCHAR2,
104 p_instance_label IN VARCHAR2,
105 p_org_id IN NUMBER,
106 x_rule_object_id OUT NOCOPY NUMBER,
107 x_return_status OUT NOCOPY VARCHAR2,
108 x_msg_count OUT NOCOPY NUMBER,
109 x_msg_data OUT NOCOPY VARCHAR2
110 );
111
112
113 /**
114 * Use this routine to update a rule object. The API updates records in the
115 * FUN_RULE_OBJECTS_B , FUN_RULE_OBJECTS_TL and FUN_RULE_OBJ_ATTRIBUTES tables.
116 *
117 * @rep:scope internal
118 * @rep:lifecycle active
119 * @rep:displayname Update User Customizable Rule
120 *
121 * @param p_init_msg_list Initialize message stack if it is set to FND_API.G_TRUE. Default is FND_API.G_FALSE.
122 * @param p_rule_object_rec User customizable objects record.
123 * @param p_object_version_number Record version number
124 * @param x_return_status Return status after the call.
125 * @param x_msg_count Number of messages in message stack.
126 * @param x_msg_data Message text if x_msg_count is 1.
127 *
128 * @rep:comment 10-Sep-2004 Amulya Mishra Created
129 */
130
131 PROCEDURE update_rule_object(
132 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
133 p_rule_object_rec IN RULE_OBJECTS_REC_TYPE,
134 p_object_version_number IN OUT NOCOPY NUMBER,
135 x_return_status OUT NOCOPY VARCHAR2,
136 x_msg_count OUT NOCOPY NUMBER,
137 x_msg_data OUT NOCOPY VARCHAR2
138 );
139
140 /**
141 * Gets Rule Object object record based on passed Rule Object name and Application Id .
142 *
143 * @rep:scope internal
144 * @rep:lifecycle active
145 * @rep:displayname Retrieve User Customizable Rule
146 *
147 * @param p_init_msg_list Initialize message stack if it is set to FND_API.G_TRUE. Default is FND_API.G_FALSE.
148 * @param p_rule_object_name Name of Rule Object
149 * @param p_application_id Application identifier
150 * @param p_rule_object_rec User customizable objects record.
151 * @param x_return_status Return status after the call.
152 * @param x_msg_count Number of messages in message stack.
153 * @param x_msg_data Message text if x_msg_count is 1.
154 *
155 * @rep:comment 10-Sep-2004 Amulya Mishra Created
156 */
157
158 PROCEDURE get_rule_object_rec (
159 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
160 p_rule_object_name IN VARCHAR2,
161 p_application_id IN NUMBER,
162 p_instance_label IN VARCHAR2,
163 p_org_id IN NUMBER,
164 x_rule_object_rec OUT NOCOPY RULE_OBJECTS_REC_TYPE,
165 x_return_status OUT NOCOPY VARCHAR2,
166 x_msg_count OUT NOCOPY NUMBER,
167 x_msg_data OUT NOCOPY VARCHAR2
168 );
169
170 /**
171 * Gets Rule Object object record based on passed Rule Object Id.
172 *
173 * @rep:scope internal
174 * @rep:lifecycle active
175 * @rep:displayname Retrieve User Customizable Rule
176 *
177 * @param p_init_msg_list Initialize message stack if it is set to FND_API.G_TRUE. Default is FND_API.G_FALSE.
178 * @param p_rule_object_id Identifier of Rule Object
179 * @param p_rule_object_rec User customizable objects record.
180 * @param x_return_status Return status after the call.
181 * @param x_msg_count Number of messages in message stack.
182 * @param x_msg_data Message text if x_msg_count is 1.
183 *
184 * @rep:comment 10-Sep-2004 Amulya Mishra Created
185 */
186
187 PROCEDURE get_rule_object_rec (
188 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
189 p_rule_object_id IN NUMBER,
190 x_rule_object_rec OUT NOCOPY RULE_OBJECTS_REC_TYPE,
191 x_return_status OUT NOCOPY VARCHAR2,
192 x_msg_count OUT NOCOPY NUMBER,
193 x_msg_data OUT NOCOPY VARCHAR2
194 );
195
196 /**
197 * Use this routine to delete a rule object and its instances. The API deletes records in the
198 * FUN_RULE_OBJECTS_B , FUN_RULE_OBJECTS_TL and FUN_RULE_OBJ_ATTRIBUTES table.
199 *
200 * @rep:scope internal
201 * @rep:lifecycle active
202 * @rep:displayname Delete Rule Object Record.
203 *
204 * @param p_init_msg_list Initialize message stack if it is set to FND_API.G_TRUE. Default is FND_API.G_FALSE.
205 * @param p_rule_object_name Name of Rule Object
206 * @param p_application_id Application identifier
207 * @param x_return_status Return status after the call.
208 * @param x_msg_count Number of messages in message stack.
209 * @param x_msg_data Message text if x_msg_count is 1.
210 *
211 * @rep:comment 10-Sep-2004 Amulya Mishra Created
212 */
213
214 PROCEDURE delete_rule_object(
215 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
216 p_rule_object_name IN VARCHAR2,
217 p_application_id IN NUMBER,
218 x_return_status OUT NOCOPY VARCHAR2,
219 x_msg_count OUT NOCOPY NUMBER,
220 x_msg_data OUT NOCOPY VARCHAR2
221 );
222
223 /**
224 * Use this routine to delete a rule object instance. The API deletes a record in the
225 * FUN_RULE_OBJECTS_B table after checking if the USE_INSTANCE_FLAG is Y or not.
226 *
227 * @rep:scope internal
228 * @rep:lifecycle active
229 * @rep:displayname Delete Rule Object Record.
230 *
231 * @param p_init_msg_list Initialize message stack if it is set to FND_API.G_TRUE. Default is FND_API.G_FALSE.
232 * @param p_application_id Application identifier
233 * @param p_rule_object_name Name of Rule Object
234 * @param p_instance_label Name of the Instance.
235 * @param x_return_status Return status after the call.
236 * @param x_msg_count Number of messages in message stack.
237 * @param x_msg_data Message text if x_msg_count is 1.
238 *
239 * @rep:comment 27-Dec-2005 Amulya Mishra Created
240 */
241
242 PROCEDURE delete_rule_object_instance(
243 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
244 p_application_id IN NUMBER,
245 p_rule_object_name IN VARCHAR2,
246 p_instance_label IN VARCHAR2,
247 p_org_id IN NUMBER,
248 x_return_status OUT NOCOPY VARCHAR2,
249 x_msg_count OUT NOCOPY NUMBER,
250 x_msg_data OUT NOCOPY VARCHAR2
251 );
252
253 /**
254 * Use this routine to check if a particular rule object instance exists in the database or not.
255 *
256 * @rep:scope internal
257 * @rep:lifecycle active
258 * @rep:displayname Delete Rule Object Record.
259 *
260 * @param p_application_id Application identifier
261 * @param p_rule_object_name Name of Rule Object
262 * @param p_instance_label Name of the Instance.
263 *
264 * @rep:comment 27-Dec-2005 Amulya Mishra Created
265 */
266
267 FUNCTION rule_object_instance_exists(
268 p_application_id IN NUMBER,
269 p_rule_object_name IN VARCHAR2,
270 p_instance_label IN VARCHAR2,
271 p_org_id IN NUMBER
272 ) RETURN BOOLEAN;
273
274 /**
275 * Use this routine to check if a particular rule object instance exists in the database or not.
276 *
277 * @rep:scope internal
278 * @rep:lifecycle active
279 * @rep:displayname Delete Rule Object Record.
280 *
281 * @param p_application_id Application identifier
282 * @param p_rule_object_name Name of Rule Object
283 * @param p_instance_label Name of the Instance.
284 * @param p_org_id Operating Unit
285 *
286 * @rep:comment 18-Jul-2006 A.Hari Krishna Created
287 */
288
289 FUNCTION rule_object_instance_exists_vc(
290 p_application_id IN NUMBER,
291 p_rule_object_name IN VARCHAR2,
292 p_instance_label IN VARCHAR2,
293 p_org_id IN NUMBER
294 ) RETURN VARCHAR2;
295
296 /**
297 * Use this routine to determine if a rule object uses a certain parameter.
298 *
299 * @rep:scope internal
300 * @rep:lifecycle active
301 * @rep:displayname Rule Object uses a Parameter or Not.
302 *
303 * @param p_rule_object_name Name of Rule Object
304 * @param p_parameter_name Criteria paramete Name
305 *
306 * @rep:comment 20-Aug-2005 Amulya Mishra Created
307 */
308
309 FUNCTION RULE_OBJECT_USES_PARAMETER(p_rule_object_name IN VARCHAR2,
310 p_parameter_name IN VARCHAR2)
311 RETURN BOOLEAN;
312
313 /**
314 * Use this routine to convert the Rule Object to make it enabling Instance
315 * and vice versa.
316 *
317 * @rep:scope internal
318 * @rep:lifecycle active
319 * @rep:displayname Convert Rule Object Instance Enabling Feature
320 *
321 * @param p_init_msg_list Initialize message stack if it is set to FND_API.G_TRUE. Default is FND_API.G_FALSE.
322 * @param p_rule_object_id Internal identifier for the Rule Object
323 * @param p_instance_flag Use Instance Flag value for the Rule Object
324 * @param p_instance_label Instance Label to be associated with the Rule Object Instances.
325 * @param p_org_id Internal identifier for the organization id to be associated with the Rule Object Instances
326 * @param x_return_status Return status after the call.
327 * @param x_msg_count Number of messages in message stack.
328 * @param x_msg_data Message text if x_msg_count is 1.
329 *
330 * @rep:comment 14-Feb-2006 Amulya Mishra Created
331 */
332
333 PROCEDURE convert_use_instance(
334 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
335 p_rule_object_id IN NUMBER,
336 p_use_instance_flag IN VARCHAR2,
337 p_instance_label IN VARCHAR2 DEFAULT NULL,
338 P_ORG_ID IN NUMBER DEFAULT NULL,
339 x_return_status OUT NOCOPY VARCHAR2,
340 x_msg_count OUT NOCOPY NUMBER,
341 x_msg_data OUT NOCOPY VARCHAR2
342 );
343
344
345 END FUN_RULE_OBJECTS_PUB;