DBA Data[Home] [Help]

PACKAGE: APPS.FUN_RULE_OBJECTS_PUB

Source


1 PACKAGE FUN_RULE_OBJECTS_PUB AUTHID CURRENT_USER 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
297  * Use this routine to determine if a rule object uses a certain parameter.
294 ) RETURN VARCHAR2;
295 
296 /**
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;