DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_CA_DA_OFST_PKG

Source


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