[Home] [Help]
PACKAGE BODY: APPS.PSP_ENC_CRT_XML
Source
1 PACKAGE BODY PSP_ENC_CRT_XML AS
2 /* $Header: PSPELXLB.pls 120.0.12010000.2 2008/08/05 10:09:36 ubhat ship $ */
3
4 function cf_charging_instformula(p_gl_code_combination_id in number,
5 p_project_id in number,
6 p_task_id in number,
7 p_award_id in number,
8 p_expenditure_organization_id in number,
9 p_expenditure_type in varchar2) return char is
10
11 v_retcode NUMBER;
12 l_chart_of_accts VARCHAR2(20); gl_flex_values VARCHAR2(2000);
13 l_project_number pa_projects_all.segment1%TYPE;
14 l_award_number VARCHAR2(15);
15 l_task_number VARCHAR2(25);
16 l_org_name hr_all_organization_units_tl.name%TYPE;
17 BEGIN
18
19 IF p_gl_code_combination_id IS NOT NULL
20 THEN
21 v_retcode := psp_general.find_chart_of_accts(to_number(p_set_of_books_id), l_chart_of_accts);
22 gl_flex_values := fnd_flex_ext.get_segs(application_short_name => 'SQLGL',
23 key_flex_code => 'GL#',
24 structure_number => to_number(l_chart_of_accts),
25 combination_id => p_gl_code_combination_id);
26 RETURN(gl_flex_values);
27 ELSE
28 SELECT segment1
29 INTO l_project_number
30 FROM pa_projects_all
31 WHERE project_id = p_project_id;
32
33 SELECT task_number
34 INTO l_task_number
35 FROM PA_TASKS
36 WHERE task_id = p_task_id;
37
38 SELECT award_number
39 INTO l_award_number
40 FROM gms_awards_all
41 WHERE award_id = p_award_id;
42
43 SELECT name
44 INTO l_org_name
45 FROM hr_all_organization_units
46 WHERE organization_id = p_expenditure_organization_id;
47 RETURN(l_project_number||','||l_task_number||','||l_award_number
48 ||','||l_org_name||','||p_expenditure_type);
49 END IF;
50
51 EXCEPTION
52 WHEN NO_DATA_FOUND
53 THEN RETURN('No Data Found');
54
55 WHEN OTHERS
56 THEN RETURN('Other Error');
57
58 END;
59
60 function CF_currency_codeFormula return Char is
61 begin
62
63
64 RETURN( '(' || psp_general.get_currency_code(p_business_group_id) || ')');
65
66 end;
67
68 function CF_run_dateFormula return varchar2 is
69 l_run_date varchar2(20);
70 begin
71 fnd_profile.get('ICX_DATE_FORMAT_MASK', g_icx_date_mask);
72 l_run_date := to_char(sysdate, g_icx_date_mask);
73 return (l_run_date);
74 end;
75
76 function initialize_sched_lookups return boolean is
77 cursor get_sched_meanings is
78 select lookup_code, meaning
79 from fnd_lookup_values_vl
80 where lookup_type = 'PSP_SCHEDULE_TYPES'
81 and enabled_flag = 'Y'
82 and sysdate between start_date_active and nvl(end_date_active, fnd_date.canonical_to_date('4000/01/31'));
83 l_sched_rec get_sched_meanings%rowtype;
84 begin
85 G_assignment := null;
86 G_global_element := null;
87 G_org_level := null;
88 G_suspense := null;
89 G_org_default := null;
90 G_asg_element := null;
91 G_asg_ele_group := null;
92 open get_sched_meanings;
93 loop
94 fetch get_sched_meanings into l_sched_rec;
95 if get_sched_meanings%notfound then
96 close get_sched_meanings;
97 exit;
98 end if;
99 if l_sched_rec.lookup_code = 'A' then
100 G_assignment := ''''|| l_sched_rec.meaning || '''';
101 elsif l_sched_rec.lookup_code = 'GE' then
102 G_global_element := ''''|| l_sched_rec.meaning || '''';
103 elsif l_sched_rec.lookup_code = 'DS' then
104 G_org_level := ''''|| l_sched_rec.meaning || '''';
105 elsif l_sched_rec.lookup_code = 'SA' then
106 G_suspense := ''''|| l_sched_rec.meaning || '''';
107 elsif l_sched_rec.lookup_code = 'DA' then
108 G_org_default := ''''|| l_sched_rec.meaning || '''';
109 elsif l_sched_rec.lookup_code = 'EG' then
110 G_asg_ele_group := ''''|| l_sched_rec.meaning || '''';
111 elsif l_sched_rec.lookup_code = 'ET' then
112 G_asg_element := ''''|| l_sched_rec.meaning || '''';
113 end if;
114 end loop;
115 fnd_profile.get('ICX_DATE_FORMAT_MASK', g_icx_date_mask);
116 g_icx_date_mask := ''''|| g_icx_date_mask ||'''';
117 return true;
118 end;
119
120 function last_date_earned(p_payroll_id number) return varchar2 is
121 l_date_mask varchar2(20);
122 cursor get_date_Earned is
123 select to_char(max(date_earned), l_date_mask)
124 from pay_payroll_actions
125 where payroll_id = p_payroll_id
126 and action_type = 'R'
127 and action_status = 'C';
128 l_date_earned varchar2(20);
129 begin
130 fnd_profile.get('ICX_DATE_FORMAT_MASK', l_date_mask);
131 open get_date_earned;
132 fetch get_date_earned into l_date_earned;
133 close get_date_earned;
134 return l_date_earned;
135 end;
136
137 function cf_p_orig_req_id return number is
138 l_orig_req_id number;
139 cursor get_orig_req_id is
140 select request_id
141 from psp_enc_processes
142 where payroll_action_id = p_payroll_action_id
143 and request_id <> p_request_id
144 and process_code in ( 'CEL', 'LET');
145 begin
146 l_orig_req_id := null;
147 open get_orig_req_id;
148 fetch get_orig_req_id into l_orig_req_id;
149 close get_orig_req_id;
150 return nvl(l_orig_req_id, -999);
151 end;
152
153 END PSP_ENC_CRT_XML ;