DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_AD_INTAK_TRG_TYP_PKG

Source


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