DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_AD_AUSE_ED_AS_TY_PKG

Source


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