DBA Data[Home] [Help]

PACKAGE: APPS.PAY_IN_TAX_DECLARATION

Source


1 PACKAGE pay_in_tax_declaration AS
2 /* $Header: pyintaxd.pkh 120.6.12010000.3 2008/08/06 07:30:37 ubhat ship $ */
3 
4 -- Global Variables Section
5 type t_element_values_rec is record
6 (element_name pay_element_types_f.element_name%TYPE
7 ,input_name   pay_input_values_f.name%TYPE
8 ,planned_val  pay_element_entry_values.screen_entry_value%TYPE
9 ,actual_val   pay_element_entry_values.screen_entry_value%TYPE
10 );
11 
12 type t_element_values_tab is table of t_element_values_rec
13   index by binary_integer;
14 
15 -- Bug 3886086
16 -- Record to store the details of tabular details like
17 -- Section 80DD, 80G and life insurace.
18 --
19 type t_tab_entry_details_rec is record
20 (entry_id     pay_element_entries_f.element_entry_id%TYPE
21 ,input1_value pay_element_entry_values.screen_entry_value%TYPE
22 ,input2_value pay_element_entry_values.screen_entry_value%TYPE
23 ,input3_value pay_element_entry_values.screen_entry_value%TYPE
24 );
25 
26 type t_entry_details_tab is table of t_tab_entry_details_rec
27   index by binary_integer;
28 
29 --------------------------------------------------------------------------
30 --                                                                      --
31 -- Name           : IS_LOCKING_PERIOD                                   --
32 -- Type           : PROCEDURE                                           --
33 -- Access         : Public                                              --
34 -- Description    : The procedure is responsible for returning the      --
35 --                  freeze period details like start date, along with   --
36 --                  a flag to indicate if it is the freeze period.      --
37 --                                                                      --
38 -- Parameters     :                                                     --
39 --             IN : p_person_id   per_people_f.person_id%TYPE           --
40 --            OUT : p_locked      VARCHAR2                              --
41 --                  p_lock_start  DATE                                  --
42 --                                                                      --
43 --------------------------------------------------------------------------
44 PROCEDURE is_locking_period
45    (p_person_id  IN         per_people_f.person_id%TYPE
46    ,p_locked     OUT NOCOPY VARCHAR2
47    ,p_lock_start OUT NOCOPY DATE);
48 
49 --------------------------------------------------------------------------
50 --                                                                      --
51 -- Name           : IS_APPROVED                                         --
52 -- Type           : PROCEDURE                                           --
53 -- Access         : Public                                              --
54 -- Description    : The procedure is responsible for returning the      --
55 --                  the flag stating if the employee tax declaration    --
56 --                  details have been approved or not.           .      --
57 --                                                                      --
58 -- Parameters     :                                                     --
59 --             IN : p_person_id       per_people_f.person_id%TYPE       --
60 --                  p_effective_date  DATE                              --
61 --            OUT : p_status          VARCHAR2                          --
62 --                                                                      --
63 --------------------------------------------------------------------------
64 PROCEDURE is_approved
65    (p_person_id      IN NUMBER
66    ,p_effective_date IN DATE default null
67    ,p_status         OUT NOCOPY VARCHAR2);
68 
69 --------------------------------------------------------------------------
70 --                                                                      --
71 -- Name           : GET_CITY_TYPE                                       --
72 -- Type           : FUNCTION                                            --
73 -- Access         : Public                                              --
74 -- Description    : The function is responsible for quering the city    --
75 --                  type of the primary address of the employee if the  --
76 --                  primary address is not available then return NA.    --
77 --                                                                      --
78 -- Parameters     :                                                     --
79 --             IN : p_person_id       per_people_f.person_id%TYPE       --
80 --                  p_effective_date  DATE                              --
81 --         RETURN : VARCHAR2                                            --
82 --                                                                      --
83 --------------------------------------------------------------------------
84 FUNCTION get_city_type
85         (p_person_id       IN    number
86         ,p_effective_date  IN    date)
87 RETURN varchar2;
88 
89 --------------------------------------------------------------------------
90 --                                                                      --
91 -- Name           : GET_TAX_YEAR                                        --
92 -- Type           : FUNCTION                                            --
93 -- Access         : Public                                              --
94 -- Description    : The function is responsible returning the tax year  --
95 --                  created based on the effective date passed to it.   --
96 --                                                                      --
97 -- Parameters     :                                                     --
98 --             IN : p_effective_date  DATE                              --
99 --         RETURN : VARCHAR2                                            --
100 --                                                                      --
101 --------------------------------------------------------------------------
102 FUNCTION get_tax_year(p_effective_date IN DATE)
103 RETURN VARCHAR2;
104 
105 --------------------------------------------------------------------------
106 --                                                                      --
107 -- Name           : GET_APPROVAL_STATUS                                 --
108 -- Type           : FUNCTION                                            --
109 -- Access         : Public                                              --
110 -- Description    : The procedure is responsible for returning the      --
111 --                  the flag stating if the employee tax declaration    --
112 --                  details have been approved or not.           .      --
113 --                                                                      --
114 -- Parameters     :                                                     --
115 --             IN : p_assignment_id  per_assignments_f.assignment_id    --
116 --                  p_tax_year       VARCHAR2                           --
117 --                  p_extra_info_id  assignment_extra_info_id           --
118 --         RETURN : VARCHAR2                                            --
119 --                                                                      --
120 --------------------------------------------------------------------------
121 FUNCTION get_approval_status
122    (p_assignment_id IN per_assignments_f.assignment_id%TYPE
123    ,p_tax_year      IN VARCHAR2
124    ,p_extra_info_id OUT NOCOPY per_assignment_extra_info.assignment_extra_info_id%TYPE)
125 RETURN VARCHAR2;
126 
127 --------------------------------------------------------------------------
128 --                                                                      --
129 -- Name           : GET_DONATION_TYPE                                   --
130 -- Type           : FUNCTION                                            --
131 -- Access         : Public                                              --
132 -- Description    : The function has the same code which is used to     --
133 --                  validate teh donation type details entered. Further --
134 --                  is used to validate the same in self-service        --
135 --                                                                      --
136 -- Parameters     :                                                     --
137 --             IN : p_lookup_code    VARCHAR2                           --
138 --         RETURN : pay_user_column_instances_f.value%TYPE              --
139 --                                                                      --
140 --------------------------------------------------------------------------
141 FUNCTION get_donation_type(p_lookup_code IN VARCHAR2)
142 RETURN pay_user_column_instances_f.value%TYPE;
143 
144 --------------------------------------------------------------------------
145 --                                                                      --
146 -- Name           : GET_PLANNED_VALUE                                   --
147 -- Type           : FUNCTION                                            --
148 -- Access         : Public                                              --
149 -- Description    : The function calculates the value of an element     --
150 --                  entries's input value on a date which is before the --
151 --                  freeze date for the financial year.                 --
152 --                                                                      --
153 -- Parameters     :                                                     --
154 --             IN : p_assignment_id per_assignments_f.assignment_id%TYPE--
155 --                  p_actual_value  VARCHAR2                            --
156 --                  p_ele_entry_id  element_entry_id%TYPE               --
157 --                  p_input_value_id input_value_id%TYPE                --
158 --         RETURN : VARCHAR2                                            --
159 --                                                                      --
160 --------------------------------------------------------------------------
161 FUNCTION get_planned_value
162         (p_assignment_id   IN per_assignments_f.assignment_id%TYPE
163         ,p_actual_value    IN VARCHAR2
164         ,p_ele_entry_id    IN pay_element_entries_f.element_entry_id%TYPE
165         ,p_input_value_id  IN pay_input_values_f.input_value_id%TYPE)
166 RETURN VARCHAR2;
167 
168 --------------------------------------------------------------------------
169 --                                                                      --
170 -- Name           : GET_VALUE                                           --
171 -- Type           : FUNCTION                                            --
172 -- Access         : Public                                              --
173 -- Description    : The function calculates the planned and the actual  --
174 --                  values of the following elements and stores then in --
175 --                  the cache when the function is first called on sub- --
176 --                  sequent calls it would used the cached value.       --
177 --                    1. Rebates under Section 88                       --
178 --                    2. Tuition Fee                                    --
179 --                    3. Deductions under Chapter VI A and              --
180 --                    4. Other Income                                   --
181 --                                                                      --
182 -- Parameters     :                                                     --
183 --             IN : p_assignment_id NUMBER                              --
184 --                  p_element_name  VARCHAR2                            --
185 --                  p_input_name    VARCHAR2                            --
186 --                  p_effective_date DATE                               --
187 --                  p_actual_value  VARCHAR2                            --
188 --         RETURN : VARCHAR2                                            --
189 --                                                                      --
190 --------------------------------------------------------------------------
191 FUNCTION get_value
192         (p_assignment_id   IN    number
193         ,p_element_name    IN    varchar2
194         ,p_input_name      IN    varchar2
195         ,p_effective_date  IN    date
196         ,p_actual_value    IN    varchar2
197         )
198 RETURN VARCHAR2;
199 
200 --------------------------------------------------------------------------
201 --                                                                      --
202 -- Name           : GET_NUMERIC_VALUE                                   --
203 -- Type           : FUNCTION                                            --
204 -- Access         : Public                                              --
205 -- Description    : The function calls get_value internally, but the    --
206 --                  value returned would be converted to number using   --
207 --                  to_number and the numeric value returned.           --
208 --                                                                      --
209 -- Parameters     :                                                     --
210 --             IN : p_assignment_id NUMBER                              --
211 --                  p_element_name  VARCHAR2                            --
212 --                  p_input_name    VARCHAR2                            --
213 --                  p_effective_date DATE                               --
214 --                  p_actual_value  VARCHAR2                            --
215 --         RETURN : NUMBER                                              --
216 --                                                                      --
217 --------------------------------------------------------------------------
218 FUNCTION get_numeric_value
219    (p_assignment_id   IN    number
220    ,p_element_name    IN    varchar2
221    ,p_input_name      IN    varchar2
222    ,p_effective_date  IN    date
223    ,p_actual_value    IN    varchar2
224    )
225 RETURN NUMBER;
226 
227 --------------------------------------------------------------------------
228 --                                                                      --
229 -- Name           : GET_LAST_UPDATED_DATE                               --
230 -- Type           : FUNCTION                                            --
231 -- Access         : Public                                              --
232 -- Description    : The is called with one of these values and returns  --
233 --                  the last updated date of the associated element for --
234 --                  element type in question. The valid element types   --
235 --                  are:                                                --
236 --                      1. HOUSE                                        --
237 --                      2. CHAPTER6                                     --
238 --                      3. SECTION88                                    --
239 --                      4. OTHER                                        --
240 --                      5. ALL                                          --
241 --                                                                      --
242 -- Parameters     :                                                     --
243 --             IN : p_person_id      NUMBER                             --
244 --                  p_effective_date DATE                               --
245 --                  p_element_type   VARCHAR2                           --
249 FUNCTION get_last_updated_date
246 --         RETURN : NUMBER                                              --
247 --                                                                      --
248 --------------------------------------------------------------------------
250          (p_person_id      IN NUMBER
251          ,p_effective_date IN DATE
252          ,p_element_type   IN VARCHAR2)
253 RETURN DATE;
254 
255 --------------------------------------------------------------------------
256 --                                                                      --
257 -- Name           : DECLARE_HOUSE_RENT                                  --
258 -- Type           : PROCEDURE                                           --
259 -- Access         : Public                                              --
260 -- Description    : The procedure is responsible for storing the detials--
261 --                  in 'House Rent Information' element.                --
262 --                                                                      --
263 -- Parameters     :                                                     --
264 --             IN : p_assignment_id per_assignments_f.assignment_id%TYPE--
265 --                  p_apr             NUMBER                            --
266 --                  p_may             NUMBER                            --
267 --                  p_jun             NUMBER                            --
268 --                  p_jul             NUMBER                            --
269 --                  p_aug             NUMBER                            --
270 --                  p_sep             NUMBER                            --
271 --                  p_oct             NUMBER                            --
272 --                  p_nov             NUMBER                            --
273 --                  p_dec             NUMBER                            --
274 --                  p_jan             NUMBER                            --
275 --                  p_feb             NUMBER                            --
276 --                  p_mar             NUMBER                            --
277 --                  p_effective_date  DATE                              --
278 --            OUT : p_warnings        BOOLEAN                           --
279 --                                                                      --
280 --------------------------------------------------------------------------
281 PROCEDURE declare_house_rent
282    (p_assignment_id  IN per_assignments_f.assignment_id%TYPE
283    ,p_apr            IN NUMBER
284    ,p_may            IN NUMBER
285    ,p_jun            IN NUMBER
286    ,p_jul            IN NUMBER
287    ,p_aug            IN NUMBER
288    ,p_sep            IN NUMBER
289    ,p_oct            IN NUMBER
290    ,p_nov            IN NUMBER
291    ,p_dec            IN NUMBER
292    ,p_jan            IN NUMBER
293    ,p_feb            IN NUMBER
294    ,p_mar            IN NUMBER
295    ,p_effective_date IN DATE DEFAULT NULL
296    ,p_warnings       OUT NOCOPY BOOLEAN);
297 
298 --------------------------------------------------------------------------
299 --                                                                      --
300 -- Name           : DECLARE_CHAPTER6A                                   --
301 -- Type           : PROCEDURE                                           --
302 -- Access         : Public                                              --
303 -- Description    : The procedure calculates the value of permanent     --
304 --                  disability 80u and then stores the detials in the   --
305 --                  'Deductions under Chapter VI A' element.            --
306 --                                                                      --
307 -- Parameters     :                                                     --
308 --             IN : p_assignment_id per_assignments_f.assignment_id%TYPE--
309 --                  p_pension_fund_80ccc           NUMBER               --
310 --                  p_medical_insurance_prem_80d   NUMBER               --
311 --                  p_sec_80ddb_senior_citizen     VARCHAR2             --
312 --                  p_disease_treatment_80ddb      NUMBER               --
313 --                  p_sec_80d_senior_citizen       VARCHAR2             --
314 --                  p_higher_education_loan_80e    NUMBER               --
315 --                  p_claim_exemp_under_sec_80gg   VARCHAR2             --
316 --                  p_donation_for_research_80gga  NUMBER               --
317 --                  p_int_on_gen_investment_80L    NUMBER               --
318 --                  p_int_on_securities_80L        NUMBER               --
319 --                  p_effective_date               DATE                 --
320 --            OUT : p_warnings        BOOLEAN                           --
321 --                                                                      --
322 --------------------------------------------------------------------------
323 PROCEDURE declare_chapter6a
324    (p_assignment_id                   IN   per_assignments_f.assignment_id%TYPE
325    ,p_pension_fund_80ccc              IN   NUMBER
326    ,p_medical_insurance_prem_80d      IN   NUMBER
327    ,p_sec_80ddb_senior_citizen        IN   VARCHAR2
328    ,p_disease_treatment_80ddb         IN   NUMBER
329    ,p_sec_80d_senior_citizen          IN   VARCHAR2
330    ,p_higher_education_loan_80e       IN   NUMBER
331    ,p_claim_exemp_under_sec_80gg      IN   VARCHAR2
332    ,p_donation_for_research_80gga     IN   NUMBER
333    ,p_int_on_gen_investment_80L       IN   NUMBER
334    ,p_int_on_securities_80L           IN   NUMBER
335    ,p_effective_date                  IN   DATE DEFAULT NULL
336    ,p_warnings                        OUT  NOCOPY BOOLEAN);
337 
341 -- Type           : PROCEDURE                                           --
338 --------------------------------------------------------------------------
339 --                                                                      --
340 -- Name           : DECLARE_SECTION88                                   --
342 -- Access         : Public                                              --
343 -- Description    : The procedure is responsible for storing the detials--
344 --                  in 'Rebates under Section 88' element.              --
345 --                                                                      --
346 -- Parameters     :                                                     --
347 --             IN : p_assignment_id per_assignments_f.assignment_id%TYPE--
348 --                  p_public_provident_fund           NUMBER            --
349 --                  p_post_office_savings_scheme      NUMBER            --
350 --                  p_deposit_in_nsc_vi_issue         NUMBER            --
351 --                  p_deposit_in_nsc_viii_issue       NUMBER            --
352 --                  p_interest_on_nsc_reinvested      NUMBER            --
353 --                  p_house_loan_repayment            NUMBER            --
354 --                  p_notified_mutual_fund_or_uti     NUMBER            --
355 --                  p_national_housing_bank_scheme    NUMBER            --
356 --                  p_unit_linked_insurance_plan      NUMBER            --
357 --                  p_notified_annuity_plan           NUMBER            --
358 --                  p_notified_pension_fund           NUMBER            --
359 --                  p_public_sector_company_scheme    NUMBER            --
360 --                  p_approved_superannuation_fund    NUMBER            --
361 --                  p_infrastructure_bond             NUMBER            --
362 --                  p_effective_date                  DATE              --
363 --            OUT : p_warnings        BOOLEAN                           --
364 --                                                                      --
365 --------------------------------------------------------------------------
366 PROCEDURE declare_section88
367    (p_assignment_id                  IN per_assignments_f.assignment_id%TYPE
368    ,p_deferred_annuity               IN NUMBER
369    ,p_senior_citizen_sav_scheme      IN NUMBER
370    ,p_public_provident_fund          IN NUMBER
371    ,p_post_office_savings_scheme     IN NUMBER
372    ,p_deposit_in_nsc_vi_issue        IN NUMBER
373    ,p_deposit_in_nsc_viii_issue      IN NUMBER
374    ,p_interest_on_nsc_reinvested     IN NUMBER
375    ,p_house_loan_repayment           IN NUMBER
376    ,p_notified_mutual_fund_or_uti    IN NUMBER
377    ,p_national_housing_bank_scheme   IN NUMBER
378    ,p_unit_linked_insurance_plan     IN NUMBER
379    ,p_notified_annuity_plan          IN NUMBER
380    ,p_notified_pension_fund          IN NUMBER
381    ,p_public_sector_company_scheme   IN NUMBER
382    ,p_approved_superannuation_fund   IN NUMBER
383    ,p_infrastructure_bond            IN NUMBER
384    ,p_effective_date                 IN DATE DEFAULT NULL
385    ,p_warnings                       OUT NOCOPY BOOLEAN);
386 
387 --------------------------------------------------------------------------
388 --                                                                      --
389 -- Name           : DECLARE_OTHER_INCOME                                --
390 -- Type           : PROCEDURE                                           --
391 -- Access         : Public                                              --
392 -- Description    : The procedure is responsible for storing the        --
393 --                  detials in 'Other Income' element.                  --
394 --                                                                      --
395 -- Parameters     :                                                     --
396 --             IN : p_assignment_id per_assignments_f.assignment_id%TYPE--
397 --                  p_income_from_house_property     NUMBER             --
398 --                  p_profit_and_gain_from_busines   NUMBER             --
399 --                  p_long_term_capital_gain         NUMBER             --
400 --                  p_short_term_capital_gain        NUMBER             --
401 --                  p_income_from_any_other_source   NUMBER             --
402 --                  p_tds_paid_on_other_income       NUMBER             --
403 --                  p_effective_date                  DATE              --
404 --            OUT : p_warnings        BOOLEAN                           --
405 --                                                                      --
406 --------------------------------------------------------------------------
407 PROCEDURE declare_other_income
408    (p_assignment_id                 IN per_assignments_f.assignment_id%TYPE
409    ,p_income_from_house_property    IN NUMBER
410    ,p_profit_and_gain_from_busines  IN NUMBER
411    ,p_long_term_capital_gain        IN NUMBER
412    ,p_short_term_capital_gain       IN NUMBER
413    ,p_income_from_any_other_source  IN NUMBER
414    ,p_tds_paid_on_other_income      IN NUMBER
415    ,p_effective_date                IN DATE DEFAULT NULL
416    ,p_warnings                      OUT NOCOPY BOOLEAN);
417 
418 --------------------------------------------------------------------------
419 --                                                                      --
420 -- Name           : DECLARE_SECTION80DD                                 --
421 -- Type           : PROCEDURE                                           --
422 -- Access         : Public                                              --
423 -- Description    : The procedure is responsible for storing the        --
424 --                  detials in 'Deduction under Section 80DD' element.  --
428 --                  p_disability_type        VARCHAR2                   --
425 --                                                                      --
426 -- Parameters     :                                                     --
427 --             IN : p_assignment_id per_assignments_f.assignment_id%TYPE--
429 --                  p_disability_percentage  VARCHAR2                   --
430 --                  p_treatment_amount       NUMBER                     --
431 --                  p_effective_date         DATE                       --
432 --                  p_element_entry_id       element_entry_id%TYPE      --
433 --            OUT : p_warnings        BOOLEAN                           --
434 --                                                                      --
435 --------------------------------------------------------------------------
436 PROCEDURE declare_section80dd
437    (p_assignment_id         IN per_assignments_f.assignment_id%TYPE
438    ,p_disability_type       IN VARCHAR2
439    ,p_disability_percentage IN VARCHAR2
440    ,p_treatment_amount      IN NUMBER
441    ,p_effective_date        IN DATE default null
442    ,p_element_entry_id      IN pay_element_entries_f.element_entry_id%TYPE default null
443    ,p_warnings              OUT NOCOPY VARCHAR2);
444 
445 --------------------------------------------------------------------------
446 --                                                                      --
447 -- Name           : DECLARE_SECTION80G                                  --
448 -- Type           : PROCEDURE                                           --
449 -- Access         : Public                                              --
450 -- Description    : The procedure is responsible for storing the        --
451 --                  detials in 'Deduction under Section 80G' element.   --
452 --                                                                      --
453 -- Parameters     :                                                     --
454 --             IN : p_assignment_id per_assignments_f.assignment_id%TYPE--
455 --                  p_donation_type      VARCHAR2                       --
456 --                  p_donation_amount    NUMBER                         --
457 --                  p_effective_date     DATE                           --
458 --                  p_element_entry_id   element_entry_id%TYPE          --
459 --            OUT : p_warnings           BOOLEAN                        --
460 --                                                                      --
461 --------------------------------------------------------------------------
462 PROCEDURE declare_section80g
463    (p_assignment_id         IN per_assignments_f.assignment_id%TYPE
464    ,p_donation_type         IN VARCHAR2
465    ,p_donation_amount       IN NUMBER
466    ,p_effective_date        IN DATE default null
467    ,p_element_entry_id      IN pay_element_entries_f.element_entry_id%TYPE default null
468    ,p_warnings              OUT NOCOPY VARCHAR2);
469 
470 --------------------------------------------------------------------------
471 --                                                                      --
472 -- Name           : DECLARE_SECTION80CCE                                --
473 -- Type           : PROCEDURE                                           --
474 -- Access         : Public                                              --
475 -- Description    : The procedure is responsible for storing the        --
476 --                  detials in 'Deduction under Section 80CCE' element. --
477 --                                                                      --
478 -- Parameters     :                                                     --
479 --             IN : p_assignment_id per_assignments_f.assignment_id%TYPE--
480 --                  p_investment_type    VARCHAR2                       --
481 --                  p_investment_amount  NUMBER                         --
482 --                  p_effective_date     DATE                           --
483 --                  p_element_entry_id   element_entry_id%TYPE          --
484 --            OUT : p_warnings           BOOLEAN                        --
485 --                                                                      --
486 --------------------------------------------------------------------------
487 PROCEDURE declare_section80cce
488    (p_assignment_id         IN per_assignments_f.assignment_id%TYPE
489    ,p_investment_type       IN VARCHAR2
490    ,p_investment_amount     IN NUMBER
491    ,p_effective_date        IN DATE default null
492    ,p_element_entry_id      IN pay_element_entries_f.element_entry_id%TYPE default null
493    ,p_warnings              OUT NOCOPY VARCHAR2);
494 
495 --------------------------------------------------------------------------
496 --                                                                      --
497 -- Name           : DECLARE_LIFE_INSURANCE_PREMIUM                      --
498 -- Type           : PROCEDURE                                           --
499 -- Access         : Public                                              --
500 -- Description    : The procedure is responsible for storing the        --
501 --                  detials in 'Life Insurance Premium' element.        --
502 --                                                                      --
503 -- Parameters     :                                                     --
504 --             IN : p_assignment_id per_assignments_f.assignment_id%TYPE--
505 --                  p_premium_paid       VARCHAR2                       --
506 --                  p_sum_assured        NUMBER                         --
507 --                  p_effective_date     DATE                           --
508 --                  p_element_entry_id   element_entry_id%TYPE          --
509 --            OUT : p_warnings           BOOLEAN                        --
513    (p_assignment_id         IN per_assignments_f.assignment_id%TYPE
510 --                                                                      --
511 --------------------------------------------------------------------------
512 PROCEDURE declare_life_insurance_premium
514    ,p_premium_paid          IN VARCHAR2
515    ,p_sum_assured           IN NUMBER
516    ,p_effective_date        IN DATE default null
517    ,p_element_entry_id      IN pay_element_entries_f.element_entry_id%TYPE default null
518    ,p_warnings              OUT NOCOPY VARCHAR2);
519 
520 --------------------------------------------------------------------------
521 --                                                                      --
522 -- Name           : DECLARE_TUITION_FEE                                 --
523 -- Type           : PROCEDURE                                           --
524 -- Access         : Public                                              --
525 -- Description    : The procedure is responsible for storing the        --
526 --                  detials in 'Tuition Fee' element.                   --
527 --                                                                      --
528 -- Parameters     :                                                     --
529 --             IN : p_assignment_id per_assignments_f.assignment_id%TYPE--
530 --                  p_tuition_fee_for_child_1 NUMBER                    --
531 --                  p_tuition_fee_for_child_2 NUMBER                    --
532 --                  p_effective_date          DATE                      --
533 --                  p_element_entry_id        element_entry_id%TYPE     --
534 --            OUT : p_warnings                BOOLEAN                   --
535 --                                                                      --
536 --------------------------------------------------------------------------
537 PROCEDURE declare_tuition_fee
538    (p_assignment_id           IN per_assignments_f.assignment_id%TYPE
539    ,p_tuition_fee_for_child_1 IN NUMBER
540    ,p_tuition_fee_for_child_2 IN NUMBER
541    ,p_effective_date          IN DATE DEFAULT NULL
542    ,p_warnings                OUT NOCOPY BOOLEAN);
543 
544 PROCEDURE declare_tax
545    (p_assignment_id                IN  per_assignments_f.assignment_id%TYPE
546    ,p_is_monthly_rent_changed      IN  VARCHAR2
547    ,p_apr                          IN  NUMBER   default null
548    ,p_may                          IN  NUMBER   default null
549    ,p_jun                          IN  NUMBER   default null
550    ,p_jul                          IN  NUMBER   default null
551    ,p_aug                          IN  NUMBER   default null
552    ,p_sep                          IN  NUMBER   default null
553    ,p_oct                          IN  NUMBER   default null
554    ,p_nov                          IN  NUMBER   default null
555    ,p_dec                          IN  NUMBER   default null
556    ,p_jan                          IN  NUMBER   default null
557    ,p_feb                          IN  NUMBER   default null
558    ,p_mar                          IN  NUMBER   default null
559    ,p_is_chapter6a_changed         IN  VARCHAR2
560    ,p_pension_fund_80ccc           IN  NUMBER   default NULL
561    ,p_medical_insurance_prem_80d   IN  NUMBER   default null
562    ,p_med_par_insurance_prem_80d   IN  NUMBER   default NULL
563    ,p_80d_par_prem_changed         IN  VARCHAR2 DEFAULT NULL
564    ,p_sec_80d_par_senior_citizen   IN  VARCHAR2 default null
565    ,p_80d_par_snr_changed          IN  VARCHAR2 DEFAULT NULL
566    ,p_sec_80ddb_senior_citizen     IN  VARCHAR2 default null
567    ,p_disease_treatment_80ddb      IN  NUMBER   default null
568    ,p_sec_80d_senior_citizen       IN  VARCHAR2 default null
569    ,p_higher_education_loan_80e    IN  NUMBER   default null
570    ,p_claim_exemp_under_sec_80gg   IN  VARCHAR2 default null
571    ,p_donation_for_research_80gga  IN  NUMBER   default null
572    ,p_80gg_changed                 IN  VARCHAR2 DEFAULT NULL
573    ,p_80e_changed                  IN  VARCHAR2 DEFAULT NULL
574    ,p_80gga_changed                IN  VARCHAR2 DEFAULT NULL
575    ,p_80d_changed                  IN  VARCHAR2 DEFAULT NULL
576    ,p_80dsc_planned_value          IN  VARCHAR2 DEFAULT NULL
577    ,p_80ddb_changed                IN  VARCHAR2 DEFAULT NULL
578    ,p_80ddbsc_planned_value        IN  VARCHAR2 DEFAULT NULL
579    ,p_int_on_gen_investment_80L    IN  NUMBER   default null
580    ,p_int_on_securities_80L        IN  NUMBER   default null
581    ,p_is_section88_changed         IN  VARCHAR2 DEFAULT NULL
582    ,p_deferred_annuity             IN  NUMBER   default NULL
583    ,p_senior_citizen_sav_scheme    IN  NUMBER   default null
584    ,p_public_provident_fund        IN  NUMBER   default null
585    ,p_post_office_savings_scheme   IN  NUMBER   default null
586    ,p_deposit_in_nsc_vi_issue      IN  NUMBER   default null
587    ,p_deposit_in_nsc_viii_issue    IN  NUMBER   default null
588    ,p_interest_on_nsc_reinvested   IN  NUMBER   default null
589    ,p_house_loan_repayment         IN  NUMBER   default null
590    ,p_notified_mutual_fund_or_uti  IN  NUMBER   default null
591    ,p_national_housing_bank_scheme IN  NUMBER   default null
592    ,p_unit_linked_insurance_plan   IN  NUMBER   default null
593    ,p_notified_annuity_plan        IN  NUMBER   default null
594    ,p_notified_pension_fund        IN  NUMBER   default null
595    ,p_public_sector_company_scheme IN  NUMBER   default null
596    ,p_approved_superannuation_fund IN  NUMBER   default null
597    ,p_infrastructure_bond          IN  NUMBER   default null
598    ,p_tuition_fee_for_child_1      IN  NUMBER   default null
599    ,p_tuition_fee_for_child_2      IN  NUMBER   default null
600    ,p_is_other_income_changed      IN  VARCHAR2
604    ,p_short_term_capital_gain      IN  NUMBER   default null
601    ,p_income_from_house_property   IN  NUMBER   default null
602    ,p_profit_and_gain_from_busines IN  NUMBER   default null
603    ,p_long_term_capital_gain       IN  NUMBER   default null
605    ,p_income_from_any_other_source IN  NUMBER   default null
606    ,p_tds_paid_on_other_income     IN  NUMBER   default null
607    ,p_approved_flag                IN  VARCHAR2 default null
608    ,p_comment_text                 IN  VARCHAR2 default null
609    ,p_effective_date               IN  DATE     default null
610    ,p_warnings                     OUT NOCOPY VARCHAR2);
611 
612 --------------------------------------------------------------------------
613 --                                                                      --
614 -- Name           : DELETE_DECLARATION                                  --
615 -- Type           : PROCEDURE                                           --
616 -- Access         : Public                                              --
617 -- Description    : The procedure is responsible for deletion of        --
618 --                  element entries as of the effective date.           --
619 --                                                                      --
620 -- Parameters     :                                                     --
621 --             IN : p_element_entry_id        element_entry_id%TYPE     --
622 --                  p_effective_date          DATE                      --
623 --            OUT : p_warnings                BOOLEAN                   --
624 --                                                                      --
625 --------------------------------------------------------------------------
626 PROCEDURE delete_declaration
627    (p_element_entry_id IN NUMBER
628    ,p_effective_date   IN DATE DEFAULT NULL
629    ,p_warnings         OUT NOCOPY VARCHAR2);
630 
631 --------------------------------------------------------------------------
632 --                                                                      --
633 -- Name           : APPROVE_DECLARATION                                 --
634 -- Type           : PROCEDURE                                           --
635 -- Access         : Public                                              --
636 -- Description    : The procedure is responsible for approval of        --
637 --                  tax declaration for the assignment in question.     --
638 --                                                                      --
639 -- Parameters     :                                                     --
640 --             IN :p_assignment_id  per_assignments_f.assignment_id%TYPE--
641 --                  p_approval_flag  VARCHAR2                           --
642 --                  p_effective_date DATE                               --
643 --                  p_comment_text   VARCHAR2                           --
644 --                                                                      --
645 --------------------------------------------------------------------------
646 PROCEDURE approve_declaration
647    (p_assignment_id  IN per_assignments_f.assignment_id%TYPE
648    ,p_approval_flag  IN VARCHAR2
649    ,p_effective_date IN DATE
650    ,p_comment_text   IN VARCHAR2);
651 
652 --------------------------------------------------------------------------
653 --                                                                      --
654 -- Name           : GET_VALUE                                           --
655 -- Type           : PROCEDURE                                           --
656 -- Access         : Public                                              --
657 -- Description    : The procedure is responsible for retrieval of       --
658 --                  tax declaration details for the assignment.         --
659 --                                                                      --
660 --------------------------------------------------------------------------
661 FUNCTION get_value
662         (p_assignment_id   IN    number
663         ,p_index           IN    number
664         ,p_element_name    IN    varchar2
665         ,p_input_name      IN    varchar2
666         ,p_effective_date  IN    date
667         )
668 RETURN VARCHAR2;
669 
670 --------------------------------------------------------------------------
671 --                                                                      --
672 -- Name           : WEB_ADI_DECLARE_TAX                                 --
673 -- Type           : PROCEDURE                                           --
674 -- Access         : Public                                              --
675 -- Description    : The procedure is responsible for storing the        --
676 --                  tax declaration details for the assignment.         --
677 --                  This is called from Web ADI.                        --
678 --------------------------------------------------------------------------
679 PROCEDURE web_adi_declare_tax
680    (p_assignment_id                 IN number
681    ,p_effective_date                IN date default null
682    ,p_april                         IN number default null
683    ,p_may                           IN number default null
684    ,p_june                          IN number default null
685    ,p_july                          IN number default null
686    ,p_august                        IN number default null
687    ,p_september                     IN number default null
688    ,p_october                       IN number default null
689    ,p_november                      IN number default null
690    ,p_december                      IN number default null
691    ,p_january                       IN number default null
692    ,p_february                      IN number default null
696    ,p_investment_amount1            IN number default null
693    ,p_march                         IN number default null
694    ,p_cce_ee_id1                    IN number default null
695    ,p_cce_component1                IN varchar2 default null
697    ,p_cce_ee_id2                    IN number default null
698    ,p_cce_component2                IN varchar2 default null
699    ,p_investment_amount2            IN number default null
700    ,p_cce_ee_id3                    IN number default null
701    ,p_cce_component3                IN varchar2 default null
702    ,p_investment_amount3            IN number default null
703    ,p_cce_ee_id4                    IN number default null
704    ,p_cce_component4                IN varchar2 default null
705    ,p_investment_amount4            IN number default null
706    ,p_cce_ee_id5                    IN number default null
707    ,p_cce_component5                IN varchar2 default null
708    ,p_investment_amount5            IN number default null
709    ,p_cce_ee_id6                    IN number default null
710    ,p_cce_component6                IN varchar2 default null
711    ,p_investment_amount6            IN number default null
712    ,p_cce_ee_id7                    IN number default null
713    ,p_cce_component7                IN varchar2 default null
714    ,p_investment_amount7            IN number default null
715    ,p_cce_ee_id8                    IN number default null
716    ,p_cce_component8                IN varchar2 default null
717    ,p_investment_amount8            IN number default null
718    ,p_cce_ee_id9                    IN number default null
719    ,p_cce_component9                IN varchar2 default null
720    ,p_investment_amount9            IN number default null
721    ,p_cce_ee_id10                   IN number default null
722    ,p_cce_component10               IN varchar2 default null
723    ,p_investment_amount10           IN number default null
724    ,p_cce_ee_id11                   IN number default null
725    ,p_cce_component11               IN varchar2 default null
726    ,p_investment_amount11           IN number default null
727    ,p_cce_ee_id12                   IN number default null
728    ,p_cce_component12               IN varchar2 default null
729    ,p_investment_amount12           IN number default null
730    ,p_cce_ee_id13                   IN number default null
731    ,p_cce_component13               IN varchar2 default null
732    ,p_investment_amount13           IN number default null
733    ,p_cce_ee_id14                   IN number default null
734    ,p_cce_component14               IN varchar2 default null
735    ,p_investment_amount14           IN number default null
736    ,p_cce_ee_id15                   IN number default null
737    ,p_cce_component15               IN varchar2 default null
738    ,p_investment_amount15           IN number default null
739    ,p_cce_ee_id16                   IN number default null
740    ,p_cce_component16               IN varchar2 default null
741    ,p_investment_amount16           IN number default null
742    ,p_cce_ee_id17                   IN number default null
743    ,p_cce_component17               IN varchar2 default null
744    ,p_investment_amount17           IN number default null
745    ,p_cce_ee_id18                   IN number default null
746    ,p_cce_component18               IN varchar2 default null
747    ,p_investment_amount18           IN number default null
748    ,p_cce_ee_id19                   IN number default null
749    ,p_cce_component19               IN varchar2 default null
750    ,p_investment_amount19           IN number default null
751    ,p_cce_ee_id20                   IN number default null
752    ,p_cce_component20               IN varchar2 default null
753    ,p_investment_amount20           IN number default null
754    ,p_cce_ee_id21                   IN number default null
755    ,p_cce_component21               IN varchar2 default null
756    ,p_investment_amount21           IN number default null
757    ,p_higher_education_loan         IN number default null
758    ,p_donation_for_research         IN number default null
759    ,p_claim_exemption_sec_80gg      IN varchar2 default null
760    ,p_premium_amount                IN number default null
761    ,p_premium_covers_sc             IN varchar2 default null
762    ,p_treatment_amount              IN number default null
763    ,p_treatment_covers_sc           IN varchar2 default null
764    ,p_income_from_house_property    IN number default null
765    ,p_profit_and_gain               IN number default null
766    ,p_long_term_capital_gain        IN number default null
767    ,p_short_term_capital_gain       IN number default null
768    ,p_income_from_other_sources     IN number default null
769    ,p_tds_paid                      IN number default null
770    ,p_disease_entry_id1             IN number default null
771    ,p_disability_type1              IN varchar2 default null
772    ,p_disability_percentage1        IN varchar2 default null
773    ,p_treatment_amount1             IN number default null
774    ,p_disease_entry_id2             IN number default null
775    ,p_disability_type2              IN varchar2 default null
776    ,p_disability_percentage2        IN varchar2 default null
777    ,p_treatment_amount2             IN number default null
778    ,p_donation_entry_id1            IN number default null
779    ,p_donation_type1                IN varchar2 default null
780    ,p_donation_amount1              IN number default null
781    ,p_donation_entry_id2            IN number default null
782    ,p_donation_type2                IN varchar2 default null
783    ,p_donation_amount2              IN number default null
784    ,p_lic_entry_id1                 IN number default null
788    ,p_premium_paid2                 IN number default null
785    ,p_premium_paid1                 IN number default null
786    ,p_sum_assured1                  IN number default null
787    ,p_lic_entry_id2                 IN number default null
789    ,p_sum_assured2                  IN number default null
790    ,p_lic_entry_id3                 IN number default null
791    ,p_premium_paid3                 IN number default null
792    ,p_sum_assured3                  IN number default null
793    ,p_lic_entry_id4                 IN number default null
794    ,p_premium_paid4                 IN number default null
795    ,p_sum_assured4                  IN number default null
796    ,p_lic_entry_id5                 IN number default null
797    ,p_premium_paid5                 IN number default null
798    ,p_sum_assured5                  IN number default null
799    ,p_comment_text                  IN varchar2 default NULL
800    ,P_PERSON_ID                     IN number default null
801    ,P_FULL_NAME                     IN varchar2 default NULL
802    ,P_EMPLOYEE_NUMBER               IN varchar2 default NULL
803    ,P_ASSIGNMENT_NUMBER             IN varchar2 default NULL
804    ,P_DEPARTMENT                    IN varchar2 default NULL
805    ,P_LAST_UPDATED_DATE             IN date default null
806    ,P_ORGANIZATION_ID               IN number default null
807    ,P_BUSINESS_GROUP_ID             IN number default null
808    ,P_START_DATE                    IN date default null
809    ,P_GRADE_ID                      IN number default null
810    ,P_JOB_ID                        IN number default null
811    ,P_POSITION_ID                   IN number default null
812    ,P_TAX_AREA_NUMBER               IN varchar2 default NULL
813    ,P_APPROVAL_STATUS               IN varchar2 default NULL
814    ,P_TAX_YEAR			    IN varchar2 default NULL
815    ,p_parent_premium                IN number default null
816    ,p_parent_sc                     IN varchar2 default null
817 );
818 
819 --------------------------------------------------------------------------
820 --                                                                      --
821 -- Name           : DECLARE_SECTION80GG                                 --
822 -- Type           : PROCEDURE                                           --
823 -- Access         : Public                                              --
824 -- Description    : The procedure is responsible for storing the        --
825 --                  detials in 'Deduction under Section 80GG' element.  --
826 --                                                                      --
827 -- Parameters     :                                                     --
828 --             IN : p_assignment_id per_assignments_f.assignment_id%TYPE--
829 --                  p_effective_date             DATE                   --
830 --                  p_claim_exemp_under_sec_80gg VARCHAR2               --
831 --            OUT : p_warnings        BOOLEAN                           --
832 --                                                                      --
833 --------------------------------------------------------------------------
834 PROCEDURE declare_section80gg
835           (p_assignment_id              IN   per_assignments_f.assignment_id%TYPE
836           ,p_effective_date             IN   DATE DEFAULT NULL
837           ,p_claim_exemp_under_sec_80gg IN   VARCHAR2
838           ,p_warnings                   OUT  NOCOPY BOOLEAN);
839 
840 --------------------------------------------------------------------------
841 --                                                                      --
842 -- Name           : DECLARE_SECTION80E                                  --
843 -- Type           : PROCEDURE                                           --
844 -- Access         : Public                                              --
845 -- Description    : The procedure is responsible for storing the        --
846 --                  detials in 'Deduction under Section 80E' element.   --
847 --                                                                      --
848 -- Parameters     :                                                     --
849 --             IN : p_assignment_id per_assignments_f.assignment_id%TYPE--
850 --                  p_effective_date             DATE                   --
851 --                  p_higher_education_loan_80e  NUMBER                 --
852 --            OUT : p_warnings                   BOOLEAN                --
853 --                                                                      --
854 --------------------------------------------------------------------------
855 PROCEDURE declare_section80e
856           (p_assignment_id              IN   per_assignments_f.assignment_id%TYPE
857           ,p_effective_date             IN   DATE DEFAULT NULL
858           ,p_higher_education_loan_80e  IN   NUMBER DEFAULT NULL
859           ,p_warnings                   OUT  NOCOPY BOOLEAN);
860 
861 --------------------------------------------------------------------------
862 --                                                                      --
863 -- Name           : DECLARE_SECTION80GGA                                --
864 -- Type           : PROCEDURE                                           --
865 -- Access         : Public                                              --
866 -- Description    : The procedure is responsible for storing the        --
867 --                  detials in 'Deduction under Section 80GGA' element. --
868 --                                                                      --
869 -- Parameters     :                                                     --
870 --             IN : p_assignment_id per_assignments_f.assignment_id%TYPE--
871 --                  p_effective_date              DATE                  --
875 --------------------------------------------------------------------------
872 --                  p_donation_for_research_80gga NUMBER                --
873 --            OUT : p_warnings                    BOOLEAN               --
874 --                                                                      --
876 PROCEDURE declare_section80gga
877           (p_assignment_id               IN   per_assignments_f.assignment_id%TYPE
878           ,p_effective_date              IN   DATE DEFAULT NULL
879           ,p_donation_for_research_80gga IN   NUMBER DEFAULT NULL
880           ,p_warnings                    OUT  NOCOPY BOOLEAN);
881 
882 --------------------------------------------------------------------------
883 --                                                                      --
884 -- Name           : DECLARE_SECTION80D                                  --
885 -- Type           : PROCEDURE                                           --
886 -- Access         : Public                                              --
887 -- Description    : The procedure is responsible for storing the        --
888 --                  detials in 'Deduction under Section 80D' element.   --
889 --                                                                      --
890 -- Parameters     :                                                     --
891 --             IN : p_assignment_id per_assignments_f.assignment_id%TYPE--
892 --                  p_effective_date              DATE                  --
893 --                  p_medical_insurance_prem_80d  NUMBER                --
894 --                  p_sec_80d_senior_citizen      VARCHAR2              --
895 --            OUT : p_warnings                    BOOLEAN               --
896 --                                                                      --
897 --------------------------------------------------------------------------
898 PROCEDURE declare_section80d
899           (p_assignment_id               IN   per_assignments_f.assignment_id%TYPE
900           ,p_effective_date              IN   DATE DEFAULT NULL
901           ,p_medical_insurance_prem_80d  IN   NUMBER DEFAULT NULL
902           ,p_sec_80d_senior_citizen      IN   VARCHAR2 DEFAULT NULL
903 	  ,p_med_par_insurance_prem_80d  IN   NUMBER DEFAULT NULL
904           ,p_sec_80d_par_senior_citizen  IN   VARCHAR2 DEFAULT NULL
905           ,p_warnings                    OUT  NOCOPY BOOLEAN);
906 
907 --------------------------------------------------------------------------
908 --                                                                      --
909 -- Name           : DECLARE_SECTION80DDB                                --
910 -- Type           : PROCEDURE                                           --
911 -- Access         : Public                                              --
912 -- Description    : The procedure is responsible for storing the        --
913 --                  detials in 'Deduction under Section 80DDB' element. --
914 --                                                                      --
915 -- Parameters     :                                                     --
916 --             IN : p_assignment_id per_assignments_f.assignment_id%TYPE--
917 --                  p_effective_date              DATE                  --
918 --                  p_disease_treatment_80ddb     NUMBER                --
919 --                  p_sec_80ddb_senior_citizen    VARCHAR2              --
920 --            OUT : p_warnings                    BOOLEAN               --
921 --                                                                      --
922 --------------------------------------------------------------------------
923 PROCEDURE declare_section80ddb
924           (p_assignment_id               IN   per_assignments_f.assignment_id%TYPE
925           ,p_effective_date              IN   DATE DEFAULT NULL
926           ,p_disease_treatment_80ddb     IN   NUMBER DEFAULT NULL
927           ,p_sec_80ddb_senior_citizen    IN   VARCHAR2 DEFAULT NULL
928           ,p_warnings                    OUT  NOCOPY BOOLEAN);
929 
930 --------------------------------------------------------------------------
931 --                                                                      --
932 -- Name           : DECLARE_SECTION80U                                  --
933 -- Type           : PROCEDURE                                           --
934 -- Access         : Public                                              --
935 -- Description    : The procedure is responsible for storing the        --
936 --                  detials in 'Deduction under Section 80U' element.   --
937 --                                                                      --
938 -- Parameters     :                                                     --
939 --             IN : p_assignment_id per_assignments_f.assignment_id%TYPE--
940 --                  p_effective_date              DATE                  --
941 --            OUT : p_warnings                    BOOLEAN               --
942 --                                                                      --
943 --------------------------------------------------------------------------
944 PROCEDURE declare_section80U
945           (p_assignment_id               IN   per_assignments_f.assignment_id%TYPE
946           ,p_effective_date              IN   DATE DEFAULT NULL
947           ,p_warnings                    OUT  NOCOPY BOOLEAN);
948 
949 
950 --------------------------------------------------------------------------
951 --                                                                      --
952 -- Name           : GET_UPDATE_MODE                                     --
953 -- Type           : FUNCTION                                            --
954 -- Access         : Public                                              --
955 -- Description    : Determines the update mode                          --
956 --                                                                      --
957 --                                                                      --
958 -- Parameters     :                                                     --
959 --             IN : p_element_entry_id pay_element_entries_f.element_entry_id%TYPE--
960 --                  p_effective_date              DATE                  --
961 --            OUT :                                                     --
962 --                                                                      --
963 --------------------------------------------------------------------------
964 FUNCTION get_update_mode
965    (p_element_entry_id IN pay_element_entries_f.element_entry_id%TYPE
966    ,p_effective_date   IN DATE)
967 RETURN VARCHAR2;
968 
969 
970 END pay_in_tax_declaration;