DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_FI_GV_DSP_HEC_CN_PKG

Source


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