[Home] [Help]
PACKAGE: APPS.CN_CHK_PLAN_ELEMENT_PKG
Source
1 PACKAGE CN_CHK_PLAN_ELEMENT_PKG AUTHID CURRENT_USER AS
2 /* $Header: cnchkpes.pls 120.4 2005/09/14 02:41:27 rarajara ship $ */
3 -- Modified on 07/19/99, Added more columns in the pe_rec_type
4 TYPE pe_rec_type IS RECORD (
5 NAME cn_quotas.NAME%TYPE := fnd_api.g_miss_char,
6 quota_id cn_quotas.quota_id%TYPE := NULL,
7 description cn_quotas.description%TYPE := NULL,
8 start_period_id NUMBER := NULL,
9 start_period_name cn_periods.period_name%TYPE := fnd_api.g_miss_char,
10 end_period_id NUMBER := NULL,
11 start_date cn_quotas.start_date%TYPE := fnd_api.g_miss_date,
12 end_date cn_quotas.end_date%TYPE := NULL,
13 quota_status cn_quotas.quota_status%TYPE := NULL,
14 interval_name cn_interval_types.NAME%TYPE := NULL,
15 interval_type_id cn_interval_types.interval_type_id%TYPE := NULL,
16 payee_assign_flag cn_quotas.payee_assign_flag%TYPE := 'N',
17 vesting_flag cn_quotas.vesting_flag%TYPE := 'N',
18 -- quota_group_code cn_quotas.quota_group_code%TYPE
19 -- := NULL,
20 end_period_name cn_periods.period_name%TYPE := fnd_api.g_miss_char,
21 -- period_type_code cn_quotas.period_type_code%TYPE
22 -- := FND_API.G_MISS_CHAR,
23 quota_type_code cn_quotas.quota_type_code%TYPE := fnd_api.g_miss_char,
24 -- disc_option_code cn_quotas.discount_option_code%TYPE
25 -- := FND_API.G_MISS_CHAR,
26 trx_group_code cn_quotas.trx_group_code%TYPE := fnd_api.g_miss_char,
27 target cn_quotas.target%TYPE := fnd_api.g_miss_num,
28 -- payment_type_code cn_quotas.payment_type_code%TYPE
29 -- := FND_API.G_MISS_CHAR,
30 payment_amount cn_quotas.payment_amount%TYPE := fnd_api.g_miss_num,
31 calc_formula_id cn_quotas.calc_formula_id%TYPE := NULL,
32 quota_rule_id cn_quota_rules.quota_rule_id%TYPE := NULL,
33 calc_formula_name cn_calc_formulas.NAME%TYPE := NULL,
34 incentive_type_code cn_quotas.incentive_type_code%TYPE := fnd_api.g_miss_char,
35 credit_type cn_credit_types.NAME%TYPE := fnd_api.g_miss_char,
36 credit_type_id cn_credit_types.credit_type_id%TYPE := NULL,
37 rt_sched_custom_flag cn_quotas.rt_sched_custom_flag%TYPE := fnd_api.g_miss_char,
38 performance_goal cn_quotas.performance_goal%TYPE := NULL,
39 -- quota_unspecified cn_quotas.quota_unspecified%TYPE
40 -- := NULL,
41 package_name cn_quotas.package_name%TYPE := NULL,
42 split_flag cn_quotas.split_flag%TYPE := fnd_api.g_miss_char,
43 itd_flag cn_calc_formulas.itd_flag%TYPE := fnd_api.g_miss_char,
44 cumulative_flag cn_quotas.cumulative_flag%TYPE := NULL,
45 rate_table_id cn_rate_schedules.rate_schedule_id%TYPE := NULL,
46 rate_table_name cn_rate_schedules.NAME%TYPE := fnd_api.g_miss_char,
47 disc_rate_table_id cn_rate_schedules.rate_schedule_id%TYPE := NULL,
48 disc_rate_table_name cn_rate_schedules.NAME%TYPE := fnd_api.g_miss_char,
49 rev_class_id cn_quota_rules.revenue_class_id%TYPE := NULL,
50 rev_class_name cn_quota_rules.NAME%TYPE := fnd_api.g_miss_char,
51 rev_class_target cn_quota_rules.target%TYPE := fnd_api.g_miss_num,
52 rev_class_payment_amount cn_quota_rules.payment_amount%TYPE := fnd_api.g_miss_num,
53 rev_class_performance_goal cn_quota_rules.performance_goal%TYPE := fnd_api.g_miss_num,
54 rev_class_payment_uplift cn_quota_rule_uplifts.payment_factor%TYPE := NULL,
55 rev_class_quota_uplift cn_quota_rule_uplifts.quota_factor%TYPE := NULL,
56 rev_uplift_start_date cn_quota_rule_uplifts.start_date%TYPE := fnd_api.g_miss_date,
57 rev_uplift_end_date cn_quota_rule_uplifts.end_date%TYPE := fnd_api.g_miss_date,
58 -- usage_code cn_quotas.usage_code%TYPE
59 -- := 'ABSOLUTE',
60 addup_from_rev_class_flag cn_quotas.addup_from_rev_class_flag%TYPE := NULL,
61 attribute_category cn_quotas.attribute_category%TYPE := NULL,
62 attribute1 cn_quotas.attribute1%TYPE := NULL,
63 attribute2 cn_quotas.attribute2%TYPE := NULL,
64 attribute3 cn_quotas.attribute3%TYPE := NULL,
65 attribute4 cn_quotas.attribute4%TYPE := NULL,
66 attribute5 cn_quotas.attribute5%TYPE := NULL,
67 attribute6 cn_quotas.attribute6%TYPE := NULL,
68 attribute7 cn_quotas.attribute7%TYPE := NULL,
69 attribute8 cn_quotas.attribute8%TYPE := NULL,
70 attribute9 cn_quotas.attribute9%TYPE := NULL,
71 attribute10 cn_quotas.attribute10%TYPE := NULL,
72 attribute11 cn_quotas.attribute11%TYPE := NULL,
73 attribute12 cn_quotas.attribute12%TYPE := NULL,
74 attribute13 cn_quotas.attribute13%TYPE := NULL,
75 attribute14 cn_quotas.attribute14%TYPE := NULL,
76 attribute15 cn_quotas.attribute15%TYPE := NULL,
77 org_id cn_quotas.org_id%TYPE := NULL,
78 object_version_number cn_quotas.object_version_number%type,
79 indirect_credit cn_quotas.indirect_credit%type
80 );
81
82 g_miss_pe_rec pe_rec_type;
83
84 TYPE pe_rec_tbl_type IS TABLE OF pe_rec_type
85 INDEX BY BINARY_INTEGER;
86
87 g_miss_pe_rec_tbl pe_rec_tbl_type;
88 -- Global variablefor the translatable name for all Plan Element objects.
89 g_pe_name CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('PE_NAME', 'PE_OBJECT_TYPE');
90 g_desc CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('DESC', 'PE_OBJECT_TYPE');
91 g_start_period CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('START_PERIOD', 'PE_OBJECT_TYPE');
92 g_start_period_id CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('START_PERIOD_ID', 'PE_OBJECT_TYPE');
93 g_end_period CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('END_PERIOD', 'PE_OBJECT_TYPE');
94 g_end_period_id CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('END_PERIOD_ID', 'PE_OBJECT_TYPE');
95 g_period_type CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('PERIOD_TYPE', 'PE_OBJECT_TYPE');
96 g_element_type CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('QUOTA_TYPE', 'PE_OBJECT_TYPE');
97 g_disc_option CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('DISC_OPTION', 'PE_OBJECT_TYPE');
98 g_trx_group CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('TRX_GROUP', 'PE_OBJECT_TYPE');
99 g_target CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('TARGET', 'PE_OBJECT_TYPE');
100 g_payment_type CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('PAYMENT_TYPE', 'PE_OBJECT_TYPE');
101 g_payment_amout CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('PAYMENT_AMOUT', 'PE_OBJECT_TYPE');
102 g_rate_tb CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('RATE_TB', 'PE_OBJECT_TYPE');
103 g_rate_tb_id CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('RATE_TB_ID', 'PE_OBJECT_TYPE');
104 g_disc_rate_tb CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('DISC_RATE_TB', 'PE_OBJECT_TYPE');
105 g_disc_rate_tb_id CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('DISC_RATE_TB_ID', 'PE_OBJECT_TYPE');
106 g_split CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('SPLIT_FLAG', 'PE_OBJECT_TYPE');
107 g_accmulate CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('CUM_FLAG', 'PE_OBJECT_TYPE');
108 g_itd CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('ITD_FLAG', 'PE_OBJECT_TYPE');
109 g_rev_cls_name CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('REV_CLS_NAME', 'PE_OBJECT_TYPE');
110 g_rev_cls_id CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('REV_CLS_ID', 'PE_OBJECT_TYPE');
111 g_rev_cls_target CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('REV_CLS_TARGET', 'PE_OBJECT_TYPE');
112 g_payment_factor CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('PAYMENT_FACTOR', 'PE_OBJECT_TYPE');
113 g_quota_factor CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('QUOTA_FACTOR', 'PE_OBJECT_TYPE');
114 g_draw_amount CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('DRAW_AMOUNT', 'PE_OBJECT_TYPE');
115 g_uplift_start_date CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('UPLIFT_START_DATE', 'PE_OBJECT_TYPE');
116 g_uplift_end_date CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('UPLIFT_END_DATE', 'PE_OBJECT_TYPE');
117 g_start_date CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('START_DATE', 'PE_OBJECT_TYPE');
118 g_end_date CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('END_DATE', 'PE_OBJECT_TYPE');
119 g_uplift_payment_factor CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('UPLIFT_PAYMENT_FACTOR', 'PE_OBJECT_TYPE');
120 g_uplift_quota_factor CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('UPLIFT_QUOTA_FACTOR', 'PE_OBJECT_TYPE');
121 g_formula_name CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('CALC_FORMULA_NAME', 'PE_OBJECT_TYPE');
122 g_formula_id CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('CALC_FORMULA_ID', 'PE_OBJECT_TYPE');
123 g_package_name CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('PACKAGE_NAME', 'PE_OBJECT_TYPE');
124 g_credit_type_id CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('CREDIT_TYPE_ID', 'PE_OBJECT_TYPE');
125 g_credit_type_name CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('CREDIT_TYPE_NAME', 'PE_OBJECT_TYPE');
126 g_incentive_type_code CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('INCENTIVE_TYPE_CODE', 'PE_OBJECT_TYPE');
127 g_quota_calendar_name CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('QUOTA_CALENDAR_NAME', 'PE_OBJECT_TYPE');
128 g_interval_name CONSTANT VARCHAR2 (80) := cn_api.get_lkup_meaning ('INTERVAL_NAME', 'PE_OBJECT_TYPE');
129
130 -- ----------------------------------------------------------------------------+
131 -- Procedure: valid_rate_table
132 -- Desc : Valid input for Rate Table
133 -- ----------------------------------------------------------------------------+
134 PROCEDURE valid_rate_table (
135 x_return_status OUT NOCOPY VARCHAR2,
136 p_pe_rec IN pe_rec_type := g_miss_pe_rec,
137 p_loading_status IN VARCHAR2,
138 x_loading_status OUT NOCOPY VARCHAR2
139 );
140
141 -- ----------------------------------------------------------------------------+
142 -- Procedure: validate_org_id
143 -- Desc : Valid input for Org ID
144 -- ----------------------------------------------------------------------------+
145 PROCEDURE validate_org_id (
146 org_id IN NUMBER
147 );
148
149 -- ----------------------------------------------------------------------------+
150 -- Procedure: valid_disc_rate_table
151 -- Desc : Valid input for Discount Rate Table
152 -- ----------------------------------------------------------------------------+
153 PROCEDURE valid_disc_rate_table (
154 x_return_status OUT NOCOPY VARCHAR2,
155 p_pe_rec IN pe_rec_type := g_miss_pe_rec,
156 p_loading_status IN VARCHAR2,
157 x_loading_status OUT NOCOPY VARCHAR2
158 );
159
160 -- ----------------------------------------------------------------------------+
161 -- Procedure: valid_revenue_class
162 -- Desc : Check input for Revenue Class
163 -- ----------------------------------------------------------------------------+
164 PROCEDURE valid_revenue_class (
165 x_return_status OUT NOCOPY VARCHAR2,
166 p_pe_rec IN pe_rec_type := g_miss_pe_rec,
167 p_revenue_class_id_old IN NUMBER := NULL,
168 p_loading_status IN VARCHAR2,
169 x_loading_status OUT NOCOPY VARCHAR2
170 );
171
172 -- ----------------------------------------------------------------------------+
173 -- Procedure: chk_dr_man_pe
174 -- Desc : Check input for DRAW and MANULA type plan element
175 -- ----------------------------------------------------------------------------+
176 PROCEDURE chk_dr_man_pe (
177 x_return_status OUT NOCOPY VARCHAR2,
178 p_pe_rec IN pe_rec_type := g_miss_pe_rec,
179 p_loading_status IN VARCHAR2,
180 x_loading_status OUT NOCOPY VARCHAR2
181 );
182
183 -- ----------------------------------------------------------------------------+
184 -- Procedure: chk_revenue_quota_pe
185 -- Desc : Check input for REVENUE QUOTA type plan element
186 -- ----------------------------------------------------------------------------+
187 PROCEDURE chk_revenue_quota_pe (
188 x_return_status OUT NOCOPY VARCHAR2,
189 p_pe_rec IN pe_rec_type := g_miss_pe_rec,
190 p_loading_status IN VARCHAR2,
191 x_loading_status OUT NOCOPY VARCHAR2
192 );
193
194 -- ----------------------------------------------------------------------------+
195 -- Procedure: chk_unit_quota_pe
196 -- Desc : Check input for UNIT QUOTA type plan element
197 -- ----------------------------------------------------------------------------+
198 PROCEDURE chk_unit_quota_pe (
199 x_return_status OUT NOCOPY VARCHAR2,
200 p_pe_rec IN pe_rec_type := g_miss_pe_rec,
201 p_loading_status IN VARCHAR2,
202 x_loading_status OUT NOCOPY VARCHAR2
203 );
204
205 -- ----------------------------------------------------------------------------+
206 -- Procedure: chk_revenue_non_quota_pe
207 -- Desc : Check input for REVENUE QUOTA type plan element
208 -- ----------------------------------------------------------------------------+
209 PROCEDURE chk_revenue_non_quota_pe (
210 x_return_status OUT NOCOPY VARCHAR2,
211 p_pe_rec IN pe_rec_type := g_miss_pe_rec,
212 p_loading_status IN VARCHAR2,
213 x_loading_status OUT NOCOPY VARCHAR2
214 );
215
216 -- ----------------------------------------------------------------------------+
217 -- Procedure: chk_unit_non_quota_pe
218 -- Desc : Check input for UNIT NONE QUOTA type plan element
219 -- ----------------------------------------------------------------------------+
220 PROCEDURE chk_unit_non_quota_pe (
221 x_return_status OUT NOCOPY VARCHAR2,
222 p_pe_rec IN pe_rec_type := g_miss_pe_rec,
223 p_loading_status IN VARCHAR2,
224 x_loading_status OUT NOCOPY VARCHAR2
225 );
226
227 -- ----------------------------------------------------------------------------+
228 -- Procedure: chk_disc_margin_pe
229 -- Desc : Check input for DISCOUNT or MARGIN type plan element
230 -- ----------------------------------------------------------------------------+
231 PROCEDURE chk_discount_margin_pe (
232 x_return_status OUT NOCOPY VARCHAR2,
233 p_pe_rec IN pe_rec_type := g_miss_pe_rec,
234 p_loading_status IN VARCHAR2,
235 x_loading_status OUT NOCOPY VARCHAR2
236 );
237
238 -- ----------------------------------------------------------------------------+
239 -- Procedure: chk_trx_factor
240 -- Desc : Check Trx Factors
241 -- Error when
242 -- 1. No factors assigned
243 -- 2. key factors don't total to 100% (Warning)
244 -- ----------------------------------------------------------------------------+
245 PROCEDURE chk_trx_factor (
246 x_return_status OUT NOCOPY VARCHAR2,
247 p_quota_rule_id IN NUMBER,
248 p_rev_class_name IN VARCHAR2,
249 p_loading_status IN VARCHAR2,
250 x_loading_status OUT NOCOPY VARCHAR2
251 );
252
253 --| -----------------------------------------------------------------------+
254 --| Name : get_quota_id
255 --| Desc : To Get Quota ID Using Quota Name
256 --| ---------------------------------------------------------------------+
257 FUNCTION get_quota_id (
258 p_quota_name VARCHAR2,
259 p_org_id NUMBER
260 )
261 RETURN cn_quotas.quota_id%TYPE;
262
263 PRAGMA RESTRICT_REFERENCES (get_quota_id, WNDS, WNPS);
264
265 --| -----------------------------------------------------------------------+
266 --| Name : get_calc_formula_name
267 --| Desc : To Get the Calc Formula Name using the Calc_formula_ID
268 --| ---------------------------------------------------------------------+
269 FUNCTION get_calc_formula_name (
270 p_calc_formula_id NUMBER
271 )
272 RETURN cn_calc_formulas.NAME%TYPE;
273
274 PRAGMA RESTRICT_REFERENCES (get_calc_formula_name, WNDS, WNPS);
275
276 --| -----------------------------------------------------------------------+
277 --| Name : get_calc_formula_id
278 --| Desc : To Get the Calc Formula ID using the Calc_formula_Name
279 --| ---------------------------------------------------------------------+
280 FUNCTION get_calc_formula_id (
281 p_calc_formula_name VARCHAR2,
282 p_org_id NUMBER
283 )
284 RETURN cn_calc_formulas.calc_formula_id%TYPE;
285
286 PRAGMA RESTRICT_REFERENCES (get_calc_formula_id, WNDS, WNPS);
287
288 --| -----------------------------------------------------------------------+
289 --| Function Name : get_credit_type
290 --| Desc : To Get the Credit Type using the Credit Type ID
291 --| ---------------------------------------------------------------------+
292 FUNCTION get_credit_type (
293 p_credit_type_id NUMBER
294 )
295 RETURN cn_credit_types.NAME%TYPE;
296
297 PRAGMA RESTRICT_REFERENCES (get_credit_type, WNDS, WNPS);
298
299 --| -----------------------------------------------------------------------+
300 --| Function Name : get_interval_type
301 --| Desc : To Get the Interval Name using the Interval Type ID
302 --| ---------------------------------------------------------------------+
303 FUNCTION get_interval_name (
304 p_interval_type_id NUMBER,
305 p_org_id NUMBER
306 )
307 RETURN cn_interval_types.NAME%TYPE;
308
309 PRAGMA RESTRICT_REFERENCES (get_interval_name, WNDS, WNPS);
310
311 --| -----------------------------------------------------------------------+
312 --| Function Name : get_quota_rule_id
313 --| Desc : Get the Quota Rule ID using the quota_id, Revenue_class_id
314 --| ---------------------------------------------------------------------+
315 FUNCTION get_quota_rule_id (
316 p_quota_id NUMBER,
317 p_rev_class_id NUMBER
318 )
319 RETURN cn_quota_rules.quota_rule_id%TYPE;
320
321 PRAGMA RESTRICT_REFERENCES (get_quota_rule_id, WNDS, WNPS);
322
323 --| -----------------------------------------------------------------------+
324 --| Function Name : get_uplift_Start_date
325 --| Desc : Get the Quplift start Date ID quota_id,Quota rule ID
326 --| --------------------------------------------------------------------+
327 FUNCTION get_uplift_start_date (
328 p_quota_rule_id NUMBER
329 )
330 RETURN cn_quota_rule_uplifts.start_date%TYPE;
331
332 --| -----------------------------------------------------------------------+
333 --| Function Name : get_quota_rule_uplift_id
334 --| Desc : Get the Quota Rule UPLIFT ID using the quota_rule_id,
335 -- start Date, end Date
336 --| ---------------------------------------------------------------------+
337 FUNCTION get_quota_rule_uplift_id (
338 p_quota_rule_id NUMBER,
339 p_start_date DATE,
340 p_end_date DATE
341 )
342 RETURN cn_quota_rule_uplifts.quota_rule_uplift_id%TYPE;
343
344 PRAGMA RESTRICT_REFERENCES (get_quota_rule_uplift_id, WNDS, WNPS);
345
346 --| -----------------------------------------------------------------------+
347 --| Function Name : get_rt_quota_asgn_id
348 --| Desc : Get the RT QUOTA ASGN ID using the quota_id,
349 -- start Date, end Date
350 --| ---------------------------------------------------------------------+
351 FUNCTION get_rt_quota_asgn_id (
352 p_quota_id NUMBER,
353 p_rate_schedule_id NUMBER,
354 p_calc_formula_id NUMBER,
355 p_start_date DATE,
356 p_end_date DATE
357 )
358 RETURN cn_rt_quota_asgns.rt_quota_asgn_id%TYPE;
359
360 PRAGMA RESTRICT_REFERENCES (get_rt_quota_asgn_id, WNDS, WNPS);
361
362 --| -----------------------------------------------------------------------+
363 --| Procedure Name : validate_formula
364 --| Desc : Check the formula assignment is valid
365 --| -----------------------------------------------------------------------+
366 PROCEDURE validate_formula (
367 p_plan_element IN cn_chk_plan_element_pkg.pe_rec_type --cn_plan_element_pvt.plan_element_rec_type
368 );
369
370 --| -----------------------------------------------------------------------+
371 --| Procedure Name : chk_formula_quota_type
372 --| Desc : Check the Formula Quota Type
373 --| -----------------------------------------------------------------------+
374 PROCEDURE chk_formula_quota_pe (
375 x_return_status OUT NOCOPY VARCHAR2,
376 p_pe_rec IN cn_chk_plan_element_pkg.pe_rec_type ,--cn_plan_element_pvt.plan_element_rec_type,
377 p_loading_status IN VARCHAR2,
378 x_loading_status OUT NOCOPY VARCHAR2
379 );
380
381 --| -----------------------------------------------------------------------+
382 --| Procedure Name : chk_external_quota_type
383 --| Desc : Check the External Quota Type
384 --| -----------------------------------------------------------------------+
385 PROCEDURE chk_external_quota_pe (
386 x_return_status OUT NOCOPY VARCHAR2,
387 p_pe_rec IN cn_chk_plan_element_pkg.pe_rec_type , --cn_plan_element_pvt.plan_element_rec_type,
388 p_loading_status IN VARCHAR2,
389 x_loading_status OUT NOCOPY VARCHAR2
390 );
391
392 --| -----------------------------------------------------------------------+
393 --| Procedure Name : chk_other_quota_type
394 --| Desc : Check the Other Quota Type
395 --| -----------------------------------------------------------------------+
396 PROCEDURE chk_other_quota_pe (
397 x_return_status OUT NOCOPY VARCHAR2,
398 p_pe_rec IN cn_chk_plan_element_pkg.pe_rec_type , --cn_plan_element_pvt.plan_element_rec_type,
399 p_loading_status IN VARCHAR2,
400 x_loading_status OUT NOCOPY VARCHAR2
401 );
402
403 --| -----------------------------------------------------------------------+
404 --| Procedure Name : chk_miss_date_para
405 --| Desc : Check for missing parameters -- Date type
406 --| ---------------------------------------------------------------------+
407 FUNCTION chk_miss_date_para (
408 p_date_para IN DATE,
409 p_para_name IN VARCHAR2,
410 p_loading_status IN VARCHAR2,
411 x_loading_status OUT NOCOPY VARCHAR2
412 )
413 RETURN VARCHAR2;
414
415 --| -----------------------------------------------------------------------+
416 --| Function Name : chk_null_date_para
417 --| Desc : Check for Null parameters -- Date type
418 --| ---------------------------------------------------------------------+
419 FUNCTION chk_null_date_para (
420 p_date_para IN DATE,
421 p_obj_name IN VARCHAR2,
422 p_loading_status IN VARCHAR2,
423 x_loading_status OUT NOCOPY VARCHAR2
424 )
425 RETURN VARCHAR2;
426
427 --| --------------------------------------------------------------------------+
428 --| Procedure Name : chk_date_effective
429 --| Desc : Check the Date Effectivity
430 --| -------------------------------------------------------------------------+
431 PROCEDURE chk_date_effective (
432 x_return_status OUT NOCOPY VARCHAR2,
433 p_start_date IN DATE,
434 p_end_date IN DATE,
435 p_quota_id IN NUMBER,
436 p_object_type IN VARCHAR2,
437 p_loading_status IN VARCHAR2,
438 x_loading_status OUT NOCOPY VARCHAR2
439 );
440
441 --| --------------------------------------------------------------------------+
442 --| Procedure Name : chk_rate_quota_delete
443 --| Desc : Check the rate quota assigs delete
444 --| -------------------------------------------------------------------------+
445 PROCEDURE chk_rate_quota_iud (
446 x_return_status OUT NOCOPY VARCHAR2,
447 p_start_date IN DATE,
448 p_end_date IN DATE,
449 p_iud_flag IN VARCHAR2,
450 p_quota_id IN NUMBER,
451 p_calc_formula_id IN NUMBER,
452 p_rt_quota_asgn_id IN NUMBER,
453 p_loading_status IN VARCHAR2,
454 x_loading_status OUT NOCOPY VARCHAR2
455 );
456
457 --| --------------------------------------------------------------------------+
458 --| Procedure Name : chk_uplift_delete_update
459 --| Desc : Check the ruplift delete upldate
460 --| -------------------------------------------------------------------------+
461 PROCEDURE chk_uplift_iud (
462 x_return_status OUT NOCOPY VARCHAR2,
463 p_start_date IN DATE,
464 p_end_date IN DATE,
465 p_iud_flag IN VARCHAR2,
466 p_quota_rule_id IN NUMBER,
467 p_quota_rule_uplift_id IN NUMBER,
468 p_loading_status IN VARCHAR2,
469 x_loading_status OUT NOCOPY VARCHAR2
470 );
471
472 --| --------------------------------------------------------------------------+
473 --| Procedure Name : get_quota_type
474 --| Desc : get_quota_type
475 --| -------------------------------------------------------------------------+
476 FUNCTION get_quota_type (
477 p_quota_id IN NUMBER
478 )
479 RETURN cn_quotas.quota_type_code%TYPE;
480
481 --| --------------------------------------------------------------------------+
482 --| Procedure Name : chk_formula_rate_date
483 --| Desc : get_quota_type
484 --| -------------------------------------------------------------------------+
485 PROCEDURE chk_formula_rate_date (
486 x_return_status OUT NOCOPY VARCHAR2,
487 p_start_date IN DATE,
488 p_end_date IN DATE,
489 p_quota_name IN VARCHAR2,
490 p_calc_formula_id IN NUMBER,
491 p_calc_formula_name IN VARCHAR2,
492 p_loading_status IN VARCHAR2,
493 x_loading_status OUT NOCOPY VARCHAR2
494 );
495
496 --| --------------------------------------------------------------------------+
497 --| Procedure Name : chk_cnmp_plan_date
498 --| Desc :
499 --| -------------------------------------------------------------------------+
500 PROCEDURE chk_comp_plan_date (
501 x_return_status OUT NOCOPY VARCHAR2,
502 p_start_date IN DATE,
503 p_end_date IN DATE,
504 p_quota_name IN VARCHAR2,
505 p_quota_id IN NUMBER,
506 p_loading_status IN VARCHAR2,
507 x_loading_status OUT NOCOPY VARCHAR2
508 );
509
510 --| --------------------------------------------------------------------------+
511 --| Procedure Name : chk_uplift_date
512 --| Desc : check uplift start date and end date at the time of
513 --| update the plan Element .
514 --| Note: You cannot update the Plan Element start date and end
515 --| end date if it is not falling with in the quota start date and
516 --| end date
517 --| -------------------------------------------------------------------------+
518 PROCEDURE chk_uplift_date (
519 x_return_status OUT NOCOPY VARCHAR2,
520 p_start_date IN DATE,
521 p_end_date IN DATE,
522 p_quota_name IN VARCHAR2,
523 p_quota_id IN NUMBER,
524 p_loading_status IN VARCHAR2,
525 x_loading_status OUT NOCOPY VARCHAR2
526 );
527
528 --| --------------------------------------------------------------------------+
529 --| Procedure Name : chk_rate_quota_date
530 --| Desc : check rate quota start date and end date at the time of
531 --| update the plan Element .
532 --| Note: You cannot update the Plan Element start date and end
533 --| end date if it is not falling with in the quota start date and
534 --| end date of rate quota assigns
535 --| -------------------------------------------------------------------------+
536 PROCEDURE chk_rate_quota_date (
537 x_return_status OUT NOCOPY VARCHAR2,
538 p_start_date IN DATE,
539 p_end_date IN DATE,
540 p_quota_name IN VARCHAR2,
541 p_quota_id IN NUMBER,
542 p_loading_status IN VARCHAR2,
543 x_loading_status OUT NOCOPY VARCHAR2
544 );
545 END cn_chk_plan_element_pkg;