DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGS_AD_PRD_AD_PRC_CA_PKG

Source


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