/* gradutil.i - Grade Handling utilities */ /* For documentation, check the On-Line SPM services documentation */ /* Handle definitions */ &IF "{1}" = "DEFINE" &THEN &IF DEFINED(gradutil_defined) = 0 &THEN /* Declare handle to ourselves */ DEFINE {2} SHARED VARIABLE gradutil_Handle AS HANDLE NO-UNDO. /* See if should instantiate the utility */ IF NOT VALID-HANDLE(gradutil_Handle) THEN RUN gradutil.p PERSISTENT SET gradutil_Handle. &GLOBAL gradutil_defined &GLOBAL gradutil_MaxGrades 6 &ENDIF &ELSEIF "{1}" = "RESET" &THEN RUN resetContext IN gradutil_Handle. &ELSEIF "{1}" = "SET" &THEN &IF "{2}" = "PRIMARY-PERIOD" &THEN RUN SetPrimaryPeriod IN gradutil_Handle (BUFFER {3}). &ELSEIF "{2}" = "COURSE" &THEN RUN SetCourse IN gradutil_Handle (BUFFER {3}). &ELSEIF "{2}" = "GRADING-POLICY" &THEN RUN SetGradingPolicy IN gradutil_Handle ({3}). &ELSEIF "{2}" = "STUDENT-MARK-GRADE" &THEN RUN SetStuMark IN gradutil_Handle (BUFFER {3}, {4}, {5}, OUTPUT {6}). &ELSE &MESSAGE Unknown option to {0} {1}, '{2}' &ENDIF &ELSEIF "{1}" = "GET" &THEN &IF "{2}" = "PERIOD-LABELS" &THEN RUN GetPeriodLabels IN gradutil_Handle ({3}, {4}, {5}, OUTPUT {6}). &ELSEIF "{2}" = "PERIOD-MARKS" &THEN RUN GetPeriodMarks IN gradutil_Handle (BUFFER {3}, {4}, {5}, OUTPUT {6}). &ELSEIF "{2}" = "PERIOD-MARKS-ENABLED-IDENTS" &THEN RUN GetPeriodMarksEnabledIdents IN gradutil_Handle (BUFFER {3}, {4}, {5}, OUTPUT {6}). &ELSEIF "{2}" = "PERIOD-MARKS-ENABLED" &THEN RUN GetPeriodMarksEnabled IN gradutil_Handle (BUFFER {3}, {4}, {5}, OUTPUT {6}). &ELSEIF "{2}" = "PERIOD-MARK-ID-LIST" &THEN RUN GetPeriodMarkIDList IN gradutil_Handle (BUFFER {3}, {4}, {5}, OUTPUT {6}). &ELSEIF "{2}" = "COURSE-ENABLED" &THEN &IF "{5}" <> "YES" &THEN RUN GetCourseEnabled IN gradutil_Handle (BUFFER {3}, OUTPUT {4}). &ELSE RUN GetMSMCourseEnabled IN gradutil_Handle (BUFFER {3}, OUTPUT {4}). &ENDIF &ELSEIF "{2}" = "STUDENT-MARK-LABELS" &THEN RUN GetCourseLabels IN gradutil_Handle (BUFFER {3}, {4}, OUTPUT {5}). &ELSEIF "{2}" = "STUDENT-MARK-IDENTS" &THEN RUN GetCourseIdents IN gradutil_Handle (BUFFER {3}, OUTPUT {4}). &ELSEIF "{2}" = "STUDENT-MARK-GRADE" &THEN RUN GetStuMark IN gradutil_Handle (BUFFER {3}, {4}, OUTPUT {5}). &ELSEIF "{2}" = "MARK-IDENT" &THEN RUN XlateMark IN gradutil_Handle (BUFFER {3}, OUTPUT {4}). &ELSEIF "{2}" = "STUDENT-MARK-GRADE-LEVEL" &THEN RUN GetStuMarkGrade IN gradutil_Handle (BUFFER {3}, {4}, BUFFER {5}). &ELSE &MESSAGE Unknown option to {0} {1}, '{2}' &ENDIF &ELSEIF "{1}" = "MAX-GRADES" &THEN /* Maximum # of grades */ {&gradutil_MaxGrades} /*** Internal function */ &ELSEIF "{1}" = "ADD-TO-LIST" &THEN /* #2 - list var */ /* #3 - item to add */ {2} = IF LENGTH({2}) <> 0 THEN {2} + "," + {3} ELSE {3}. /* Time to die */ &ELSEIF "{1}" = "CLEAN_UP" &THEN RUN CleanUp IN gradutil_Handle. &ELSE &MESSAGE Unknown option to {0}, '{1}' &ENDIF