DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_PS_USEC_WLST_PRF_PKG

Source


1 PACKAGE BODY igs_ps_usec_wlst_prf_pkg AS
2 /* $Header: IGSPI0ZB.pls 120.1 2005/08/17 05:50:15 appldev ship $ */
3   l_rowid VARCHAR2(25);
4   old_references igs_ps_usec_wlst_prf%RowType;
5   new_references igs_ps_usec_wlst_prf%RowType;
6 
7   PROCEDURE Set_Column_Values (
8     p_action IN VARCHAR2,
9     x_rowid IN VARCHAR2 DEFAULT NULL,
10     x_unit_sec_waitlist_pref_id IN NUMBER DEFAULT NULL,
11     x_unit_sec_wlst_priority_id IN NUMBER DEFAULT NULL,
12     x_preference_order IN NUMBER DEFAULT NULL,
13     x_preference_code IN VARCHAR2 DEFAULT NULL,
14     x_preference_version IN VARCHAR2 DEFAULT NULL,
15     x_creation_date IN DATE DEFAULT NULL,
16     x_created_by IN NUMBER DEFAULT NULL,
17     x_last_update_date IN DATE DEFAULT NULL,
18     x_last_updated_by IN NUMBER DEFAULT NULL,
19     x_last_update_login IN NUMBER DEFAULT NULL
20   ) AS
21 
22   /*************************************************************
23   Created By :  shgeorge
24   Date Created By :  10-May-2000
25   Purpose :
26   Know limitations, enhancements or remarks
27   Change History
28   Who             When            What
29 
30   (reverse chronological order - newest change first)
31   ***************************************************************/
32 
33     CURSOR cur_old_ref_values IS
34       SELECT   *
35       FROM     IGS_PS_USEC_WLST_PRF
36       WHERE    rowid = x_rowid;
37 
38   BEGIN
39 
40     l_rowid := x_rowid;
41 
42     -- Code for setting the Old and New Reference Values.
43     -- Populate Old Values.
44     Open cur_old_ref_values;
45     Fetch cur_old_ref_values INTO old_references;
46     IF (cur_old_ref_values%NOTFOUND) AND (p_action NOT IN ('INSERT','VALIDATE_INSERT')) THEN
47       Close cur_old_ref_values;
48       Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
49       IGS_GE_MSG_STACK.ADD;
50       App_Exception.Raise_Exception;
51       Return;
52     END IF;
53     Close cur_old_ref_values;
54 
55     -- Populate New Values.
56     new_references.unit_sec_waitlist_pref_id := x_unit_sec_waitlist_pref_id;
57     new_references.unit_sec_waitlist_priority_id := x_unit_sec_wlst_priority_id;
58     new_references.preference_order := x_preference_order;
59     new_references.preference_code := x_preference_code;
60     new_references.preference_version := x_preference_version;
61     IF (p_action = 'UPDATE') THEN
62       new_references.creation_date := old_references.creation_date;
63       new_references.created_by := old_references.created_by;
64     ELSE
65       new_references.creation_date := x_creation_date;
66       new_references.created_by := x_created_by;
67     END IF;
68     new_references.last_update_date := x_last_update_date;
69     new_references.last_updated_by := x_last_updated_by;
70     new_references.last_update_login := x_last_update_login;
71 
72   END Set_Column_Values;
73 
74   PROCEDURE Check_Constraints (
75 		 Column_Name IN VARCHAR2  DEFAULT NULL,
76 		 Column_Value IN VARCHAR2  DEFAULT NULL ) AS
77   /*************************************************************
78   Created By :  shgeorge
79   Date Created By :  10-May-2000
80   Purpose :
81   Know limitations, enhancements or remarks
82   Change History
83   Who             When            What
84 
85   (reverse chronological order - newest change first)
86   ***************************************************************/
87 
88   BEGIN
89 
90       IF column_name IS NULL THEN
91         NULL;
92         NULL;
93       END IF;
94 
95 
96 
97 
98   END Check_Constraints;
99 
100  PROCEDURE Check_Uniqueness AS
101   /*************************************************************
102   Created By :  shgeorge
103   Date Created By :  10-May-2000
104   Purpose :
105   Know limitations, enhancements or remarks
106   Change History
107   Who             When            What
108 
109   (reverse chronological order - newest change first)
110   ***************************************************************/
111 
112    begin
113      		IF Get_Uk_For_Validation (
114     		new_references.preference_code
115     		,new_references.preference_version
116     		,new_references.unit_sec_waitlist_priority_id
117     		) THEN
118  		Fnd_Message.Set_Name ('IGS', 'IGS_GE_RECORD_ALREADY_EXISTS');
119       IGS_GE_MSG_STACK.ADD;
120 			app_exception.raise_exception;
121     		END IF;
122  END Check_Uniqueness ;
123   PROCEDURE Check_Parent_Existance AS
124   /*************************************************************
125   Created By :  shgeorge
126   Date Created By :  10-May-2000
127   Purpose :
128   Know limitations, enhancements or remarks
129   Change History
130   Who             When            What
131 
132   (reverse chronological order - newest change first)
133   ***************************************************************/
134 
135   BEGIN
136 
137     IF (((old_references.unit_sec_waitlist_priority_id = new_references.unit_sec_waitlist_priority_id)) OR
138         ((new_references.unit_sec_waitlist_priority_id IS NULL))) THEN
139       NULL;
140     ELSIF NOT Igs_Ps_Usec_Wlst_Pri_Pkg.Get_PK_For_Validation (
141         		new_references.unit_sec_waitlist_priority_id
142         )  THEN
143 	 Fnd_Message.Set_Name ('FND','FORM_RECORD_DELETED');
144       IGS_GE_MSG_STACK.ADD;
145  	 App_Exception.Raise_Exception;
146     END IF;
147 
148   END Check_Parent_Existance;
149 
150   FUNCTION Get_PK_For_Validation (
151     x_unit_sec_waitlist_pref_id IN NUMBER
152     ) RETURN BOOLEAN AS
153 
154   /*************************************************************
155   Created By :  shgeorge
156   Date Created By :  10-May-2000
157   Purpose :
158   Know limitations, enhancements or remarks
159   Change History
160   Who             When            What
161 
162   (reverse chronological order - newest change first)
163   ***************************************************************/
164 
165     CURSOR cur_rowid IS
166       SELECT   rowid
167       FROM     igs_ps_usec_wlst_prf
168       WHERE    unit_sec_waitlist_pref_id = x_unit_sec_waitlist_pref_id
169       FOR UPDATE NOWAIT;
170 
171     lv_rowid cur_rowid%RowType;
172 
173   BEGIN
174 
175     Open cur_rowid;
176     Fetch cur_rowid INTO lv_rowid;
177     IF (cur_rowid%FOUND) THEN
178       Close cur_rowid;
179       Return(TRUE);
180     ELSE
181       Close cur_rowid;
182       Return(FALSE);
183     END IF;
184   END Get_PK_For_Validation;
185 
186   FUNCTION Get_UK_For_Validation (
187     x_preference_code IN VARCHAR2,
188     x_preference_version IN VARCHAR2,
189     x_unit_sec_wlst_priority_id IN NUMBER
190     ) RETURN BOOLEAN AS
191 
192   /*************************************************************
193   Created By :  shgeorge
194   Date Created By :  10-May-2000
195   Purpose :
196   Know limitations, enhancements or remarks
197   Change History
198   Who             When            What
199   sarakshi    17-Aug-2005   Bug#3823661, added NVL to preference_version
200   (reverse chronological order - newest change first)
201   ***************************************************************/
202 
203     CURSOR cur_rowid IS
204       SELECT   rowid
205       FROM     igs_ps_usec_wlst_prf
206       WHERE    preference_code = x_preference_code
207       AND      NVL(preference_version,-9) = NVL(x_preference_version,-9)
208       AND      unit_sec_waitlist_priority_id = x_unit_sec_wlst_priority_id 	and      ((l_rowid is null) or (rowid <> l_rowid))
209 
210       ;
211     lv_rowid cur_rowid%RowType;
212 
213   BEGIN
214 
215     Open cur_rowid;
216     Fetch cur_rowid INTO lv_rowid;
217     IF (cur_rowid%FOUND) THEN
218       Close cur_rowid;
219         return (true);
220         ELSE
221        close cur_rowid;
222       return(false);
223     END IF;
224   END Get_UK_For_Validation ;
225   PROCEDURE Get_FK_Igs_Ps_Usec_Wlst_Pri (
226     x_unit_sec_wlst_priority_id IN NUMBER
227     ) AS
228 
229   /*************************************************************
230   Created By :  shgeorge
231   Date Created By :  10-May-2000
232   Purpose :
233   Know limitations, enhancements or remarks
234   Change History
235   Who             When            What
236 
237   (reverse chronological order - newest change first)
238   ***************************************************************/
239 
240     CURSOR cur_rowid IS
241       SELECT   rowid
242       FROM     igs_ps_usec_wlst_prf
243       WHERE    unit_sec_waitlist_priority_id = x_unit_sec_wlst_priority_id ;
244 
245     lv_rowid cur_rowid%RowType;
246 
247   BEGIN
248 
249     Open cur_rowid;
250     Fetch cur_rowid INTO lv_rowid;
251     IF (cur_rowid%FOUND) THEN
252       Close cur_rowid;
253       Fnd_Message.Set_Name ('IGS', 'IGS_PS_UWPR_UWP_FK');
254       IGS_GE_MSG_STACK.ADD;
255       App_Exception.Raise_Exception;
256       Return;
257     END IF;
258     Close cur_rowid;
259 
260   END Get_FK_Igs_Ps_Usec_Wlst_Pri;
261 
262   PROCEDURE Before_DML (
263     p_action IN VARCHAR2,
264     x_rowid IN VARCHAR2 DEFAULT NULL,
265     x_unit_sec_waitlist_pref_id IN NUMBER DEFAULT NULL,
266     x_unit_sec_wlst_priority_id IN NUMBER DEFAULT NULL,
267     x_preference_order IN NUMBER DEFAULT NULL,
268     x_preference_code IN VARCHAR2 DEFAULT NULL,
269     x_preference_version IN VARCHAR2 DEFAULT NULL,
270     x_creation_date IN DATE DEFAULT NULL,
271     x_created_by IN NUMBER DEFAULT NULL,
272     x_last_update_date IN DATE DEFAULT NULL,
273     x_last_updated_by IN NUMBER DEFAULT NULL,
274     x_last_update_login IN NUMBER DEFAULT NULL
275   ) AS
276   /*************************************************************
277   Created By :  shgeorge
278   Date Created By :  10-May-2000
279   Purpose :
280   Know limitations, enhancements or remarks
281   Change History
282   Who             When            What
283 
284   (reverse chronological order - newest change first)
285   ***************************************************************/
286 
287   BEGIN
288 
289     Set_Column_Values (
290       p_action,
291       x_rowid,
292       x_unit_sec_waitlist_pref_id,
293       x_unit_sec_wlst_priority_id,
294       x_preference_order,
295       x_preference_code,
296       x_preference_version,
297       x_creation_date,
298       x_created_by,
299       x_last_update_date,
300       x_last_updated_by,
301       x_last_update_login
302     );
303 
304     IF (p_action = 'INSERT') THEN
305       -- Call all the procedures related to Before Insert.
306       Null;
307 	     IF Get_Pk_For_Validation(
308     		new_references.unit_sec_waitlist_pref_id)  THEN
309 	       Fnd_Message.Set_name('IGS','IGS_GE_RECORD_ALREADY_EXISTS');
310       IGS_GE_MSG_STACK.ADD;
311 	       App_Exception.Raise_Exception;
312 	     END IF;
313       Check_Uniqueness;
314       Check_Constraints;
315       Check_Parent_Existance;
316     ELSIF (p_action = 'UPDATE') THEN
317       -- Call all the procedures related to Before Update.
318       Null;
319       Check_Uniqueness;
320       Check_Constraints;
321       Check_Parent_Existance;
322     ELSIF (p_action = 'DELETE') THEN
323       -- Call all the procedures related to Before Delete.
324       Null;
325     ELSIF (p_action = 'VALIDATE_INSERT') THEN
326 	 -- Call all the procedures related to Before Insert.
327       IF Get_PK_For_Validation (
328     		new_references.unit_sec_waitlist_pref_id)  THEN
329 	       Fnd_Message.Set_name('IGS','IGS_GE_RECORD_ALREADY_EXISTS');
330       IGS_GE_MSG_STACK.ADD;
331 	       App_Exception.Raise_Exception;
332 	     END IF;
333       Check_Uniqueness;
334       Check_Constraints;
335     ELSIF (p_action = 'VALIDATE_UPDATE') THEN
336       Check_Uniqueness;
337       Check_Constraints;
338     ELSIF (p_action = 'VALIDATE_DELETE') THEN
339       Null;
340     END IF;
341 
342   END Before_DML;
343 
344   PROCEDURE After_DML (
345     p_action IN VARCHAR2,
346     x_rowid IN VARCHAR2
347   ) IS
348   /*************************************************************
349   Created By :  shgeorge
350   Date Created By :  10-May-2000
351   Purpose :
352   Know limitations, enhancements or remarks
353   Change History
354   Who             When            What
355 
356   (reverse chronological order - newest change first)
357   ***************************************************************/
358 
359   BEGIN
360 
361     l_rowid := x_rowid;
362 
363     IF (p_action = 'INSERT') THEN
364       -- Call all the procedures related to After Insert.
365       Null;
366     ELSIF (p_action = 'UPDATE') THEN
367       -- Call all the procedures related to After Update.
368       Null;
369     ELSIF (p_action = 'DELETE') THEN
370       -- Call all the procedures related to After Delete.
371       Null;
372     END IF;
373   l_rowid := null;
374   END After_DML;
375 
376  procedure INSERT_ROW (
377       X_ROWID in out NOCOPY VARCHAR2,
378        x_UNIT_SEC_WAITLIST_PREF_ID IN OUT NOCOPY NUMBER,
379        x_UNIT_SEC_WLST_PRIORITY_ID IN NUMBER,
380        x_PREFERENCE_ORDER IN NUMBER,
381        x_PREFERENCE_CODE IN VARCHAR2,
382        x_PREFERENCE_VERSION IN VARCHAR2,
383       X_MODE in VARCHAR2 default 'R'
384   ) AS
385   /*************************************************************
386   Created By :  shgeorge
387   Date Created By :  10-May-2000
388   Purpose :
389   Know limitations, enhancements or remarks
390   Change History
391   Who             When            What
392 
393   (reverse chronological order - newest change first)
394   ***************************************************************/
395 
396     cursor C is select ROWID from IGS_PS_USEC_WLST_PRF
397              where                 UNIT_SEC_WAITLIST_PREF_ID= X_UNIT_SEC_WAITLIST_PREF_ID
398 ;
399      X_LAST_UPDATE_DATE DATE ;
400      X_LAST_UPDATED_BY NUMBER ;
401      X_LAST_UPDATE_LOGIN NUMBER ;
402  begin
403      X_LAST_UPDATE_DATE := SYSDATE;
404       if(X_MODE = 'I') then
405         X_LAST_UPDATED_BY := 1;
406         X_LAST_UPDATE_LOGIN := 0;
407          elsif (X_MODE = 'R') then
408                X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
409             if X_LAST_UPDATED_BY is NULL then
410                 X_LAST_UPDATED_BY := -1;
411             end if;
412             X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
413          if X_LAST_UPDATE_LOGIN is NULL then
414             X_LAST_UPDATE_LOGIN := -1;
415           end if;
416        else
417         FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
418       IGS_GE_MSG_STACK.ADD;
419           app_exception.raise_exception;
420        end if;
421    SELECT
422    	IGS_PS_USEC_WLST_PRF_S.NextVal
423    INTO
424    	x_UNIT_SEC_WAITLIST_PREF_ID
425    FROM
426    	dual;
427    Before_DML(
428  		p_action=>'INSERT',
429  		x_rowid=>X_ROWID,
430  	       x_unit_sec_waitlist_pref_id=>X_UNIT_SEC_WAITLIST_PREF_ID,
431  	       x_unit_sec_wlst_priority_id=>X_UNIT_SEC_WLST_PRIORITY_ID,
432  	       x_preference_order=>X_PREFERENCE_ORDER,
433  	       x_preference_code=>X_PREFERENCE_CODE,
434  	       x_preference_version=>X_PREFERENCE_VERSION,
435 	       x_creation_date=>X_LAST_UPDATE_DATE,
436 	       x_created_by=>X_LAST_UPDATED_BY,
437 	       x_last_update_date=>X_LAST_UPDATE_DATE,
438 	       x_last_updated_by=>X_LAST_UPDATED_BY,
439 	       x_last_update_login=>X_LAST_UPDATE_LOGIN);
440      insert into IGS_PS_USEC_WLST_PRF (
441 		UNIT_SEC_WAITLIST_PREF_ID
442 		,UNIT_SEC_WAITLIST_PRIORITY_ID
443 		,PREFERENCE_ORDER
444 		,PREFERENCE_CODE
445 		,PREFERENCE_VERSION
446 	        ,CREATION_DATE
447 		,CREATED_BY
448 		,LAST_UPDATE_DATE
449 		,LAST_UPDATED_BY
450 		,LAST_UPDATE_LOGIN
451         ) values  (
452 	        NEW_REFERENCES.UNIT_SEC_WAITLIST_PREF_ID
453 	        ,NEW_REFERENCES.UNIT_SEC_WAITLIST_PRIORITY_ID
454 	        ,NEW_REFERENCES.PREFERENCE_ORDER
455 	        ,NEW_REFERENCES.PREFERENCE_CODE
456 	        ,NEW_REFERENCES.PREFERENCE_VERSION
457 	        ,X_LAST_UPDATE_DATE
458 		,X_LAST_UPDATED_BY
459 		,X_LAST_UPDATE_DATE
460 		,X_LAST_UPDATED_BY
461 		,X_LAST_UPDATE_LOGIN
462 );
463 		open c;
464 		 fetch c into X_ROWID;
465  		if (c%notfound) then
466 		close c;
467  	     raise no_data_found;
468 		end if;
469  		close c;
470     After_DML (
471 		p_action => 'INSERT' ,
472 		x_rowid => X_ROWID );
473 end INSERT_ROW;
474  procedure LOCK_ROW (
475       X_ROWID in  VARCHAR2,
476        x_UNIT_SEC_WAITLIST_PREF_ID IN NUMBER,
477        x_UNIT_SEC_WLST_PRIORITY_ID IN NUMBER,
478        x_PREFERENCE_ORDER IN NUMBER,
479        x_PREFERENCE_CODE IN VARCHAR2,
480        x_PREFERENCE_VERSION IN VARCHAR2  ) AS
481   /*************************************************************
482   Created By :  shgeorge
483   Date Created By :  10-May-2000
484   Purpose :
485   Know limitations, enhancements or remarks
486   Change History
487   Who             When            What
488 
489   (reverse chronological order - newest change first)
490   ***************************************************************/
491 
492    cursor c1 is select
493       UNIT_SEC_WAITLIST_PRIORITY_ID
494 ,      PREFERENCE_ORDER
495 ,      PREFERENCE_CODE
496 ,      PREFERENCE_VERSION
497     from IGS_PS_USEC_WLST_PRF
498     where ROWID = X_ROWID
499     for update nowait;
500      tlinfo c1%rowtype;
501 begin
502   open c1;
503   fetch c1 into tlinfo;
504   if (c1%notfound) then
505     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
506       IGS_GE_MSG_STACK.ADD;
507     close c1;
508     app_exception.raise_exception;
509     return;
510   end if;
511   close c1;
512 if ( (  tlinfo.UNIT_SEC_WAITLIST_PRIORITY_ID = X_UNIT_SEC_WLST_PRIORITY_ID)
513   AND (tlinfo.PREFERENCE_ORDER = X_PREFERENCE_ORDER)
514   AND (tlinfo.PREFERENCE_CODE = X_PREFERENCE_CODE)
515   AND ((tlinfo.PREFERENCE_VERSION = X_PREFERENCE_VERSION)
516  	    OR ((tlinfo.PREFERENCE_VERSION is null)
517 		AND (X_PREFERENCE_VERSION is null)))
518   ) then
519     null;
520   else
521     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
522       IGS_GE_MSG_STACK.ADD;
523     app_exception.raise_exception;
524   end if;
525   return;
526 end LOCK_ROW;
527  Procedure UPDATE_ROW (
528       X_ROWID in  VARCHAR2,
529        x_UNIT_SEC_WAITLIST_PREF_ID IN NUMBER,
530        x_UNIT_SEC_WLST_PRIORITY_ID IN NUMBER,
531        x_PREFERENCE_ORDER IN NUMBER,
532        x_PREFERENCE_CODE IN VARCHAR2,
533        x_PREFERENCE_VERSION IN VARCHAR2,
534       X_MODE in VARCHAR2 default 'R'
535   ) AS
536   /*************************************************************
537   Created By :  shgeorge
538   Date Created By :  10-May-2000
539   Purpose :
540   Know limitations, enhancements or remarks
541   Change History
542   Who             When            What
543 
544   (reverse chronological order - newest change first)
545   ***************************************************************/
546 
547      X_LAST_UPDATE_DATE DATE ;
548      X_LAST_UPDATED_BY NUMBER ;
549      X_LAST_UPDATE_LOGIN NUMBER ;
550  begin
551      X_LAST_UPDATE_DATE := SYSDATE;
552       if(X_MODE = 'I') then
553         X_LAST_UPDATED_BY := 1;
554         X_LAST_UPDATE_LOGIN := 0;
555          elsif (X_MODE = 'R') then
556                X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
557             if X_LAST_UPDATED_BY is NULL then
558                 X_LAST_UPDATED_BY := -1;
559             end if;
560             X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
561          if X_LAST_UPDATE_LOGIN is NULL then
562             X_LAST_UPDATE_LOGIN := -1;
563           end if;
564        else
565         FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
566       IGS_GE_MSG_STACK.ADD;
567           app_exception.raise_exception;
568        end if;
569    Before_DML(
570  		p_action=>'UPDATE',
571  		x_rowid=>X_ROWID,
572  	       x_unit_sec_waitlist_pref_id=>X_UNIT_SEC_WAITLIST_PREF_ID,
573  	       x_unit_sec_wlst_priority_id=>x_unit_sec_wlst_priority_id,
574  	       x_preference_order=>X_PREFERENCE_ORDER,
575  	       x_preference_code=>X_PREFERENCE_CODE,
576  	       x_preference_version=>X_PREFERENCE_VERSION,
577 	       x_creation_date=>X_LAST_UPDATE_DATE,
578 	       x_created_by=>X_LAST_UPDATED_BY,
579 	       x_last_update_date=>X_LAST_UPDATE_DATE,
580 	       x_last_updated_by=>X_LAST_UPDATED_BY,
581 	       x_last_update_login=>X_LAST_UPDATE_LOGIN);
582    update IGS_PS_USEC_WLST_PRF set
583       UNIT_SEC_WAITLIST_PRIORITY_ID =  NEW_REFERENCES.UNIT_SEC_WAITLIST_PRIORITY_ID,
584       PREFERENCE_ORDER =  NEW_REFERENCES.PREFERENCE_ORDER,
585       PREFERENCE_CODE =  NEW_REFERENCES.PREFERENCE_CODE,
586       PREFERENCE_VERSION =  NEW_REFERENCES.PREFERENCE_VERSION,
587 	LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
588 	LAST_UPDATED_BY = X_LAST_UPDATED_BY,
589 	LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
590 	  where ROWID = X_ROWID;
591 	if (sql%notfound) then
592 		raise no_data_found;
593 	end if;
594 
595  After_DML (
596 	p_action => 'UPDATE' ,
597 	x_rowid => X_ROWID
598 	);
599 end UPDATE_ROW;
600  procedure ADD_ROW (
601       X_ROWID in out NOCOPY VARCHAR2,
602        x_UNIT_SEC_WAITLIST_PREF_ID IN OUT NOCOPY NUMBER,
603        x_UNIT_SEC_WLST_PRIORITY_ID IN NUMBER,
604        x_PREFERENCE_ORDER IN NUMBER,
605        x_PREFERENCE_CODE IN VARCHAR2,
606        x_PREFERENCE_VERSION IN VARCHAR2,
607       X_MODE in VARCHAR2 default 'R'
608   ) AS
609   /*************************************************************
610   Created By :  shgeorge
611   Date Created By :  10-May-2000
612   Purpose :
613   Know limitations, enhancements or remarks
614   Change History
615   Who             When            What
616 
617   (reverse chronological order - newest change first)
618   ***************************************************************/
619 
620     cursor c1 is select ROWID from IGS_PS_USEC_WLST_PRF
621              where     UNIT_SEC_WAITLIST_PREF_ID= X_UNIT_SEC_WAITLIST_PREF_ID
622 ;
623 begin
624 	open c1;
625 		fetch c1 into X_ROWID;
626 	if (c1%notfound) then
627 	close c1;
628     INSERT_ROW (
629       X_ROWID,
630        X_UNIT_SEC_WAITLIST_PREF_ID,
631        X_UNIT_SEC_WLST_PRIORITY_ID,
632        X_PREFERENCE_ORDER,
633        X_PREFERENCE_CODE,
634        X_PREFERENCE_VERSION,
635       X_MODE );
636      return;
637 	end if;
638 	   close c1;
639 UPDATE_ROW (
640       X_ROWID,
641        X_UNIT_SEC_WAITLIST_PREF_ID,
642        X_UNIT_SEC_WLST_PRIORITY_ID,
643        X_PREFERENCE_ORDER,
644        X_PREFERENCE_CODE,
645        X_PREFERENCE_VERSION,
646       X_MODE );
647 end ADD_ROW;
648 procedure DELETE_ROW (
649   X_ROWID in VARCHAR2
650 ) AS
651   /*************************************************************
652   Created By :  shgeorge
653   Date Created By :  10-May-2000
654   Purpose :
655   Know limitations, enhancements or remarks
656   Change History
657   Who             When            What
658 
659   (reverse chronological order - newest change first)
660   ***************************************************************/
661 
662 begin
663 Before_DML (
664 p_action => 'DELETE',
665 x_rowid => X_ROWID
666 );
667  delete from IGS_PS_USEC_WLST_PRF
668  where ROWID = X_ROWID;
669   if (sql%notfound) then
670     raise no_data_found;
671   end if;
672 After_DML (
673  p_action => 'DELETE',
674  x_rowid => X_ROWID
675 );
676 end DELETE_ROW;
677 END igs_ps_usec_wlst_prf_pkg;