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