/* tranutil.i - Transcript Grade Handling utilities */ /* For documentation, check the On-Line SPM services documentation */ /* Handle definitions */ &IF "{1}" = "DEFINE" &THEN &IF DEFINED(tranutil_defined) = 0 &THEN /* Declare handle to ourselves */ DEFINE {2} SHARED VARIABLE tranutil_Handle AS HANDLE NO-UNDO. DEFINE {2} SHARED VARIABLE tranutil_variable AS CHARACTER NO-UNDO. /* See if should instantiate the utility */ IF NOT VALID-HANDLE(tranutil_Handle) THEN RUN tranutil.p PERSISTENT SET tranutil_Handle. &GLOBAL tranutil_defined &ENDIF &ELSEIF "{1}" = "SET" &THEN &IF "{2}" = "GRADING-POLICY" &THEN RUN SetGradingPolicy IN tranutil_Handle ({3}). &ELSEIF "{2}" = "IDENT-GRADE" &THEN RUN SetIdentMark IN tranutil_Handle (BUFFER {3}, {4}, {5}, OUTPUT {6}). &ELSEIF "{2}" = "IDENT-DISPOSITION" &THEN RUN SetIdentDisposition IN tranutil_Handle (BUFFER {3}, {4}, {5}, OUTPUT {6}). &ELSE &MESSAGE Unknown option to {0} {1}, '{2}' &ENDIF &ELSEIF "{1}" = "GET" &THEN &IF "{2}" = "TRAN-LABEL-LIST" &THEN RUN GetTranLabels IN tranutil_Handle ({3}, {4}, OUTPUT {5}). &ELSEIF "{2}" = "TRAN-IDENT-LIST" &THEN RUN GetTranIdents IN tranutil_Handle ({3}, {4}, OUTPUT {5}). &ELSEIF "{2}" = "TRAN-GRADE-LIST" &THEN RUN GetTranGrades IN tranutil_Handle (BUFFER {3}, OUTPUT {4}, OUTPUT tranutil_variable). &ELSEIF "{2}" = "TRAN-PERIOD-LIST" &THEN RUN GetTranGradingPeriods IN tranutil_Handle (BUFFER {3}, OUTPUT {4}). &ELSEIF "{2}" = "TRAN-DISPOSITION-LIST" &THEN RUN GetTranGrades IN tranutil_Handle (BUFFER {3}, OUTPUT tranutil_variable, OUTPUT {4}). &ELSEIF "{2}" = "MARK-LABEL-LIST" &THEN RUN GetMarkLabels IN tranutil_Handle ({3}, {4}, OUTPUT {5}). &ELSEIF "{2}" = "MARK-IDENT-LIST" &THEN RUN GetMarkIdents IN tranutil_Handle ({3}, {4}, OUTPUT {5}). &ELSEIF "{2}" = "MARK-GRADE-LIST" &THEN RUN GetMarkGrades IN tranutil_Handle (BUFFER {3}, OUTPUT {4}, OUTPUT tranutil_variable). &ELSEIF "{2}" = "MARK-DISPOSITION-LIST" &THEN RUN GetMarkGrades IN tranutil_Handle (BUFFER {3}, OUTPUT tranutil_variable, OUTPUT {4}). &ELSEIF "{2}" = "DISPOSITION-IDENT-LIST" &THEN RUN GetDispositionIdents IN tranutil_Handle ({3}, {4}, OUTPUT {5}). &ELSEIF "{2}" = "IDENT-LABEL" &THEN RUN GetIdentLabel IN tranutil_Handle ({3}, {4}, {5}, OUTPUT {6}). &ELSEIF "{2}" = "IDENT-GRADE" &THEN RUN GetIdentGrade IN tranutil_Handle (BUFFER {3}, {4}, OUTPUT {5}). &ELSEIF "{2}" = "IDENT-DISPOSITION" &THEN RUN GetIdentDisposition IN tranutil_Handle (BUFFER {3}, {4}, OUTPUT {5}). &ELSEIF "{2}" = "IDENT-GRADE-LEVEL" &THEN RUN GetIdentGradeLevel IN tranutil_Handle (BUFFER {3}, {4}, BUFFER {5}, BUFFER course-disposition). &ELSEIF "{2}" = "IDENT-COURSE-DISPOSITION" &THEN RUN GetIdentGradeLevel IN tranutil_Handle (BUFFER {3}, {4}, BUFFER course-level-grade, BUFFER {5}). &ELSEIF "{2}" = "COURSE-ATTRIBUTES" &THEN RUN GetCourseAttrs IN tranutil_Handle (BUFFER {3}, OUTPUT {4}). &ELSEIF "{2}" = "YEAR-ATTRIBUTES" &THEN RUN GetYearAttrs IN tranutil_Handle (BUFFER {3}, OUTPUT {4}). &ELSE &MESSAGE Unknown option to {0} {1}, '{2}' &ENDIF /*** 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 tranutil_Handle. &ELSE &MESSAGE Unknown option to {0}, '{1}' &ENDIF