[Home] [Help]
PACKAGE BODY: APPS.IGS_PS_UNT_OFR_PAT_N_PKG
Source
1 package body IGS_PS_UNT_OFR_PAT_N_PKG as
2 /* $Header: IGSPI86B.pls 115.4 2002/11/29 02:40:22 nsidana ship $ */
3
4 l_rowid VARCHAR2(25);
5 old_references IGS_PS_UNT_OFR_PAT_N%RowType;
6 new_references IGS_PS_UNT_OFR_PAT_N%RowType;
7
8 PROCEDURE Set_Column_Values (
9 p_action IN VARCHAR2,
10 x_rowid IN VARCHAR2 DEFAULT NULL,
11 x_unit_cd IN VARCHAR2 DEFAULT NULL,
12 x_version_number IN NUMBER DEFAULT NULL,
13 x_cal_type IN VARCHAR2 DEFAULT NULL,
14 x_ci_sequence_number IN NUMBER DEFAULT NULL,
15 x_reference_number IN NUMBER DEFAULT NULL,
16 x_crs_note_type IN VARCHAR2 DEFAULT NULL,
17 x_creation_date IN DATE DEFAULT NULL,
18 x_created_by IN NUMBER DEFAULT NULL,
19 x_last_update_date IN DATE DEFAULT NULL,
20 x_last_updated_by IN NUMBER DEFAULT NULL,
21 x_last_update_login IN NUMBER DEFAULT NULL
22 ) AS
23
24 CURSOR cur_old_ref_values IS
25 SELECT *
26 FROM IGS_PS_UNT_OFR_PAT_N
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.unit_cd := x_unit_cd;
48 new_references.version_number := x_version_number;
49 new_references.cal_type := x_cal_type;
50 new_references.ci_sequence_number := x_ci_sequence_number;
51 new_references.reference_number := x_reference_number;
52 new_references.crs_note_type := x_crs_note_type;
53 IF (p_action = 'UPDATE') THEN
54 new_references.creation_date := old_references.creation_date;
55 new_references.created_by := old_references.created_by;
56 ELSE
57 new_references.creation_date := x_creation_date;
58 new_references.created_by := x_created_by;
59 END IF;
60 new_references.last_update_date := x_last_update_date;
61 new_references.last_updated_by := x_last_updated_by;
62 new_references.last_update_login := x_last_update_login;
63
64 END Set_Column_Values;
65
66 PROCEDURE Check_Constraints(
67 Column_Name IN VARCHAR2 DEFAULT NULL,
68 Column_Value IN VARCHAR2 DEFAULT NULL)
69 AS
70 BEGIN
71
72 IF Column_Name IS NULL Then
73 NULL;
74 ELSIF Upper(Column_Name)='CAL_TYPE' Then
75 New_References.Cal_Type := Column_Value;
76 ELSIF Upper(Column_Name)='CRS_NOTE_TYPE' Then
77 New_References.Crs_Note_Type := Column_Value;
78 ELSIF Upper(Column_Name)='UNIT_CD' Then
79 New_References.Unit_Cd := Column_Value;
80 END IF;
81
82 IF Upper(Column_Name)='CAL_TYPE' OR Column_Name IS NULL Then
83 IF New_References.Cal_Type <> UPPER(New_References.Cal_Type) Then
84 Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
85 IGS_GE_MSG_STACK.ADD;
86 App_Exception.Raise_Exception;
87 END IF;
88 END IF;
89
90 IF Upper(Column_Name)='CRS_NOTE_TYPE' OR Column_Name IS NULL Then
91 IF New_References.Crs_Note_Type <> UPPER(New_References.Crs_Note_Type) Then
92 Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
93 IGS_GE_MSG_STACK.ADD;
94 App_Exception.Raise_Exception;
95 END IF;
96 END IF;
97
98
99 IF Upper(Column_Name)='UNIT_CD' OR Column_Name IS NULL Then
100 IF New_References.Unit_Cd <> UPPER(New_References.Unit_CD) Then
101 Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
102 IGS_GE_MSG_STACK.ADD;
103 App_Exception.Raise_Exception;
104 END IF;
105 END IF;
106
107 END Check_Constraints;
108
109
110 PROCEDURE Check_Parent_Existance AS
111 BEGIN
112
113 IF (((old_references.crs_note_type = new_references.crs_note_type)) OR
114 ((new_references.crs_note_type IS NULL))) THEN
115 NULL;
116 ELSE
117 IF NOT IGS_PS_NOTE_TYPE_PKG.Get_PK_For_Validation (
118 new_references.crs_note_type) THEN
119 Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
120 IGS_GE_MSG_STACK.ADD;
121 App_Exception.Raise_Exception;
122 END IF;
123
124 END IF;
125
126 IF (((old_references.reference_number = new_references.reference_number)) OR
127 ((new_references.reference_number IS NULL))) THEN
128 NULL;
129 ELSE
130 IF NOT IGS_GE_NOTE_PKG.Get_PK_For_Validation (
131 new_references.reference_number) THEN
132 Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
133 IGS_GE_MSG_STACK.ADD;
134 App_Exception.Raise_Exception;
135 END IF;
136
137 END IF;
138
139 IF (((old_references.unit_cd = new_references.unit_cd) AND
140 (old_references.version_number = new_references.version_number) AND
141 (old_references.cal_type = new_references.cal_type) AND
142 (old_references.ci_sequence_number = new_references.ci_sequence_number)) OR
143 ((new_references.unit_cd IS NULL) OR
144 (new_references.version_number IS NULL) OR
145 (new_references.cal_type IS NULL) OR
146 (new_references.ci_sequence_number IS NULL))) THEN
147 NULL;
148 ELSE
149 IF NOT IGS_PS_UNIT_OFR_PAT_PKG.Get_PK_For_Validation (
150 new_references.unit_cd,
151 new_references.version_number,
152 new_references.cal_type,
153 new_references.ci_sequence_number) THEN
154 Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
155 IGS_GE_MSG_STACK.ADD;
156 App_Exception.Raise_Exception;
157 END IF;
158
159 END IF;
160
161 END Check_Parent_Existance;
162
163 FUNCTION Get_PK_For_Validation (
164 x_unit_cd IN VARCHAR2,
165 x_version_number IN NUMBER,
166 x_cal_type IN VARCHAR2,
167 x_ci_sequence_number IN NUMBER,
168 x_reference_number IN NUMBER
169 ) RETURN BOOLEAN AS
170
171 CURSOR cur_rowid IS
172 SELECT rowid
173 FROM IGS_PS_UNT_OFR_PAT_N
174 WHERE unit_cd = x_unit_cd
175 AND version_number = x_version_number
176 AND cal_type = x_cal_type
177 AND ci_sequence_number = x_ci_sequence_number
178 AND reference_number = x_reference_number
179 FOR UPDATE NOWAIT;
180
181 lv_rowid cur_rowid%RowType;
182
183 BEGIN
184
185 Open cur_rowid;
186 Fetch cur_rowid INTO lv_rowid;
187 IF (cur_rowid%FOUND) THEN
188 Close cur_rowid;
189 Return(TRUE);
190 ELSE
191 Close cur_rowid;
192 Return(FALSE);
193 END IF;
194
195 END Get_PK_For_Validation;
196
197 PROCEDURE GET_FK_IGS_PS_NOTE_TYPE (
198 x_crs_note_type IN VARCHAR2
199 ) AS
200
201 CURSOR cur_rowid IS
202 SELECT rowid
203 FROM IGS_PS_UNT_OFR_PAT_N
204 WHERE crs_note_type = x_crs_note_type ;
205
206 lv_rowid cur_rowid%RowType;
207
208 BEGIN
209
210 Open cur_rowid;
211 Fetch cur_rowid INTO lv_rowid;
212 IF (cur_rowid%FOUND) THEN
213 Close cur_rowid;
214 Fnd_Message.Set_Name ('IGS', 'IGS_PS_UOPN_CNT_FK');
215 IGS_GE_MSG_STACK.ADD;
216 App_Exception.Raise_Exception;
217 Return;
218 END IF;
219 Close cur_rowid;
220
221 END GET_FK_IGS_PS_NOTE_TYPE;
222
223 PROCEDURE GET_FK_IGS_GE_NOTE (
224 x_reference_number IN NUMBER
225 ) AS
226
227 CURSOR cur_rowid IS
228 SELECT rowid
229 FROM IGS_PS_UNT_OFR_PAT_N
230 WHERE reference_number = x_reference_number ;
231
232 lv_rowid cur_rowid%RowType;
233
234 BEGIN
235
236 Open cur_rowid;
237 Fetch cur_rowid INTO lv_rowid;
238 IF (cur_rowid%FOUND) THEN
239 Close cur_rowid;
240 Fnd_Message.Set_Name ('IGS', 'IGS_PS_UOPN_NOTE_FK');
241 IGS_GE_MSG_STACK.ADD;
242 App_Exception.Raise_Exception;
243 Return;
244 END IF;
245 Close cur_rowid;
246
247 END GET_FK_IGS_GE_NOTE;
248
249 PROCEDURE GET_FK_IGS_PS_UNIT_OFR_PAT (
250 x_unit_cd IN VARCHAR2,
251 x_version_number IN NUMBER,
252 x_cal_type IN VARCHAR2,
253 x_ci_sequence_number IN NUMBER
254 ) AS
255
256 CURSOR cur_rowid IS
257 SELECT rowid
258 FROM IGS_PS_UNT_OFR_PAT_N
259 WHERE unit_cd = x_unit_cd
260 AND version_number = x_version_number
261 AND cal_type = x_cal_type
262 AND ci_sequence_number = x_ci_sequence_number ;
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_PS_UOPN_UOP_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_PS_UNIT_OFR_PAT;
280
281 PROCEDURE Before_DML (
282 p_action IN VARCHAR2,
283 x_rowid IN VARCHAR2 DEFAULT NULL,
284 x_unit_cd IN VARCHAR2 DEFAULT NULL,
285 x_version_number IN NUMBER DEFAULT NULL,
286 x_cal_type IN VARCHAR2 DEFAULT NULL,
287 x_ci_sequence_number IN NUMBER DEFAULT NULL,
288 x_reference_number IN NUMBER DEFAULT NULL,
289 x_crs_note_type IN VARCHAR2 DEFAULT NULL,
290 x_creation_date IN DATE DEFAULT NULL,
291 x_created_by IN NUMBER DEFAULT NULL,
292 x_last_update_date IN DATE DEFAULT NULL,
293 x_last_updated_by IN NUMBER DEFAULT NULL,
294 x_last_update_login IN NUMBER DEFAULT NULL
295 ) AS
296 BEGIN
297
298 Set_Column_Values (
299 p_action,
300 x_rowid,
301 x_unit_cd,
302 x_version_number,
303 x_cal_type,
304 x_ci_sequence_number,
305 x_reference_number,
306 x_crs_note_type,
307 x_creation_date,
308 x_created_by,
309 x_last_update_date,
310 x_last_updated_by,
311 x_last_update_login
312 );
313
314 IF (p_action = 'INSERT') THEN
315 -- Call all the procedures related to Before Insert.
316 IF Get_PK_For_Validation (New_References.unit_cd,
317 New_References.version_number,
318 New_References.cal_type,
319 New_References.ci_sequence_number,
320 New_References.reference_number) THEN
321 Fnd_Message.Set_Name ('IGS', 'IGS_GE_RECORD_ALREADY_EXISTS');
322 IGS_GE_MSG_STACK.ADD;
323 App_Exception.Raise_Exception;
324 END IF;
325 Check_Constraints;
326 Check_Parent_Existance;
327 ELSIF (p_action = 'UPDATE') THEN
328 -- Call all the procedures related to Before Update.
329 Check_Constraints;
330 Check_Parent_Existance;
331
332 ELSIF (p_action = 'VALIDATE_INSERT') THEN
333 IF Get_PK_For_Validation (New_References.unit_cd,
334 New_References.version_number,
335 New_References.cal_type,
336 New_References.ci_sequence_number,
337 New_References.reference_number) THEN
338 Fnd_Message.Set_Name ('IGS', 'IGS_GE_RECORD_ALREADY_EXISTS');
339 IGS_GE_MSG_STACK.ADD;
340 App_Exception.Raise_Exception;
341 END IF;
342 Check_Constraints;
343 ELSIF (p_action = 'VALIDATE_UPDATE') THEN
344 Check_Constraints;
345
346 END IF;
347
348 END Before_DML;
349
350 PROCEDURE After_DML (
351 p_action IN VARCHAR2,
352 x_rowid IN VARCHAR2
353 ) AS
354 BEGIN
355
356 l_rowid := x_rowid;
357
358
359 END After_DML;
360
361 procedure INSERT_ROW (
362 X_ROWID in out NOCOPY VARCHAR2,
363 X_UNIT_CD in VARCHAR2,
364 X_REFERENCE_NUMBER in NUMBER,
365 X_VERSION_NUMBER in NUMBER,
366 X_CAL_TYPE in VARCHAR2,
367 X_CI_SEQUENCE_NUMBER in NUMBER,
368 X_CRS_NOTE_TYPE in VARCHAR2,
369 X_MODE in VARCHAR2 default 'R'
370 ) AS
371 cursor C is select ROWID from IGS_PS_UNT_OFR_PAT_N
372 where UNIT_CD = X_UNIT_CD
373 and REFERENCE_NUMBER = X_REFERENCE_NUMBER
374 and VERSION_NUMBER = X_VERSION_NUMBER
375 and CAL_TYPE = X_CAL_TYPE
376 and CI_SEQUENCE_NUMBER = X_CI_SEQUENCE_NUMBER;
377 X_LAST_UPDATE_DATE DATE;
378 X_LAST_UPDATED_BY NUMBER;
379 X_LAST_UPDATE_LOGIN NUMBER;
380 begin
381 X_LAST_UPDATE_DATE := SYSDATE;
382 if(X_MODE = 'I') then
383 X_LAST_UPDATED_BY := 1;
384 X_LAST_UPDATE_LOGIN := 0;
385 elsif (X_MODE = 'R') then
386 X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
387 if X_LAST_UPDATED_BY is NULL then
388 X_LAST_UPDATED_BY := -1;
389 end if;
390 X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
391 if X_LAST_UPDATE_LOGIN is NULL then
392 X_LAST_UPDATE_LOGIN := -1;
393 end if;
394 else
395 FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
396 IGS_GE_MSG_STACK.ADD;
397 app_exception.raise_exception;
398 end if;
399
400 Before_DML(
401 p_action => 'INSERT',
402 x_rowid => X_ROWID,
403 x_unit_cd => X_UNIT_CD,
404 x_version_number => X_VERSION_NUMBER,
405 x_cal_type => X_CAL_TYPE,
406 x_ci_sequence_number => X_CI_SEQUENCE_NUMBER,
407 x_reference_number => X_REFERENCE_NUMBER,
408 x_crs_note_type => X_CRS_NOTE_TYPE,
409 x_creation_date => X_LAST_UPDATE_DATE,
410 x_created_by => X_LAST_UPDATED_BY,
411 x_last_update_date => X_LAST_UPDATE_DATE,
412 x_last_updated_by => X_LAST_UPDATED_BY,
413 x_last_update_login => X_LAST_UPDATE_LOGIN
414 );
415
416 insert into IGS_PS_UNT_OFR_PAT_N (
417 UNIT_CD,
418 VERSION_NUMBER,
419 CAL_TYPE,
420 CI_SEQUENCE_NUMBER,
421 REFERENCE_NUMBER,
422 CRS_NOTE_TYPE,
423 CREATION_DATE,
424 CREATED_BY,
425 LAST_UPDATE_DATE,
426 LAST_UPDATED_BY,
427 LAST_UPDATE_LOGIN
428 ) values (
429 NEW_REFERENCES.UNIT_CD,
430 NEW_REFERENCES.VERSION_NUMBER,
431 NEW_REFERENCES.CAL_TYPE,
432 NEW_REFERENCES.CI_SEQUENCE_NUMBER,
433 NEW_REFERENCES.REFERENCE_NUMBER,
434 NEW_REFERENCES.CRS_NOTE_TYPE,
435 X_LAST_UPDATE_DATE,
436 X_LAST_UPDATED_BY,
437 X_LAST_UPDATE_DATE,
438 X_LAST_UPDATED_BY,
439 X_LAST_UPDATE_LOGIN
440 );
441
442 open c;
443 fetch c into X_ROWID;
444 if (c%notfound) then
445 close c;
446 raise no_data_found;
447 end if;
448 close c;
449 After_DML (
450 p_action => 'INSERT',
451 x_rowid => X_ROWID
452 );
453
454
455 end INSERT_ROW;
456
457 procedure LOCK_ROW (
458 X_ROWID in VARCHAR2,
459 X_UNIT_CD in VARCHAR2,
460 X_REFERENCE_NUMBER in NUMBER,
461 X_VERSION_NUMBER in NUMBER,
462 X_CAL_TYPE in VARCHAR2,
463 X_CI_SEQUENCE_NUMBER in NUMBER,
464 X_CRS_NOTE_TYPE in VARCHAR2
465 ) AS
466 cursor c1 is select
467 CRS_NOTE_TYPE
468 from IGS_PS_UNT_OFR_PAT_N
469 where ROWID = X_ROWID for update nowait;
470 tlinfo c1%rowtype;
471
472 begin
473 open c1;
474 fetch c1 into tlinfo;
475 if (c1%notfound) then
476 close c1;
477 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
478 IGS_GE_MSG_STACK.ADD;
479 app_exception.raise_exception;
480 return;
481 end if;
482 close c1;
483
484 if ( (tlinfo.CRS_NOTE_TYPE = X_CRS_NOTE_TYPE)
485 ) then
486 null;
487 else
488 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
489 IGS_GE_MSG_STACK.ADD;
490 app_exception.raise_exception;
491 end if;
492 return;
493 end LOCK_ROW;
494
495 procedure UPDATE_ROW (
496 X_ROWID in VARCHAR2,
497 X_UNIT_CD in VARCHAR2,
498 X_REFERENCE_NUMBER in NUMBER,
499 X_VERSION_NUMBER in NUMBER,
500 X_CAL_TYPE in VARCHAR2,
501 X_CI_SEQUENCE_NUMBER in NUMBER,
502 X_CRS_NOTE_TYPE in VARCHAR2,
503 X_MODE in VARCHAR2 default 'R'
504 ) AS
505 X_LAST_UPDATE_DATE DATE;
506 X_LAST_UPDATED_BY NUMBER;
507 X_LAST_UPDATE_LOGIN NUMBER;
508 begin
509 X_LAST_UPDATE_DATE := SYSDATE;
510 if(X_MODE = 'I') then
511 X_LAST_UPDATED_BY := 1;
512 X_LAST_UPDATE_LOGIN := 0;
513 elsif (X_MODE = 'R') then
514 X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
515 if X_LAST_UPDATED_BY is NULL then
516 X_LAST_UPDATED_BY := -1;
517 end if;
518 X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
519 if X_LAST_UPDATE_LOGIN is NULL then
520 X_LAST_UPDATE_LOGIN := -1;
521 end if;
522 else
523 FND_MESSAGE.SET_NAME('FND', 'SYSTEM-INVALID ARGS');
524 IGS_GE_MSG_STACK.ADD;
525 app_exception.raise_exception;
526 end if;
527
528 Before_DML(
529 p_action => 'UPDATE',
530 x_rowid => X_ROWID,
531 x_unit_cd => X_UNIT_CD,
532 x_version_number => X_VERSION_NUMBER,
533 x_cal_type => X_CAL_TYPE,
534 x_ci_sequence_number => X_CI_SEQUENCE_NUMBER,
535 x_reference_number => X_REFERENCE_NUMBER,
536 x_crs_note_type => X_CRS_NOTE_TYPE,
537 x_creation_date => X_LAST_UPDATE_DATE,
538 x_created_by => X_LAST_UPDATED_BY,
539 x_last_update_date => X_LAST_UPDATE_DATE,
540 x_last_updated_by => X_LAST_UPDATED_BY,
541 x_last_update_login => X_LAST_UPDATE_LOGIN
542 );
543 update IGS_PS_UNT_OFR_PAT_N set
544 CRS_NOTE_TYPE = NEW_REFERENCES.CRS_NOTE_TYPE,
545 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
546 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
547 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
548 where ROWID = X_ROWID
549 ;
550 if (sql%notfound) then
551 raise no_data_found;
552 end if;
553 After_DML (
554 p_action => 'UPDATE',
555 x_rowid => X_ROWID
556 );
557 end UPDATE_ROW;
558
559 procedure ADD_ROW (
560 X_ROWID in out NOCOPY VARCHAR2,
561 X_UNIT_CD in VARCHAR2,
562 X_REFERENCE_NUMBER in NUMBER,
563 X_VERSION_NUMBER in NUMBER,
564 X_CAL_TYPE in VARCHAR2,
565 X_CI_SEQUENCE_NUMBER in NUMBER,
566 X_CRS_NOTE_TYPE in VARCHAR2,
567 X_MODE in VARCHAR2 default 'R'
568 ) AS
569 cursor c1 is select rowid from IGS_PS_UNT_OFR_PAT_N
570 where UNIT_CD = X_UNIT_CD
571 and REFERENCE_NUMBER = X_REFERENCE_NUMBER
572 and VERSION_NUMBER = X_VERSION_NUMBER
573 and CAL_TYPE = X_CAL_TYPE
574 and CI_SEQUENCE_NUMBER = X_CI_SEQUENCE_NUMBER
575 ;
576 begin
577 open c1;
578 fetch c1 into X_ROWID;
579 if (c1%notfound) then
580 close c1;
581 INSERT_ROW (
582 X_ROWID,
583 X_UNIT_CD,
584 X_REFERENCE_NUMBER,
585 X_VERSION_NUMBER,
586 X_CAL_TYPE,
587 X_CI_SEQUENCE_NUMBER,
588 X_CRS_NOTE_TYPE,
589 X_MODE);
590 return;
591 end if;
592 close c1;
593 UPDATE_ROW (
594 X_ROWID,
595 X_UNIT_CD,
596 X_REFERENCE_NUMBER,
597 X_VERSION_NUMBER,
598 X_CAL_TYPE,
599 X_CI_SEQUENCE_NUMBER,
600 X_CRS_NOTE_TYPE,
601 X_MODE);
602 end ADD_ROW;
603
604 procedure DELETE_ROW (
605 X_ROWID in VARCHAR2
606 ) AS
607 begin
608 Before_DML (
609 p_action => 'DELETE',
610 x_rowid => X_ROWID
611 );
612 delete from IGS_PS_UNT_OFR_PAT_N
613 where ROWID = X_ROWID;
614 if (sql%notfound) then
615 raise no_data_found;
616 end if;
617 After_DML (
618 p_action => 'DELETE',
619 x_rowid => X_ROWID
620 );
621
622 end DELETE_ROW;
623
624 end IGS_PS_UNT_OFR_PAT_N_PKG;