[Home] [Help]
PACKAGE BODY: APPS.IGS_EN_UNIT_SET_RULE_PKG
Source
1 package body IGS_EN_UNIT_SET_RULE_PKG as
2 /* $Header: IGSEI12B.pls 115.4 2002/11/28 23:34:02 nsidana ship $ */
3 l_rowid VARCHAR2(25);
4 old_references IGS_EN_UNIT_SET_RULE%RowType;
5 new_references IGS_EN_UNIT_SET_RULE%RowType;
6
7 PROCEDURE Set_Column_Values (
8 p_action IN VARCHAR2,
9 x_rowid IN VARCHAR2 DEFAULT NULL,
10 x_unit_set_cd IN VARCHAR2 DEFAULT NULL,
11 x_version_number IN NUMBER DEFAULT NULL,
12 x_s_rule_call_cd IN VARCHAR2 DEFAULT NULL,
13 x_rul_sequence_number IN NUMBER DEFAULT NULL,
14 x_creation_date IN DATE DEFAULT NULL,
15 x_created_by IN NUMBER DEFAULT NULL,
16 x_last_update_date IN DATE DEFAULT NULL,
17 x_last_updated_by IN NUMBER DEFAULT NULL,
18 x_last_update_login IN NUMBER DEFAULT NULL
19 )AS
20
21 CURSOR cur_old_ref_values IS
22 SELECT *
23 FROM IGS_EN_UNIT_SET_RULE
24 WHERE rowid = x_rowid;
25
26 BEGIN
27
28 l_rowid := x_rowid;
29
30 -- Code for setting the Old and New Reference Values.
31 -- Populate Old Values.
32 Open cur_old_ref_values;
33 Fetch cur_old_ref_values INTO old_references;
34 IF (cur_old_ref_values%NOTFOUND) AND (p_action NOT IN ('INSERT','VALIDATE_INSERT')) THEN
35 Close cur_old_ref_values;
36 Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
37 IGS_GE_MSG_STACK.ADD;
38 App_Exception.Raise_Exception;
39 Return;
40 END IF;
41 Close cur_old_ref_values;
42
43 -- Populate New Values.
44 new_references.unit_set_cd := x_unit_set_cd;
45 new_references.version_number := x_version_number;
46 new_references.s_rule_call_cd := x_s_rule_call_cd;
47 new_references.rul_sequence_number := x_rul_sequence_number;
48 IF (p_action = 'UPDATE') THEN
49 new_references.creation_date := old_references.creation_date;
50 new_references.created_by := old_references.created_by;
51 ELSE
52 new_references.creation_date := x_creation_date;
53 new_references.created_by := x_created_by;
54 END IF;
55 new_references.last_update_date := x_last_update_date;
56 new_references.last_updated_by := x_last_updated_by;
57 new_references.last_update_login := x_last_update_login;
58
59 END Set_Column_Values;
60
61 -- Trigger description :-
62 -- "OSS_TST".trg_usr_br_iud
63 -- BEFORE INSERT OR DELETE OR UPDATE
64 -- ON IGS_EN_UNIT_SET_RULE
65 -- FOR EACH ROW
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
73 v_message_name varchar2(30);
74 BEGIN
75 -- Validate the insert/update/delete
76 IF p_inserting OR p_updating THEN
77 IF IGS_PS_VAL_COUSR.crsp_val_iud_us_dtl(
78 new_references.unit_set_cd,
79 new_references.version_number,
80 v_message_name) = FALSE THEN
81 Fnd_Message.Set_Name('IGS', v_message_name);
82 IGS_GE_MSG_STACK.ADD;
83 App_Exception.Raise_Exception;
84 END IF;
85 ELSE
86 IF IGS_PS_VAL_COUSR.crsp_val_iud_us_dtl(
87 old_references.unit_set_cd,
88 old_references.version_number,
89 v_message_name) = FALSE THEN
90 Fnd_Message.Set_Name('IGS', v_message_name);
91 IGS_GE_MSG_STACK.ADD;
92 App_Exception.Raise_Exception;
93 END IF;
94 END IF;
95 -- Validate UNIT Set IGS_RU_RULE
96 IF p_inserting OR p_updating THEN
97 /*
98 || Bug ID 1956374 - Removal of Duplicate Program Units from OSS.
99 || Changed the reference of "IGS_PS_VAL_USR.RULP_VAL_RUL_SRC" to program unit "IGS_FI_VAL_FDFR.RULP_VAL_RUL_SRC". -- kdande
100 */
101 IF IGS_FI_VAL_FDFR.rulp_val_rul_src(
102 new_references.s_rule_call_cd,
103 'USET',
104 new_references.rul_sequence_number,
105 v_message_name) = FALSE THEN
106 Fnd_Message.Set_Name('IGS', v_message_name);
107 IGS_GE_MSG_STACK.ADD;
108 App_Exception.Raise_Exception;
109 END IF;
110 END IF;
111
112
113 END BeforeRowInsertUpdateDelete1;
114
115
116 PROCEDURE Check_Constraints(
117 Column_Name in Varchar2 Default NULL,
118 Column_Value in Varchar2 default NULL
119 )
120 AS
121 Begin
122
123 IF column_name is null then
124 NULL;
125 ELSIF upper(column_name) = 'S_RULE_CALL_CD' THEN
126 new_references.s_rule_call_cd := column_value;
127 ELSIF upper(column_name) = 'RUL_SEQUENCE_NUMBER' THEN
128 new_references.rul_sequence_number := IGS_GE_NUMBER.TO_NUM(column_value);
129 ELSIF upper(column_name) = 'UNIT_SET_CD' THEN
130 new_references.unit_set_cd := column_value;
131 END IF;
132
133
134 IF upper(column_name) = 'S_RULE_CALL_CD' OR
135 Column_name is null THEN
136 IF new_references.s_rule_call_cd <> UPPER(new_references.s_rule_call_cd) 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
143 IF upper(column_name) = 'RUL_SEQUENCE_NUMBER' OR
144 Column_name is null THEN
145 IF new_references.rul_sequence_number NOT BETWEEN 0 AND 999999 THEN
146 Fnd_Message.Set_Name ('IGS','IGS_GE_INVALID_VALUE');
147 IGS_GE_MSG_STACK.ADD;
148 App_Exception.Raise_Exception;
149 END IF;
150 END IF;
151
152 IF upper(column_name) = 'UNIT_SET_CD' OR
153 Column_name is null THEN
154 IF new_references.unit_set_cd <> UPPER(new_references.unit_set_cd) THEN
155 Fnd_Message.Set_Name ('IGS','IGS_GE_INVALID_VALUE');
156 IGS_GE_MSG_STACK.ADD;
157 App_Exception.Raise_Exception;
158 END IF;
159 END IF;
160
161 END Check_constraints;
162
163 PROCEDURE Check_Parent_Existance AS
164 BEGIN
165
166 IF (((old_references.rul_sequence_number = new_references.rul_sequence_number)) OR
167 ((new_references.rul_sequence_number IS NULL))) THEN
168 NULL;
169 ELSE
170 IF NOT IGS_RU_RULE_PKG.Get_PK_For_Validation (
171 new_references.rul_sequence_number
172 )Then
173 Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
174 IGS_GE_MSG_STACK.ADD;
175 App_Exception.Raise_Exception;
176 END IF ;
177 END IF;
178
179 IF (((old_references.s_rule_call_cd = new_references.s_rule_call_cd)) OR
180 ((new_references.s_rule_call_cd IS NULL))) THEN
181 NULL;
182 ELSE
183 IF NOT IGS_RU_CALL_PKG.Get_PK_For_Validation (
184 new_references.s_rule_call_cd
185 )Then
186 Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
187 IGS_GE_MSG_STACK.ADD;
188 App_Exception.Raise_Exception;
189 END IF ;
190 END IF;
191
192 IF (((old_references.unit_set_cd = new_references.unit_set_cd) AND
193 (old_references.version_number = new_references.version_number)) OR
194 ((new_references.unit_set_cd IS NULL) OR
195 (new_references.version_number IS NULL))) THEN
196 NULL;
197 ELSE
198 IF NOT IGS_EN_UNIT_SET_PKG.Get_PK_For_Validation (
199 new_references.unit_set_cd,
200 new_references.version_number
201 )Then
202 Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
203 IGS_GE_MSG_STACK.ADD;
204 App_Exception.Raise_Exception;
205 END IF ;
206 END IF;
207
208 END Check_Parent_Existance;
209
210 FUNCTION Get_PK_For_Validation (
211 x_unit_set_cd IN VARCHAR2,
212 x_version_number IN NUMBER,
213 x_s_rule_call_cd IN VARCHAR2
214 ) RETURN BOOLEAN AS
215
216 CURSOR cur_rowid IS
217 SELECT rowid
218 FROM IGS_EN_UNIT_SET_RULE
219 WHERE unit_set_cd = x_unit_set_cd
220 AND version_number = x_version_number
221 AND s_rule_call_cd = x_s_rule_call_cd
222 FOR UPDATE NOWAIT;
223
224 lv_rowid cur_rowid%RowType;
225
226 BEGIN
227
228 Open cur_rowid;
229 Fetch cur_rowid INTO lv_rowid;
230 IF (cur_rowid%FOUND) THEN
231 Close cur_rowid;
232 Return(TRUE);
233 ELSE
234 Close cur_rowid;
235 Return(FALSE);
236 END IF;
237
238 END Get_PK_For_Validation;
239
240 PROCEDURE GET_FK_IGS_RU_RULE (
241 x_sequence_number IN NUMBER
242 ) AS
243
244 CURSOR cur_rowid IS
245 SELECT rowid
246 FROM IGS_EN_UNIT_SET_RULE
247 WHERE rul_sequence_number = x_sequence_number ;
248
249 lv_rowid cur_rowid%RowType;
250
251 BEGIN
252
253 Open cur_rowid;
254 Fetch cur_rowid INTO lv_rowid;
255 IF (cur_rowid%FOUND) THEN
256 Close cur_rowid;
257 Fnd_Message.Set_Name ('IGS', 'IGS_EN_USR_RUL_FK');
258 IGS_GE_MSG_STACK.ADD;
259 App_Exception.Raise_Exception;
260 Return;
261 END IF;
262 Close cur_rowid;
263
264 END GET_FK_IGS_RU_RULE;
265
266 PROCEDURE GET_FK_IGS_RU_CALL (
267 x_s_rule_call_cd IN VARCHAR2
268 ) AS
269
270 CURSOR cur_rowid IS
271 SELECT rowid
272 FROM IGS_EN_UNIT_SET_RULE
273 WHERE s_rule_call_cd = x_s_rule_call_cd ;
274
275 lv_rowid cur_rowid%RowType;
276
277 BEGIN
278
279 Open cur_rowid;
280 Fetch cur_rowid INTO lv_rowid;
281 IF (cur_rowid%FOUND) THEN
282 Close cur_rowid;
283 Fnd_Message.Set_Name ('IGS', 'IGS_EN_USR_SRC_FK');
284 IGS_GE_MSG_STACK.ADD;
285 App_Exception.Raise_Exception;
286 Return;
287 END IF;
288 Close cur_rowid;
289
290 END GET_FK_IGS_RU_CALL;
291
292 PROCEDURE GET_FK_IGS_EN_UNIT_SET (
293 x_unit_set_cd IN VARCHAR2,
294 x_version_number IN NUMBER
295 )AS
296
297 CURSOR cur_rowid IS
298 SELECT rowid
299 FROM IGS_EN_UNIT_SET_RULE
300 WHERE unit_set_cd = x_unit_set_cd
301 AND version_number = x_version_number ;
302
303 lv_rowid cur_rowid%RowType;
304
305 BEGIN
306
307 Open cur_rowid;
308 Fetch cur_rowid INTO lv_rowid;
309 IF (cur_rowid%FOUND) THEN
310 Close cur_rowid;
311 Fnd_Message.Set_Name ('IGS', 'IGS_EN_USR_US_FK');
312 IGS_GE_MSG_STACK.ADD;
313 App_Exception.Raise_Exception;
314 Return;
315 END IF;
316 Close cur_rowid;
317
318 END GET_FK_IGS_EN_UNIT_SET;
319
320 PROCEDURE Before_DML (
321 p_action IN VARCHAR2,
322 x_rowid IN VARCHAR2 DEFAULT NULL,
323 x_unit_set_cd IN VARCHAR2 DEFAULT NULL,
324 x_version_number IN NUMBER DEFAULT NULL,
325 x_s_rule_call_cd IN VARCHAR2 DEFAULT NULL,
326 x_rul_sequence_number IN NUMBER DEFAULT NULL,
327 x_creation_date IN DATE DEFAULT NULL,
328 x_created_by IN NUMBER DEFAULT NULL,
329 x_last_update_date IN DATE DEFAULT NULL,
330 x_last_updated_by IN NUMBER DEFAULT NULL,
331 x_last_update_login IN NUMBER DEFAULT NULL
332 ) AS
333 BEGIN
334
335 Set_Column_Values (
336 p_action,
337 x_rowid,
338 x_unit_set_cd,
339 x_version_number,
340 x_s_rule_call_cd,
341 x_rul_sequence_number,
342 x_creation_date,
343 x_created_by,
344 x_last_update_date,
345 x_last_updated_by,
346 x_last_update_login
347 );
348
349 IF (p_action = 'INSERT') THEN
350 -- Call all the procedures related to Before Insert.
351 BeforeRowInsertUpdateDelete1 ( p_inserting => TRUE );
352 If Get_PK_For_Validation(
353 new_references.unit_set_cd ,
354 new_references.version_number ,
355 new_references.s_rule_call_cd
356 ) THEN
357 FND_Message.Set_Name('IGS','IGS_GE_RECORD_ALREADY_EXISTS');
358 IGS_GE_MSG_STACK.ADD;
359 App_Exception.Raise_Exception;
360 END if;
361 Check_constraints;
362 Check_Parent_Existance;
363 ELSIF (p_action = 'UPDATE') THEN
364 -- Call all the procedures related to Before Update.
365 BeforeRowInsertUpdateDelete1 ( p_updating => TRUE );
366 Check_constraints;
367 Check_Parent_Existance;
368 ELSIF (p_action = 'DELETE') THEN
369 -- Call all the procedures related to Before Delete.
370 BeforeRowInsertUpdateDelete1 ( p_deleting => TRUE );
371 ELSIF (p_action = 'VALIDATE_INSERT') THEN
372 If Get_PK_For_Validation(
373 new_references.unit_set_cd ,
374 new_references.version_number ,
375 new_references.s_rule_call_cd
376 ) THEN
377 FND_Message.Set_Name('IGS','IGS_GE_RECORD_ALREADY_EXISTS');
378 IGS_GE_MSG_STACK.ADD;
379 App_Exception.Raise_Exception;
380 END if;
381 Check_constraints;
382 ELSIF (p_action = 'VALIDATE_UPDATE') THEN
383 Check_constraints;
384 ELSIF (p_action = 'VALIDATE_DELETE') THEN
385 null;
386 END IF;
387
388 END Before_DML;
389
390 PROCEDURE After_DML (
391 p_action IN VARCHAR2,
392 x_rowid IN VARCHAR2
393 ) AS
394 BEGIN
395
396 l_rowid := x_rowid;
397
398 IF (p_action = 'INSERT') THEN
399 -- Call all the procedures related to After Insert.
400 Null;
401 ELSIF (p_action = 'UPDATE') THEN
402 -- Call all the procedures related to After Update.
403 Null;
404 ELSIF (p_action = 'DELETE') THEN
405 -- Call all the procedures related to After Delete.
406 Null;
407 END IF;
408
409 END After_DML;
410
411 procedure INSERT_ROW (
412 X_ROWID in out NOCOPY VARCHAR2,
413 X_UNIT_SET_CD in VARCHAR2,
414 X_VERSION_NUMBER in NUMBER,
415 X_S_RULE_CALL_CD in VARCHAR2,
416 X_RUL_SEQUENCE_NUMBER in NUMBER,
417 X_MODE in VARCHAR2 default 'R'
418 ) AS
419 cursor C is select ROWID from IGS_EN_UNIT_SET_RULE
420 where UNIT_SET_CD = X_UNIT_SET_CD
421 and VERSION_NUMBER = X_VERSION_NUMBER
422 and S_RULE_CALL_CD = X_S_RULE_CALL_CD;
423 X_LAST_UPDATE_DATE DATE;
424 X_LAST_UPDATED_BY NUMBER;
425 X_LAST_UPDATE_LOGIN NUMBER;
426 begin
427 X_LAST_UPDATE_DATE := SYSDATE;
428 if(X_MODE = 'I') then
429 X_LAST_UPDATED_BY := 1;
430 X_LAST_UPDATE_LOGIN := 0;
431 elsif (X_MODE = 'R') then
432 X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
433 if X_LAST_UPDATED_BY is NULL then
434 X_LAST_UPDATED_BY := -1;
435 end if;
436 X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
437 if X_LAST_UPDATE_LOGIN is NULL then
438 X_LAST_UPDATE_LOGIN := -1;
439 end if;
440 else
441 FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
442 IGS_GE_MSG_STACK.ADD;
443 app_exception.raise_exception;
444 end if;
445 Before_DML (
446 p_action => 'INSERT',
447 x_rowid => X_ROWID,
448 x_unit_set_cd => X_UNIT_SET_CD,
449 x_version_number => X_VERSION_NUMBER,
450 x_s_rule_call_cd => X_S_RULE_CALL_CD,
451 x_rul_sequence_number => X_RUL_SEQUENCE_NUMBER,
452 x_creation_date => X_LAST_UPDATE_DATE ,
453 x_created_by => X_LAST_UPDATED_BY,
454 x_last_update_date => X_LAST_UPDATE_DATE,
455 x_last_updated_by => X_LAST_UPDATED_BY,
456 x_last_update_login => X_LAST_UPDATE_LOGIN
457 );
458 insert into IGS_EN_UNIT_SET_RULE (
459 UNIT_SET_CD,
460 VERSION_NUMBER,
461 S_RULE_CALL_CD,
462 RUL_SEQUENCE_NUMBER,
463 CREATION_DATE,
464 CREATED_BY,
465 LAST_UPDATE_DATE,
466 LAST_UPDATED_BY,
467 LAST_UPDATE_LOGIN
468 ) values (
469 NEW_REFERENCES.UNIT_SET_CD,
470 NEW_REFERENCES.VERSION_NUMBER,
471 NEW_REFERENCES.S_RULE_CALL_CD,
472 NEW_REFERENCES.RUL_SEQUENCE_NUMBER,
473 X_LAST_UPDATE_DATE,
474 X_LAST_UPDATED_BY,
475 X_LAST_UPDATE_DATE,
476 X_LAST_UPDATED_BY,
477 X_LAST_UPDATE_LOGIN
478 );
479
480 open c;
481 fetch c into X_ROWID;
482 if (c%notfound) then
483 close c;
484 raise no_data_found;
485 end if;
486 close c;
487 After_DML (
488 p_action => 'INSERT',
489 x_rowid => X_ROWID
490 );
491 end INSERT_ROW;
492
493 procedure LOCK_ROW (
494 X_ROWID in VARCHAR2,
495 X_UNIT_SET_CD in VARCHAR2,
496 X_VERSION_NUMBER in NUMBER,
497 X_S_RULE_CALL_CD in VARCHAR2,
498 X_RUL_SEQUENCE_NUMBER in NUMBER
499 ) AS
500 cursor c1 is select
501 RUL_SEQUENCE_NUMBER
502 from IGS_EN_UNIT_SET_RULE
503 where ROWID = X_ROWID
504 for update nowait;
505 tlinfo c1%rowtype;
506
507 begin
508 open c1;
509 fetch c1 into tlinfo;
510 if (c1%notfound) then
511 close c1;
512 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
513 IGS_GE_MSG_STACK.ADD;
514 app_exception.raise_exception;
515 return;
516 end if;
517 close c1;
518
519 if ( (tlinfo.RUL_SEQUENCE_NUMBER = X_RUL_SEQUENCE_NUMBER)
520 ) then
521 null;
522 else
523 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
524 IGS_GE_MSG_STACK.ADD;
525 app_exception.raise_exception;
526 end if;
527 return;
528 end LOCK_ROW;
529
530 procedure UPDATE_ROW (
531 X_ROWID in VARCHAR2,
532 X_UNIT_SET_CD in VARCHAR2,
533 X_VERSION_NUMBER in NUMBER,
534 X_S_RULE_CALL_CD in VARCHAR2,
535 X_RUL_SEQUENCE_NUMBER in NUMBER,
536 X_MODE in VARCHAR2 default 'R'
537 )AS
538 X_LAST_UPDATE_DATE DATE;
539 X_LAST_UPDATED_BY NUMBER;
540 X_LAST_UPDATE_LOGIN NUMBER;
541 begin
542 X_LAST_UPDATE_DATE := SYSDATE;
543 if(X_MODE = 'I') then
544 X_LAST_UPDATED_BY := 1;
545 X_LAST_UPDATE_LOGIN := 0;
546 elsif (X_MODE = 'R') then
547 X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
548 if X_LAST_UPDATED_BY is NULL then
549 X_LAST_UPDATED_BY := -1;
550 end if;
551 X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
552 if X_LAST_UPDATE_LOGIN is NULL then
553 X_LAST_UPDATE_LOGIN := -1;
554 end if;
555 else
556 FND_MESSAGE.SET_NAME('FND', 'SYSTEM-INVALID ARGS');
557 IGS_GE_MSG_STACK.ADD;
558 app_exception.raise_exception;
559 end if;
560 Before_DML (
561 p_action => 'UPDATE',
562 x_rowid => X_ROWID,
563 x_unit_set_cd => X_UNIT_SET_CD,
564 x_version_number => X_VERSION_NUMBER,
565 x_s_rule_call_cd => X_S_RULE_CALL_CD,
566 x_rul_sequence_number => X_RUL_SEQUENCE_NUMBER,
567 x_creation_date => X_LAST_UPDATE_DATE ,
568 x_created_by => X_LAST_UPDATED_BY,
569 x_last_update_date => X_LAST_UPDATE_DATE,
570 x_last_updated_by => X_LAST_UPDATED_BY,
571 x_last_update_login => X_LAST_UPDATE_LOGIN
572 );
573 update IGS_EN_UNIT_SET_RULE set
574 RUL_SEQUENCE_NUMBER = NEW_REFERENCES.RUL_SEQUENCE_NUMBER,
575 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
576 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
577 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
578 where ROWID = X_ROWID
579 ;
580 if (sql%notfound) then
581 raise no_data_found;
582 end if;
583 After_DML (
584 p_action => 'UPDATE',
585 x_rowid => X_ROWID
586 );
587 end UPDATE_ROW;
588
589 procedure ADD_ROW (
590 X_ROWID in out NOCOPY VARCHAR2,
591 X_UNIT_SET_CD in VARCHAR2,
592 X_VERSION_NUMBER in NUMBER,
593 X_S_RULE_CALL_CD in VARCHAR2,
594 X_RUL_SEQUENCE_NUMBER in NUMBER,
595 X_MODE in VARCHAR2 default 'R'
596 ) AS
597 cursor c1 is select rowid from IGS_EN_UNIT_SET_RULE
598 where UNIT_SET_CD = X_UNIT_SET_CD
599 and VERSION_NUMBER = X_VERSION_NUMBER
600 and S_RULE_CALL_CD = X_S_RULE_CALL_CD
601 ;
602 begin
603 open c1;
604 fetch c1 into X_ROWID;
605 if (c1%notfound) then
606 close c1;
607 INSERT_ROW (
608 X_ROWID,
609 X_UNIT_SET_CD,
610 X_VERSION_NUMBER,
611 X_S_RULE_CALL_CD,
612 X_RUL_SEQUENCE_NUMBER,
613 X_MODE);
614 return;
615 end if;
616 close c1;
617 UPDATE_ROW (
618 X_ROWID,
619 X_UNIT_SET_CD,
620 X_VERSION_NUMBER,
621 X_S_RULE_CALL_CD,
622 X_RUL_SEQUENCE_NUMBER,
623 X_MODE);
624 end ADD_ROW;
625
626 procedure DELETE_ROW (
627 X_ROWID in VARCHAR2
628 ) AS
629 begin
630 Before_DML (
631 p_action => 'DELETE',
632 x_rowid => X_ROWID
633 );
634 delete from IGS_EN_UNIT_SET_RULE
635 where ROWID = X_ROWID;
636 if (sql%notfound) then
637 raise no_data_found;
638 end if;
639 After_DML (
640 p_action => 'DELETE',
641 x_rowid => X_ROWID
642 );
643 end DELETE_ROW;
644
645 end IGS_EN_UNIT_SET_RULE_PKG;