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