[Home] [Help]
PACKAGE BODY: APPS.IGS_EN_ATD_TYPE_LOAD_PKG
Source
1 package body IGS_EN_ATD_TYPE_LOAD_PKG AS
2 /* $Header: IGSEI19B.pls 120.1 2005/09/08 14:28:01 appldev noship $ */
3 l_rowid VARCHAR2(25);
4 old_references IGS_EN_ATD_TYPE_LOAD_ALL%RowType;
5 new_references IGS_EN_ATD_TYPE_LOAD_ALL%RowType;
6 PROCEDURE Set_Column_Values (
7 p_action IN VARCHAR2,
8 x_rowid IN VARCHAR2 DEFAULT NULL,
9 x_org_id IN NUMBER DEFAULT NULL,
10 x_cal_type IN VARCHAR2 DEFAULT NULL,
11 x_attendance_type IN VARCHAR2 DEFAULT NULL,
12 x_lower_enr_load_range IN NUMBER DEFAULT NULL,
13 x_upper_enr_load_range IN NUMBER DEFAULT NULL,
14 x_default_eftsu IN NUMBER 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 ) AS
21
22 CURSOR cur_old_ref_values IS
23 SELECT *
24 FROM IGS_EN_ATD_TYPE_LOAD_ALL
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.org_id := x_org_id;
46 new_references.cal_type := x_cal_type;
47 new_references.attendance_type := x_attendance_type;
48 new_references.lower_enr_load_range := x_lower_enr_load_range;
49 new_references.upper_enr_load_range := x_upper_enr_load_range;
50 new_references.default_eftsu := x_default_eftsu;
51 IF (p_action = 'UPDATE') THEN
52 new_references.creation_date := old_references.creation_date;
53 new_references.created_by := old_references.created_by;
54 ELSE
55 new_references.creation_date := x_creation_date;
56 new_references.created_by := x_created_by;
57 END IF;
58 new_references.last_update_date := x_last_update_date;
59 new_references.last_updated_by := x_last_updated_by;
60 new_references.last_update_login := x_last_update_login;
61
62 END Set_Column_Values;
63
64 PROCEDURE BeforeRowInsertUpdate1(
65 p_inserting IN BOOLEAN DEFAULT FALSE,
66 p_updating IN BOOLEAN DEFAULT FALSE,
67 p_deleting IN BOOLEAN DEFAULT FALSE
68 ) AS
69 v_message_name varchar2(30);
70 BEGIN
71 -- Validate that inserts/updates are allowed
72 IF p_inserting OR p_updating THEN
73 IF IGS_AD_VAL_APCOO.CRSP_VAL_ATT_CLOSED(new_references.attendance_type
74 ,v_message_name) = FALSE THEN
75 fnd_message.set_name('IGS',v_message_name);
76 IGS_GE_MSG_STACK.ADD;
77 app_exception.raise_exception;
78 END IF;
79 IF IGS_PS_VAL_ATL.CRSP_VAL_ATL_CAT(new_references.cal_type
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 END IF;
86
87
88 END BeforeRowInsertUpdate1;
89 PROCEDURE AfterRowInsertUpdate2(
90 p_inserting IN BOOLEAN DEFAULT FALSE,
91 p_updating IN BOOLEAN DEFAULT FALSE,
92 p_deleting IN BOOLEAN DEFAULT FALSE
93 ) AS
94 v_message_name varchar2(30);
95 v_rowid_saved BOOLEAN := FALSE;
96 BEGIN
97 -- Validate attendance type load.
98 -- Cannot call crsp_val_atl_range because trigger may be mutating.
99 -- Save the rowid of the current row.
100 -- Perform validation processing on all the rows affected by the statement.
101 -- Validate attendance type load range.
102 IF IGS_PS_VAL_ATL.crsp_val_atl_range (new_references.attendance_type,
103 new_references.cal_type,
104 new_references.lower_enr_load_range,
105 new_references.upper_enr_load_range,
106 v_message_name) = FALSE THEN
107 fnd_message.set_name('IGS',v_message_name);
108 IGS_GE_MSG_STACK.ADD;
109 app_exception.raise_exception;
110 END IF;
111 v_rowid_saved := TRUE;
112 END AfterRowInsertUpdate2;
113
114 procedure Check_constraints(
115 column_name IN VARCHAR2 DEFAULT NULL,
116 column_value IN VARCHAR2 DEFAULT NULL
117 ) AS
118 begin
119 IF column_name is null then
120 NULL;
121 ELSIF upper(column_name) = 'UPPER_ENR_LOAD_RANGE' then
122 new_references.upper_enr_load_range := igs_ge_number.to_num(column_value);
123 ELSIF upper(column_name) = 'LOWER_ENR_LOAD_RANGE' then
124 new_references.lower_enr_load_range := igs_ge_number.to_num(column_value);
125 ELSIF upper(column_name) = 'ATTENDANCE_TYPE' then
126 new_references.attendance_type := column_value;
127 ELSIF upper(column_name) = 'CAL_TYPE' then
128 new_references.cal_type := column_value;
129 END IF;
130
131 IF upper(column_name) = 'UPPER_ENR_LOAD_RANGE' OR
132 column_name is null then
133 if new_references.upper_enr_load_range <0 OR
134 new_references.upper_enr_load_range > 999.999 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) = 'LOWER_ENR_LOAD_RANGE' OR
141 column_name is null then
142 if new_references.lower_enr_load_range<0 OR
143 new_references.lower_enr_load_range >999.999 then
144 Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
145 IGS_GE_MSG_STACK.ADD;
146 App_Exception.Raise_Exception;
147 end if;
148 end if;
149 IF upper(column_name) = 'ATTENDANCE_TYPE' OR
150 column_name is null then
151 if new_references.attendance_type <> upper(new_references.attendance_type) then
152 Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
153 IGS_GE_MSG_STACK.ADD;
154 App_Exception.Raise_Exception;
155 end if;
156 end if;
157 IF upper(column_name) = 'CAL_TYPE' OR
158 column_name is null then
159 if new_references.cal_type <> upper(new_references.cal_type) then
160 Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
161 IGS_GE_MSG_STACK.ADD;
162 App_Exception.Raise_Exception;
163 end if;
164 end if;
165 END check_constraints;
166
167 PROCEDURE Check_Parent_Existance AS
168 BEGIN
169
170 IF (((old_references.attendance_type = new_references.attendance_type)) OR
171 ((new_references.attendance_type IS NULL))) THEN
172 NULL;
173 ELSE
174 IF NOT IGS_EN_ATD_TYPE_PKG.Get_PK_For_Validation (
175 new_references.attendance_type
176 ) THEN
177 Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
178 IGS_GE_MSG_STACK.ADD;
179 App_Exception.Raise_Exception;
180 end if;
181 END IF;
182
183 IF (((old_references.cal_type = new_references.cal_type)) OR
184 ((new_references.cal_type IS NULL))) THEN
185 NULL;
186 ELSE
187 IF NOT IGS_CA_TYPE_PKG.Get_PK_For_Validation (
188 new_references.cal_type
189 ) THEN
190 Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
191 IGS_GE_MSG_STACK.ADD;
192 App_Exception.Raise_Exception;
193 end if;
194 END IF;
195
196 END Check_Parent_Existance;
197
198 FUNCTION Get_PK_For_Validation (
199 x_cal_type IN VARCHAR2,
200 x_attendance_type IN VARCHAR2
201 ) RETURN BOOLEAN AS
202
203 CURSOR cur_rowid IS
204 SELECT rowid
205 FROM IGS_EN_ATD_TYPE_LOAD_ALL
206 WHERE cal_type = x_cal_type
207 AND attendance_type = x_attendance_type
208 FOR UPDATE NOWAIT;
209
210 lv_rowid cur_rowid%RowType;
211
212 BEGIN
213
214 Open cur_rowid;
215 Fetch cur_rowid INTO lv_rowid;
216 IF (cur_rowid%FOUND) THEN
217 Close cur_rowid;
218 return(TRUE);
219 else
220 Close cur_rowid;
221 Return(FALSE);
222 END IF;
223
224 END Get_PK_For_Validation;
225
226 PROCEDURE GET_FK_IGS_EN_ATD_TYPE (
227 x_attendance_type IN VARCHAR2
228 ) AS
229
230 CURSOR cur_rowid IS
231 SELECT rowid
232 FROM IGS_EN_ATD_TYPE_LOAD_ALL
233 WHERE attendance_type = x_attendance_type ;
234
235 lv_rowid cur_rowid%RowType;
236
237 BEGIN
238
239 Open cur_rowid;
240 Fetch cur_rowid INTO lv_rowid;
241 IF (cur_rowid%FOUND) THEN
242 Close cur_rowid;
243 Fnd_Message.Set_Name ('IGS', 'IGS_EN_ATL_ATT_FK');
244 IGS_GE_MSG_STACK.ADD;
245 App_Exception.Raise_Exception;
246 Return;
247 END IF;
248 Close cur_rowid;
249
250 END GET_FK_IGS_EN_ATD_TYPE;
251
252 PROCEDURE GET_FK_IGS_CA_TYPE (
253 x_cal_type IN VARCHAR2
254 )AS
255
256 CURSOR cur_rowid IS
257 SELECT rowid
258 FROM IGS_EN_ATD_TYPE_LOAD_ALL
259 WHERE cal_type = x_cal_type ;
260
261 lv_rowid cur_rowid%RowType;
262
263 BEGIN
264
265 Open cur_rowid;
266 Fetch cur_rowid INTO lv_rowid;
267 IF (cur_rowid%FOUND) THEN
268 Close cur_rowid;
269 Fnd_Message.Set_Name ('IGS', 'IGS_EN_ATL_CAT_FK');
270 IGS_GE_MSG_STACK.ADD;
271 App_Exception.Raise_Exception;
272 Return;
273 END IF;
274 Close cur_rowid;
275
276 END GET_FK_IGS_CA_TYPE;
277 PROCEDURE Before_DML (
278 p_action IN VARCHAR2,
279 x_rowid IN VARCHAR2 DEFAULT NULL,
280 x_org_id IN NUMBER DEFAULT NULL,
281 x_cal_type IN VARCHAR2 DEFAULT NULL,
282 x_attendance_type IN VARCHAR2 DEFAULT NULL,
283 x_lower_enr_load_range IN NUMBER DEFAULT NULL,
284 x_upper_enr_load_range IN NUMBER DEFAULT NULL,
285 x_default_eftsu IN NUMBER DEFAULT NULL,
286 x_creation_date IN DATE DEFAULT NULL,
287 x_created_by IN NUMBER DEFAULT NULL,
288 x_last_update_date IN DATE DEFAULT NULL,
289 x_last_updated_by IN NUMBER DEFAULT NULL,
290 x_last_update_login IN NUMBER DEFAULT NULL
291 ) AS
292 BEGIN
293
294 Set_Column_Values (
295 p_action,
296 x_rowid,
297 x_org_id,
298 x_cal_type,
299 x_attendance_type,
300 x_lower_enr_load_range,
301 x_upper_enr_load_range,
302 x_default_eftsu,
303 x_creation_date,
304 x_created_by,
305 x_last_update_date,
306 x_last_updated_by,
307 x_last_update_login
308 );
309
310 IF (p_action = 'INSERT') THEN
311 -- Call all the procedures related to Before Insert.
312 BeforeRowInsertUpdate1 ( p_inserting => TRUE );
313 IF Get_PK_For_Validation (
314 new_references.cal_type ,
315 new_references.attendance_type
316 ) THEN
317 Fnd_Message.Set_Name ('IGS', 'IGS_GE_MULTI_ORG_DUP_REC');
318 IGS_GE_MSG_STACK.ADD;
319 App_Exception.Raise_Exception;
320 END IF;
321 Check_constraints;
322 Check_Parent_Existance;
323 ELSIF (p_action = 'UPDATE') THEN
324 -- Call all the procedures related to Before Update.
325 BeforeRowInsertUpdate1 ( p_updating => TRUE );
326 Check_constraints;
327 Check_Parent_Existance;
328 ELSIF (p_action = 'DELETE') THEN
329 -- Call all the procedures related to Before Delete.
330 Null;
331 ELSIF (p_action = 'VALIDATE_INSERT') then
332 IF Get_PK_For_Validation (
333 new_references.cal_type ,
334 new_references.attendance_type
335 ) THEN
336 Fnd_Message.Set_Name ('IGS', 'IGS_GE_MULTI_ORG_DUP_REC');
337 IGS_GE_MSG_STACK.ADD;
338 App_Exception.Raise_Exception;
339 END IF;
340 Check_constraints;
341 ELSIF (p_action = 'VALIDATE_UPDATE') THEN
342 Check_constraints;
343 ELSIF (p_action = 'VALIDATE_DELETE') THEN
344 null;
345 END IF;
346
347 END Before_DML;
348
349 PROCEDURE After_DML (
350 p_action IN VARCHAR2,
351 x_rowid IN VARCHAR2
352 ) AS
353 BEGIN
354
355 l_rowid := x_rowid;
356
357 IF (p_action = 'INSERT') THEN
358 -- Call all the procedures related to After Insert.
359 AfterRowInsertUpdate2 ( p_inserting => TRUE );
360 ELSIF (p_action = 'UPDATE') THEN
361 -- Call all the procedures related to After Update.
362 AfterRowInsertUpdate2 ( p_updating => TRUE );
363 ELSIF (p_action = 'DELETE') THEN
364 -- Call all the procedures related to After Delete.
365 Null;
366 END IF;
367
368 END After_DML;
369 procedure INSERT_ROW (
370 X_ROWID in out NOCOPY VARCHAR2,
371 X_ORG_ID in NUMBER,
372 X_CAL_TYPE in VARCHAR2,
373 X_ATTENDANCE_TYPE in VARCHAR2,
374 X_LOWER_ENR_LOAD_RANGE in NUMBER,
375 X_UPPER_ENR_LOAD_RANGE in NUMBER,
376 X_DEFAULT_EFTSU in NUMBER,
377 X_MODE in VARCHAR2 default 'R'
378 ) AS
379 cursor C is select ROWID from IGS_EN_ATD_TYPE_LOAD_ALL
380 where CAL_TYPE = X_CAL_TYPE
381 and ATTENDANCE_TYPE = X_ATTENDANCE_TYPE;
382 X_LAST_UPDATE_DATE DATE;
383 X_LAST_UPDATED_BY NUMBER;
384 X_LAST_UPDATE_LOGIN NUMBER;
385 begin
386 X_LAST_UPDATE_DATE := SYSDATE;
387 if(X_MODE = 'I') then
388 X_LAST_UPDATED_BY := 1;
389 X_LAST_UPDATE_LOGIN := 0;
390 elsif (X_MODE = 'R') then
391 X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
392 if X_LAST_UPDATED_BY is NULL then
393 X_LAST_UPDATED_BY := -1;
394 end if;
395 X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
396 if X_LAST_UPDATE_LOGIN is NULL then
397 X_LAST_UPDATE_LOGIN := -1;
398 end if;
399 else
400 FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
401 IGS_GE_MSG_STACK.ADD;
402 app_exception.raise_exception;
403 end if;
404 Before_DML (
405 p_action => 'INSERT',
406 x_rowid => X_ROWID,
407 x_org_id => igs_ge_gen_003.get_org_id,
408 x_cal_type => X_CAL_TYPE,
409 x_attendance_type => X_ATTENDANCE_TYPE,
410 x_lower_enr_load_range => X_LOWER_ENR_LOAD_RANGE,
411 x_upper_enr_load_range => X_UPPER_ENR_LOAD_RANGE,
412 x_default_eftsu => X_DEFAULT_EFTSU,
413 x_creation_date => X_LAST_UPDATE_DATE,
414 x_created_by => X_LAST_UPDATED_BY,
415 x_last_update_date => X_LAST_UPDATE_DATE,
416 x_last_updated_by => X_LAST_UPDATED_BY,
417 x_last_update_login => X_LAST_UPDATE_LOGIN
418 );
419 insert into IGS_EN_ATD_TYPE_LOAD_ALL (
420 org_id,
421 CAL_TYPE,
422 ATTENDANCE_TYPE,
423 LOWER_ENR_LOAD_RANGE,
424 UPPER_ENR_LOAD_RANGE,
425 DEFAULT_EFTSU,
426 CREATION_DATE,
427 CREATED_BY,
428 LAST_UPDATE_DATE,
429 LAST_UPDATED_BY,
430 LAST_UPDATE_LOGIN
431 ) values (
432 NEW_REFERENCES.ORG_ID,
433 NEW_REFERENCES.CAL_TYPE,
434 NEW_REFERENCES.ATTENDANCE_TYPE,
435 NEW_REFERENCES.LOWER_ENR_LOAD_RANGE,
436 NEW_REFERENCES.UPPER_ENR_LOAD_RANGE,
437 NEW_REFERENCES.DEFAULT_EFTSU,
438 X_LAST_UPDATE_DATE,
439 X_LAST_UPDATED_BY,
440 X_LAST_UPDATE_DATE,
441 X_LAST_UPDATED_BY,
442 X_LAST_UPDATE_LOGIN
443 );
444
445 open c;
446 fetch c into X_ROWID;
447 if (c%notfound) then
448 close c;
449 raise no_data_found;
450 end if;
451 close c;
452
453 After_DML(
454 p_action => 'INSERT',
455 x_rowid => X_ROWID
456 );
457
458 end INSERT_ROW;
459
460 procedure LOCK_ROW (
461 X_ROWID in VARCHAR2,
462 X_CAL_TYPE in VARCHAR2,
463 X_ATTENDANCE_TYPE in VARCHAR2,
464 X_LOWER_ENR_LOAD_RANGE in NUMBER,
465 X_UPPER_ENR_LOAD_RANGE in NUMBER,
466 X_DEFAULT_EFTSU in NUMBER
467 ) AS
468 cursor c1 is select
469 LOWER_ENR_LOAD_RANGE,
470 UPPER_ENR_LOAD_RANGE,
471 DEFAULT_EFTSU
472 from IGS_EN_ATD_TYPE_LOAD_ALL
473 where ROWID = X_ROWID for update nowait;
474 tlinfo c1%rowtype;
475
476 begin
477 open c1;
478 fetch c1 into tlinfo;
479 if (c1%notfound) then
480 close c1;
481 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
482 IGS_GE_MSG_STACK.ADD;
483 app_exception.raise_exception;
484 return;
485 end if;
486 close c1;
487
488 if ( (tlinfo.LOWER_ENR_LOAD_RANGE = X_LOWER_ENR_LOAD_RANGE)
489 AND (tlinfo.UPPER_ENR_LOAD_RANGE = X_UPPER_ENR_LOAD_RANGE)
490 AND ((tlinfo.DEFAULT_EFTSU = X_DEFAULT_EFTSU)
491 OR ((tlinfo.DEFAULT_EFTSU is null)
492 AND (X_DEFAULT_EFTSU is null)))
493 ) then
494 null;
495 else
496 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
497 IGS_GE_MSG_STACK.ADD;
498 app_exception.raise_exception;
499 end if;
500 return;
501 end LOCK_ROW;
502
503 procedure UPDATE_ROW (
504 X_ROWID in VARCHAR2,
505 X_CAL_TYPE in VARCHAR2,
506 X_ATTENDANCE_TYPE in VARCHAR2,
507 X_LOWER_ENR_LOAD_RANGE in NUMBER,
508 X_UPPER_ENR_LOAD_RANGE in NUMBER,
509 X_DEFAULT_EFTSU in NUMBER,
510 X_MODE in VARCHAR2 default 'R'
511 ) AS
512 X_LAST_UPDATE_DATE DATE;
513 X_LAST_UPDATED_BY NUMBER;
514 X_LAST_UPDATE_LOGIN NUMBER;
515 begin
516 X_LAST_UPDATE_DATE := SYSDATE;
517 if(X_MODE = 'I') then
518 X_LAST_UPDATED_BY := 1;
519 X_LAST_UPDATE_LOGIN := 0;
520 elsif (X_MODE = 'R') then
521 X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
522 if X_LAST_UPDATED_BY is NULL then
523 X_LAST_UPDATED_BY := -1;
524 end if;
525 X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
526 if X_LAST_UPDATE_LOGIN is NULL then
527 X_LAST_UPDATE_LOGIN := -1;
528 end if;
529 else
530 FND_MESSAGE.SET_NAME('FND', 'SYSTEM-INVALID ARGS');
531 IGS_GE_MSG_STACK.ADD;
532 app_exception.raise_exception;
533 end if;
534 Before_DML (
535 p_action => 'UPDATE',
536 x_rowid => X_ROWID,
537 x_cal_type => X_CAL_TYPE,
538 x_attendance_type => X_ATTENDANCE_TYPE,
539 x_lower_enr_load_range => X_LOWER_ENR_LOAD_RANGE,
540 x_upper_enr_load_range => X_UPPER_ENR_LOAD_RANGE,
541 x_default_eftsu => X_DEFAULT_EFTSU,
542 x_creation_date => X_LAST_UPDATE_DATE,
543 x_created_by => X_LAST_UPDATED_BY,
544 x_last_update_date => X_LAST_UPDATE_DATE,
545 x_last_updated_by => X_LAST_UPDATED_BY,
546 x_last_update_login => X_LAST_UPDATE_LOGIN
547 );
548 update IGS_EN_ATD_TYPE_LOAD_ALL set
549 LOWER_ENR_LOAD_RANGE = NEW_REFERENCES.LOWER_ENR_LOAD_RANGE,
550 UPPER_ENR_LOAD_RANGE = NEW_REFERENCES.UPPER_ENR_LOAD_RANGE,
551 DEFAULT_EFTSU = NEW_REFERENCES.DEFAULT_EFTSU,
552 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
553 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
554 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
555 where ROWID = X_ROWID;
556 if (sql%notfound) then
557 raise no_data_found;
558 end if;
559
560 After_DML(
561 p_action => 'UPDATE',
562 x_rowid => X_ROWID
563 );
564
565 end UPDATE_ROW;
566
567 procedure ADD_ROW (
568 X_ROWID in out NOCOPY VARCHAR2,
569 X_ORG_ID in NUMBER,
570 X_CAL_TYPE in VARCHAR2,
571 X_ATTENDANCE_TYPE in VARCHAR2,
572 X_LOWER_ENR_LOAD_RANGE in NUMBER,
573 X_UPPER_ENR_LOAD_RANGE in NUMBER,
574 X_DEFAULT_EFTSU in NUMBER,
575 X_MODE in VARCHAR2 default 'R'
576 ) AS
577 cursor c1 is select rowid from IGS_EN_ATD_TYPE_LOAD_ALL
578 where CAL_TYPE = X_CAL_TYPE
579 and ATTENDANCE_TYPE = X_ATTENDANCE_TYPE
580 ;
581
582 begin
583 open c1;
584 fetch c1 into X_ROWID;
585 if (c1%notfound) then
586 close c1;
587 INSERT_ROW (
588 X_ROWID,
589 x_org_id,
590 X_CAL_TYPE,
591 X_ATTENDANCE_TYPE,
592 X_LOWER_ENR_LOAD_RANGE,
593 X_UPPER_ENR_LOAD_RANGE,
594 X_DEFAULT_EFTSU,
595 X_MODE);
596 return;
597 end if;
598 close c1;
599 UPDATE_ROW (
600 X_ROWID,
601 X_CAL_TYPE,
602 X_ATTENDANCE_TYPE,
603 X_LOWER_ENR_LOAD_RANGE,
604 X_UPPER_ENR_LOAD_RANGE,
605 X_DEFAULT_EFTSU,
606 X_MODE);
607 end ADD_ROW;
608
609 procedure DELETE_ROW (X_ROWID in VARCHAR2
610 ) AS
611 begin
612 Before_DML(
613 p_action => 'DELETE',
614 x_rowid => X_ROWID
615 );
616 delete from IGS_EN_ATD_TYPE_LOAD_ALL
617 where ROWID = X_ROWID;
618 if (sql%notfound) then
619 raise no_data_found;
620 end if;
621
622 After_DML(
623 p_action => 'DELETE',
624 x_rowid => X_ROWID
625 );
626
627 end DELETE_ROW;
628
629 end IGS_EN_ATD_TYPE_LOAD_PKG;