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