DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_FI_FD_SRC_RSTN_H_PKG

Source


1 package body IGS_FI_FD_SRC_RSTN_H_PKG as
2  /* $Header: IGSSI41B.pls 115.5 2002/11/29 03:47:10 nsidana ship $*/
3  l_rowid VARCHAR2(25);
4   old_references IGS_FI_FD_SRC_RSTN_H_ALL%RowType;
5   new_references IGS_FI_FD_SRC_RSTN_H_ALL%RowType;
6   PROCEDURE Set_Column_Values (
7     p_action IN VARCHAR2,
8     x_rowid IN VARCHAR2 DEFAULT NULL,
9     x_course_cd IN VARCHAR2 DEFAULT NULL,
10     x_version_number IN NUMBER DEFAULT NULL,
11     x_funding_source IN VARCHAR2 DEFAULT NULL,
12     x_hist_start_dt IN DATE DEFAULT NULL,
13     x_hist_end_dt IN DATE DEFAULT NULL,
14     x_hist_who IN VARCHAR2 DEFAULT NULL,
15     x_dflt_ind IN VARCHAR2 DEFAULT NULL,
16     x_restricted_ind IN VARCHAR2 DEFAULT NULL,
17     x_org_id 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     CURSOR cur_old_ref_values IS
25       SELECT   *
26       FROM     IGS_FI_FD_SRC_RSTN_H_ALL
27       WHERE    rowid = x_rowid;
28   BEGIN
29     l_rowid := x_rowid;
30     -- Code for setting the Old and New Reference Values.
31     -- Populate Old Values.
32     Open cur_old_ref_values;
33     Fetch cur_old_ref_values INTO old_references;
34     IF (cur_old_ref_values%NOTFOUND) AND (p_action NOT IN ('INSERT', 'VALIDATE_INSERT')) THEN
35       Close cur_old_ref_values;
36       Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
37 	IGS_GE_MSG_STACK.ADD;
38       App_Exception.Raise_Exception;
39       Return;
40     END IF;
41     Close cur_old_ref_values;
42     -- Populate New Values.
43     new_references.course_cd := x_course_cd;
44     new_references.version_number := x_version_number;
45     new_references.funding_source := x_funding_source;
46     new_references.hist_start_dt := x_hist_start_dt;
47     new_references.hist_end_dt := x_hist_end_dt;
48     new_references.hist_who := x_hist_who;
49     new_references.dflt_ind := x_dflt_ind;
50     new_references.restricted_ind := x_restricted_ind;
51     new_references.org_id := x_org_id;
52     IF (p_action = 'UPDATE') THEN
53       new_references.creation_date := old_references.creation_date;
54       new_references.created_by := old_references.created_by;
55     ELSE
56       new_references.creation_date := x_creation_date;
57       new_references.created_by := x_created_by;
58     END IF;
59     new_references.last_update_date := x_last_update_date;
60     new_references.last_updated_by := x_last_updated_by;
61     new_references.last_update_login := x_last_update_login;
62   END Set_Column_Values;
63 
64    PROCEDURE Check_Constraints (
65    Column_Name	IN	VARCHAR2	DEFAULT NULL,
66    Column_Value 	IN	VARCHAR2	DEFAULT NULL
67    )AS
68    BEGIN
69 
70   IF Column_Name is NULL THEN
71   	NULL;
72   ELSIF upper(Column_Name) = 'DFLT_IND' then
73   	new_references.dflt_ind := Column_Value;
74   ELSIF upper(Column_Name) = 'RESTRICTED_IND' then
75   	new_references.restricted_ind := Column_Value;
76   ELSIF upper(Column_Name) = 'COURSE_CD' then
77   	new_references.course_cd := Column_Value;
78   ELSIF upper(Column_Name) = 'FUNDING_SOURCE' then
79     	new_references.funding_source := Column_Value;
80   END IF;
81   IF upper(Column_Name) = 'RESTRICTED_IND' OR 	column_name is NULL THEN
82      		IF new_references.restricted_ind <> 'Y' AND
83 			   new_references.restricted_ind <> 'N'
84 			   THEN
85      				Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
86 				IGS_GE_MSG_STACK.ADD;
87      				App_Exception.Raise_Exception;
88      		END IF;
89   END IF;
90 
91   IF upper(Column_Name) = 'DFLT_IND' OR 	column_name is NULL THEN
92        		IF new_references.dflt_ind <> 'Y' AND
93   			   new_references.dflt_ind <> 'N'
94   			   THEN
95        				Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
96 				IGS_GE_MSG_STACK.ADD;
97        				App_Exception.Raise_Exception;
98        		END IF;
99   END IF;
100   IF upper(Column_Name) = 'COURSE_CD' OR
101     		column_name is NULL THEN
102   		IF new_references.course_cd <> UPPER(new_references.course_cd) THEN
103   			Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
104 			IGS_GE_MSG_STACK.ADD;
105   			App_Exception.Raise_Exception;
106   		END IF;
107   END IF;
108   IF upper(Column_Name) = 'FUNDING_SOURCE' OR
109     		column_name is NULL THEN
110   		IF new_references.funding_source <> UPPER(new_references.funding_source) THEN
111   			Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
112 			IGS_GE_MSG_STACK.ADD;
113   			App_Exception.Raise_Exception;
114   		END IF;
115   END IF;
116 
117    END Check_Constraints;
118 
119   PROCEDURE Check_Parent_Existance AS
120   BEGIN
121     IF (((old_references.course_cd = new_references.course_cd) AND
122          (old_references.version_number = new_references.version_number)) OR
123         ((new_references.course_cd IS NULL) OR
124          (new_references.version_number IS NULL))) THEN
125       NULL;
126     ELSIF NOT IGS_PS_VER_PKG.Get_PK_For_Validation (
127         new_references.course_cd,
128         new_references.version_number
129         ) THEN
130 		     Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
131 			IGS_GE_MSG_STACK.ADD;
132      		 App_Exception.Raise_Exception;
133     END IF;
134     IF (((old_references.funding_source = new_references.funding_source)) OR
135         ((new_references.funding_source IS NULL))) THEN
136       NULL;
137     ELSIF NOT IGS_FI_FUND_SRC_PKG.Get_PK_For_Validation (
138         new_references.funding_source
139         ) THEN
140 		     Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
141 		IGS_GE_MSG_STACK.ADD;
142      		 App_Exception.Raise_Exception;
143     END IF;
144   END Check_Parent_Existance;
145   FUNCTION Get_PK_For_Validation (
146     x_course_cd IN VARCHAR2,
147     x_version_number IN NUMBER,
148     x_funding_source IN VARCHAR2,
149     x_hist_start_dt IN DATE
150     ) RETURN BOOLEAN AS
151     CURSOR cur_rowid IS
152       SELECT   rowid
153       FROM     IGS_FI_FD_SRC_RSTN_H_ALL
154       WHERE    course_cd = x_course_cd
155       AND      version_number = x_version_number
156       AND      funding_source = x_funding_source
157       AND      hist_start_dt = x_hist_start_dt
158       FOR UPDATE NOWAIT;
159     lv_rowid cur_rowid%RowType;
160 BEGIN
161     Open cur_rowid;
162     Fetch cur_rowid INTO lv_rowid;
163  IF (cur_rowid%FOUND) THEN
164        Close cur_rowid;
165        Return (TRUE);
166  ELSE
167        Close cur_rowid;
168        Return (FALSE);
169 END IF;
170   END Get_PK_For_Validation;
171   PROCEDURE GET_FK_IGS_PS_VER (
172     x_course_cd IN VARCHAR2,
173     x_version_number IN NUMBER
174     ) AS
175     CURSOR cur_rowid IS
176       SELECT   rowid
177       FROM     IGS_FI_FD_SRC_RSTN_H_ALL
178       WHERE    course_cd = x_course_cd
179       AND      version_number = x_version_number ;
180     lv_rowid cur_rowid%RowType;
181   BEGIN
182     Open cur_rowid;
183     Fetch cur_rowid INTO lv_rowid;
184     IF (cur_rowid%FOUND) THEN
185       Close cur_rowid;
186       Fnd_Message.Set_Name ('IGS', 'IGS_FI_FSRH_CV_FK');
187 	IGS_GE_MSG_STACK.ADD;
188       App_Exception.Raise_Exception;
189       Return;
190     END IF;
191     Close cur_rowid;
192   END GET_FK_IGS_PS_VER;
193   PROCEDURE GET_FK_IGS_FI_FUND_SRC (
194     x_funding_source IN VARCHAR2
195     ) AS
196     CURSOR cur_rowid IS
197       SELECT   rowid
198       FROM     IGS_FI_FD_SRC_RSTN_H_ALL
199       WHERE    funding_source = x_funding_source ;
200     lv_rowid cur_rowid%RowType;
201   BEGIN
202     Open cur_rowid;
203     Fetch cur_rowid INTO lv_rowid;
204     IF (cur_rowid%FOUND) THEN
205       Close cur_rowid;
206       Fnd_Message.Set_Name ('IGS', 'IGS_FI_FSRH_FS_FK');
207       IGS_GE_MSG_STACK.ADD;
208       App_Exception.Raise_Exception;
209       Return;
210     END IF;
211     Close cur_rowid;
212   END GET_FK_IGS_FI_FUND_SRC;
213   PROCEDURE Before_DML (
214     p_action IN VARCHAR2,
215     x_rowid IN  VARCHAR2 DEFAULT NULL,
216     x_course_cd IN VARCHAR2 DEFAULT NULL,
217     x_version_number IN NUMBER DEFAULT NULL,
218     x_funding_source IN VARCHAR2 DEFAULT NULL,
219     x_hist_start_dt IN DATE DEFAULT NULL,
220     x_hist_end_dt IN DATE DEFAULT NULL,
221     x_hist_who IN VARCHAR2 DEFAULT NULL,
222     x_dflt_ind IN VARCHAR2 DEFAULT NULL,
223     x_restricted_ind IN VARCHAR2 DEFAULT NULL,
224     x_org_id IN NUMBER DEFAULT NULL,
225     x_creation_date IN DATE DEFAULT NULL,
226     x_created_by IN NUMBER DEFAULT NULL,
227     x_last_update_date IN DATE DEFAULT NULL,
228     x_last_updated_by IN NUMBER DEFAULT NULL,
229     x_last_update_login IN NUMBER DEFAULT NULL
230   ) AS
231   BEGIN
232     Set_Column_Values (
233       p_action,
234       x_rowid,
235       x_course_cd,
236       x_version_number,
237       x_funding_source,
238       x_hist_start_dt,
239       x_hist_end_dt,
240       x_hist_who,
241       x_dflt_ind,
242       x_restricted_ind,
243       x_org_id,
244       x_creation_date,
245       x_created_by,
246       x_last_update_date,
247       x_last_updated_by,
248       x_last_update_login
249     );
250     IF (p_action = 'INSERT') THEN
251       -- Call all the procedures related to Before Insert.
252 	  IF Get_PK_For_Validation ( new_references.course_cd, new_references.version_number,
253 	  						    new_references.funding_source, new_references.hist_start_dt) THEN
254          Fnd_Message.Set_Name ('IGS', 'IGS_GE_MULTI_ORG_DUP_REC');
255 	IGS_GE_MSG_STACK.ADD;
256          App_Exception.Raise_Exception;
257 	  END IF;
258       Check_Constraints;
259       Check_Parent_Existance;
260     ELSIF (p_action = 'UPDATE') THEN
261       -- Call all the procedures related to Before Update.
262       Check_Constraints;
263       Check_Parent_Existance;
264    ELSIF (p_action = 'VALIDATE_INSERT') THEN
265       -- Call all the procedures related to Before Insert.
266 	  IF Get_PK_For_Validation ( new_references.course_cd, new_references.version_number,
267 	  						    new_references.funding_source, new_references.hist_start_dt) THEN
268          Fnd_Message.Set_Name ('IGS', 'IGS_GE_MULTI_ORG_DUP_REC');
269 	IGS_GE_MSG_STACK.ADD;
270          App_Exception.Raise_Exception;
271 	  END IF;
272 			Check_Constraints;
273     ELSIF (p_action = 'VALIDATE_UPDATE') THEN
274 	 	Check_Constraints;
275     END IF;
276   END Before_DML;
277 procedure INSERT_ROW (
278   X_ROWID in out NOCOPY VARCHAR2,
279   X_COURSE_CD in VARCHAR2,
280   X_HIST_START_DT in DATE,
281   X_VERSION_NUMBER in NUMBER,
282   X_FUNDING_SOURCE in VARCHAR2,
283   X_HIST_END_DT in DATE,
284   X_HIST_WHO in NUMBER,
285   X_DFLT_IND in VARCHAR2,
286   X_RESTRICTED_IND in VARCHAR2,
287   X_ORG_ID in NUMBER,
288   X_MODE in VARCHAR2 default 'R'
289   ) as
290     cursor C is select ROWID from IGS_FI_FD_SRC_RSTN_H_ALL
291       where COURSE_CD = X_COURSE_CD
292       and HIST_START_DT = X_HIST_START_DT
293       and VERSION_NUMBER = X_VERSION_NUMBER
294       and FUNDING_SOURCE = X_FUNDING_SOURCE;
295     X_LAST_UPDATE_DATE DATE;
296     X_LAST_UPDATED_BY NUMBER;
297     X_LAST_UPDATE_LOGIN NUMBER;
298 begin
299   X_LAST_UPDATE_DATE := SYSDATE;
300   if(X_MODE = 'I') then
301     X_LAST_UPDATED_BY := 1;
302     X_LAST_UPDATE_LOGIN := 0;
303   elsif (X_MODE = 'R') then
304     X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
305     if X_LAST_UPDATED_BY is NULL then
306       X_LAST_UPDATED_BY := -1;
307     end if;
308     X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
309     if X_LAST_UPDATE_LOGIN is NULL then
310       X_LAST_UPDATE_LOGIN := -1;
311     end if;
312   else
313     FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
314 	IGS_GE_MSG_STACK.ADD;
315     app_exception.raise_exception;
316   end if;
317 Before_DML(
318  p_action=>'INSERT',
319  x_rowid=>X_ROWID,
320  x_course_cd=>X_COURSE_CD,
321  x_dflt_ind=>X_DFLT_IND,
322  x_funding_source=>X_FUNDING_SOURCE,
323  x_hist_end_dt=>X_HIST_END_DT,
324  x_hist_start_dt=>X_HIST_START_DT,
325  x_hist_who=>X_HIST_WHO,
326  x_restricted_ind=>X_RESTRICTED_IND,
327  x_version_number=>X_VERSION_NUMBER,
328  x_org_id => igs_ge_gen_003.get_org_id,
329  x_creation_date=>X_LAST_UPDATE_DATE,
330  x_created_by=>X_LAST_UPDATED_BY,
331  x_last_update_date=>X_LAST_UPDATE_DATE,
332  x_last_updated_by=>X_LAST_UPDATED_BY,
333  x_last_update_login=>X_LAST_UPDATE_LOGIN
334 );
335   insert into IGS_FI_FD_SRC_RSTN_H_ALL (
336     COURSE_CD,
337     VERSION_NUMBER,
338     FUNDING_SOURCE,
339     HIST_START_DT,
340     HIST_END_DT,
341     HIST_WHO,
342     DFLT_IND,
343     RESTRICTED_IND,
344     ORG_ID,
345     CREATION_DATE,
346     CREATED_BY,
347     LAST_UPDATE_DATE,
348     LAST_UPDATED_BY,
349     LAST_UPDATE_LOGIN
350   ) values (
351     NEW_REFERENCES.COURSE_CD,
352     NEW_REFERENCES.VERSION_NUMBER,
353     NEW_REFERENCES.FUNDING_SOURCE,
354     NEW_REFERENCES.HIST_START_DT,
355     NEW_REFERENCES.HIST_END_DT,
356     NEW_REFERENCES.HIST_WHO,
357     NEW_REFERENCES.DFLT_IND,
358     NEW_REFERENCES.RESTRICTED_IND,
359     NEW_REFERENCES.ORG_ID,
360     X_LAST_UPDATE_DATE,
361     X_LAST_UPDATED_BY,
362     X_LAST_UPDATE_DATE,
363     X_LAST_UPDATED_BY,
364     X_LAST_UPDATE_LOGIN
365   );
366   open c;
367   fetch c into X_ROWID;
368   if (c%notfound) then
369     close c;
370     raise no_data_found;
371   end if;
372   close c;
373 end INSERT_ROW;
374 procedure LOCK_ROW (
375   X_ROWID in VARCHAR2,
376   X_COURSE_CD in VARCHAR2,
377   X_HIST_START_DT in DATE,
378   X_VERSION_NUMBER in NUMBER,
379   X_FUNDING_SOURCE in VARCHAR2,
380   X_HIST_END_DT in DATE,
381   X_HIST_WHO in NUMBER,
382   X_DFLT_IND in VARCHAR2,
383   X_RESTRICTED_IND in VARCHAR2
384 ) as
385   cursor c1 is select
386       HIST_END_DT,
387       HIST_WHO,
388       DFLT_IND,
389       RESTRICTED_IND
390     from IGS_FI_FD_SRC_RSTN_H_ALL
391     where ROWID=X_ROWID
392     for update nowait;
393   tlinfo c1%rowtype;
394 begin
395   open c1;
396   fetch c1 into tlinfo;
397   if (c1%notfound) then
398     close c1;
399     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
400     IGS_GE_MSG_STACK.ADD;
401     app_exception.raise_exception;
402     return;
403   end if;
404   close c1;
405   if ( (tlinfo.HIST_END_DT = X_HIST_END_DT)
406       AND (tlinfo.HIST_WHO = X_HIST_WHO)
407       AND ((tlinfo.DFLT_IND = X_DFLT_IND)
408            OR ((tlinfo.DFLT_IND is null)
409                AND (X_DFLT_IND is null)))
410       AND ((tlinfo.RESTRICTED_IND = X_RESTRICTED_IND)
411            OR ((tlinfo.RESTRICTED_IND is null)
412                AND (X_RESTRICTED_IND is null)))
413   ) then
414     null;
415   else
416     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
417     IGS_GE_MSG_STACK.ADD;
418     app_exception.raise_exception;
419   end if;
420   return;
421 end LOCK_ROW;
422 procedure UPDATE_ROW (
423   X_ROWID in VARCHAR2,
424   X_COURSE_CD in VARCHAR2,
425   X_HIST_START_DT in DATE,
426   X_VERSION_NUMBER in NUMBER,
427   X_FUNDING_SOURCE in VARCHAR2,
428   X_HIST_END_DT in DATE,
432   X_MODE in VARCHAR2 default 'R'
429   X_HIST_WHO in NUMBER,
430   X_DFLT_IND in VARCHAR2,
431   X_RESTRICTED_IND in VARCHAR2,
433   ) as
434     X_LAST_UPDATE_DATE DATE;
435     X_LAST_UPDATED_BY NUMBER;
436     X_LAST_UPDATE_LOGIN NUMBER;
437 begin
438   X_LAST_UPDATE_DATE := SYSDATE;
439   if(X_MODE = 'I') then
440     X_LAST_UPDATED_BY := 1;
441     X_LAST_UPDATE_LOGIN := 0;
442   elsif (X_MODE = 'R') then
443     X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
444     if X_LAST_UPDATED_BY is NULL then
445       X_LAST_UPDATED_BY := -1;
446     end if;
447     X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
448     if X_LAST_UPDATE_LOGIN is NULL then
449       X_LAST_UPDATE_LOGIN := -1;
450     end if;
451   else
452     FND_MESSAGE.SET_NAME('FND', 'SYSTEM-INVALID ARGS');
453     IGS_GE_MSG_STACK.ADD;
454     app_exception.raise_exception;
455   end if;
456 Before_DML(
457  p_action=>'UPDATE',
458  x_rowid=>X_ROWID,
459  x_course_cd=>X_COURSE_CD,
460  x_dflt_ind=>X_DFLT_IND,
461  x_funding_source=>X_FUNDING_SOURCE,
462  x_hist_end_dt=>X_HIST_END_DT,
463  x_hist_start_dt=>X_HIST_START_DT,
464  x_hist_who=>X_HIST_WHO,
465  x_restricted_ind=>X_RESTRICTED_IND,
466  x_version_number=>X_VERSION_NUMBER,
467  x_creation_date=>X_LAST_UPDATE_DATE,
468  x_created_by=>X_LAST_UPDATED_BY,
469  x_last_update_date=>X_LAST_UPDATE_DATE,
470  x_last_updated_by=>X_LAST_UPDATED_BY,
471  x_last_update_login=>X_LAST_UPDATE_LOGIN
472 );
473   update IGS_FI_FD_SRC_RSTN_H_ALL set
474     HIST_END_DT = NEW_REFERENCES.HIST_END_DT,
475     HIST_WHO = NEW_REFERENCES.HIST_WHO,
476     DFLT_IND = NEW_REFERENCES.DFLT_IND,
477     RESTRICTED_IND = NEW_REFERENCES.RESTRICTED_IND,
478     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
479     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
480     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
481   where ROWID=X_ROWID
482   ;
483   if (sql%notfound) then
484     raise no_data_found;
485   end if;
486 end UPDATE_ROW;
490   X_HIST_START_DT in DATE,
487 procedure ADD_ROW (
488   X_ROWID in out NOCOPY VARCHAR2,
489   X_COURSE_CD in VARCHAR2,
491   X_VERSION_NUMBER in NUMBER,
492   X_FUNDING_SOURCE in VARCHAR2,
493   X_HIST_END_DT in DATE,
494   X_HIST_WHO in NUMBER,
495   X_DFLT_IND in VARCHAR2,
496   X_RESTRICTED_IND in VARCHAR2,
497   X_ORG_ID in NUMBER,
498   X_MODE in VARCHAR2 default 'R'
499   ) as
500   cursor c1 is select rowid from IGS_FI_FD_SRC_RSTN_H_ALL
501      where COURSE_CD = X_COURSE_CD
502      and HIST_START_DT = X_HIST_START_DT
503      and VERSION_NUMBER = X_VERSION_NUMBER
504      and FUNDING_SOURCE = X_FUNDING_SOURCE
505   ;
506 begin
507   open c1;
508   fetch c1 into X_ROWID;
509   if (c1%notfound) then
510     close c1;
511     INSERT_ROW (
512      X_ROWID,
513      X_COURSE_CD,
514      X_HIST_START_DT,
515      X_VERSION_NUMBER,
516      X_FUNDING_SOURCE,
517      X_HIST_END_DT,
518      X_HIST_WHO,
519      X_DFLT_IND,
520      X_RESTRICTED_IND,
521      X_ORG_ID,
522      X_MODE);
523     return;
524   end if;
525   close c1;
526   UPDATE_ROW (
527    X_ROWID,
528    X_COURSE_CD,
529    X_HIST_START_DT,
530    X_VERSION_NUMBER,
531    X_FUNDING_SOURCE,
532    X_HIST_END_DT,
533    X_HIST_WHO,
534    X_DFLT_IND,
535    X_RESTRICTED_IND,
536    X_MODE);
537 end ADD_ROW;
538 
539 procedure DELETE_ROW (
540   X_ROWID in VARCHAR2
541 ) AS
542 begin
543 
544 Before_DML (
545  p_action => 'DELETE',
546  x_rowid => X_ROWID
547      );
548 
549   delete from IGS_FI_FD_SRC_RSTN_H_ALL
553   end if;
550   where ROWID=X_ROWID;
551   if (sql%notfound) then
552     raise no_data_found;
554 end DELETE_ROW;
555 end IGS_FI_FD_SRC_RSTN_H_PKG;