1 package body hr_jp_utility as
2 /* $Header: hrjputil.pkb 120.2 2005/09/07 01:44:55 hikubo noship $ */
3 --
4 FUNCTION per_jp_full_name
5 (
6 p_first_name in varchar2,
7 p_middle_names in varchar2,
8 p_last_name in varchar2,
9 p_known_as in varchar2,
10 p_title in varchar2,
11 p_suffix in varchar2,
12 p_pre_name_adjunct in varchar2,
13 p_per_information1 in varchar2,
14 p_per_information2 in varchar2,
15 p_per_information3 in varchar2,
16 p_per_information4 in varchar2,
17 p_per_information5 in varchar2,
18 p_per_information6 in varchar2,
19 p_per_information7 in varchar2,
20 p_per_information8 in varchar2,
21 p_per_information9 in varchar2,
22 p_per_information10 in varchar2,
23 p_per_information11 in varchar2,
24 p_per_information12 in varchar2,
25 p_per_information13 in varchar2,
26 p_per_information14 in varchar2,
27 p_per_information15 in varchar2,
28 p_per_information16 in varchar2,
29 p_per_information17 in varchar2,
30 p_per_information18 in varchar2,
31 p_per_information19 in varchar2,
32 p_per_information20 in varchar2,
33 p_per_information21 in varchar2,
34 p_per_information22 in varchar2,
35 p_per_information23 in varchar2,
36 p_per_information24 in varchar2,
37 p_per_information25 in varchar2,
38 p_per_information26 in varchar2,
39 p_per_information27 in varchar2,
40 p_per_information28 in varchar2,
41 p_per_information29 in varchar2,
42 p_per_information30 in varchar2
43 ) return varchar2 is
44 --
45 l_full_name varchar2(240);
46 l_kana_name_delimiter varchar2(10);
47 l_kanji_name_delimiter varchar2(10);
48 l_name_type_delimiter varchar2(10);
49 --
50 begin
51 --
52 l_kana_name_delimiter := ' ';
53 l_kanji_name_delimiter := ' ';
54 l_name_type_delimiter := ' / ';
55 --
56 -- Bug Fix 3604541
57 --
58 -- Remove delimiter slash in only case when Kanji entry is null.
59 -- (There is no business case when Kana entry is null because of mandatory column)
60 -- This solution is based on precondition that hr_jp_utiltiy.per_jp_full_name funciton
61 -- exists for only PER_ALL_PEOPLE_F_NAME trigger, built by hr_build_name_trg_pkg.
62 --
63 -- Note: There is no issue for update existing format
64 -- because trigger just set new full name except for any format validation.
65 --
66 -- Case of Kanji entry is null
67 if (p_per_information18 is null or p_per_information19 is null) then
68 --
69 l_kanji_name_delimiter := '';
70 --
71 if (p_per_information18 is null and p_per_information19 is null) then
72 l_name_type_delimiter := '';
73 end if;
74 --
75 end if;
76 --
77 -- Bug Fix 4576110
78 -- Remove delimiter between last_name and first_name when first_name is null
79 --
80 if p_first_name is null then
81 l_kana_name_delimiter := '';
82 end if;
83 --
84 l_full_name:=
85 p_last_name || l_kana_name_delimiter || p_first_name || l_name_type_delimiter ||
86 p_per_information18 || l_kanji_name_delimiter || p_per_information19;
87 --
88 return (l_full_name);
89 --
90 end per_jp_full_name;
91
92 -- Bug 3680631: The function per_jp_order_name was added to the package
93 -- Code addition for bug 3680631 starts
94
95 -----------------------------per_jp_order_name------------------------------
96 FUNCTION per_jp_order_name(
97 p_first_name in varchar2
98 ,p_middle_names in varchar2
99 ,p_last_name in varchar2
100 ,p_known_as in varchar2
101 ,p_title in varchar2
102 ,p_suffix in varchar2
103 ,p_pre_name_adjunct in varchar2
104 ,p_per_information1 in varchar2
105 ,p_per_information2 in varchar2
106 ,p_per_information3 in varchar2
107 ,p_per_information4 in varchar2
108 ,p_per_information5 in varchar2
109 ,p_per_information6 in varchar2
110 ,p_per_information7 in varchar2
111 ,p_per_information8 in varchar2
112 ,p_per_information9 in varchar2
113 ,p_per_information10 in varchar2
114 ,p_per_information11 in varchar2
115 ,p_per_information12 in varchar2
116 ,p_per_information13 in varchar2
117 ,p_per_information14 in varchar2
118 ,p_per_information15 in varchar2
119 ,p_per_information16 in varchar2
120 ,p_per_information17 in varchar2
121 ,p_per_information18 in varchar2
122 ,p_per_information19 in varchar2
123 ,p_per_information20 in varchar2
124 ,p_per_information21 in varchar2
125 ,p_per_information22 in varchar2
126 ,p_per_information23 in varchar2
127 ,p_per_information24 in varchar2
128 ,p_per_information25 in varchar2
129 ,p_per_information26 in varchar2
130 ,p_per_information27 in varchar2
131 ,p_per_information28 in varchar2
132 ,p_per_information29 in varchar2
133 ,p_per_information30 in varchar2
134 ) return varchar2 is
135 l_order_name VARCHAR2(240);
136 l_full_name varchar2(240);
137 l_kana_name_delimiter varchar2(10);
138 l_kanji_name_delimiter varchar2(10);
139 l_name_type_delimiter varchar2(10);
140
141 BEGIN
142 l_kana_name_delimiter := ' ';
143 l_kanji_name_delimiter := ' ';
144 l_name_type_delimiter := ' / ';
145 l_order_name:= p_last_name||l_kanji_name_delimiter||p_first_name;
146 return(l_order_name);
147 END per_jp_order_name;
148
149 -- Code addition for bug 3680631 ends.
150
151
152 ------------------------------ get_parameter -------------------------------
153 /* Name : get_parameter
154 Purpose : This simply returns the value of a specified parameter in
155 a parameter list based of the parameter name.
156 Arguments :
157 Notes :
158 */
159 function get_parameter(name in varchar2,
160 parameter_list varchar2) return varchar2
161 is
162 start_ptr number;
163 end_ptr number;
164 token_val pay_payroll_actions.legislative_parameters%type;
165 par_value pay_payroll_actions.legislative_parameters%type;
166 begin
167 --
168 token_val := name||'=';
169 --
170 start_ptr := instr(parameter_list, token_val) + length(token_val);
171 end_ptr := instr(parameter_list, ' ', start_ptr);
172 --
173 /* if there is no spaces use then length of the string */
174 if end_ptr = 0 then
175 end_ptr := length(parameter_list)+1;
176 end if;
177 --
178 /* Did we find the token */
179 if instr(parameter_list, token_val) = 0 then
180 par_value := NULL;
181 else
182 par_value := substr(parameter_list, start_ptr, end_ptr - start_ptr);
183 end if;
184 --
185 return par_value;
186 --
187 end get_parameter;
188 -------------------------- DERIVE_HR_LOC_ADDRESS ---------------------------
189 procedure DERIVE_HR_LOC_ADDRESS
190 (p_tax_name in varchar2,
191 p_style in varchar2,
192 p_address_line_1 in varchar2,
193 p_address_line_2 in varchar2,
194 p_address_line_3 in varchar2,
195 p_town_or_city in varchar2,
196 p_country in varchar2,
197 p_postal_code in varchar2,
198 p_region_1 in varchar2,
199 p_region_2 in varchar2,
200 p_region_3 in varchar2,
201 p_telephone_number_1 in varchar2,
202 p_telephone_number_2 in varchar2,
203 p_telephone_number_3 in varchar2,
204 p_loc_information13 in varchar2,
205 p_loc_information14 in varchar2,
206 p_loc_information15 in varchar2,
207 p_loc_information16 in varchar2,
208 p_loc_information17 in varchar2,
209 p_attribute_category in varchar2,
210 p_attribute1 in varchar2,
211 p_attribute2 in varchar2,
212 p_attribute3 in varchar2,
213 p_attribute4 in varchar2,
214 p_attribute5 in varchar2,
215 p_attribute6 in varchar2,
216 p_attribute7 in varchar2,
217 p_attribute8 in varchar2,
218 p_attribute9 in varchar2,
219 p_attribute10 in varchar2,
220 p_attribute11 in varchar2,
221 p_attribute12 in varchar2,
222 p_attribute13 in varchar2,
223 p_attribute14 in varchar2,
224 p_attribute15 in varchar2,
225 p_attribute16 in varchar2,
226 p_attribute17 in varchar2,
227 p_attribute18 in varchar2,
228 p_attribute19 in varchar2,
229 p_attribute20 in varchar2,
230 p_global_attribute_category in varchar2,
231 p_global_attribute1 in varchar2,
232 p_global_attribute2 in varchar2,
233 p_global_attribute3 in varchar2,
234 p_global_attribute4 in varchar2,
235 p_global_attribute5 in varchar2,
236 p_global_attribute6 in varchar2,
237 p_global_attribute7 in varchar2,
238 p_global_attribute8 in varchar2,
239 p_global_attribute9 in varchar2,
240 p_global_attribute10 in varchar2,
241 p_global_attribute11 in varchar2,
242 p_global_attribute12 in varchar2,
243 p_global_attribute13 in varchar2,
244 p_global_attribute14 in varchar2,
245 p_global_attribute15 in varchar2,
246 p_global_attribute16 in varchar2,
247 p_global_attribute17 in varchar2,
248 p_global_attribute18 in varchar2,
249 p_global_attribute19 in varchar2,
250 p_global_attribute20 in varchar2,
251 p_loc_information18 in varchar2,
252 p_loc_information19 in varchar2,
253 p_loc_information20 in varchar2,
254 p_derived_locale out nocopy varchar2
255 ) is
256 begin
257 p_derived_locale := p_address_line_1 || ', ' || p_country;
258 end;
259 --
260 ------------------------- DERIVE_PER_ADD_ADDRESS ---------------------------
261 procedure DERIVE_PER_ADD_ADDRESS
262 (p_style in varchar2,
263 p_address_line1 in varchar2,
264 p_address_line2 in varchar2,
265 p_address_line3 in varchar2,
266 p_country in varchar2,
267 p_date_to in date,
268 p_postal_code in varchar2,
269 p_region_1 in varchar2,
270 p_region_2 in varchar2,
271 p_region_3 in varchar2,
272 p_telephone_number_1 in varchar2,
273 p_telephone_number_2 in varchar2,
274 p_telephone_number_3 in varchar2,
275 p_town_or_city in varchar2,
276 p_addr_attribute_category in varchar2,
277 p_addr_attribute1 in varchar2,
278 p_addr_attribute2 in varchar2,
279 p_addr_attribute3 in varchar2,
280 p_addr_attribute4 in varchar2,
281 p_addr_attribute5 in varchar2,
282 p_addr_attribute6 in varchar2,
283 p_addr_attribute7 in varchar2,
284 p_addr_attribute8 in varchar2,
285 p_addr_attribute9 in varchar2,
286 p_addr_attribute10 in varchar2,
287 p_addr_attribute11 in varchar2,
288 p_addr_attribute12 in varchar2,
289 p_addr_attribute13 in varchar2,
290 p_addr_attribute14 in varchar2,
291 p_addr_attribute15 in varchar2,
292 p_addr_attribute16 in varchar2,
293 p_addr_attribute17 in varchar2,
294 p_addr_attribute18 in varchar2,
295 p_addr_attribute19 in varchar2,
296 p_addr_attribute20 in varchar2,
297 p_add_information13 in varchar2,
298 p_add_information14 in varchar2,
299 p_add_information15 in varchar2,
300 p_add_information16 in varchar2,
301 p_add_information17 in varchar2,
302 p_add_information18 in varchar2,
303 p_add_information19 in varchar2,
304 p_add_information20 in varchar2,
305 p_derived_locale out nocopy varchar2
306 ) is
307 begin
308 p_derived_locale := p_address_line1 || ', ' || p_country;
309 end;
310 --
311 end hr_jp_utility;