1 Package per_per_shd as
2 /* $Header: peperrhi.pkh 120.2.12010000.1 2008/07/28 05:14:29 appldev ship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Global Record Type Specification |
6 -- ----------------------------------------------------------------------------
7 --
8 Type g_rec_type Is Record
9 (
10 person_id number(10),
11 effective_start_date date,
12 effective_end_date date,
13 business_group_id number(15),
14 person_type_id number(15),
15 last_name varchar2(150),
16 start_date date,
17 applicant_number varchar2(30),
18 comment_id number(15),
19 comments long,
20 current_applicant_flag varchar2(30),
21 current_emp_or_apl_flag varchar2(30),
22 current_employee_flag varchar2(30),
23 date_employee_data_verified date,
24 date_of_birth date,
25 email_address varchar2(240),
26 employee_number varchar2(30),
27 expense_check_send_to_address varchar2(30),
28 first_name varchar2(150),
29 full_name varchar2(240),
30 known_as varchar2(80),
31 marital_status varchar2(30),
32 middle_names varchar2(60),
33 nationality varchar2(30),
34 national_identifier varchar2(30),
35 previous_last_name varchar2(150),
36 registered_disabled_flag varchar2(30),
37 sex varchar2(30),
38 title varchar2(30),
39 vendor_id number(15),
40 work_telephone varchar2(60),
41 request_id number(15),
42 program_application_id number(15),
43 program_id number(15),
44 program_update_date date,
45 attribute_category varchar2(30),
46 attribute1 varchar2(150),
47 attribute2 varchar2(150),
48 attribute3 varchar2(150),
49 attribute4 varchar2(150),
50 attribute5 varchar2(150),
51 attribute6 varchar2(150),
52 attribute7 varchar2(150),
53 attribute8 varchar2(150),
54 attribute9 varchar2(150),
55 attribute10 varchar2(150),
56 attribute11 varchar2(150),
57 attribute12 varchar2(150),
58 attribute13 varchar2(150),
59 attribute14 varchar2(150),
60 attribute15 varchar2(150),
61 attribute16 varchar2(150),
62 attribute17 varchar2(150),
63 attribute18 varchar2(150),
64 attribute19 varchar2(150),
65 attribute20 varchar2(150),
66 attribute21 varchar2(150),
67 attribute22 varchar2(150),
68 attribute23 varchar2(150),
69 attribute24 varchar2(150),
70 attribute25 varchar2(150),
71 attribute26 varchar2(150),
72 attribute27 varchar2(150),
73 attribute28 varchar2(150),
74 attribute29 varchar2(150),
75 attribute30 varchar2(150),
76 per_information_category varchar2(30),
77 per_information1 varchar2(150),
78 per_information2 varchar2(150),
79 per_information3 varchar2(150),
80 per_information4 varchar2(150),
81 per_information5 varchar2(150),
82 per_information6 varchar2(150),
83 per_information7 varchar2(150),
84 per_information8 varchar2(150),
85 per_information9 varchar2(150),
86 per_information10 varchar2(150),
87 per_information11 varchar2(150),
88 per_information12 varchar2(150),
89 per_information13 varchar2(150),
90 per_information14 varchar2(150),
91 per_information15 varchar2(150),
92 per_information16 varchar2(150),
93 per_information17 varchar2(150),
94 per_information18 varchar2(150),
95 per_information19 varchar2(150),
96 per_information20 varchar2(150),
97 object_version_number number(9),
98 suffix varchar2(30),
99 DATE_OF_DEATH DATE,
100 BACKGROUND_CHECK_STATUS VARCHAR2(30),
101 BACKGROUND_DATE_CHECK DATE,
102 BLOOD_TYPE VARCHAR2(30),
103 CORRESPONDENCE_LANGUAGE VARCHAR2(30),
104 FAST_PATH_EMPLOYEE VARCHAR2(30),
105 FTE_CAPACITY NUMBER,
106 HOLD_APPLICANT_DATE_UNTIL DATE,
107 HONORS VARCHAR2(45),
108 INTERNAL_LOCATION VARCHAR2(45),
109 LAST_MEDICAL_TEST_BY VARCHAR2(60),
110 LAST_MEDICAL_TEST_DATE DATE,
111 MAILSTOP VARCHAR2(45),
112 OFFICE_NUMBER VARCHAR2(45),
113 ON_MILITARY_SERVICE VARCHAR2(30),
114 ORDER_NAME VARCHAR2(240),
115 PRE_NAME_ADJUNCT VARCHAR2(30),
116 PROJECTED_START_DATE DATE,
117 REHIRE_AUTHORIZOR VARCHAR2(60),
118 REHIRE_RECOMMENDATION VARCHAR2(30),
119 RESUME_EXISTS VARCHAR2(30),
120 RESUME_LAST_UPDATED DATE,
121 SECOND_PASSPORT_EXISTS VARCHAR2(30),
122 STUDENT_STATUS VARCHAR2(30),
123 WORK_SCHEDULE VARCHAR2(30),
124 PER_INFORMATION21 VARCHAR2(150),
125 PER_INFORMATION22 VARCHAR2(150),
126 PER_INFORMATION23 VARCHAR2(150),
127 PER_INFORMATION24 VARCHAR2(150),
128 PER_INFORMATION25 VARCHAR2(150),
129 PER_INFORMATION26 VARCHAR2(150),
130 PER_INFORMATION27 VARCHAR2(150),
131 PER_INFORMATION28 VARCHAR2(150),
132 PER_INFORMATION29 VARCHAR2(150),
133 PER_INFORMATION30 VARCHAR2(150),
134 REHIRE_REASON VARCHAR2(60),
135 BENEFIT_GROUP_ID NUMBER,
136 RECEIPT_OF_DEATH_CERT_DATE DATE,
137 COORD_BEN_MED_PLN_NO VARCHAR2(30),
138 COORD_BEN_NO_CVG_FLAG VARCHAR2(30),
139 COORD_BEN_MED_EXT_ER VARCHAR2(80),
140 COORD_BEN_MED_PL_NAME VARCHAR2(80),
141 COORD_BEN_MED_INSR_CRR_NAME VARCHAR2(80),
142 COORD_BEN_MED_INSR_CRR_IDENT VARCHAR2(80),
143 COORD_BEN_MED_CVG_STRT_DT DATE,
144 COORD_BEN_MED_CVG_END_DT DATE,
145 USES_TOBACCO_FLAG VARCHAR2(30),
146 DPDNT_ADOPTION_DATE DATE,
147 DPDNT_VLNTRY_SVCE_FLAG VARCHAR2(30),
148 ORIGINAL_DATE_OF_HIRE DATE,
149 town_of_birth varchar2(90),
150 region_of_birth varchar2(90),
151 country_of_birth varchar2(90),
152 global_person_id varchar2(30),
153 party_id number(15),
154 npw_number varchar2(30),
155 current_npw_flag varchar2(30),
156 global_name varchar2(240), -- #3889584
157 local_name varchar2(240)
158 );
159 --
160 -- ----------------------------------------------------------------------------
161 -- | Global Definitions - Internal Development Use Only |
162 -- ----------------------------------------------------------------------------
163 --
164 g_old_rec g_rec_type; -- Global record definition
165 g_api_dml boolean; -- Global api dml status
166 g_tab_nam constant varchar2(30) :='PER_ALL_PEOPLE_F';
167 --
168 -- ----------------------------------------------------------------------------
169 -- |------------------------< return_api_dml_status >-------------------------|
170 -- ----------------------------------------------------------------------------
171 -- {Start Of Comments}
172 --
173 -- Description:
174 -- This function will return the current g_api_dml private global
175 -- boolean status.
176 -- The g_api_dml status determines if at the time of the function
177 -- being executed if a dml statement (i.e. INSERT, UPDATE or DELETE)
178 -- is being issued from within an api.
179 -- If the status is TRUE then a dml statement is being issued from
180 -- within this entity api.
181 -- This function is primarily to support database triggers which
182 -- need to maintain the object_version_number for non-supported
183 -- dml statements (i.e. dml statement issued outside of the api layer).
184 --
185 -- Pre Conditions:
186 -- None.
187 --
188 -- In Arguments:
189 -- None.
190 --
191 -- Post Success:
192 -- Processing continues.
193 -- If the function returns a TRUE value then, dml is being executed from
194 -- within this api.
195 --
196 -- Post Failure:
197 -- None.
198 --
199 -- Access Status:
200 -- Internal Table Handler Use Only.
201 --
202 -- {End Of Comments}
203 -- ----------------------------------------------------------------------------
204 Function return_api_dml_status Return Boolean;
205 --
206 -- ----------------------------------------------------------------------------
207 -- |---------------------------< constraint_error >---------------------------|
208 -- ----------------------------------------------------------------------------
209 -- {Start Of Comments}
210 --
211 -- Description:
212 -- This procedure is called when a constraint has been violated (i.e.
213 -- The exception hr_api.check_integrity_violated,
214 -- hr_api.parent_integrity_violated, hr_api.child_integrity_violated or
215 -- hr_api.unique_integrity_violated has been raised).
216 -- The exceptions can only be raised as follows:
217 -- 1) A check constraint can only be violated during an INSERT or UPDATE
218 -- dml operation.
219 -- 2) A parent integrity constraint can only be violated during an
220 -- INSERT or UPDATE dml operation.
221 -- 3) A child integrity constraint can only be violated during an
222 -- DELETE dml operation.
223 -- 4) A unique integrity constraint can only be violated during INSERT or
224 -- UPDATE dml operation.
225 --
226 -- Pre Conditions:
227 -- 1) Either hr_api.check_integrity_violated,
228 -- hr_api.parent_integrity_violated, hr_api.child_integrity_violated or
229 -- hr_api.unique_integrity_violated has been raised with the subsequent
230 -- stripping of the constraint name from the generated error message
231 -- text.
232 -- 2) Standalone validation test which correspond with a constraint error.
233 --
234 -- In Arguments:
235 -- p_constraint_name is in upper format and is just the constraint name
236 -- (e.g. not prefixed by brackets, schema owner etc).
237 --
238 -- Post Success:
239 -- Development dependant.
240 --
241 -- Post Failure:
242 -- Developement dependant.
243 --
244 -- Developer Implementation Notes:
245 -- For each constraint being checked the hr system package failure message
246 -- has been generated as a template only. These system error messages should
247 -- be modified as required (i.e. change the system failure message to a user
248 -- friendly defined error message).
249 --
250 -- Access Status:
251 -- Internal Development Use Only.
252 --
253 -- {End Of Comments}
254 -- ----------------------------------------------------------------------------
255 Procedure constraint_error
256 (p_constraint_name in all_constraints.constraint_name%TYPE);
257 --
258 -- ----------------------------------------------------------------------------
259 -- |-----------------------------< api_updating >-----------------------------|
260 -- ----------------------------------------------------------------------------
261 -- {Start Of Comments}
262 --
263 -- Description:
264 -- This function is used to populate the g_old_rec record with the current
265 -- row from the database for the specified primary key provided that the
266 -- primary key exists and is valid and does not already match the current
267 -- g_old_rec.
268 -- The function will always return a TRUE value if the g_old_rec is
269 -- populated with the current row. A FALSE value will be returned if all of
270 -- the primary key arguments are null.
271 --
272 -- Pre Conditions:
273 -- None.
274 --
275 -- In Arguments:
276 --
277 -- Post Success:
278 -- A value of TRUE will be returned indiciating that the g_old_rec is
279 -- current.
280 -- A value of FALSE will be returned if all of the primary key arguments
281 -- have a null value (this indicates that the row has not be inserted into
282 -- the Schema), and therefore could never have a corresponding row.
283 --
284 -- Post Failure:
285 -- A failure can only occur under two circumstances:
286 -- 1) The primary key is invalid (i.e. a row does not exist for the
287 -- specified primary key values).
288 -- 2) If an object_version_number exists but is NOT the same as the current
289 -- g_old_rec value.
290 --
291 -- Developer Implementation Notes:
292 -- None.
293 --
294 -- Access Status:
295 -- Internal Table Handler Use Only.
296 --
297 -- {End Of Comments}
298 -- ----------------------------------------------------------------------------
299 Function api_updating
300 (p_effective_date in date,
301 p_person_id in number,
302 p_object_version_number in number
303 ) Return Boolean;
304 --
305 -- ----------------------------------------------------------------------------
306 -- |--------------------------< find_dt_del_modes >---------------------------|
307 -- ----------------------------------------------------------------------------
308 -- {Start Of Comments}
309 --
310 -- Description:
311 -- This procedure is used to determine what datetrack delete modes are
312 -- allowed as of the effective date for this entity. The procedure will
313 -- return a corresponding Boolean value for each of the delete modes
314 -- available where TRUE indicates that the corresponding delete mode is
315 -- available.
316 --
317 -- Pre Conditions:
318 -- None.
319 --
320 -- In Arguments:
321 -- p_effective_date
322 -- Specifies the date at which the datetrack modes will be operated on.
323 -- p_base_key_value
324 -- Specifies the primary key value for this datetrack entity.
325 -- (E.g. For this entity the assignment of the argument would be:
326 -- p_base_key_value = :person_id).
327 --
328 -- Post Success:
329 -- Processing continues.
330 --
331 -- Post Failure:
332 -- Failure might occur if for the specified effective date and primary key
333 -- value a row doesn't exist.
334 --
335 -- Developer Implementation Notes:
336 -- This procedure could require changes if this entity has any sepcific
337 -- delete restrictions.
338 -- For example, this entity might disallow the datetrack delete mode of
339 -- ZAP. To implement this you would have to set and return a Boolean value
340 -- of FALSE after the call to the dt_api.find_dt_del_modes procedure.
341 --
342 -- Access Status:
343 -- Internal Development Use Only.
344 --
345 -- {End Of Comments}
346 -- ----------------------------------------------------------------------------
347 Procedure find_dt_del_modes
348 (p_effective_date in date,
349 p_base_key_value in number,
350 p_zap out nocopy boolean,
351 p_delete out nocopy boolean,
355 -- ----------------------------------------------------------------------------
352 p_future_change out nocopy boolean,
353 p_delete_next_change out nocopy boolean);
354 --
356 -- |--------------------------< find_dt_upd_modes >---------------------------|
357 -- ----------------------------------------------------------------------------
358 -- {Start Of Comments}
359 --
360 -- Description:
361 -- This procedure is used to determine what datetrack update modes are
362 -- allowed as of the effective date for this entity. The procedure will
363 -- return a corresponding Boolean value for each of the update modes
364 -- available where TRUE indicates that the corresponding update mode
365 -- is available.
366 --
367 -- Pre Conditions:
368 -- None.
369 --
370 -- In Arguments:
371 -- p_effective_date
372 -- Specifies the date at which the datetrack modes will be operated on.
373 -- p_base_key_value
374 -- Specifies the primary key value for this datetrack entity.
375 -- (E.g. For this entity the assignment of the argument would be:
376 -- p_base_key_value = :person_id).
377 --
378 -- Post Success:
379 -- Processing continues.
380 --
381 -- Post Failure:
382 -- Failure might occur if for the specified effective date and primary key
383 -- value a row doesn't exist.
384 --
385 -- Developer Implementation Notes:
386 -- This procedure could require changes if this entity has any sepcific
387 -- delete restrictions.
388 -- For example, this entity might disallow the datetrack update mode of
389 -- UPDATE. To implement this you would have to set and return a Boolean
390 -- value of FALSE after the call to the dt_api.find_dt_upd_modes procedure.
391 --
392 -- Access Status:
393 -- Internal Development Use Only.
394 --
395 -- {End Of Comments}
396 -- ----------------------------------------------------------------------------
397 Procedure find_dt_upd_modes
398 (p_effective_date in date,
399 p_base_key_value in number,
400 p_correction out nocopy boolean,
401 p_update out nocopy boolean,
402 p_update_override out nocopy boolean,
403 p_update_change_insert out nocopy boolean);
404 --
405 -- ----------------------------------------------------------------------------
406 -- |------------------------< upd_effective_end_date >------------------------|
407 -- ----------------------------------------------------------------------------
408 -- {Start Of Comments}
409 --
410 -- Description:
411 -- This procedure will update the specified datetrack row with the
412 -- specified new effective end date. The object version number is also
413 -- set to the next object version number. DateTrack modes which call
414 -- this procedure are: UPDATE, UPDATE_CHANGE_INSERT,
415 -- UPDATE_OVERRIDE, DELETE, FUTURE_CHANGE and DELETE_NEXT_CHANGE.
416 -- This is an internal datetrack maintenance procedure which should
417 -- not be modified in anyway.
418 --
419 -- Pre Conditions:
420 -- None.
421 --
422 -- In Arguments:
423 -- p_new_effective_end_date
424 -- Specifies the new effective end date which will be set for the
425 -- row as of the effective date.
426 -- p_base_key_value
427 -- Specifies the primary key value for this datetrack entity.
428 -- (E.g. For this entity the assignment of the argument would be:
429 -- p_base_key_value = :person_id).
430 --
431 -- Post Success:
432 -- The specified row will be updated with the new effective end date and
433 -- object_version_number.
434 --
435 -- Post Failure:
436 -- Failure might occur if for the specified effective date and primary key
437 -- value a row doesn't exist.
438 --
439 -- Developer Implementation Notes:
440 -- This is an internal datetrack maintenance procedure which should
441 -- not be modified in anyway.
442 --
443 -- Access Status:
444 -- Internal Table Handler Use Only.
445 --
446 -- {End Of Comments}
447 -- ----------------------------------------------------------------------------
448 Procedure upd_effective_end_date
449 (p_effective_date in date,
450 p_base_key_value in number,
451 p_new_effective_end_date in date,
452 p_validation_start_date in date,
453 p_validation_end_date in date,
454 p_object_version_number out nocopy number);
455 --
456 -- ----------------------------------------------------------------------------
457 -- |---------------------------------< lck >----------------------------------|
458 -- ----------------------------------------------------------------------------
459 -- {Start Of Comments}
460 --
461 -- Description:
462 -- The Lck process for datetrack is complicated and comprises of the
463 -- following processing
464 -- The processing steps are as follows:
465 -- 1) The row to be updated or deleted must be locked.
466 -- By locking this row, the g_old_rec record data type is populated.
467 -- 2) If a comment exists the text is selected from hr_comments.
468 -- 3) The datetrack mode is then validated to ensure the operation is
469 -- valid. If the mode is valid the validation start and end dates for
470 -- the mode will be derived and returned. Any required locking is
471 -- completed when the datetrack mode is validated.
472 --
473 -- Pre Conditions:
474 -- When attempting to call the lck procedure the object version number,
478 -- p_effective_date
475 -- primary key, effective date and datetrack mode must be specified.
476 --
477 -- In Arguments:
479 -- Specifies the date of the datetrack update operation.
480 -- p_datetrack_mode
481 -- Determines the datetrack update or delete mode.
482 --
483 -- Post Success:
484 -- On successful completion of the Lck process the row to be updated or
485 -- deleted will be locked and selected into the global data structure
486 -- g_old_rec.
487 --
488 -- Post Failure:
489 -- The Lck process can fail for three reasons:
490 -- 1) When attempting to lock the row the row could already be locked by
491 -- another user. This will raise the HR_Api.Object_Locked exception.
492 -- 2) The row which is required to be locked doesn't exist in the HR Schema.
493 -- This error is trapped and reported using the message name
494 -- 'HR_7220_INVALID_PRIMARY_KEY'.
495 -- 3) The row although existing in the HR Schema has a different object
496 -- version number than the object version number specified.
497 -- This error is trapped and reported using the message name
498 -- 'HR_7155_OBJECT_INVALID'.
499 --
500 -- Developer Implementation Notes:
501 -- None.
502 --
503 -- Access Status:
504 -- Internal Development Use Only.
505 --
506 -- {End Of Comments}
507 -- ----------------------------------------------------------------------------
508 Procedure lck
509 (p_effective_date in date,
510 p_datetrack_mode in varchar2,
511 p_person_id in number,
512 p_object_version_number in number,
513 p_validation_start_date out nocopy date,
514 p_validation_end_date out nocopy date);
515 --
516 -- ----------------------------------------------------------------------------
517 -- |-----------------------------< convert_args >-----------------------------|
518 -- ----------------------------------------------------------------------------
519 -- {Start Of Comments}
520 --
521 -- Description:
522 -- This function is used to turn attribute arguments into the record
523 -- structure g_rec_type.
524 --
525 -- Pre Conditions:
526 -- This is a private function and can only be called from the ins or upd
527 -- attribute processes.
528 --
529 -- In Arguments:
530 --
531 -- Post Success:
532 -- A returning record structure will be returned.
533 --
534 -- Post Failure:
535 -- No direct error handling is required within this function. Any possible
536 -- errors within this function will be a PL/SQL value error due to conversion
537 -- of datatypes or data lengths.
538 --
539 -- Developer Implementation Notes:
540 -- None.
541 --
542 -- Access Status:
543 -- Internal Table Handler Use Only.
544 --
545 -- {End Of Comments}
546 -- ----------------------------------------------------------------------------
547 Function convert_args
548 (
549 p_person_id in number,
550 p_effective_start_date in date,
551 p_effective_end_date in date,
552 p_business_group_id in number,
553 p_person_type_id in number,
554 p_last_name in varchar2,
555 p_start_date in date,
556 p_applicant_number in varchar2,
557 p_comment_id in number,
558 p_comments in varchar2,
559 p_current_applicant_flag in varchar2,
560 p_current_emp_or_apl_flag in varchar2,
561 p_current_employee_flag in varchar2,
562 p_date_employee_data_verified in date,
563 p_date_of_birth in date,
564 p_email_address in varchar2,
565 p_employee_number in varchar2,
566 p_expense_check_send_to_addres in varchar2,
567 p_first_name in varchar2,
568 p_full_name in varchar2,
569 p_known_as in varchar2,
570 p_marital_status in varchar2,
571 p_middle_names in varchar2,
572 p_nationality in varchar2,
573 p_national_identifier in varchar2,
574 p_previous_last_name in varchar2,
575 p_registered_disabled_flag in varchar2,
576 p_sex in varchar2,
577 p_title in varchar2,
578 p_vendor_id in number,
579 p_work_telephone in varchar2,
580 p_request_id in number,
581 p_program_application_id in number,
582 p_program_id in number,
583 p_program_update_date in date,
584 p_attribute_category in varchar2,
585 p_attribute1 in varchar2,
586 p_attribute2 in varchar2,
587 p_attribute3 in varchar2,
588 p_attribute4 in varchar2,
589 p_attribute5 in varchar2,
590 p_attribute6 in varchar2,
591 p_attribute7 in varchar2,
592 p_attribute8 in varchar2,
593 p_attribute9 in varchar2,
594 p_attribute10 in varchar2,
595 p_attribute11 in varchar2,
596 p_attribute12 in varchar2,
597 p_attribute13 in varchar2,
598 p_attribute14 in varchar2,
599 p_attribute15 in varchar2,
600 p_attribute16 in varchar2,
604 p_attribute20 in varchar2,
601 p_attribute17 in varchar2,
602 p_attribute18 in varchar2,
603 p_attribute19 in varchar2,
605 p_attribute21 in varchar2,
606 p_attribute22 in varchar2,
607 p_attribute23 in varchar2,
608 p_attribute24 in varchar2,
609 p_attribute25 in varchar2,
610 p_attribute26 in varchar2,
611 p_attribute27 in varchar2,
612 p_attribute28 in varchar2,
613 p_attribute29 in varchar2,
614 p_attribute30 in varchar2,
615 p_per_information_category in varchar2,
616 p_per_information1 in varchar2,
617 p_per_information2 in varchar2,
618 p_per_information3 in varchar2,
619 p_per_information4 in varchar2,
620 p_per_information5 in varchar2,
621 p_per_information6 in varchar2,
622 p_per_information7 in varchar2,
623 p_per_information8 in varchar2,
624 p_per_information9 in varchar2,
625 p_per_information10 in varchar2,
626 p_per_information11 in varchar2,
627 p_per_information12 in varchar2,
628 p_per_information13 in varchar2,
629 p_per_information14 in varchar2,
630 p_per_information15 in varchar2,
631 p_per_information16 in varchar2,
632 p_per_information17 in varchar2,
633 p_per_information18 in varchar2,
634 p_per_information19 in varchar2,
635 p_per_information20 in varchar2,
636 p_object_version_number in number,
637 p_suffix in varchar2,
638 p_DATE_OF_DEATH in DATE,
639 p_BACKGROUND_CHECK_STATUS in varchar2,
640 p_BACKGROUND_DATE_CHECK in DATE,
641 p_BLOOD_TYPE in varchar2,
642 p_CORRESPONDENCE_LANGUAGE in varchar2,
643 p_FAST_PATH_EMPLOYEE in varchar2,
644 p_FTE_CAPACITY in NUMBER,
645 p_HOLD_APPLICANT_DATE_UNTIL in DATE,
646 p_HONORS in varchar2,
647 p_INTERNAL_LOCATION in varchar2,
648 p_LAST_MEDICAL_TEST_BY in varchar2,
649 p_LAST_MEDICAL_TEST_DATE in DATE,
650 p_MAILSTOP in varchar2,
651 p_OFFICE_NUMBER in varchar2,
652 p_ON_MILITARY_SERVICE in varchar2,
653 p_ORDER_NAME in varchar2,
654 p_PRE_NAME_ADJUNCT in varchar2,
655 p_PROJECTED_START_DATE in DATE,
656 p_REHIRE_AUTHORIZOR in varchar2,
657 p_REHIRE_RECOMMENDATION in varchar2,
658 p_RESUME_EXISTS in varchar2,
659 p_RESUME_LAST_UPDATED in DATE,
660 p_SECOND_PASSPORT_EXISTS in varchar2,
661 p_STUDENT_STATUS in varchar2,
662 p_WORK_SCHEDULE in varchar2,
663 p_PER_INFORMATION21 in varchar2,
664 p_PER_INFORMATION22 in varchar2,
665 p_PER_INFORMATION23 in varchar2,
666 p_PER_INFORMATION24 in varchar2,
667 p_PER_INFORMATION25 in varchar2,
668 p_PER_INFORMATION26 in varchar2,
669 p_PER_INFORMATION27 in varchar2,
670 p_PER_INFORMATION28 in varchar2,
671 p_PER_INFORMATION29 in varchar2,
672 p_PER_INFORMATION30 in varchar2,
673 p_REHIRE_REASON in varchar2,
674 p_BENEFIT_GROUP_ID in number,
675 p_RECEIPT_OF_DEATH_CERT_DATE in date,
676 p_COORD_BEN_MED_PLN_NO in varchar2,
677 p_COORD_BEN_NO_CVG_FLAG in varchar2,
678 p_coord_ben_med_ext_er in varchar2,
679 p_coord_ben_med_pl_name in varchar2,
680 p_coord_ben_med_insr_crr_name in varchar2,
681 p_coord_ben_med_insr_crr_ident in varchar2,
682 p_coord_ben_med_cvg_strt_dt in date,
683 p_coord_ben_med_cvg_end_dt in date,
684 p_USES_TOBACCO_FLAG in varchar2,
685 p_DPDNT_ADOPTION_DATE in date,
686 p_DPDNT_VLNTRY_SVCE_FLAG in varchar2,
687 p_ORIGINAL_DATE_OF_HIRE in date,
688 p_town_of_birth in varchar2,
689 p_region_of_birth in varchar2,
690 p_country_of_birth in varchar2,
691 p_global_person_id in varchar2,
692 p_party_id in number,
693 p_npw_number in varchar2,
697 )
694 p_current_npw_flag in varchar2,
695 p_global_name in varchar2, -- #3889584
696 p_local_name in varchar2
698 Return g_rec_type;
699 --
700 end per_per_shd;