[Home] [Help]
PACKAGE BODY: APPS.PAY_KW_TRAN_IDENTIFIERS
Source
1 PACKAGE BODY pay_kw_tran_identifiers AS
2 /* $Header: pykwtran.pkb 120.1 2010/05/05 05:26:20 bkeshary noship $ */
3
4
5
6 --------------------------------------------------------------------------
7 -- --
8 -- Name : GET_EFT_RECON_DATA --
9 -- Type : FUNCTION --
10 -- Access : Public --
11 -- Description : Function to identify the batch transaction --
12 -- identifiers for reconciliation --
13 -- --
14 -- Parameters : --
15 -- IN : p_effective_date DATE --
16 -- p_identifier_name VARCHAR2 --
17 -- p_payroll_action_id NUMBER --
18 -- p_payment_type_id NUMBER --
19 -- p_org_payment_method_id NUMBER --
20 -- p_personal_payment_method_id NUMBER --
21 -- p_assignment_action_id NUMBER --
22 -- p_pre_payment_id NUMBER --
23 -- p_delimiter_string VARCHAR2 --
24 -- --
25 -- OUT : N/A --
26 -- --
27 -- Change History : --
28 --------------------------------------------------------------------------
29 -- Rev# Date Userid Description --
30 --------------------------------------------------------------------------
31 -- 12.0 27-Jul-2009 bkeshary Initial Version --
32 --------------------------------------------------------------------------
33 FUNCTION get_eft_recon_data
34 (
35 p_effective_date DATE
36 , p_identifier_name VARCHAR2
37 , p_payroll_action_id NUMBER
38 , p_payment_type_id NUMBER
39 , p_org_payment_method_id NUMBER
40 , p_personal_payment_method_id NUMBER
41 , p_assignment_action_id NUMBER
42 , p_pre_payment_id NUMBER
43 , p_delimiter_string VARCHAR2
44 )
45 RETURN VARCHAR2
46 IS
47
48 CURSOR c_get_transaction_date
49 IS
50 select overriding_dd_date
51 from pay_payroll_actions
52 where payroll_action_id = p_payroll_action_id;
53
54 CURSOR c_get_func_name(p_org_payment_method_id NUMBER)
55 IS
56 select PMETH_INFORMATION6
57 from PAY_ORG_PAYMENT_METHODS_F
58 where ORG_PAYMENT_METHOD_ID = p_org_payment_method_id;
59
60
61 l_return_value VARCHAR2(80) := NULL;
62 l_trans_date Date;
63 l_func_name VARCHAR2(80);
64 user_excep EXCEPTION;
65 user_excep1 EXCEPTION;
66
67
68 BEGIN
69
70 OPEN c_get_func_name(p_org_payment_method_id);
71 FETCH c_get_func_name INTO l_func_name;
72 CLOSE c_get_func_name;
73
74
75 IF l_func_name IS NOT NULL
76 THEN
77 EXECUTE IMMEDIATE 'select '||l_func_name||'(:1,:2,:3,:4,:5,:6,:7,:8,:9) from dual'
78 INTO l_return_value
79 USING p_effective_date ,
80 p_identifier_name,
81 p_payroll_action_id,
82 p_payment_type_id,
83 p_org_payment_method_id,
84 p_personal_payment_method_id,
85 p_assignment_action_id,
86 p_pre_payment_id,
87 p_delimiter_string ;
88
89 IF UPPER(p_identifier_name) = 'TRANSACTION_DATE' THEN
90
91 BEGIN
92 l_return_value := to_char(to_date(l_return_value, 'YYYY/MM/DD'), 'YYYY/MM/DD');
93 EXCEPTION
94 WHEN others THEN
95 raise_application_error(-20100,'Transition Date must be in YYYY/MM/DD format.');
96 END;
97
98 END IF;
99
100 ELSE
101 raise user_excep;
102
103 END IF;
104
105
106 IF UPPER(p_identifier_name) = 'TRANSACTION_DATE' AND l_return_value IS NULL
107 THEN
108 OPEN c_get_transaction_date;
109 FETCH c_get_transaction_date INTO l_trans_date;
110 CLOSE c_get_transaction_date;
111
112 l_return_value := to_char(l_trans_date, 'yyyy/mm/dd');
113
114 ELSIF UPPER(p_identifier_name) = 'TRANSACTION_GROUP' AND l_return_value IS NULL
115 THEN
116 l_return_value := p_payroll_action_id;
117
118 ELSIF UPPER(p_identifier_name) = 'CONCATENATED_IDENTIFIERS' AND l_return_value IS NULL
119 THEN
120 raise user_excep1;
121
122 END IF;
123
124 RETURN l_return_value;
125
126 EXCEPTION
127
128 WHEN user_excep THEN
129
130 raise_application_error(-20101, 'Function Name must be entered in the Reconciliation Function segment of Further Payment Method Info DDF.');
131
132 WHEN user_excep1 THEN
133
134 raise_application_error(-20102, 'Ensure that the function returns a value for the identifier CONCATENATED_IDENTIFIERS.');
135
136 WHEN others THEN
137
138 raise;
139
140 END get_eft_recon_data;
141
142 END pay_kw_tran_identifiers;