DBA Data[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 ;