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