DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_FI_F_CAT_F_LBL_H_PKG

Source


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