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