[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;