DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_PS_NOTE_TYPES_PKG

Source


1 PACKAGE BODY igs_ps_note_types_pkg AS
2 /* $Header: IGSPI1KB.pls 115.7 2002/11/29 02:07:30 nsidana ship $ */
3   l_rowid VARCHAR2(25);
4   old_references igs_ps_note_types%RowType;
5   new_references igs_ps_note_types%RowType;
6 
7   PROCEDURE Set_Column_Values (
8     p_action IN VARCHAR2,
9     x_rowid IN VARCHAR2 DEFAULT NULL,
10     x_note_type_id IN NUMBER DEFAULT NULL,
11     x_note_type IN VARCHAR2 DEFAULT NULL,
12     x_description IN VARCHAR2 DEFAULT NULL,
13     x_closed_ind IN VARCHAR2 DEFAULT NULL,
14     x_catalog_schedule 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 :
24   Date Created By :
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_NOTE_TYPES
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.note_type_id := x_note_type_id;
57     new_references.note_type := x_note_type;
58     new_references.description := x_description;
59     new_references.closed_ind := x_closed_ind;
60     new_references.catalog_schedule := x_catalog_schedule;
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 :
79   Date Created By :
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       ELSIF  UPPER(column_name) = 'CLOSED_IND'  THEN
93         new_references.closed_ind := column_value;
94       ELSIF  UPPER(column_name) = 'CATALOG_SCHEDULE'  THEN
95         new_references.catalog_schedule := column_value;
96         NULL;
97       END IF;
98 
99 
100 
101     -- The following code checks for check constraints on the Columns.
102       IF Upper(Column_Name) = 'CLOSED_IND' OR
103       	Column_Name IS NULL THEN
104         IF NOT (new_references.closed_ind IN ('Y', 'N'))  THEN
105            Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
106       IGS_GE_MSG_STACK.ADD;
107            App_Exception.Raise_Exception;
108         END IF;
109       END IF;
110 
111     -- The following code checks for check constraints on the Columns.
112       IF Upper(Column_Name) = 'CATALOG_SCHEDULE' OR
113       	Column_Name IS NULL THEN
114         IF NOT (new_references.catalog_schedule IN ('CATALOG', 'SCHEDULE'))  THEN
115            Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
116       IGS_GE_MSG_STACK.ADD;
117            App_Exception.Raise_Exception;
118         END IF;
119       END IF;
120 
121     -- The following code checks for check constraints on the Columns.
122       IF Upper(Column_Name) = 'CLOSED_IND' OR
123       	Column_Name IS NULL THEN
124         IF NOT (new_references.closed_ind IN ('Y', 'N'))  THEN
125            Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
126       IGS_GE_MSG_STACK.ADD;
127            App_Exception.Raise_Exception;
128         END IF;
129       END IF;
130 
131     -- The following code checks for check constraints on the Columns.
132       IF Upper(Column_Name) = 'CATALOG_SCHEDULE' OR
133       	Column_Name IS NULL THEN
134         IF NOT (new_references.catalog_schedule IN ('CATALOG', 'SCHEDULE'))  THEN
135            Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
136       IGS_GE_MSG_STACK.ADD;
137            App_Exception.Raise_Exception;
138         END IF;
139       END IF;
140 
141 
142   END Check_Constraints;
143 
144  PROCEDURE Check_Uniqueness AS
145   /*************************************************************
146   Created By :
147   Date Created By :
148   Purpose :
149   Know limitations, enhancements or remarks
150   Change History
151   Who             When            What
152 
153   (reverse chronological order - newest change first)
154   ***************************************************************/
155 
156    begin
157      		IF Get_Uk_For_Validation (
158     		new_references.catalog_schedule
159     		,new_references.note_type
160     		) THEN
161  		Fnd_Message.Set_Name ('IGS', 'IGS_GE_RECORD_ALREADY_EXISTS');
162       IGS_GE_MSG_STACK.ADD;
163 			app_exception.raise_exception;
164     		END IF;
165  END Check_Uniqueness ;
166   PROCEDURE Check_Child_Existance IS
167   /*************************************************************
168   Created By :
169   Date Created By :
170   Purpose :
171   Know limitations, enhancements or remarks
172   Change History
173   Who             When            What
174 
175   (reverse chronological order - newest change first)
176   ***************************************************************/
177 
178   BEGIN
179 
180     Igs_Ps_Catlg_Notes_Pkg.Get_FK_Igs_Ps_Note_Types (
181       old_references.note_type_id
182       );
183 
184   END Check_Child_Existance;
185 
186   FUNCTION Get_PK_For_Validation (
187     x_note_type_id IN NUMBER
188     ) RETURN BOOLEAN AS
189 
190   /*************************************************************
191   Created By :
192   Date Created By :
193   Purpose :
194   Know limitations, enhancements or remarks
195   Change History
196   Who             When            What
197 
198   (reverse chronological order - newest change first)
199   ***************************************************************/
200 
201     CURSOR cur_rowid IS
202       SELECT   rowid
203       FROM     igs_ps_note_types
204       WHERE    note_type_id = x_note_type_id
205       FOR UPDATE NOWAIT;
206 
207     lv_rowid cur_rowid%RowType;
208 
209   BEGIN
210 
211     Open cur_rowid;
212     Fetch cur_rowid INTO lv_rowid;
213     IF (cur_rowid%FOUND) THEN
214       Close cur_rowid;
215       Return(TRUE);
216     ELSE
217       Close cur_rowid;
218       Return(FALSE);
219     END IF;
220   END Get_PK_For_Validation;
221 
222   FUNCTION Get_UK_For_Validation (
223     x_catalog_schedule IN VARCHAR2,
224     x_note_type IN VARCHAR2
225     ) RETURN BOOLEAN AS
226 
227   /*************************************************************
228   Created By :
229   Date Created By :
230   Purpose :
231   Know limitations, enhancements or remarks
232   Change History
233   Who             When            What
234 
235   (reverse chronological order - newest change first)
236   ***************************************************************/
237 
238     CURSOR cur_rowid IS
239       SELECT   rowid
240       FROM     igs_ps_note_types
241       WHERE    catalog_schedule = x_catalog_schedule
242       AND      note_type = x_note_type 	and      ((l_rowid is null) or (rowid <> l_rowid))
243 
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         return (true);
254         ELSE
255        close cur_rowid;
256       return(false);
257     END IF;
258   END Get_UK_For_Validation ;
259   PROCEDURE Before_DML (
260     p_action IN VARCHAR2,
261     x_rowid IN VARCHAR2 DEFAULT NULL,
262     x_note_type_id IN NUMBER DEFAULT NULL,
263     x_note_type IN VARCHAR2 DEFAULT NULL,
264     x_description IN VARCHAR2 DEFAULT NULL,
265     x_closed_ind IN VARCHAR2 DEFAULT NULL,
266     x_catalog_schedule IN VARCHAR2 DEFAULT NULL,
267     x_creation_date IN DATE DEFAULT NULL,
268     x_created_by IN NUMBER DEFAULT NULL,
269     x_last_update_date IN DATE DEFAULT NULL,
270     x_last_updated_by IN NUMBER DEFAULT NULL,
271     x_last_update_login IN NUMBER DEFAULT NULL
272   ) AS
273   /*************************************************************
274   Created By :
275   Date Created By :
276   Purpose :
277   Know limitations, enhancements or remarks
278   Change History
279   Who             When            What
280 
281   (reverse chronological order - newest change first)
282   ***************************************************************/
283 
284   BEGIN
285 
286     Set_Column_Values (
287       p_action,
288       x_rowid,
289       x_note_type_id,
290       x_note_type,
291       x_description,
292       x_closed_ind,
293       x_catalog_schedule,
294       x_creation_date,
295       x_created_by,
296       x_last_update_date,
297       x_last_updated_by,
298       x_last_update_login
299     );
300 
301     IF (p_action = 'INSERT') THEN
302       -- Call all the procedures related to Before Insert.
303       Null;
304 	     IF Get_Pk_For_Validation(
305     		new_references.note_type_id)  THEN
306 	       Fnd_Message.Set_name('IGS','IGS_GE_RECORD_ALREADY_EXISTS');
307       IGS_GE_MSG_STACK.ADD;
308 	       App_Exception.Raise_Exception;
309 	     END IF;
310       Check_Uniqueness;
311       Check_Constraints;
312     ELSIF (p_action = 'UPDATE') THEN
313       -- Call all the procedures related to Before Update.
314       Null;
315       Check_Uniqueness;
316       Check_Constraints;
317     ELSIF (p_action = 'DELETE') THEN
318       -- Call all the procedures related to Before Delete.
319       Null;
320       Check_Child_Existance;
321     ELSIF (p_action = 'VALIDATE_INSERT') THEN
322 	 -- Call all the procedures related to Before Insert.
323       IF Get_PK_For_Validation (
324     		new_references.note_type_id)  THEN
325 	       Fnd_Message.Set_name('IGS','IGS_GE_RECORD_ALREADY_EXISTS');
326       IGS_GE_MSG_STACK.ADD;
327 	       App_Exception.Raise_Exception;
328 	     END IF;
329       Check_Uniqueness;
330       Check_Constraints;
331     ELSIF (p_action = 'VALIDATE_UPDATE') THEN
332       Check_Uniqueness;
333       Check_Constraints;
334     ELSIF (p_action = 'VALIDATE_DELETE') THEN
335       Check_Child_Existance;
336     END IF;
337 
338   END Before_DML;
339 
340   PROCEDURE After_DML (
341     p_action IN VARCHAR2,
342     x_rowid IN VARCHAR2
343   ) IS
344   /*************************************************************
345   Created By :
346   Date Created By :
347   Purpose :
348   Know limitations, enhancements or remarks
349   Change History
350   Who             When            What
351 
352   (reverse chronological order - newest change first)
353   ***************************************************************/
354 
355   BEGIN
356 
357     l_rowid := x_rowid;
358 
359     IF (p_action = 'INSERT') THEN
360       -- Call all the procedures related to After Insert.
361       Null;
362     ELSIF (p_action = 'UPDATE') THEN
363       -- Call all the procedures related to After Update.
364       Null;
365     ELSIF (p_action = 'DELETE') THEN
366       -- Call all the procedures related to After Delete.
367       Null;
368     END IF;
369 l_rowid:=NULL;
370   END After_DML;
371 
372  procedure INSERT_ROW (
373       X_ROWID in out NOCOPY VARCHAR2,
374        x_NOTE_TYPE_ID IN OUT NOCOPY NUMBER,
375        x_NOTE_TYPE IN VARCHAR2,
376        x_DESCRIPTION IN VARCHAR2,
377        x_CLOSED_IND IN VARCHAR2,
378        x_CATALOG_SCHEDULE IN VARCHAR2,
379       X_MODE in VARCHAR2 default 'R'
380   ) AS
381   /*************************************************************
382   Created By :
383   Date Created By :
384   Purpose :
385   Know limitations, enhancements or remarks
386   Change History
387   Who             When            What
388 
389   (reverse chronological order - newest change first)
390   ***************************************************************/
391 
392     cursor C is select ROWID from IGS_PS_NOTE_TYPES
393              where                 NOTE_TYPE_ID= X_NOTE_TYPE_ID
394 ;
395      X_LAST_UPDATE_DATE DATE ;
396      X_LAST_UPDATED_BY NUMBER ;
397      X_LAST_UPDATE_LOGIN NUMBER ;
398  begin
399      X_LAST_UPDATE_DATE := SYSDATE;
400       if(X_MODE = 'I') then
401         X_LAST_UPDATED_BY := 1;
402         X_LAST_UPDATE_LOGIN := 0;
403          elsif (X_MODE = 'R') then
404                X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
405             if X_LAST_UPDATED_BY is NULL then
406                 X_LAST_UPDATED_BY := -1;
407             end if;
408             X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
409          if X_LAST_UPDATE_LOGIN is NULL then
410             X_LAST_UPDATE_LOGIN := -1;
411           end if;
412        else
413         FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
414       IGS_GE_MSG_STACK.ADD;
415           app_exception.raise_exception;
416        end if;
417           ----
418        SELECT igs_ps_note_types_s.nextval
419        INTO x_NOTE_TYPE_ID
420        FROM  dual;
421        ---
422 
423    Before_DML(
424  		p_action=>'INSERT',
425  		x_rowid=>X_ROWID,
426  	       x_note_type_id=>X_NOTE_TYPE_ID,
427  	       x_note_type=>X_NOTE_TYPE,
428  	       x_description=>X_DESCRIPTION,
429  	       x_closed_ind=>NVL(X_CLOSED_IND,'N' ),
430  	       x_catalog_schedule=>X_CATALOG_SCHEDULE,
431 	       x_creation_date=>X_LAST_UPDATE_DATE,
432 	       x_created_by=>X_LAST_UPDATED_BY,
433 	       x_last_update_date=>X_LAST_UPDATE_DATE,
434 	       x_last_updated_by=>X_LAST_UPDATED_BY,
435 	       x_last_update_login=>X_LAST_UPDATE_LOGIN);
436      insert into IGS_PS_NOTE_TYPES (
437 		NOTE_TYPE_ID
438 		,NOTE_TYPE
439 		,DESCRIPTION
440 		,CLOSED_IND
441 		,CATALOG_SCHEDULE
442 	        ,CREATION_DATE
443 		,CREATED_BY
444 		,LAST_UPDATE_DATE
445 		,LAST_UPDATED_BY
446 		,LAST_UPDATE_LOGIN
447         ) values  (
448 	        NEW_REFERENCES.NOTE_TYPE_ID
449 	        ,NEW_REFERENCES.NOTE_TYPE
450 	        ,NEW_REFERENCES.DESCRIPTION
451 	        ,NEW_REFERENCES.CLOSED_IND
452 	        ,NEW_REFERENCES.CATALOG_SCHEDULE
453 	        ,X_LAST_UPDATE_DATE
454 		,X_LAST_UPDATED_BY
455 		,X_LAST_UPDATE_DATE
456 		,X_LAST_UPDATED_BY
457 		,X_LAST_UPDATE_LOGIN
458 );
459 		open c;
460 		 fetch c into X_ROWID;
461  		if (c%notfound) then
462 		close c;
463  	     raise no_data_found;
464 		end if;
465  		close c;
466     After_DML (
467 		p_action => 'INSERT' ,
468 		x_rowid => X_ROWID );
469 end INSERT_ROW;
470  procedure LOCK_ROW (
471       X_ROWID in  VARCHAR2,
472        x_NOTE_TYPE_ID IN NUMBER,
473        x_NOTE_TYPE IN VARCHAR2,
474        x_DESCRIPTION IN VARCHAR2,
475        x_CLOSED_IND IN VARCHAR2,
476        x_CATALOG_SCHEDULE IN VARCHAR2  ) AS
477   /*************************************************************
478   Created By :
479   Date Created By :
480   Purpose :
481   Know limitations, enhancements or remarks
482   Change History
483   Who             When            What
484 
485   (reverse chronological order - newest change first)
486   ***************************************************************/
487 
488    cursor c1 is select
489       NOTE_TYPE
490 ,      DESCRIPTION
491 ,      CLOSED_IND
492 ,      CATALOG_SCHEDULE
493     from IGS_PS_NOTE_TYPES
494     where ROWID = X_ROWID
495     for update nowait;
496      tlinfo c1%rowtype;
497 begin
498   open c1;
499   fetch c1 into tlinfo;
500   if (c1%notfound) then
501     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
502       IGS_GE_MSG_STACK.ADD;
503     close c1;
504     app_exception.raise_exception;
505     return;
506   end if;
507   close c1;
508 if ( (  tlinfo.NOTE_TYPE = X_NOTE_TYPE)
509   AND (tlinfo.DESCRIPTION = X_DESCRIPTION)
510   AND (tlinfo.CLOSED_IND = X_CLOSED_IND)
511   AND (tlinfo.CATALOG_SCHEDULE = X_CATALOG_SCHEDULE)
512   ) then
513     null;
514   else
515     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
516       IGS_GE_MSG_STACK.ADD;
517     app_exception.raise_exception;
518   end if;
519   return;
520 end LOCK_ROW;
521  Procedure UPDATE_ROW (
522       X_ROWID in  VARCHAR2,
523        x_NOTE_TYPE_ID IN NUMBER,
524        x_NOTE_TYPE IN VARCHAR2,
525        x_DESCRIPTION IN VARCHAR2,
526        x_CLOSED_IND IN VARCHAR2,
527        x_CATALOG_SCHEDULE IN VARCHAR2,
528       X_MODE in VARCHAR2 default 'R'
529   ) AS
530   /*************************************************************
531   Created By :
532   Date Created By :
533   Purpose :
534   Know limitations, enhancements or remarks
535   Change History
536   Who             When            What
537 
538   (reverse chronological order - newest change first)
539   ***************************************************************/
540 
541      X_LAST_UPDATE_DATE DATE ;
542      X_LAST_UPDATED_BY NUMBER ;
543      X_LAST_UPDATE_LOGIN NUMBER ;
544  begin
545      X_LAST_UPDATE_DATE := SYSDATE;
546       if(X_MODE = 'I') then
547         X_LAST_UPDATED_BY := 1;
548         X_LAST_UPDATE_LOGIN := 0;
549          elsif (X_MODE = 'R') then
550                X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
551             if X_LAST_UPDATED_BY is NULL then
552                 X_LAST_UPDATED_BY := -1;
553             end if;
554             X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
555          if X_LAST_UPDATE_LOGIN is NULL then
556             X_LAST_UPDATE_LOGIN := -1;
557           end if;
558        else
559         FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
560       IGS_GE_MSG_STACK.ADD;
561           app_exception.raise_exception;
562        end if;
563    Before_DML(
564  		p_action=>'UPDATE',
565  		x_rowid=>X_ROWID,
566  	       x_note_type_id=>X_NOTE_TYPE_ID,
567  	       x_note_type=>X_NOTE_TYPE,
568  	       x_description=>X_DESCRIPTION,
569  	       x_closed_ind=>NVL(X_CLOSED_IND,'N' ),
570  	       x_catalog_schedule=>X_CATALOG_SCHEDULE,
571 	       x_creation_date=>X_LAST_UPDATE_DATE,
572 	       x_created_by=>X_LAST_UPDATED_BY,
573 	       x_last_update_date=>X_LAST_UPDATE_DATE,
574 	       x_last_updated_by=>X_LAST_UPDATED_BY,
575 	       x_last_update_login=>X_LAST_UPDATE_LOGIN);
576    update IGS_PS_NOTE_TYPES set
577       NOTE_TYPE =  NEW_REFERENCES.NOTE_TYPE,
578       DESCRIPTION =  NEW_REFERENCES.DESCRIPTION,
579       CLOSED_IND =  NEW_REFERENCES.CLOSED_IND,
580       CATALOG_SCHEDULE =  NEW_REFERENCES.CATALOG_SCHEDULE,
581 	LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
582 	LAST_UPDATED_BY = X_LAST_UPDATED_BY,
583 	LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
584 	  where ROWID = X_ROWID;
585 	if (sql%notfound) then
586 		raise no_data_found;
587 	end if;
588 
589  After_DML (
590 	p_action => 'UPDATE' ,
591 	x_rowid => X_ROWID
592 	);
593 end UPDATE_ROW;
594  procedure ADD_ROW (
595       X_ROWID in out NOCOPY VARCHAR2,
596        x_NOTE_TYPE_ID IN OUT NOCOPY NUMBER,
597        x_NOTE_TYPE IN VARCHAR2,
598        x_DESCRIPTION IN VARCHAR2,
599        x_CLOSED_IND IN VARCHAR2,
600        x_CATALOG_SCHEDULE IN VARCHAR2,
601       X_MODE in VARCHAR2 default 'R'
602   ) AS
603   /*************************************************************
604   Created By :
605   Date Created By :
606   Purpose :
607   Know limitations, enhancements or remarks
608   Change History
609   Who             When            What
610 
611   (reverse chronological order - newest change first)
612   ***************************************************************/
613 
614     cursor c1 is select ROWID from IGS_PS_NOTE_TYPES
615              where     NOTE_TYPE_ID= X_NOTE_TYPE_ID
616 ;
617 begin
618 	open c1;
619 		fetch c1 into X_ROWID;
620 	if (c1%notfound) then
621 	close c1;
622     INSERT_ROW (
623       X_ROWID,
624        X_NOTE_TYPE_ID,
625        X_NOTE_TYPE,
626        X_DESCRIPTION,
627        X_CLOSED_IND,
628        X_CATALOG_SCHEDULE,
629       X_MODE );
630      return;
631 	end if;
632 	   close c1;
633 UPDATE_ROW (
634       X_ROWID,
635        X_NOTE_TYPE_ID,
636        X_NOTE_TYPE,
637        X_DESCRIPTION,
638        X_CLOSED_IND,
639        X_CATALOG_SCHEDULE,
640       X_MODE );
641 end ADD_ROW;
642 procedure DELETE_ROW (
643   X_ROWID in VARCHAR2
644 ) AS
645   /*************************************************************
646   Created By :
647   Date Created By :
648   Purpose :
649   Know limitations, enhancements or remarks
650   Change History
651   Who             When            What
652 
653   (reverse chronological order - newest change first)
654   ***************************************************************/
655 
656 begin
657 Before_DML (
658 p_action => 'DELETE',
659 x_rowid => X_ROWID
660 );
661  delete from IGS_PS_NOTE_TYPES
662  where ROWID = X_ROWID;
663   if (sql%notfound) then
664     raise no_data_found;
665   end if;
666 After_DML (
667  p_action => 'DELETE',
668  x_rowid => X_ROWID
669 );
670 end DELETE_ROW;
671 END igs_ps_note_types_pkg;