[Home] [Help]
PACKAGE BODY: APPS.IGS_AS_GRD_SCH_GRADE_PKG
Source
1 package body IGS_AS_GRD_SCH_GRADE_PKG AS
2 /* $Header: IGSDI21B.pls 120.0 2005/07/05 11:28:46 appldev noship $ */
3 l_rowid VARCHAR2(25);
4 old_references IGS_AS_GRD_SCH_GRADE%RowType;
5 new_references IGS_AS_GRD_SCH_GRADE%RowType;
6 PROCEDURE Set_Column_Values (
7 p_action IN VARCHAR2,
8 x_rowid IN VARCHAR2 DEFAULT NULL,
9 x_dflt_outstanding_ind IN VARCHAR2 DEFAULT NULL,
10 x_external_grade IN VARCHAR2 DEFAULT NULL,
11 x_lower_mark_range IN NUMBER DEFAULT NULL,
12 x_upper_mark_range IN NUMBER DEFAULT NULL,
13 x_min_percentage IN NUMBER DEFAULT NULL,
14 x_max_percentage IN NUMBER DEFAULT NULL,
15 x_gpa_val IN NUMBER DEFAULT NULL,
16 x_rank IN NUMBER DEFAULT NULL,
17 x_s_special_grade_type IN VARCHAR2 DEFAULT NULL,
18 x_grading_schema_cd IN VARCHAR2 DEFAULT NULL,
19 x_version_number IN NUMBER DEFAULT NULL,
20 x_grade IN VARCHAR2 DEFAULT NULL,
21 x_full_grade_name IN VARCHAR2 DEFAULT NULL,
22 x_s_result_type IN VARCHAR2 DEFAULT NULL,
23 x_show_on_noticeboard_ind IN VARCHAR2 DEFAULT NULL,
24 x_show_on_official_ntfctn_ind IN VARCHAR2 DEFAULT NULL,
25 x_show_in_newspaper_ind IN VARCHAR2 DEFAULT NULL,
26 x_show_internally_ind IN VARCHAR2 DEFAULT NULL,
27 x_system_only_ind IN VARCHAR2 DEFAULT NULL,
28 x_show_in_earned_crdt_ind IN VARCHAR2 DEFAULT NULL,
29 x_incl_in_repeat_process_ind IN VARCHAR2 DEFAULT NULL,
30 x_admin_only_ind IN VARCHAR2 DEFAULT NULL,
31 x_grading_period_cd IN VARCHAR2 DEFAULT NULL,
32 x_repeat_grade IN VARCHAR2 DEFAULT NULL,
33 x_attribute_category IN VARCHAR2 DEFAULT NULL,
34 x_attribute1 IN VARCHAR2 DEFAULT NULL,
35 x_attribute2 IN VARCHAR2 DEFAULT NULL,
36 x_attribute3 IN VARCHAR2 DEFAULT NULL,
37 x_attribute4 IN VARCHAR2 DEFAULT NULL,
38 x_attribute5 IN VARCHAR2 DEFAULT NULL,
39 x_attribute6 IN VARCHAR2 DEFAULT NULL,
40 x_attribute7 IN VARCHAR2 DEFAULT NULL,
41 x_attribute8 IN VARCHAR2 DEFAULT NULL,
42 x_attribute9 IN VARCHAR2 DEFAULT NULL,
43 x_attribute10 IN VARCHAR2 DEFAULT NULL,
44 x_attribute11 IN VARCHAR2 DEFAULT NULL,
45 x_attribute12 IN VARCHAR2 DEFAULT NULL,
46 x_attribute13 IN VARCHAR2 DEFAULT NULL,
47 x_attribute14 IN VARCHAR2 DEFAULT NULL,
48 x_attribute15 IN VARCHAR2 DEFAULT NULL,
49 x_attribute16 IN VARCHAR2 DEFAULT NULL,
50 x_attribute17 IN VARCHAR2 DEFAULT NULL,
51 x_attribute18 IN VARCHAR2 DEFAULT NULL,
52 x_attribute19 IN VARCHAR2 DEFAULT NULL,
53 x_attribute20 IN VARCHAR2 DEFAULT NULL,
54 x_creation_date IN DATE DEFAULT NULL,
55 x_created_by IN NUMBER DEFAULT NULL,
56 x_last_update_date IN DATE DEFAULT NULL,
57 x_last_updated_by IN NUMBER DEFAULT NULL,
58 x_last_update_login IN NUMBER DEFAULT NULL,
59 x_closed_ind IN VARCHAR2 DEFAULT 'N'
60 ) AS
61
62 CURSOR cur_old_ref_values IS
63 SELECT *
64 FROM IGS_AS_GRD_SCH_GRADE
65 WHERE rowid = x_rowid;
66
67 BEGIN
68 l_rowid := x_rowid;
69
70 -- Code for setting the Old and New Reference Values.
71 -- Populate Old Values.
72
73 Open cur_old_ref_values;
74
75 Fetch cur_old_ref_values INTO old_references;
76
77 IF (cur_old_ref_values%NOTFOUND) AND (p_action NOT IN ('INSERT','VALIDATE_INSERT')) THEN
78
79 Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
80 IGS_GE_MSG_STACK.ADD;
81 Close cur_old_ref_values;
82 APP_EXCEPTION.RAISE_EXCEPTION;
83
84 Return;
85 END IF;
86 Close cur_old_ref_values;
87 -- Populate New Values.
88 new_references.dflt_outstanding_ind := x_dflt_outstanding_ind;
89 new_references.external_grade := x_external_grade;
90 new_references.lower_mark_range := x_lower_mark_range;
91 new_references.upper_mark_range := x_upper_mark_range;
92 new_references.min_percentage := x_min_percentage;
93 new_references.max_percentage := x_max_percentage;
94 new_references.gpa_val := x_gpa_val;
95 new_references.rank := x_rank;
96 new_references.s_special_grade_type := x_s_special_grade_type;
97 new_references.grading_schema_cd := x_grading_schema_cd;
98 new_references.version_number := x_version_number;
99 new_references.grade := x_grade;
100 new_references.full_grade_name := x_full_grade_name;
101 new_references.s_result_type := x_s_result_type;
102 new_references.show_on_noticeboard_ind := x_show_on_noticeboard_ind;
103 new_references.show_on_official_ntfctn_ind := x_show_on_official_ntfctn_ind;
104 new_references.show_in_newspaper_ind := x_show_in_newspaper_ind;
105 new_references.show_internally_ind := x_show_internally_ind;
106 new_references.system_only_ind := x_system_only_ind;
107 new_references.show_in_earned_crdt_ind := x_show_in_earned_crdt_ind ;
108 new_references.incl_in_repeat_process_ind := x_incl_in_repeat_process_ind ;
109 new_references.admin_only_ind := x_admin_only_ind ;
110 new_references.grading_period_cd := x_grading_period_cd ;
111 new_references.repeat_grade := x_repeat_grade ;
112 new_references.attribute_category := x_attribute_category;
113 new_references.attribute1 := x_attribute1;
114 new_references.attribute2 := x_attribute2;
115 new_references.attribute3 := x_attribute3;
116 new_references.attribute4 := x_attribute4;
117 new_references.attribute5 := x_attribute5;
118 new_references.attribute6 := x_attribute6;
119 new_references.attribute7 := x_attribute7;
120 new_references.attribute8 := x_attribute8;
121 new_references.attribute9 := x_attribute9;
122 new_references.attribute10 := x_attribute10;
123 new_references.attribute11 := x_attribute11;
124 new_references.attribute12 := x_attribute12;
125 new_references.attribute13 := x_attribute13;
126 new_references.attribute14 := x_attribute14;
127 new_references.attribute15 := x_attribute15;
128 new_references.attribute16 := x_attribute16;
129 new_references.attribute17 := x_attribute17;
130 new_references.attribute18 := x_attribute18;
131 new_references.attribute19 := x_attribute19;
132 new_references.attribute20 := x_attribute20;
133 new_references.closed_ind := x_closed_ind;
134
135 IF (p_action = 'UPDATE') THEN
136 new_references.creation_date := old_references.creation_date;
137 new_references.created_by := old_references.created_by;
138 ELSE
139 new_references.creation_date := x_creation_date;
140 new_references.created_by := x_created_by;
141 END IF;
142 new_references.last_update_date := x_last_update_date;
143 new_references.last_updated_by := x_last_updated_by;
144 new_references.last_update_login := x_last_update_login;
145 END Set_Column_Values;
146
147 PROCEDURE BeforeRowInsertUpdate1(
148 p_inserting IN BOOLEAN DEFAULT FALSE,
149 p_updating IN BOOLEAN DEFAULT FALSE,
150 p_deleting IN BOOLEAN DEFAULT FALSE
151 ) AS
152 v_message_name VARCHAR2(30);
153
154 /*========================================================================================================+
155 |
156 | DESCRIPTION
157 |
158 |
159 | NOTES
160 |
161 |
162 | HISTORY
163 | Who When Why
164 | Aiyer 09-Jan-2003 Modified for the fix of the bug #2693772
165 | Modified the validation to check whether grade translations already existed
166 | only if old s_result_type and new s_result_type did not match.
167 *===========================================================================================================*/
168 BEGIN
169 -- Validate that inserts/updates are allowed
170 IF p_inserting OR p_updating THEN
171 -- Validate if grade's grading schema is current or future
172 IF p_inserting OR p_updating THEN
173 IF IGS_AS_VAL_GSG.assp_val_gs_cur_fut (
174 new_references.grading_schema_cd,
175 new_references.version_number,
176 v_message_name) = FALSE THEN
177 FND_MESSAGE.SET_NAME('IGS',v_message_name);
178 IGS_GE_MSG_STACK.ADD;
179 APP_EXCEPTION.RAISE_EXCEPTION;
180 END IF;
181 END IF;
182 -- Validate upper mark range >= lower mark range and both set if one is set
183 IF p_inserting OR p_updating THEN
184 IF IGS_AS_VAL_GSG.assp_val_gsg_mrk_rng (
185 new_references.lower_mark_range,
186 new_references.upper_mark_range,
187 v_message_name) = FALSE THEN
188 FND_MESSAGE.SET_NAME('IGS',v_message_name);
189 IGS_GE_MSG_STACK.ADD;
190 APP_EXCEPTION.RAISE_EXCEPTION;
191 END IF;
192 END IF;
193 -- Validate max percentage >= min percentage
194 IF p_inserting OR p_updating THEN
195 IF IGS_AS_VAL_GSG.assp_val_gsg_min_max (
196 new_references.min_percentage,
197 new_references.max_percentage,
198 v_message_name) = FALSE THEN
199 FND_MESSAGE.SET_NAME('IGS',v_message_name);
200 IGS_GE_MSG_STACK.ADD;
201 APP_EXCEPTION.RAISE_EXCEPTION;
202 END IF;
203 END IF;
204
205 -- Validate result type can not be changed when translations exist for the
206 -- grade
207 /*
208 Code modified for the bug #2693772
209 Modified the validation to check whether grade translations already existed
210 only if old s_result_type and new s_result_type did not match.
211 */
212
213 IF (p_inserting OR p_updating) AND
214 new_references.s_result_type <> old_references.s_result_type
215 THEN
216
217 IF IGS_AS_VAL_GSG.assp_val_gsg_gsgt (
218 new_references.grading_schema_cd,
219 new_references.version_number,
220 new_references.grade,
221 v_message_name) = FALSE THEN
222 FND_MESSAGE.SET_NAME('IGS',v_message_name);
223 IGS_GE_MSG_STACK.ADD;
224 APP_EXCEPTION.RAISE_EXCEPTION;
225 END IF;
226 END IF;
227
228 -- Validate if s_special_grade_type is 'CONCEDED-PASS' then
229 -- s_result_type must be 'PASS'
230 IF IGS_AS_VAL_GSG.assp_val_gsg_ssgt (
231 new_references.s_special_grade_type,
232 new_references.s_result_type,
233 v_message_name) = FALSE THEN
234 FND_MESSAGE.SET_NAME('IGS',v_message_name);
235 IGS_GE_MSG_STACK.ADD;
236 APP_EXCEPTION.RAISE_EXCEPTION;
237 END IF;
238 END IF;
239 END BeforeRowInsertUpdate1;
240 PROCEDURE AfterRowInsertUpdate2(
241 p_inserting IN BOOLEAN DEFAULT FALSE,
242 p_updating IN BOOLEAN DEFAULT FALSE,
243 p_deleting IN BOOLEAN DEFAULT FALSE
244 ) AS
245 v_message_name VARCHAR2(30);
246 BEGIN
247 IF p_inserting OR p_updating THEN
248 IF IGS_AS_VAL_GSG.assp_val_gsg_m_ovrlp (
249 new_references.grading_schema_cd,
250 new_references.version_number,
251 new_references.grade,
252 new_references.lower_mark_range,
253 new_references.upper_mark_range,
254 v_message_name) = FALSE THEN
255 FND_MESSAGE.SET_NAME('IGS',v_message_name);
256 IGS_GE_MSG_STACK.ADD;
257 APP_EXCEPTION.RAISE_EXCEPTION;
258 END IF;
259 -- Validate dflt outstanding indicator only set for 1 grade
260 IF new_references.dflt_outstanding_ind = 'Y' THEN
261 IF IGS_AS_VAL_GSG.assp_val_gsg_dflt (
262 new_references.grading_schema_cd,
263 new_references.version_number,
264 new_references.grade,
265 v_message_name) = FALSE THEN
266 FND_MESSAGE.SET_NAME('IGS',v_message_name);
267 IGS_GE_MSG_STACK.ADD;
268 APP_EXCEPTION.RAISE_EXCEPTION;
269 END IF;
270 END IF;
271 END IF;
272 END AfterRowInsertUpdate2;
273
274 PROCEDURE Check_Constraints (
275 Column_Name IN VARCHAR2 DEFAULT NULL,
276 Column_Value IN VARCHAR2 DEFAULT NULL
277 ) as
278
279 BEGIN
280
281 -- The following code checks for check constraints on the Columns.
282
283 IF column_name is NULL THEN
284 NULL;
285 ELSIF UPPER(column_name) = 'GPA_VAL ' THEN
286 new_references.gpa_val := igs_ge_number.to_num(column_value);
287 ELSIF UPPER(column_name) = 'MAX_PERCENTAGE ' THEN
288 new_references.max_percentage := igs_ge_number.to_num(column_value);
289 ELSIF UPPER(column_name) = 'MIN_PERCENTAGE' THEN
290 new_references.min_percentage := igs_ge_number.to_num(column_value);
291 ELSIF UPPER(column_name) = 'S_RESULT_TYPE' THEN
292 new_references.s_result_type := column_value;
293 ELSIF UPPER(column_name) = 'GRADING_SCHEMA_CD' THEN
294 new_references.grading_schema_cd := column_value;
295 ELSIF UPPER(column_name) = 'GRADE' THEN
296 new_references.grade := column_value;
297 ELSIF UPPER(column_name) = 'FULL_GRADE_NAME' THEN
298 new_references.full_grade_name := column_value;
299 ELSIF UPPER(column_name) = 'EXTERNAL_GRADE' THEN
300 new_references.external_grade := column_value;
301 ELSIF UPPER(column_name) = 'VERSION_NUMBER ' THEN
302 new_references.version_number := igs_ge_number.to_num(column_value);
303 ELSIF UPPER(column_name) = 'SHOW_ON_NOTICEBOARD_IND ' THEN
304 new_references.show_on_noticeboard_ind := column_value;
305 ELSIF UPPER(column_name) = 'SHOW_ON_OFFICIAL_NTFCTN_IND ' THEN
306 new_references.show_on_official_ntfctn_ind := column_value;
307 ELSIF UPPER(column_name) = 'SHOW_IN_NEWSPAPER_IND ' THEN
308 new_references.show_in_newspaper_ind := column_value;
309 ELSIF UPPER(column_name) = 'SHOW_INTERNALLY_IND ' THEN
310 new_references.show_internally_ind := column_value;
311 ELSIF UPPER(column_name) = 'SYSTEM_ONLY_IND' THEN
312 new_references.system_only_ind := column_value;
313 ELSIF UPPER(column_name) = 'DFLT_OUTSTANDING_IND' THEN
314 new_references.dflt_outstanding_ind := column_value;
315 ELSIF UPPER(column_name) = 'LOWER_MARK_RANGE ' THEN
316 new_references.lower_mark_range := igs_ge_number.to_num(column_value);
317 ELSIF UPPER(column_name) = 'UPPER_MARK_RANGE ' THEN
318 new_references.upper_mark_range := igs_ge_number.to_num(column_value);
319 ELSIF UPPER(column_name) = 'S_SPECIAL_GRADE_TYPE ' THEN
320 new_references.s_special_grade_type := column_value;
321
322 ELSIF UPPER(column_name) = 'SHOW_IN_EARNED_CRDT_IND' THEN
323 new_references.show_in_earned_crdt_ind := column_value;
324 ELSIF UPPER(column_name) = 'INCL_IN_REPEAT_PROCESS_IND' THEN
325 new_references.incl_in_repeat_process_ind := column_value;
326 ELSIF UPPER(column_name) = 'ADMIN_ONLY_IND ' THEN
327 new_references.admin_only_ind := column_value;
328 ELSIF UPPER(column_name) = 'GRADING_PERIOD_CD' THEN
329 new_references.grading_period_cd := column_value;
330 ELSIF UPPER(column_name) = 'REPEAT_GRADE' THEN
331 new_references.repeat_grade := column_value;
332
333 END IF;
334
335 IF ((UPPER (column_name) = 'S_SPECIAL_GRADE_TYPE ') OR (column_name IS NULL)) THEN
336 IF new_references.s_special_grade_type NOT IN ( 'SUPP-EXAM' , 'SPECIAL-EXAM' , 'REPLACEABLE' , 'CONCEDED-PASS' ) THEN
337 Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
338 IGS_GE_MSG_STACK.ADD;
339 APP_EXCEPTION.RAISE_EXCEPTION;
340 END IF;
341 END IF;
342
343 IF ((UPPER (column_name) = 'DFLT_OUTSTANDING_IND') OR (column_name IS NULL)) THEN
344 IF new_references.dflt_outstanding_ind NOT IN ( 'Y' , 'N' ) THEN
345 Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
346 IGS_GE_MSG_STACK.ADD;
347 APP_EXCEPTION.RAISE_EXCEPTION;
348 END IF;
349 END IF;
350
351 IF ((UPPER (column_name) = 'SYSTEM_ONLY_IND') OR (column_name IS NULL)) THEN
352 IF new_references.system_only_ind NOT IN ( 'Y' , 'N' ) THEN
353 Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
354 IGS_GE_MSG_STACK.ADD;
355 APP_EXCEPTION.RAISE_EXCEPTION;
356 END IF;
357 END IF;
358
359 IF ((UPPER (column_name) = 'SHOW_INTERNALLY_IND ') OR (column_name IS NULL)) THEN
360 IF new_references.show_internally_ind NOT IN ( 'Y' , 'N' ) THEN
361 Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
362 IGS_GE_MSG_STACK.ADD;
363 APP_EXCEPTION.RAISE_EXCEPTION;
364 END IF;
365 END IF;
366
367 IF ((UPPER (column_name) = 'SHOW_IN_NEWSPAPER_IND ') OR (column_name IS NULL)) THEN
368 IF new_references.show_in_newspaper_ind NOT IN ( 'Y' , 'N' ) THEN
369 Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
370 IGS_GE_MSG_STACK.ADD;
371 APP_EXCEPTION.RAISE_EXCEPTION;
372 END IF;
373 END IF;
374
375 IF ((UPPER (column_name) = 'SHOW_ON_OFFICIAL_NTFCTN_IND ') OR (column_name IS NULL)) THEN
376 IF new_references.show_on_official_ntfctn_ind NOT IN ( 'Y' , 'N' ) THEN
377 Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
378 IGS_GE_MSG_STACK.ADD;
379 APP_EXCEPTION.RAISE_EXCEPTION;
380 END IF;
381 END IF;
382
383 IF ((UPPER (column_name) = 'SHOW_ON_NOTICEBOARD_IND ') OR (column_name IS NULL)) THEN
384 IF new_references.show_on_noticeboard_ind NOT IN ( 'Y' , 'N' ) THEN
385 Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
386 IGS_GE_MSG_STACK.ADD;
387 APP_EXCEPTION.RAISE_EXCEPTION;
388 END IF;
389 END IF;
390
391 IF ((UPPER (column_name) = 'VERSION_NUMBER ') OR (column_name IS NULL)) THEN
392 IF new_references.version_number < 0 OR
393 new_references.version_number > 999 THEN
394 Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
395 IGS_GE_MSG_STACK.ADD;
396 APP_EXCEPTION.RAISE_EXCEPTION;
397 END IF;
398 END IF;
399
400 IF ((UPPER (column_name) = 'EXTERNAL_GRADE') OR (column_name IS NULL)) THEN
401 IF (new_references.external_grade <> UPPER (new_references.external_grade)) THEN
402 Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
403 IGS_GE_MSG_STACK.ADD;
404 APP_EXCEPTION.RAISE_EXCEPTION;
405 END IF;
406 END IF;
407
408 IF ((UPPER (column_name) = 'GRADE') OR (column_name IS NULL)) THEN
409 IF (new_references.grade <> UPPER (new_references.grade)) THEN
410 Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
411 IGS_GE_MSG_STACK.ADD;
412 APP_EXCEPTION.RAISE_EXCEPTION;
413 END IF;
414 END IF;
415
416 IF ((UPPER (column_name) = 'GRADING_SCHEMA_CD') OR (column_name IS NULL)) THEN
417 IF (new_references.grading_schema_cd <> UPPER (new_references.grading_schema_cd)) THEN
418 Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
419 IGS_GE_MSG_STACK.ADD;
420 APP_EXCEPTION.RAISE_EXCEPTION;
421 END IF;
422 END IF;
423
424
425 IF ((UPPER (column_name) = 'S_RESULT_TYPE') OR (column_name IS NULL)) THEN
426 IF (new_references.s_result_type <> UPPER (new_references.s_result_type)) THEN
427 Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
428 IGS_GE_MSG_STACK.ADD;
429 APP_EXCEPTION.RAISE_EXCEPTION;
430 END IF;
431 END IF;
432
433
434 IF ((UPPER (column_name) = 'MIN_PERCENTAGE') OR (column_name IS NULL)) THEN
435 IF new_references.min_percentage < 0 OR
436 new_references.min_percentage > 100 THEN
437 Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
438 IGS_GE_MSG_STACK.ADD;
439 APP_EXCEPTION.RAISE_EXCEPTION;
440 END IF;
441 END IF;
442
443 IF ((UPPER (column_name) = 'MAX_PERCENTAGE ') OR (column_name IS NULL)) THEN
444 IF new_references.max_percentage < 0 OR
445 new_references.max_percentage > 100 THEN
446 Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
447 IGS_GE_MSG_STACK.ADD;
448 APP_EXCEPTION.RAISE_EXCEPTION;
449 END IF;
450 END IF;
451
452 IF ((UPPER (column_name) = 'GPA_VAL ') OR (column_name IS NULL)) THEN
453 IF new_references.gpa_val < 0 OR
454 new_references.gpa_val > 999.99 THEN
455 Fnd_Message.Set_Name ('IGS', 'IGS_GE_INVALID_VALUE');
456 IGS_GE_MSG_STACK.ADD;
457 APP_EXCEPTION.RAISE_EXCEPTION;
458 END IF;
459 END IF;
460
461
462 END Check_Constraints;
463
464
465 PROCEDURE Check_Parent_Existance AS
466 BEGIN
467 IF (((old_references.grading_schema_cd = new_references.grading_schema_cd) AND
468 (old_references.version_number = new_references.version_number)) OR
469 ((new_references.grading_schema_cd IS NULL) OR
470 (new_references.version_number IS NULL))) THEN
471 NULL;
472 ELSE
473 IF NOT IGS_AS_GRD_SCHEMA_PKG.Get_PK_For_Validation (
474 new_references.grading_schema_cd,
475 new_references.version_number
476 ) THEN
477
478 Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
479 IGS_GE_MSG_STACK.ADD;
480 APP_EXCEPTION.RAISE_EXCEPTION;
481
482 END IF;
483 END IF;
484 -- Has to be changed.
485 IF (((old_references.s_result_type = new_references.s_result_type)) OR
486 ((new_references.s_result_type IS NULL))) THEN
487 NULL;
488 ELSIF NOT IGS_LOOKUPS_VIEW_PKG.Get_PK_For_Validation (
489 'RESULT_TYPE',
490 new_references.s_result_type
491 ) THEN
492
493 Fnd_Message.Set_Name ('FND', 'FORM_RECORD_DELETED');
494 IGS_GE_MSG_STACK.ADD;
495 APP_EXCEPTION.RAISE_EXCEPTION;
496 END IF;
497
498 END Check_Parent_Existance;
499 PROCEDURE Check_Child_Existance AS
500 --who when what
501 --smadathi 29-MAY-2001 The foreign key references to IGS_PS_UNT_REPT_FMLY , IGS_PS_UNT_PRV_GRADE removed as per DLD
502 --smadathi 25-MAY-2001 The foreign key references to IGS_PS_USEC_PRV_GRAD removed as per DLD
503 --pkpatel 04-SEP-2001 Bug no. 1960126 Dld Academic Record Maintenance
504 -- Added igs_av_stnd_unit_pkg.get_fk_igs_as_grd_sch_grade
505 BEGIN
506 IGS_AD_ADM_UT_STA_GD_PKG.GET_FK_IGS_AS_GRD_SCH_GRADE (
507 old_references.grading_schema_cd,
508 old_references.version_number,
509 old_references.grade
510 );
511 IGS_AS_INS_GRD_ENTRY_PKG.GET_FK_IGS_AS_GRD_SCH_GRADE (
512 old_references.grading_schema_cd,
513 old_references.version_number,
514 old_references.grade
515 );
516 IGS_AS_GRD_SCH_TRN_PKG.GET_FK_IGS_AS_GRD_SCH_GRADE (
517 old_references.grading_schema_cd,
518 old_references.version_number,
519 old_references.grade
520 );
521 IGS_AS_GRD_SCH_TRN_PKG.GET_FK_IGS_AS_GRD_SCH_GRADE (
522 old_references.grading_schema_cd,
523 old_references.version_number,
524 old_references.grade
525 );
526 IGS_AS_NON_ENR_STDOT_PKG.GET_FK_IGS_AS_GRD_SCH_GRADE (
527 old_references.grading_schema_cd,
528 old_references.version_number,
529 old_references.grade
530 );
531 IGS_AS_SU_STMPTOUT_PKG.GET_FK_IGS_AS_GRD_SCH_GRADE (
532 old_references.grading_schema_cd,
533 old_references.version_number,
534 old_references.grade
535 );
536 IGS_AS_SU_STMPTOUT_PKG.GET_FK_IGS_AS_GRD_SCH_GRADE (
537 old_references.grading_schema_cd,
538 old_references.version_number,
539 old_references.grade
540 );
541
542 IGS_AS_INC_GRD_CPROF_PKG.GET_FK_IGS_AS_GRD_SCH_GRADE (
543 old_references.grading_schema_cd,
544 old_references.version_number,
545 old_references.grade
546 );
547
548 IGS_AV_STND_UNIT_PKG.GET_FK_IGS_AS_GRD_SCH_GRADE (
549 old_references.grading_schema_cd,
550 old_references.version_number,
551 old_references.grade
552 );
553 -- Added by DDEY as a part of Bug# 2162831
554 IGS_AS_SU_ATMPT_ITM_PKG.GET_FK_IGS_AS_GRD_SCH_GRADE (
555 old_references.grading_schema_cd ,
556 old_references.version_number ,
557 old_references.grade
558 );
559 END Check_Child_Existance;
560
561 FUNCTION Get_PK_For_Validation (
562 x_grading_schema_cd IN VARCHAR2,
563 x_version_number IN NUMBER,
564 x_grade IN VARCHAR2
565 ) RETURN BOOLEAN AS
566 CURSOR cur_rowid IS
567 SELECT rowid
568 FROM IGS_AS_GRD_SCH_GRADE
569 WHERE grading_schema_cd = x_grading_schema_cd
570 AND version_number = x_version_number
571 AND grade = x_grade;
572 lv_rowid cur_rowid%RowType;
573 BEGIN
574 Open cur_rowid;
575 Fetch cur_rowid INTO lv_rowid;
576
577 IF (cur_rowid%FOUND) THEN
578 Close cur_rowid;
579 Return(TRUE);
580 ELSE
581 Close cur_rowid;
582 Return(FALSE);
583 END IF;
584
585 Close cur_rowid;
586 END Get_PK_For_Validation;
587 PROCEDURE GET_FK_IGS_AS_GRD_SCHEMA (
588 x_grading_schema_cd IN VARCHAR2,
589 x_version_number IN NUMBER
590 ) AS
591 CURSOR cur_rowid IS
592 SELECT rowid
593 FROM IGS_AS_GRD_SCH_GRADE
594 WHERE grading_schema_cd = x_grading_schema_cd
595 AND version_number = x_version_number ;
596 lv_rowid cur_rowid%RowType;
597 BEGIN
598 Open cur_rowid;
599 Fetch cur_rowid INTO lv_rowid;
600 IF (cur_rowid%FOUND) THEN
601 Fnd_Message.Set_Name ('IGS', 'IGS_AS_GSG_GS_FK');
602 IGS_GE_MSG_STACK.ADD;
603 Close cur_rowid;
604 APP_EXCEPTION.RAISE_EXCEPTION;
605
606 Return;
607 END IF;
608 Close cur_rowid;
609 END GET_FK_IGS_AS_GRD_SCHEMA;
610 PROCEDURE GET_FK_IGS_LOOKUPS_VIEW (
611 x_s_result_type IN VARCHAR2
612 ) AS
613 CURSOR cur_rowid IS
614 SELECT rowid
615 FROM IGS_AS_GRD_SCH_GRADE
616 WHERE s_result_type = x_s_result_type ;
617 lv_rowid cur_rowid%RowType;
618 BEGIN
619 Open cur_rowid;
620 Fetch cur_rowid INTO lv_rowid;
621 IF (cur_rowid%FOUND) THEN
622 Fnd_Message.Set_Name ('IGS', 'IGS_AS_GSG_SLV_FK');
623 IGS_GE_MSG_STACK.ADD;
624 Close cur_rowid;
625 APP_EXCEPTION.RAISE_EXCEPTION;
626
627 Return;
628 END IF;
629 Close cur_rowid;
630 END GET_FK_IGS_LOOKUPS_VIEW;
631 PROCEDURE Before_DML (
632 p_action IN VARCHAR2,
633 x_rowid IN VARCHAR2 DEFAULT NULL,
634 x_dflt_outstanding_ind IN VARCHAR2 DEFAULT NULL,
635 x_external_grade IN VARCHAR2 DEFAULT NULL,
636 x_lower_mark_range IN NUMBER DEFAULT NULL,
637 x_upper_mark_range IN NUMBER DEFAULT NULL,
638 x_min_percentage IN NUMBER DEFAULT NULL,
639 x_max_percentage IN NUMBER DEFAULT NULL,
640 x_gpa_val IN NUMBER DEFAULT NULL,
641 x_rank IN NUMBER DEFAULT NULL,
642 x_s_special_grade_type IN VARCHAR2 DEFAULT NULL,
643 x_grading_schema_cd IN VARCHAR2 DEFAULT NULL,
644 x_version_number IN NUMBER DEFAULT NULL,
645 x_grade IN VARCHAR2 DEFAULT NULL,
646 x_full_grade_name IN VARCHAR2 DEFAULT NULL,
647 x_s_result_type IN VARCHAR2 DEFAULT NULL,
648 x_show_on_noticeboard_ind IN VARCHAR2 DEFAULT NULL,
649 x_show_on_official_ntfctn_ind IN VARCHAR2 DEFAULT NULL,
650 x_show_in_newspaper_ind IN VARCHAR2 DEFAULT NULL,
651 x_show_internally_ind IN VARCHAR2 DEFAULT NULL,
652 x_system_only_ind IN VARCHAR2 DEFAULT NULL,
653 x_show_in_earned_crdt_ind IN VARCHAR2 DEFAULT NULL,
654 x_incl_in_repeat_process_ind IN VARCHAR2 DEFAULT NULL,
655 x_admin_only_ind IN VARCHAR2 DEFAULT NULL,
656 x_grading_period_cd IN VARCHAR2 DEFAULT NULL,
657 x_repeat_grade IN VARCHAR2 DEFAULT NULL,
658 x_attribute_category IN VARCHAR2 DEFAULT NULL,
659 x_attribute1 IN VARCHAR2 DEFAULT NULL,
660 x_attribute2 IN VARCHAR2 DEFAULT NULL,
661 x_attribute3 IN VARCHAR2 DEFAULT NULL,
662 x_attribute4 IN VARCHAR2 DEFAULT NULL,
663 x_attribute5 IN VARCHAR2 DEFAULT NULL,
664 x_attribute6 IN VARCHAR2 DEFAULT NULL,
665 x_attribute7 IN VARCHAR2 DEFAULT NULL,
666 x_attribute8 IN VARCHAR2 DEFAULT NULL,
667 x_attribute9 IN VARCHAR2 DEFAULT NULL,
668 x_attribute10 IN VARCHAR2 DEFAULT NULL,
669 x_attribute11 IN VARCHAR2 DEFAULT NULL,
670 x_attribute12 IN VARCHAR2 DEFAULT NULL,
671 x_attribute13 IN VARCHAR2 DEFAULT NULL,
672 x_attribute14 IN VARCHAR2 DEFAULT NULL,
673 x_attribute15 IN VARCHAR2 DEFAULT NULL,
674 x_attribute16 IN VARCHAR2 DEFAULT NULL,
675 x_attribute17 IN VARCHAR2 DEFAULT NULL,
676 x_attribute18 IN VARCHAR2 DEFAULT NULL,
677 x_attribute19 IN VARCHAR2 DEFAULT NULL,
678 x_attribute20 IN VARCHAR2 DEFAULT NULL,
679 x_creation_date IN DATE DEFAULT NULL,
680 x_created_by IN NUMBER DEFAULT NULL,
681 x_last_update_date IN DATE DEFAULT NULL,
682 x_last_updated_by IN NUMBER DEFAULT NULL,
683 x_last_update_login IN NUMBER DEFAULT NULL,
684 x_closed_ind IN VARCHAR2 DEFAULT NULL
685 ) AS
686 BEGIN
687 Set_Column_Values (
688 p_action,
689 x_rowid,
690 x_dflt_outstanding_ind,
691 x_external_grade,
692 x_lower_mark_range,
693 x_upper_mark_range,
694 x_min_percentage,
695 x_max_percentage,
696 x_gpa_val,
697 x_rank,
698 x_s_special_grade_type,
699 x_grading_schema_cd,
700 x_version_number,
701 x_grade,
702 x_full_grade_name,
703 x_s_result_type,
704 x_show_on_noticeboard_ind,
705 x_show_on_official_ntfctn_ind,
706 x_show_in_newspaper_ind,
707 x_show_internally_ind,
708 x_system_only_ind,
709 x_show_in_earned_crdt_ind,
710 x_incl_in_repeat_process_ind,
711 x_admin_only_ind,
712 x_grading_period_cd,
713 x_repeat_grade,
714 x_attribute_category,
715 x_attribute1,
716 x_attribute2,
717 x_attribute3,
718 x_attribute4,
719 x_attribute5,
720 x_attribute6,
721 x_attribute7,
722 x_attribute8,
723 x_attribute9,
724 x_attribute10,
725 x_attribute11,
726 x_attribute12,
727 x_attribute13,
728 x_attribute14,
729 x_attribute15,
730 x_attribute16,
731 x_attribute17,
732 x_attribute18,
733 x_attribute19,
734 x_attribute20,
735 x_creation_date,
736 x_created_by,
737 x_last_update_date,
738 x_last_updated_by,
739 x_last_update_login,
740 x_closed_ind
741 );
742 IF (p_action = 'INSERT') THEN
743 -- Call all the procedures related to Before Insert.
744 BeforeRowInsertUpdate1 ( p_inserting => TRUE );
745 IF Get_PK_For_Validation(
746 new_references.grading_schema_cd,
747 new_references.version_number,
748 new_references.grade
749 ) THEN
750
751 Fnd_message.Set_name('IGS','IGS_GE_RECORD_ALREADY_EXISTS');
752 IGS_GE_MSG_STACK.ADD;
753 APP_EXCEPTION.RAISE_EXCEPTION;
754
755 END IF;
756
757 Check_Constraints;
758 Check_Parent_Existance;
759 ELSIF (p_action = 'UPDATE') THEN
760 -- Call all the procedures related to Before Update.
761 BeforeRowInsertUpdate1 ( p_updating => TRUE );
762 Check_Constraints;
763 Check_Parent_Existance;
764 ELSIF (p_action = 'DELETE') THEN
765 -- Call all the procedures related to Before Delete.
766
767 Check_Child_Existance;
768 ELSIF (p_action = 'VALIDATE_INSERT') THEN
769 IF Get_PK_For_Validation (
770 new_references.grading_schema_cd,
771 new_references.version_number,
772 new_references.grade
773 ) THEN
774 Fnd_Message.Set_Name ('IGS', 'IGS_GE_RECORD_ALREADY_EXISTS');
775 IGS_GE_MSG_STACK.ADD;
776 APP_EXCEPTION.RAISE_EXCEPTION;
777 END IF;
778 Check_Constraints;
779 ELSIF (p_action = 'VALIDATE_UPDATE') THEN
780 Check_Constraints;
781 ELSIF (p_action = 'VALIDATE_DELETE') THEN
782 Check_Child_Existance;
783 END IF;
784 END Before_DML;
785
786 PROCEDURE After_DML (
787 p_action IN VARCHAR2,
788 x_rowid IN VARCHAR2
789 ) AS
790 BEGIN
791 l_rowid := x_rowid;
792 IF (p_action = 'INSERT') THEN
793 -- Call all the procedures related to After Insert.
794 AfterRowInsertUpdate2 ( p_inserting => TRUE );
795 ELSIF (p_action = 'UPDATE') THEN
796 -- Call all the procedures related to After Update.
797 AfterRowInsertUpdate2 ( p_updating => TRUE );
798
799 END IF;
800 END After_DML;
801 procedure INSERT_ROW (
802 X_ROWID in out NOCOPY VARCHAR2,
803 X_GRADING_SCHEMA_CD in VARCHAR2,
804 X_VERSION_NUMBER in NUMBER,
805 X_GRADE in VARCHAR2,
806 X_FULL_GRADE_NAME in VARCHAR2,
807 X_S_RESULT_TYPE in VARCHAR2,
808 X_SHOW_ON_NOTICEBOARD_IND in VARCHAR2,
809 X_SHOW_ON_OFFICIAL_NTFCTN_IND in VARCHAR2,
810 X_S_SPECIAL_GRADE_TYPE in VARCHAR2,
811 X_SHOW_IN_NEWSPAPER_IND in VARCHAR2,
812 X_SHOW_INTERNALLY_IND in VARCHAR2,
813 X_SYSTEM_ONLY_IND in VARCHAR2,
814 X_DFLT_OUTSTANDING_IND in VARCHAR2,
815 X_EXTERNAL_GRADE in VARCHAR2,
816 X_LOWER_MARK_RANGE in NUMBER,
817 X_UPPER_MARK_RANGE in NUMBER,
818 X_MIN_PERCENTAGE in NUMBER,
819 X_MAX_PERCENTAGE in NUMBER,
820 X_GPA_VAL in NUMBER,
821 X_RANK in NUMBER,
822 X_SHOW_IN_EARNED_CRDT_IND in VARCHAR2,
823 X_INCL_IN_REPEAT_PROCESS_IND in VARCHAR2,
824 X_ADMIN_ONLY_IND in VARCHAR2,
825 X_GRADING_PERIOD_CD in VARCHAR2,
826 X_REPEAT_GRADE in VARCHAR2,
827 x_attribute_category IN VARCHAR2,
828 x_attribute1 IN VARCHAR2,
829 x_attribute2 IN VARCHAR2,
830 x_attribute3 IN VARCHAR2,
831 x_attribute4 IN VARCHAR2,
832 x_attribute5 IN VARCHAR2,
833 x_attribute6 IN VARCHAR2,
834 x_attribute7 IN VARCHAR2,
835 x_attribute8 IN VARCHAR2,
836 x_attribute9 IN VARCHAR2,
837 x_attribute10 IN VARCHAR2,
838 x_attribute11 IN VARCHAR2,
839 x_attribute12 IN VARCHAR2,
840 x_attribute13 IN VARCHAR2,
841 x_attribute14 IN VARCHAR2,
842 x_attribute15 IN VARCHAR2,
843 x_attribute16 IN VARCHAR2,
844 x_attribute17 IN VARCHAR2,
845 x_attribute18 IN VARCHAR2,
846 x_attribute19 IN VARCHAR2,
847 x_attribute20 IN VARCHAR2,
848 X_MODE in VARCHAR2 default 'R',
849 x_closed_ind IN VARCHAR2 default 'N'
850 ) AS
851 cursor C is select ROWID from IGS_AS_GRD_SCH_GRADE
852 where GRADING_SCHEMA_CD = X_GRADING_SCHEMA_CD
853 and VERSION_NUMBER = X_VERSION_NUMBER
854 and GRADE = X_GRADE;
855 X_LAST_UPDATE_DATE DATE;
856 X_LAST_UPDATED_BY NUMBER;
857 X_LAST_UPDATE_LOGIN NUMBER;
858 begin
859 X_LAST_UPDATE_DATE := SYSDATE;
860 if(X_MODE = 'I') then
861 X_LAST_UPDATED_BY := 1;
862 X_LAST_UPDATE_LOGIN := 0;
863 elsif (X_MODE = 'R') then
864 X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
865 if X_LAST_UPDATED_BY is NULL then
866 X_LAST_UPDATED_BY := -1;
867 end if;
868 X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
869 if X_LAST_UPDATE_LOGIN is NULL then
870 X_LAST_UPDATE_LOGIN := -1;
871 end if;
872 else
873 FND_MESSAGE.SET_NAME( 'FND', 'SYSTEM-INVALID ARGS');
874 IGS_GE_MSG_STACK.ADD;
875 APP_EXCEPTION.RAISE_EXCEPTION;
876 end if;
877 Before_DML(
878 p_action=>'INSERT',
879 x_rowid=>X_ROWID,
880 x_dflt_outstanding_ind=> NVL(X_DFLT_OUTSTANDING_IND,'N'),
881 x_external_grade=>X_EXTERNAL_GRADE,
882 x_full_grade_name=>X_FULL_GRADE_NAME,
883 x_gpa_val=>X_GPA_VAL,
884 x_grade=>X_GRADE,
885 x_grading_schema_cd=>X_GRADING_SCHEMA_CD,
886 x_lower_mark_range=>X_LOWER_MARK_RANGE,
887 x_max_percentage=>X_MAX_PERCENTAGE,
888 x_min_percentage=>X_MIN_PERCENTAGE,
889 x_rank=>X_RANK,
890 x_s_result_type=>X_S_RESULT_TYPE,
891 x_s_special_grade_type=>X_S_SPECIAL_GRADE_TYPE,
892 x_show_in_newspaper_ind=> NVL(X_SHOW_IN_NEWSPAPER_IND,'Y'),
893 x_show_internally_ind=> NVL(X_SHOW_INTERNALLY_IND,'Y'),
894 x_show_on_noticeboard_ind=> NVL(X_SHOW_ON_NOTICEBOARD_IND,'Y'),
895 x_show_on_official_ntfctn_ind=> NVL(X_SHOW_ON_OFFICIAL_NTFCTN_IND,'Y'),
896 x_system_only_ind=> NVL(X_SYSTEM_ONLY_IND,'N'),
897 x_upper_mark_range=>X_UPPER_MARK_RANGE,
898 x_version_number=>X_VERSION_NUMBER,
899 x_show_in_earned_crdt_ind => X_SHOW_IN_EARNED_CRDT_IND ,
900 x_incl_in_repeat_process_ind => X_SHOW_IN_EARNED_CRDT_IND ,
901 x_admin_only_ind => X_ADMIN_ONLY_IND ,
902 x_grading_period_cd => X_GRADING_PERIOD_CD ,
903 x_repeat_grade => X_REPEAT_GRADE ,
904 x_attribute_category=>x_attribute_category,
905 x_attribute1=>x_attribute1,
906 x_attribute2=>x_attribute2,
907 x_attribute3=>x_attribute3,
908 x_attribute4=>x_attribute4,
909 x_attribute5=>x_attribute5,
910 x_attribute6=>x_attribute6,
911 x_attribute7=>x_attribute7,
912 x_attribute8=>x_attribute8,
913 x_attribute9=>x_attribute9,
914 x_attribute10=>x_attribute10,
915 x_attribute11=>x_attribute11,
916 x_attribute12=>x_attribute12,
917 x_attribute13=>x_attribute13,
918 x_attribute14=>x_attribute14,
919 x_attribute15=>x_attribute15,
920 x_attribute16=>x_attribute16,
921 x_attribute17=>x_attribute17,
922 x_attribute18=>x_attribute18,
923 x_attribute19=>x_attribute19,
924 x_attribute20=>x_attribute20,
925 x_creation_date=>X_LAST_UPDATE_DATE,
926 x_created_by=>X_LAST_UPDATED_BY,
927 x_last_update_date=>X_LAST_UPDATE_DATE,
928 x_last_updated_by=>X_LAST_UPDATED_BY,
929 x_last_update_login=>X_LAST_UPDATE_LOGIN,
930 x_closed_ind => x_closed_ind
931 );
932 insert into IGS_AS_GRD_SCH_GRADE (
933 GRADING_SCHEMA_CD,
934 VERSION_NUMBER,
935 GRADE,
936 FULL_GRADE_NAME,
937 S_RESULT_TYPE,
938 SHOW_ON_NOTICEBOARD_IND,
939 SHOW_ON_OFFICIAL_NTFCTN_IND,
940 S_SPECIAL_GRADE_TYPE,
941 SHOW_IN_NEWSPAPER_IND,
942 SHOW_INTERNALLY_IND,
943 SYSTEM_ONLY_IND,
944 DFLT_OUTSTANDING_IND,
945 EXTERNAL_GRADE,
946 LOWER_MARK_RANGE,
947 UPPER_MARK_RANGE,
948 MIN_PERCENTAGE,
949 MAX_PERCENTAGE,
950 GPA_VAL,
951 RANK,
952 SHOW_IN_EARNED_CRDT_IND,
953 INCL_IN_REPEAT_PROCESS_IND,
954 ADMIN_ONLY_IND,
955 GRADING_PERIOD_CD,
956 REPEAT_GRADE,
957 attribute_category,
958 attribute1,
959 attribute2,
960 attribute3,
961 attribute4,
962 attribute5,
963 attribute6,
964 attribute7,
965 attribute8,
966 attribute9,
967 attribute10,
968 attribute11,
969 attribute12,
970 attribute13,
971 attribute14,
972 attribute15,
973 attribute16,
974 attribute17,
975 attribute18,
976 attribute19,
977 attribute20,
978 CREATION_DATE,
979 CREATED_BY,
980 LAST_UPDATE_DATE,
981 LAST_UPDATED_BY,
982 LAST_UPDATE_LOGIN,
983 CLOSED_IND
984 ) values (
985 NEW_REFERENCES.GRADING_SCHEMA_CD,
986 NEW_REFERENCES.VERSION_NUMBER,
987 NEW_REFERENCES.GRADE,
988 NEW_REFERENCES.FULL_GRADE_NAME,
989 NEW_REFERENCES.S_RESULT_TYPE,
990 NEW_REFERENCES.SHOW_ON_NOTICEBOARD_IND,
991 NEW_REFERENCES.SHOW_ON_OFFICIAL_NTFCTN_IND,
992 NEW_REFERENCES.S_SPECIAL_GRADE_TYPE,
993 NEW_REFERENCES.SHOW_IN_NEWSPAPER_IND,
994 NEW_REFERENCES.SHOW_INTERNALLY_IND,
995 NEW_REFERENCES.SYSTEM_ONLY_IND,
996 NEW_REFERENCES.DFLT_OUTSTANDING_IND,
997 NEW_REFERENCES.EXTERNAL_GRADE,
998 NEW_REFERENCES.LOWER_MARK_RANGE,
999 NEW_REFERENCES.UPPER_MARK_RANGE,
1000 NEW_REFERENCES.MIN_PERCENTAGE,
1001 NEW_REFERENCES.MAX_PERCENTAGE,
1002 NEW_REFERENCES.GPA_VAL,
1003 NEW_REFERENCES.RANK,
1004 NEW_REFERENCES.SHOW_IN_EARNED_CRDT_IND,
1005 NEW_REFERENCES.INCL_IN_REPEAT_PROCESS_IND,
1006 NEW_REFERENCES.ADMIN_ONLY_IND,
1007 NEW_REFERENCES.GRADING_PERIOD_CD,
1008 NEW_REFERENCES.REPEAT_GRADE,
1009 new_references.attribute_category,
1010 new_references.attribute1,
1011 new_references.attribute2,
1012 new_references.attribute3,
1013 new_references.attribute4,
1014 new_references.attribute5,
1015 new_references.attribute6,
1016 new_references.attribute7,
1017 new_references.attribute8,
1018 new_references.attribute9,
1019 new_references.attribute10,
1020 new_references.attribute11,
1021 new_references.attribute12,
1022 new_references.attribute13,
1023 new_references.attribute14,
1024 new_references.attribute15,
1025 new_references.attribute16,
1026 new_references.attribute17,
1027 new_references.attribute18,
1028 new_references.attribute19,
1029 new_references.attribute20,
1030 X_LAST_UPDATE_DATE,
1031 X_LAST_UPDATED_BY,
1032 X_LAST_UPDATE_DATE,
1033 X_LAST_UPDATED_BY,
1034 X_LAST_UPDATE_LOGIN,
1035 new_references.closed_ind
1036 );
1037 open c;
1038 fetch c into X_ROWID;
1039 if (c%notfound) then
1040 close c;
1041 raise no_data_found;
1042 end if;
1043 close c;
1044 After_DML(
1045 p_action => 'INSERT',
1046 x_rowid => X_ROWID
1047 );
1048 end INSERT_ROW;
1049 procedure LOCK_ROW (
1050 X_ROWID in VARCHAR2,
1051 X_GRADING_SCHEMA_CD in VARCHAR2,
1052 X_VERSION_NUMBER in NUMBER,
1053 X_GRADE in VARCHAR2,
1054 X_FULL_GRADE_NAME in VARCHAR2,
1055 X_S_RESULT_TYPE in VARCHAR2,
1056 X_SHOW_ON_NOTICEBOARD_IND in VARCHAR2,
1057 X_SHOW_ON_OFFICIAL_NTFCTN_IND in VARCHAR2,
1058 X_S_SPECIAL_GRADE_TYPE in VARCHAR2,
1059 X_SHOW_IN_NEWSPAPER_IND in VARCHAR2,
1060 X_SHOW_INTERNALLY_IND in VARCHAR2,
1061 X_SYSTEM_ONLY_IND in VARCHAR2,
1062 X_DFLT_OUTSTANDING_IND in VARCHAR2,
1063 X_EXTERNAL_GRADE in VARCHAR2,
1064 X_LOWER_MARK_RANGE in NUMBER,
1065 X_UPPER_MARK_RANGE in NUMBER,
1066 X_MIN_PERCENTAGE in NUMBER,
1067 X_MAX_PERCENTAGE in NUMBER,
1068 X_GPA_VAL in NUMBER,
1069 X_RANK in NUMBER,
1070 X_SHOW_IN_EARNED_CRDT_IND in VARCHAR2,
1071 X_INCL_IN_REPEAT_PROCESS_IND in VARCHAR2,
1072 X_ADMIN_ONLY_IND in VARCHAR2,
1073 X_GRADING_PERIOD_CD in VARCHAR2,
1074 X_REPEAT_GRADE in VARCHAR2,
1075 x_attribute_category IN VARCHAR2,
1076 x_attribute1 IN VARCHAR2,
1077 x_attribute2 IN VARCHAR2,
1078 x_attribute3 IN VARCHAR2,
1079 x_attribute4 IN VARCHAR2,
1080 x_attribute5 IN VARCHAR2,
1081 x_attribute6 IN VARCHAR2,
1082 x_attribute7 IN VARCHAR2,
1083 x_attribute8 IN VARCHAR2,
1084 x_attribute9 IN VARCHAR2,
1085 x_attribute10 IN VARCHAR2,
1086 x_attribute11 IN VARCHAR2,
1087 x_attribute12 IN VARCHAR2,
1088 x_attribute13 IN VARCHAR2,
1089 x_attribute14 IN VARCHAR2,
1090 x_attribute15 IN VARCHAR2,
1091 x_attribute16 IN VARCHAR2,
1092 x_attribute17 IN VARCHAR2,
1093 x_attribute18 IN VARCHAR2,
1094 x_attribute19 IN VARCHAR2,
1095 x_attribute20 IN VARCHAR2,
1096 x_closed_ind IN VARCHAR2 default 'N'
1097 ) AS
1098 cursor c1 is select
1099 FULL_GRADE_NAME,
1100 S_RESULT_TYPE,
1101 SHOW_ON_NOTICEBOARD_IND,
1102 SHOW_ON_OFFICIAL_NTFCTN_IND,
1103 S_SPECIAL_GRADE_TYPE,
1104 SHOW_IN_NEWSPAPER_IND,
1105 SHOW_INTERNALLY_IND,
1106 SYSTEM_ONLY_IND,
1107 DFLT_OUTSTANDING_IND,
1108 EXTERNAL_GRADE,
1109 LOWER_MARK_RANGE,
1110 UPPER_MARK_RANGE,
1111 MIN_PERCENTAGE,
1112 MAX_PERCENTAGE,
1113 GPA_VAL,
1114 RANK,
1115 SHOW_IN_EARNED_CRDT_IND,
1116 INCL_IN_REPEAT_PROCESS_IND,
1117 ADMIN_ONLY_IND,
1118 GRADING_PERIOD_CD,
1119 REPEAT_GRADE,
1120 attribute_category,
1121 attribute1,
1122 attribute2,
1123 attribute3,
1124 attribute4,
1125 attribute5,
1126 attribute6,
1127 attribute7,
1128 attribute8,
1129 attribute9,
1130 attribute10,
1131 attribute11,
1132 attribute12,
1133 attribute13,
1134 attribute14,
1135 attribute15,
1136 attribute16,
1137 attribute17,
1138 attribute18,
1139 attribute19,
1140 attribute20,
1141 closed_ind
1142 from IGS_AS_GRD_SCH_GRADE
1143 where ROWID = X_ROWID for update nowait;
1144 tlinfo c1%rowtype;
1145 begin
1146 open c1;
1147 fetch c1 into tlinfo;
1148 if (c1%notfound) then
1149 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
1150 IGS_GE_MSG_STACK.ADD;
1151 APP_EXCEPTION.RAISE_EXCEPTION;
1152 close c1;
1153 return;
1154 end if;
1155 close c1;
1156 if ( (tlinfo.FULL_GRADE_NAME = X_FULL_GRADE_NAME)
1157 AND (tlinfo.S_RESULT_TYPE = X_S_RESULT_TYPE)
1158 AND (tlinfo.SHOW_ON_NOTICEBOARD_IND = X_SHOW_ON_NOTICEBOARD_IND)
1159 AND (tlinfo.SHOW_ON_OFFICIAL_NTFCTN_IND = X_SHOW_ON_OFFICIAL_NTFCTN_IND)
1160 AND ((tlinfo.S_SPECIAL_GRADE_TYPE = X_S_SPECIAL_GRADE_TYPE) OR ((tlinfo.S_SPECIAL_GRADE_TYPE is null) AND (X_S_SPECIAL_GRADE_TYPE is null)))
1161 AND ((tlinfo.SHOW_IN_NEWSPAPER_IND = X_SHOW_IN_NEWSPAPER_IND) or (( tlinfo.SHOW_IN_NEWSPAPER_IND is null ) AND ( X_SHOW_IN_NEWSPAPER_IND is null )))
1162 AND ((tlinfo.SHOW_INTERNALLY_IND = X_SHOW_INTERNALLY_IND) or (( tlinfo.SHOW_INTERNALLY_IND is null ) AND ( X_SHOW_INTERNALLY_IND is null )))
1163 AND ((tlinfo.SYSTEM_ONLY_IND = X_SYSTEM_ONLY_IND) or (( tlinfo.SYSTEM_ONLY_IND is null ) AND ( X_SYSTEM_ONLY_IND is null )))
1164 AND ((tlinfo.DFLT_OUTSTANDING_IND = X_DFLT_OUTSTANDING_IND) or (( tlinfo.DFLT_OUTSTANDING_IND is null ) AND ( X_DFLT_OUTSTANDING_IND is null )))
1165 AND ((tlinfo.EXTERNAL_GRADE = X_EXTERNAL_GRADE) OR ((tlinfo.EXTERNAL_GRADE is null) AND (X_EXTERNAL_GRADE is null)))
1166 AND ((tlinfo.LOWER_MARK_RANGE = X_LOWER_MARK_RANGE) OR ((tlinfo.LOWER_MARK_RANGE is null) AND (X_LOWER_MARK_RANGE is null)))
1167 AND ((tlinfo.UPPER_MARK_RANGE = X_UPPER_MARK_RANGE) OR ((tlinfo.UPPER_MARK_RANGE is null) AND (X_UPPER_MARK_RANGE is null)))
1168 AND ((tlinfo.MIN_PERCENTAGE = X_MIN_PERCENTAGE) OR ((tlinfo.MIN_PERCENTAGE is null) AND (X_MIN_PERCENTAGE is null)))
1169 AND ((tlinfo.MAX_PERCENTAGE = X_MAX_PERCENTAGE) OR ((tlinfo.MAX_PERCENTAGE is null) AND (X_MAX_PERCENTAGE is null)))
1170 AND ((tlinfo.GPA_VAL = X_GPA_VAL) OR ((tlinfo.GPA_VAL is null) AND (X_GPA_VAL is null)))
1171 AND ((tlinfo.RANK = X_RANK) OR (( tlinfo.RANK is null ) AND (X_RANK is null )))
1172 AND ((tlinfo.INCL_IN_REPEAT_PROCESS_IND = X_INCL_IN_REPEAT_PROCESS_IND) OR ((tlinfo.INCL_IN_REPEAT_PROCESS_IND is null) AND (X_INCL_IN_REPEAT_PROCESS_IND is null)))
1173 AND ((tlinfo.ADMIN_ONLY_IND = X_ADMIN_ONLY_IND) OR ((tlinfo.ADMIN_ONLY_IND is null) AND (X_ADMIN_ONLY_IND is null)))
1174 AND ((tlinfo.GRADING_PERIOD_CD = X_GRADING_PERIOD_CD) OR ((tlinfo.GRADING_PERIOD_CD is null) AND (X_GRADING_PERIOD_CD is null)))
1175 AND ((tlinfo.REPEAT_GRADE = X_REPEAT_GRADE) OR ((tlinfo.REPEAT_GRADE is null) AND (X_REPEAT_GRADE is null)))
1176 AND ((tlinfo.attribute_category = x_attribute_category) OR ((tlinfo.attribute_category IS NULL) AND (x_attribute_category IS NULL)))
1177 AND ((tlinfo.attribute1 = x_attribute1) OR ((tlinfo.attribute1 IS NULL) AND (x_attribute1 IS NULL)))
1178 AND ((tlinfo.attribute2 = x_attribute2) OR ((tlinfo.attribute2 IS NULL) AND (x_attribute2 IS NULL)))
1179 AND ((tlinfo.attribute3 = x_attribute3) OR ((tlinfo.attribute3 IS NULL) AND (x_attribute3 IS NULL)))
1180 AND ((tlinfo.attribute4 = x_attribute4) OR ((tlinfo.attribute4 IS NULL) AND (x_attribute4 IS NULL)))
1181 AND ((tlinfo.attribute5 = x_attribute5) OR ((tlinfo.attribute5 IS NULL) AND (x_attribute5 IS NULL)))
1182 AND ((tlinfo.attribute6 = x_attribute6) OR ((tlinfo.attribute6 IS NULL) AND (x_attribute6 IS NULL)))
1183 AND ((tlinfo.attribute7 = x_attribute7) OR ((tlinfo.attribute7 IS NULL) AND (x_attribute7 IS NULL)))
1184 AND ((tlinfo.attribute8 = x_attribute8) OR ((tlinfo.attribute8 IS NULL) AND (x_attribute8 IS NULL)))
1185 AND ((tlinfo.attribute9 = x_attribute9) OR ((tlinfo.attribute9 IS NULL) AND (x_attribute9 IS NULL)))
1186 AND ((tlinfo.attribute10 = x_attribute10) OR ((tlinfo.attribute10 IS NULL) AND (x_attribute10 IS NULL)))
1187 AND ((tlinfo.attribute11 = x_attribute11) OR ((tlinfo.attribute11 IS NULL) AND (x_attribute11 IS NULL)))
1188 AND ((tlinfo.attribute12 = x_attribute12) OR ((tlinfo.attribute12 IS NULL) AND (x_attribute12 IS NULL)))
1189 AND ((tlinfo.attribute13 = x_attribute13) OR ((tlinfo.attribute13 IS NULL) AND (x_attribute13 IS NULL)))
1190 AND ((tlinfo.attribute14 = x_attribute14) OR ((tlinfo.attribute14 IS NULL) AND (x_attribute14 IS NULL)))
1191 AND ((tlinfo.attribute15 = x_attribute15) OR ((tlinfo.attribute15 IS NULL) AND (x_attribute15 IS NULL)))
1192 AND ((tlinfo.attribute16 = x_attribute16) OR ((tlinfo.attribute16 IS NULL) AND (x_attribute16 IS NULL)))
1193 AND ((tlinfo.attribute17 = x_attribute17) OR ((tlinfo.attribute17 IS NULL) AND (x_attribute17 IS NULL)))
1194 AND ((tlinfo.attribute18 = x_attribute18) OR ((tlinfo.attribute18 IS NULL) AND (x_attribute18 IS NULL)))
1195 AND ((tlinfo.attribute19 = x_attribute19) OR ((tlinfo.attribute19 IS NULL) AND (x_attribute19 IS NULL)))
1196 AND ((tlinfo.attribute20 = x_attribute20) OR ((tlinfo.attribute20 IS NULL) AND (x_attribute20 IS NULL)))
1197 AND ((tlinfo.closed_ind = x_closed_ind) OR ((tlinfo.closed_ind IS NULL) AND (x_closed_ind IS NULL)))
1198 ) then
1199 null;
1200 else
1201 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
1202 IGS_GE_MSG_STACK.ADD;
1203 APP_EXCEPTION.RAISE_EXCEPTION;
1204 end if;
1205 return;
1206 end LOCK_ROW;
1207 procedure UPDATE_ROW (
1208 X_ROWID in VARCHAR2,
1209 X_GRADING_SCHEMA_CD in VARCHAR2,
1210 X_VERSION_NUMBER in NUMBER,
1211 X_GRADE in VARCHAR2,
1212 X_FULL_GRADE_NAME in VARCHAR2,
1213 X_S_RESULT_TYPE in VARCHAR2,
1214 X_SHOW_ON_NOTICEBOARD_IND in VARCHAR2,
1215 X_SHOW_ON_OFFICIAL_NTFCTN_IND in VARCHAR2,
1216 X_S_SPECIAL_GRADE_TYPE in VARCHAR2,
1217 X_SHOW_IN_NEWSPAPER_IND in VARCHAR2,
1218 X_SHOW_INTERNALLY_IND in VARCHAR2,
1219 X_SYSTEM_ONLY_IND in VARCHAR2,
1220 X_DFLT_OUTSTANDING_IND in VARCHAR2,
1221 X_EXTERNAL_GRADE in VARCHAR2,
1222 X_LOWER_MARK_RANGE in NUMBER,
1223 X_UPPER_MARK_RANGE in NUMBER,
1224 X_MIN_PERCENTAGE in NUMBER,
1225 X_MAX_PERCENTAGE in NUMBER,
1226 X_GPA_VAL in NUMBER,
1227 X_RANK in NUMBER,
1228 X_SHOW_IN_EARNED_CRDT_IND in VARCHAR2,
1229 X_INCL_IN_REPEAT_PROCESS_IND in VARCHAR2,
1230 X_ADMIN_ONLY_IND in VARCHAR2,
1231 X_GRADING_PERIOD_CD in VARCHAR2,
1232 X_REPEAT_GRADE in VARCHAR2,
1233 x_attribute_category IN VARCHAR2,
1234 x_attribute1 IN VARCHAR2,
1235 x_attribute2 IN VARCHAR2,
1236 x_attribute3 IN VARCHAR2,
1237 x_attribute4 IN VARCHAR2,
1238 x_attribute5 IN VARCHAR2,
1239 x_attribute6 IN VARCHAR2,
1240 x_attribute7 IN VARCHAR2,
1241 x_attribute8 IN VARCHAR2,
1242 x_attribute9 IN VARCHAR2,
1243 x_attribute10 IN VARCHAR2,
1244 x_attribute11 IN VARCHAR2,
1245 x_attribute12 IN VARCHAR2,
1246 x_attribute13 IN VARCHAR2,
1247 x_attribute14 IN VARCHAR2,
1248 x_attribute15 IN VARCHAR2,
1249 x_attribute16 IN VARCHAR2,
1250 x_attribute17 IN VARCHAR2,
1251 x_attribute18 IN VARCHAR2,
1252 x_attribute19 IN VARCHAR2,
1253 x_attribute20 IN VARCHAR2,
1254 X_MODE in VARCHAR2 default 'R',
1255 x_closed_ind In VARCHAR2 default 'N'
1256 ) AS
1257 X_LAST_UPDATE_DATE DATE;
1258 X_LAST_UPDATED_BY NUMBER;
1259 X_LAST_UPDATE_LOGIN NUMBER;
1260 begin
1261 X_LAST_UPDATE_DATE := SYSDATE;
1262 if(X_MODE = 'I') then
1263 X_LAST_UPDATED_BY := 1;
1264 X_LAST_UPDATE_LOGIN := 0;
1265 elsif (X_MODE = 'R') then
1266 X_LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
1267 if X_LAST_UPDATED_BY is NULL then
1268 X_LAST_UPDATED_BY := -1;
1269 end if;
1270 X_LAST_UPDATE_LOGIN :=FND_GLOBAL.LOGIN_ID;
1271 if X_LAST_UPDATE_LOGIN is NULL then
1272 X_LAST_UPDATE_LOGIN := -1;
1273 end if;
1274 else
1275 FND_MESSAGE.SET_NAME('FND', 'SYSTEM-INVALID ARGS');
1276 IGS_GE_MSG_STACK.ADD;
1277 APP_EXCEPTION.RAISE_EXCEPTION;
1278 end if;
1279 Before_DML(
1280 p_action=>'UPDATE',
1281 x_rowid=>X_ROWID,
1282 x_dflt_outstanding_ind=>X_DFLT_OUTSTANDING_IND,
1283 x_external_grade=>X_EXTERNAL_GRADE,
1284 x_full_grade_name=>X_FULL_GRADE_NAME,
1285 x_gpa_val=>X_GPA_VAL,
1286 x_grade=>X_GRADE,
1287 x_grading_schema_cd=>X_GRADING_SCHEMA_CD,
1288 x_lower_mark_range=>X_LOWER_MARK_RANGE,
1289 x_max_percentage=>X_MAX_PERCENTAGE,
1290 x_min_percentage=>X_MIN_PERCENTAGE,
1291 x_rank=>X_RANK,
1292 x_s_result_type=>X_S_RESULT_TYPE,
1293 x_s_special_grade_type=>X_S_SPECIAL_GRADE_TYPE,
1294 x_show_in_newspaper_ind=>X_SHOW_IN_NEWSPAPER_IND,
1295 x_show_internally_ind=>X_SHOW_INTERNALLY_IND,
1296 x_show_on_noticeboard_ind=>X_SHOW_ON_NOTICEBOARD_IND,
1297 x_show_on_official_ntfctn_ind=>X_SHOW_ON_OFFICIAL_NTFCTN_IND,
1298 x_system_only_ind=>X_SYSTEM_ONLY_IND,
1299 x_upper_mark_range=>X_UPPER_MARK_RANGE,
1300 x_version_number=>X_VERSION_NUMBER,
1301 x_show_in_earned_crdt_ind => X_SHOW_IN_EARNED_CRDT_IND,
1302 x_incl_in_repeat_process_ind => X_INCL_IN_REPEAT_PROCESS_IND,
1303 x_admin_only_ind => X_ADMIN_ONLY_IND,
1304 x_grading_period_cd => X_GRADING_PERIOD_CD,
1305 x_repeat_grade => X_REPEAT_GRADE ,
1306 x_attribute_category=>x_attribute_category,
1307 x_attribute1=>x_attribute1,
1308 x_attribute2=>x_attribute2,
1309 x_attribute3=>x_attribute3,
1310 x_attribute4=>x_attribute4,
1311 x_attribute5=>x_attribute5,
1312 x_attribute6=>x_attribute6,
1313 x_attribute7=>x_attribute7,
1314 x_attribute8=>x_attribute8,
1315 x_attribute9=>x_attribute9,
1316 x_attribute10=>x_attribute10,
1317 x_attribute11=>x_attribute11,
1318 x_attribute12=>x_attribute12,
1319 x_attribute13=>x_attribute13,
1320 x_attribute14=>x_attribute14,
1321 x_attribute15=>x_attribute15,
1322 x_attribute16=>x_attribute16,
1323 x_attribute17=>x_attribute17,
1324 x_attribute18=>x_attribute18,
1325 x_attribute19=>x_attribute19,
1326 x_attribute20=>x_attribute20,
1327 x_creation_date=>X_LAST_UPDATE_DATE,
1328 x_created_by=>X_LAST_UPDATED_BY,
1329 x_last_update_date=>X_LAST_UPDATE_DATE,
1330 x_last_updated_by=>X_LAST_UPDATED_BY,
1331 x_last_update_login=>X_LAST_UPDATE_LOGIN,
1332 x_closed_ind => x_closed_ind
1333 );
1334 update IGS_AS_GRD_SCH_GRADE set
1335 FULL_GRADE_NAME = NEW_REFERENCES.FULL_GRADE_NAME,
1336 S_RESULT_TYPE = NEW_REFERENCES.S_RESULT_TYPE,
1337 SHOW_ON_NOTICEBOARD_IND = NEW_REFERENCES.SHOW_ON_NOTICEBOARD_IND,
1338 SHOW_ON_OFFICIAL_NTFCTN_IND = NEW_REFERENCES.SHOW_ON_OFFICIAL_NTFCTN_IND,
1339 S_SPECIAL_GRADE_TYPE = NEW_REFERENCES.S_SPECIAL_GRADE_TYPE,
1340 SHOW_IN_NEWSPAPER_IND = NEW_REFERENCES.SHOW_IN_NEWSPAPER_IND,
1341 SHOW_INTERNALLY_IND = NEW_REFERENCES.SHOW_INTERNALLY_IND,
1342 SYSTEM_ONLY_IND = NEW_REFERENCES.SYSTEM_ONLY_IND,
1343 DFLT_OUTSTANDING_IND = NEW_REFERENCES.DFLT_OUTSTANDING_IND,
1344 EXTERNAL_GRADE = NEW_REFERENCES.EXTERNAL_GRADE,
1345 LOWER_MARK_RANGE = NEW_REFERENCES.LOWER_MARK_RANGE,
1346 UPPER_MARK_RANGE = NEW_REFERENCES.UPPER_MARK_RANGE,
1347 MIN_PERCENTAGE = NEW_REFERENCES.MIN_PERCENTAGE,
1348 MAX_PERCENTAGE = NEW_REFERENCES.MAX_PERCENTAGE,
1349 GPA_VAL = NEW_REFERENCES.GPA_VAL,
1350 RANK = NEW_REFERENCES.RANK,
1351 SHOW_IN_EARNED_CRDT_IND = NEW_REFERENCES.SHOW_IN_EARNED_CRDT_IND,
1352 INCL_IN_REPEAT_PROCESS_IND = NEW_REFERENCES.INCL_IN_REPEAT_PROCESS_IND,
1353 ADMIN_ONLY_IND = NEW_REFERENCES.ADMIN_ONLY_IND,
1354 GRADING_PERIOD_CD = NEW_REFERENCES.GRADING_PERIOD_CD,
1355 REPEAT_GRADE = NEW_REFERENCES.REPEAT_GRADE,
1356 attribute_category = new_references.attribute_category,
1357 attribute1 = new_references.attribute1,
1358 attribute2 = new_references.attribute2,
1359 attribute3 = new_references.attribute3,
1360 attribute4 = new_references.attribute4,
1361 attribute5 = new_references.attribute5,
1362 attribute6 = new_references.attribute6,
1363 attribute7 = new_references.attribute7,
1364 attribute8 = new_references.attribute8,
1365 attribute9 = new_references.attribute9,
1366 attribute10 = new_references.attribute10,
1367 attribute11 = new_references.attribute11,
1368 attribute12 = new_references.attribute12,
1369 attribute13 = new_references.attribute13,
1370 attribute14 = new_references.attribute14,
1371 attribute15 = new_references.attribute15,
1372 attribute16 = new_references.attribute16,
1373 attribute17 = new_references.attribute17,
1374 attribute18 = new_references.attribute18,
1375 attribute19 = new_references.attribute19,
1376 attribute20 = new_references.attribute20,
1377 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
1378 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
1379 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
1380 closed_ind = x_closed_ind
1381 where ROWID = X_ROWID;
1382 if (sql%notfound) then
1383 raise no_data_found;
1384 end if;
1385 After_DML(
1386 p_action => 'UPDATE',
1387 x_rowid => X_ROWID
1388 );
1389 end UPDATE_ROW;
1390 procedure ADD_ROW (
1391 X_ROWID in out NOCOPY VARCHAR2,
1392 X_GRADING_SCHEMA_CD in VARCHAR2,
1393 X_VERSION_NUMBER in NUMBER,
1394 X_GRADE in VARCHAR2,
1395 X_FULL_GRADE_NAME in VARCHAR2,
1396 X_S_RESULT_TYPE in VARCHAR2,
1397 X_SHOW_ON_NOTICEBOARD_IND in VARCHAR2,
1398 X_SHOW_ON_OFFICIAL_NTFCTN_IND in VARCHAR2,
1399 X_S_SPECIAL_GRADE_TYPE in VARCHAR2,
1400 X_SHOW_IN_NEWSPAPER_IND in VARCHAR2,
1401 X_SHOW_INTERNALLY_IND in VARCHAR2,
1402 X_SYSTEM_ONLY_IND in VARCHAR2,
1403 X_DFLT_OUTSTANDING_IND in VARCHAR2,
1404 X_EXTERNAL_GRADE in VARCHAR2,
1405 X_LOWER_MARK_RANGE in NUMBER,
1406 X_UPPER_MARK_RANGE in NUMBER,
1407 X_MIN_PERCENTAGE in NUMBER,
1408 X_MAX_PERCENTAGE in NUMBER,
1409 X_GPA_VAL in NUMBER,
1410 X_RANK in NUMBER,
1411 X_SHOW_IN_EARNED_CRDT_IND in VARCHAR2,
1412 X_INCL_IN_REPEAT_PROCESS_IND in VARCHAR2,
1413 X_ADMIN_ONLY_IND in VARCHAR2,
1414 X_GRADING_PERIOD_CD in VARCHAR2,
1415 X_REPEAT_GRADE in VARCHAR2,
1416 x_attribute_category IN VARCHAR2,
1417 x_attribute1 IN VARCHAR2,
1418 x_attribute2 IN VARCHAR2,
1419 x_attribute3 IN VARCHAR2,
1420 x_attribute4 IN VARCHAR2,
1421 x_attribute5 IN VARCHAR2,
1422 x_attribute6 IN VARCHAR2,
1423 x_attribute7 IN VARCHAR2,
1424 x_attribute8 IN VARCHAR2,
1425 x_attribute9 IN VARCHAR2,
1426 x_attribute10 IN VARCHAR2,
1427 x_attribute11 IN VARCHAR2,
1428 x_attribute12 IN VARCHAR2,
1429 x_attribute13 IN VARCHAR2,
1430 x_attribute14 IN VARCHAR2,
1431 x_attribute15 IN VARCHAR2,
1432 x_attribute16 IN VARCHAR2,
1433 x_attribute17 IN VARCHAR2,
1434 x_attribute18 IN VARCHAR2,
1435 x_attribute19 IN VARCHAR2,
1436 x_attribute20 IN VARCHAR2,
1437 X_MODE in VARCHAR2 default 'R',
1438 x_closed_ind IN VARCHAR2 default 'N'
1439 ) AS
1440 cursor c1 is select rowid from IGS_AS_GRD_SCH_GRADE
1441 where GRADING_SCHEMA_CD = X_GRADING_SCHEMA_CD
1442 and VERSION_NUMBER = X_VERSION_NUMBER
1443 and GRADE = X_GRADE
1444 ;
1445 begin
1446 open c1;
1447 fetch c1 into X_ROWID;
1448 if (c1%notfound) then
1449 close c1;
1450 INSERT_ROW (
1451 X_ROWID,
1452 X_GRADING_SCHEMA_CD,
1453 X_VERSION_NUMBER,
1454 X_GRADE,
1455 X_FULL_GRADE_NAME,
1456 X_S_RESULT_TYPE,
1457 X_SHOW_ON_NOTICEBOARD_IND,
1458 X_SHOW_ON_OFFICIAL_NTFCTN_IND,
1459 X_S_SPECIAL_GRADE_TYPE,
1460 X_SHOW_IN_NEWSPAPER_IND,
1461 X_SHOW_INTERNALLY_IND,
1462 X_SYSTEM_ONLY_IND,
1463 X_DFLT_OUTSTANDING_IND,
1464 X_EXTERNAL_GRADE,
1465 X_LOWER_MARK_RANGE,
1466 X_UPPER_MARK_RANGE,
1467 X_MIN_PERCENTAGE,
1468 X_MAX_PERCENTAGE,
1469 X_GPA_VAL,
1470 X_RANK,
1471 X_SHOW_IN_EARNED_CRDT_IND,
1472 X_INCL_IN_REPEAT_PROCESS_IND,
1473 X_ADMIN_ONLY_IND,
1474 X_GRADING_PERIOD_CD,
1475 X_REPEAT_GRADE,
1476 x_attribute_category,
1477 x_attribute1,
1478 x_attribute2,
1479 x_attribute3,
1480 x_attribute4,
1481 x_attribute5,
1482 x_attribute6,
1483 x_attribute7,
1484 x_attribute8,
1485 x_attribute9,
1486 x_attribute10,
1487 x_attribute11,
1488 x_attribute12,
1489 x_attribute13,
1490 x_attribute14,
1491 x_attribute15,
1492 x_attribute16,
1493 x_attribute17,
1494 x_attribute18,
1495 x_attribute19,
1496 x_attribute20,
1497 X_MODE,
1498 x_closed_ind);
1499 return;
1500 end if;
1501 close c1;
1502 UPDATE_ROW (
1503 X_ROWID,
1504 X_GRADING_SCHEMA_CD,
1505 X_VERSION_NUMBER,
1506 X_GRADE,
1507 X_FULL_GRADE_NAME,
1508 X_S_RESULT_TYPE,
1509 X_SHOW_ON_NOTICEBOARD_IND,
1510 X_SHOW_ON_OFFICIAL_NTFCTN_IND,
1511 X_S_SPECIAL_GRADE_TYPE,
1512 X_SHOW_IN_NEWSPAPER_IND,
1513 X_SHOW_INTERNALLY_IND,
1514 X_SYSTEM_ONLY_IND,
1515 X_DFLT_OUTSTANDING_IND,
1516 X_EXTERNAL_GRADE,
1517 X_LOWER_MARK_RANGE,
1518 X_UPPER_MARK_RANGE,
1519 X_MIN_PERCENTAGE,
1520 X_MAX_PERCENTAGE,
1521 X_GPA_VAL,
1522 X_RANK,
1523 X_SHOW_IN_EARNED_CRDT_IND ,
1524 X_INCL_IN_REPEAT_PROCESS_IND ,
1525 X_ADMIN_ONLY_IND ,
1526 X_GRADING_PERIOD_CD,
1527 X_REPEAT_GRADE ,
1528 x_attribute_category,
1529 x_attribute1,
1530 x_attribute2,
1531 x_attribute3,
1532 x_attribute4,
1533 x_attribute5,
1534 x_attribute6,
1535 x_attribute7,
1536 x_attribute8,
1537 x_attribute9,
1538 x_attribute10,
1539 x_attribute11,
1540 x_attribute12,
1541 x_attribute13,
1542 x_attribute14,
1543 x_attribute15,
1544 x_attribute16,
1545 x_attribute17,
1546 x_attribute18,
1547 x_attribute19,
1548 x_attribute20,
1549 X_MODE,
1550 x_closed_ind);
1551 end ADD_ROW;
1552
1553 end IGS_AS_GRD_SCH_GRADE_PKG;