DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_AD_UP_DETAIL_PKG

Source


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