DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_PAYJPSDD_XMLP_PKG

Source


1 PACKAGE BODY PAY_PAYJPSDD_XMLP_PKG AS
2 /* $Header: PAYJPSDDB.pls 120.2 2008/04/04 11:12:41 amakrish noship $ */
3 
4 function BeforeReport  return boolean is
5 	l_date_era_code			NUMBER;
6 	l_date_year					NUMBER;
7 	l_date_month				NUMBER;
8 	l_date_day					NUMBER;
9 	l_element_type_id		NUMBER;
10 	l_legislation_code	PER_BUSINESS_GROUPS.LEGISLATION_CODE%TYPE;
11 begin
12 P_PREPARE_DATE_1 := to_char(P_PREPARE_DATE, 'YYYY/MM/DD');
13   --hr_standard.event('BEFORE REPORT');
14 	G_REC_COUNT				:=0;
15 	G_FD_COUNT					:=0;
16 	G_FD_SERIAL_NUMBER	:=0;
17 	G_COUNT_OF_RECORD	:=0;
18 	G_HEADER_OUT				:=0;
19 
20 	CP_REPORT_TITLE := 'Notification of Disqualification Checklist';
21         P_CONC_REQUEST_ID := FND_GLOBAL.conc_request_id;
22 	if P_FILE_NAME is NULL then
23 		g_magfile_name := 'd' || lpad(to_char(P_CONC_REQUEST_ID - trunc(P_CONC_REQUEST_ID,-7)),7,'0') || '.mf';
24 	else
25 		g_magfile_name := P_FILE_NAME;
26 	end if;
27 
28 	pay_jp_report_pkg.to_era(	P_PREPARE_DATE,
29 					l_date_era_code,
30 					l_date_year,
31 					l_date_month,
32 					l_date_day);
33 	l_date_year := l_date_year - trunc(l_date_year,-2);
34 	G_PREPARE_DATE_YEAR	:= lpad(to_char(l_date_year),2,'0');
35 	G_PREPARE_DATE_MONTH	:= lpad(to_char(l_date_month),2,'0');
36 	G_PREPARE_DATE_DAY	:= lpad(to_char(l_date_day),2,'0');
37 	l_legislation_code := pay_jp_balance_pkg.get_legislation_code(P_BUSINESS_GROUP_ID);
38 	l_element_type_id := pay_jp_balance_pkg.get_element_type_id('COM_SI_INFO',P_BUSINESS_GROUP_ID,l_legislation_code);
39 	G_BASIC_PENSION_NUMBER_IV_ID	:= pay_jp_balance_pkg.get_input_value_id(l_element_type_id,'BASIC_PENSION_NUM');
40 	l_element_type_id := pay_jp_balance_pkg.get_element_type_id('COM_WP_QUALIFY_INFO',P_BUSINESS_GROUP_ID,l_legislation_code);
41 	G_DISQUALIFIED_STATUS_IV_ID	:= pay_jp_balance_pkg.get_input_value_id(l_element_type_id,'DISQUALIFY_CAUSE');
42 	l_element_type_id := pay_jp_balance_pkg.get_element_type_id('COM_WP_SMR_INFO',P_BUSINESS_GROUP_ID,l_legislation_code);
43 	G_WP_COMP_DATE_APPLIED_IV_ID	:= pay_jp_balance_pkg.get_input_value_id(l_element_type_id,'APPLY_MTH');
44 	G_WP_NEW_COMP_IV_ID		:= pay_jp_balance_pkg.get_input_value_id(l_element_type_id,'REVISED_SMR');
45 	G_WP_OLD_COMP_IV_ID		:= pay_jp_balance_pkg.get_input_value_id(l_element_type_id,'PRIOR_SMR');
46 	G_WP_NEW_SALARY_IV_ID		:= pay_jp_balance_pkg.get_input_value_id(l_element_type_id,'REVISED_MR');
47 	G_WP_OLD_SALARY_IV_ID		:= pay_jp_balance_pkg.get_input_value_id(l_element_type_id,'PRIOR_MR');
48 	return (TRUE);
49 end;
50 
51 function cf_emp_recordformula (TOTAL_REC in number, ASSIGNMENT_ID in number, EFFECTIVE_DATE in date, WP_NUMBER in varchar2, DATE_OF_BIRTH in date) return number is
52 	l_date_applied					VARCHAR2(6);
53 	l_wp_std_monthly_comp		VARCHAR2(38);
54 	l_iv_id									NUMBER;
55 	l_sal_iv_id							NUMBER;
56 	l_emp_failure_item			VARCHAR2(100);
57 
58 begin
59 	G_REC_COUNT := G_REC_COUNT  + 1;
60 
61 	if G_FD_COUNT  <> trunc((G_REC_COUNT -1)/5000)+1 then
62 		G_FD_COUNT  := trunc((G_REC_COUNT -1)/5000)+1;
63 		if G_FD_SERIAL_NUMBER  = 0 then
64 			G_FD_SERIAL_NUMBER  := P_FD_SERIAL_NUMBER;
65 			CP_MAGFILE_NAME := g_magfile_name;
66 		else
67  					G_FD_SERIAL_NUMBER  := G_FD_SERIAL_NUMBER  + 1;
68 			if G_FD_SERIAL_NUMBER  > 999 then
69 				G_FD_SERIAL_NUMBER  := 1;
70 			end if;
71 			CP_MAGFILE_NAME := CP_MAGFILE_NAME || ', ' || g_magfile_name || to_char(G_FD_COUNT);
72 		end if;
73 
74   	if G_FD_COUNT*5000 <= TOTAL_REC then
75 			G_COUNT_OF_RECORD := G_FD_COUNT*5000 - (G_FD_COUNT-1)*5000;
76 		else
77 			G_COUNT_OF_RECORD := TOTAL_REC - (G_FD_COUNT-1)*5000;
78 		end if;
79 
80 	end if;
81 
82 	CP_RECORD_NUMBER := G_REC_COUNT  - (G_FD_COUNT -1)*5000;
83 	CP_COUNT_OF_RECORD := G_COUNT_OF_RECORD;
84 	CP_FD_SERIAL_NUMBER := lpad(to_char(G_FD_SERIAL_NUMBER ),3,'0');
85 	CP_FD_COUNT := G_FD_COUNT;
86 
87 	CP_BASIC_PENSION_NUMBER := pay_jp_report_pkg.substrb2(pay_jp_balance_pkg.get_entry_value_char(g_basic_pension_number_iv_id,ASSIGNMENT_ID,EFFECTIVE_DATE),1,10);
88 
89 	CP_DISQUALIFIED_STATUS_CODE := pay_jp_balance_pkg.get_entry_value_char(g_disqualified_status_iv_id,ASSIGNMENT_ID,EFFECTIVE_DATE);
90 	CP_DISQUALIFIED_STATUS := hr_general.decode_lookup('JP_WP_DISQUALIFIED_STATUS',CP_DISQUALIFIED_STATUS_CODE);
91 
92 	CP_WP_STD_MONTHLY_COMP := NULL;
93 	CP_WP_SALARY := NULL;
94 
95 	l_date_applied := nvl(pay_jp_balance_pkg.get_entry_value_char(g_wp_comp_date_applied_iv_id,ASSIGNMENT_ID,EFFECTIVE_DATE),'000101');
96 	if to_number(to_char(EFFECTIVE_DATE,'YYYYMM')) - to_number(l_date_applied) < 0 then
97 		l_iv_id := G_WP_OLD_COMP_IV_ID;
98 		l_sal_iv_id := G_WP_OLD_SALARY_IV_ID;
99 	else
100 		l_iv_id := G_WP_NEW_COMP_IV_ID;
101 		l_sal_iv_id := G_WP_NEW_SALARY_IV_ID;
102 	end if;
103 	l_wp_std_monthly_comp := pay_jp_report_pkg.substrb2(to_char(pay_jp_balance_pkg.get_entry_value_number(l_iv_id,ASSIGNMENT_ID,EFFECTIVE_DATE)),1,38);
104 	if nvl(l_wp_std_monthly_comp,' ') <> ' ' then
105 		CP_WP_STD_MONTHLY_COMP := lpad(to_char(floor(to_number(l_wp_std_monthly_comp)/1000)),4,'0');
106 	end if;
107 	CP_WP_SALARY := nvl(pay_jp_balance_pkg.get_entry_value_number(l_sal_iv_id,ASSIGNMENT_ID,EFFECTIVE_DATE),0);
108 
109 	l_emp_failure_item := ' ';
110 
111 	if nvl(WP_NUMBER,' ') = ' ' then
112 		l_emp_failure_item := l_emp_failure_item||fnd_message.get_string('PAY','PAY_JP_INS_SERIAL_NUM');
113 	end if;
114 	if nvl(to_char(DATE_OF_BIRTH),' ') = ' ' then
115 		l_emp_failure_item := l_emp_failure_item||fnd_message.get_string('PAY','HR_JP_DATE_OF_BIRTH');
116 	end if;
117 	if nvl(CP_DISQUALIFIED_STATUS_CODE,' ') = ' ' then
118 		l_emp_failure_item := l_emp_failure_item||fnd_message.get_string('PAY','PAY_JP_DISQUALIFY_CAUSE');
119 	end if;
120 	if nvl(CP_WP_STD_MONTHLY_COMP,' ') = ' ' then
121 		l_emp_failure_item := l_emp_failure_item||fnd_message.get_string('PAY','PAY_JP_SMR');
122 	end if;
123 	CP_EMP_FAILURE_ITEM := l_emp_failure_item;
124 	return('');
125 end;
126 
127 function AfterReport  return boolean is
128 begin
129 --  file_io.close_magfile;
130  -- hr_standard.event('AFTER REPORT');
131   return (TRUE);
132 end;
133 
134 --Functions to refer Oracle report placeholders--
135 
136  Function CP_BASIC_PENSION_NUMBER_p return varchar2 is
137 	Begin
138 	 return CP_BASIC_PENSION_NUMBER;
139 	 END;
140  Function CP_DISQUALIFIED_STATUS_p return varchar2 is
141 	Begin
142 	 return CP_DISQUALIFIED_STATUS;
143 	 END;
144  Function CP_DISQUALIFIED_STATUS_CODE_p return varchar2 is
145 	Begin
146 	 return CP_DISQUALIFIED_STATUS_CODE;
147 	 END;
148  Function CP_WP_STD_MONTHLY_COMP_p return varchar2 is
149 	Begin
150 	 return CP_WP_STD_MONTHLY_COMP;
151 	 END;
152  Function CP_WP_SALARY_p return number is
153 	Begin
154 	 return CP_WP_SALARY;
155 	 END;
156  Function CP_EMP_FAILURE_ITEM_p return varchar2 is
157 	Begin
158 	 return CP_EMP_FAILURE_ITEM;
159 	 END;
160  Function CP_RECORD_NUMBER_p return number is
161 	Begin
162 	 return CP_RECORD_NUMBER;
163 	 END;
164  Function CP_COUNT_OF_RECORD_p return number is
165 	Begin
166 	 return CP_COUNT_OF_RECORD;
167 	 END;
168  Function CP_FD_COUNT_p return number is
169 	Begin
170 	 return CP_FD_COUNT;
171 	 END;
172  Function CP_FD_SERIAL_NUMBER_p return varchar2 is
173 	Begin
174 	 return CP_FD_SERIAL_NUMBER;
175 	 END;
176  Function CP_REPORT_TITLE_p return varchar2 is
177 	Begin
178 	 return CP_REPORT_TITLE;
179 	 END;
180  Function CP_MAGFILE_NAME_p return varchar2 is
181 	Begin
182 	 return CP_MAGFILE_NAME;
183 	 END;
184 END PAY_PAYJPSDD_XMLP_PKG ;