DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_PS_USEC_AS_PKG

Source


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