DBA Data[Home] [Help]

PACKAGE: APPS.CN_CHK_PLAN_ELEMENT_PKG

Source


1 PACKAGE CN_CHK_PLAN_ELEMENT_PKG 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
210       x_return_status            OUT NOCOPY VARCHAR2,
207 -- Desc     : Check input for  REVENUE QUOTA type plan element
208 -- ----------------------------------------------------------------------------+
209    PROCEDURE chk_revenue_non_quota_pe (
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
328       p_quota_rule_id                     NUMBER
325 --| Desc : Get the Quplift start Date  ID   quota_id,Quota rule ID
326 --| --------------------------------------------------------------------+
327    FUNCTION get_uplift_start_date (
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,
439    );
436       p_object_type              IN       VARCHAR2,
437       p_loading_status           IN       VARCHAR2,
438       x_loading_status           OUT NOCOPY VARCHAR2
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;