1 Package ghr_pah_shd AUTHID CURRENT_USER as
2 /* $Header: ghpahrhi.pkh 120.0 2005/05/29 03:23:15 appldev noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- | Global Record Type Specification |
6 -- ----------------------------------------------------------------------------
7 --
8 Type g_rec_type Is Record
9 (
10 pa_history_id number(15),
11 pa_request_id number(15),
12 process_date date,
13 nature_of_action_id number(15),
14 effective_date date,
15 altered_pa_request_id number(15),
16 person_id per_people_f.person_id%type,
17 assignment_id number(9),
18 dml_operation varchar2(9), -- Increased length
19 table_name varchar2(30),
20 pre_values_flag varchar2(9), -- Increased length
21 information1 varchar2(255),
22 information2 varchar2(255),
23 information3 varchar2(255),
24 information4 varchar2(255),
25 information5 varchar2(255),
26 information6 varchar2(255),
27 information7 varchar2(255),
28 information8 varchar2(255),
29 information9 varchar2(255),
30 information10 varchar2(255),
31 information11 varchar2(255),
32 information12 varchar2(255),
33 information13 varchar2(255),
34 information14 varchar2(255),
35 information15 varchar2(255),
36 information16 varchar2(255),
37 information17 varchar2(255),
38 information18 varchar2(255),
39 information19 varchar2(255),
40 information20 varchar2(255),
41 information21 varchar2(255),
42 information22 varchar2(255),
43 information23 varchar2(255),
44 information24 varchar2(255),
45 information25 varchar2(255),
46 information26 varchar2(255),
47 information27 varchar2(255),
48 information28 varchar2(255),
49 information29 varchar2(255),
50 information30 varchar2(255),
51 information31 varchar2(255),
52 information32 varchar2(255),
53 information33 varchar2(255),
54 information34 varchar2(255),
55 information35 varchar2(255),
56 information36 varchar2(255),
57 information37 varchar2(255),
58 information38 varchar2(255),
59 information39 varchar2(255),
60 information47 varchar2(255),
61 information48 varchar2(255),
62 information49 varchar2(255),
63 information40 varchar2(255),
64 information41 varchar2(255),
65 information42 varchar2(255),
66 information43 varchar2(255),
67 information44 varchar2(255),
68 information45 varchar2(255),
69 information46 varchar2(255),
70 information50 varchar2(255),
71 information51 varchar2(255),
72 information52 varchar2(255),
73 information53 varchar2(255),
74 information54 varchar2(255),
75 information55 varchar2(255),
76 information56 varchar2(255),
77 information57 varchar2(255),
78 information58 varchar2(255),
79 information59 varchar2(255),
80 information60 varchar2(255),
81 information61 varchar2(255),
82 information62 varchar2(255),
83 information63 varchar2(255),
84 information64 varchar2(255),
85 information65 varchar2(255),
86 information66 varchar2(255),
87 information67 varchar2(255),
88 information68 varchar2(255),
89 information69 varchar2(255),
90 information70 varchar2(255),
91 information71 varchar2(255),
92 information72 varchar2(255),
93 information73 varchar2(255),
94 information74 varchar2(255),
95 information75 varchar2(255),
96 information76 varchar2(255),
97 information77 varchar2(255),
98 information78 varchar2(255),
99 information79 varchar2(255),
100 information80 varchar2(255),
101 information81 varchar2(255),
102 information82 varchar2(255),
103 information83 varchar2(255),
104 information84 varchar2(255),
105 information85 varchar2(255),
106 information86 varchar2(255),
107 information87 varchar2(255),
108 information88 varchar2(255),
109 information89 varchar2(255),
110 information90 varchar2(255),
111 information91 varchar2(255),
112 information92 varchar2(255),
113 information93 varchar2(255),
114 information94 varchar2(255),
115 information95 varchar2(255),
116 information96 varchar2(255),
117 information97 varchar2(255),
118 information98 varchar2(255),
119 information99 varchar2(255),
120 information100 varchar2(255),
121 information101 varchar2(255),
122 information102 varchar2(255),
123 information103 varchar2(255),
124 information104 varchar2(255),
125 information105 varchar2(255),
126 information106 varchar2(255),
127 information107 varchar2(255),
128 information108 varchar2(255),
129 information109 varchar2(255),
130 information110 varchar2(255),
131 information111 varchar2(255),
132 information112 varchar2(255),
133 information113 varchar2(255),
134 information114 varchar2(255),
135 information115 varchar2(255),
136 information116 varchar2(255),
137 information117 varchar2(255),
138 information118 varchar2(255),
139 information119 varchar2(255),
140 information120 varchar2(255),
141 information121 varchar2(255),
142 information122 varchar2(255),
143 information123 varchar2(255),
144 information124 varchar2(255),
145 information125 varchar2(255),
146 information126 varchar2(255),
147 information127 varchar2(255),
148 information128 varchar2(255),
149 information129 varchar2(255),
150 information130 varchar2(255),
151 information131 varchar2(255),
152 information132 varchar2(255),
153 information133 varchar2(255),
154 information134 varchar2(255),
155 information135 varchar2(255),
156 information136 varchar2(255),
157 information137 varchar2(255),
158 information138 varchar2(255),
159 information139 varchar2(255),
160 information140 varchar2(255),
161 information141 varchar2(255),
162 information142 varchar2(255),
163 information143 varchar2(255),
164 information144 varchar2(255),
165 information145 varchar2(255),
166 information146 varchar2(255),
167 information147 varchar2(255),
168 information148 varchar2(255),
169 information149 varchar2(255),
170 information150 varchar2(255),
171 information151 varchar2(255),
172 information152 varchar2(255),
173 information153 varchar2(255),
174 information154 varchar2(255),
175 information155 varchar2(255),
176 information156 varchar2(255),
177 information157 varchar2(255),
178 information158 varchar2(255),
179 information159 varchar2(255),
180 information160 varchar2(255),
181 information161 varchar2(255),
182 information162 varchar2(255),
186 information166 varchar2(255),
183 information163 varchar2(255),
184 information164 varchar2(255),
185 information165 varchar2(255),
187 information167 varchar2(255),
188 information168 varchar2(255),
189 information169 varchar2(255),
190 information170 varchar2(255),
191 information171 varchar2(255),
192 information172 varchar2(255),
193 information173 varchar2(255),
194 information174 varchar2(255),
195 information175 varchar2(255),
196 information176 varchar2(255),
197 information177 varchar2(255),
198 information178 varchar2(255),
199 information179 varchar2(255),
200 information180 varchar2(255),
201 information181 varchar2(255),
202 information182 varchar2(255),
203 information183 varchar2(255),
204 information184 varchar2(255),
205 information185 varchar2(255),
206 information186 varchar2(255),
207 information187 varchar2(255),
208 information188 varchar2(255),
209 information189 varchar2(255),
210 information190 varchar2(255),
211 information191 varchar2(255),
212 information192 varchar2(255),
213 information193 varchar2(255),
214 information194 varchar2(255),
215 information195 varchar2(255),
216 information196 varchar2(255),
217 information197 varchar2(255),
218 information198 varchar2(255),
219 information199 varchar2(255),
220 information200 varchar2(255)
221 );
222 --
223 -- ----------------------------------------------------------------------------
224 -- | Global Definitions - Internal Development Use Only |
225 -- ----------------------------------------------------------------------------
226 --
227 g_old_rec g_rec_type; -- Global record definition
228 g_api_dml boolean; -- Global api dml status
229 --
230 -- ----------------------------------------------------------------------------
231 -- |------------------------< return_api_dml_status >-------------------------|
232 -- ----------------------------------------------------------------------------
233 -- {Start Of Comments}
234 --
235 -- Description:
236 -- This function will return the current g_api_dml private global
237 -- boolean status.
238 -- The g_api_dml status determines if at the time of the function
239 -- being executed if a dml statement (i.e. INSERT, UPDATE or DELETE)
240 -- is being issued from within an api.
241 -- If the status is TRUE then a dml statement is being issued from
242 -- within this entity api.
243 -- This function is primarily to support database triggers which
244 -- need to maintain the object_version_number for non-supported
245 -- dml statements (i.e. dml statement issued outside of the api layer).
246 --
247 -- Prerequisites:
248 -- None.
249 --
250 -- In Parameters:
251 -- None.
252 --
253 -- Post Success:
254 -- Processing continues.
255 -- If the function returns a TRUE value then, dml is being executed from
256 -- within this api.
257 --
258 -- Post Failure:
259 -- None.
260 --
261 -- Access Status:
262 -- Internal Row Handler Use Only.
263 --
264 -- {End Of Comments}
265 -- ----------------------------------------------------------------------------
266 Function return_api_dml_status Return Boolean;
267 --
268 -- ----------------------------------------------------------------------------
269 -- |---------------------------< constraint_error >---------------------------|
270 -- ----------------------------------------------------------------------------
271 -- {Start Of Comments}
272 --
273 -- Description:
274 -- This procedure is called when a constraint has been violated (i.e.
275 -- The exception hr_api.check_integrity_violated,
276 -- hr_api.parent_integrity_violated, hr_api.child_integrity_violated or
277 -- hr_api.unique_integrity_violated has been raised).
278 -- The exceptions can only be raised as follows:
279 -- 1) A check constraint can only be violated during an INSERT or UPDATE
280 -- dml operation.
281 -- 2) A parent integrity constraint can only be violated during an
282 -- INSERT or UPDATE dml operation.
283 -- 3) A child integrity constraint can only be violated during an
284 -- DELETE dml operation.
285 -- 4) A unique integrity constraint can only be violated during INSERT or
286 -- UPDATE dml operation.
287 --
288 -- Prerequisites:
289 -- 1) Either hr_api.check_integrity_violated,
290 -- hr_api.parent_integrity_violated, hr_api.child_integrity_violated or
291 -- hr_api.unique_integrity_violated has been raised with the subsequent
292 -- stripping of the constraint name from the generated error message
293 -- text.
294 -- 2) Standalone validation test which corresponds with a constraint error.
295 --
296 -- In Parameter:
297 -- p_constraint_name is in upper format and is just the constraint name
298 -- (e.g. not prefixed by brackets, schema owner etc).
299 --
300 -- Post Success:
301 -- Development dependant.
302 --
303 -- Post Failure:
304 -- Developement dependant.
305 --
306 -- Developer Implementation Notes:
307 -- For each constraint being checked the hr system package failure message
308 -- has been generated as a template only. These system error messages should
312 -- Access Status:
309 -- be modified as required (i.e. change the system failure message to a user
310 -- friendly defined error message).
311 --
313 -- Internal Development Use Only.
314 --
315 -- {End Of Comments}
316 -- ----------------------------------------------------------------------------
317 Procedure constraint_error
318 (p_constraint_name in all_constraints.constraint_name%TYPE);
319 --
320 -- ----------------------------------------------------------------------------
321 -- |-----------------------------< api_updating >-----------------------------|
322 -- ----------------------------------------------------------------------------
323 -- {Start Of Comments}
324 --
325 -- Description:
326 -- This function is used to populate the g_old_rec record with the
327 -- current row from the database for the specified primary key
328 -- provided that the primary key exists and is valid and does not
329 -- already match the current g_old_rec. The function will always return
330 -- a TRUE value if the g_old_rec is populated with the current row.
331 -- A FALSE value will be returned if all of the primary key arguments
332 -- are null.
333 --
334 -- Prerequisites:
335 -- None.
336 --
337 -- In Parameters:
338 --
339 -- Post Success:
340 -- A value of TRUE will be returned indiciating that the g_old_rec
341 -- is current.
342 -- A value of FALSE will be returned if all of the primary key arguments
343 -- have a null value (this indicates that the row has not be inserted into
344 -- the Schema), and therefore could never have a corresponding row.
345 --
346 -- Post Failure:
347 -- A failure can only occur under two circumstances:
348 -- 1) The primary key is invalid (i.e. a row does not exist for the
349 -- specified primary key values).
350 -- 2) If an object_version_number exists but is NOT the same as the current
351 -- g_old_rec value.
352 --
353 -- Developer Implementation Notes:
354 -- None.
355 --
356 -- Access Status:
357 -- Internal Development Use Only.
358 --
359 -- {End Of Comments}
360 -- ----------------------------------------------------------------------------
361 Function api_updating
362 (
363 p_pa_history_id in number
364 ) Return Boolean;
365 --
366 -- ----------------------------------------------------------------------------
367 -- |---------------------------------< lck >----------------------------------|
368 -- ----------------------------------------------------------------------------
369 -- {Start Of Comments}
370 --
371 -- Description:
372 -- The Lck process has two main functions to perform. Firstly, the row to be
373 -- updated or deleted must be locked. The locking of the row will only be
374 -- successful if the row is not currently locked by another user.
375 -- Secondly, during the locking of the row, the row is selected into
376 -- the g_old_rec data structure which enables the current row values from the
377 -- server to be available to the api.
378 --
379 -- Prerequisites:
380 -- When attempting to call the lock the object version number (if defined)
381 -- is mandatory.
382 --
383 -- In Parameters:
384 -- The arguments to the Lck process are the primary key(s) which uniquely
385 -- identify the row and the object version number of row.
386 --
387 -- Post Success:
388 -- On successful completion of the Lck process the row to be updated or
389 -- deleted will be locked and selected into the global data structure
390 -- g_old_rec.
391 --
392 -- Post Failure:
393 -- The Lck process can fail for three reasons:
394 -- 1) When attempting to lock the row the row could already be locked by
395 -- another user. This will raise the HR_Api.Object_Locked exception.
396 -- 2) The row which is required to be locked doesn't exist in the HR Schema.
397 -- This error is trapped and reported using the message name
398 -- 'HR_7220_INVALID_PRIMARY_KEY'.
399 -- 3) The row although existing in the HR Schema has a different object
400 -- version number than the object version number specified.
401 -- This error is trapped and reported using the message name
402 -- 'HR_7155_OBJECT_INVALID'.
403 --
404 -- Developer Implementation Notes:
405 -- For each primary key and the object version number arguments add a
406 -- call to hr_api.mandatory_arg_error procedure to ensure that these
407 -- argument values are not null.
408 --
409 -- Access Status:
410 -- Internal Development Use Only.
411 --
412 -- {End Of Comments}
413 -- ----------------------------------------------------------------------------
414 Procedure lck
415 (
416 p_pa_history_id in number
417 );
418 --
419 -- ----------------------------------------------------------------------------
420 -- |-----------------------------< convert_args >-----------------------------|
421 -- ----------------------------------------------------------------------------
422 -- {Start Of Comments}
423 --
424 -- Description:
425 -- This function is used to turn attribute parameters into the record
426 -- structure parameter g_rec_type.
427 --
428 -- Prerequisites:
429 -- This is a private function and can only be called from the ins or upd
430 -- attribute processes.
431 --
432 -- In Parameters:
433 --
434 -- Post Success:
435 -- A returning record structure will be returned.
436 --
437 -- Post Failure:
438 -- No direct error handling is required within this function. Any possible
439 -- errors within this function will be a PL/SQL value error due to conversion
440 -- of datatypes or data lengths.
441 --
442 -- Developer Implementation Notes:
443 -- None.
444 --
445 -- Access Status:
446 -- Internal Row Handler Use Only.
447 --
448 -- {End Of Comments}
452 p_pa_history_id in number,
449 -- ----------------------------------------------------------------------------
450 Function convert_args
451 (
453 p_pa_request_id in number,
454 p_process_date in date,
455 p_nature_of_action_id in number,
456 p_effective_date in date,
457 p_altered_pa_request_id in number,
458 p_person_id in number,
459 p_assignment_id in number,
460 p_dml_operation in varchar2,
461 p_table_name in varchar2,
462 p_pre_values_flag in varchar2,
463 p_information1 in varchar2,
464 p_information2 in varchar2,
465 p_information3 in varchar2,
466 p_information4 in varchar2,
467 p_information5 in varchar2,
468 p_information6 in varchar2,
469 p_information7 in varchar2,
470 p_information8 in varchar2,
471 p_information9 in varchar2,
472 p_information10 in varchar2,
473 p_information11 in varchar2,
474 p_information12 in varchar2,
475 p_information13 in varchar2,
476 p_information14 in varchar2,
477 p_information15 in varchar2,
478 p_information16 in varchar2,
479 p_information17 in varchar2,
480 p_information18 in varchar2,
481 p_information19 in varchar2,
482 p_information20 in varchar2,
483 p_information21 in varchar2,
484 p_information22 in varchar2,
485 p_information23 in varchar2,
486 p_information24 in varchar2,
487 p_information25 in varchar2,
488 p_information26 in varchar2,
489 p_information27 in varchar2,
490 p_information28 in varchar2,
491 p_information29 in varchar2,
492 p_information30 in varchar2,
493 p_information31 in varchar2,
494 p_information32 in varchar2,
495 p_information33 in varchar2,
496 p_information34 in varchar2,
497 p_information35 in varchar2,
498 p_information36 in varchar2,
499 p_information37 in varchar2,
500 p_information38 in varchar2,
501 p_information39 in varchar2,
502 p_information47 in varchar2,
503 p_information48 in varchar2,
504 p_information49 in varchar2,
505 p_information40 in varchar2,
506 p_information41 in varchar2,
507 p_information42 in varchar2,
508 p_information43 in varchar2,
509 p_information44 in varchar2,
510 p_information45 in varchar2,
511 p_information46 in varchar2,
512 p_information50 in varchar2,
513 p_information51 in varchar2,
514 p_information52 in varchar2,
515 p_information53 in varchar2,
516 p_information54 in varchar2,
517 p_information55 in varchar2,
518 p_information56 in varchar2,
519 p_information57 in varchar2,
520 p_information58 in varchar2,
521 p_information59 in varchar2,
522 p_information60 in varchar2,
523 p_information61 in varchar2,
524 p_information62 in varchar2,
525 p_information63 in varchar2,
526 p_information64 in varchar2,
527 p_information65 in varchar2,
528 p_information66 in varchar2,
529 p_information67 in varchar2,
530 p_information68 in varchar2,
531 p_information69 in varchar2,
532 p_information70 in varchar2,
533 p_information71 in varchar2,
534 p_information72 in varchar2,
535 p_information73 in varchar2,
536 p_information74 in varchar2,
537 p_information75 in varchar2,
538 p_information76 in varchar2,
539 p_information77 in varchar2,
540 p_information78 in varchar2,
541 p_information79 in varchar2,
542 p_information80 in varchar2,
543 p_information81 in varchar2,
544 p_information82 in varchar2,
545 p_information83 in varchar2,
546 p_information84 in varchar2,
547 p_information85 in varchar2,
548 p_information86 in varchar2,
549 p_information87 in varchar2,
550 p_information88 in varchar2,
551 p_information89 in varchar2,
552 p_information90 in varchar2,
553 p_information91 in varchar2,
554 p_information92 in varchar2,
555 p_information93 in varchar2,
556 p_information94 in varchar2,
557 p_information95 in varchar2,
558 p_information96 in varchar2,
559 p_information97 in varchar2,
560 p_information98 in varchar2,
561 p_information99 in varchar2,
562 p_information100 in varchar2,
563 p_information101 in varchar2,
564 p_information102 in varchar2,
565 p_information103 in varchar2,
566 p_information104 in varchar2,
567 p_information105 in varchar2,
568 p_information106 in varchar2,
569 p_information107 in varchar2,
570 p_information108 in varchar2,
571 p_information109 in varchar2,
572 p_information110 in varchar2,
573 p_information111 in varchar2,
574 p_information112 in varchar2,
575 p_information113 in varchar2,
576 p_information114 in varchar2,
577 p_information115 in varchar2,
578 p_information116 in varchar2,
579 p_information117 in varchar2,
580 p_information118 in varchar2,
581 p_information119 in varchar2,
582 p_information120 in varchar2,
583 p_information121 in varchar2,
584 p_information122 in varchar2,
585 p_information123 in varchar2,
586 p_information124 in varchar2,
587 p_information125 in varchar2,
588 p_information126 in varchar2,
589 p_information127 in varchar2,
590 p_information128 in varchar2,
591 p_information129 in varchar2,
592 p_information130 in varchar2,
593 p_information131 in varchar2,
594 p_information132 in varchar2,
595 p_information133 in varchar2,
596 p_information134 in varchar2,
597 p_information135 in varchar2,
598 p_information136 in varchar2,
599 p_information137 in varchar2,
600 p_information138 in varchar2,
601 p_information139 in varchar2,
602 p_information140 in varchar2,
603 p_information141 in varchar2,
604 p_information142 in varchar2,
605 p_information143 in varchar2,
606 p_information144 in varchar2,
607 p_information145 in varchar2,
608 p_information146 in varchar2,
609 p_information147 in varchar2,
610 p_information148 in varchar2,
611 p_information149 in varchar2,
612 p_information150 in varchar2,
613 p_information151 in varchar2,
614 p_information152 in varchar2,
615 p_information153 in varchar2,
616 p_information154 in varchar2,
617 p_information155 in varchar2,
618 p_information156 in varchar2,
619 p_information157 in varchar2,
620 p_information158 in varchar2,
621 p_information159 in varchar2,
622 p_information160 in varchar2,
623 p_information161 in varchar2,
624 p_information162 in varchar2,
625 p_information163 in varchar2,
626 p_information164 in varchar2,
627 p_information165 in varchar2,
628 p_information166 in varchar2,
629 p_information167 in varchar2,
630 p_information168 in varchar2,
631 p_information169 in varchar2,
632 p_information170 in varchar2,
633 p_information171 in varchar2,
634 p_information172 in varchar2,
635 p_information173 in varchar2,
636 p_information174 in varchar2,
637 p_information175 in varchar2,
638 p_information176 in varchar2,
639 p_information177 in varchar2,
640 p_information178 in varchar2,
641 p_information179 in varchar2,
642 p_information180 in varchar2,
643 p_information181 in varchar2,
644 p_information182 in varchar2,
645 p_information183 in varchar2,
646 p_information184 in varchar2,
647 p_information185 in varchar2,
648 p_information186 in varchar2,
649 p_information187 in varchar2,
650 p_information188 in varchar2,
651 p_information189 in varchar2,
652 p_information190 in varchar2,
653 p_information191 in varchar2,
654 p_information192 in varchar2,
655 p_information193 in varchar2,
656 p_information194 in varchar2,
657 p_information195 in varchar2,
658 p_information196 in varchar2,
659 p_information197 in varchar2,
660 p_information198 in varchar2,
661 p_information199 in varchar2,
662 p_information200 in varchar2
663 )
664 Return g_rec_type;
665 --
666 end ghr_pah_shd;