[Home] [Help]
PACKAGE BODY: APPS.IGS_RE_CAND_SEO_CLS_PKG
Source
1 package body IGS_RE_CAND_SEO_CLS_PKG as
2 /* $Header: IGSRI02B.pls 120.1 2005/07/04 00:40:58 appldev ship $ */
3 -------------------------------------------------------------------------------------------
4 --Change History:
5 --Who When What
6 --smadathi 24-AUG-2001 Bug No. 1956374 .The call to igs_re_val_csc.genp_val_sdtt_sess
7 -- is changed to igs_as_val_suaap.genp_val_sdtt_sess.
8 -------------------------------------------------------------------------------------------
9 l_rowid VARCHAR2(25);
10 old_references IGS_RE_CAND_SEO_CLS%RowType;
11 new_references IGS_RE_CAND_SEO_CLS%RowType;
12
13 PROCEDURE Set_Column_Values (
14 p_action IN VARCHAR2,
15 x_rowid IN VARCHAR2 DEFAULT NULL,
16 x_person_id IN NUMBER DEFAULT NULL,
17 x_ca_sequence_number IN NUMBER DEFAULT NULL,
18 x_seo_class_cd IN VARCHAR2 DEFAULT NULL,
19 x_percentage IN NUMBER DEFAULT NULL,
20 x_creation_date IN DATE DEFAULT NULL,
21 x_created_by IN NUMBER DEFAULT NULL,
22 x_last_update_date IN DATE DEFAULT NULL,
23 x_last_updated_by IN NUMBER DEFAULT NULL,
24 x_last_update_login IN NUMBER DEFAULT NULL
25 ) AS
26
27 CURSOR cur_old_ref_values IS
28 SELECT *
29 FROM IGS_RE_CAND_SEO_CLS
30 WHERE rowid = x_rowid;
31
32 BEGIN
33
34 l_rowid := x_rowid;
35
36 -- Code for setting the Old and New Reference Values.
37 -- Populate Old Values.
38 Open cur_old_ref_values;
39 Fetch cur_old_ref_values INTO old_references;
40 IF (cur_old_ref_values%NOTFOUND) AND (p_action NOT IN ('INSERT', 'VALIDATE_INSERT')) THEN
41 Close cur_old_ref_values;
42 Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
43 IGS_GE_MSG_STACK.ADD;
44 App_Exception.Raise_Exception;
45 Return;
46 END IF;
47 Close cur_old_ref_values;
48
49 -- Populate New Values.
50 new_references.person_id := x_person_id;
51 new_references.ca_sequence_number := x_ca_sequence_number;
52 new_references.seo_class_cd := x_seo_class_cd;
53 new_references.percentage := x_percentage;
54 IF (p_action = 'UPDATE') THEN
55 new_references.creation_date := old_references.creation_date;
56 new_references.created_by := old_references.created_by;
57 ELSE
58 new_references.creation_date := x_creation_date;
59 new_references.created_by := x_created_by;
60 END IF;
61 new_references.last_update_date := x_last_update_date;
62 new_references.last_updated_by := x_last_updated_by;
63 new_references.last_update_login := x_last_update_login;
64
65 END Set_Column_Values;
66
67 PROCEDURE BeforeRowInsertUpdateDelete1(
68 p_inserting IN BOOLEAN DEFAULT FALSE,
69 p_updating IN BOOLEAN DEFAULT FALSE,
70 p_deleting IN BOOLEAN DEFAULT FALSE
71 ) AS
72 v_message_name VARCHAR2(30);
73 BEGIN
74 -- Turn off trigger validation when performing insert of IGS_RE_CANDIDATURE details
75 -- as a result of IGS_PS_COURSE transfer
76 IF igs_as_val_suaap.genp_val_sdtt_sess('ENRP_INS_CA_TRNSFR') THEN
77 IF p_inserting THEN
78 -- Validate socio-economic objective class code.
79 IF IGS_RE_VAL_CSC.resp_val_csc_seocc (
80 new_references.person_id,
81 new_references.ca_sequence_number,
82 new_references.seo_class_cd,
83 v_message_name) = FALSE THEN
84 Fnd_Message.Set_Name ('IGS', v_message_name);
85 IGS_GE_MSG_STACK.ADD;
86 App_Exception.Raise_Exception;
87 END IF;
88 END IF;
89 IF p_inserting OR
90 p_updating OR
91 p_deleting THEN
92 -- Validate updates are allowed
93 /*
94 || Bug ID 1956374 - Removal of Duplicate Program Units from OSS.
95 || Changed the reference of "IGS_RE_VAL_CSC.RESP_VAL_CA_CHILDUPD" to program unit "IGS_RE_VAL_CAH.RESP_VAL_CA_CHILDUPD". -- kdande
96 */
97 IF IGS_RE_VAL_CAH.resp_val_ca_childupd (
98 new_references.person_id,
99 new_references.ca_sequence_number,
100 v_message_name) = FALSE THEN
101 Fnd_Message.Set_Name ('IGS', v_message_name);
102 IGS_GE_MSG_STACK.ADD;
103 App_Exception.Raise_Exception;
104 END IF;
105 END IF;
106 END IF;
107
108
109 END BeforeRowInsertUpdateDelete1;
110
111 PROCEDURE Check_Constraints (
112 Column_Name in VARCHAR2 DEFAULT NULL ,
113 Column_Value in VARCHAR2 DEFAULT NULL
114 ) AS
115 BEGIN
116 IF Column_Name is null then
117 NULL;
118 ELSIF upper(Column_name) = 'SEO_CLASS_CD' THEN
119 new_references.SEO_CLASS_CD := COLUMN_VALUE ;
120 ELSIF upper(Column_name) = 'PERCENTAGE' THEN
121 new_references.PERCENTAGE := IGS_GE_NUMBER.to_num(COLUMN_VALUE) ;
122 ELSIF upper(Column_name) = 'CA_SEQUENCE_NUMBER' THEN
123 new_references.CA_SEQUENCE_NUMBER := IGS_GE_NUMBER.to_num(COLUMN_VALUE) ;
124 END IF;
125
126 IF upper(column_name) = 'SEO_CLASS_CD' OR COLUMN_NAME IS NULL THEN
127 IF new_references.SEO_CLASS_CD <> upper(new_references.SEO_CLASS_CD) then
128 Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
129 IGS_GE_MSG_STACK.ADD;
130 App_Exception.Raise_Exception ;
131 END IF;
132 END IF;
133 IF upper(column_name) = 'PERCENTAGE' OR COLUMN_NAME IS NULL THEN
134 IF new_references.PERCENTAGE < 1 OR new_references.PERCENTAGE > 100 then
135 Fnd_Message.Set_Name('IGS','IGS_GE_INVALID_VALUE');
136 IGS_GE_MSG_STACK.ADD;
137 App_Exception.Raise_Exception ;
138 END IF;
139 END IF;
140 IF upper(column_name) = 'CA_SEQUENCE_NUMBER' OR COLUMN_NAME IS NULL THEN
141 IF new_references.CA_SEQUENCE_NUMBER < 1 OR new_references.CA_SEQUENCE_NUMBER > 9999999 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 END IF;
147 END Check_Constraints ;
148
149 PROCEDURE Check_Parent_Existance AS
150 BEGIN
151
152 IF (((old_references.person_id = new_references.person_id) AND
153 (old_references.ca_sequence_number = new_references.ca_sequence_number)) OR
154 ((new_references.person_id IS NULL) OR
155 (new_references.ca_sequence_number IS NULL))) THEN
156 NULL;
157 ELSE
158 IF NOT IGS_RE_CANDIDATURE_PKG.Get_PK_For_Validation (
159 new_references.person_id,
160 new_references.ca_sequence_number
161 ) THEN
162 Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
163 IGS_GE_MSG_STACK.ADD;
164 App_Exception.Raise_Exception;
165 END IF;
166 END IF;
167
168 IF (((old_references.SEO_CLASS_CD = new_references.seo_class_cd)) OR
169 ((new_references.seo_class_cd IS NULL))) THEN
170 NULL;
171 ELSE
172 IF NOT IGS_RE_SEO_CLASS_CD_PKG.Get_PK_For_Validation (
173 new_references.seo_class_cd
174 ) THEN
175 Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
176 IGS_GE_MSG_STACK.ADD;
177 App_Exception.Raise_Exception;
178 END IF;
179 END IF;
180 END Check_Parent_Existance;
181
182 FUNCTION Get_PK_For_Validation (
183 x_person_id IN NUMBER,
184 x_ca_sequence_number IN NUMBER,
185 x_seo_class_cd IN VARCHAR2
186 ) RETURN BOOLEAN AS
187
188 CURSOR cur_rowid IS
189 SELECT rowid
190 FROM IGS_RE_CAND_SEO_CLS
191 WHERE person_id = x_person_id
192 AND ca_sequence_number = x_ca_sequence_number
193 AND seo_class_cd = x_seo_class_cd
194 FOR UPDATE NOWAIT;
195
196 lv_rowid cur_rowid%RowType;
197
198 BEGIN
199
200 Open cur_rowid;
201 Fetch cur_rowid INTO lv_rowid;
202 IF (cur_rowid%FOUND) THEN
203 Close cur_rowid;
204 RETURN(TRUE);
205 ELSE
206 Close cur_rowid;
207 RETURN(FALSE);
208 END IF;
209 END Get_PK_For_Validation;
210
211 PROCEDURE GET_FK_IGS_RE_CANDIDATURE (
212 x_person_id IN NUMBER,
213 x_sequence_number IN NUMBER
214 ) AS
215
216 CURSOR cur_rowid IS
217 SELECT rowid
218 FROM IGS_RE_CAND_SEO_CLS
219 WHERE person_id = x_person_id
220 AND ca_sequence_number = x_sequence_number ;
221
222 lv_rowid cur_rowid%RowType;
223
224 BEGIN
225
226 Open cur_rowid;
227 Fetch cur_rowid INTO lv_rowid;
228 IF (cur_rowid%FOUND) THEN
229 Close cur_rowid;
230 Fnd_Message.Set_Name ('IGS', 'IGS_RE_CSC_CA_FK');
231 IGS_GE_MSG_STACK.ADD;
232 App_Exception.Raise_Exception;
233 Return;
234 END IF;
235 Close cur_rowid;
236
237 END GET_FK_IGS_RE_CANDIDATURE;
238
239 PROCEDURE GET_FK_IGS_RE_SEO_CLASS_CD (
240 x_seo_class_cd IN VARCHAR2
241 ) AS
242
243 CURSOR cur_rowid IS
244 SELECT rowid
245 FROM IGS_RE_CAND_SEO_CLS
246 WHERE seo_class_cd = x_seo_class_cd ;
247
248 lv_rowid cur_rowid%RowType;
249
250 BEGIN
251
252 Open cur_rowid;
253 Fetch cur_rowid INTO lv_rowid;
254 IF (cur_rowid%FOUND) THEN
255 Close cur_rowid;
256 Fnd_Message.Set_Name ('IGS', 'IGS_RE_CSC_SCC_FK');
257 IGS_GE_MSG_STACK.ADD;
258 App_Exception.Raise_Exception;
259 Return;
260 END IF;
261 Close cur_rowid;
262
263 END GET_FK_IGS_RE_SEO_CLASS_CD;
264
265 PROCEDURE Before_DML (
266 p_action IN VARCHAR2,
267 x_rowid IN VARCHAR2 DEFAULT NULL,
268 x_person_id IN NUMBER DEFAULT NULL,
269 x_ca_sequence_number IN NUMBER DEFAULT NULL,
270 x_seo_class_cd IN VARCHAR2 DEFAULT NULL,
271 x_percentage IN NUMBER DEFAULT NULL,
272 x_creation_date IN DATE DEFAULT NULL,
273 x_created_by IN NUMBER DEFAULT NULL,
274 x_last_update_date IN DATE DEFAULT NULL,
275 x_last_updated_by IN NUMBER DEFAULT NULL,
276 x_last_update_login IN NUMBER DEFAULT NULL
277 ) AS
278 BEGIN
279
280 Set_Column_Values (
281 p_action,
282 x_rowid,
283 x_person_id,
284 x_ca_sequence_number,
285 x_seo_class_cd,
286 x_percentage,
287 x_creation_date,
288 x_created_by,
289 x_last_update_date,
290 x_last_updated_by,
291 x_last_update_login
292 );
293
294 IF (p_action = 'INSERT') THEN
295 -- Call all the procedures related to Before Insert.
296 BeforeRowInsertUpdateDelete1 ( p_inserting => TRUE );
297 IF Get_PK_For_Validation (
298 new_references.person_id,
299 new_references.ca_sequence_number,
300 new_references.seo_class_cd
301 ) THEN
302 Fnd_Message.Set_Name ('IGS', 'IGS_GE_RECORD_ALREADY_EXISTS');
303 IGS_GE_MSG_STACK.ADD;
304 App_Exception.Raise_Exception;
305 END IF;
306 Check_Constraints;
307 Check_Parent_Existance;
308 ELSIF (p_action = 'UPDATE') THEN
309 -- Call all the procedures related to Before Update.
310 BeforeRowInsertUpdateDelete1 ( p_updating => TRUE );
311 Check_Constraints;
312 Check_Parent_Existance;
313 ELSIF (p_action = 'DELETE') THEN
314 -- Call all the procedures related to Before Delete.
315 BeforeRowInsertUpdateDelete1 ( p_deleting => TRUE );
316 ELSIF (p_action = 'VALIDATE_INSERT') THEN
317 IF Get_PK_For_Validation (
318 new_references.person_id,
319 new_references.ca_sequence_number,
320 new_references.seo_class_cd
321 ) THEN
322 Fnd_Message.Set_Name ('IGS', 'IGS_GE_RECORD_ALREADY_EXISTS');
323 IGS_GE_MSG_STACK.ADD;
324 App_Exception.Raise_Exception;
325 END IF;
326 Check_Constraints;
327 ELSIF (p_action = 'VALIDATE_UPDATE') THEN
328 Check_Constraints;
329 END IF;
330
331 END Before_DML;
332
333 procedure INSERT_ROW (
334 X_ROWID in out NOCOPY VARCHAR2,
335 X_PERSON_ID in NUMBER,
336 X_CA_SEQUENCE_NUMBER in NUMBER,
337 X_SEO_CLASS_CD in VARCHAR2,
338 X_PERCENTAGE in NUMBER,
339 X_MODE in VARCHAR2 default 'R'
340 ) as
341 cursor C is select ROWID from IGS_RE_CAND_SEO_CLS
342 where PERSON_ID = X_PERSON_ID
343 and CA_SEQUENCE_NUMBER = X_CA_SEQUENCE_NUMBER
344 and SEO_CLASS_CD = X_SEO_CLASS_CD;
345 X_LAST_UPDATE_DATE DATE;
346 X_LAST_UPDATED_BY NUMBER;
347 X_LAST_UPDATE_LOGIN NUMBER;
348 begin
349 X_LAST_UPDATE_DATE := SYSDATE;
350 if(X_MODE = 'I') then
351 X_LAST_UPDATED_BY := 1;
352 X_LAST_UPDATE_LOGIN := 0;
353 elsif (X_MODE IN ('R', 'S')) then
354 X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
355 if X_LAST_UPDATED_BY is NULL then
356 X_LAST_UPDATED_BY := -1;
357 end if;
358 X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
359 if X_LAST_UPDATE_LOGIN is NULL then
360 X_LAST_UPDATE_LOGIN := -1;
361 end if;
362 else
363 FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
364 IGS_GE_MSG_STACK.ADD;
365 app_exception.raise_exception;
366 end if;
367
368 Before_DML (
369 p_action => 'INSERT',
370 x_rowid => X_ROWID,
371 x_person_id => X_PERSON_ID,
372 x_ca_sequence_number => X_CA_SEQUENCE_NUMBER,
373 x_seo_class_cd => X_SEO_CLASS_CD,
374 x_percentage => X_PERCENTAGE,
375 x_created_by => X_LAST_UPDATED_BY ,
376 x_creation_date => X_LAST_UPDATE_DATE,
377 x_last_updated_by => X_LAST_UPDATED_BY,
378 x_last_update_date => X_LAST_UPDATE_DATE,
379 x_last_update_login => X_LAST_UPDATE_LOGIN
380 );
381
382 IF (x_mode = 'S') THEN
383 igs_sc_gen_001.set_ctx('R');
384 END IF;
385 insert into IGS_RE_CAND_SEO_CLS (
386 PERSON_ID,
387 CA_SEQUENCE_NUMBER,
388 SEO_CLASS_CD,
389 PERCENTAGE,
390 CREATION_DATE,
391 CREATED_BY,
392 LAST_UPDATE_DATE,
393 LAST_UPDATED_BY,
394 LAST_UPDATE_LOGIN
395 ) values (
396 NEW_REFERENCES.PERSON_ID,
397 NEW_REFERENCES.CA_SEQUENCE_NUMBER,
398 NEW_REFERENCES.SEO_CLASS_CD,
399 NEW_REFERENCES.PERCENTAGE,
400 X_LAST_UPDATE_DATE,
401 X_LAST_UPDATED_BY,
402 X_LAST_UPDATE_DATE,
403 X_LAST_UPDATED_BY,
404 X_LAST_UPDATE_LOGIN
405 );
406 IF (x_mode = 'S') THEN
407 igs_sc_gen_001.unset_ctx('R');
408 END IF;
409
410
411 open c;
412 fetch c into X_ROWID;
413 if (c%notfound) then
414 close c;
415 raise no_data_found;
416 end if;
417 close c;
418 EXCEPTION
419 WHEN OTHERS THEN
420 IF (SQLCODE IN (-28115, -28113, -28111)) THEN
421 fnd_message.set_name ('IGS', 'IGS_SC_POLICY_EXCEPTION');
422 fnd_message.set_token ('ERR_CD', SQLCODE);
423 igs_ge_msg_stack.add;
424 igs_sc_gen_001.unset_ctx('R');
425 app_exception.raise_exception;
426 ELSE
427 igs_sc_gen_001.unset_ctx('R');
428 RAISE;
429 END IF;
430
431 end INSERT_ROW;
432
433 procedure LOCK_ROW (
434 X_ROWID in VARCHAR2,
435 X_PERSON_ID in NUMBER,
436 X_CA_SEQUENCE_NUMBER in NUMBER,
437 X_SEO_CLASS_CD in VARCHAR2,
438 X_PERCENTAGE in NUMBER
439 ) as
440 cursor c1 is select
441 PERCENTAGE
442 from IGS_RE_CAND_SEO_CLS
443 where ROWID = X_ROWID
444 for update nowait;
445 tlinfo c1%rowtype;
446
447 begin
448 open c1;
449 fetch c1 into tlinfo;
450 if (c1%notfound) then
451 close c1;
452 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
453 app_exception.raise_exception;
454 return;
455 end if;
456 close c1;
457
458 if ( (tlinfo.PERCENTAGE = X_PERCENTAGE)
459 ) then
460 null;
461 else
462 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
463 app_exception.raise_exception;
464 end if;
465 return;
466 end LOCK_ROW;
467
468 procedure UPDATE_ROW (
469 X_ROWID in VARCHAR2,
470 X_PERSON_ID in NUMBER,
471 X_CA_SEQUENCE_NUMBER in NUMBER,
472 X_SEO_CLASS_CD in VARCHAR2,
473 X_PERCENTAGE in NUMBER,
474 X_MODE in VARCHAR2 default 'R'
475 ) as
476 X_LAST_UPDATE_DATE DATE;
477 X_LAST_UPDATED_BY NUMBER;
478 X_LAST_UPDATE_LOGIN NUMBER;
479 begin
480 X_LAST_UPDATE_DATE := SYSDATE;
481 if(X_MODE = 'I') then
482 X_LAST_UPDATED_BY := 1;
483 X_LAST_UPDATE_LOGIN := 0;
484 elsif (X_MODE IN ('R', 'S')) then
485 X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
486 if X_LAST_UPDATED_BY is NULL then
487 X_LAST_UPDATED_BY := -1;
488 end if;
489 X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
490 if X_LAST_UPDATE_LOGIN is NULL then
491 X_LAST_UPDATE_LOGIN := -1;
492 end if;
493 else
494 FND_MESSAGE.SET_NAME('FND', 'SYSTEM-INVALID ARGS');
495 IGS_GE_MSG_STACK.ADD;
496 app_exception.raise_exception;
497 end if;
498
499 Before_DML (
500 p_action => 'UPDATE',
501 x_rowid => X_ROWID,
502 x_person_id => X_PERSON_ID,
503 x_ca_sequence_number => X_CA_SEQUENCE_NUMBER,
504 x_seo_class_cd => X_SEO_CLASS_CD,
505 x_percentage => X_PERCENTAGE,
506 x_created_by => X_LAST_UPDATED_BY ,
507 x_creation_date => X_LAST_UPDATE_DATE,
508 x_last_updated_by => X_LAST_UPDATED_BY,
509 x_last_update_date => X_LAST_UPDATE_DATE,
510 x_last_update_login => X_LAST_UPDATE_LOGIN
511 );
512
513 IF (x_mode = 'S') THEN
514 igs_sc_gen_001.set_ctx('R');
515 END IF;
516 update IGS_RE_CAND_SEO_CLS set
517 PERCENTAGE = NEW_REFERENCES.PERCENTAGE,
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 fnd_message.set_name ('IGS', 'IGS_SC_POLICY_UPD_DEL_EXCEP');
525 igs_ge_msg_stack.add;
526 igs_sc_gen_001.unset_ctx('R');
527 app_exception.raise_exception;
528 end if;
529 IF (x_mode = 'S') THEN
530 igs_sc_gen_001.unset_ctx('R');
531 END IF;
532
533
534 EXCEPTION
535 WHEN OTHERS THEN
536 IF (SQLCODE = (-28115)) THEN
537 fnd_message.set_name ('IGS', 'IGS_SC_UPD_POLICY_EXCP');
538 fnd_message.set_token ('ERR_CD', SQLCODE);
539 igs_ge_msg_stack.add;
540 igs_sc_gen_001.unset_ctx('R');
541 app_exception.raise_exception;
542 ELSE
543 igs_sc_gen_001.unset_ctx('R');
544 RAISE;
545 END IF;
546
547 end UPDATE_ROW;
548
549 procedure ADD_ROW (
550 X_ROWID in out NOCOPY VARCHAR2,
551 X_PERSON_ID in NUMBER,
552 X_CA_SEQUENCE_NUMBER in NUMBER,
553 X_SEO_CLASS_CD in VARCHAR2,
554 X_PERCENTAGE in NUMBER,
555 X_MODE in VARCHAR2 default 'R'
556 ) as
557 cursor c1 is select rowid from IGS_RE_CAND_SEO_CLS
558 where PERSON_ID = X_PERSON_ID
559 and CA_SEQUENCE_NUMBER = X_CA_SEQUENCE_NUMBER
560 and SEO_CLASS_CD = X_SEO_CLASS_CD
561 ;
562 begin
563 open c1;
564 fetch c1 into X_ROWID;
565 if (c1%notfound) then
566 close c1;
567 INSERT_ROW (
568 X_ROWID,
569 X_PERSON_ID,
570 X_CA_SEQUENCE_NUMBER,
571 X_SEO_CLASS_CD,
572 X_PERCENTAGE,
573 X_MODE);
574 return;
575 end if;
576 close c1;
577 UPDATE_ROW (
578 X_ROWID,
579 X_PERSON_ID,
580 X_CA_SEQUENCE_NUMBER,
581 X_SEO_CLASS_CD,
582 X_PERCENTAGE,
583 X_MODE);
584 end ADD_ROW;
585
586 procedure DELETE_ROW (
587 X_ROWID in VARCHAR2,
588 x_mode IN VARCHAR2
589 ) as
590 begin
591 Before_DML (
592 p_action => 'DELETE',
593 x_rowid => X_ROWID
594 );
595
596 IF (x_mode = 'S') THEN
597 igs_sc_gen_001.set_ctx('R');
598 END IF;
599 delete from IGS_RE_CAND_SEO_CLS
600 where ROWID = X_ROWID;
601 if (sql%notfound) then
602 fnd_message.set_name ('IGS', 'IGS_SC_POLICY_UPD_DEL_EXCEP');
603 igs_ge_msg_stack.add;
604 igs_sc_gen_001.unset_ctx('R');
605 app_exception.raise_exception;
606 end if;
607 IF (x_mode = 'S') THEN
608 igs_sc_gen_001.unset_ctx('R');
609 END IF;
610
611
612 end DELETE_ROW;
613
614 end IGS_RE_CAND_SEO_CLS_PKG;