DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_PS_OF_UNT_SET_RL_PKG

Source


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