DBA Data[Home] [Help]

PACKAGE BODY: APPS.PAY_PAYJPCAD_XMLP_PKG

Source


1 PACKAGE BODY PAY_PAYJPCAD_XMLP_PKG AS
2 /* $Header: PAYJPCADB.pls 120.0 2007/12/13 12:17:48 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 	--hr_standard.event('BEFORE REPORT');
13 	P_CONC_REQUEST_ID := fnd_global.CONC_REQUEST_ID;
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 		if P_FILE_NAME is NULL then
20 		g_magfile_name := 'c' || lpad(to_char(P_CONC_REQUEST_ID - trunc(P_CONC_REQUEST_ID,-7)),7,'0') || '.mf';
21 	else
22 		g_magfile_name := P_FILE_NAME;
23 	end if;
24 		pay_jp_report_pkg.to_era(	P_PREPARE_DATE,
25 					l_date_era_code,
26 					l_date_year,
27 					l_date_month,
28 					l_date_day);
29 	l_date_year := l_date_year - trunc(l_date_year,-2);
30         G_PREPARE_DATE_YEAR	:= lpad(to_char(l_date_year),2,'0');
31 	G_PREPARE_DATE_MONTH	:= lpad(to_char(l_date_month),2,'0');
32 	G_PREPARE_DATE_DAY	:= lpad(to_char(l_date_day),2,'0');
33 		l_legislation_code := pay_jp_balance_pkg.get_legislation_code(P_BUSINESS_GROUP_ID);
34 		l_element_type_id := pay_jp_balance_pkg.get_element_type_id('COM_SI_INFO',P_BUSINESS_GROUP_ID,l_legislation_code);
35 	G_BASIC_PENSION_NUMBER_IV_ID	:= pay_jp_balance_pkg.get_input_value_id(l_element_type_id,'BASIC_PENSION_NUM');
36 		return (TRUE);
37 end;
38 
39 function cf_emp_recordformula (TOTAL_REC in number, ASSIGNMENT_ID in number, EFFECTIVE_DATE in date,
40 NEW_ADDRESS_KANA1 in varchar2, NEW_DISTRICT_NAME_KANA in varchar2,
41 NEW_ADDRESS_KANA2_3 in varchar2, NEW_ADDRESS1 in varchar2, PREV_ADDRESS2_3 in varchar2,
42 WP_NUMBER in varchar2, DATE_OF_BIRTH in date, NEW_ADDRESS_COUNTRY in varchar2,
43 NEW_POSTAL_CODE in varchar2, PREV_ADDRESS_COUNTRY in varchar2,NEW_ADDRESS2_3 IN VARCHAR2,
44 PREV_ADDRESS_KANA1 IN VARCHAR2,PREV_ADDRESS1 IN VARCHAR2,PREV_DISTRICT_NAME_KANA IN VARCHAR2
45 ,PREV_ADDRESS_KANA2_3 IN VARCHAR2) return number is
46 	l_emp_failure_item			VARCHAR2(100);
47 	l_address_kana					VARCHAR2(240);
48 	l_address								VARCHAR2(240);
49 
50 begin
51 	G_REC_COUNT := G_REC_COUNT  + 1;
52 
53 	if G_FD_COUNT  <> trunc((G_REC_COUNT -1)/1500)+1 then
54 		G_FD_COUNT  := trunc((G_REC_COUNT -1)/1500)+1;
55 		if G_FD_SERIAL_NUMBER  = 0 then
56 			G_FD_SERIAL_NUMBER  := P_FD_SERIAL_NUMBER;
57 			CP_MAGFILE_NAME := g_magfile_name;
58 		else
59  					G_FD_SERIAL_NUMBER  := G_FD_SERIAL_NUMBER  + 1;
60 			if G_FD_SERIAL_NUMBER  > 999 then
61 				G_FD_SERIAL_NUMBER  := 1;
62 			end if;
63 			CP_MAGFILE_NAME := CP_MAGFILE_NAME || ', ' || g_magfile_name || to_char(G_FD_COUNT);
64 		end if;
65 
66   	if G_FD_COUNT*1500 <= TOTAL_REC then
67 			G_COUNT_OF_RECORD := G_FD_COUNT*1500 - (G_FD_COUNT-1)*1500;
68 		else
69 			G_COUNT_OF_RECORD := TOTAL_REC - (G_FD_COUNT-1)*1500;
70 		end if;
71 
72 	end if;
73 
74 	CP_RECORD_NUMBER := G_REC_COUNT  - (G_FD_COUNT -1)*1500;
75 	CP_COUNT_OF_RECORD := G_COUNT_OF_RECORD;
76 	CP_FD_SERIAL_NUMBER := lpad(to_char(G_FD_SERIAL_NUMBER ),3,'0');
77 	CP_FD_COUNT := G_FD_COUNT;
78 
79 	CP_BASIC_PENSION_NUMBER :=
80 pay_jp_report_pkg.substrb2(pay_jp_balance_pkg.get_entry_value_char(g_basic_pension_number_iv_id,ASSIGNMENT_ID,
81 EFFECTIVE_DATE),1,10);
82 
83 	l_address_kana :=
84 	pay_jp_report_pkg.substrb2((pay_jp_report_pkg.set_space_on_address(NEW_ADDRESS_KANA1,
85 	NEW_DISTRICT_NAME_KANA,1)||' '||NEW_ADDRESS_KANA2_3),1,240);
86 
87 	l_address_kana := replace(replace(l_address_kana,hr_jp_standard_pkg.sjhextochar('8140'),' '),'  ',' ');
88 	CP_NEW_ADDRESS_KANA := l_address_kana;
89 
90 		l_address := replace(pay_jp_report_pkg.substrb2((pay_jp_report_pkg.set_space_on_address(NEW_ADDRESS1,'',0)||' '||
91 	NEW_ADDRESS2_3),1,240),'  ',' ');
92 
93 
94 	CP_NEW_ADDRESS := l_address;
95 
96 	l_address_kana := pay_jp_report_pkg.substrb2((pay_jp_report_pkg.set_space_on_address(PREV_ADDRESS_KANA1,PREV_DISTRICT_NAME_KANA,1)||' '||PREV_ADDRESS_KANA2_3),1,240);
97 	l_address_kana := replace(replace(l_address_kana,hr_jp_standard_pkg.sjhextochar('8140'),' '),'  ',' ');
98 	CP_PREV_ADDRESS_KANA := l_address_kana;
99 	l_address := replace(pay_jp_report_pkg.substrb2((pay_jp_report_pkg.set_space_on_address(PREV_ADDRESS1,'',0)||' '||PREV_ADDRESS2_3),1,240),'  ',' ');
100 	CP_PREV_ADDRESS := l_address;
101 
102 	l_emp_failure_item := ' ';
103 
104 	if nvl(WP_NUMBER,' ') = ' ' then
105 		l_emp_failure_item := l_emp_failure_item||fnd_message.get_string('PAY', 'PAY_JP_WP_SERIAL_NUM');
106 	end if;
107 	if nvl(to_char(DATE_OF_BIRTH),' ') = ' ' then
108 		l_emp_failure_item := l_emp_failure_item||fnd_message.get_string('PAY', 'HR_JP_DATE_OF_BIRTH');
109 	end if;
110 	if nvl(NEW_ADDRESS_COUNTRY,'JP') = 'JP' then
111 		if nvl(NEW_POSTAL_CODE,' ') = ' ' then
112 			l_emp_failure_item := l_emp_failure_item||fnd_message.get_string('PAY', 'PAY_JP_NEW_POSTAL_CODE');
113 		end if;
114 		if nvl(CP_NEW_ADDRESS_KANA,' ') = ' ' then
115 			l_emp_failure_item := l_emp_failure_item||fnd_message.get_string('PAY', 'PAY_JP_NEW_ADDRESS_KANA');
116 		end if;
117 	end if;
118 	if nvl(PREV_ADDRESS_COUNTRY,'JP') = 'JP' then
119 		if nvl(CP_PREV_ADDRESS_KANA,' ') = ' ' then
120 			l_emp_failure_item := l_emp_failure_item||fnd_message.get_string('PAY', 'PAY_JP_PREV_ADDRESS_KANA');
121 		end if;
122 	end if;
123 
124 	CP_EMP_FAILURE_ITEM := l_emp_failure_item;
125 	return('');
126 end;
127 
128 function AfterReport  return boolean is
129 begin
130  -- file_io.close_magfile;
131  -- hr_standard.event('AFTER REPORT');
132 	return (TRUE);
133 end;
134 
135 --Functions to refer Oracle report placeholders--
136 
137  Function CP_FD_SERIAL_NUMBER_p return varchar2 is
138 	Begin
139 	 return CP_FD_SERIAL_NUMBER;
140 	 END;
141  Function CP_COUNT_OF_RECORD_p return number is
142 	Begin
143 	 return CP_COUNT_OF_RECORD;
144 	 END;
145  Function CP_RECORD_NUMBER_p return number is
146 	Begin
147 	 return CP_RECORD_NUMBER;
148 	 END;
149  Function CP_BASIC_PENSION_NUMBER_p return varchar2 is
150 	Begin
151 	 return CP_BASIC_PENSION_NUMBER;
152 	 END;
153  Function CP_NEW_ADDRESS_p return varchar2 is
154 	Begin
155 	 return CP_NEW_ADDRESS;
156 	 END;
157  Function CP_NEW_ADDRESS_KANA_p return varchar2 is
158 	Begin
159 	 return CP_NEW_ADDRESS_KANA;
160 	 END;
161  Function CP_PREV_ADDRESS_p return varchar2 is
162 	Begin
163 	 return CP_PREV_ADDRESS;
164 	 END;
165  Function CP_PREV_ADDRESS_KANA_p return varchar2 is
166 	Begin
167 	 return CP_PREV_ADDRESS_KANA;
168 	 END;
169  Function CP_FD_COUNT_p return number is
170 	Begin
171 	 return CP_FD_COUNT;
172 	 END;
173  Function CP_EMP_FAILURE_ITEM_p return varchar2 is
174 	Begin
175 	 return CP_EMP_FAILURE_ITEM;
176 	 END;
177  Function CP_REPORT_TITLE_p return varchar2 is
178 	Begin
179 	 return CP_REPORT_TITLE;
180 	 END;
181  Function CP_MAGFILE_NAME_p return varchar2 is
182 	Begin
183 	 return CP_MAGFILE_NAME;
184 	 END;
185 END PAY_PAYJPCAD_XMLP_PKG ;