DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_FI_TAX_CARD_PKG

Source


1 package body PAY_FI_TAX_CARD_PKG as
2  /* $Header: pyfitaxr.pkb 120.0 2005/05/29 04:54:28 appldev noship $ */
3  g_package                  varchar2(33) := 'PAY_FI_TAX_CARD_PKG.';
4 
5   -- Global Variables
6  -----------------------------------------------------------------------------
7  -- GET_PARAMETER  used in SQL to decode legislative parameters
8  -----------------------------------------------------------------------------
9  FUNCTION get_parameter(
10                  p_parameter_string  IN VARCHAR2
11                 ,p_token             IN VARCHAR2
12                 ,p_segment_number    IN NUMBER DEFAULT NULL ) RETURN VARCHAR2
13  IS
14    l_parameter  pay_payroll_actions.legislative_parameters%TYPE:=NULL;
15    l_start_pos  NUMBER;
16    l_delimiter  varchar2(1):=' ';
17    l_proc VARCHAR2(60):= g_package||'get_parameter ';
18  BEGIN
19    l_start_pos := instr(' '||p_parameter_string,l_delimiter||p_token||'=');
20    IF l_start_pos = 0 THEN
21      l_delimiter := '|';
22      l_start_pos := instr(' '||p_parameter_string,l_delimiter||p_token||'=');
23    end if;
24    IF l_start_pos <> 0 THEN
25      l_start_pos := l_start_pos + length(p_token||'=');
26      l_parameter := substr(p_parameter_string,
27                            l_start_pos,
28                            instr(p_parameter_string||' ',
29                            ',',l_start_pos)
30                            - l_start_pos);
31      IF p_segment_number IS NOT NULL THEN
32        l_parameter := ':'||l_parameter||':';
33        l_parameter := substr(l_parameter,
34                              instr(l_parameter,':',1,p_segment_number)+1,
35                              instr(l_parameter,':',1,p_segment_number+1) -1
36                              - instr(l_parameter,':',1,p_segment_number));
37      END IF;
38    END IF;
39    RETURN l_parameter;
40  END get_parameter;
41  --
42 
43 PROCEDURE range_code(p_payroll_action_id     IN  NUMBER,
44                      p_sqlstr OUT NOCOPY VARCHAR2)
45 
46 IS
47 BEGIN
48 
49 p_sqlstr := 'SELECT DISTINCT person_id
50       FROM  per_people_f ppf
51            ,pay_payroll_actions ppa
52       WHERE ppa.payroll_action_id = :payroll_action_id
53       AND   ppa.business_group_id = ppf.business_group_id
54       ORDER BY ppf.person_id';
55 
56 END range_code;
57 
58 FUNCTION get_employment_status(
59 			 p_assignment_id	IN	NUMBER
60 			,p_effective_date	IN	DATE)	RETURN	VARCHAR2
61 IS
62 
63 CURSOR csr_primary_employment( l_assignment_id NUMBER, l_effective_date DATE) IS
64 select peev.SCREEN_ENTRY_VALUE
65 from
66 pay_element_types_f pet
67 ,pay_element_entries_f  pee
68 ,pay_input_values_f piv
69 ,pay_element_entry_values_f peev
70 where pee.element_type_id = pet.element_type_id
71 and pet.element_name = 'Tax'
72 and pet.legislation_code='FI'
73 and l_effective_date between pet.effective_start_date and pet.effective_end_date
74 and l_effective_date between pee.effective_start_date and pee.effective_end_date
75 and pet.element_type_id = piv.element_type_id
76 and l_effective_date between piv.effective_start_date and piv.effective_end_date
77 and piv.name = 'Primary Employment'
78 and piv.input_value_id = peev.input_value_id
79 and peev.element_entry_id = pee.element_entry_id
80 and l_effective_date between peev.effective_start_date and peev.effective_end_date
81 and assignment_id =  l_assignment_id;
82 
83 l_primary_employment VARCHAR2(1) := 'X';
84 
85 BEGIN
86 
87 	OPEN csr_primary_employment( p_assignment_id, p_effective_date);
88 
89 	IF csr_primary_employment%NOTFOUND THEN
90 		l_primary_employment := 'X';
91 		CLOSE csr_primary_employment;
92 	ELSE
93 
94 		FETCH csr_primary_employment INTO l_primary_employment;
95 		CLOSE csr_primary_employment;
96 	END IF;
97 
98 	RETURN l_primary_employment;
99 END get_employment_status;
100 
101 
102 PROCEDURE assignment_action_code(
103                           pactid    IN NUMBER,
104                           stperson  IN NUMBER,
105                           endperson IN NUMBER,
106                           chunk     IN NUMBER)
107 IS
108 BEGIN
109 
110 null;
111 
112 END assignment_action_code;
113 --
114 END PAY_FI_TAX_CARD_PKG;