DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_PS_UOFR_WLST_PRI_PKG

Source


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