DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_PS_REF_CD_HIST_PKG

Source


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