[Home] [Help]
PACKAGE BODY: APPS.IGS_PS_VER_RU_PKG
Source
1 package body IGS_PS_VER_RU_PKG AS
2 /* $Header: IGSPI45B.pls 115.4 2002/11/29 02:28:49 nsidana ship $ */
3
4 l_rowid VARCHAR2(25);
5 old_references IGS_PS_VER_RU%RowType;
6 new_references IGS_PS_VER_RU%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_version_number IN NUMBER DEFAULT NULL,
13 x_s_rule_call_cd IN VARCHAR2 DEFAULT NULL,
14 x_rul_sequence_number IN NUMBER DEFAULT NULL,
15 x_creation_date IN DATE DEFAULT NULL,
16 x_created_by IN NUMBER DEFAULT NULL,
17 x_last_update_date IN DATE DEFAULT NULL,
18 x_last_updated_by IN NUMBER DEFAULT NULL,
19 x_last_update_login IN NUMBER DEFAULT NULL
20 ) AS
21
22 CURSOR cur_old_ref_values IS
23 SELECT *
24 FROM IGS_PS_VER_RU
25 WHERE rowid = x_rowid;
26
27 BEGIN
28
29 l_rowid := x_rowid;
30
31 -- Code for setting the Old and New Reference Values.
32 -- Populate Old Values.
33 Open cur_old_ref_values;
34 Fetch cur_old_ref_values INTO old_references;
35 IF (cur_old_ref_values%NOTFOUND) AND (p_action NOT IN ('INSERT', 'VALIDATE_INSERT')) THEN
36 Close cur_old_ref_values;
37 Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
38 IGS_GE_MSG_STACK.ADD;
39 App_Exception.Raise_Exception;
40 Return;
41 END IF;
42 Close cur_old_ref_values;
43
44 -- Populate New Values.
45 new_references.course_cd := x_course_cd;
46 new_references.version_number := x_version_number;
47 new_references.s_rule_call_cd := x_s_rule_call_cd;
48 new_references.rul_sequence_number := x_rul_sequence_number;
49 IF (p_action = 'UPDATE') THEN
50 new_references.creation_date := old_references.creation_date;
51 new_references.created_by := old_references.created_by;
52 ELSE
53 new_references.creation_date := x_creation_date;
54 new_references.created_by := x_created_by;
55 END IF;
56 new_references.last_update_date := x_last_update_date;
57 new_references.last_updated_by := x_last_updated_by;
58 new_references.last_update_login := x_last_update_login;
59
60 END Set_Column_Values;
61
62 PROCEDURE BeforeRowInsertUpdateDelete1(
63 p_inserting IN BOOLEAN DEFAULT FALSE,
64 p_updating IN BOOLEAN DEFAULT FALSE,
65 p_deleting IN BOOLEAN DEFAULT FALSE
66 ) AS
67 v_message_name VARCHAR2(30);
68 BEGIN
69 -- Validate the insert/update/delete
70 IF p_inserting OR p_updating THEN
71 IF IGS_PS_VAL_CRS.crsp_val_iud_crv_dtl(
72 new_references.course_cd,
73 new_references.version_number,
74 v_message_name) = FALSE THEN
75 FND_MESSAGE.SET_NAME('IGS',v_message_name);
76 IGS_GE_MSG_STACK.ADD;
77 APP_EXCEPTION.RAISE_EXCEPTION;
78 END IF;
79 ELSE
80 IF IGS_PS_VAL_CRS.crsp_val_iud_crv_dtl(
81 old_references.course_cd,
82 old_references.version_number,
83 v_message_name) = FALSE THEN
84 FND_MESSAGE.SET_NAME('IGS',v_message_name);
85 IGS_GE_MSG_STACK.ADD;
86 APP_EXCEPTION.RAISE_EXCEPTION;
87 END IF;
88 END IF;
89 -- Validate IGS_PS_COURSE Version IGS_RU_RULE
90 IF p_inserting OR p_updating THEN
91 /*
92 || Bug ID 1956374 - Removal of Duplicate Program Units from OSS.
93 || Changed the reference of "IGS_PS_VAL_CVR.RULP_VAL_RUL_SRC" to program unit "IGS_FI_VAL_FDFR.RULP_VAL_RUL_SRC". -- kdande
94 */
95 IF IGS_FI_VAL_FDFR.rulp_val_rul_src(
96 new_references.s_rule_call_cd,
97 'COURSE',
98 new_references.rul_sequence_number,
99 v_message_name) = FALSE THEN
100 FND_MESSAGE.SET_NAME('IGS',v_message_name);
101 IGS_GE_MSG_STACK.ADD;
102 APP_EXCEPTION.RAISE_EXCEPTION;
103 END IF;
104 END IF;
105
106
107 END BeforeRowInsertUpdateDelete1;
108
109 PROCEDURE Check_Constraints (
110 Column_Name IN VARCHAR2 DEFAULT NULL,
111 Column_Value IN VARCHAR2 DEFAULT NULL
112 ) IS
113 BEGIN
114 IF column_name is null THEN
115 NULL;
116 ELSIF upper(column_name) = 'COURSE_CD' THEN
117 new_references.course_cd := column_value;
118 ELSIF upper(column_name) = 'S_RULE_CALL_CD' THEN
119 new_references.s_rule_call_cd:= column_value;
120 ELSIF upper(column_name) = 'RUL_SEQUENCE_NUMBER' THEN
121 new_references.rul_sequence_number:= igs_ge_number.to_num(column_value);
122 END IF;
123 IF upper(column_name)= 'COURSE_CD' OR
124 column_name is null THEN
125 IF new_references.course_cd <> UPPER(new_references.course_cd)
126 THEN
127 Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
128 IGS_GE_MSG_STACK.ADD;
129 App_Exception.Raise_Exception;
130 END IF;
131 END IF;
132 IF upper(column_name)= 'S_RULE_CALL_CD' OR
133 column_name is null THEN
134 IF new_references.s_rule_call_cd <> UPPER(new_references.s_rule_call_cd)
135 THEN
136 Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
137 IGS_GE_MSG_STACK.ADD;
138 App_Exception.Raise_Exception;
139 END IF;
140 END IF;
141 IF upper(column_name)= 'RUL_SEQUENCE_NUMBER' OR
142 column_name is null THEN
143 IF new_references.rul_sequence_number < 1 OR
144 new_references.rul_sequence_number > 999999
145 THEN
146 Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
147 IGS_GE_MSG_STACK.ADD;
148 App_Exception.Raise_Exception;
149 END IF;
150 END IF;
151 END Check_Constraints;
152
153 PROCEDURE Check_Parent_Existance AS
154 BEGIN
155
156 IF (((old_references.course_cd = new_references.course_cd) AND
157 (old_references.version_number = new_references.version_number)) OR
158 ((new_references.course_cd IS NULL) OR
159 (new_references.version_number IS NULL))) THEN
160 NULL;
161 ELSE
162 IF NOT IGS_PS_VER_PKG.Get_PK_For_Validation (
163 new_references.course_cd,
164 new_references.version_number
165 )THEN
166 Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
167 IGS_GE_MSG_STACK.ADD;
168 App_Exception.Raise_Exception;
169 END IF;
170 END IF;
171
172 IF (((old_references.rul_sequence_number = new_references.rul_sequence_number)) OR
173 ((new_references.rul_sequence_number IS NULL))) THEN
174 NULL;
175 ELSE
176 IF NOT IGS_RU_RULE_PKG.Get_PK_For_Validation (
177 new_references.rul_sequence_number
178 )THEN
179 Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
180 IGS_GE_MSG_STACK.ADD;
181 App_Exception.Raise_Exception;
182 END IF;
183 END IF;
184
185 IF (((old_references.s_rule_call_cd = new_references.s_rule_call_cd)) OR
186 ((new_references.s_rule_call_cd IS NULL))) THEN
187 NULL;
188 ELSE
189 IF NOT IGS_RU_CALL_PKG.Get_PK_For_Validation (
190 new_references.s_rule_call_cd
191 )THEN
192 Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
193 IGS_GE_MSG_STACK.ADD;
194 App_Exception.Raise_Exception;
195 END IF;
196 END IF;
197 END Check_Parent_Existance;
198
199 FUNCTION Get_PK_For_Validation (
200 x_course_cd IN VARCHAR2,
201 x_version_number IN NUMBER,
202 x_s_rule_call_cd IN VARCHAR2
203 )RETURN BOOLEAN AS
204
205 CURSOR cur_rowid IS
206 SELECT rowid
207 FROM IGS_PS_VER_RU
208 WHERE course_cd = x_course_cd
209 AND version_number = x_version_number
210 AND s_rule_call_cd = x_s_rule_call_cd
211 FOR UPDATE NOWAIT;
212
213 lv_rowid cur_rowid%RowType;
214
215 BEGIN
216
217 Open cur_rowid;
218 Fetch cur_rowid INTO lv_rowid;
219 IF (cur_rowid%FOUND) THEN
220 Close cur_rowid;
221 Return(TRUE);
222 ELSE
223 Close cur_rowid;
224 Return(FALSE);
225 END IF;
226
227 END Get_PK_For_Validation;
228
229 PROCEDURE GET_FK_IGS_PS_VER (
230 x_course_cd IN VARCHAR2,
231 x_version_number IN NUMBER
232 ) AS
233
234 CURSOR cur_rowid IS
235 SELECT rowid
236 FROM IGS_PS_VER_RU
237 WHERE course_cd = x_course_cd
238 AND version_number = x_version_number ;
239
240 lv_rowid cur_rowid%RowType;
241
242 BEGIN
243
244 Open cur_rowid;
245 Fetch cur_rowid INTO lv_rowid;
246 IF (cur_rowid%FOUND) THEN
247 Close cur_rowid;
248 Fnd_Message.Set_Name ('IGS', 'IGS_PS_CVR_CRV_FK');
249 IGS_GE_MSG_STACK.ADD;
250 App_Exception.Raise_Exception;
251 Return;
252 END IF;
253 Close cur_rowid;
254
255 END GET_FK_IGS_PS_VER;
256
257 PROCEDURE GET_FK_IGS_RU_RULE (
258 x_sequence_number IN NUMBER
259 ) AS
260
261 CURSOR cur_rowid IS
262 SELECT rowid
263 FROM IGS_PS_VER_RU
264 WHERE rul_sequence_number = x_sequence_number ;
265
266 lv_rowid cur_rowid%RowType;
267
268 BEGIN
269
270 Open cur_rowid;
271 Fetch cur_rowid INTO lv_rowid;
272 IF (cur_rowid%FOUND) THEN
273 Close cur_rowid;
274 Fnd_Message.Set_Name ('IGS', 'IGS_PS_CVR_RUL_FK');
275 IGS_GE_MSG_STACK.ADD;
276 App_Exception.Raise_Exception;
277 Return;
278 END IF;
279 Close cur_rowid;
280
281 END GET_FK_IGS_RU_RULE;
282
283 PROCEDURE GET_FK_IGS_RU_CALL (
284 x_s_rule_call_cd IN VARCHAR2
285 ) AS
286
287 CURSOR cur_rowid IS
288 SELECT rowid
289 FROM IGS_PS_VER_RU
290 WHERE s_rule_call_cd = x_s_rule_call_cd ;
291
292 lv_rowid cur_rowid%RowType;
293
294 BEGIN
295
296 Open cur_rowid;
297 Fetch cur_rowid INTO lv_rowid;
298 IF (cur_rowid%FOUND) THEN
299 Close cur_rowid;
300 Fnd_Message.Set_Name ('IGS', 'IGS_PS_CVR_SRC_FK');
301 IGS_GE_MSG_STACK.ADD;
302 App_Exception.Raise_Exception;
303 Return;
304 END IF;
305 Close cur_rowid;
306
307 END GET_FK_IGS_RU_CALL;
308
309 PROCEDURE Before_DML (
310 p_action IN VARCHAR2,
311 x_rowid IN VARCHAR2 DEFAULT NULL,
312 x_course_cd IN VARCHAR2 DEFAULT NULL,
313 x_version_number IN NUMBER DEFAULT NULL,
314 x_s_rule_call_cd IN VARCHAR2 DEFAULT NULL,
315 x_rul_sequence_number IN NUMBER DEFAULT NULL,
316 x_creation_date IN DATE DEFAULT NULL,
317 x_created_by IN NUMBER DEFAULT NULL,
318 x_last_update_date IN DATE DEFAULT NULL,
319 x_last_updated_by IN NUMBER DEFAULT NULL,
320 x_last_update_login IN NUMBER DEFAULT NULL
321 ) AS
322 BEGIN
323
324 Set_Column_Values (
325 p_action,
326 x_rowid,
327 x_course_cd,
328 x_version_number,
329 x_s_rule_call_cd,
330 x_rul_sequence_number,
331 x_creation_date,
332 x_created_by,
333 x_last_update_date,
334 x_last_updated_by,
335 x_last_update_login
336 );
337
338 IF (p_action = 'INSERT') THEN
339 -- Call all the procedures related to Before Insert.
340 BeforeRowInsertUpdateDelete1 ( p_inserting => TRUE );
341 IF Get_PK_For_Validation(
342 new_references.course_cd ,
343 new_references.version_number,
344 new_references.s_rule_call_cd
345 ) THEN
346 Fnd_Message.Set_Name ('IGS', 'IGS_GE_RECORD_ALREADY_EXISTS');
347 IGS_GE_MSG_STACK.ADD;
348 App_Exception.Raise_Exception;
349 END IF;
350 Check_Constraints;
351 Check_Parent_Existance;
352 ELSIF (p_action = 'UPDATE') THEN
353 -- Call all the procedures related to Before Update.
354 BeforeRowInsertUpdateDelete1 ( p_updating => TRUE );
355 Check_Constraints;
356 Check_Parent_Existance;
357 ELSIF (p_action = 'DELETE') THEN
358 -- Call all the procedures related to Before Delete.
359 BeforeRowInsertUpdateDelete1 ( p_deleting => TRUE );
360 ELSIF (p_action = 'VALIDATE_INSERT') THEN
361 IF Get_PK_For_Validation(
362 new_references.course_cd ,
363 new_references.version_number,
364 new_references.s_rule_call_cd
365 ) THEN
366 Fnd_Message.Set_Name ('IGS', 'IGS_GE_RECORD_ALREADY_EXISTS');
367 IGS_GE_MSG_STACK.ADD;
368 App_Exception.Raise_Exception;
369 END IF;
370 Check_Constraints;
371 ELSIF (p_action = 'VALIDATE_UPDATE') THEN
372 Check_Constraints;
373
374 END IF;
375 END Before_DML;
376
377 PROCEDURE After_DML (
378 p_action IN VARCHAR2,
379 x_rowid IN VARCHAR2
380 ) AS
381 BEGIN
382
383 l_rowid := x_rowid;
384
385
386 END After_DML;
387
388
389 procedure INSERT_ROW (
390 X_ROWID in out NOCOPY VARCHAR2,
391 X_COURSE_CD in VARCHAR2,
392 X_VERSION_NUMBER in NUMBER,
393 X_S_RULE_CALL_CD in VARCHAR2,
394 X_RUL_SEQUENCE_NUMBER in NUMBER,
395 X_MODE in VARCHAR2 default 'R'
396 ) AS
397 cursor C is select ROWID from IGS_PS_VER_RU
398 where COURSE_CD = X_COURSE_CD
399 and VERSION_NUMBER = X_VERSION_NUMBER
400 and S_RULE_CALL_CD = X_S_RULE_CALL_CD;
401 X_LAST_UPDATE_DATE DATE;
402 X_LAST_UPDATED_BY NUMBER;
403 X_LAST_UPDATE_LOGIN NUMBER;
404 begin
405 X_LAST_UPDATE_DATE := SYSDATE;
406 if(X_MODE = 'I') then
407 X_LAST_UPDATED_BY := 1;
408 X_LAST_UPDATE_LOGIN := 0;
409 elsif (X_MODE = 'R') then
410 X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
411 if X_LAST_UPDATED_BY is NULL then
412 X_LAST_UPDATED_BY := -1;
413 end if;
414 X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
415 if X_LAST_UPDATE_LOGIN is NULL then
416 X_LAST_UPDATE_LOGIN := -1;
417 end if;
418 else
419 FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
420 IGS_GE_MSG_STACK.ADD;
421 app_exception.raise_exception;
422 end if;
423
424
425 Before_DML(
426 p_action => 'INSERT',
427 x_rowid => X_ROWID,
428 x_course_cd => X_COURSE_CD,
429 x_version_number => X_VERSION_NUMBER,
430 x_s_rule_call_cd => X_S_RULE_CALL_CD,
431 x_rul_sequence_number => X_RUL_SEQUENCE_NUMBER,
432 x_creation_date => X_LAST_UPDATE_DATE,
433 x_created_by => X_LAST_UPDATED_BY,
434 x_last_update_date => X_LAST_UPDATE_DATE,
435 x_last_updated_by => X_LAST_UPDATED_BY,
436 x_last_update_login => X_LAST_UPDATE_LOGIN
437 );
438 insert into IGS_PS_VER_RU (
439 COURSE_CD,
440 VERSION_NUMBER,
441 S_RULE_CALL_CD,
442 RUL_SEQUENCE_NUMBER,
443 CREATION_DATE,
444 CREATED_BY,
445 LAST_UPDATE_DATE,
446 LAST_UPDATED_BY,
447 LAST_UPDATE_LOGIN
448 ) values (
449 NEW_REFERENCES.COURSE_CD,
450 NEW_REFERENCES.VERSION_NUMBER,
451 NEW_REFERENCES.S_RULE_CALL_CD,
452 NEW_REFERENCES.RUL_SEQUENCE_NUMBER,
453 X_LAST_UPDATE_DATE,
454 X_LAST_UPDATED_BY,
455 X_LAST_UPDATE_DATE,
456 X_LAST_UPDATED_BY,
457 X_LAST_UPDATE_LOGIN
458 );
459
460 open c;
461 fetch c into X_ROWID;
462 if (c%notfound) then
463 close c;
464 raise no_data_found;
465 end if;
466 close c;
467 After_DML(
468 p_action => 'INSERT',
469 x_rowid => X_ROWID
470 );
471 end INSERT_ROW;
472
473 procedure LOCK_ROW (
474 X_ROWID in VARCHAR2,
475 X_COURSE_CD in VARCHAR2,
476 X_VERSION_NUMBER in NUMBER,
477 X_S_RULE_CALL_CD in VARCHAR2,
478 X_RUL_SEQUENCE_NUMBER in NUMBER
479 ) AS
480 cursor c1 is select
481 RUL_SEQUENCE_NUMBER
482 from IGS_PS_VER_RU
483 where ROWID = X_ROWID for update nowait;
484 tlinfo c1%rowtype;
485
486 begin
487 open c1;
488 fetch c1 into tlinfo;
489 if (c1%notfound) then
490 close c1;
491 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
492 IGS_GE_MSG_STACK.ADD;
493 app_exception.raise_exception;
494 return;
495 end if;
496 close c1;
497
498 if ( (tlinfo.RUL_SEQUENCE_NUMBER = X_RUL_SEQUENCE_NUMBER)
499 ) then
500 null;
501 else
502 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
503 IGS_GE_MSG_STACK.ADD;
504 app_exception.raise_exception;
505 end if;
506 return;
507 end LOCK_ROW;
508
509 procedure UPDATE_ROW (
510 X_ROWID in VARCHAR2,
511 X_COURSE_CD in VARCHAR2,
512 X_VERSION_NUMBER in NUMBER,
513 X_S_RULE_CALL_CD in VARCHAR2,
514 X_RUL_SEQUENCE_NUMBER in NUMBER,
515 X_MODE in VARCHAR2 default 'R'
516 ) AS
517 X_LAST_UPDATE_DATE DATE;
518 X_LAST_UPDATED_BY NUMBER;
519 X_LAST_UPDATE_LOGIN NUMBER;
520 begin
521 X_LAST_UPDATE_DATE := SYSDATE;
522 if(X_MODE = 'I') then
523 X_LAST_UPDATED_BY := 1;
524 X_LAST_UPDATE_LOGIN := 0;
525 elsif (X_MODE = 'R') then
526 X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
527 if X_LAST_UPDATED_BY is NULL then
528 X_LAST_UPDATED_BY := -1;
529 end if;
530 X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
531 if X_LAST_UPDATE_LOGIN is NULL then
532 X_LAST_UPDATE_LOGIN := -1;
533 end if;
534 else
535 FND_MESSAGE.SET_NAME('FND', 'SYSTEM-INVALID ARGS');
536 IGS_GE_MSG_STACK.ADD;
537 app_exception.raise_exception;
538 end if;
539 Before_DML(
540 p_action => 'UPDATE',
541 x_rowid => X_ROWID,
542 x_course_cd => X_COURSE_CD,
543 x_version_number => X_VERSION_NUMBER,
544 x_s_rule_call_cd => X_S_RULE_CALL_CD,
545 x_rul_sequence_number => X_RUL_SEQUENCE_NUMBER,
546 x_creation_date => X_LAST_UPDATE_DATE,
547 x_created_by => X_LAST_UPDATED_BY,
548 x_last_update_date => X_LAST_UPDATE_DATE,
549 x_last_updated_by => X_LAST_UPDATED_BY,
550 x_last_update_login => X_LAST_UPDATE_LOGIN
551 );
552 update IGS_PS_VER_RU set
553 RUL_SEQUENCE_NUMBER = NEW_REFERENCES.RUL_SEQUENCE_NUMBER,
554 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
555 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
556 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
557 where ROWID = X_ROWID
558 ;
559 if (sql%notfound) then
560 raise no_data_found;
561 end if;
562 After_DML(
563 p_action => 'UPDATE',
564 x_rowid => X_ROWID
565 );
566
567 end UPDATE_ROW;
568
569 procedure ADD_ROW (
570 X_ROWID in out NOCOPY VARCHAR2,
571 X_COURSE_CD in VARCHAR2,
572 X_VERSION_NUMBER in NUMBER,
573 X_S_RULE_CALL_CD in VARCHAR2,
574 X_RUL_SEQUENCE_NUMBER in NUMBER,
575 X_MODE in VARCHAR2 default 'R'
576 ) AS
577 cursor c1 is select rowid from IGS_PS_VER_RU
578 where COURSE_CD = X_COURSE_CD
579 and VERSION_NUMBER = X_VERSION_NUMBER
580 and S_RULE_CALL_CD = X_S_RULE_CALL_CD
581 ;
582 begin
583 open c1;
584 fetch c1 into X_ROWID;
585 if (c1%notfound) then
586 close c1;
587 INSERT_ROW (
588 X_ROWID,
589 X_COURSE_CD,
590 X_VERSION_NUMBER,
591 X_S_RULE_CALL_CD,
592 X_RUL_SEQUENCE_NUMBER,
593 X_MODE);
594 return;
595 end if;
596 close c1;
597 UPDATE_ROW (
598 X_ROWID,
599 X_COURSE_CD,
600 X_VERSION_NUMBER,
601 X_S_RULE_CALL_CD,
602 X_RUL_SEQUENCE_NUMBER,
603 X_MODE);
604 end ADD_ROW;
605
606 procedure DELETE_ROW (
607 X_ROWID in VARCHAR2
608 ) AS
609 begin
610 Before_DML(
611 p_action => 'DELETE',
612 x_rowid => X_ROWID
613 );
614 delete from IGS_PS_VER_RU
615 where ROWID = X_ROWID;
616 if (sql%notfound) then
617 raise no_data_found;
618 end if;
619 After_DML(
620 p_action => 'DELETE',
621 x_rowid => X_ROWID
622 );
623
624 end DELETE_ROW;
625
626 end IGS_PS_VER_RU_PKG;