DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_FI_FEE_AS_PKG

Source


1 PACKAGE BODY igs_fi_fee_as_pkg AS
2 /* $Header: IGSSI18B.pls 115.25 2003/02/12 06:16:35 pathipat ship $ */
3 
4   l_rowid VARCHAR2(25);
5   old_references IGS_FI_FEE_AS_ALL%RowType;
6   new_references IGS_FI_FEE_AS_ALL%RowType;
7   PROCEDURE Set_Column_Values (
8     p_action IN VARCHAR2,
9     x_rowid IN VARCHAR2 ,
10     x_person_id IN NUMBER ,
11     x_transaction_id IN NUMBER ,
12     x_fee_type IN VARCHAR2 ,
13     x_fee_cal_type IN VARCHAR2 ,
14     x_fee_ci_sequence_number IN NUMBER ,
15     x_fee_cat IN VARCHAR2 ,
16     x_s_transaction_type IN VARCHAR2 ,
17     x_transaction_dt IN DATE ,
18     x_transaction_amount IN NUMBER ,
19     x_currency_cd IN VARCHAR2 ,
20     x_exchange_rate IN NUMBER ,
21     x_chg_elements IN NUMBER ,
22     x_effective_dt IN DATE ,
23     x_course_cd IN VARCHAR2 ,
24     x_notification_dt IN DATE ,
25     x_logical_delete_dt IN DATE ,
26     x_comments IN VARCHAR2 ,
27     x_org_id IN NUMBER ,
28     x_creation_date IN DATE ,
29     x_created_by IN NUMBER ,
30     x_last_update_date IN DATE ,
31     x_last_updated_by IN NUMBER ,
32     x_last_update_login IN NUMBER
33   ) AS
34   /*----------------------------------------------------------------------------
35   ||  Created By :
36   ||  Created On :
37   ||  Purpose :
38   ||  Known limitations, enhancements or remarks :
39   ||  Change History :
40   ||  Who             When            What
41   ||  (reverse chronological order - newest change first)
42   ||  smvk         02-Sep-2002        Removed the Default value in the parameters to overcome File.Pkg.22 gscc warnings.
43   ||                                  As a part of Build SFCR005_Cleanup_Build (Enhancement Bug # 2531390)
44   ----------------------------------------------------------------------------*/
45 
46     CURSOR cur_old_ref_values IS
47       SELECT   *
48       FROM     IGS_FI_FEE_AS_ALL
49       WHERE    rowid = x_rowid;
50   BEGIN
51     l_rowid := x_rowid;
52     -- Code for setting the Old and New Reference Values.
53     -- Populate Old Values.
54     Open cur_old_ref_values;
55     Fetch cur_old_ref_values INTO old_references;
56     IF (cur_old_ref_values%NOTFOUND) AND (p_action NOT IN ('INSERT', 'VALIDATE_INSERT')) THEN
57       Close cur_old_ref_values;
58       Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
59        IGS_GE_MSG_STACK.ADD;
60       App_Exception.Raise_Exception;
61       Return;
62     END IF;
63     Close cur_old_ref_values;
64     -- Populate New Values.
65     new_references.person_id := x_person_id;
66     new_references.transaction_id := x_transaction_id;
67     new_references.fee_type := x_fee_type;
68     new_references.fee_cal_type := x_fee_cal_type;
69     new_references.fee_ci_sequence_number := x_fee_ci_sequence_number;
70     new_references.fee_cat := x_fee_cat;
71     new_references.s_transaction_type := x_s_transaction_type;
72     new_references.transaction_dt := x_transaction_dt;
73     new_references.transaction_amount := x_transaction_amount;
74     new_references.currency_cd := x_currency_cd;
75     new_references.exchange_rate := x_exchange_rate;
76     new_references.chg_elements := x_chg_elements;
77     new_references.effective_dt := x_effective_dt;
78     new_references.course_cd := x_course_cd;
79     new_references.notification_dt := x_notification_dt;
80     new_references.logical_delete_dt := x_logical_delete_dt;
81     new_references.comments := x_comments;
82     new_references.org_id := x_org_id;
83     IF (p_action = 'UPDATE') THEN
84       new_references.creation_date := old_references.creation_date;
85       new_references.created_by := old_references.created_by;
86     ELSE
87       new_references.creation_date := x_creation_date;
88       new_references.created_by := x_created_by;
89     END IF;
90     new_references.last_update_date := x_last_update_date;
91     new_references.last_updated_by := x_last_updated_by;
92     new_references.last_update_login := x_last_update_login;
93   END Set_Column_Values;
94   -- Trigger description :-
95   -- "OSS_TST".trg_fas_br_iud
96   -- BEFORE INSERT OR DELETE OR UPDATE
97   -- ON IGS_FI_FEE_AS_ALL
98   -- FOR EACH ROW
99   PROCEDURE BeforeRowInsertUpdateDelete1(
100     p_inserting IN BOOLEAN ,
101     p_updating IN BOOLEAN ,
102     p_deleting IN BOOLEAN
103     ) AS
104  /*************************************************************
105   Created By :
106   Date Created By :
107   Purpose :
108   Know limitations, enhancements or remarks
109   Change History
110   Who             When            What
111  masehgal , IDC   10-JAN-2002     Enh # 2170429
112                                   Obsoletion of SPONSOR_CD
113  SCHODAVA	  28-NOV-2001     Enh # 2122257
114 				  (SFCR015 : Change In Fee Category)
115 				  Changed the call to
116 				  IGS_FI_VAL_FAS.finp_val_fas_ass_ind function.
117 				  Added the params fee_cal_type
118 				  and fee_ci_sequence_number
119   (reverse chronological order - newest change first)
120   ***************************************************************/
121     v_message_name varchar2(30);
122 
123   CURSOR c_sft IS
124   SELECT 'x'
125   FROM   igs_fi_fee_type fft
126   WHERE  fft.s_fee_type = 'EXTERNAL'
127   AND    fft.fee_type   = 'x_fee_type';
128 
129   BEGIN
130 	-- Validate Fee Assessment can be created.
131 /*	IF p_inserting THEN
132 		-- Validate current date not greater than Retrospective assessment period.
133 		IF IGS_FI_VAL_FAS.finp_val_fas_retro (
134 				new_references.fee_type,
135 				new_references.fee_cal_type,
136 				new_references.fee_ci_sequence_number,
137 				new_references.fee_cat,
138 				v_message_name) = FALSE THEN
139 			Fnd_Message.Set_Name('IGS',v_message_name);
140                         IGS_GE_MSG_STACK.ADD;
141 			App_Exception.Raise_Exception;
142 		END IF;
143 	END IF;  */
144 	-- Validate that appropriate fields are set depending on the fee type.
145 	IF p_inserting OR
146 		(p_updating AND (new_references.course_cd <> old_references.course_cd OR
147 				new_references.fee_cat <> old_references.fee_cat)) THEN
148 		-- Validate that IGS_PS_COURSE code can be specified.
149 		IF IGS_FI_VAL_FAS.finp_val_fas_create (
150 				new_references.fee_type,
151 				new_references.fee_cat,
152 				new_references.course_cd,
153 				v_message_name) = FALSE THEN
154 			Fnd_Message.Set_Name('IGS',v_message_name);
155                         IGS_GE_MSG_STACK.ADD;
156 			App_Exception.Raise_Exception;
157 		END IF;
158 		-- Validate that course code can be specified.
159 		-- Enh # 2122257 (SFCR015 : Change In Fee Category)
160 		-- Changed the call to this function.
161 		-- Added params fee_cal_type and fee_ci_sequence_number
162 		IF IGS_FI_VAL_FAS.finp_val_fas_ass_ind (
163 				new_references.person_id,
164 				new_references.course_cd,
165 				new_references.fee_cat,
166 				new_references.effective_dt,
167 				new_references.s_transaction_type,
168 				new_references.fee_cal_type,
169 				new_references.fee_ci_sequence_number,
170 				v_message_name) = FALSE THEN
171 			Fnd_Message.Set_Name('IGS',v_message_name);
172                         IGS_GE_MSG_STACK.ADD;
173 			App_Exception.Raise_Exception;
174 		END IF;
175 	END IF;
176 	-- Validate effective date.
177         -- Only for fee types other than 'EXTERNAL' SYSTEM FEE TYPE
178         OPEN  c_sft;
179         IF c_sft%FOUND THEN
180           CLOSE c_sft;
181         ELSIF c_sft%NOTFOUND THEN
182           CLOSE c_sft;
183           IF p_inserting OR
184 		(new_references.effective_dt <> old_references.effective_dt) THEN
185 		IF IGS_FI_VAL_FAS.finp_val_fas_eff_dt (
186 				new_references.fee_type,
187 				new_references.fee_cal_type,
188 				new_references.fee_ci_sequence_number,
189 				new_references.fee_cat,
190 				new_references.effective_dt,
191 				new_references.s_transaction_type,
192 				v_message_name) = FALSE THEN
193 			Fnd_Message.Set_Name('IGS',v_message_name);
194                         IGS_GE_MSG_STACK.ADD;
195 			App_Exception.Raise_Exception;
196 		END IF;
197           END IF;
198         END IF;  -- For External System Fee Type NOT FOUND
199 	IF p_inserting OR p_updating THEN
200 		-- Validate that course code is fee assessable for manual entries.
201 		IF IGS_FI_VAL_FAS.finp_val_fas_com (
202 				new_references.s_transaction_type,
203 				new_references.comments,
204 				v_message_name) = FALSE THEN
205 			Fnd_Message.Set_Name('IGS',v_message_name);
206                         IGS_GE_MSG_STACK.ADD;
207 			App_Exception.Raise_Exception;
208 		END IF;
209 	END IF;
210 	IF p_updating THEN
211 		-- Validate the columns being changed are allowed to be
212 		IF IGS_FI_VAL_FAS.finp_val_fas_upd (
213 				new_references.person_id,
214 				old_references.person_id,
215 				new_references.transaction_id,
216 				old_references.transaction_id,
217 				new_references.fee_type,
218 				old_references.fee_type,
219 				new_references.fee_cal_type,
220 				old_references.fee_cal_type,
221 				new_references.fee_ci_sequence_number,
222 				old_references.fee_ci_sequence_number,
223 				new_references.fee_cat,
224 				old_references.fee_cat,
225 				new_references.s_transaction_type,
226 				old_references.s_transaction_type,
227 				new_references.transaction_dt,
228 				old_references.transaction_dt,
229 				new_references.transaction_amount,
230 				old_references.transaction_amount,
231 				new_references.currency_cd,
232 				old_references.currency_cd,
233 				new_references.exchange_rate,
234 				old_references.exchange_rate,
235 				new_references.chg_elements,
236 				old_references.chg_elements,
237 				new_references.effective_dt,
238 				old_references.effective_dt,
239 				new_references.course_cd,
240 				old_references.course_cd,
241 				new_references.notification_dt,
242 				old_references.notification_dt,
243 				new_references.logical_delete_dt,
244 				old_references.logical_delete_dt,
245 				v_message_name) = FALSE THEN
246 			Fnd_Message.Set_Name('IGS',v_message_name);
247                         IGS_GE_MSG_STACK.ADD;
248 			App_Exception.Raise_Exception;
249 		END IF;
250 	END IF;
251   END BeforeRowInsertUpdateDelete1;
252 
253    PROCEDURE Check_Uniqueness AS
254    Begin
255    IF  Get_UK_For_Validation (
256 	new_references.transaction_id
257 	) THEN
258             Fnd_Message.Set_Name ('IGS', 'IGS_GE_MULTI_ORG_DUP_REC');
259             IGS_GE_MSG_STACK.ADD;
260             App_Exception.Raise_Exception;
261         END IF;
262    End Check_Uniqueness;
263 
264 PROCEDURE Check_Constraints (
265  Column_Name	IN	VARCHAR2,
266  Column_Value 	IN	VARCHAR2
267  ) AS
268  /*----------------------------------------------------------------------------
269   ||  Created By :
270   ||  Created On :
271   ||  Purpose :
272   ||  Known limitations, enhancements or remarks :
273   ||  Change History :
274   ||  Who             When            What
275   ||  (reverse chronological order - newest change first)
276   ||  vvutukur        30-Aug-2002     Bug#2531390. Removed default values of parameters column_name,
277   ||                                  column_value to avoid gscc warnings.
278   ||  vvutukur        17-May-2002     removed upper check on fee_type,fee_cat columns.bug#2344826.
279   ----------------------------------------------------------------------------*/
280  BEGIN
281   IF  column_name is null then
282      NULL;
283   ELSIF upper(Column_name) = 'TRANSACTION_ID' then
284      new_references.transaction_id := igs_ge_number.to_num(column_value);
285   ELSIF upper(Column_name) = 'COURSE_CD' then
286      new_references.course_cd := column_value;
287   ELSIF upper(Column_name) = 'CURRENCY_CD' then
288      new_references.currency_cd := column_value;
289   ELSIF upper(Column_name) = 'FEE_CAL_TYPE' then
290      new_references.fee_cal_type := column_value;
291   ELSIF upper(Column_name) = 'S_TRANSACTION_TYPE' then
292      new_references.s_transaction_type := column_value;
293   ELSIF upper(Column_name) = 'CHG_ELEMENTS' then
294      new_references.chg_elements := igs_ge_number.to_num(column_value);
295   ELSIF upper(Column_name) = 'EXCHANGE_RATE' then
296      new_references.exchange_rate := igs_ge_number.to_num(column_value);
297   ELSIF upper(Column_name) = 'TRANSACTION_AMOUNT' then
298      new_references.transaction_amount := igs_ge_number.to_num(column_value);
299   ELSIF upper(Column_name) = 'FEE_CI_SEQUENCE_NUMBER' then
300      new_references.fee_ci_sequence_number := igs_ge_number.to_num(column_value);
301   End if;
302 
303 IF upper(column_name) = 'COURSE_CD' OR
304      column_name is null Then
305      IF new_references.COURSE_CD <>
306 	UPPER(new_references.COURSE_CD) Then
307        Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
308             IGS_GE_MSG_STACK.ADD;
309        App_Exception.Raise_Exception;
310      END IF;
311 END IF;
312 IF upper(column_name) = 'CURRENCY_CD' OR
313      column_name is null Then
314      IF new_references.CURRENCY_CD <>
315 	UPPER(new_references.CURRENCY_CD) Then
316        Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
317             IGS_GE_MSG_STACK.ADD;
318        App_Exception.Raise_Exception;
319      END IF;
320 END IF;
321 IF upper(column_name) = 'FEE_CAL_TYPE' OR
322      column_name is null Then
323      IF new_references.FEE_CAL_TYPE <>
324 	UPPER(new_references.FEE_CAL_TYPE) Then
325        Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
326             IGS_GE_MSG_STACK.ADD;
327        App_Exception.Raise_Exception;
328      END IF;
329 END IF;
330 IF upper(column_name) = 'S_TRANSACTION_TYPE' OR
331      column_name is null Then
332      IF new_references.S_TRANSACTION_TYPE <>
333 	UPPER(new_references.S_TRANSACTION_TYPE) Then
334        Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
335             IGS_GE_MSG_STACK.ADD;
336        App_Exception.Raise_Exception;
337      END IF;
338 END IF;
339 
340 IF upper(column_name) = 'TRANSACTION_ID' OR
341      column_name is null Then
342      IF new_references.transaction_id  < 1 OR
343           new_references.transaction_id > 999999 Then
344        Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
345             IGS_GE_MSG_STACK.ADD;
346        App_Exception.Raise_Exception;
347      END IF;
348 END IF;
349 IF upper(column_name) = 'CHG_ELEMENTS' OR
350      column_name is null Then
351      IF new_references.chg_elements  < 0 OR
352           new_references.chg_elements > 9999.999 Then
353        Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
354             IGS_GE_MSG_STACK.ADD;
355        App_Exception.Raise_Exception;
356      END IF;
357 END IF;
358 IF upper(column_name) = 'EXCHANGE_RATE' OR
359      column_name is null Then
360      IF new_references.exchange_rate  < 0.0001 OR
361           new_references.exchange_rate > 9999.9999 Then
362        Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
363             IGS_GE_MSG_STACK.ADD;
364        App_Exception.Raise_Exception;
365      END IF;
366 END IF;
367 IF upper(column_name) = 'TRANSACTION_AMOUNT' OR
368      column_name is null Then
369      IF new_references.transaction_amount  < -999990.00 OR
370           new_references.transaction_amount > 999990.00 Then
371        Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
372             IGS_GE_MSG_STACK.ADD;
373        App_Exception.Raise_Exception;
374      END IF;
375 END IF;
376 IF upper(column_name) = 'FEE_CI_SEQUENCE_NUMBER' OR
377      column_name is null Then
378      IF new_references.fee_ci_sequence_number  < 1 OR
379           new_references.fee_ci_sequence_number > 999999 Then
380        Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
381             IGS_GE_MSG_STACK.ADD;
382        App_Exception.Raise_Exception;
383      END IF;
384 END IF;
385 END Check_CONSTRAINTS;
386 
387  PROCEDURE Check_Child_Existance AS
388   BEGIN
389     IGS_FI_FEE_AS_ITEMS_PKG.GET_FK_IGS_FI_FEE_AS (
390       old_references.person_id,
391       old_references.transaction_id);
392 
393   END Check_Child_Existance;
394 
395 
396   PROCEDURE check_parent_existance AS
397   ------------------------------------------------------------------
398   --Known limitations/enhancements and/or remarks:
399   --
400   --Change History:
401   --Who         When            What
402   --smadathi  06-Nov-2002     Enh. Bug 2584986. removed igs_fi_cur_pkg.get_pk_for_validation
403   -------------------------------------------------------------------
404   BEGIN
405     IF (((old_references.course_cd = new_references.course_cd)) OR
406         ((new_references.course_cd IS NULL))) THEN
407       NULL;
408     ELSE
409       IF  NOT IGS_PS_COURSE_PKG.Get_PK_For_Validation (
410         new_references.course_cd
411         )	THEN
412 	     Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
413             IGS_GE_MSG_STACK.ADD;
414 	     App_Exception.Raise_Exception;
415 	END IF;
416     END IF;
417 
418     IF (((old_references.fee_cat = new_references.fee_cat) AND
419          (old_references.fee_cal_type = new_references.fee_cal_type) AND
420          (old_references.fee_ci_sequence_number = new_references.fee_ci_sequence_number) AND
421          (old_references.fee_type = new_references.fee_type)) OR
422         ((new_references.fee_cat IS NULL) OR
423          (new_references.fee_cal_type IS NULL) OR
424          (new_references.fee_ci_sequence_number IS NULL) OR
425          (new_references.fee_type IS NULL))) THEN
426       NULL;
427     ELSE
428       IF  NOT IGS_FI_F_CAT_FEE_LBL_PKG.Get_PK_For_Validation (
429         new_references.fee_cat,
430         new_references.fee_cal_type,
431         new_references.fee_ci_sequence_number,
432         new_references.fee_type
433         )	THEN
434 	     Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
435             IGS_GE_MSG_STACK.ADD;
436 	     App_Exception.Raise_Exception;
437 	END IF;
438     END IF;
439     IF (((old_references.fee_type = new_references.fee_type) AND
440          (old_references.fee_cal_type = new_references.fee_cal_type) AND
441          (old_references.fee_ci_sequence_number = new_references.fee_ci_sequence_number)) OR
442         ((new_references.fee_type IS NULL) OR
443          (new_references.fee_cal_type IS NULL) OR
444          (new_references.fee_ci_sequence_number IS NULL))) THEN
445       NULL;
446     ELSE
447       IF  NOT IGS_FI_F_TYP_CA_INST_PKG.Get_PK_For_Validation (
448         new_references.fee_type,
449         new_references.fee_cal_type,
450         new_references.fee_ci_sequence_number
451         )	THEN
452 	     Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
453             IGS_GE_MSG_STACK.ADD;
454 	     App_Exception.Raise_Exception;
455 	END IF;
456     END IF;
457     IF (((old_references.person_id = new_references.person_id)) OR
458         ((new_references.person_id IS NULL))) THEN
459       NULL;
460     ELSE
461       IF  NOT IGS_PE_PERSON_PKG.Get_PK_For_Validation (
462         new_references.person_id
463         )	THEN
464 	     Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
465             IGS_GE_MSG_STACK.ADD;
466 	     App_Exception.Raise_Exception;
467 	END IF;
468     END IF;
469     IF (((old_references.s_transaction_type = new_references.s_transaction_type)) OR
470         ((new_references.s_transaction_type IS NULL))) THEN
471       NULL;
472     ELSE
473 	IF  NOT IGS_LOOKUPS_VIEW_PKG.Get_PK_For_Validation (
474 	  'TRANSACTION_TYPE',
475         new_references.s_transaction_type
476         )	THEN
477 	     Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
478             IGS_GE_MSG_STACK.ADD;
479 	     App_Exception.Raise_Exception;
480 	END IF;
481     END IF;
482   END check_parent_existance;
483 
484 --removed local procedure check_uk_child_existance. Bug#2531390.
485 
486   Function Get_PK_For_Validation (
487     x_person_id IN NUMBER,
488     x_transaction_id IN NUMBER
489     ) Return Boolean
490 	AS
491     CURSOR cur_rowid IS
492       SELECT   rowid
493       FROM     IGS_FI_FEE_AS_ALL
494       WHERE    person_id = x_person_id
495       AND      transaction_id = x_transaction_id
496       FOR UPDATE NOWAIT;
497     lv_rowid cur_rowid%RowType;
498   BEGIN
499     Open cur_rowid;
500     Fetch cur_rowid INTO lv_rowid;
501      IF (cur_rowid%FOUND) THEN
502        Close cur_rowid;
503        Return (TRUE);
504  ELSE
505        Close cur_rowid;
506        Return (FALSE);
507  END IF;
508   END Get_PK_For_Validation;
509 
510   FUNCTION Get_UK_For_Validation (
511     x_transaction_id IN NUMBER
512     ) RETURN BOOLEAN AS
513     CURSOR cur_rowid IS
514       SELECT   rowid
515       FROM     IGS_FI_FEE_AS_ALL
516          WHERE    transaction_id = new_references.transaction_id
517          AND      ((l_rowid IS NULL) OR (rowid <> l_rowid))
518       FOR UPDATE NOWAIT;
519     lv_rowid cur_rowid%RowType;
520   BEGIN
521     Open cur_rowid;
522     Fetch cur_rowid INTO lv_rowid;
523      IF (cur_rowid%FOUND) THEN
524        Close cur_rowid;
525        Return (TRUE);
526  	ELSE
527        Close cur_rowid;
528        Return (FALSE);
529  	END IF;
530   END Get_UK_For_Validation;
531 
532   PROCEDURE GET_FK_IGS_PS_COURSE (
533     x_course_cd IN VARCHAR2
534     ) AS
535     CURSOR cur_rowid IS
536       SELECT   rowid
537       FROM     IGS_FI_FEE_AS_ALL
538       WHERE    course_cd = x_course_cd ;
539     lv_rowid cur_rowid%RowType;
540   BEGIN
541     Open cur_rowid;
542     Fetch cur_rowid INTO lv_rowid;
543     IF (cur_rowid%FOUND) THEN
544       Close cur_rowid;
545       Fnd_Message.Set_Name ('IGS', 'IGS_FI_FAS_CRS_FK');
546             IGS_GE_MSG_STACK.ADD;
547       App_Exception.Raise_Exception;
548       Return;
549     END IF;
550     Close cur_rowid;
551   END GET_FK_IGS_PS_COURSE;
552 
553 
554   PROCEDURE GET_FK_IGS_PE_PERSON (
555     x_person_id IN NUMBER
556     ) AS
557     CURSOR cur_rowid IS
558       SELECT   rowid
559       FROM     IGS_FI_FEE_AS_ALL
560       WHERE    person_id = x_person_id ;
561     lv_rowid cur_rowid%RowType;
562   BEGIN
563     Open cur_rowid;
564     Fetch cur_rowid INTO lv_rowid;
565     IF (cur_rowid%FOUND) THEN
566       Close cur_rowid;
567       Fnd_Message.Set_Name ('IGS', 'IGS_FI_FAS_PE_FK');
568             IGS_GE_MSG_STACK.ADD;
569       App_Exception.Raise_Exception;
570       Return;
571     END IF;
572     Close cur_rowid;
573   END GET_FK_IGS_PE_PERSON;
574 
575   PROCEDURE GET_FK_IGS_LOOKUPS_VIEW(
576     x_s_transaction_type IN VARCHAR2
577     ) AS
578     CURSOR cur_rowid IS
579       SELECT   rowid
580       FROM     IGS_FI_FEE_AS_ALL
581       WHERE    s_transaction_type = x_s_transaction_type ;
582     lv_rowid cur_rowid%RowType;
583   BEGIN
584     Open cur_rowid;
585     Fetch cur_rowid INTO lv_rowid;
586     IF (cur_rowid%FOUND) THEN
587       Close cur_rowid;
588       Fnd_Message.Set_Name ('IGS', 'IGS_FI_FAS_STRTY_FK');
589             IGS_GE_MSG_STACK.ADD;
590       App_Exception.Raise_Exception;
591       Return;
592     END IF;
593     Close cur_rowid;
594   END GET_FK_IGS_LOOKUPS_VIEW;
595 
596   PROCEDURE Before_DML (
597     p_action IN VARCHAR2,
598     x_rowid IN VARCHAR2,
599     x_person_id IN NUMBER,
600     x_transaction_id IN NUMBER,
601     x_fee_type IN VARCHAR2,
602     x_fee_cal_type IN VARCHAR2,
603     x_fee_ci_sequence_number IN NUMBER,
604     x_fee_cat IN VARCHAR2,
605     x_s_transaction_type IN VARCHAR2,
606     x_transaction_dt IN DATE,
607     x_transaction_amount IN NUMBER,
608     x_currency_cd IN VARCHAR2,
609     x_exchange_rate IN NUMBER,
610     x_chg_elements IN NUMBER,
611     x_effective_dt IN DATE,
612     x_course_cd IN VARCHAR2,
613     x_notification_dt IN DATE,
614     x_logical_delete_dt IN DATE,
615     x_comments IN VARCHAR2,
616     x_org_id IN NUMBER,
617     x_creation_date IN DATE,
618     x_created_by IN NUMBER,
619     x_last_update_date IN DATE,
620     x_last_updated_by IN NUMBER,
621     x_last_update_login IN NUMBER
622   ) AS
623   /*----------------------------------------------------------------------------
624   ||  Created By :
625   ||  Created On :
626   ||  Purpose :
627   ||  Known limitations, enhancements or remarks :
628   ||  Change History :
629   ||  Who             When            What
630   ||  (reverse chronological order - newest change first)
631   ||  smvk            02-Sep-2002  Modified the call to beforerowinsertupdatedelete1 procedure as per apps standards.
632   ||                               As a part of Build SFCR005_Cleanup_Build (Enhancement Bug # 2531390)
633   ||  vvutukur        30-Aug-2002  Bug#2531390.Removed calls to check_uk_child_existance local procedure
634   ||                               as this procedure is removed as part of this bugfix.Also removed default
635   ||                               null from before_dml procedure parameters to avoid gscc warnings.
636   ----------------------------------------------------------------------------*/
637     BEGIN
638     Set_Column_Values (
639       p_action,
640       x_rowid,
641       x_person_id,
642       x_transaction_id,
643       x_fee_type,
644       x_fee_cal_type,
645       x_fee_ci_sequence_number,
646       x_fee_cat,
647       x_s_transaction_type,
648       x_transaction_dt,
649       x_transaction_amount,
650       x_currency_cd,
651       x_exchange_rate,
652       x_chg_elements,
653       x_effective_dt,
654       x_course_cd,
655       x_notification_dt,
656       x_logical_delete_dt,
657       x_comments,
658       x_org_id,
659       x_creation_date,
660       x_created_by,
661       x_last_update_date,
662       x_last_updated_by,
663       x_last_update_login
664     );
665     IF (p_action = 'INSERT') THEN
666       -- Call all the procedures related to Before Insert.
667       BeforeRowInsertUpdateDelete1 (p_inserting => TRUE , p_updating =>FALSE , p_deleting =>FALSE);
668 	  	IF  Get_PK_For_Validation (
669 		new_references.person_id ,
670     	new_references.transaction_id
671         ) THEN
672 	  	         Fnd_Message.Set_Name ('IGS', 'IGS_GE_MULTI_ORG_DUP_REC');
673                            IGS_GE_MSG_STACK.ADD;
674 	  	          App_Exception.Raise_Exception;
675 	  	END IF;
676 	  	Check_Constraints;
677 	          Check_Uniqueness;
678       Check_Parent_Existance;
679     ELSIF (p_action = 'UPDATE') THEN
680       -- Call all the procedures related to Before Update.
681       BeforeRowInsertUpdateDelete1 (p_inserting => FALSE, p_updating => TRUE, p_deleting =>FALSE);
682 	  	Check_Constraints;
683 	          Check_Uniqueness;
684       Check_Parent_Existance;
685 
686     ELSIF (p_action = 'DELETE') THEN
687       -- Call all the procedures related to Before Delete.
688       Check_Child_Existance;
689       BeforeRowInsertUpdateDelete1 (p_inserting => FALSE, p_updating => FALSE, p_deleting => TRUE);
690 	ELSIF (p_action = 'VALIDATE_INSERT') THEN
691 	      IF  Get_PK_For_Validation (
692 			new_references.person_id ,
693     		new_references.transaction_id
694 			) THEN
695 	         Fnd_Message.Set_Name ('IGS', 'IGS_GE_MULTI_ORG_DUP_REC');
696             IGS_GE_MSG_STACK.ADD;
697 	          App_Exception.Raise_Exception;
698 	      END IF;
699 	      Check_Constraints;
700 	      Check_Uniqueness;
701 	ELSIF (p_action = 'VALIDATE_UPDATE') THEN
702 	       Check_Constraints;
703 	       Check_Uniqueness;
704 	ELSIF (p_action = 'VALIDATE_DELETE') THEN
705             Check_Child_Existance;
706 
707     END IF;
708   END Before_DML;
709 
710   /****************ADDED BY SYAM ON 21_DEC_2000***************/
711 
712   PROCEDURE After_DML (
713       p_action IN VARCHAR2,
714       x_rowid IN VARCHAR2
715     ) IS
716     /*************************************************************
717     Created By :
718     Date Created By :
719     Purpose :
720     Know limitations, enhancements or remarks
721     Change History
722     Who             When            What
723     masehgal        10-JAN-2002     Enh # 2170429
724                                     Obsoletion of SPONSOR_CD
725  (reverse chronological order - newest change first)
726     ***************************************************************/
727 
728     BEGIN
729 
730       l_rowid := x_rowid;
731 
732       IF (p_action = 'INSERT') THEN
733         -- Call all the procedures related to After Insert.
734         Null;
735       ELSIF (p_action = 'UPDATE') THEN
736         -- Call all the procedures related to After Update.
737         Null;
738       ELSIF (p_action = 'DELETE') THEN
739         -- Call all the procedures related to After Delete.
740         Null;
741       END IF;
742 
743     l_rowid := NULL;
744 
745     END After_DML;
746 
747   /****************ADDED BY SYAM ON 21_DEC_2000***************/
748 procedure INSERT_ROW (
749   X_ROWID in out NOCOPY VARCHAR2,
750   X_PERSON_ID in NUMBER,
751   X_TRANSACTION_ID in out NOCOPY NUMBER,
752   X_FEE_TYPE in VARCHAR2,
753   X_FEE_CAL_TYPE in VARCHAR2,
754   X_FEE_CI_SEQUENCE_NUMBER in NUMBER,
755   X_FEE_CAT in VARCHAR2,
756   X_S_TRANSACTION_TYPE in VARCHAR2,
757   X_TRANSACTION_DT in DATE,
758   X_TRANSACTION_AMOUNT in NUMBER,
759   X_CURRENCY_CD in VARCHAR2,
760   X_EXCHANGE_RATE in NUMBER,
761   X_CHG_ELEMENTS in NUMBER,
762   X_EFFECTIVE_DT in DATE,
763   X_COURSE_CD in VARCHAR2,
764   X_NOTIFICATION_DT in DATE,
765   X_LOGICAL_DELETE_DT in DATE,
766   X_COMMENTS in VARCHAR2,
767   x_org_id IN NUMBER,
768   X_MODE in VARCHAR2
769   ) AS
770   /*----------------------------------------------------------------------------
771   ||  Created By :
772   ||  Created On :
773   ||  Purpose :
774   ||  Known limitations, enhancements or remarks :
775   ||  Change History :
776   ||  Who             When            What
777   ||  (reverse chronological order - newest change first)
778   ||  vvutukur        30-Aug-2002  Bug#2531390.Removed default value of x_mode parameter to avoid gscc
779   ||                               warnings.
780   ----------------------------------------------------------------------------*/
781     cursor C is select ROWID from IGS_FI_FEE_AS_ALL
782       where PERSON_ID = X_PERSON_ID
783       and TRANSACTION_ID = X_TRANSACTION_ID;
784     X_LAST_UPDATE_DATE DATE;
785     X_LAST_UPDATED_BY NUMBER;
786     X_LAST_UPDATE_LOGIN NUMBER;
787     X_REQUEST_ID NUMBER;
788     X_PROGRAM_ID NUMBER;
789     X_PROGRAM_APPLICATION_ID NUMBER;
790     X_PROGRAM_UPDATE_DATE DATE;
791 begin
792   X_LAST_UPDATE_DATE := SYSDATE;
793   if(X_MODE = 'I') then
794     X_LAST_UPDATED_BY := 1;
795     X_LAST_UPDATE_LOGIN := 0;
796   elsif (X_MODE = 'R') then
797     X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
798     if X_LAST_UPDATED_BY is NULL then
799       X_LAST_UPDATED_BY := -1;
800     end if;
801     X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
802     if X_LAST_UPDATE_LOGIN is NULL then
803       X_LAST_UPDATE_LOGIN := -1;
804     end if;
805     X_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
806     X_PROGRAM_ID := FND_GLOBAL.CONC_PROGRAM_ID;
807     X_PROGRAM_APPLICATION_ID := FND_GLOBAL.PROG_APPL_ID;
808     if (X_REQUEST_ID =  -1) then
809       X_REQUEST_ID := NULL;
810       X_PROGRAM_ID := NULL;
811       X_PROGRAM_APPLICATION_ID := NULL;
812       X_PROGRAM_UPDATE_DATE := NULL;
813     else
814       X_PROGRAM_UPDATE_DATE := SYSDATE;
815     end if;
816   else
817     FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
818             IGS_GE_MSG_STACK.ADD;
819     app_exception.raise_exception;
820   end if;
821     ---added by syam on 23-aug-2000
822 	SELECT igs_fi_fee_as_trn_id_s.nextval
823 	INTO   x_transaction_id
824 	FROM DUAL;
825      ---added by syam on 23-aug-2000
826 
827  Before_DML(
828     p_action => 'INSERT',
829     x_rowid => x_rowid,
830     x_person_id => x_person_id,
831     x_transaction_id => x_transaction_id,
832     x_fee_type => x_fee_type,
833     x_fee_cal_type => x_fee_cal_type,
834     x_fee_ci_sequence_number => x_fee_ci_sequence_number,
835     x_fee_cat => x_fee_cat,
836     x_s_transaction_type => x_s_transaction_type,
837     x_transaction_dt => x_transaction_dt,
838     x_transaction_amount => x_transaction_amount,
839     x_currency_cd => x_currency_cd,
840     x_exchange_rate => x_exchange_rate,
841     x_chg_elements => x_chg_elements,
842     x_effective_dt => x_effective_dt,
843     x_course_cd => x_course_cd,
844     x_notification_dt => x_notification_dt,
845     x_logical_delete_dt => x_logical_delete_dt,
846     x_comments => x_comments,
847     x_org_id => igs_ge_gen_003.get_org_id,
848 x_creation_date => X_LAST_UPDATE_DATE,
849 x_created_by => X_LAST_UPDATED_BY,
850 x_last_update_date => X_LAST_UPDATE_DATE,
851 x_last_updated_by => X_LAST_UPDATED_BY,
852 x_last_update_login => X_LAST_UPDATE_LOGIN
853 );
854   insert into IGS_FI_FEE_AS_ALL (
855     PERSON_ID,
856     TRANSACTION_ID,
857     FEE_TYPE,
858     FEE_CAL_TYPE,
859     FEE_CI_SEQUENCE_NUMBER,
860     FEE_CAT,
861     S_TRANSACTION_TYPE,
862     TRANSACTION_DT,
863     TRANSACTION_AMOUNT,
864     CURRENCY_CD,
865     EXCHANGE_RATE,
866     CHG_ELEMENTS,
867     EFFECTIVE_DT,
868     COURSE_CD,
869     NOTIFICATION_DT,
870     LOGICAL_DELETE_DT,
871     COMMENTS,
872     ORG_ID,
873     CREATION_DATE,
874     CREATED_BY,
875     LAST_UPDATE_DATE,
876     LAST_UPDATED_BY,
877     LAST_UPDATE_LOGIN,
878     REQUEST_ID,
879     PROGRAM_ID,
880     PROGRAM_APPLICATION_ID,
881     PROGRAM_UPDATE_DATE
882   ) values (
883     NEW_REFERENCES.PERSON_ID,
884     NEW_REFERENCES.TRANSACTION_ID,
885     NEW_REFERENCES.FEE_TYPE,
886     NEW_REFERENCES.FEE_CAL_TYPE,
887     NEW_REFERENCES.FEE_CI_SEQUENCE_NUMBER,
888     NEW_REFERENCES.FEE_CAT,
889     NEW_REFERENCES.S_TRANSACTION_TYPE,
890     NEW_REFERENCES.TRANSACTION_DT,
891     NEW_REFERENCES.TRANSACTION_AMOUNT,
892     NEW_REFERENCES.CURRENCY_CD,
893     NEW_REFERENCES.EXCHANGE_RATE,
894     NEW_REFERENCES.CHG_ELEMENTS,
895     NEW_REFERENCES.EFFECTIVE_DT,
896     NEW_REFERENCES.COURSE_CD,
897     NEW_REFERENCES.NOTIFICATION_DT,
898     NEW_REFERENCES.LOGICAL_DELETE_DT,
899     NEW_REFERENCES.COMMENTS,
900     NEW_REFERENCES.ORG_ID,
901     X_LAST_UPDATE_DATE,
902     X_LAST_UPDATED_BY,
903     X_LAST_UPDATE_DATE,
904     X_LAST_UPDATED_BY,
905     X_LAST_UPDATE_LOGIN,
906     X_REQUEST_ID,
907     X_PROGRAM_ID,
908     X_PROGRAM_APPLICATION_ID,
909     X_PROGRAM_UPDATE_DATE
910   );
911   open c;
912   fetch c into X_ROWID;
913   if (c%notfound) then
914     close c;
915     raise no_data_found;
916   end if;
917   close c;
918  /****************ADDED BY SYAM ON 21_DEC_2000***************/
919    After_DML (
920  		p_action => 'INSERT' ,
921 		x_rowid => X_ROWID );
922 /****************ADDED BY SYAM ON 21_DEC_2000***************/
923 end INSERT_ROW;
924 procedure LOCK_ROW (
925   X_ROWID in VARCHAR2,
926   X_PERSON_ID in NUMBER,
927   X_TRANSACTION_ID in NUMBER,
928   X_FEE_TYPE in VARCHAR2,
929   X_FEE_CAL_TYPE in VARCHAR2,
930   X_FEE_CI_SEQUENCE_NUMBER in NUMBER,
931   X_FEE_CAT in VARCHAR2,
932   X_S_TRANSACTION_TYPE in VARCHAR2,
933   X_TRANSACTION_DT in DATE,
934   X_TRANSACTION_AMOUNT in NUMBER,
935   X_CURRENCY_CD in VARCHAR2,
936   X_EXCHANGE_RATE in NUMBER,
937   X_CHG_ELEMENTS in NUMBER,
938   X_EFFECTIVE_DT in DATE,
939   X_COURSE_CD in VARCHAR2,
940   X_NOTIFICATION_DT in DATE,
941   X_LOGICAL_DELETE_DT in DATE,
942   X_COMMENTS in VARCHAR2
943 ) AS
944   cursor c1 is select
945       FEE_TYPE,
946       FEE_CAL_TYPE,
947       FEE_CI_SEQUENCE_NUMBER,
948       FEE_CAT,
949       S_TRANSACTION_TYPE,
950       TRANSACTION_DT,
951       TRANSACTION_AMOUNT,
952       CURRENCY_CD,
953       EXCHANGE_RATE,
954       CHG_ELEMENTS,
955       EFFECTIVE_DT,
956       COURSE_CD,
957       NOTIFICATION_DT,
958       LOGICAL_DELETE_DT,
959       COMMENTS
960     from IGS_FI_FEE_AS_ALL
961     where ROWID = X_ROWID
962     for update nowait;
963   tlinfo c1%rowtype;
964 begin
965   open c1;
966   fetch c1 into tlinfo;
967   if (c1%notfound) then
968     close c1;
969     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
970             IGS_GE_MSG_STACK.ADD;
971     app_exception.raise_exception;
972     return;
973   end if;
974   close c1;
975       if (
976           ((tlinfo.FEE_TYPE = X_FEE_TYPE)
977            OR ((tlinfo.FEE_TYPE is null)
978                AND (X_FEE_TYPE is null)))
979       AND ((tlinfo.FEE_CAL_TYPE = X_FEE_CAL_TYPE)
980            OR ((tlinfo.FEE_CAL_TYPE is null)
981                AND (X_FEE_CAL_TYPE is null)))
982       AND ((tlinfo.FEE_CI_SEQUENCE_NUMBER = X_FEE_CI_SEQUENCE_NUMBER)
983            OR ((tlinfo.FEE_CI_SEQUENCE_NUMBER is null)
984                  AND X_FEE_CI_SEQUENCE_NUMBER is null))
985       AND ( (tlinfo.FEE_CAT = X_FEE_CAT)
986              OR ( (tlinfo.FEE_CAT is null)
987                    AND X_FEE_CAT is null  ) )
988       AND ((tlinfo.S_TRANSACTION_TYPE = X_S_TRANSACTION_TYPE)
989            OR( (tlinfo.S_TRANSACTION_TYPE is null)
990                 AND X_S_TRANSACTION_TYPE is null))
991       AND (( Trunc(tlinfo.TRANSACTION_DT) = trunc(X_TRANSACTION_DT) )
992             OR (( tlinfo.TRANSACTION_DT is null)
993                  AND  X_TRANSACTION_DT is null  ))
994       AND (  (tlinfo.TRANSACTION_AMOUNT = X_TRANSACTION_AMOUNT)
995            OR( (tlinfo.TRANSACTION_AMOUNT is null)
996                 AND
997                ( X_TRANSACTION_AMOUNT is null)
998              )
999           )
1000       AND (    (tlinfo.CURRENCY_CD = X_CURRENCY_CD)
1001             OR ( (tlinfo.CURRENCY_CD is null )
1002                 AND
1003                 (X_CURRENCY_CD is null)
1004                )
1005           )
1006       AND (     (tlinfo.EXCHANGE_RATE = X_EXCHANGE_RATE)
1007             OR( (tlinfo.EXCHANGE_RATE is null )
1008                 AND
1009                 (X_EXCHANGE_RATE is null )
1010               )
1011           )
1012       AND ((tlinfo.CHG_ELEMENTS = X_CHG_ELEMENTS)
1013            OR ((tlinfo.CHG_ELEMENTS is null)
1014                AND (X_CHG_ELEMENTS is null)))
1015       AND ((Trunc(tlinfo.EFFECTIVE_DT) = Trunc(X_EFFECTIVE_DT) )
1016            OR ((tlinfo.EFFECTIVE_DT is null)
1017                AND (X_EFFECTIVE_DT is null)))
1018       AND ((tlinfo.COURSE_CD = X_COURSE_CD)
1019            OR ((tlinfo.COURSE_CD is null)
1020                AND (X_COURSE_CD is null)))
1021       AND ((Trunc(tlinfo.NOTIFICATION_DT) = Trunc(X_NOTIFICATION_DT))
1022            OR ((tlinfo.NOTIFICATION_DT is null)
1023                AND (X_NOTIFICATION_DT is null)))
1024       AND ((tlinfo.LOGICAL_DELETE_DT = X_LOGICAL_DELETE_DT)
1025            OR ((tlinfo.LOGICAL_DELETE_DT is null)
1026                AND (X_LOGICAL_DELETE_DT is null)))
1027       AND ((tlinfo.COMMENTS = X_COMMENTS)
1028            OR ((tlinfo.COMMENTS is null)
1029                AND (X_COMMENTS is null)))
1030   ) then
1031     null;
1032   else
1033     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
1034             IGS_GE_MSG_STACK.ADD;
1035     app_exception.raise_exception;
1036   end if;
1037   return;
1038 end LOCK_ROW;
1039 procedure UPDATE_ROW (
1040   X_ROWID in VARCHAR2,
1041   X_PERSON_ID in NUMBER,
1042   X_TRANSACTION_ID in NUMBER,
1043   X_FEE_TYPE in VARCHAR2,
1044   X_FEE_CAL_TYPE in VARCHAR2,
1045   X_FEE_CI_SEQUENCE_NUMBER in NUMBER,
1046   X_FEE_CAT in VARCHAR2,
1047   X_S_TRANSACTION_TYPE in VARCHAR2,
1048   X_TRANSACTION_DT in DATE,
1049   X_TRANSACTION_AMOUNT in NUMBER,
1050   X_CURRENCY_CD in VARCHAR2,
1051   X_EXCHANGE_RATE in NUMBER,
1052   X_CHG_ELEMENTS in NUMBER,
1053   X_EFFECTIVE_DT in DATE,
1054   X_COURSE_CD in VARCHAR2,
1055   X_NOTIFICATION_DT in DATE,
1056   X_LOGICAL_DELETE_DT in DATE,
1057   X_COMMENTS in VARCHAR2,
1058   X_MODE in VARCHAR2
1059   ) AS
1060   /*----------------------------------------------------------------------------
1061   ||  Created By :
1062   ||  Created On :
1063   ||  Purpose :
1064   ||  Known limitations, enhancements or remarks :
1065   ||  Change History :
1066   ||  Who             When            What
1067   ||  (reverse chronological order - newest change first)
1068   ||  vvutukur        30-Aug-2002  Bug#2531390.Removed default value of x_mode parameter to avoid gscc
1069   ||                               warnings.
1070   ----------------------------------------------------------------------------*/
1071 
1072     X_LAST_UPDATE_DATE DATE;
1073     X_LAST_UPDATED_BY NUMBER;
1074     X_LAST_UPDATE_LOGIN NUMBER;
1075     X_REQUEST_ID NUMBER;
1076     X_PROGRAM_ID NUMBER;
1077     X_PROGRAM_APPLICATION_ID NUMBER;
1078     X_PROGRAM_UPDATE_DATE DATE;
1079 begin
1080   X_LAST_UPDATE_DATE := SYSDATE;
1081   if(X_MODE = 'I') then
1082     X_LAST_UPDATED_BY := 1;
1083     X_LAST_UPDATE_LOGIN := 0;
1084   elsif (X_MODE = 'R') then
1085     X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
1086     if X_LAST_UPDATED_BY is NULL then
1087       X_LAST_UPDATED_BY := -1;
1088     end if;
1089     X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
1090     if X_LAST_UPDATE_LOGIN is NULL then
1091       X_LAST_UPDATE_LOGIN := -1;
1092     end if;
1093  Before_DML(
1094     p_action => 'UPDATE',
1095     x_rowid => x_rowid,
1096     x_person_id => x_person_id,
1097     x_transaction_id => x_transaction_id,
1098     x_fee_type => x_fee_type,
1099     x_fee_cal_type => x_fee_cal_type,
1100     x_fee_ci_sequence_number => x_fee_ci_sequence_number,
1101     x_fee_cat => x_fee_cat,
1102     x_s_transaction_type => x_s_transaction_type,
1103     x_transaction_dt => x_transaction_dt,
1104     x_transaction_amount => x_transaction_amount,
1105     x_currency_cd => x_currency_cd,
1106     x_exchange_rate => x_exchange_rate,
1107     x_chg_elements => x_chg_elements,
1108     x_effective_dt => x_effective_dt,
1109     x_course_cd => x_course_cd,
1110     x_notification_dt => x_notification_dt,
1111     x_logical_delete_dt => x_logical_delete_dt,
1112     x_comments => x_comments,
1113 x_creation_date => X_LAST_UPDATE_DATE,
1114 x_created_by => X_LAST_UPDATED_BY,
1115 x_last_update_date => X_LAST_UPDATE_DATE,
1116 x_last_updated_by => X_LAST_UPDATED_BY,
1117 x_last_update_login => X_LAST_UPDATE_LOGIN
1118 );
1119     X_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
1120     X_PROGRAM_ID := FND_GLOBAL.CONC_PROGRAM_ID;
1121     X_PROGRAM_APPLICATION_ID := FND_GLOBAL.PROG_APPL_ID;
1122     if (X_REQUEST_ID =  -1) then
1123       X_REQUEST_ID := OLD_REFERENCES.REQUEST_ID;
1124       X_PROGRAM_ID := OLD_REFERENCES.PROGRAM_ID;
1125       X_PROGRAM_APPLICATION_ID := OLD_REFERENCES.PROGRAM_APPLICATION_ID;
1126       X_PROGRAM_UPDATE_DATE := OLD_REFERENCES.PROGRAM_UPDATE_DATE;
1127     else
1128       X_PROGRAM_UPDATE_DATE := SYSDATE;
1129     end if;
1130   else
1131     FND_MESSAGE.SET_NAME('FND', 'SYSTEM-INVALID ARGS');
1132             IGS_GE_MSG_STACK.ADD;
1133     app_exception.raise_exception;
1134   end if;
1135   update IGS_FI_FEE_AS_ALL set
1136     FEE_TYPE = NEW_REFERENCES.FEE_TYPE,
1137     FEE_CAL_TYPE = NEW_REFERENCES.FEE_CAL_TYPE,
1138     FEE_CI_SEQUENCE_NUMBER = NEW_REFERENCES.FEE_CI_SEQUENCE_NUMBER,
1139     FEE_CAT = NEW_REFERENCES.FEE_CAT,
1140     S_TRANSACTION_TYPE = NEW_REFERENCES.S_TRANSACTION_TYPE,
1141     TRANSACTION_DT = NEW_REFERENCES.TRANSACTION_DT,
1142     TRANSACTION_AMOUNT = NEW_REFERENCES.TRANSACTION_AMOUNT,
1143     CURRENCY_CD = NEW_REFERENCES.CURRENCY_CD,
1144     EXCHANGE_RATE = NEW_REFERENCES.EXCHANGE_RATE,
1145     CHG_ELEMENTS = NEW_REFERENCES.CHG_ELEMENTS,
1146     EFFECTIVE_DT = NEW_REFERENCES.EFFECTIVE_DT,
1147     COURSE_CD = NEW_REFERENCES.COURSE_CD,
1148     NOTIFICATION_DT = NEW_REFERENCES.NOTIFICATION_DT,
1149     LOGICAL_DELETE_DT = NEW_REFERENCES.LOGICAL_DELETE_DT,
1150     COMMENTS = NEW_REFERENCES.COMMENTS,
1151     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
1152     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
1153     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
1154     REQUEST_ID = X_REQUEST_ID,
1155     PROGRAM_ID = X_PROGRAM_ID,
1156     PROGRAM_APPLICATION_ID = X_PROGRAM_APPLICATION_ID,
1157     PROGRAM_UPDATE_DATE = X_PROGRAM_UPDATE_DATE
1158   where ROWID = X_ROWID;
1159   if (sql%notfound) then
1160     raise no_data_found;
1161   end if;
1162 
1163   /****************ADDED BY SYAM ON 21_DEC_2000***************/
1164  After_DML (
1165 	p_action => 'UPDATE' ,
1166 	x_rowid => X_ROWID
1167 	);
1168 /****************ADDED BY SYAM ON 21_DEC_2000***************/
1169 end UPDATE_ROW;
1170 procedure ADD_ROW (
1171   X_ROWID in out NOCOPY VARCHAR2,
1172   X_PERSON_ID in NUMBER,
1173   X_TRANSACTION_ID in out NOCOPY NUMBER,
1174   X_FEE_TYPE in VARCHAR2,
1175   X_FEE_CAL_TYPE in VARCHAR2,
1176   X_FEE_CI_SEQUENCE_NUMBER in NUMBER,
1177   X_FEE_CAT in VARCHAR2,
1178   X_S_TRANSACTION_TYPE in VARCHAR2,
1179   X_TRANSACTION_DT in DATE,
1180   X_TRANSACTION_AMOUNT in NUMBER,
1181   X_CURRENCY_CD in VARCHAR2,
1182   X_EXCHANGE_RATE in NUMBER,
1183   X_CHG_ELEMENTS in NUMBER,
1184   X_EFFECTIVE_DT in DATE,
1185   X_COURSE_CD in VARCHAR2,
1186   X_NOTIFICATION_DT in DATE,
1187   X_LOGICAL_DELETE_DT in DATE,
1188   X_COMMENTS in VARCHAR2,
1189   X_MODE in VARCHAR2,
1190   X_ORG_ID in NUMBER
1191   ) AS
1192   /*----------------------------------------------------------------------------
1193   ||  Created By :
1194   ||  Created On :
1195   ||  Purpose :
1196   ||  Known limitations, enhancements or remarks :
1197   ||  Change History :
1198   ||  Who             When            What
1199   ||  (reverse chronological order - newest change first)
1200   ||  vvutukur        30-Aug-2002  Bug#2531390.Removed default value of x_mode parameter to avoid gscc
1201   ||                               warnings.
1202   ----------------------------------------------------------------------------*/
1203 
1204   cursor c1 is select rowid from IGS_FI_FEE_AS_ALL
1205      where PERSON_ID = X_PERSON_ID
1206      and TRANSACTION_ID = X_TRANSACTION_ID
1207   ;
1208 begin
1209   open c1;
1210   fetch c1 into X_ROWID;
1211   if (c1%notfound) then
1212     close c1;
1213     INSERT_ROW (
1214      X_ROWID,
1215      X_PERSON_ID,
1216      X_TRANSACTION_ID,
1217      X_FEE_TYPE,
1218      X_FEE_CAL_TYPE,
1219      X_FEE_CI_SEQUENCE_NUMBER,
1220      X_FEE_CAT,
1221      X_S_TRANSACTION_TYPE,
1222      X_TRANSACTION_DT,
1223      X_TRANSACTION_AMOUNT,
1224      X_CURRENCY_CD,
1225      X_EXCHANGE_RATE,
1226      X_CHG_ELEMENTS,
1227      X_EFFECTIVE_DT,
1228      X_COURSE_CD,
1229      X_NOTIFICATION_DT,
1230      X_LOGICAL_DELETE_DT,
1231      X_COMMENTS,
1232      X_MODE,
1233      X_ORG_ID);
1234     return;
1235   end if;
1236   close c1;
1237   UPDATE_ROW (
1238   X_ROWID,
1239    X_PERSON_ID,
1240    X_TRANSACTION_ID,
1241    X_FEE_TYPE,
1242    X_FEE_CAL_TYPE,
1243    X_FEE_CI_SEQUENCE_NUMBER,
1244    X_FEE_CAT,
1245    X_S_TRANSACTION_TYPE,
1246    X_TRANSACTION_DT,
1247    X_TRANSACTION_AMOUNT,
1248    X_CURRENCY_CD,
1249    X_EXCHANGE_RATE,
1250    X_CHG_ELEMENTS,
1251    X_EFFECTIVE_DT,
1252    X_COURSE_CD,
1253    X_NOTIFICATION_DT,
1254    X_LOGICAL_DELETE_DT,
1255    X_COMMENTS,
1256    X_MODE);
1257 end ADD_ROW;
1258 procedure DELETE_ROW (
1259   X_ROWID in VARCHAR2
1260 ) AS
1261 begin
1262 Before_DML (
1263  p_action => 'DELETE',
1264  x_rowid  => X_ROWID
1265 );
1266   delete from IGS_FI_FEE_AS_ALL
1267   where ROWID = X_ROWID;
1268   if (sql%notfound) then
1269     raise no_data_found;
1270   end if;
1271   /****************ADDED BY SYAM ON 21_DEC_2000***************/
1272  After_DML (
1273  p_action => 'DELETE',
1274  x_rowid => X_ROWID
1275 
1276 );
1277 /****************ADDED BY SYAM ON 21_DEC_2000***************/
1278 end DELETE_ROW;
1279 end IGS_FI_FEE_AS_PKG;