DBA Data[Home] [Help]

PACKAGE BODY: APPS.PER_REQUISITIONS_PKG

Source


1 PACKAGE BODY PER_REQUISITIONS_PKG as
2 /* $Header: pereq01t.pkb 115.3 2003/01/27 15:53:35 irgonzal ship $ */
3 --
4 /*   +======================================================================+
5      |          Copyright (c) 1993 Oracle Corporation                       |
6      |             Redwood Shores, California, USA                          |
7      |                  All rights reserved.                                |
8      +=======================================================================
9   Name
10     PER_REQUISITIONS_PKG
11   Purpose
12     Supports the REQUISITION block in the form PERWSVAC (Define Requisition
13     and Vacancy).
14   Notes
15 
16   History
17     13-APR-94  H.Minton   40.0         Date created.
18     23-NOV-94  RFine      70.3         Suppressed index on business_group_id
19     02-FEB-95  DKerrr     70.5         Removed WHO columns for Set8 changes.
20     05-MAR-97  JAlloun    70.6         Changed all occurances of system.dual
21                                        to sys.dual for next release requirements.
22     28-MAY-99  CCarter    115.2        Set token removed after message 6124.
23     27-JAN-03  irgonzal   115.3        Bug fix 2743416: modified
24                                        Date_from_raised_by procedure.
25 
26 =============================================================================*/
27 --
28 -----------------------------------------------------------------------------
29 -- Name                                                                    --
30 --   Check_Unique_Name                                                     --
31 -- Purpose                                                                 --
32 --   checks that the requisition name is unique. Called from the client    --
33 --   side package REQUISITION_ITEMS from the procedure 'name'. Called      --
34 --   on WHEN-VALIDATE-ITEM from Name.                                      --
35 --                                                                         --
36 -----------------------------------------------------------------------------
37 --
38 PROCEDURE Check_Unique_Name(P_Name                      VARCHAR2,
39                             P_Business_group_id         NUMBER,
40                             P_rowid                     VARCHAR2)  IS
41 
42    CURSOR name_exists IS
43                        SELECT 1
44                        FROM   per_requisitions  r
45                        WHERE  r.NAME                = p_Name
46                        AND    r.business_group_id + 0   = P_business_group_id
47                        AND    (P_rowid             <> r.rowid
48                                                     or P_rowid is NULL);
49 v_dummy number;
50 --
51 BEGIN
52 --
53   OPEN name_exists;
54   FETCH name_exists into v_dummy;
55      IF name_exists%found THEN
56         CLOSE name_exists;
57         fnd_message.set_name('PER', 'HR_6123_ALL_UNIQUE_NAME');
58         fnd_message.set_token('INFORMATION_TYPE','requisition');
59         hr_utility.raise_error;
60      ELSE CLOSE name_exists;
61      END IF;
62 END Check_Unique_Name;
63 --
64 -----------------------------------------------------------------------------
65 -- Name                                                                    --
66 --   chk_date_from                                                         --
67 -- Purpose                                                                 --
68 --   checks that the requisition date_from is within the vacancy dates     --
69 -- Arguments								   --
70 --   see below.
71 -----------------------------------------------------------------------------
72 --
73 PROCEDURE chk_date_from(P_Date_from                 DATE,
74                         P_Business_group_id         NUMBER,
75                         P_Requisition_id            NUMBER)  IS
76 
77     CURSOR C_chk_date_from IS
78                       SELECT 1
79 		      FROM   PER_VACANCIES PV
80                       WHERE  P_Requisition_id      = PV.REQUISITION_ID
81                       AND    PV.business_group_id + 0  = P_Business_group_id
82                       AND    P_Date_from           > PV.DATE_FROM;
83 
84 
85 v_dummy number;
86 --
87 BEGIN
88 --
89   OPEN C_chk_date_from;
90   FETCH C_chk_date_from into v_dummy;
91     IF C_chk_date_from%found THEN
92         CLOSE C_chk_date_from;
93         fnd_message.set_name('PER','HR_6834_VACS_REQ_IN_VAC_DATES');
94         hr_utility.raise_error;
95     ELSE CLOSE C_chk_date_from;
96     END IF;
97 
98 
99 END chk_date_from;
100 --
101 -----------------------------------------------------------------------------
102 -- Name                                                                    --
103 --   Date_from_raised_by                                                   --
104 -- Purpose                                                                 --
105 --   checks that the requisition date_from does not invalidate the person  --
106 --   who raised the requisition, if such a person exists.                  --
107 -- Arguments								   --
108 --   see below.                                                            --
109 -----------------------------------------------------------------------------
110 --
111 -- 2743416: Business Group parameter is not necessary.
112 -- It might cause problems when Cross BG profile option is set to 'Y'.
113 --
114 PROCEDURE Date_from_raised_by(P_Person_id		NUMBER,
115                               P_Business_group_id	NUMBER,
116                               P_Date_from		DATE)     IS
117 
118 	CURSOR C_chk_raised_by IS
119                SELECT 1
120 	       FROM   PER_ALL_PEOPLE_F P
121                WHERE  P_Person_id         = P.PERSON_ID
122                --AND    P_business_group_id + 0 = P.BUSINESS_GROUP_ID
123                AND    P_Date_from   between P.EFFECTIVE_START_DATE
124                                     and     P.EFFECTIVE_END_DATE;
125 
126 v_dummy number;
127 --
128 BEGIN
129 --
130   OPEN C_chk_raised_by;
131   FETCH C_chk_raised_by into v_dummy;
132    IF C_chk_raised_by%NOTFOUND THEN
133       CLOSE C_chk_raised_by;
134        fnd_message.set_name('PER','HR_6643_VACS_RAISED_BY');
135        hr_utility.raise_error;
136    ELSE CLOSE C_chk_raised_by;
137    END IF;
138 
139 END Date_from_raised_by;
140 
141 --
142 -----------------------------------------------------------------------------
143 -- Name                                                                    --
144 --   Date_to_in_vac_dates                                                  --
145 -- Purpose                                                                 --
146 --   checks that the requisition date_to does not invalidate the person    --
147 --   who raised the requisition, if such a person exists.                  --
148 -- Arguments								   --
149 --   see below.                                                            --
150 -----------------------------------------------------------------------------
151 --
152 PROCEDURE Date_to_in_vac_dates(P_Requisition_id		NUMBER,
153                                P_Business_group_id	NUMBER,
154                                P_Date_to		DATE)     IS
155 
156 	CURSOR C_date_to_val IS
157                SELECT 1
158 	       FROM   PER_VACANCIES PV
159                WHERE  P_Requisition_id    = PV.REQUISITION_ID
160                AND    P_business_group_id + 0 = PV.BUSINESS_GROUP_ID
161                AND    PV.DATE_TO IS NOT NULL
162                AND    P_Date_to           < PV.DATE_TO;
163 
164 v_dummy number;
165 --
166 BEGIN
167 --
168   OPEN C_date_to_val;
169   FETCH C_date_to_val into v_dummy;
170    IF C_date_to_val%FOUND THEN
171       CLOSE C_date_to_val;
172        fnd_message.set_name('PER','HR_6835_VACS_REQ_DATE_TO');
173        hr_utility.raise_error;
174    ELSE CLOSE C_date_to_val;
175    END IF;
176 
177 END Date_to_in_vac_dates;
178 ----------------------------------------------------------------------------
179 -- Name                                                                    --
180 --   Check_References                                                      --
181 -- Purpose                                                                 --
182 --   checks that deletes cannot take place of child records of vacancies   --
183 --   exist.                                                                --
184 -----------------------------------------------------------------------------
185 --
186 PROCEDURE Check_References(P_requisition_id		NUMBER,
187                            P_Business_group_id		NUMBER)    IS
188 
189 
190 	CURSOR C_check_references IS
191                SELECT PR.NAME
192                FROM   PER_VACANCIES PV,
193                       PER_REQUISITIONS PR
194                WHERE  PV.REQUISITION_ID    = P_requisition_id
195                AND    PR.REQUISITION_ID    = P_requisition_id
196                AND    PR.business_group_id + 0 = P_Business_group_id
197                AND    PV.business_group_id + 0 = P_Business_group_id;
198 
199 v_name VARCHAR2(30);
200 --
201 BEGIN
202 --
203   OPEN C_Check_References;
204   FETCH C_Check_References into v_name;
205   IF C_Check_References%FOUND THEN
206      CLOSE C_Check_References;
207      fnd_message.set_name('PER','HR_6124_REQS_VACS_DEL_VACANCY');
208      hr_utility.raise_error;
209   ELSE CLOSE C_Check_References;
210   END IF;
211 
212 END Check_References;
213 --
214 ------------------------------------------------------------------------------
215 --
216 PROCEDURE Insert_Row(X_Rowid                 IN OUT NOCOPY VARCHAR2,
217                      X_Requisition_Id        IN OUT NOCOPY NUMBER,
218                      X_Business_Group_Id                   NUMBER,
219                      X_Person_Id                           NUMBER,
220                      X_Date_From                           DATE,
221                      X_Name                                VARCHAR2,
222                      X_Comments                            VARCHAR2,
223                      X_Date_To                             DATE,
224                      X_Description                         VARCHAR2,
225                      X_Attribute_Category                  VARCHAR2,
226                      X_Attribute1                          VARCHAR2,
227                      X_Attribute2                          VARCHAR2,
228                      X_Attribute3                          VARCHAR2,
229                      X_Attribute4                          VARCHAR2,
230                      X_Attribute5                          VARCHAR2,
234                      X_Attribute9                          VARCHAR2,
231                      X_Attribute6                          VARCHAR2,
232                      X_Attribute7                          VARCHAR2,
233                      X_Attribute8                          VARCHAR2,
235                      X_Attribute10                         VARCHAR2,
236                      X_Attribute11                         VARCHAR2,
237                      X_Attribute12                         VARCHAR2,
238                      X_Attribute13                         VARCHAR2,
239                      X_Attribute14                         VARCHAR2,
240                      X_Attribute15                         VARCHAR2,
241                      X_Attribute16                         VARCHAR2,
242                      X_Attribute17                         VARCHAR2,
243                      X_Attribute18                         VARCHAR2,
244                      X_Attribute19                         VARCHAR2,
245                      X_Attribute20                         VARCHAR2)
246 IS
247    CURSOR C IS SELECT rowid
248                FROM  PER_REQUISITIONS
249                WHERE requisition_id = X_Requisition_Id;
250 --
251     CURSOR C2 IS SELECT per_requisitions_s.nextval
252                  FROM sys.dual;
253 BEGIN
254 
255    if (X_Requisition_Id is NULL) then
256      OPEN C2;
257       FETCH C2 INTO X_Requisition_Id;
258      CLOSE C2;
259    end if;
260   INSERT INTO PER_REQUISITIONS
261          ( requisition_id,
262           business_group_id,
263           person_id,
264           date_from,
265           name,
266           comments,
267           date_to,
268           description,
269           attribute_category,
270           attribute1,
271           attribute2,
272           attribute3,
273           attribute4,
274           attribute5,
275           attribute6,
276           attribute7,
277           attribute8,
278           attribute9,
279           attribute10,
280           attribute11,
281           attribute12,
282           attribute13,
283           attribute14,
284           attribute15,
285           attribute16,
286           attribute17,
287           attribute18,
288           attribute19,
289           attribute20)
290   VALUES (
291           X_Requisition_Id,
292           X_Business_Group_Id,
293           X_Person_Id,
294           X_Date_From,
295           X_Name,
296           X_Comments,
297           X_Date_To,
298           X_Description,
299           X_Attribute_Category,
300           X_Attribute1,
301           X_Attribute2,
302           X_Attribute3,
303           X_Attribute4,
304           X_Attribute5,
305           X_Attribute6,
306           X_Attribute7,
307           X_Attribute8,
308           X_Attribute9,
309           X_Attribute10,
310           X_Attribute11,
311           X_Attribute12,
312           X_Attribute13,
313           X_Attribute14,
314           X_Attribute15,
315           X_Attribute16,
316           X_Attribute17,
317           X_Attribute18,
318           X_Attribute19,
319           X_Attribute20);
320 
321   OPEN C;
322   FETCH C INTO X_Rowid;
323   if (C%NOTFOUND) then
324     CLOSE C;
325     hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
326     hr_utility.set_message_token('PROCEDURE',
327                                  'per_requisitions_pkg.insert_row');
328     hr_utility.set_message_token('STEP','1');
329     hr_utility.raise_error;
330   end if;
331   CLOSE C;
332 END Insert_Row;
333 --
334 -----------------------------------------------------------------------------
335 -- Name                                                                    --
339 --   Requistion and Vacancy form.                                            --
336 --   Lock_Row                                                              --
337 -- Purpose                                                                 --
338 --   Table handler procedure that supports the insert , update and delete  --
340 -- Arguments                                                               --
341 -- Notes                                                                   --
342 --   None.                                                                 --
343 -----------------------------------------------------------------------------
344 --
345 PROCEDURE Lock_Row(X_Rowid                                 VARCHAR2,
346                    X_Requisition_Id                        NUMBER,
347                    X_Business_Group_Id                     NUMBER,
348                    X_Person_Id                             NUMBER,
349                    X_Date_From                             DATE,
350                    X_Name                                  VARCHAR2,
351                    X_Comments                              VARCHAR2,
352                    X_Date_To                               DATE,
353                    X_Description                           VARCHAR2,
354                    X_Attribute_Category                    VARCHAR2,
355                    X_Attribute1                            VARCHAR2,
356                    X_Attribute2                            VARCHAR2,
357                    X_Attribute3                            VARCHAR2,
358                    X_Attribute4                            VARCHAR2,
359                    X_Attribute5                            VARCHAR2,
360                    X_Attribute6                            VARCHAR2,
361                    X_Attribute7                            VARCHAR2,
362                    X_Attribute8                            VARCHAR2,
363                    X_Attribute9                            VARCHAR2,
364                    X_Attribute10                           VARCHAR2,
365                    X_Attribute11                           VARCHAR2,
366                    X_Attribute12                           VARCHAR2,
367                    X_Attribute13                           VARCHAR2,
368                    X_Attribute14                           VARCHAR2,
369                    X_Attribute15                           VARCHAR2,
370                    X_Attribute16                           VARCHAR2,
371                    X_Attribute17                           VARCHAR2,
372                    X_Attribute18                           VARCHAR2,
373                    X_Attribute19                           VARCHAR2,
374                    X_Attribute20                           VARCHAR2)
375 IS
376   CURSOR C IS
377       SELECT *
378       FROM   PER_REQUISITIONS
379       WHERE  rowid = X_Rowid
380       FOR UPDATE of Requisition_Id NOWAIT;
381   Recinfo C%ROWTYPE;
382 
383 BEGIN
384   OPEN C;
385   FETCH C INTO Recinfo;
386   if (C%NOTFOUND) then
387     CLOSE C;
388     hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
389     hr_utility.set_message_token('PROCEDURE',
390                                  'per_requistions_pkg.lock_row');
391     hr_utility.set_message_token('STEP','1');
392     hr_utility.raise_error;
393   end if;
394   CLOSE C;
395 --
396 Recinfo.name := rtrim(Recinfo.name);
397 Recinfo.comments := rtrim(Recinfo.comments);
398 Recinfo.description := rtrim(Recinfo.description);
399 Recinfo.attribute_category := rtrim(Recinfo.attribute_category);
400 Recinfo.attribute1 := rtrim(Recinfo.attribute1);
401 Recinfo.attribute2 := rtrim(Recinfo.attribute2);
402 Recinfo.attribute3 := rtrim(Recinfo.attribute3);
403 Recinfo.attribute4 := rtrim(Recinfo.attribute4);
407 Recinfo.attribute8 := rtrim(Recinfo.attribute8);
404 Recinfo.attribute5 := rtrim(Recinfo.attribute5);
405 Recinfo.attribute6 := rtrim(Recinfo.attribute6);
406 Recinfo.attribute7 := rtrim(Recinfo.attribute7);
408 Recinfo.attribute9 := rtrim(Recinfo.attribute9);
409 Recinfo.attribute10 := rtrim(Recinfo.attribute10);
410 Recinfo.attribute11 := rtrim(Recinfo.attribute11);
411 Recinfo.attribute12 := rtrim(Recinfo.attribute12);
412 Recinfo.attribute13 := rtrim(Recinfo.attribute13);
413 Recinfo.attribute14 := rtrim(Recinfo.attribute14);
414 Recinfo.attribute15 := rtrim(Recinfo.attribute15);
415 Recinfo.attribute16 := rtrim(Recinfo.attribute16);
416 Recinfo.attribute17 := rtrim(Recinfo.attribute17);
417 Recinfo.attribute18 := rtrim(Recinfo.attribute18);
418 Recinfo.attribute19 := rtrim(Recinfo.attribute19);
419 Recinfo.attribute20 := rtrim(Recinfo.attribute20);
420 --
421   if (
422           (   (Recinfo.requisition_id = X_Requisition_Id)
423            OR (    (Recinfo.requisition_id IS NULL)
424                AND (X_Requisition_Id IS NULL)))
425       AND (   (Recinfo.business_group_id = X_Business_Group_Id)
426            OR (    (Recinfo.business_group_id IS NULL)
427                AND (X_Business_Group_Id IS NULL)))
428       AND (   (Recinfo.person_id = X_Person_Id)
429            OR (    (Recinfo.person_id IS NULL)
430                AND (X_Person_Id IS NULL)))
431       AND (   (Recinfo.date_from = X_Date_From)
432            OR (    (Recinfo.date_from IS NULL)
433                AND (X_Date_From IS NULL)))
434       AND (   (Recinfo.name = X_Name)
435            OR (    (Recinfo.name IS NULL)
436                AND (X_Name IS NULL)))
437       AND (   (Recinfo.comments = X_Comments)
438            OR (    (Recinfo.comments IS NULL)
439                AND (X_Comments IS NULL)))
440       AND (   (Recinfo.date_to = X_Date_To)
441            OR (    (Recinfo.date_to IS NULL)
442                AND (X_Date_To IS NULL)))
443       AND (   (Recinfo.description = X_Description)
444            OR (    (Recinfo.description IS NULL)
445                AND (X_Description IS NULL)))
446       AND (   (Recinfo.attribute_category = X_Attribute_Category)
447            OR (    (Recinfo.attribute_category IS NULL)
448                AND (X_Attribute_Category IS NULL)))
449       AND (   (Recinfo.attribute1 = X_Attribute1)
450            OR (    (Recinfo.attribute1 IS NULL)
451                AND (X_Attribute1 IS NULL)))
452       AND (   (Recinfo.attribute2 = X_Attribute2)
453            OR (    (Recinfo.attribute2 IS NULL)
454                AND (X_Attribute2 IS NULL)))
455       AND (   (Recinfo.attribute3 = X_Attribute3)
456            OR (    (Recinfo.attribute3 IS NULL)
457                AND (X_Attribute3 IS NULL)))
458       AND (   (Recinfo.attribute4 = X_Attribute4)
459            OR (    (Recinfo.attribute4 IS NULL)
460                AND (X_Attribute4 IS NULL)))
461       AND (   (Recinfo.attribute5 = X_Attribute5)
462            OR (    (Recinfo.attribute5 IS NULL)
463                AND (X_Attribute5 IS NULL)))
464       AND (   (Recinfo.attribute6 = X_Attribute6)
465            OR (    (Recinfo.attribute6 IS NULL)
466                AND (X_Attribute6 IS NULL)))
467       AND (   (Recinfo.attribute7 = X_Attribute7)
468            OR (    (Recinfo.attribute7 IS NULL)
469                AND (X_Attribute7 IS NULL)))
470       AND (   (Recinfo.attribute8 = X_Attribute8)
471            OR (    (Recinfo.attribute8 IS NULL)
472                AND (X_Attribute8 IS NULL)))
473       AND (   (Recinfo.attribute9 = X_Attribute9)
474            OR (    (Recinfo.attribute9 IS NULL)
475                AND (X_Attribute9 IS NULL)))
476       AND (   (Recinfo.attribute10 = X_Attribute10)
477            OR (    (Recinfo.attribute10 IS NULL)
478                AND (X_Attribute10 IS NULL)))
479       AND (   (Recinfo.attribute11 = X_Attribute11)
480            OR (    (Recinfo.attribute11 IS NULL)
481                AND (X_Attribute11 IS NULL)))
482       AND (   (Recinfo.attribute12 = X_Attribute12)
483            OR (    (Recinfo.attribute12 IS NULL)
484                AND (X_Attribute12 IS NULL)))
485       AND (   (Recinfo.attribute13 = X_Attribute13)
486            OR (    (Recinfo.attribute13 IS NULL)
487                AND (X_Attribute13 IS NULL)))
488       AND (   (Recinfo.attribute14 = X_Attribute14)
489            OR (    (Recinfo.attribute14 IS NULL)
490                AND (X_Attribute14 IS NULL)))
491       AND (   (Recinfo.attribute15 = X_Attribute15)
492            OR (    (Recinfo.attribute15 IS NULL)
493                AND (X_Attribute15 IS NULL)))
494       AND (   (Recinfo.attribute16 = X_Attribute16)
495            OR (    (Recinfo.attribute16 IS NULL)
496                AND (X_Attribute16 IS NULL)))
497       AND (   (Recinfo.attribute17 = X_Attribute17)
498            OR (    (Recinfo.attribute17 IS NULL)
499                AND (X_Attribute17 IS NULL)))
500       AND (   (Recinfo.attribute18 = X_Attribute18)
501            OR (    (Recinfo.attribute18 IS NULL)
502                AND (X_Attribute18 IS NULL)))
503       AND (   (Recinfo.attribute19 = X_Attribute19)
504            OR (    (Recinfo.attribute19 IS NULL)
505                AND (X_Attribute19 IS NULL)))
506       AND (   (Recinfo.attribute20 = X_Attribute20)
507            OR (    (Recinfo.attribute20 IS NULL)
508                AND (X_Attribute20 IS NULL)))
509           ) then
510     return;
511   else
512     FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
513     APP_EXCEPTION.RAISE_EXCEPTION;
514   end if;
515 END Lock_Row;
516 --
517 -----------------------------------------------------------------------------
521 --   Table handler procedure that supports the update of a REQUISTION via     --
518 -- Name                                                                    --
519 --   Update_Row                                                            --
520 -- Purpose                                                                 --
522 --   DefineREquistion and Vacancyform.                                     --
523 -- Arguments                                                               --
524 --   See below.                                                            --
525 -- Notes                                                                   --
526 --   None.                                                                 --
527 -----------------------------------------------------------------------------
528 --
529 PROCEDURE Update_Row(X_Rowid                               VARCHAR2,
530                      X_Requisition_Id                      NUMBER,
531                      X_Business_Group_Id                   NUMBER,
532                      X_Person_Id                           NUMBER,
533                      X_Date_From                           DATE,
534                      X_Name                                VARCHAR2,
535                      X_Comments                            VARCHAR2,
536                      X_Date_To                             DATE,
537                      X_Description                         VARCHAR2,
538                      X_Attribute_Category                  VARCHAR2,
539                      X_Attribute1                          VARCHAR2,
540                      X_Attribute2                          VARCHAR2,
541                      X_Attribute3                          VARCHAR2,
542                      X_Attribute4                          VARCHAR2,
543                      X_Attribute5                          VARCHAR2,
544                      X_Attribute6                          VARCHAR2,
545                      X_Attribute7                          VARCHAR2,
546                      X_Attribute8                          VARCHAR2,
547                      X_Attribute9                          VARCHAR2,
548                      X_Attribute10                         VARCHAR2,
549                      X_Attribute11                         VARCHAR2,
550                      X_Attribute12                         VARCHAR2,
551                      X_Attribute13                         VARCHAR2,
552                      X_Attribute14                         VARCHAR2,
553                      X_Attribute15                         VARCHAR2,
554                      X_Attribute16                         VARCHAR2,
555                      X_Attribute17                         VARCHAR2,
556                      X_Attribute18                         VARCHAR2,
557                      X_Attribute19                         VARCHAR2,
558                      X_Attribute20                         VARCHAR2)
559 
560 IS
561 BEGIN
562   UPDATE PER_REQUISITIONS
563   SET
564     requisition_id                            =    X_Requisition_Id,
565     business_group_id                         =    X_Business_Group_Id,
566     person_id                                 =    X_Person_Id,
567     date_from                                 =    X_Date_From,
568     name                                      =    X_Name,
569     comments                                  =    X_Comments,
570     date_to                                   =    X_Date_To,
571     description                               =    X_Description,
572     attribute_category                        =    X_Attribute_Category,
573     attribute1                                =    X_Attribute1,
574     attribute2                                =    X_Attribute2,
575     attribute3                                =    X_Attribute3,
576     attribute4                                =    X_Attribute4,
577     attribute5                                =    X_Attribute5,
578     attribute6                                =    X_Attribute6,
579     attribute7                                =    X_Attribute7,
580     attribute8                                =    X_Attribute8,
581     attribute9                                =    X_Attribute9,
582     attribute10                               =    X_Attribute10,
583     attribute11                               =    X_Attribute11,
584     attribute12                               =    X_Attribute12,
585     attribute13                               =    X_Attribute13,
586     attribute14                               =    X_Attribute14,
587     attribute15                               =    X_Attribute15,
588     attribute16                               =    X_Attribute16,
589     attribute17                               =    X_Attribute17,
590     attribute18                               =    X_Attribute18,
591     attribute19                               =    X_Attribute19,
592     attribute20                               =    X_Attribute20
593   WHERE rowid = X_rowid;
594 
595   if (SQL%NOTFOUND) then
596     hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
597     hr_utility.set_message_token('PROCEDURE',
598                                  'per_requisitions_pkg.update_row');
599     hr_utility.set_message_token('STEP','1');
600     hr_utility.raise_error;
601   end if;
602 
603 END Update_Row;
604 --
605 -----------------------------------------------------------------------------
606 -- Name                                                                    --
607 --   Delete_Row                                                            --
608 -- Purpose                                                                 --
609 --   Table handler procedure that supports the delete of a REQUISITION via --
613 -- Notes                                                                   --
610 --   the Define Recruitment Activity form.                                 --
611 -- Arguments                                                               --
612 --   See below.                                                            --
614 --                                                                         --
615 -----------------------------------------------------------------------------
616 --
617 PROCEDURE Delete_Row(X_Rowid VARCHAR2) IS
618 BEGIN
619   DELETE FROM PER_REQUISITIONS
620   WHERE  rowid = X_Rowid;
621 
622   if (SQL%NOTFOUND) then
623     hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
624     hr_utility.set_message_token('PROCEDURE',
625                                  'per_requisitions_pkg.delete_row');
626     hr_utility.set_message_token('STEP','1');
627     hr_utility.raise_error;
628   end if;
629 END Delete_Row;
630 
631 END PER_REQUISITIONS_PKG;