1 PACKAGE CN_Rule_PVT AS
2 --$Header: cnvrules.pls 120.3 2006/03/07 04:57:59 hanaraya ship $
3
4 TYPE rule_rec_type IS RECORD
5 (ruleset_id cn_rulesets_all_b.ruleset_id%TYPE,
6 rule_id cn_rules_all_b.rule_id%TYPE,
7 rule_name VARCHAR2(80),
8 parent_rule_id cn_rules_all_b.rule_id%TYPE,
9 revenue_class_id cn_revenue_classes.revenue_class_id%TYPE,
10 expense_ccid cn_rules_all_b.expense_ccid%TYPE,
11 liability_ccid cn_rules_all_b.liability_ccid%TYPE,
12 sequence_number cn_rules_hierarchy.sequence_number%TYPE,
13 org_id cn_rules_all_b.org_id%TYPE,
14 object_version_no cn_rules_all_b.OBJECT_VERSION_NUMBER%TYPE
15 );
16
17 TYPE rule_out_rec_type IS RECORD
18 (ruleset_id cn_rulesets_all_b.ruleset_id%TYPE,
19 ruleset_name cn_rulesets_all_tl.name%TYPE,
20 rule_id cn_rules_all_b.rule_id%TYPE,
21 rule_name cn_rules_all_tl.name%TYPE,
22 expense_desc Varchar2(2000),
23 liability_desc Varchar2(2000),
24 revenue_class_name cn_revenue_classes.name%TYPE,
25 parent_rule_id cn_rules_all_b.rule_id%TYPE,
26 revenue_class_id cn_revenue_classes.revenue_class_id%TYPE,
27 expense_ccid cn_rules_all_b.expense_ccid%TYPE,
28 liability_ccid cn_rules_all_b.liability_ccid%TYPE,
29 sequence_number cn_rules_hierarchy.sequence_number%TYPE,
30 org_id cn_rules_all_b.org_id%TYPE,
31 object_version_no cn_rules_all_b.OBJECT_VERSION_NUMBER%TYPE
32 );
33
34 TYPE rule_tbl_type IS TABLE OF rule_out_rec_type
35 INDEX BY BINARY_INTEGER;
36
37 --=============================================================================
38 -- Start of comments
39 -- API name : Create_Rule
40 -- Type : Private
41 -- Function : This Private API can be used to create a rule
42 -- Pre-reqs : None.
43 -- Parameters :
44 -- IN : p_api_version IN NUMBER Required
45 -- p_init_msg_list IN VARCHAR2 Optional
46 -- Default = FND_API.G_FALSE
47 -- p_commit IN VARCHAR2 Optional
48 -- Default = FND_API.G_FALSE
49 -- p_validation_level IN NUMBER Optional
50 -- Default = FND_API.G_VALID_LEVEL_FULL
51 -- p_rule_rec_type IN
52 -- CN_Rule_PVT.rule_rec_type
53 --
54 -- OUT : x_return_status OUT VARCHAR2(1)
55 -- x_msg_count OUT NUMBER
56 -- x_msg_data OUT VARCHAR2(2000)
57 --
58 -- Version : Current version 1.0
59 -- 25-Mar-99 Renu Chintalapati
60 -- previous version y.y
61 -- Changed....
62 -- Initial version 1.0
63 -- 25-Mar-99 Renu Chintalapati
64 --
65 -- Notes : Note text
66 --
67 -- End of comments
68 --=============================================================================
69 PROCEDURE Create_Rule
70 ( p_api_version IN NUMBER,
71 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
72 p_commit IN VARCHAR2 := FND_API.G_FALSE,
73 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
74 x_return_status OUT NOCOPY VARCHAR2,
75 x_msg_count OUT NOCOPY NUMBER,
76 x_msg_data OUT NOCOPY VARCHAR2,
77 x_loading_status OUT NOCOPY VARCHAR2,
78 p_rule_rec IN OUT NOCOPY CN_Rule_PVT.rule_rec_type,
79 x_rule_id OUT NOCOPY NUMBER
80 );
81 --=============================================================================
82 -- Start of comments
83 -- API name : Update_Rule
84 -- Type : Private
85 -- Function : This Public API can be used to update a rule
86 -- Pre-reqs : None.
87 -- Parameters :
88 -- IN : p_api_version IN NUMBER Required
89 -- p_init_msg_list IN VARCHAR2 Optional
90 -- Default = FND_API.G_FALSE
91 -- p_commit IN VARCHAR2 Optional
92 -- Default = FND_API.G_FALSE
93 -- p_validation_level IN NUMBER Optional
94 -- Default = FND_API.G_VALID_LEVEL_FULL
95 -- p_rule_rec_type IN
96 -- CN_Rule_PVT.rule_rec_type
97 --
98 -- OUT : x_return_status OUT VARCHAR2(1)
99 -- x_msg_count OUT NUMBER
100 -- x_msg_data OUT VARCHAR2(2000)
101 --
102 -- Version : Current version 1.0
103 -- 25-Mar-99 Renu Chintalapati
104 -- previous version y.y
105 -- Changed....
106 -- Initial version 1.0
107 -- 25-Mar-99 Renu Chintalapati
108 --
109 -- Notes : Note text
110 --
111 -- End of comments
112 --=============================================================================
113
114 PROCEDURE Update_Rule
115 ( p_api_version IN NUMBER,
116 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
117 p_commit IN VARCHAR2 := FND_API.G_FALSE,
118 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
119 x_return_status OUT NOCOPY VARCHAR2,
120 x_msg_count OUT NOCOPY NUMBER,
121 x_msg_data OUT NOCOPY VARCHAR2,
122 x_loading_status OUT NOCOPY VARCHAR2,
123 p_old_rule_rec IN CN_Rule_PVT.rule_rec_type,
124 p_rule_rec IN OUT NOCOPY CN_Rule_PVT.rule_rec_type
125 );
126
127 -- Start of comments
128 -- API name : Delete_Rule
129 -- Type : Private
130 -- Function : This Public API can be used to delete a rule and
131 -- it's attributes from Oracle Sales Compensation.
132 -- Pre-reqs : None.
133 -- Parameters :
134 -- IN : p_api_version IN NUMBER Required
135 -- p_init_msg_list IN VARCHAR2 Optional
136 -- Default = FND_API.G_FALSE
137 -- p_commit IN VARCHAR2 Optional
138 -- Default = FND_API.G_FALSE
139 -- p_validation_level IN NUMBER Optional
140 -- Default = FND_API.G_VALID_LEVEL_FULL
141 -- p_rule_rec_type IN
142 -- CN_Rule_PVT.rule_rec_type
143 -- OUT : x_return_status OUT VARCHAR2(1)
144 -- x_msg_count OUT NUMBER
145 -- x_msg_data OUT VARCHAR2(2000)
146 --
147 -- Version : Current version 1.0
148 -- 25-Mar-99 Renu Chintalapati
149 -- previous version y.y
150 -- Changed....
151 -- Initial version 1.0
152 -- 25-Mar-99 Renu Chintalapati
153 --
154 -- Notes : Note text
155 --
156 -- End of comments
157 --=============================================================================
158 PROCEDURE Delete_Rule
159 ( p_api_version IN NUMBER,
160 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
161 p_commit IN VARCHAR2 := FND_API.G_FALSE,
162 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
163 x_return_status OUT NOCOPY VARCHAR2,
164 x_msg_count OUT NOCOPY NUMBER,
165 x_msg_data OUT NOCOPY VARCHAR2,
166 x_loading_status OUT NOCOPY VARCHAR2,
167 p_rule_id IN cn_rules_all_b.rule_id%TYPE,
168 p_ruleset_id IN cn_rules_all_b.ruleset_id%TYPE,
169 p_org_id IN cn_rules_all_b.org_id%TYPE
170 );
171
172 --============================================================================
173 -- Start of Comments
174 --
175 -- API name : Get_Rules
176 -- Type : Private.
177 -- Pre-reqs : None.
178 -- Usage : To get a Rules
179 -- Desc : Procedure to get Rules
180 -- Parameters :
181 -- IN : p_api_version IN NUMBER Require
182 -- p_init_msg_list IN VARCHAR2 Optional
183 -- Default = FND_API.G_FALSE
184 -- p_commit IN VARCHAR2 Optional
185 -- Default = FND_API.G_FALSE
186 -- p_validation_level IN NUMBER Optional
187 -- Default = FND_API.G_VALID_LEVEL_FULL
188 -- OUT : x_return_status OUT VARCHAR2(1)
189 -- x_msg_count OUT NUMBER
190 -- x_msg_data OUT VARCHAR2(2000)
191 -- IN : p_ruleset_name, p_ruleset_name
192 -- OUT : x_loading_status OUT
193 -- Detailed Error Message
194 -- Version : Current version 1.0
195 -- Initial version 1.0
196 --
197 -- End of comments
198 --============================================================================
199 PROCEDURE Get_rules
200 ( p_api_version IN NUMBER,
201 p_init_msg_list IN VARCHAR2,
202 p_commit IN VARCHAR2,
203 p_validation_level IN NUMBER,
204 x_return_status OUT NOCOPY VARCHAR2,
205 x_msg_count OUT NOCOPY NUMBER,
206 x_msg_data OUT NOCOPY VARCHAR2,
207 p_ruleset_name IN cn_rulesets_all_tl.name%TYPE,
208 p_start_record IN NUMBER,
209 p_increment_count IN NUMBER,
210 p_order_by IN VARCHAR2,
211 x_rule_tbl OUT NOCOPY rule_tbl_type,
212 x_total_records OUT NOCOPY NUMBER,
213 x_status OUT NOCOPY VARCHAR2,
214 x_loading_status OUT NOCOPY VARCHAR2,
215 p_org_id IN cn_rulesets_all_tl.org_id%TYPE
216 );
217
218 -- Function which returns the expression corresponding to a rule
219 FUNCTION get_rule_exp (
220 p_rule_id NUMBER ) RETURN VARCHAR2;
221
222
223 END CN_Rule_PVT;