DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_AV_STD_ULVLBASIS_PKG

Source


1 package body IGS_AV_STD_ULVLBASIS_PKG AS
2 /* $Header: IGSBI02B.pls 120.0 2005/07/05 11:44:14 appldev noship $ */
3   l_rowid VARCHAR2(25);
4   old_references IGS_AV_STD_ULVLBASIS_ALL%RowType;
5   new_references IGS_AV_STD_ULVLBASIS_ALL%RowType;
6   PROCEDURE Set_Column_Values (
7     p_action IN VARCHAR2,
8     x_rowid IN VARCHAR2 DEFAULT NULL,
9     x_av_stnd_unit_lvl_id IN NUMBER DEFAULT NULL,
10     x_basis_year IN NUMBER DEFAULT NULL,
11     x_basis_completion_ind IN VARCHAR2 DEFAULT NULL,
12     x_basis_course_type IN VARCHAR2 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     x_org_id IN NUMBER DEFAULT NULL
19   ) AS
20     CURSOR cur_old_ref_values IS
21       SELECT   *
22       FROM     IGS_AV_STD_ULVLBASIS_ALL
23       WHERE    rowid = x_rowid;
24   BEGIN
25     l_rowid := x_rowid;
26     -- Code for setting the Old and New Reference Values.
27     -- Populate Old Values.
28     Open cur_old_ref_values;
29     Fetch cur_old_ref_values INTO old_references;
30     IF (cur_old_ref_values%NOTFOUND) AND (p_action NOT IN ('INSERT','VALIDATE_INSERT')) THEN
31       Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
32       Igs_Ge_Msg_Stack.Add;
33       Close cur_old_ref_values;
34       App_Exception.Raise_Exception;
35       Return;
36     END IF;
37     Close cur_old_ref_values;
38     -- Populate New Values.
39     new_references.basis_year := x_basis_year;
40     new_references.basis_completion_ind := x_basis_completion_ind;
41     new_references.av_stnd_unit_lvl_id:=x_av_stnd_unit_lvl_id;
42     new_references.basis_course_type := x_basis_course_type;
43     IF (p_action = 'UPDATE') THEN
44       new_references.creation_date := old_references.creation_date;
45       new_references.created_by := old_references.created_by;
46     ELSE
47       new_references.creation_date := x_creation_date;
48       new_references.created_by := x_created_by;
49     END IF;
50     new_references.last_update_date := x_last_update_date;
51     new_references.last_updated_by := x_last_updated_by;
52     new_references.last_update_login := x_last_update_login;
53     new_references.org_id := x_org_id;
54   END Set_Column_Values;
55 
56 
57   -- Trigger description :-
58   -- "OSS_TST".trg_asuleb_br_iu
59   -- BEFORE INSERT OR UPDATE
60   -- ON IGS_AV_STD_ULVLBASIS_ALL
61   -- FOR EACH ROW
62 
63 
64   PROCEDURE BeforeRowInsertUpdate1(
65     p_inserting IN BOOLEAN DEFAULT FALSE,
66     p_updating IN BOOLEAN DEFAULT FALSE,
67     p_deleting IN BOOLEAN DEFAULT FALSE
68     ) AS
69       v_message_name  varchar2(30);
70 	v_return_type	VARCHAR2(1);
71 	 CURSOR CUR IS SELECT * FROM IGS_AV_STND_UNIT_LVL_ALL
72 	                                WHERE AV_STND_UNIT_LVL_ID =new_references.av_stnd_unit_lvl_id;
73           REC     CUR%ROWTYPE;
74   BEGIN
75          OPEN CUR;
76 	 FETCH CUR INTO REC;
77 	-- Validate Advanced Standing IGS_PS_UNIT Level Basis Year.
78 	IF (p_inserting OR (old_references.basis_year) <> (new_references.basis_year)) THEN
79 		IF IGS_AV_VAL_ASULEB.advp_val_basis_year (
80 				new_references.basis_year,
81 				rec.as_course_cd,                                                             --new_references.as_course_cd,
82 				rec.as_version_number,                                                     --new_references.as_version_number,
83 				v_message_name,
84 				v_return_type) = FALSE THEN
85  			IF v_return_type = 'E' THEN
86                           Fnd_Message.Set_Name('IGS', v_message_name);
87                           Igs_Ge_Msg_Stack.Add;
88                           App_Exception.Raise_Exception;
89                           null;
90 			END IF;
91 		END IF;
92 	END IF;
93 	CLOSE CUR;
94   END BeforeRowInsertUpdate1;
95 
96 ---
97 
98 PROCEDURE Check_Constraints (
99  Column_Name	IN	VARCHAR2	DEFAULT NULL,
100  Column_Value 	IN	VARCHAR2	DEFAULT NULL
101     )  AS
102 BEGIN
103 
104   IF  column_name is null then
105        NULL;
106      ELSIF upper(Column_name) = 'BASIS_COURSE_TYPE' then
107        new_references.BASIS_COURSE_TYPE := column_value;
108      ELSIF upper(Column_name) = 'BASIS_COMPLETION_IND' then
109        new_references.BASIS_COMPLETION_IND := column_value;
110      ELSIF upper(Column_name) = 'BASIS_COURSE_TYPE' then
111        new_references.BASIS_COURSE_TYPE := column_value;
112      ELSIF upper(Column_name) = 'CRS_GROUP_IND' then
113        new_references.CRS_GROUP_IND := column_value;
114   END IF;
115 
116 
117    IF upper(column_name) = 'BASIS_COMPLETION_IND' OR
118      column_name is null Then
119      IF new_references.BASIS_COMPLETION_IND <> UPPER(new_references.BASIS_COMPLETION_IND) Then
120        Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
121        Igs_Ge_Msg_Stack.Add;
122        App_Exception.Raise_Exception;
123      END IF;
124    END IF;
125 
126   IF upper(column_name) = 'BASIS_COURSE_TYPE' OR
127      column_name is null Then
128      IF new_references.BASIS_COURSE_TYPE <> UPPER(new_references.BASIS_COURSE_TYPE) Then
129        Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
130        Igs_Ge_Msg_Stack.Add;
131        App_Exception.Raise_Exception;
132      END IF;
133    END IF;
134 
135 
136    IF upper(column_name) = 'BASIS_COMPLETION_IND' OR
137      column_name is null Then
138      IF new_references.BASIS_COMPLETION_IND not in ('Y','N') 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    END IF ;
144 
145    IF upper(column_name) = 'BASIS_YEAR' OR
146      column_name is null Then
147      IF new_references.BASIS_YEAR  < 1900 OR
148           new_references.BASIS_YEAR > 2100 Then
149           Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
150           Igs_Ge_Msg_Stack.Add;
151           App_Exception.Raise_Exception;
152      END IF;
153     END IF;
154 
155 END CHECK_CONSTRAINTS;
156 ---
157 
158   PROCEDURE Check_Parent_Existance AS
159   BEGIN
160     IF ((old_references.av_stnd_unit_lvl_id = new_references.av_stnd_unit_lvl_id) OR
161         (new_references.av_stnd_unit_lvl_id IS NULL)) THEN
162       NULL;
163     ELSE
164 --
165       IF  NOT IGS_AV_STND_UNIT_LVL_PKG.Get_PK_For_Validation (
166         new_references.av_stnd_unit_lvl_id)  THEN
167              Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
168              Igs_Ge_Msg_Stack.Add;
169              App_Exception.Raise_Exception;
170        END IF;
171 --
172     END IF ;
173 
174   IF (((old_references.basis_course_type = new_references.basis_course_type)) OR
175         ((new_references.basis_course_type IS NULL))) THEN
176       NULL;
177     ELSE
178       IF NOT IGS_PS_TYPE_PKG.Get_PK_For_Validation (
179         new_references.basis_course_type
180         )THEN
181              Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
182              Igs_Ge_Msg_Stack.Add;
183              App_Exception.Raise_Exception;
184       END IF;
185 
186     END IF;
187   END Check_Parent_Existance;
188 
189   FUNCTION Get_PK_For_Validation (
190   x_av_stnd_unit_lvl_id IN NUMBER
191     ) RETURN BOOLEAN AS
192 
193    CURSOR cur_rowid IS
194       SELECT   rowid
195       FROM     IGS_AV_STD_ULVLBASIS_ALL
196       WHERE   av_stnd_unit_lvl_id = x_av_stnd_unit_lvl_id
197       FOR UPDATE NOWAIT;
198     lv_rowid cur_rowid%RowType;
199 
200     BEGIN
201     Open cur_rowid;
202     Fetch cur_rowid INTO lv_rowid;
203 --
204     IF (cur_rowid%FOUND) THEN
205        Close cur_rowid;
206        Return (TRUE);
207     ELSE
208        Close cur_rowid;
209        Return (FALSE);
210     END IF;
211 --
212   END Get_PK_For_Validation;
213 
214   PROCEDURE GET_FK_IGS_AV_STND_UNIT_LVL (
215     x_av_stnd_unit_lvl_id IN NUMBER
216     ) AS
217     CURSOR cur_rowid IS
218       SELECT   rowid
219       FROM     IGS_AV_STD_ULVLBASIS_ALL
220       WHERE  av_stnd_unit_lvl_id = x_av_stnd_unit_lvl_id;
221     lv_rowid cur_rowid%RowType;
222   BEGIN
223     Open cur_rowid;
224     Fetch cur_rowid INTO lv_rowid;
225     IF (cur_rowid%FOUND) THEN
226       Fnd_Message.Set_Name ('IGS', 'IGS_AV_ASULEB_ASULE_FK');
227       Igs_Ge_Msg_Stack.Add;
228       Close cur_rowid;
229       App_Exception.Raise_Exception;
230       Return;
231     END IF;
232     Close cur_rowid;
233   END GET_FK_IGS_AV_STND_UNIT_LVL;
234 
235   PROCEDURE Before_DML (
236     p_action IN VARCHAR2,
237     x_rowid IN  VARCHAR2 DEFAULT NULL,
238     x_av_stnd_unit_lvl_id IN NUMBER DEFAULT NULL,
239     x_basis_year IN NUMBER DEFAULT NULL,
240     x_basis_completion_ind IN VARCHAR2 DEFAULT NULL,
241     x_basis_course_type 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     x_org_id IN NUMBER DEFAULT NULL
248   ) AS
249   BEGIN
250     Set_Column_Values (
251       p_action,
252       x_rowid,
253       x_av_stnd_unit_lvl_id,
254       x_basis_year,
255       x_basis_completion_ind,
256       x_basis_course_type,
257       x_creation_date,
258       x_created_by,
259       x_last_update_date,
260       x_last_updated_by,
261       x_last_update_login,
262       x_org_id
263     );
264     IF (p_action = 'INSERT') THEN
265       -- Call all the procedures related to Before Insert.
266       BeforeRowInsertUpdate1 ( p_inserting => TRUE );
267 ---
268     IF Get_PK_For_Validation (
269       new_references.av_stnd_unit_lvl_id
270       )  THEN
271           Fnd_Message.Set_Name ('IGS', 'IGS_GE_MULTI_ORG_DUP_REC');
272           Igs_Ge_Msg_Stack.Add;
273           App_Exception.Raise_Exception;
274     END IF;
275 ---
276 -- *
277      CHECK_CONSTRAINTS;
278       Check_Parent_Existance;
279 ---
280     ELSIF (p_action = 'UPDATE') THEN
281       -- Call all the procedures related to Before Update.
282        BeforeRowInsertUpdate1 ( p_updating => TRUE );
283 ---
284       CHECK_CONSTRAINTS;
285 ---
286       Check_Parent_Existance;
287     ELSIF (p_action = 'DELETE') THEN
288       -- Call all the procedures related to Before Delete.
289       Null;
290     ELSIF (p_action = 'VALIDATE_INSERT') THEN
291       IF Get_PK_For_Validation (
292          new_references.av_stnd_unit_lvl_id
293            ) THEN
294            Fnd_Message.Set_Name ('IGS', 'IGS_GE_MULTI_ORG_DUP_REC');
295            Igs_Ge_Msg_Stack.Add;
296            App_Exception.Raise_Exception;
297       END IF;
298         Check_Constraints;
299       ELSIF (p_action = 'VALIDATE_UPDATE') THEN
300         Check_Constraints;
301  ELSIF (p_action = 'VALIDATE_DELETE') THEN
302         NULL ;
303     END IF;
304 END Before_DML;
305 
306 procedure INSERT_ROW (
307   X_ROWID in out NOCOPY VARCHAR2,
308   X_AV_STND_UNIT_LVL_ID IN NUMBER,
309   X_BASIS_COURSE_TYPE in VARCHAR2,
310   X_BASIS_YEAR in NUMBER,
311   X_BASIS_COMPLETION_IND in VARCHAR2,
312   X_MODE in VARCHAR2 default 'R',
313   X_ORG_ID in NUMBER
314   ) AS
315     cursor C is select ROWID from IGS_AV_STD_ULVLBASIS_ALL
316       where av_stnd_unit_lvl_id =x_av_stnd_unit_lvl_id;
317     X_LAST_UPDATE_DATE DATE;
318     X_LAST_UPDATED_BY NUMBER;
319     X_LAST_UPDATE_LOGIN NUMBER;
320 begin
321   X_LAST_UPDATE_DATE := SYSDATE;
322   if(X_MODE = 'I') then
323     X_LAST_UPDATED_BY := 1;
324     X_LAST_UPDATE_LOGIN := 0;
325   elsif (X_MODE IN ('R', 'S')) then
326     X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
327     if X_LAST_UPDATED_BY is NULL then
328       X_LAST_UPDATED_BY := -1;
329     end if;
330     X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
331     if X_LAST_UPDATE_LOGIN is NULL then
332       X_LAST_UPDATE_LOGIN := -1;
333     end if;
334   else
335     FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
336     Igs_Ge_Msg_Stack.Add;
337     app_exception.raise_exception;
338   end if;
339 Before_DML(
340  p_action=>'INSERT',
341  x_rowid=>X_ROWID,
342  x_av_stnd_unit_lvl_id=>x_av_stnd_unit_lvl_id,
343  x_basis_completion_ind=>NVL(X_BASIS_COMPLETION_IND,'N'),
344  x_basis_course_type=>X_BASIS_COURSE_TYPE,
345  x_basis_year=>X_BASIS_YEAR,
346  x_creation_date=>X_LAST_UPDATE_DATE,
347  x_created_by=>X_LAST_UPDATED_BY,
348  x_last_update_date=>X_LAST_UPDATE_DATE,
349  x_last_updated_by=>X_LAST_UPDATED_BY,
350  x_last_update_login=>X_LAST_UPDATE_LOGIN,
351  x_org_id=>igs_ge_gen_003.get_org_id
352  );
353    IF (x_mode = 'S') THEN
354     igs_sc_gen_001.set_ctx('R');
355   END IF;
356  insert into IGS_AV_STD_ULVLBASIS_ALL (
357     AV_STND_UNIT_LVL_ID,
358     BASIS_COURSE_TYPE,
359     BASIS_YEAR,
360     BASIS_COMPLETION_IND,
361     CREATION_DATE,
362     CREATED_BY,
363     LAST_UPDATE_DATE,
364     LAST_UPDATED_BY,
365     LAST_UPDATE_LOGIN,
366     ORG_ID
367   ) values (
368     NEW_REFERENCES.AV_STND_UNIT_LVL_ID,
369     NEW_REFERENCES.BASIS_COURSE_TYPE,
370     NEW_REFERENCES.BASIS_YEAR,
371     NEW_REFERENCES.BASIS_COMPLETION_IND,
372     X_LAST_UPDATE_DATE,
373     X_LAST_UPDATED_BY,
374     X_LAST_UPDATE_DATE,
375     X_LAST_UPDATED_BY,
376     X_LAST_UPDATE_LOGIN,
377     NEW_REFERENCES.ORG_ID
378   );
379  IF (x_mode = 'S') THEN
380     igs_sc_gen_001.unset_ctx('R');
381   END IF;
382 
383   open c;
384   fetch c into X_ROWID;
385   if (c%notfound) then
386     close c;
387     raise no_data_found;
388   end if;
389   close c;
390 EXCEPTION
391   WHEN OTHERS THEN
392     IF (SQLCODE IN (-28115, -28113, -28111)) THEN
393       fnd_message.set_name ('IGS', 'IGS_SC_POLICY_EXCEPTION');
394       fnd_message.set_token ('ERR_CD', SQLCODE);
395       igs_ge_msg_stack.add;
396       igs_sc_gen_001.unset_ctx('R');
397       app_exception.raise_exception;
398     ELSE
399       igs_sc_gen_001.unset_ctx('R');
403 end INSERT_ROW;
400       RAISE;
401     END IF;
402 
404 
405 
406 procedure LOCK_ROW (
407   X_ROWID in VARCHAR2,
408   X_AV_STND_UNIT_LVL_ID IN NUMBER,
409   X_BASIS_COURSE_TYPE in VARCHAR2,
410   X_BASIS_YEAR in NUMBER,
411   X_BASIS_COMPLETION_IND in VARCHAR2
412 ) AS
413   cursor c1 is select
414       BASIS_COURSE_TYPE,
415       BASIS_YEAR,
416       BASIS_COMPLETION_IND
417     from IGS_AV_STD_ULVLBASIS_ALL
418     where ROWID = X_ROWID    for update nowait;
419   tlinfo c1%rowtype;
420 begin
421   open c1;
422   fetch c1 into tlinfo;
423   if (c1%notfound) then
424     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
425     Igs_Ge_Msg_Stack.Add;
426     close c1;
427     app_exception.raise_exception;
428     return;
429   end if;
430   close c1;
431       if (
432           ((tlinfo.BASIS_COURSE_TYPE = X_BASIS_COURSE_TYPE)  OR ((tlinfo.BASIS_COURSE_TYPE is null)  AND (X_BASIS_COURSE_TYPE is null)))
433       AND ((tlinfo.BASIS_YEAR = X_BASIS_YEAR)   OR ((tlinfo.BASIS_YEAR is null)  AND (X_BASIS_YEAR is null)))
434       AND ((tlinfo.BASIS_COMPLETION_IND = X_BASIS_COMPLETION_IND)  OR ((tlinfo.BASIS_COMPLETION_IND is null)  AND (X_BASIS_COMPLETION_IND is null)))
435          ) then
436     null;
437   else
438     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
439     Igs_Ge_Msg_Stack.Add;
440     app_exception.raise_exception;
441   end if;
442   return;
443 end LOCK_ROW;
444 
445 procedure UPDATE_ROW (
446   X_ROWID in VARCHAR2,
447   X_AV_STND_UNIT_LVL_ID IN NUMBER,
448   X_BASIS_COURSE_TYPE in VARCHAR2,
449   X_BASIS_YEAR in NUMBER,
450   X_BASIS_COMPLETION_IND in VARCHAR2,
451   X_MODE in VARCHAR2 default 'R'
452   ) AS
453     X_LAST_UPDATE_DATE DATE;
454     X_LAST_UPDATED_BY NUMBER;
455     X_LAST_UPDATE_LOGIN NUMBER;
456 begin
457   X_LAST_UPDATE_DATE := SYSDATE;
458   if(X_MODE = 'I') then
459     X_LAST_UPDATED_BY := 1;
460     X_LAST_UPDATE_LOGIN := 0;
461   elsif (X_MODE IN ('R', 'S')) then
462     X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
463     if X_LAST_UPDATED_BY is NULL then
464       X_LAST_UPDATED_BY := -1;
465     end if;
466     X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
467     if X_LAST_UPDATE_LOGIN is NULL then
468       X_LAST_UPDATE_LOGIN := -1;
469     end if;
470   else
471     FND_MESSAGE.SET_NAME('FND', 'SYSTEM-INVALID ARGS');
472     Igs_Ge_Msg_Stack.Add;
473     app_exception.raise_exception;
474   end if;
475 Before_DML(
476  p_action=>'UPDATE',
477  x_rowid=>X_ROWID,
478  x_av_stnd_unit_lvl_id=>X_AV_STND_UNIT_LVL_ID,
479  x_basis_completion_ind=>X_BASIS_COMPLETION_IND,
480  x_basis_course_type=>X_BASIS_COURSE_TYPE,
481  x_basis_year=>X_BASIS_YEAR,
482  x_creation_date=>X_LAST_UPDATE_DATE,
483  x_created_by=>X_LAST_UPDATED_BY,
484  x_last_update_date=>X_LAST_UPDATE_DATE,
485  x_last_updated_by=>X_LAST_UPDATED_BY,
486  x_last_update_login=>X_LAST_UPDATE_LOGIN
487  );
488 
489 
490    IF (x_mode = 'S') THEN
491     igs_sc_gen_001.set_ctx('R');
492   END IF;
493  update IGS_AV_STD_ULVLBASIS_ALL set
494     BASIS_COURSE_TYPE = NEW_REFERENCES.BASIS_COURSE_TYPE,
495     BASIS_YEAR = NEW_REFERENCES.BASIS_YEAR,
496     BASIS_COMPLETION_IND = NEW_REFERENCES.BASIS_COMPLETION_IND,
497     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
498     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
499     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
500   where ROWID = X_ROWID ;
501   if (sql%notfound) then
502      fnd_message.set_name ('IGS', 'IGS_SC_POLICY_UPD_DEL_EXCEP');
503      igs_ge_msg_stack.add;
504      igs_sc_gen_001.unset_ctx('R');
505      app_exception.raise_exception;
506  end if;
507  IF (x_mode = 'S') THEN
508     igs_sc_gen_001.unset_ctx('R');
509   END IF;
510 
511 
512 
513 EXCEPTION
514   WHEN OTHERS THEN
515     IF (SQLCODE = (-28115)) THEN
516       fnd_message.set_name ('IGS', 'IGS_SC_UPD_POLICY_EXCP');
517       fnd_message.set_token ('ERR_CD', SQLCODE);
518       igs_ge_msg_stack.add;
519       igs_sc_gen_001.unset_ctx('R');
520       app_exception.raise_exception;
521     ELSE
522       igs_sc_gen_001.unset_ctx('R');
523       RAISE;
524     END IF;
525 
526 end UPDATE_ROW;
527 
528 procedure ADD_ROW (
529   X_ROWID in out NOCOPY VARCHAR2,
530   X_AV_STND_UNIT_LVL_ID IN NUMBER,
531   X_BASIS_COURSE_TYPE in VARCHAR2,
532   X_BASIS_YEAR in NUMBER,
533   X_BASIS_COMPLETION_IND in VARCHAR2,
534   X_MODE in VARCHAR2 default 'R',
535   X_ORG_ID in NUMBER
536   ) AS
537   cursor c1 is select rowid from IGS_AV_STD_ULVLBASIS_ALL
538      where AV_STND_UNIT_LVL_ID=X_AV_STND_UNIT_LVL_ID
539   ;
540 begin
541   open c1;
542   fetch c1 into X_ROWID ;
543   if (c1%notfound) then
544     close c1;
545     INSERT_ROW (
546      X_ROWID,
547      X_AV_STND_UNIT_LVL_ID,
548      X_BASIS_COURSE_TYPE,
549      X_BASIS_YEAR,
550      X_BASIS_COMPLETION_IND,
551      X_MODE,
552      X_ORG_ID);
553     return;
554   end if;
555   close c1;
556   UPDATE_ROW (
557    X_ROWID,
558    X_AV_STND_UNIT_LVL_ID,
559    X_BASIS_COURSE_TYPE,
560    X_BASIS_YEAR,
561    X_BASIS_COMPLETION_IND,
562    X_MODE
563 );
564 end ADD_ROW;
565 procedure DELETE_ROW (
566   X_ROWID in VARCHAR2,
567   x_mode IN VARCHAR2 ) AS
568 begin
569  Before_DML(
570   p_action => 'DELETE',
571   x_rowid => X_ROWID
572   );
573    IF (x_mode = 'S') THEN
574     igs_sc_gen_001.set_ctx('R');
575   END IF;
576  delete from IGS_AV_STD_ULVLBASIS_ALL
577   where ROWID = X_ROWID ;
578   if (sql%notfound) then
579      fnd_message.set_name ('IGS', 'IGS_SC_POLICY_UPD_DEL_EXCEP');
580      igs_ge_msg_stack.add;
581      igs_sc_gen_001.unset_ctx('R');
582      app_exception.raise_exception;
583  end if;
584  IF (x_mode = 'S') THEN
585     igs_sc_gen_001.unset_ctx('R');
586   END IF;
587 
588  end DELETE_ROW;
589 end IGS_AV_STD_ULVLBASIS_PKG;