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