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;