DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_SE_EFT

Source


1 PACKAGE BODY PAY_SE_EFT as
2  /* $Header: pyseeftp.pkb 120.0.12000000.1 2007/01/18 01:19:51 appldev noship $ */
3  l_package        CONSTANT varchar2(33) := 'PAY_SE_PAYFILE.';
4 
5   -- Global Variables
6  -----------------------------------------------------------------------------
7  -- GET_PARAMETER  used in SQL to decode legislative parameters
8  -----------------------------------------------------------------------------
9  FUNCTION get_parameter(p_payroll_action_id   NUMBER,
10                        p_token_name          VARCHAR2) RETURN VARCHAR2 AS
11 
12 CURSOR csr_parameter_info(p_pact_id IN NUMBER) IS
13 SELECT legislative_parameters
14 FROM   pay_payroll_actions
15 WHERE  payroll_action_id = p_pact_id;
16 
17 l_token_value                     VARCHAR2(50);
18 l_parameter  pay_payroll_actions.legislative_parameters%TYPE := NULL;
19 l_delimiter  varchar2(1);
20 l_start_pos  NUMBER;
21 --
22 
23 BEGIN
24 --
25    l_delimiter :=' ';
26   hr_utility.set_location('p_token_name = ' || p_token_name,20);
27   OPEN csr_parameter_info(p_payroll_action_id);
28   FETCH csr_parameter_info INTO l_parameter;
29   CLOSE csr_parameter_info;
30   l_start_pos := instr(' '||l_parameter,l_delimiter||p_token_name||'=');
31  IF l_start_pos = 0 THEN
32     l_delimiter := '|';
33     l_start_pos := instr(' '||l_parameter,l_delimiter||p_token_name||'=');
34   end if;
35   IF l_start_pos <> 0 THEN
36    l_start_pos := l_start_pos + length(p_token_name||'=');
37     l_token_value := substr(l_parameter,
38                           l_start_pos,
39                           instr(l_parameter||' ',
40                           l_delimiter,l_start_pos)
41                           - l_start_pos);
42                           end if;
43 
44 --
45      l_token_value := trim(l_token_value);
46 --
47   hr_utility.set_location('l_token_value = ' || l_token_value,20);
48   hr_utility.set_location('Leaving         ' || 'get_parameters',30);
49 
50   RETURN l_token_value;
51 
52 END get_parameter;
53 end PAY_SE_EFT;