List of usage examples for org.apache.commons.lang3.mutable MutableDouble MutableDouble
public MutableDouble(final String value) throws NumberFormatException
From source file:com.quinsoft.zencas.lTrnscpt_Object.java
private int olTrnscpt_ProcessRepeatRecur(View lTrnscptRepeating, View lTrnscptNextOrig) { zVIEW lTrnscptNext = new zVIEW(); //:DECIMAL EarlierGrade double EarlierGrade = 0.0; //:DECIMAL LaterGrade double LaterGrade = 0.0; //:STRING ( 20 ) szDecimalString String szDecimalString = null; int RESULT = 0; int lTempInteger_0 = 0; double dTempDecimal_0 = 0.0; double dTempDecimal_1 = 0.0; //:// This is a recursive operation for looking for entries that repeat a Class. It may be called by the //:// initial check for a Registration entry to see if it is repeated, or it may be called for an additional //:// check to see if an entry is repeated more than once. //:// If the operation is being called for the initial entry to see if it is repeated, both lTrnscptRepeating //:// and lTrnscptNext are positioned on the same entity. //:// If the operation is being called to look for an additional repeating entry, lTrnscptRepeating is positioned //:// on the "repeating" Registration entry (or the latest one if the grade for both entries is the same), and //:// lTrnscptNext will be positioned to look for the next repeating entry. //:CreateViewFromView( lTrnscptNext, lTrnscptNextOrig ) CreateViewFromView(lTrnscptNext, lTrnscptNextOrig); //:SET CURSOR NEXT lTrnscptNext.Registration //: WHERE lTrnscptNext.Registration.wCourseID = lTrnscptRepeating.Registration.wCourseID {/*from w ww . j ava 2s . c om*/ MutableInt mi_lTempInteger_0 = new MutableInt(lTempInteger_0); GetIntegerFromAttribute(mi_lTempInteger_0, lTrnscptRepeating, "Registration", "wCourseID"); lTempInteger_0 = mi_lTempInteger_0.intValue(); } RESULT = lTrnscptNext.cursor("Registration").setNext("wCourseID", lTempInteger_0).toInt(); //:IF RESULT >= zCURSOR_SET if (RESULT >= zCURSOR_SET) { //:IF lTrnscptRepeating.Registration.OverridingGradePointValue = "" if (CompareAttributeToString(lTrnscptRepeating, "Registration", "OverridingGradePointValue", "") == 0) { //:GetStringFromAttributeByContext( szDecimalString, //: lTrnscptRepeating, "Registration", "FinalGrade", "DegreeTrackGradePointValue", 20 ) { StringBuilder sb_szDecimalString; if (szDecimalString == null) sb_szDecimalString = new StringBuilder(32); else sb_szDecimalString = new StringBuilder(szDecimalString); GetStringFromAttributeByContext(sb_szDecimalString, lTrnscptRepeating, "Registration", "FinalGrade", "DegreeTrackGradePointValue", 20); szDecimalString = sb_szDecimalString.toString(); } //:EarlierGrade = StrToDecimal( szDecimalString ) { ZGLOBAL1_Operation m_ZGLOBAL1_Operation = new ZGLOBAL1_Operation(lTrnscptRepeating); EarlierGrade = m_ZGLOBAL1_Operation.StrToDecimal(szDecimalString); // m_ZGLOBAL1_Operation = null; // permit gc (unnecessary) } //:ELSE } else { //:EarlierGrade = lTrnscptRepeating.Registration.OverridingGradePointValue { MutableDouble md_EarlierGrade = new MutableDouble(EarlierGrade); GetDecimalFromAttribute(md_EarlierGrade, lTrnscptRepeating, "Registration", "OverridingGradePointValue"); EarlierGrade = md_EarlierGrade.doubleValue(); } } //:END //:IF lTrnscptNext.Registration.OverridingGradePointValue = "" if (CompareAttributeToString(lTrnscptNext, "Registration", "OverridingGradePointValue", "") == 0) { //:GetStringFromAttributeByContext( szDecimalString, //: lTrnscptNext, "Registration", "FinalGrade", "DegreeTrackGradePointValue", 20 ) { StringBuilder sb_szDecimalString; if (szDecimalString == null) sb_szDecimalString = new StringBuilder(32); else sb_szDecimalString = new StringBuilder(szDecimalString); GetStringFromAttributeByContext(sb_szDecimalString, lTrnscptNext, "Registration", "FinalGrade", "DegreeTrackGradePointValue", 20); szDecimalString = sb_szDecimalString.toString(); } //:LaterGrade = StrToDecimal( szDecimalString ) { ZGLOBAL1_Operation m_ZGLOBAL1_Operation = new ZGLOBAL1_Operation(lTrnscptRepeating); LaterGrade = m_ZGLOBAL1_Operation.StrToDecimal(szDecimalString); // m_ZGLOBAL1_Operation = null; // permit gc (unnecessary) } //:ELSE } else { //:LaterGrade = lTrnscptNext.Registration.OverridingGradePointValue { MutableDouble md_LaterGrade = new MutableDouble(LaterGrade); GetDecimalFromAttribute(md_LaterGrade, lTrnscptNext, "Registration", "OverridingGradePointValue"); LaterGrade = md_LaterGrade.doubleValue(); } } //:END //:// We will only consider entries with final grades. //:IF lTrnscptNext.Registration.FinalGrade != "" if (CompareAttributeToString(lTrnscptNext, "Registration", "FinalGrade", "") != 0) { //:IF LaterGrade >= EarlierGrade if (LaterGrade >= EarlierGrade) { //:lTrnscptRepeating.Registration.wRepeatedClass = "R" // This Class is "repeated" by another Class. SetAttributeFromString(lTrnscptRepeating, "Registration", "wRepeatedClass", "R"); //:lTrnscptNext.Registration.wRepeatedClass = "P" // This Class "replaces" the "repeated" Class. SetAttributeFromString(lTrnscptNext, "Registration", "wRepeatedClass", "P"); //:// Set the hours that will be replaced for CumulativeAttempted for the entry when the Class is retaken. //:lTrnscptNext.Registration.wReplacedAttemptedCredits = lTrnscptRepeating.Registration.CreditHours SetAttributeFromAttribute(lTrnscptNext, "Registration", "wReplacedAttemptedCredits", lTrnscptRepeating, "Registration", "CreditHours"); //:IF EarlierGrade > 0 OR //: lTrnscptRepeating.Registration.FinalGrade = "S" OR //: lTrnscptRepeating.Registration.FinalGrade = "" if (EarlierGrade > 0 || CompareAttributeToString(lTrnscptRepeating, "Registration", "FinalGrade", "S") == 0 || CompareAttributeToString(lTrnscptRepeating, "Registration", "FinalGrade", "") == 0) { //:// Earned Credits are only adjusted if the Repeated Class grade had grade points. //:lTrnscptNext.Registration.wReplacedEarnedCredits = lTrnscptRepeating.Registration.CreditHours SetAttributeFromAttribute(lTrnscptNext, "Registration", "wReplacedEarnedCredits", lTrnscptRepeating, "Registration", "CreditHours"); } //:END //:// Grade of U, S or W does not impact GPA values. //:// The following IF was replaced on 10/11/06 by DonC to correct the setting of wReplacedGPA_DivisorCredits for //:// "W" grades. //:/*IF lTrnscptNext.Registration.FinalGrade != "U" AND //: lTrnscptNext.Registration.FinalGrade != "S" AND //: lTrnscptNext.Registration.FinalGrade != "W" AND //: lTrnscptNext.Registration.FinalGrade != ""*/ //:IF lTrnscptRepeating.Registration.FinalGrade != "U" AND //: lTrnscptRepeating.Registration.FinalGrade != "S" AND //: lTrnscptRepeating.Registration.FinalGrade != "W" AND //: lTrnscptRepeating.Registration.FinalGrade != "" AND //: lTrnscptNext.Registration.FinalGrade != "U" AND //: lTrnscptNext.Registration.FinalGrade != "S" AND //: lTrnscptNext.Registration.FinalGrade != "W" AND //: lTrnscptNext.Registration.FinalGrade != "" if (CompareAttributeToString(lTrnscptRepeating, "Registration", "FinalGrade", "U") != 0 && CompareAttributeToString(lTrnscptRepeating, "Registration", "FinalGrade", "S") != 0 && CompareAttributeToString(lTrnscptRepeating, "Registration", "FinalGrade", "W") != 0 && CompareAttributeToString(lTrnscptRepeating, "Registration", "FinalGrade", "") != 0 && CompareAttributeToString(lTrnscptNext, "Registration", "FinalGrade", "U") != 0 && CompareAttributeToString(lTrnscptNext, "Registration", "FinalGrade", "S") != 0 && CompareAttributeToString(lTrnscptNext, "Registration", "FinalGrade", "W") != 0 && CompareAttributeToString(lTrnscptNext, "Registration", "FinalGrade", "") != 0) { //:lTrnscptNext.Registration.wReplacedGPA_DivisorCredits = lTrnscptRepeating.Registration.CreditHours SetAttributeFromAttribute(lTrnscptNext, "Registration", "wReplacedGPA_DivisorCredits", lTrnscptRepeating, "Registration", "CreditHours"); //:lTrnscptNext.Registration.wReplacedGPA_Points = EarlierGrade * lTrnscptRepeating.Registration.CreditHours { MutableDouble md_dTempDecimal_0 = new MutableDouble(dTempDecimal_0); GetDecimalFromAttribute(md_dTempDecimal_0, lTrnscptRepeating, "Registration", "CreditHours"); dTempDecimal_0 = md_dTempDecimal_0.doubleValue(); } dTempDecimal_1 = EarlierGrade * dTempDecimal_0; SetAttributeFromDecimal(lTrnscptNext, "Registration", "wReplacedGPA_Points", dTempDecimal_1); } //:END //:// Look for next repeating entry. //:ProcessRepeatRecur( lTrnscptNext, lTrnscptNext ) olTrnscpt_ProcessRepeatRecur(lTrnscptNext, lTrnscptNext); //:ELSE } else { //:lTrnscptNext.Registration.wRepeatedClass = "V" // This Class record is considered "void", as the earlier Class is used. SetAttributeFromString(lTrnscptNext, "Registration", "wRepeatedClass", "V"); //:lTrnscptRepeating.Registration.wRepeatedClass = "P" // This Class "replaces" the "voided" Class. SetAttributeFromString(lTrnscptRepeating, "Registration", "wRepeatedClass", "P"); //:// Attempted Credits, Earned Credits, Divisor Credits and GPA Points aren't affected in the "voided" Class for this case. //:// Look for next repeating entry. //:ProcessRepeatRecur( lTrnscptRepeating, lTrnscptNext ) olTrnscpt_ProcessRepeatRecur(lTrnscptRepeating, lTrnscptNext); } //:END } //:END } //:END //:DropView( lTrnscptNext ) DropView(lTrnscptNext); return (0); // END }
From source file:com.quinsoft.zencas.mDegTrk_Object.java
public int omDegTrk_AuditStudentCourses(View mDegTrk, View mStudenC_Orig) { zVIEW mStudenC = new zVIEW(); //:VIEW mStudenCT BASED ON LOD mStudenC zVIEW mStudenCT = new zVIEW(); //:VIEW mDegTrkC BASED ON LOD mDegTrk zVIEW mDegTrkC = new zVIEW(); //:VIEW mDegTrkR BASED ON LOD mDegTrkR zVIEW mDegTrkR = new zVIEW(); //:VIEW mStudent REGISTERED AS mStudent zVIEW mStudent = new zVIEW(); int RESULT = 0; //:VIEW mDegreeLST BASED ON LOD mDegree zVIEW mDegreeLST = new zVIEW(); //:VIEW mUser BASED ON LOD mUser zVIEW mUser = new zVIEW(); //:VIEW mCollegeLST BASED ON LOD mCollege zVIEW mCollegeLST = new zVIEW(); //:VIEW lTrnscpt BASED ON LOD lTrnscpt zVIEW lTrnscpt = new zVIEW(); //:VIEW lTrnscptT BASED ON LOD lTrnscpt zVIEW lTrnscptT = new zVIEW(); //:INTEGER CourseID int CourseID = 0; //:INTEGER CourseCount int CourseCount = 0; //:INTEGER CourseTakenCount int CourseTakenCount = 0; //:INTEGER CourseCompletedCount int CourseCompletedCount = 0; //:INTEGER MinimumElectiveGrade int MinimumElectiveGrade = 0; //:INTEGER Count int Count = 0; //:DECIMAL CreditsTaken double CreditsTaken = 0.0; //:DECIMAL CreditsCompleted double CreditsCompleted = 0.0; //:DECIMAL GraduationCreditsEarned double GraduationCreditsEarned = 0.0; //:DECIMAL MinCreditsTaken double MinCreditsTaken = 0.0; //:DECIMAL MinCreditsCompleted double MinCreditsCompleted = 0.0; //:DECIMAL MinCreditsRequired double MinCreditsRequired = 0.0; //:DECIMAL FinalGrade double FinalGrade = 0.0; //:DECIMAL TotalDegreeTrackCreditsTaken double TotalDegreeTrackCreditsTaken = 0.0; //:DECIMAL TotalDegreeTrackCreditsEarned double TotalDegreeTrackCreditsEarned = 0.0; //:DECIMAL MinimumGPA double MinimumGPA = 0.0; //:STRING ( 5 ) szCourseCount String szCourseCount = null;/* w w w.j a v a 2 s. c o m*/ //:STRING ( 5 ) szCourseTakenCount String szCourseTakenCount = null; //:STRING ( 10 ) szCreditsNeeded String szCreditsNeeded = null; //:STRING ( 10 ) szCreditsTaken String szCreditsTaken = null; //:STRING ( 1 ) szCourseTakenFlag String szCourseTakenFlag = null; //:STRING ( 1 ) szCourseCompletedFlag String szCourseCompletedFlag = null; //:STRING ( 10 ) CourseNumber String CourseNumber = null; //:STRING ( 50 ) CourseTitle String CourseTitle = null; //:STRING ( 20 ) szFinalGradeString String szFinalGradeString = null; //:STRING ( 1 ) SubstituteFlag String SubstituteFlag = null; //:STRING ( 1 ) RepeatableForCreditFlag String RepeatableForCreditFlag = null; //:STRING ( 1 ) DevelopmentalFlag String DevelopmentalFlag = null; //:STRING ( 20 ) StudentStatus String StudentStatus = null; //:STRING ( 4 ) szWorkYear String szWorkYear = null; //:STRING ( 8 ) szWorkDate String szWorkDate = null; //:STRING ( 200 ) Msg String Msg = null; //:STRING ( 20 ) szCollegeType String szCollegeType = null; //:STRING ( 1 ) GradUndergradFlag String GradUndergradFlag = null; //:STRING ( 1 ) TransferGradUndergradFlag String TransferGradUndergradFlag = null; //:SHORT nRC int nRC = 0; int lTempInteger_0 = 0; int lTempInteger_1 = 0; int lTempInteger_2 = 0; int lTempInteger_3 = 0; int lTempInteger_4 = 0; int lTempInteger_5 = 0; zVIEW vTempViewVar_0 = new zVIEW(); int lTempInteger_6 = 0; int lTempInteger_7 = 0; int lTempInteger_8 = 0; int lTempInteger_9 = 0; int lTempInteger_10 = 0; int lTempInteger_11 = 0; int lTempInteger_12 = 0; zVIEW vTempViewVar_1 = new zVIEW(); int lTempInteger_13 = 0; int lTempInteger_14 = 0; int lTempInteger_15 = 0; int lTempInteger_16 = 0; int lTempInteger_17 = 0; int lTempInteger_18 = 0; int lTempInteger_19 = 0; String szTempString_0 = null; int lTempInteger_20 = 0; String szTempString_1 = null; int lTempInteger_21 = 0; int lTempInteger_22 = 0; int lTempInteger_23 = 0; int lTempInteger_24 = 0; int lTempInteger_25 = 0; int lTempInteger_26 = 0; int lTempInteger_27 = 0; int lTempInteger_28 = 0; int lTempInteger_29 = 0; int lTempInteger_30 = 0; int lTempInteger_31 = 0; int lTempInteger_32 = 0; int lTempInteger_33 = 0; int lTempInteger_34 = 0; int lTempInteger_35 = 0; int lTempInteger_36 = 0; int lTempInteger_37 = 0; int lTempInteger_38 = 0; int lTempInteger_39 = 0; int lTempInteger_40 = 0; int lTempInteger_41 = 0; int lTempInteger_42 = 0; int lTempInteger_43 = 0; int lTempInteger_44 = 0; int lTempInteger_45 = 0; int lTempInteger_46 = 0; int lTempInteger_47 = 0; int lTempInteger_48 = 0; int lTempInteger_49 = 0; int lTempInteger_50 = 0; int lTempInteger_51 = 0; double dTempDecimal_0 = 0.0; double dTempDecimal_1 = 0.0; double dTempDecimal_2 = 0.0; String szTempString_2 = null; String szTempString_3 = null; double dTempDecimal_3 = 0.0; double dTempDecimal_4 = 0.0; double dTempDecimal_5 = 0.0; double dTempDecimal_6 = 0.0; int lTempInteger_52 = 0; String szTempString_4 = null; String szTempString_5 = null; double dTempDecimal_7 = 0.0; double dTempDecimal_8 = 0.0; double dTempDecimal_9 = 0.0; double dTempDecimal_10 = 0.0; double dTempDecimal_11 = 0.0; double dTempDecimal_12 = 0.0; int lTempInteger_53 = 0; String szTempString_6 = null; String szTempString_7 = null; int lTempInteger_54 = 0; String szTempString_8 = null; String szTempString_9 = null; String szTempString_10 = null; String szTempString_11 = null; double dTempDecimal_13 = 0.0; double dTempDecimal_14 = 0.0; double dTempDecimal_15 = 0.0; double dTempDecimal_16 = 0.0; String szTempString_12 = null; int lTempInteger_55 = 0; String szTempString_13 = null; String szTempString_14 = null; String szTempString_15 = null; double dTempDecimal_17 = 0.0; double dTempDecimal_18 = 0.0; double dTempDecimal_19 = 0.0; String szTempString_16 = null; double dTempDecimal_20 = 0.0; String szTempString_17 = null; int lTempInteger_56 = 0; int lTempInteger_57 = 0; String szTempString_18 = null; String szTempString_19 = null; int lTempInteger_58 = 0; int lTempInteger_59 = 0; int lTempInteger_60 = 0; String szTempString_20 = null; String szTempString_21 = null; int lTempInteger_61 = 0; int lTempInteger_62 = 0; String szTempString_22 = null; String szTempString_23 = null; int lTempInteger_63 = 0; int lTempInteger_64 = 0; int lTempInteger_65 = 0; int lTempInteger_66 = 0; double dTempDecimal_21 = 0.0; double dTempDecimal_22 = 0.0; RESULT = GetViewByName(mStudent, "mStudent", mDegTrk, zLEVEL_TASK); //:// Process the courses taken in mStudenC against the degree audit requirements of mDegTrk. //:// The results will be specified in the work attributes of mDegTrk. //:nRC = GetViewByName( mUser, "mUser", mDegTrk, zLEVEL_APPLICATION ) nRC = GetViewByName(mUser, "mUser", mDegTrk, zLEVEL_APPLICATION); //:IF nRC < 0 if (nRC < 0) { //:// Use task view in case we're running under Web. //:GetViewByName( mUser, "mUser", mDegTrk, zLEVEL_TASK ) GetViewByName(mUser, "mUser", mDegTrk, zLEVEL_TASK); } //:END //:mDegTrk.DegreeTrack.wAuditorName = mUser.User.dFullNameLFM SetAttributeFromAttribute(mDegTrk, "DegreeTrack", "wAuditorName", mUser, "User", "dFullNameLFM"); //:// Build the Student data from view mStudent. //:IF mDegTrk.AuditedStudent EXISTS lTempInteger_0 = CheckExistenceOfEntity(mDegTrk, "AuditedStudent"); if (lTempInteger_0 == 0) { //:DELETE ENTITY mDegTrk.AuditedStudent RESULT = DeleteEntity(mDegTrk, "AuditedStudent", zPOS_NEXT); } //:END //:CREATE ENTITY mDegTrk.AuditedStudent RESULT = CreateEntity(mDegTrk, "AuditedStudent", zPOS_AFTER); //:mDegTrk.AuditedStudent.FullName = mStudent.Person.dFullName SetAttributeFromAttribute(mDegTrk, "AuditedStudent", "FullName", mStudent, "Person", "dFullName"); //:mDegTrk.AuditedStudent.DegreeMajorName = mStudent.DegreeMajor.Name SetAttributeFromAttribute(mDegTrk, "AuditedStudent", "DegreeMajorName", mStudent, "DegreeMajor", "Name"); //:mDegTrk.AuditedStudent.DegreeMajorTrackName = mStudent.MajorDegreeTrack.Name SetAttributeFromAttribute(mDegTrk, "AuditedStudent", "DegreeMajorTrackName", mStudent, "MajorDegreeTrack", "Name"); //:mDegTrk.AuditedStudent.ClassificationAtAudit = mStudent.Student.CurrentLevel SetAttributeFromAttribute(mDegTrk, "AuditedStudent", "ClassificationAtAudit", mStudent, "Student", "CurrentLevel"); //:mDegTrk.AuditedStudent.ComprehensiveTestScore = mStudent.StudentMajorDegreeTrack.ComprehensiveTestScore SetAttributeFromAttribute(mDegTrk, "AuditedStudent", "ComprehensiveTestScore", mStudent, "StudentMajorDegreeTrack", "ComprehensiveTestScore"); //:mDegTrk.AuditedStudent.eMailAddress = mStudent.Student.eMailAddress SetAttributeFromAttribute(mDegTrk, "AuditedStudent", "eMailAddress", mStudent, "Student", "eMailAddress"); //:IF mStudent.DegreeTrackCollegeDegree EXISTS lTempInteger_1 = CheckExistenceOfEntity(mStudent, "DegreeTrackCollegeDegree"); if (lTempInteger_1 == 0) { //:mDegTrk.AuditedStudent.DegreeTrackCollegeDegreeName = mStudent.DegreeTrackCollegeDegree.Name SetAttributeFromAttribute(mDegTrk, "AuditedStudent", "DegreeTrackCollegeDegreeName", mStudent, "DegreeTrackCollegeDegree", "Name"); } //:END //:IF mStudent.Advisor EXISTS lTempInteger_2 = CheckExistenceOfEntity(mStudent, "Advisor"); if (lTempInteger_2 == 0) { //:mDegTrk.AuditedStudent.StudentAdvisorShortName = mStudent.Advisor.ShortName SetAttributeFromAttribute(mDegTrk, "AuditedStudent", "StudentAdvisorShortName", mStudent, "Advisor", "ShortName"); } //:END //:SET CURSOR FIRST mStudent.DegreeMinorCollege WITHIN mStudent.Student //: WHERE mStudent.DegreeMinorCollege.ID = mStudent.DegreeMajorCollege.ID { MutableInt mi_lTempInteger_3 = new MutableInt(lTempInteger_3); GetIntegerFromAttribute(mi_lTempInteger_3, mStudent, "DegreeMajorCollege", "ID"); lTempInteger_3 = mi_lTempInteger_3.intValue(); } RESULT = mStudent.cursor("DegreeMinorCollege").setFirst("ID", lTempInteger_3, "Student").toInt(); //:IF RESULT >= zCURSOR_SET if (RESULT >= zCURSOR_SET) { //:mDegTrk.AuditedStudent.DegreeMinorName = mStudent.DegreeMinor.Name SetAttributeFromAttribute(mDegTrk, "AuditedStudent", "DegreeMinorName", mStudent, "DegreeMinor", "Name"); } //:END //:IF mStudent.DC_AnticipatedGraduationDate EXISTS lTempInteger_4 = CheckExistenceOfEntity(mStudent, "DC_AnticipatedGraduationDate"); if (lTempInteger_4 == 0) { //:mDegTrk.AuditedStudent.AnticipatedGraduationDateName = mStudent.DC_AnticipatedGraduationDate.Name SetAttributeFromAttribute(mDegTrk, "AuditedStudent", "AnticipatedGraduationDateName", mStudent, "DC_AnticipatedGraduationDate", "Name"); } //:END //: //:// Activate the Transcript object, which is used for displaying Earned Credits, GPA, etc. //:GET VIEW lTrnscpt NAMED "lTrnscpt" RESULT = GetViewByName(lTrnscpt, "lTrnscpt", mDegTrk, zLEVEL_TASK); //:IF RESULT >= 0 if (RESULT >= 0) { //:DropObjectInstance( lTrnscpt ) DropObjectInstance(lTrnscpt); } //:END //:ACTIVATE lTrnscpt WHERE lTrnscpt.Student.ID = mStudenC_Orig.Student.ID { MutableInt mi_lTempInteger_5 = new MutableInt(lTempInteger_5); GetIntegerFromAttribute(mi_lTempInteger_5, mStudenC_Orig, "Student", "ID"); lTempInteger_5 = mi_lTempInteger_5.intValue(); } omDegTrk_fnLocalBuildQual_0(mDegTrk, vTempViewVar_0, lTempInteger_5); RESULT = ActivateObjectInstance(lTrnscpt, "lTrnscpt", mDegTrk, vTempViewVar_0, zSINGLE); DropView(vTempViewVar_0); //:NAME VIEW lTrnscpt "lTrnscpt" SetNameForView(lTrnscpt, "lTrnscpt", null, zLEVEL_TASK); //:// Build the Transcript object as either graduate or undergraduate, depending on the type of DegreeTrack. //:szCollegeType = mDegTrk.DegreeMajorCollege.Type // Type is Graduate or Undergraduate { MutableInt mi_lTempInteger_6 = new MutableInt(lTempInteger_6); StringBuilder sb_szCollegeType; if (szCollegeType == null) sb_szCollegeType = new StringBuilder(32); else sb_szCollegeType = new StringBuilder(szCollegeType); GetVariableFromAttribute(sb_szCollegeType, mi_lTempInteger_6, 'S', 21, mDegTrk, "DegreeMajorCollege", "Type", "", 0); lTempInteger_6 = mi_lTempInteger_6.intValue(); szCollegeType = sb_szCollegeType.toString(); } //:GradUndergradFlag = szCollegeType // Flag is G or U { StringBuilder sb_GradUndergradFlag; if (GradUndergradFlag == null) sb_GradUndergradFlag = new StringBuilder(32); else sb_GradUndergradFlag = new StringBuilder(GradUndergradFlag); ZeidonStringCopy(sb_GradUndergradFlag, 1, 0, szCollegeType, 1, 0, 2); GradUndergradFlag = sb_GradUndergradFlag.toString(); } //:BuildTranscript( lTrnscpt, GradUndergradFlag ) { lTrnscpt_Object m_lTrnscpt_Object = new lTrnscpt_Object(lTrnscpt); m_lTrnscpt_Object.olTrnscpt_BuildTranscript(lTrnscpt, GradUndergradFlag); // m_lTrnscpt_Object = null; // permit gc (unnecessary) } //:// Use a new copy of mStudenC, since we may drop entities in the object. //:ActivateOI_FromOI( mStudenC, mStudenC_Orig, zSINGLE ) ActivateOI_FromOI(mStudenC, mStudenC_Orig, zSINGLE); //:NAME VIEW mStudenC "mStudenC_Audit" SetNameForView(mStudenC, "mStudenC_Audit", null, zLEVEL_TASK); //:// Treat any IP grades as if the student is still enrolled in the Class. //:FOR EACH mStudenC.Registration RESULT = mStudenC.cursor("Registration").setFirst().toInt(); while (RESULT > zCURSOR_UNCHANGED) { //:szFinalGradeString = mStudenC.Registration.FinalGrade { MutableInt mi_lTempInteger_7 = new MutableInt(lTempInteger_7); StringBuilder sb_szFinalGradeString; if (szFinalGradeString == null) sb_szFinalGradeString = new StringBuilder(32); else sb_szFinalGradeString = new StringBuilder(szFinalGradeString); GetVariableFromAttribute(sb_szFinalGradeString, mi_lTempInteger_7, 'S', 21, mStudenC, "Registration", "FinalGrade", "", 0); lTempInteger_7 = mi_lTempInteger_7.intValue(); szFinalGradeString = sb_szFinalGradeString.toString(); } //:IF szFinalGradeString = "IP" OR //: szFinalGradeString = "I" OR //: szFinalGradeString = "NG" OR //: szFinalGradeString = "X" OR //: szFinalGradeString = "AI" if (ZeidonStringCompare(szFinalGradeString, 1, 0, "IP", 1, 0, 21) == 0 || ZeidonStringCompare(szFinalGradeString, 1, 0, "I", 1, 0, 21) == 0 || ZeidonStringCompare(szFinalGradeString, 1, 0, "NG", 1, 0, 21) == 0 || ZeidonStringCompare(szFinalGradeString, 1, 0, "X", 1, 0, 21) == 0 || ZeidonStringCompare(szFinalGradeString, 1, 0, "AI", 1, 0, 21) == 0) { //:mStudenC.Registration.FinalGrade = "" SetAttributeFromString(mStudenC, "Registration", "FinalGrade", ""); //:mStudenC.Registration.Status = "T" SetAttributeFromString(mStudenC, "Registration", "Status", "T"); } RESULT = mStudenC.cursor("Registration").setNextContinue().toInt(); ; //:END } //:END //:// Drop any Registration entries that are not for the grad/undergrad type of the College of the DegreeMajor. //:IF mDegTrk.DegreeMajorCollege EXISTS lTempInteger_8 = CheckExistenceOfEntity(mDegTrk, "DegreeMajorCollege"); if (lTempInteger_8 == 0) { //:GET VIEW mCollegeLST NAMED "mCollegeLST" RESULT = GetViewByName(mCollegeLST, "mCollegeLST", mDegTrk, zLEVEL_TASK); //:IF RESULT < 0 if (RESULT < 0) { //:ACTIVATE mCollegeLST RootOnlyMultiple RESULT = ActivateObjectInstance(mCollegeLST, "mCollege", mDegTrk, 0, zACTIVATE_ROOTONLY_MULTIPLE); //:NAME VIEW mCollegeLST "mCollegeLST" SetNameForView(mCollegeLST, "mCollegeLST", null, zLEVEL_TASK); } //:END //:FOR EACH mStudenC.Registration RESULT = mStudenC.cursor("Registration").setFirst().toInt(); while (RESULT > zCURSOR_UNCHANGED) { //:IF mStudenC.Registration.GradUndergradOverrideFlag != "" if (CompareAttributeToString(mStudenC, "Registration", "GradUndergradOverrideFlag", "") != 0) { //:IF mStudenC.Registration.GradUndergradOverrideFlag != GradUndergradFlag if (CompareAttributeToString(mStudenC, "Registration", "GradUndergradOverrideFlag", GradUndergradFlag) != 0) { //:DropEntity( mStudenC, "Registration", zREPOS_NONE ) DropEntity(mStudenC, "Registration", zREPOS_NONE); } //:END //:ELSE } else { //:IF mStudenC.RegistrationCourseCollege EXISTS lTempInteger_9 = CheckExistenceOfEntity(mStudenC, "RegistrationCourseCollege"); if (lTempInteger_9 == 0) { //:SET CURSOR FIRST mCollegeLST.College WHERE mCollegeLST.College.ID = mStudenC.RegistrationCourseCollege.ID { MutableInt mi_lTempInteger_10 = new MutableInt(lTempInteger_10); GetIntegerFromAttribute(mi_lTempInteger_10, mStudenC, "RegistrationCourseCollege", "ID"); lTempInteger_10 = mi_lTempInteger_10.intValue(); } RESULT = mCollegeLST.cursor("College").setFirst("ID", lTempInteger_10).toInt(); //:IF mCollegeLST.College.Type != szCollegeType if (CompareAttributeToString(mCollegeLST, "College", "Type", szCollegeType) != 0) { //:DropEntity( mStudenC, "Registration", zREPOS_NONE ) DropEntity(mStudenC, "Registration", zREPOS_NONE); } //:END //:ELSE } else { //:TransferGradUndergradFlag = "U" { StringBuilder sb_TransferGradUndergradFlag; if (TransferGradUndergradFlag == null) sb_TransferGradUndergradFlag = new StringBuilder(32); else sb_TransferGradUndergradFlag = new StringBuilder(TransferGradUndergradFlag); ZeidonStringCopy(sb_TransferGradUndergradFlag, 1, 0, "U", 1, 0, 2); TransferGradUndergradFlag = sb_TransferGradUndergradFlag.toString(); } //:IF mStudenC.RegTransferGroup EXISTS lTempInteger_11 = CheckExistenceOfEntity(mStudenC, "RegTransferGroup"); if (lTempInteger_11 == 0) { //:// Converted by DonC from GraduateCollegeFlag to ApplyToCollegeLevel on 1/13/2008. //://IF mStudenC.RegTransferGroup.GraduateCollegeFlag = "Y" //:IF mStudenC.RegTransferGroup.ApplyToCollegeLevel = "G" if (CompareAttributeToString(mStudenC, "RegTransferGroup", "ApplyToCollegeLevel", "G") == 0) { //:TransferGradUndergradFlag = "G" { StringBuilder sb_TransferGradUndergradFlag; if (TransferGradUndergradFlag == null) sb_TransferGradUndergradFlag = new StringBuilder(32); else sb_TransferGradUndergradFlag = new StringBuilder(TransferGradUndergradFlag); ZeidonStringCopy(sb_TransferGradUndergradFlag, 1, 0, "G", 1, 0, 2); TransferGradUndergradFlag = sb_TransferGradUndergradFlag.toString(); } } //:END } //:END //:IF TransferGradUndergradFlag != GradUndergradFlag if (ZeidonStringCompare(TransferGradUndergradFlag, 1, 0, GradUndergradFlag, 1, 0, 2) != 0) { //:DropEntity( mStudenC, "Registration", zREPOS_NONE ) DropEntity(mStudenC, "Registration", zREPOS_NONE); } //:END } //:END } RESULT = mStudenC.cursor("Registration").setNextContinue().toInt(); ; //:END } //:END } //:END //:// Add an "Electives" group for putting all classes that don't fall into one of the original Degree Track //:// Groups. //:SET CURSOR LAST mDegTrk.DegreeTrackRequiredGroup RESULT = mDegTrk.cursor("DegreeTrackRequiredGroup").setLast().toInt(); ; //:CREATE ENTITY mDegTrk.DegreeTrackRequiredGroup AFTER RESULT = CreateEntity(mDegTrk, "DegreeTrackRequiredGroup", zPOS_AFTER); //:CREATE ENTITY mDegTrk.RequiredGroup RESULT = CreateEntity(mDegTrk, "RequiredGroup", zPOS_AFTER); //:mDegTrk.RequiredGroup.Name = "Electives" SetAttributeFromString(mDegTrk, "RequiredGroup", "Name", "Electives"); //:mDegTrk.RequiredGroup.Type = "E" SetAttributeFromString(mDegTrk, "RequiredGroup", "Type", "E"); //:// Add any Student Requirements groups at the beginning. //:SET CURSOR FIRST mDegTrk.DegreeTrackRequiredGroup RESULT = mDegTrk.cursor("DegreeTrackRequiredGroup").setFirst().toInt(); //:FOR EACH mStudenC.HS_RequiredGroup RESULT = mStudenC.cursor("HS_RequiredGroup").setFirst().toInt(); while (RESULT > zCURSOR_UNCHANGED) { //:ACTIVATE mDegTrkR WHERE mDegTrkR.RequiredGroup.ID = mStudenC.HS_RequiredGroup.ID { MutableInt mi_lTempInteger_12 = new MutableInt(lTempInteger_12); GetIntegerFromAttribute(mi_lTempInteger_12, mStudenC, "HS_RequiredGroup", "ID"); lTempInteger_12 = mi_lTempInteger_12.intValue(); } omDegTrk_fnLocalBuildQual_1(mDegTrk, vTempViewVar_1, lTempInteger_12); RESULT = ActivateObjectInstance(mDegTrkR, "mDegTrkR", mDegTrk, vTempViewVar_1, zSINGLE); DropView(vTempViewVar_1); //:CREATE ENTITY mDegTrk.DegreeTrackRequiredGroup BEFORE RESULT = CreateEntity(mDegTrk, "DegreeTrackRequiredGroup", zPOS_BEFORE); //:INCLUDE mDegTrk.RequiredGroup FROM mDegTrkR.RequiredGroup RESULT = IncludeSubobjectFromSubobject(mDegTrk, "RequiredGroup", mDegTrkR, "RequiredGroup", zPOS_AFTER); //:DropObjectInstance( mDegTrkR ) DropObjectInstance(mDegTrkR); RESULT = mStudenC.cursor("HS_RequiredGroup").setNextContinue().toInt(); ; } //:END //:// Add an additional "Developmental" group at the beginning. //:SET CURSOR FIRST mDegTrk.DegreeTrackRequiredGroup RESULT = mDegTrk.cursor("DegreeTrackRequiredGroup").setFirst().toInt(); //:CREATE ENTITY mDegTrk.DegreeTrackRequiredGroup BEFORE RESULT = CreateEntity(mDegTrk, "DegreeTrackRequiredGroup", zPOS_BEFORE); //:CREATE ENTITY mDegTrk.RequiredGroup RESULT = CreateEntity(mDegTrk, "RequiredGroup", zPOS_AFTER); //:mDegTrk.RequiredGroup.Name = "Developmental" SetAttributeFromString(mDegTrk, "RequiredGroup", "Name", "Developmental"); //:mDegTrk.RequiredGroup.Type = "D" SetAttributeFromString(mDegTrk, "RequiredGroup", "Type", "D"); //:SetAttributeFromCurrentDateTime( mDegTrk, "DegreeTrack", "wCreatedDate" ) { ZGLOBAL1_Operation m_ZGLOBAL1_Operation = new ZGLOBAL1_Operation(mDegTrk); m_ZGLOBAL1_Operation.SetAttributeFromCurrentDateTime(mDegTrk, "DegreeTrack", "wCreatedDate"); // m_ZGLOBAL1_Operation = null; // permit gc (unnecessary) } //:// First, loop through and process any substituted Courses and assign them to the correct Group Course or Group. //:// If one or more entries exist to assign the Course to a particular Group and/or Course, we will first try to //:// use that information in assigning the Course. If it doesn't work or if no particular Course was requested, //:// we will skip assignment here. //:FOR EACH mStudenC.Registration //: WHERE mStudenC.Registration.Status = "C" // Completed //: OR mStudenC.Registration.Status = "T" // Currently Enrolled //: OR mStudenC.Registration.Status = "V" // Waived //: OR mStudenC.Registration.Status = "F" // Transferred //: OR mStudenC.Registration.Status = "X" // L. Transferred //: OR mStudenC.Registration.Status = "Y" // L. Waived //: OR mStudenC.Registration.Status = "P" // Pre-Transferred RESULT = mStudenC.cursor("Registration").setFirst().toInt(); while (RESULT > zCURSOR_UNCHANGED) { if (CompareAttributeToString(mStudenC, "Registration", "Status", "C") == 0 || CompareAttributeToString(mStudenC, "Registration", "Status", "T") == 0 || CompareAttributeToString(mStudenC, "Registration", "Status", "V") == 0 || CompareAttributeToString(mStudenC, "Registration", "Status", "F") == 0 || CompareAttributeToString(mStudenC, "Registration", "Status", "X") == 0 || CompareAttributeToString(mStudenC, "Registration", "Status", "Y") == 0 || CompareAttributeToString(mStudenC, "Registration", "Status", "P") == 0) { //:IF mStudenC.RegistrationClass EXISTS lTempInteger_13 = CheckExistenceOfEntity(mStudenC, "RegistrationClass"); if (lTempInteger_13 == 0) { //:IF mStudenC.CrossListedCourse EXISTS lTempInteger_14 = CheckExistenceOfEntity(mStudenC, "CrossListedCourse"); if (lTempInteger_14 == 0) { //:CourseID = mStudenC.CrossListedCourse.ID { MutableInt mi_CourseID = new MutableInt(CourseID); GetIntegerFromAttribute(mi_CourseID, mStudenC, "CrossListedCourse", "ID"); CourseID = mi_CourseID.intValue(); } //:ELSE } else { //:CourseID = mStudenC.RegistrationCourse.ID { MutableInt mi_CourseID = new MutableInt(CourseID); GetIntegerFromAttribute(mi_CourseID, mStudenC, "RegistrationCourse", "ID"); CourseID = mi_CourseID.intValue(); } } //:END //:RepeatableForCreditFlag = mStudenC.RegistrationCourse.RepeatableForCreditFlag { MutableInt mi_lTempInteger_15 = new MutableInt(lTempInteger_15); StringBuilder sb_RepeatableForCreditFlag; if (RepeatableForCreditFlag == null) sb_RepeatableForCreditFlag = new StringBuilder(32); else sb_RepeatableForCreditFlag = new StringBuilder(RepeatableForCreditFlag); GetVariableFromAttribute(sb_RepeatableForCreditFlag, mi_lTempInteger_15, 'S', 2, mStudenC, "RegistrationCourse", "RepeatableForCreditFlag", "", 0); lTempInteger_15 = mi_lTempInteger_15.intValue(); RepeatableForCreditFlag = sb_RepeatableForCreditFlag.toString(); } //:ELSE } else { //:IF mStudenC.EquivalentCourse EXISTS lTempInteger_16 = CheckExistenceOfEntity(mStudenC, "EquivalentCourse"); if (lTempInteger_16 == 0) { //:CourseID = mStudenC.EquivalentCourse.ID { MutableInt mi_CourseID = new MutableInt(CourseID); GetIntegerFromAttribute(mi_CourseID, mStudenC, "EquivalentCourse", "ID"); CourseID = mi_CourseID.intValue(); } //:RepeatableForCreditFlag = mStudenC.EquivalentCourse.RepeatableForCreditFlag { MutableInt mi_lTempInteger_17 = new MutableInt(lTempInteger_17); StringBuilder sb_RepeatableForCreditFlag; if (RepeatableForCreditFlag == null) sb_RepeatableForCreditFlag = new StringBuilder(32); else sb_RepeatableForCreditFlag = new StringBuilder(RepeatableForCreditFlag); GetVariableFromAttribute(sb_RepeatableForCreditFlag, mi_lTempInteger_17, 'S', 2, mStudenC, "EquivalentCourse", "RepeatableForCreditFlag", "", 0); lTempInteger_17 = mi_lTempInteger_17.intValue(); RepeatableForCreditFlag = sb_RepeatableForCreditFlag.toString(); } //:ELSE } else { //:CourseID = 0 CourseID = 0; } //:END } //:END //:SubstituteFlag = "" { StringBuilder sb_SubstituteFlag; if (SubstituteFlag == null) sb_SubstituteFlag = new StringBuilder(32); else sb_SubstituteFlag = new StringBuilder(SubstituteFlag); ZeidonStringCopy(sb_SubstituteFlag, 1, 0, "", 1, 0, 2); SubstituteFlag = sb_SubstituteFlag.toString(); } //:mStudenC.Registration.wSubstituteFlag = "" SetAttributeFromString(mStudenC, "Registration", "wSubstituteFlag", ""); //:FOR EACH mStudenC.DegreeAuditSpecification RESULT = mStudenC.cursor("DegreeAuditSpecification").setFirst().toInt(); while (RESULT > zCURSOR_UNCHANGED) { //:IF mStudenC.DAS_DegreeTrack DOES NOT EXIST lTempInteger_18 = CheckExistenceOfEntity(mStudenC, "DAS_DegreeTrack"); if (lTempInteger_18 != 0) { //:IF mStudenC.DAS_Course EXISTS lTempInteger_19 = CheckExistenceOfEntity(mStudenC, "DAS_Course"); if (lTempInteger_19 == 0) { //:Msg = "The Degree Track for Substitute Course, " + mStudenC.DAS_Course.Number + ", does not exist." + NEW_LINE + //: "Please delete the manual assignment entry." { MutableInt mi_lTempInteger_20 = new MutableInt(lTempInteger_20); StringBuilder sb_szTempString_0; if (szTempString_0 == null) sb_szTempString_0 = new StringBuilder(32); else sb_szTempString_0 = new StringBuilder(szTempString_0); GetVariableFromAttribute(sb_szTempString_0, mi_lTempInteger_20, 'S', 11, mStudenC, "DAS_Course", "Number", "", 0); lTempInteger_20 = mi_lTempInteger_20.intValue(); szTempString_0 = sb_szTempString_0.toString(); } { StringBuilder sb_Msg; if (Msg == null) sb_Msg = new StringBuilder(32); else sb_Msg = new StringBuilder(Msg); ZeidonStringCopy(sb_Msg, 1, 0, "The Degree Track for Substitute Course, ", 1, 0, 201); Msg = sb_Msg.toString(); } { StringBuilder sb_Msg; if (Msg == null) sb_Msg = new StringBuilder(32); else sb_Msg = new StringBuilder(Msg); ZeidonStringConcat(sb_Msg, 1, 0, szTempString_0, 1, 0, 201); Msg = sb_Msg.toString(); } { StringBuilder sb_Msg; if (Msg == null) sb_Msg = new StringBuilder(32); else sb_Msg = new StringBuilder(Msg); ZeidonStringConcat(sb_Msg, 1, 0, ", does not exist.", 1, 0, 201); Msg = sb_Msg.toString(); } { StringBuilder sb_Msg; if (Msg == null) sb_Msg = new StringBuilder(32); else sb_Msg = new StringBuilder(Msg); ZeidonStringConcat(sb_Msg, 1, 0, NEW_LINE, 1, 0, 201); Msg = sb_Msg.toString(); } { StringBuilder sb_Msg; if (Msg == null) sb_Msg = new StringBuilder(32); else sb_Msg = new StringBuilder(Msg); ZeidonStringConcat(sb_Msg, 1, 0, "Please delete the manual assignment entry.", 1, 0, 201); Msg = sb_Msg.toString(); } //:MessageSend( mStudenC, "", "Degree Audit", Msg, zMSGQ_OBJECT_CONSTRAINT_ERROR, 0 ) MessageSend(mStudenC, "", "Degree Audit", Msg, zMSGQ_OBJECT_CONSTRAINT_ERROR, 0); //:ELSE } else { //:Msg = "The Degree Track for Substitute Group, " + mStudenC.DAS_RequiredGroup.Name + ", does not exist." + NEW_LINE + //: "Please delete the manual assignment entry." { MutableInt mi_lTempInteger_21 = new MutableInt(lTempInteger_21); StringBuilder sb_szTempString_1; if (szTempString_1 == null) sb_szTempString_1 = new StringBuilder(32); else sb_szTempString_1 = new StringBuilder(szTempString_1); GetVariableFromAttribute(sb_szTempString_1, mi_lTempInteger_21, 'S', 51, mStudenC, "DAS_RequiredGroup", "Name", "", 0); lTempInteger_21 = mi_lTempInteger_21.intValue(); szTempString_1 = sb_szTempString_1.toString(); } { StringBuilder sb_Msg; if (Msg == null) sb_Msg = new StringBuilder(32); else sb_Msg = new StringBuilder(Msg); ZeidonStringCopy(sb_Msg, 1, 0, "The Degree Track for Substitute Group, ", 1, 0, 201); Msg = sb_Msg.toString(); } { StringBuilder sb_Msg; if (Msg == null) sb_Msg = new StringBuilder(32); else sb_Msg = new StringBuilder(Msg); ZeidonStringConcat(sb_Msg, 1, 0, szTempString_1, 1, 0, 201); Msg = sb_Msg.toString(); } { StringBuilder sb_Msg; if (Msg == null) sb_Msg = new StringBuilder(32); else sb_Msg = new StringBuilder(Msg); ZeidonStringConcat(sb_Msg, 1, 0, ", does not exist.", 1, 0, 201); Msg = sb_Msg.toString(); } { StringBuilder sb_Msg; if (Msg == null) sb_Msg = new StringBuilder(32); else sb_Msg = new StringBuilder(Msg); ZeidonStringConcat(sb_Msg, 1, 0, NEW_LINE, 1, 0, 201); Msg = sb_Msg.toString(); } { StringBuilder sb_Msg; if (Msg == null) sb_Msg = new StringBuilder(32); else sb_Msg = new StringBuilder(Msg); ZeidonStringConcat(sb_Msg, 1, 0, "Please delete the manual assignment entry.", 1, 0, 201); Msg = sb_Msg.toString(); } //:MessageSend( mStudenC, "", "Degree Audit", Msg, zMSGQ_OBJECT_CONSTRAINT_ERROR, 0 ) MessageSend(mStudenC, "", "Degree Audit", Msg, zMSGQ_OBJECT_CONSTRAINT_ERROR, 0); } //:END //:ELSE } else { //:IF SubstituteFlag = "" AND mStudenC.DAS_DegreeTrack.ID = mDegTrk.DegreeTrack.ID if (ZeidonStringCompare(SubstituteFlag, 1, 0, "", 1, 0, 2) == 0 && CompareAttributeToAttribute(mStudenC, "DAS_DegreeTrack", "ID", mDegTrk, "DegreeTrack", "ID") == 0) { //:SET CURSOR FIRST mDegTrk.RequiredGroup WITHIN mDegTrk.DegreeTrack //: WHERE mDegTrk.RequiredGroup.ID = mStudenC.DAS_RequiredGroup.ID { MutableInt mi_lTempInteger_22 = new MutableInt(lTempInteger_22); GetIntegerFromAttribute(mi_lTempInteger_22, mStudenC, "DAS_RequiredGroup", "ID"); lTempInteger_22 = mi_lTempInteger_22.intValue(); } RESULT = mDegTrk.cursor("RequiredGroup").setFirst("ID", lTempInteger_22, "DegreeTrack") .toInt(); //:IF mStudenC.DAS_RequiredSubGroup EXISTS lTempInteger_23 = CheckExistenceOfEntity(mStudenC, "DAS_RequiredSubGroup"); if (lTempInteger_23 == 0) { //:SET CURSOR FIRST mDegTrk.RequiredSubGroup //: WHERE mDegTrk.RequiredSubGroup.ID = mStudenC.DAS_RequiredSubGroup.ID { MutableInt mi_lTempInteger_24 = new MutableInt(lTempInteger_24); GetIntegerFromAttribute(mi_lTempInteger_24, mStudenC, "DAS_RequiredSubGroup", "ID"); lTempInteger_24 = mi_lTempInteger_24.intValue(); } RESULT = mDegTrk.cursor("RequiredSubGroup").setFirst("ID", lTempInteger_24).toInt(); } //:END //:IF mStudenC.DAS_Course EXISTS lTempInteger_25 = CheckExistenceOfEntity(mStudenC, "DAS_Course"); if (lTempInteger_25 == 0) { //:// A particular Course override entry is selected, so just position on that Course. //:SET CURSOR FIRST mDegTrk.CourseType1or2 WITHIN mDegTrk.RequiredGroup //: WHERE mDegTrk.CourseType1or2.ID = mStudenC.DAS_Course.ID { MutableInt mi_lTempInteger_26 = new MutableInt(lTempInteger_26); GetIntegerFromAttribute(mi_lTempInteger_26, mStudenC, "DAS_Course", "ID"); lTempInteger_26 = mi_lTempInteger_26.intValue(); } RESULT = mDegTrk.cursor("CourseType1or2") .setFirst("ID", lTempInteger_26, "RequiredGroup").toInt(); //:IF RESULT >= zCURSOR_SET AND mDegTrk.RequiredGroup.Type != "E" if (RESULT >= zCURSOR_SET && CompareAttributeToString(mDegTrk, "RequiredGroup", "Type", "E") != 0) { //:CourseType1or2Match( mDegTrk, mStudenC, mStudent ) omDegTrk_CourseType1or2Match(mDegTrk, mStudenC, mStudent); //:SubstituteFlag = "Y" { StringBuilder sb_SubstituteFlag; if (SubstituteFlag == null) sb_SubstituteFlag = new StringBuilder(32); else sb_SubstituteFlag = new StringBuilder(SubstituteFlag); ZeidonStringCopy(sb_SubstituteFlag, 1, 0, "Y", 1, 0, 2); SubstituteFlag = sb_SubstituteFlag.toString(); } //:mStudenC.Registration.wSubstituteFlag = "Y" SetAttributeFromString(mStudenC, "Registration", "wSubstituteFlag", "Y"); //:ELSE } else { //:IF mStudenC.DAS_RequiredSubGroup EXISTS lTempInteger_27 = CheckExistenceOfEntity(mStudenC, "DAS_RequiredSubGroup"); if (lTempInteger_27 == 0) { //:SET CURSOR FIRST mDegTrk.RequiredSubGroup //: WHERE mDegTrk.RequiredSubGroup.ID = mStudenC.DAS_RequiredSubGroup.ID { MutableInt mi_lTempInteger_28 = new MutableInt(lTempInteger_28); GetIntegerFromAttribute(mi_lTempInteger_28, mStudenC, "DAS_RequiredSubGroup", "ID"); lTempInteger_28 = mi_lTempInteger_28.intValue(); } RESULT = mDegTrk.cursor("RequiredSubGroup").setFirst("ID", lTempInteger_28) .toInt(); //:SET CURSOR FIRST mDegTrk.CourseType3or4 WITHIN mDegTrk.RequiredSubGroup //: WHERE mDegTrk.CourseType3or4.ID = mStudenC.DAS_Course.ID { MutableInt mi_lTempInteger_29 = new MutableInt(lTempInteger_29); GetIntegerFromAttribute(mi_lTempInteger_29, mStudenC, "DAS_Course", "ID"); lTempInteger_29 = mi_lTempInteger_29.intValue(); } RESULT = mDegTrk.cursor("CourseType3or4") .setFirst("ID", lTempInteger_29, "RequiredSubGroup").toInt(); //:ELSE } else { //:SET CURSOR FIRST mDegTrk.CourseType3or4 WITHIN mDegTrk.RequiredGroup //: WHERE mDegTrk.CourseType3or4.ID = mStudenC.DAS_Course.ID { MutableInt mi_lTempInteger_30 = new MutableInt(lTempInteger_30); GetIntegerFromAttribute(mi_lTempInteger_30, mStudenC, "DAS_Course", "ID"); lTempInteger_30 = mi_lTempInteger_30.intValue(); } RESULT = mDegTrk.cursor("CourseType3or4") .setFirst("ID", lTempInteger_30, "RequiredGroup").toInt(); } //:END //:IF RESULT >= zCURSOR_SET AND mDegTrk.RequiredGroup.Type != "E" if (RESULT >= zCURSOR_SET && CompareAttributeToString(mDegTrk, "RequiredGroup", "Type", "E") != 0) { //:CourseType3or4Match( mDegTrk, mStudenC, mStudent ) omDegTrk_CourseType3or4Match(mDegTrk, mStudenC, mStudent); //:SubstituteFlag = "Y" { StringBuilder sb_SubstituteFlag; if (SubstituteFlag == null) sb_SubstituteFlag = new StringBuilder(32); else sb_SubstituteFlag = new StringBuilder(SubstituteFlag); ZeidonStringCopy(sb_SubstituteFlag, 1, 0, "Y", 1, 0, 2); SubstituteFlag = sb_SubstituteFlag.toString(); } //:mStudenC.Registration.wSubstituteFlag = "Y" SetAttributeFromString(mStudenC, "Registration", "wSubstituteFlag", "Y"); } //:END } //:END //:ELSE } else { //:// A particular Course entry is not selected. //:IF RepeatableForCreditFlag = "Y" if (ZeidonStringCompare(RepeatableForCreditFlag, 1, 0, "Y", 1, 0, 2) == 0) { //:// For Repeatable Course, we don't care about whether we've already processed the entry. //:SET CURSOR FIRST mDegTrk.CourseType1or2 WITHIN mDegTrk.RequiredGroup //: WHERE mDegTrk.CourseType1or2.ID = CourseID RESULT = mDegTrk.cursor("CourseType1or2") .setFirst("ID", CourseID, "RequiredGroup").toInt(); //:IF RESULT >= zCURSOR_SET AND mDegTrk.RequiredGroup.Type != "E" if (RESULT >= zCURSOR_SET && CompareAttributeToString(mDegTrk, "RequiredGroup", "Type", "E") != 0) { //:CourseType1or2Match( mDegTrk, mStudenC, mStudent ) omDegTrk_CourseType1or2Match(mDegTrk, mStudenC, mStudent); //:SubstituteFlag = "Y" { StringBuilder sb_SubstituteFlag; if (SubstituteFlag == null) sb_SubstituteFlag = new StringBuilder(32); else sb_SubstituteFlag = new StringBuilder(SubstituteFlag); ZeidonStringCopy(sb_SubstituteFlag, 1, 0, "Y", 1, 0, 2); SubstituteFlag = sb_SubstituteFlag.toString(); } //:mStudenC.Registration.wSubstituteFlag = "Y" SetAttributeFromString(mStudenC, "Registration", "wSubstituteFlag", "Y"); //:ELSE } else { //:IF mStudenC.DAS_RequiredSubGroup EXISTS lTempInteger_31 = CheckExistenceOfEntity(mStudenC, "DAS_RequiredSubGroup"); if (lTempInteger_31 == 0) { //:SET CURSOR FIRST mDegTrk.CourseType3or4 WITHIN mDegTrk.RequiredSubGroup //: WHERE mDegTrk.CourseType3or4.ID = CourseID RESULT = mDegTrk.cursor("CourseType3or4") .setFirst("ID", CourseID, "RequiredSubGroup").toInt(); //:ELSE } else { //:SET CURSOR FIRST mDegTrk.CourseType3or4 WITHIN mDegTrk.RequiredGroup //: WHERE mDegTrk.CourseType3or4.ID = CourseID RESULT = mDegTrk.cursor("CourseType3or4") .setFirst("ID", CourseID, "RequiredGroup").toInt(); } //:END //:IF RESULT >= zCURSOR_SET AND mDegTrk.RequiredGroup.Type != "E" if (RESULT >= zCURSOR_SET && CompareAttributeToString(mDegTrk, "RequiredGroup", "Type", "E") != 0) { //:CourseType3or4Match( mDegTrk, mStudenC, mStudent ) omDegTrk_CourseType3or4Match(mDegTrk, mStudenC, mStudent); //:SubstituteFlag = "Y" { StringBuilder sb_SubstituteFlag; if (SubstituteFlag == null) sb_SubstituteFlag = new StringBuilder(32); else sb_SubstituteFlag = new StringBuilder(SubstituteFlag); ZeidonStringCopy(sb_SubstituteFlag, 1, 0, "Y", 1, 0, 2); SubstituteFlag = sb_SubstituteFlag.toString(); } //:mStudenC.Registration.wSubstituteFlag = "Y" SetAttributeFromString(mStudenC, "Registration", "wSubstituteFlag", "Y"); } //:END } //:END //:ELSE } else { //:// For non-Repeatable Course, we DO care about whether we've already processed the entry. //:SET CURSOR FIRST mDegTrk.CourseType1or2 WITHIN mDegTrk.RequiredGroup //: WHERE mDegTrk.CourseType1or2.ID = CourseID //: AND mDegTrk.CourseType1or2.wDegreeAuditCourseTaken = "" RESULT = mDegTrk.cursor("CourseType1or2").setFirst("RequiredGroup").toInt(); if (RESULT > zCURSOR_UNCHANGED) { while (RESULT > zCURSOR_UNCHANGED && (CompareAttributeToInteger(mDegTrk, "CourseType1or2", "ID", CourseID) != 0 || CompareAttributeToString(mDegTrk, "CourseType1or2", "wDegreeAuditCourseTaken", "") != 0)) { RESULT = mDegTrk.cursor("CourseType1or2").setNextContinue().toInt(); ; } } //:IF RESULT >= zCURSOR_SET AND mDegTrk.RequiredGroup.Type != "E" if (RESULT >= zCURSOR_SET && CompareAttributeToString(mDegTrk, "RequiredGroup", "Type", "E") != 0) { //:CourseType1or2Match( mDegTrk, mStudenC, mStudent ) omDegTrk_CourseType1or2Match(mDegTrk, mStudenC, mStudent); //:SubstituteFlag = "Y" { StringBuilder sb_SubstituteFlag; if (SubstituteFlag == null) sb_SubstituteFlag = new StringBuilder(32); else sb_SubstituteFlag = new StringBuilder(SubstituteFlag); ZeidonStringCopy(sb_SubstituteFlag, 1, 0, "Y", 1, 0, 2); SubstituteFlag = sb_SubstituteFlag.toString(); } //:mStudenC.Registration.wSubstituteFlag = "Y" SetAttributeFromString(mStudenC, "Registration", "wSubstituteFlag", "Y"); //:ELSE } else { //:IF mStudenC.DAS_RequiredSubGroup EXISTS lTempInteger_32 = CheckExistenceOfEntity(mStudenC, "DAS_RequiredSubGroup"); if (lTempInteger_32 == 0) { //:SET CURSOR FIRST mDegTrk.CourseType3or4 WITHIN mDegTrk.RequiredSubGroup //: WHERE mDegTrk.CourseType3or4.ID = CourseID //: AND mDegTrk.CourseType3or4.wDegreeAuditCourseTaken = "" RESULT = mDegTrk.cursor("CourseType3or4").setFirst("RequiredSubGroup") .toInt(); if (RESULT > zCURSOR_UNCHANGED) { while (RESULT > zCURSOR_UNCHANGED && (CompareAttributeToInteger( mDegTrk, "CourseType3or4", "ID", CourseID) != 0 || CompareAttributeToString(mDegTrk, "CourseType3or4", "wDegreeAuditCourseTaken", "") != 0)) { RESULT = mDegTrk.cursor("CourseType3or4").setNextContinue() .toInt(); ; } } //:ELSE } else { //:SET CURSOR FIRST mDegTrk.CourseType3or4 WITHIN mDegTrk.RequiredGroup //: WHERE mDegTrk.CourseType3or4.ID = CourseID //: AND mDegTrk.CourseType3or4.wDegreeAuditCourseTaken = "" RESULT = mDegTrk.cursor("CourseType3or4").setFirst("RequiredGroup") .toInt(); if (RESULT > zCURSOR_UNCHANGED) { while (RESULT > zCURSOR_UNCHANGED && (CompareAttributeToInteger( mDegTrk, "CourseType3or4", "ID", CourseID) != 0 || CompareAttributeToString(mDegTrk, "CourseType3or4", "wDegreeAuditCourseTaken", "") != 0)) { RESULT = mDegTrk.cursor("CourseType3or4").setNextContinue() .toInt(); ; } } } //:END //:IF RESULT >= zCURSOR_SET AND mDegTrk.RequiredGroup.Type != "E" if (RESULT >= zCURSOR_SET && CompareAttributeToString(mDegTrk, "RequiredGroup", "Type", "E") != 0) { //:CourseType3or4Match( mDegTrk, mStudenC, mStudent ) omDegTrk_CourseType3or4Match(mDegTrk, mStudenC, mStudent); //:SubstituteFlag = "Y" { StringBuilder sb_SubstituteFlag; if (SubstituteFlag == null) sb_SubstituteFlag = new StringBuilder(32); else sb_SubstituteFlag = new StringBuilder(SubstituteFlag); ZeidonStringCopy(sb_SubstituteFlag, 1, 0, "Y", 1, 0, 2); SubstituteFlag = sb_SubstituteFlag.toString(); } //:mStudenC.Registration.wSubstituteFlag = "Y" SetAttributeFromString(mStudenC, "Registration", "wSubstituteFlag", "Y"); } //:END } //:END } //:END } //:END } //:END } RESULT = mStudenC.cursor("DegreeAuditSpecification").setNextContinue().toInt(); ; //:END } } RESULT = mStudenC.cursor("Registration").setNextContinue().toInt(); ; //:END } //:END //:// Next, loop through all non-substitute courses taken (or equivalency, if taken somewhere else) and indicate in //:// mDegTrk if the grade in the class qualifies the course for credit in mDegTrk. //:// We will not consider repeated courses or Developmental courses on this pass. //:MinimumElectiveGrade = 1 // Minimum grade is D, which has quality points of 1. MinimumElectiveGrade = 1; //:FOR EACH mStudenC.Registration //: WHERE mStudenC.Registration.Status = "C" // Completed //: OR mStudenC.Registration.Status = "T" // Currently Enrolled //: OR mStudenC.Registration.Status = "V" // Waived //: OR mStudenC.Registration.Status = "F" // Transferred //: OR mStudenC.Registration.Status = "X" // L. Transferred //: OR mStudenC.Registration.Status = "Y" // L. Waived //: OR mStudenC.Registration.Status = "P" // Pre-Transferred RESULT = mStudenC.cursor("Registration").setFirst().toInt(); while (RESULT > zCURSOR_UNCHANGED) { if (CompareAttributeToString(mStudenC, "Registration", "Status", "C") == 0 || CompareAttributeToString(mStudenC, "Registration", "Status", "T") == 0 || CompareAttributeToString(mStudenC, "Registration", "Status", "V") == 0 || CompareAttributeToString(mStudenC, "Registration", "Status", "F") == 0 || CompareAttributeToString(mStudenC, "Registration", "Status", "X") == 0 || CompareAttributeToString(mStudenC, "Registration", "Status", "Y") == 0 || CompareAttributeToString(mStudenC, "Registration", "Status", "P") == 0) { //:IF mStudenC.RegistrationClass EXISTS lTempInteger_33 = CheckExistenceOfEntity(mStudenC, "RegistrationClass"); if (lTempInteger_33 == 0) { //:IF mStudenC.CrossListedCourse EXISTS lTempInteger_34 = CheckExistenceOfEntity(mStudenC, "CrossListedCourse"); if (lTempInteger_34 == 0) { //:CourseID = mStudenC.CrossListedCourse.ID { MutableInt mi_CourseID = new MutableInt(CourseID); GetIntegerFromAttribute(mi_CourseID, mStudenC, "CrossListedCourse", "ID"); CourseID = mi_CourseID.intValue(); } //:ELSE } else { //:CourseID = mStudenC.RegistrationCourse.ID { MutableInt mi_CourseID = new MutableInt(CourseID); GetIntegerFromAttribute(mi_CourseID, mStudenC, "RegistrationCourse", "ID"); CourseID = mi_CourseID.intValue(); } } //:END //:RepeatableForCreditFlag = mStudenC.RegistrationCourse.RepeatableForCreditFlag { MutableInt mi_lTempInteger_35 = new MutableInt(lTempInteger_35); StringBuilder sb_RepeatableForCreditFlag; if (RepeatableForCreditFlag == null) sb_RepeatableForCreditFlag = new StringBuilder(32); else sb_RepeatableForCreditFlag = new StringBuilder(RepeatableForCreditFlag); GetVariableFromAttribute(sb_RepeatableForCreditFlag, mi_lTempInteger_35, 'S', 2, mStudenC, "RegistrationCourse", "RepeatableForCreditFlag", "", 0); lTempInteger_35 = mi_lTempInteger_35.intValue(); RepeatableForCreditFlag = sb_RepeatableForCreditFlag.toString(); } //:DevelopmentalFlag = mStudenC.RegistrationCourse.DevelopmentalFlag { MutableInt mi_lTempInteger_36 = new MutableInt(lTempInteger_36); StringBuilder sb_DevelopmentalFlag; if (DevelopmentalFlag == null) sb_DevelopmentalFlag = new StringBuilder(32); else sb_DevelopmentalFlag = new StringBuilder(DevelopmentalFlag); GetVariableFromAttribute(sb_DevelopmentalFlag, mi_lTempInteger_36, 'S', 2, mStudenC, "RegistrationCourse", "DevelopmentalFlag", "", 0); lTempInteger_36 = mi_lTempInteger_36.intValue(); DevelopmentalFlag = sb_DevelopmentalFlag.toString(); } //:ELSE } else { //:IF mStudenC.EquivalentCourse EXISTS lTempInteger_37 = CheckExistenceOfEntity(mStudenC, "EquivalentCourse"); if (lTempInteger_37 == 0) { //:CourseID = mStudenC.EquivalentCourse.ID { MutableInt mi_CourseID = new MutableInt(CourseID); GetIntegerFromAttribute(mi_CourseID, mStudenC, "EquivalentCourse", "ID"); CourseID = mi_CourseID.intValue(); } //:RepeatableForCreditFlag = mStudenC.EquivalentCourse.RepeatableForCreditFlag { MutableInt mi_lTempInteger_38 = new MutableInt(lTempInteger_38); StringBuilder sb_RepeatableForCreditFlag; if (RepeatableForCreditFlag == null) sb_RepeatableForCreditFlag = new StringBuilder(32); else sb_RepeatableForCreditFlag = new StringBuilder(RepeatableForCreditFlag); GetVariableFromAttribute(sb_RepeatableForCreditFlag, mi_lTempInteger_38, 'S', 2, mStudenC, "EquivalentCourse", "RepeatableForCreditFlag", "", 0); lTempInteger_38 = mi_lTempInteger_38.intValue(); RepeatableForCreditFlag = sb_RepeatableForCreditFlag.toString(); } //:DevelopmentalFlag = "" { StringBuilder sb_DevelopmentalFlag; if (DevelopmentalFlag == null) sb_DevelopmentalFlag = new StringBuilder(32); else sb_DevelopmentalFlag = new StringBuilder(DevelopmentalFlag); ZeidonStringCopy(sb_DevelopmentalFlag, 1, 0, "", 1, 0, 2); DevelopmentalFlag = sb_DevelopmentalFlag.toString(); } //:ELSE } else { //:CourseID = 0 CourseID = 0; } //:END } //:END //:GetStringFromAttributeByContext( StudentStatus, mStudenC, "Registration", "Status", "", 20 ) { StringBuilder sb_StudentStatus; if (StudentStatus == null) sb_StudentStatus = new StringBuilder(32); else sb_StudentStatus = new StringBuilder(StudentStatus); GetStringFromAttributeByContext(sb_StudentStatus, mStudenC, "Registration", "Status", "", 20); StudentStatus = sb_StudentStatus.toString(); } //:// Skip repeated courses, Developmental courses or substituted courses. //:IF mStudenC.Registration.wRepeatedClass = "" AND //://DevelopmentalFlag = "" AND //:mStudenC.Registration.wSubstituteFlag != "Y" if (CompareAttributeToString(mStudenC, "Registration", "wRepeatedClass", "") == 0 && CompareAttributeToString(mStudenC, "Registration", "wSubstituteFlag", "Y") != 0) { //:GetStringFromAttributeByContext( szFinalGradeString, //: mStudenC, "Registration", "FinalGrade", "DegreeTrackGradePointValue", 20 ) { StringBuilder sb_szFinalGradeString; if (szFinalGradeString == null) sb_szFinalGradeString = new StringBuilder(32); else sb_szFinalGradeString = new StringBuilder(szFinalGradeString); GetStringFromAttributeByContext(sb_szFinalGradeString, mStudenC, "Registration", "FinalGrade", "DegreeTrackGradePointValue", 20); szFinalGradeString = sb_szFinalGradeString.toString(); } //:FinalGrade = StrToDecimal( szFinalGradeString ) // FinalGrade is in "Quality Points". { ZGLOBAL1_Operation m_ZGLOBAL1_Operation = new ZGLOBAL1_Operation(mDegTrk); FinalGrade = m_ZGLOBAL1_Operation.StrToDecimal(szFinalGradeString); // m_ZGLOBAL1_Operation = null; // permit gc (unnecessary) } //:szFinalGradeString = mStudenC.Registration.FinalGrade // Get grade again as normal string. { MutableInt mi_lTempInteger_39 = new MutableInt(lTempInteger_39); StringBuilder sb_szFinalGradeString; if (szFinalGradeString == null) sb_szFinalGradeString = new StringBuilder(32); else sb_szFinalGradeString = new StringBuilder(szFinalGradeString); GetVariableFromAttribute(sb_szFinalGradeString, mi_lTempInteger_39, 'S', 21, mStudenC, "Registration", "FinalGrade", "", 0); lTempInteger_39 = mi_lTempInteger_39.intValue(); szFinalGradeString = sb_szFinalGradeString.toString(); } //:// Process Course ID just selected if it has not already been assigned as a substitue Course. //:// How we try to position on a particular Course entry depends on whether or not the Course is repeatable and //:// whether the Course entry has been selected to be assigned to a particular Group or a particular Course within //:// a Group.. //:IF mStudenC.Registration.wSubstituteFlag = "" if (CompareAttributeToString(mStudenC, "Registration", "wSubstituteFlag", "") == 0) { //:IF mStudenC.Registration.TakingClassType = "A" if (CompareAttributeToString(mStudenC, "Registration", "TakingClassType", "A") == 0) { //:// Course is being audited, so add to Elective group. //:CreateElectiveEntry( mDegTrk, mStudenC, mStudent ) omDegTrk_CreateElectiveEntry(mDegTrk, mStudenC, mStudent); //:mDegTrk.CourseType1or2.wCreditsTaken = 0 SetAttributeFromInteger(mDegTrk, "CourseType1or2", "wCreditsTaken", 0); //:IF mStudenC.Registration.Status = "C" if (CompareAttributeToString(mStudenC, "Registration", "Status", "C") == 0) { //:mDegTrk.CourseType1or2.wCourseStatus = "Audited" SetAttributeFromString(mDegTrk, "CourseType1or2", "wCourseStatus", "Audited"); //:ELSE } else { //:mDegTrk.CourseType1or2.wCourseStatus = "Auditing" SetAttributeFromString(mDegTrk, "CourseType1or2", "wCourseStatus", "Auditing"); } //:END //:ELSE } else { //:IF RepeatableForCreditFlag = "Y" if (ZeidonStringCompare(RepeatableForCreditFlag, 1, 0, "Y", 1, 0, 2) == 0) { //:// For Repeatable Course, we don't care about whether we've already processed the entry. //:SET CURSOR FIRST mDegTrk.CourseType1or2 WITHIN mDegTrk.DegreeTrack //: WHERE mDegTrk.CourseType1or2.ID = CourseID RESULT = mDegTrk.cursor("CourseType1or2").setFirst("ID", CourseID, "DegreeTrack") .toInt(); //:// If the RequiredGroup is Type 1, then we do care about positioning on an entry that we've not yet processed. //:IF mDegTrk.RequiredGroup.Type = "1" if (CompareAttributeToString(mDegTrk, "RequiredGroup", "Type", "1") == 0) { //:SET CURSOR FIRST mDegTrk.CourseType1or2 WITHIN mDegTrk.DegreeTrack //: WHERE mDegTrk.CourseType1or2.ID = CourseID //: AND mDegTrk.CourseType1or2.wDegreeAuditCourseTaken = "" RESULT = mDegTrk.cursor("CourseType1or2").setFirst("DegreeTrack").toInt(); if (RESULT > zCURSOR_UNCHANGED) { while (RESULT > zCURSOR_UNCHANGED && (CompareAttributeToInteger(mDegTrk, "CourseType1or2", "ID", CourseID) != 0 || CompareAttributeToString(mDegTrk, "CourseType1or2", "wDegreeAuditCourseTaken", "") != 0)) { RESULT = mDegTrk.cursor("CourseType1or2").setNextContinue().toInt(); ; } } } //:END //:ELSE } else { //:// For non-Repeatable Course, we DO care about whether we've already processed the entry. //:SET CURSOR FIRST mDegTrk.CourseType1or2 WITHIN mDegTrk.DegreeTrack //: WHERE mDegTrk.CourseType1or2.ID = CourseID //: AND mDegTrk.CourseType1or2.wDegreeAuditCourseTaken = "" RESULT = mDegTrk.cursor("CourseType1or2").setFirst("DegreeTrack").toInt(); if (RESULT > zCURSOR_UNCHANGED) { while (RESULT > zCURSOR_UNCHANGED && (CompareAttributeToInteger(mDegTrk, "CourseType1or2", "ID", CourseID) != 0 || CompareAttributeToString(mDegTrk, "CourseType1or2", "wDegreeAuditCourseTaken", "") != 0)) { RESULT = mDegTrk.cursor("CourseType1or2").setNextContinue().toInt(); ; } } } //:END //:IF RESULT >= zCURSOR_SET AND mDegTrk.RequiredGroup.Type != "E" if (RESULT >= zCURSOR_SET && CompareAttributeToString(mDegTrk, "RequiredGroup", "Type", "E") != 0) { //:// There was a match on CourseType1or2. Go process entry. //:CourseType1or2Match( mDegTrk, mStudenC, mStudent ) omDegTrk_CourseType1or2Match(mDegTrk, mStudenC, mStudent); //:ELSE } else { //:// There wasn't a match on CourseType1or2, so try CourseType3or4. //:IF RepeatableForCreditFlag = "Y" if (ZeidonStringCompare(RepeatableForCreditFlag, 1, 0, "Y", 1, 0, 2) == 0) { //:// For Repeatable Course, we don't care about whether we've already processed the entry. //:SET CURSOR FIRST mDegTrk.CourseType3or4 WITHIN mDegTrk.DegreeTrack //: WHERE mDegTrk.CourseType3or4.ID = CourseID RESULT = mDegTrk.cursor("CourseType3or4") .setFirst("ID", CourseID, "DegreeTrack").toInt(); //:ELSE } else { //:// For non-Repeatable Course, we DO care about whether we've already processed the entry. //:SET CURSOR FIRST mDegTrk.CourseType3or4 WITHIN mDegTrk.DegreeTrack //: WHERE mDegTrk.CourseType3or4.ID = CourseID //: AND mDegTrk.CourseType3or4.wDegreeAuditCourseTaken = "" RESULT = mDegTrk.cursor("CourseType3or4").setFirst("DegreeTrack").toInt(); if (RESULT > zCURSOR_UNCHANGED) { while (RESULT > zCURSOR_UNCHANGED && (CompareAttributeToInteger(mDegTrk, "CourseType3or4", "ID", CourseID) != 0 || CompareAttributeToString(mDegTrk, "CourseType3or4", "wDegreeAuditCourseTaken", "") != 0)) { RESULT = mDegTrk.cursor("CourseType3or4").setNextContinue().toInt(); ; } } } //:END //:IF RESULT >= zCURSOR_SET AND mDegTrk.RequiredGroup.Type != "E" if (RESULT >= zCURSOR_SET && CompareAttributeToString(mDegTrk, "RequiredGroup", "Type", "E") != 0) { //:// There was a match on CourseType3or4. Go process entry. //:CourseType3or4Match( mDegTrk, mStudenC, mStudent ) omDegTrk_CourseType3or4Match(mDegTrk, mStudenC, mStudent); //:ELSE } else { //:// There was no match with any of the Required Groups, so add to Electives or general Developmental group. //:// For "not-waived courses", if the course wasn't passed we'll override the CreditHours to 0. //:IF DevelopmentalFlag = "Y" if (ZeidonStringCompare(DevelopmentalFlag, 1, 0, "Y", 1, 0, 2) == 0) { //:CreateDevelopmentEntry( mDegTrk, mStudenC, mStudent ) omDegTrk_CreateDevelopmentEntry(mDegTrk, mStudenC, mStudent); //:ELSE } else { //:CreateElectiveEntry( mDegTrk, mStudenC, mStudent ) omDegTrk_CreateElectiveEntry(mDegTrk, mStudenC, mStudent); //:IF mStudenC.Registration.Status != "V" AND // Waived //:mStudenC.Registration.Status != "Y" // L. Waived if (CompareAttributeToString(mStudenC, "Registration", "Status", "V") != 0 && CompareAttributeToString(mStudenC, "Registration", "Status", "Y") != 0) { //:IF FinalGrade < MinimumElectiveGrade AND szFinalGradeString != "S" AND szFinalGradeString != "" if (FinalGrade < MinimumElectiveGrade && ZeidonStringCompare(szFinalGradeString, 1, 0, "S", 1, 0, 21) != 0 && ZeidonStringCompare(szFinalGradeString, 1, 0, "", 1, 0, 21) != 0) { //:mDegTrk.CourseType1or2.wCreditsTaken = 0 SetAttributeFromInteger(mDegTrk, "CourseType1or2", "wCreditsTaken", 0); } //:END } //:END } //:END } //:END } //:END } //:END } //:END } } RESULT = mStudenC.cursor("Registration").setNextContinue().toInt(); ; //: //:END } //:END //:// Make another pass and add any repeated Courses to the entry representing the superceding Course. //:// We will duplicate the original line and show as "Repeated" with 0 Credits. //:FOR EACH mStudenC.Registration //: WHERE mStudenC.Registration.Status = "C" // Completed //: OR mStudenC.Registration.Status = "T" // Currently Taking //: OR mStudenC.Registration.Status = "V" // Waived //: OR mStudenC.Registration.Status = "F" // Transferred //: OR mStudenC.Registration.Status = "X" // L. Transferred //: OR mStudenC.Registration.Status = "Y" // L. Waived //: OR mStudenC.Registration.Status = "P" // Pre-Transferred RESULT = mStudenC.cursor("Registration").setFirst().toInt(); while (RESULT > zCURSOR_UNCHANGED) { if (CompareAttributeToString(mStudenC, "Registration", "Status", "C") == 0 || CompareAttributeToString(mStudenC, "Registration", "Status", "T") == 0 || CompareAttributeToString(mStudenC, "Registration", "Status", "V") == 0 || CompareAttributeToString(mStudenC, "Registration", "Status", "F") == 0 || CompareAttributeToString(mStudenC, "Registration", "Status", "X") == 0 || CompareAttributeToString(mStudenC, "Registration", "Status", "Y") == 0 || CompareAttributeToString(mStudenC, "Registration", "Status", "P") == 0) { //:IF mStudenC.Registration.wRepeatedClass = "R" OR mStudenC.Registration.wRepeatedClass = "AR" if (CompareAttributeToString(mStudenC, "Registration", "wRepeatedClass", "R") == 0 || CompareAttributeToString(mStudenC, "Registration", "wRepeatedClass", "AR") == 0) { //:IF mStudenC.RegistrationClass EXISTS lTempInteger_40 = CheckExistenceOfEntity(mStudenC, "RegistrationClass"); if (lTempInteger_40 == 0) { //:IF mStudenC.Registration.ManuallyRepeatingRegistrationID = "" if (CompareAttributeToString(mStudenC, "Registration", "ManuallyRepeatingRegistrationID", "") == 0) { //:IF mStudenC.CrossListedCourse EXISTS lTempInteger_41 = CheckExistenceOfEntity(mStudenC, "CrossListedCourse"); if (lTempInteger_41 == 0) { //:CourseID = mStudenC.CrossListedCourse.ID { MutableInt mi_CourseID = new MutableInt(CourseID); GetIntegerFromAttribute(mi_CourseID, mStudenC, "CrossListedCourse", "ID"); CourseID = mi_CourseID.intValue(); } //:ELSE } else { //:CourseID = mStudenC.RegistrationCourse.ID { MutableInt mi_CourseID = new MutableInt(CourseID); GetIntegerFromAttribute(mi_CourseID, mStudenC, "RegistrationCourse", "ID"); CourseID = mi_CourseID.intValue(); } } //:END //:ELSE } else { //:CreateViewFromView( mStudenCT, mStudenC ) CreateViewFromView(mStudenCT, mStudenC); //:SET CURSOR FIRST mStudenCT.Registration WHERE //: mStudenCT.Registration.ID = mStudenC.Registration.ManuallyRepeatingRegistrationID { MutableInt mi_lTempInteger_42 = new MutableInt(lTempInteger_42); GetIntegerFromAttribute(mi_lTempInteger_42, mStudenC, "Registration", "ManuallyRepeatingRegistrationID"); lTempInteger_42 = mi_lTempInteger_42.intValue(); } RESULT = mStudenCT.cursor("Registration").setFirst("ID", lTempInteger_42).toInt(); //:IF mStudenCT.EquivalentCourse EXISTS lTempInteger_43 = CheckExistenceOfEntity(mStudenCT, "EquivalentCourse"); if (lTempInteger_43 == 0) { //:CourseID = mStudenCT.EquivalentCourse.ID { MutableInt mi_CourseID = new MutableInt(CourseID); GetIntegerFromAttribute(mi_CourseID, mStudenCT, "EquivalentCourse", "ID"); CourseID = mi_CourseID.intValue(); } //:ELSE } else { //:IF mStudenCT.CrossListedCourse EXISTS lTempInteger_44 = CheckExistenceOfEntity(mStudenCT, "CrossListedCourse"); if (lTempInteger_44 == 0) { //:CourseID = mStudenCT.CrossListedCourse.ID { MutableInt mi_CourseID = new MutableInt(CourseID); GetIntegerFromAttribute(mi_CourseID, mStudenCT, "CrossListedCourse", "ID"); CourseID = mi_CourseID.intValue(); } //:ELSE } else { //:CourseID = mStudenCT.RegistrationCourse.ID { MutableInt mi_CourseID = new MutableInt(CourseID); GetIntegerFromAttribute(mi_CourseID, mStudenCT, "RegistrationCourse", "ID"); CourseID = mi_CourseID.intValue(); } } //:END } //:END //:DropView( mStudenCT ) DropView(mStudenCT); } //:END //:CourseNumber = mStudenC.RegistrationCourse.Number { MutableInt mi_lTempInteger_45 = new MutableInt(lTempInteger_45); StringBuilder sb_CourseNumber; if (CourseNumber == null) sb_CourseNumber = new StringBuilder(32); else sb_CourseNumber = new StringBuilder(CourseNumber); GetVariableFromAttribute(sb_CourseNumber, mi_lTempInteger_45, 'S', 11, mStudenC, "RegistrationCourse", "Number", "", 0); lTempInteger_45 = mi_lTempInteger_45.intValue(); CourseNumber = sb_CourseNumber.toString(); } //:IF mStudenC.CourseTopic EXISTS lTempInteger_46 = CheckExistenceOfEntity(mStudenC, "CourseTopic"); if (lTempInteger_46 == 0) { //:CourseTitle = mStudenC.CourseTopic.Title { MutableInt mi_lTempInteger_47 = new MutableInt(lTempInteger_47); StringBuilder sb_CourseTitle; if (CourseTitle == null) sb_CourseTitle = new StringBuilder(32); else sb_CourseTitle = new StringBuilder(CourseTitle); GetVariableFromAttribute(sb_CourseTitle, mi_lTempInteger_47, 'S', 51, mStudenC, "CourseTopic", "Title", "", 0); lTempInteger_47 = mi_lTempInteger_47.intValue(); CourseTitle = sb_CourseTitle.toString(); } //:ELSE } else { //:CourseTitle = mStudenC.RegistrationCourse.Title { MutableInt mi_lTempInteger_48 = new MutableInt(lTempInteger_48); StringBuilder sb_CourseTitle; if (CourseTitle == null) sb_CourseTitle = new StringBuilder(32); else sb_CourseTitle = new StringBuilder(CourseTitle); GetVariableFromAttribute(sb_CourseTitle, mi_lTempInteger_48, 'S', 51, mStudenC, "RegistrationCourse", "Title", "", 0); lTempInteger_48 = mi_lTempInteger_48.intValue(); CourseTitle = sb_CourseTitle.toString(); } } //:END //:ELSE } else { //:IF mStudenC.EquivalentCourse EXISTS lTempInteger_49 = CheckExistenceOfEntity(mStudenC, "EquivalentCourse"); if (lTempInteger_49 == 0) { //:CourseID = mStudenC.EquivalentCourse.ID { MutableInt mi_CourseID = new MutableInt(CourseID); GetIntegerFromAttribute(mi_CourseID, mStudenC, "EquivalentCourse", "ID"); CourseID = mi_CourseID.intValue(); } //:CourseNumber = mStudenC.EquivalentCourse.Number { MutableInt mi_lTempInteger_50 = new MutableInt(lTempInteger_50); StringBuilder sb_CourseNumber; if (CourseNumber == null) sb_CourseNumber = new StringBuilder(32); else sb_CourseNumber = new StringBuilder(CourseNumber); GetVariableFromAttribute(sb_CourseNumber, mi_lTempInteger_50, 'S', 11, mStudenC, "EquivalentCourse", "Number", "", 0); lTempInteger_50 = mi_lTempInteger_50.intValue(); CourseNumber = sb_CourseNumber.toString(); } //:CourseTitle = mStudenC.EquivalentCourse.Title { MutableInt mi_lTempInteger_51 = new MutableInt(lTempInteger_51); StringBuilder sb_CourseTitle; if (CourseTitle == null) sb_CourseTitle = new StringBuilder(32); else sb_CourseTitle = new StringBuilder(CourseTitle); GetVariableFromAttribute(sb_CourseTitle, mi_lTempInteger_51, 'S', 51, mStudenC, "EquivalentCourse", "Title", "", 0); lTempInteger_51 = mi_lTempInteger_51.intValue(); CourseTitle = sb_CourseTitle.toString(); } //:ELSE } else { //:CourseID = 0 CourseID = 0; } //:END } //:END //:IF CourseID != 0 if (CourseID != 0) { //:SET CURSOR FIRST mDegTrk.CourseType1or2 WITHIN mDegTrk.DegreeTrack //: WHERE mDegTrk.CourseType1or2.wCourseSatisfyingID = CourseID RESULT = mDegTrk.cursor("CourseType1or2") .setFirst("wCourseSatisfyingID", CourseID, "DegreeTrack").toInt(); //: //WHERE mDegTrk.CourseType1or2.ID = CourseID //: // AND mDegTrk.CourseType1or2.wDegreeAuditCourseTaken = "Y" //:IF RESULT >= zCURSOR_SET if (RESULT >= zCURSOR_SET) { //:// Repeated course for CourseType1or2 //:CREATE ENTITY mDegTrk.RequiredGroupCourseType1or2 RESULT = CreateEntity(mDegTrk, "RequiredGroupCourseType1or2", zPOS_AFTER); //:CREATE ENTITY mDegTrk.CourseType1or2 RESULT = CreateEntity(mDegTrk, "CourseType1or2", zPOS_AFTER); //:mDegTrk.CourseType1or2.ID = CourseID SetAttributeFromInteger(mDegTrk, "CourseType1or2", "ID", CourseID); //:mDegTrk.CourseType1or2.Number = CourseNumber SetAttributeFromString(mDegTrk, "CourseType1or2", "Number", CourseNumber); //:mDegTrk.CourseType1or2.Title = CourseTitle SetAttributeFromString(mDegTrk, "CourseType1or2", "Title", CourseTitle); //:mDegTrk.CourseType1or2.wCourseStatus = "Repeated" SetAttributeFromString(mDegTrk, "CourseType1or2", "wCourseStatus", "Repeated"); //:mDegTrk.CourseType1or2.wFinalGrade = mStudenC.Registration.FinalGrade SetAttributeFromAttribute(mDegTrk, "CourseType1or2", "wFinalGrade", mStudenC, "Registration", "FinalGrade"); //:mDegTrk.CourseType1or2.wCreditsTaken = 0 SetAttributeFromInteger(mDegTrk, "CourseType1or2", "wCreditsTaken", 0); //:mDegTrk.CourseType1or2.wRegistrationSatisfyingID = mStudenC.Registration.ID SetAttributeFromAttribute(mDegTrk, "CourseType1or2", "wRegistrationSatisfyingID", mStudenC, "Registration", "ID"); //:ELSE } else { //:SET CURSOR FIRST mDegTrk.CourseType3or4 WITHIN mDegTrk.DegreeTrack //: WHERE mDegTrk.CourseType3or4.wCourseSatisfyingID = CourseID RESULT = mDegTrk.cursor("CourseType3or4") .setFirst("wCourseSatisfyingID", CourseID, "DegreeTrack").toInt(); //: //WHERE mDegTrk.CourseType3or4.ID = CourseID //: // AND mDegTrk.CourseType3or4.wDegreeAuditCourseTaken = "Y" //:IF RESULT >= zCURSOR_SET if (RESULT >= zCURSOR_SET) { //:// Repeated course for CourseType3or4 //:CREATE ENTITY mDegTrk.RequiredGroupCourseType3or4 RESULT = CreateEntity(mDegTrk, "RequiredGroupCourseType3or4", zPOS_AFTER); //:CREATE ENTITY mDegTrk.CourseType3or4 RESULT = CreateEntity(mDegTrk, "CourseType3or4", zPOS_AFTER); //:mDegTrk.CourseType3or4.ID = CourseID SetAttributeFromInteger(mDegTrk, "CourseType3or4", "ID", CourseID); //:mDegTrk.CourseType3or4.Number = CourseNumber SetAttributeFromString(mDegTrk, "CourseType3or4", "Number", CourseNumber); //:mDegTrk.CourseType3or4.Title = CourseTitle SetAttributeFromString(mDegTrk, "CourseType3or4", "Title", CourseTitle); //:mDegTrk.CourseType3or4.wCourseStatus = "Repeated" SetAttributeFromString(mDegTrk, "CourseType3or4", "wCourseStatus", "Repeated"); //:mDegTrk.CourseType3or4.wFinalGrade = mStudenC.Registration.FinalGrade SetAttributeFromAttribute(mDegTrk, "CourseType3or4", "wFinalGrade", mStudenC, "Registration", "FinalGrade"); //:mDegTrk.CourseType3or4.wCreditsTaken = 0 SetAttributeFromInteger(mDegTrk, "CourseType3or4", "wCreditsTaken", 0); //:mDegTrk.CourseType3or4.wRegistrationSatisfyingID = mStudenC.Registration.ID SetAttributeFromAttribute(mDegTrk, "CourseType3or4", "wRegistrationSatisfyingID", mStudenC, "Registration", "ID"); //:ELSE } else { //:SET CURSOR FIRST mDegTrk.RequiredGroup WITHIN mDegTrk.DegreeTrack //: WHERE mDegTrk.RequiredGroup.Type = "D" RESULT = mDegTrk.cursor("RequiredGroup").setFirst("Type", "D", "DegreeTrack") .toInt(); //:SET CURSOR FIRST mDegTrk.CourseType1or2 WITHIN mDegTrk.RequiredGroup //: WHERE mDegTrk.CourseType1or2.ID = CourseID RESULT = mDegTrk.cursor("CourseType1or2").setFirst("ID", CourseID, "RequiredGroup") .toInt(); //:IF RESULT >= zCURSOR_SET if (RESULT >= zCURSOR_SET) { //:// Repeated course for Development course //:CREATE ENTITY mDegTrk.RequiredGroupCourseType1or2 RESULT = CreateEntity(mDegTrk, "RequiredGroupCourseType1or2", zPOS_AFTER); //:CREATE ENTITY mDegTrk.CourseType1or2 RESULT = CreateEntity(mDegTrk, "CourseType1or2", zPOS_AFTER); //:mDegTrk.CourseType1or2.ID = CourseID SetAttributeFromInteger(mDegTrk, "CourseType1or2", "ID", CourseID); //:mDegTrk.CourseType1or2.Number = CourseNumber SetAttributeFromString(mDegTrk, "CourseType1or2", "Number", CourseNumber); //:mDegTrk.CourseType1or2.Title = CourseTitle SetAttributeFromString(mDegTrk, "CourseType1or2", "Title", CourseTitle); //:mDegTrk.CourseType1or2.wCourseStatus = "Repeated" SetAttributeFromString(mDegTrk, "CourseType1or2", "wCourseStatus", "Repeated"); //:mDegTrk.CourseType1or2.wFinalGrade = mStudenC.Registration.FinalGrade SetAttributeFromAttribute(mDegTrk, "CourseType1or2", "wFinalGrade", mStudenC, "Registration", "FinalGrade"); //:mDegTrk.CourseType1or2.wCreditsTaken = 0 SetAttributeFromInteger(mDegTrk, "CourseType1or2", "wCreditsTaken", 0); //:mDegTrk.CourseType1or2.wRegistrationSatisfyingID = mStudenC.Registration.ID SetAttributeFromAttribute(mDegTrk, "CourseType1or2", "wRegistrationSatisfyingID", mStudenC, "Registration", "ID"); //:ELSE } else { //:// Duplicate entry where the CourseID does not match. //:Msg = "There is a duplicate Course Number or otherwise erroneous Course entry for " + //: CourseNumber + NEW_LINE + //: "The repeated entry for the Course is not being considered in the Audit." { StringBuilder sb_Msg; if (Msg == null) sb_Msg = new StringBuilder(32); else sb_Msg = new StringBuilder(Msg); ZeidonStringCopy(sb_Msg, 1, 0, "There is a duplicate Course Number or otherwise erroneous Course entry for ", 1, 0, 201); Msg = sb_Msg.toString(); } { StringBuilder sb_Msg; if (Msg == null) sb_Msg = new StringBuilder(32); else sb_Msg = new StringBuilder(Msg); ZeidonStringConcat(sb_Msg, 1, 0, CourseNumber, 1, 0, 201); Msg = sb_Msg.toString(); } { StringBuilder sb_Msg; if (Msg == null) sb_Msg = new StringBuilder(32); else sb_Msg = new StringBuilder(Msg); ZeidonStringConcat(sb_Msg, 1, 0, NEW_LINE, 1, 0, 201); Msg = sb_Msg.toString(); } { StringBuilder sb_Msg; if (Msg == null) sb_Msg = new StringBuilder(32); else sb_Msg = new StringBuilder(Msg); ZeidonStringConcat(sb_Msg, 1, 0, "The repeated entry for the Course is not being considered in the Audit.", 1, 0, 201); Msg = sb_Msg.toString(); } //:MessageSend( mStudenC, "", "Degree Audit", Msg, zMSGQ_OBJECT_CONSTRAINT_ERROR, 0 ) MessageSend(mStudenC, "", "Degree Audit", Msg, zMSGQ_OBJECT_CONSTRAINT_ERROR, 0); } //:END } //:END } //:END } //:END } } RESULT = mStudenC.cursor("Registration").setNextContinue().toInt(); ; //:END } //:END //:// Evaluate the courses that have been flagged against the degree audit requirements. //:TotalDegreeTrackCreditsTaken = 0 TotalDegreeTrackCreditsTaken = 0; //:TotalDegreeTrackCreditsEarned = 0 TotalDegreeTrackCreditsEarned = 0; //:FOR EACH mDegTrk.RequiredGroup WITHIN mDegTrk.DegreeTrack RESULT = mDegTrk.cursor("RequiredGroup").setFirst("DegreeTrack").toInt(); while (RESULT > zCURSOR_UNCHANGED) { //: // Group Type 1: All courses are required. //: IF mDegTrk.RequiredGroup.Type = "1" if (CompareAttributeToString(mDegTrk, "RequiredGroup", "Type", "1") == 0) { //: CourseCount = 0 CourseCount = 0; //: CourseTakenCount = 0 CourseTakenCount = 0; //: CourseCompletedCount = 0 CourseCompletedCount = 0; //: CreditsTaken = 0 CreditsTaken = 0; //: FOR EACH mDegTrk.CourseType1or2 WITHIN mDegTrk.RequiredGroup RESULT = mDegTrk.cursor("CourseType1or2").setFirst("RequiredGroup").toInt(); while (RESULT > zCURSOR_UNCHANGED) { //: IF mDegTrk.CourseType1or2.wCourseStatus != "Repeated" if (CompareAttributeToString(mDegTrk, "CourseType1or2", "wCourseStatus", "Repeated") != 0) { //: CourseCount = CourseCount + 1 CourseCount = CourseCount + 1; //: IF mDegTrk.CourseType1or2.wDegreeAuditCourseTaken = "Y" if (CompareAttributeToString(mDegTrk, "CourseType1or2", "wDegreeAuditCourseTaken", "Y") == 0) { //: CourseTakenCount = CourseTakenCount + 1 CourseTakenCount = CourseTakenCount + 1; //: CreditsTaken = CreditsTaken + mDegTrk.CourseType1or2.wCreditsTaken { MutableDouble md_dTempDecimal_0 = new MutableDouble(dTempDecimal_0); GetDecimalFromAttribute(md_dTempDecimal_0, mDegTrk, "CourseType1or2", "wCreditsTaken"); dTempDecimal_0 = md_dTempDecimal_0.doubleValue(); } CreditsTaken = CreditsTaken + dTempDecimal_0; } //: END //: TotalDegreeTrackCreditsTaken = TotalDegreeTrackCreditsTaken + mDegTrk.CourseType1or2.wCreditsTaken { MutableDouble md_dTempDecimal_1 = new MutableDouble(dTempDecimal_1); GetDecimalFromAttribute(md_dTempDecimal_1, mDegTrk, "CourseType1or2", "wCreditsTaken"); dTempDecimal_1 = md_dTempDecimal_1.doubleValue(); } TotalDegreeTrackCreditsTaken = TotalDegreeTrackCreditsTaken + dTempDecimal_1; //: IF mDegTrk.CourseType1or2.wDegreeAuditCourseCompleted = "Y" if (CompareAttributeToString(mDegTrk, "CourseType1or2", "wDegreeAuditCourseCompleted", "Y") == 0) { //: CourseCompletedCount = CourseCompletedCount + 1 CourseCompletedCount = CourseCompletedCount + 1; //: TotalDegreeTrackCreditsEarned = TotalDegreeTrackCreditsEarned + mDegTrk.CourseType1or2.wCreditsTaken { MutableDouble md_dTempDecimal_2 = new MutableDouble(dTempDecimal_2); GetDecimalFromAttribute(md_dTempDecimal_2, mDegTrk, "CourseType1or2", "wCreditsTaken"); dTempDecimal_2 = md_dTempDecimal_2.doubleValue(); } TotalDegreeTrackCreditsEarned = TotalDegreeTrackCreditsEarned + dTempDecimal_2; } //: END } RESULT = mDegTrk.cursor("CourseType1or2").setNextContinue().toInt(); ; //: END } //: END //: szCourseTakenCount = CourseTakenCount { StringBuilder sb_szCourseTakenCount; if (szCourseTakenCount == null) sb_szCourseTakenCount = new StringBuilder(32); else sb_szCourseTakenCount = new StringBuilder(szCourseTakenCount); ZeidonStringConvertFromNumber(sb_szCourseTakenCount, 1, 0, 5, CourseTakenCount, (double) 0.0, "I"); szCourseTakenCount = sb_szCourseTakenCount.toString(); } //: szCourseCount = CourseCount { StringBuilder sb_szCourseCount; if (szCourseCount == null) sb_szCourseCount = new StringBuilder(32); else sb_szCourseCount = new StringBuilder(szCourseCount); ZeidonStringConvertFromNumber(sb_szCourseCount, 1, 0, 5, CourseCount, (double) 0.0, "I"); szCourseCount = sb_szCourseCount.toString(); } //: IF mDegTrk.RequiredGroup.wDegreeAuditHasTakingFlag = "Y" if (CompareAttributeToString(mDegTrk, "RequiredGroup", "wDegreeAuditHasTakingFlag", "Y") == 0) { //: mDegTrk.RequiredGroup.wDegreeAuditOL_Value = mDegTrk.RequiredGroup.dReportValue + //: " (" + szCourseTakenCount + " of " + szCourseCount + " courses completed/enrolled)" { StringBuilder sb_szTempString_2; if (szTempString_2 == null) sb_szTempString_2 = new StringBuilder(32); else sb_szTempString_2 = new StringBuilder(szTempString_2); GetStringFromAttribute(sb_szTempString_2, mDegTrk, "RequiredGroup", "dReportValue"); szTempString_2 = sb_szTempString_2.toString(); } { StringBuilder sb_szTempString_2; if (szTempString_2 == null) sb_szTempString_2 = new StringBuilder(32); else sb_szTempString_2 = new StringBuilder(szTempString_2); ZeidonStringConcat(sb_szTempString_2, 1, 0, " (", 1, 0, 255); szTempString_2 = sb_szTempString_2.toString(); } { StringBuilder sb_szTempString_2; if (szTempString_2 == null) sb_szTempString_2 = new StringBuilder(32); else sb_szTempString_2 = new StringBuilder(szTempString_2); ZeidonStringConcat(sb_szTempString_2, 1, 0, szCourseTakenCount, 1, 0, 255); szTempString_2 = sb_szTempString_2.toString(); } { StringBuilder sb_szTempString_2; if (szTempString_2 == null) sb_szTempString_2 = new StringBuilder(32); else sb_szTempString_2 = new StringBuilder(szTempString_2); ZeidonStringConcat(sb_szTempString_2, 1, 0, " of ", 1, 0, 255); szTempString_2 = sb_szTempString_2.toString(); } { StringBuilder sb_szTempString_2; if (szTempString_2 == null) sb_szTempString_2 = new StringBuilder(32); else sb_szTempString_2 = new StringBuilder(szTempString_2); ZeidonStringConcat(sb_szTempString_2, 1, 0, szCourseCount, 1, 0, 255); szTempString_2 = sb_szTempString_2.toString(); } { StringBuilder sb_szTempString_2; if (szTempString_2 == null) sb_szTempString_2 = new StringBuilder(32); else sb_szTempString_2 = new StringBuilder(szTempString_2); ZeidonStringConcat(sb_szTempString_2, 1, 0, " courses completed/enrolled)", 1, 0, 255); szTempString_2 = sb_szTempString_2.toString(); } SetAttributeFromString(mDegTrk, "RequiredGroup", "wDegreeAuditOL_Value", szTempString_2); //:ELSE } else { //: mDegTrk.RequiredGroup.wDegreeAuditOL_Value = mDegTrk.RequiredGroup.dReportValue + //: " (" + szCourseTakenCount + " of " + szCourseCount + " courses completed)" { StringBuilder sb_szTempString_3; if (szTempString_3 == null) sb_szTempString_3 = new StringBuilder(32); else sb_szTempString_3 = new StringBuilder(szTempString_3); GetStringFromAttribute(sb_szTempString_3, mDegTrk, "RequiredGroup", "dReportValue"); szTempString_3 = sb_szTempString_3.toString(); } { StringBuilder sb_szTempString_3; if (szTempString_3 == null) sb_szTempString_3 = new StringBuilder(32); else sb_szTempString_3 = new StringBuilder(szTempString_3); ZeidonStringConcat(sb_szTempString_3, 1, 0, " (", 1, 0, 255); szTempString_3 = sb_szTempString_3.toString(); } { StringBuilder sb_szTempString_3; if (szTempString_3 == null) sb_szTempString_3 = new StringBuilder(32); else sb_szTempString_3 = new StringBuilder(szTempString_3); ZeidonStringConcat(sb_szTempString_3, 1, 0, szCourseTakenCount, 1, 0, 255); szTempString_3 = sb_szTempString_3.toString(); } { StringBuilder sb_szTempString_3; if (szTempString_3 == null) sb_szTempString_3 = new StringBuilder(32); else sb_szTempString_3 = new StringBuilder(szTempString_3); ZeidonStringConcat(sb_szTempString_3, 1, 0, " of ", 1, 0, 255); szTempString_3 = sb_szTempString_3.toString(); } { StringBuilder sb_szTempString_3; if (szTempString_3 == null) sb_szTempString_3 = new StringBuilder(32); else sb_szTempString_3 = new StringBuilder(szTempString_3); ZeidonStringConcat(sb_szTempString_3, 1, 0, szCourseCount, 1, 0, 255); szTempString_3 = sb_szTempString_3.toString(); } { StringBuilder sb_szTempString_3; if (szTempString_3 == null) sb_szTempString_3 = new StringBuilder(32); else sb_szTempString_3 = new StringBuilder(szTempString_3); ZeidonStringConcat(sb_szTempString_3, 1, 0, " courses completed)", 1, 0, 255); szTempString_3 = sb_szTempString_3.toString(); } SetAttributeFromString(mDegTrk, "RequiredGroup", "wDegreeAuditOL_Value", szTempString_3); } //: END //: IF CourseCompletedCount >= CourseCount if (CourseCompletedCount >= CourseCount) { //: mDegTrk.RequiredGroup.wDegreeAuditSatisfied = "C" SetAttributeFromString(mDegTrk, "RequiredGroup", "wDegreeAuditSatisfied", "C"); //:ELSE } else { //: IF CourseTakenCount >= CourseCount if (CourseTakenCount >= CourseCount) { //: mDegTrk.RequiredGroup.wDegreeAuditSatisfied = "T" SetAttributeFromString(mDegTrk, "RequiredGroup", "wDegreeAuditSatisfied", "T"); //:ELSE } else { //: mDegTrk.RequiredGroup.wDegreeAuditSatisfied = "N" SetAttributeFromString(mDegTrk, "RequiredGroup", "wDegreeAuditSatisfied", "N"); } //: END } //: END //: mDegTrk.RequiredGroup.wDegreeAuditTotalCreditsTaken = CreditsTaken SetAttributeFromDecimal(mDegTrk, "RequiredGroup", "wDegreeAuditTotalCreditsTaken", CreditsTaken); //:// Group Type 2: A minimum number of credits is required for courses in the group. //:ELSE } else { //:IF mDegTrk.RequiredGroup.Type = "2" if (CompareAttributeToString(mDegTrk, "RequiredGroup", "Type", "2") == 0) { //:CreditsTaken = 0 CreditsTaken = 0; //:CreditsCompleted = 0 CreditsCompleted = 0; //:FOR EACH mDegTrk.CourseType1or2 WITHIN mDegTrk.RequiredGroup RESULT = mDegTrk.cursor("CourseType1or2").setFirst("RequiredGroup").toInt(); while (RESULT > zCURSOR_UNCHANGED) { //:IF mDegTrk.CourseType1or2.wDegreeAuditCourseTaken = "Y" if (CompareAttributeToString(mDegTrk, "CourseType1or2", "wDegreeAuditCourseTaken", "Y") == 0) { //:CreditsTaken = CreditsTaken + mDegTrk.CourseType1or2.wCreditsTaken { MutableDouble md_dTempDecimal_3 = new MutableDouble(dTempDecimal_3); GetDecimalFromAttribute(md_dTempDecimal_3, mDegTrk, "CourseType1or2", "wCreditsTaken"); dTempDecimal_3 = md_dTempDecimal_3.doubleValue(); } CreditsTaken = CreditsTaken + dTempDecimal_3; } //:END //:TotalDegreeTrackCreditsTaken = TotalDegreeTrackCreditsTaken + mDegTrk.CourseType1or2.wCreditsTaken { MutableDouble md_dTempDecimal_4 = new MutableDouble(dTempDecimal_4); GetDecimalFromAttribute(md_dTempDecimal_4, mDegTrk, "CourseType1or2", "wCreditsTaken"); dTempDecimal_4 = md_dTempDecimal_4.doubleValue(); } TotalDegreeTrackCreditsTaken = TotalDegreeTrackCreditsTaken + dTempDecimal_4; //:IF mDegTrk.CourseType1or2.wDegreeAuditCourseCompleted = "Y" if (CompareAttributeToString(mDegTrk, "CourseType1or2", "wDegreeAuditCourseCompleted", "Y") == 0) { //:CreditsCompleted = CreditsCompleted + mDegTrk.CourseType1or2.wCreditsTaken { MutableDouble md_dTempDecimal_5 = new MutableDouble(dTempDecimal_5); GetDecimalFromAttribute(md_dTempDecimal_5, mDegTrk, "CourseType1or2", "wCreditsTaken"); dTempDecimal_5 = md_dTempDecimal_5.doubleValue(); } CreditsCompleted = CreditsCompleted + dTempDecimal_5; //:TotalDegreeTrackCreditsEarned = TotalDegreeTrackCreditsEarned + mDegTrk.CourseType1or2.wCreditsTaken { MutableDouble md_dTempDecimal_6 = new MutableDouble(dTempDecimal_6); GetDecimalFromAttribute(md_dTempDecimal_6, mDegTrk, "CourseType1or2", "wCreditsTaken"); dTempDecimal_6 = md_dTempDecimal_6.doubleValue(); } TotalDegreeTrackCreditsEarned = TotalDegreeTrackCreditsEarned + dTempDecimal_6; } RESULT = mDegTrk.cursor("CourseType1or2").setNextContinue().toInt(); ; //:END } //:END //:szCreditsNeeded = mDegTrk.RequiredGroup.TotalRequiredCredits { MutableInt mi_lTempInteger_52 = new MutableInt(lTempInteger_52); StringBuilder sb_szCreditsNeeded; if (szCreditsNeeded == null) sb_szCreditsNeeded = new StringBuilder(32); else sb_szCreditsNeeded = new StringBuilder(szCreditsNeeded); GetVariableFromAttribute(sb_szCreditsNeeded, mi_lTempInteger_52, 'S', 11, mDegTrk, "RequiredGroup", "TotalRequiredCredits", "", 0); lTempInteger_52 = mi_lTempInteger_52.intValue(); szCreditsNeeded = sb_szCreditsNeeded.toString(); } //:szCreditsTaken = CreditsTaken { StringBuilder sb_szCreditsTaken; if (szCreditsTaken == null) sb_szCreditsTaken = new StringBuilder(32); else sb_szCreditsTaken = new StringBuilder(szCreditsTaken); ZeidonStringConvertFromNumber(sb_szCreditsTaken, 1, 0, 10, 0, CreditsTaken, "D"); szCreditsTaken = sb_szCreditsTaken.toString(); } //:IF mDegTrk.RequiredGroup.wDegreeAuditHasTakingFlag = "Y" if (CompareAttributeToString(mDegTrk, "RequiredGroup", "wDegreeAuditHasTakingFlag", "Y") == 0) { //:mDegTrk.RequiredGroup.wDegreeAuditOL_Value = mDegTrk.RequiredGroup.dReportValue + //: " (" + szCreditsTaken + " of " + szCreditsNeeded + " credits completed/enrolled.)" { StringBuilder sb_szTempString_4; if (szTempString_4 == null) sb_szTempString_4 = new StringBuilder(32); else sb_szTempString_4 = new StringBuilder(szTempString_4); GetStringFromAttribute(sb_szTempString_4, mDegTrk, "RequiredGroup", "dReportValue"); szTempString_4 = sb_szTempString_4.toString(); } { StringBuilder sb_szTempString_4; if (szTempString_4 == null) sb_szTempString_4 = new StringBuilder(32); else sb_szTempString_4 = new StringBuilder(szTempString_4); ZeidonStringConcat(sb_szTempString_4, 1, 0, " (", 1, 0, 255); szTempString_4 = sb_szTempString_4.toString(); } { StringBuilder sb_szTempString_4; if (szTempString_4 == null) sb_szTempString_4 = new StringBuilder(32); else sb_szTempString_4 = new StringBuilder(szTempString_4); ZeidonStringConcat(sb_szTempString_4, 1, 0, szCreditsTaken, 1, 0, 255); szTempString_4 = sb_szTempString_4.toString(); } { StringBuilder sb_szTempString_4; if (szTempString_4 == null) sb_szTempString_4 = new StringBuilder(32); else sb_szTempString_4 = new StringBuilder(szTempString_4); ZeidonStringConcat(sb_szTempString_4, 1, 0, " of ", 1, 0, 255); szTempString_4 = sb_szTempString_4.toString(); } { StringBuilder sb_szTempString_4; if (szTempString_4 == null) sb_szTempString_4 = new StringBuilder(32); else sb_szTempString_4 = new StringBuilder(szTempString_4); ZeidonStringConcat(sb_szTempString_4, 1, 0, szCreditsNeeded, 1, 0, 255); szTempString_4 = sb_szTempString_4.toString(); } { StringBuilder sb_szTempString_4; if (szTempString_4 == null) sb_szTempString_4 = new StringBuilder(32); else sb_szTempString_4 = new StringBuilder(szTempString_4); ZeidonStringConcat(sb_szTempString_4, 1, 0, " credits completed/enrolled.)", 1, 0, 255); szTempString_4 = sb_szTempString_4.toString(); } SetAttributeFromString(mDegTrk, "RequiredGroup", "wDegreeAuditOL_Value", szTempString_4); //:ELSE } else { //:mDegTrk.RequiredGroup.wDegreeAuditOL_Value = mDegTrk.RequiredGroup.dReportValue + //: " (" + szCreditsTaken + " of " + szCreditsNeeded + " credits completed.)" { StringBuilder sb_szTempString_5; if (szTempString_5 == null) sb_szTempString_5 = new StringBuilder(32); else sb_szTempString_5 = new StringBuilder(szTempString_5); GetStringFromAttribute(sb_szTempString_5, mDegTrk, "RequiredGroup", "dReportValue"); szTempString_5 = sb_szTempString_5.toString(); } { StringBuilder sb_szTempString_5; if (szTempString_5 == null) sb_szTempString_5 = new StringBuilder(32); else sb_szTempString_5 = new StringBuilder(szTempString_5); ZeidonStringConcat(sb_szTempString_5, 1, 0, " (", 1, 0, 255); szTempString_5 = sb_szTempString_5.toString(); } { StringBuilder sb_szTempString_5; if (szTempString_5 == null) sb_szTempString_5 = new StringBuilder(32); else sb_szTempString_5 = new StringBuilder(szTempString_5); ZeidonStringConcat(sb_szTempString_5, 1, 0, szCreditsTaken, 1, 0, 255); szTempString_5 = sb_szTempString_5.toString(); } { StringBuilder sb_szTempString_5; if (szTempString_5 == null) sb_szTempString_5 = new StringBuilder(32); else sb_szTempString_5 = new StringBuilder(szTempString_5); ZeidonStringConcat(sb_szTempString_5, 1, 0, " of ", 1, 0, 255); szTempString_5 = sb_szTempString_5.toString(); } { StringBuilder sb_szTempString_5; if (szTempString_5 == null) sb_szTempString_5 = new StringBuilder(32); else sb_szTempString_5 = new StringBuilder(szTempString_5); ZeidonStringConcat(sb_szTempString_5, 1, 0, szCreditsNeeded, 1, 0, 255); szTempString_5 = sb_szTempString_5.toString(); } { StringBuilder sb_szTempString_5; if (szTempString_5 == null) sb_szTempString_5 = new StringBuilder(32); else sb_szTempString_5 = new StringBuilder(szTempString_5); ZeidonStringConcat(sb_szTempString_5, 1, 0, " credits completed.)", 1, 0, 255); szTempString_5 = sb_szTempString_5.toString(); } SetAttributeFromString(mDegTrk, "RequiredGroup", "wDegreeAuditOL_Value", szTempString_5); } //:END //:IF CreditsCompleted >= mDegTrk.RequiredGroup.TotalRequiredCredits if (CompareAttributeToDecimal(mDegTrk, "RequiredGroup", "TotalRequiredCredits", CreditsCompleted) <= 0) { //:mDegTrk.RequiredGroup.wDegreeAuditSatisfied = "C" SetAttributeFromString(mDegTrk, "RequiredGroup", "wDegreeAuditSatisfied", "C"); //:ELSE } else { //:IF CreditsTaken >= mDegTrk.RequiredGroup.TotalRequiredCredits if (CompareAttributeToDecimal(mDegTrk, "RequiredGroup", "TotalRequiredCredits", CreditsTaken) <= 0) { //:mDegTrk.RequiredGroup.wDegreeAuditSatisfied = "T" SetAttributeFromString(mDegTrk, "RequiredGroup", "wDegreeAuditSatisfied", "T"); //:ELSE } else { //:mDegTrk.RequiredGroup.wDegreeAuditSatisfied = "N" SetAttributeFromString(mDegTrk, "RequiredGroup", "wDegreeAuditSatisfied", "N"); } //:END } //:END //:mDegTrk.RequiredGroup.wDegreeAuditTotalCreditsTaken = CreditsTaken SetAttributeFromDecimal(mDegTrk, "RequiredGroup", "wDegreeAuditTotalCreditsTaken", CreditsTaken); //:// Group Type 3: The same as Group Type 2, except that all courses exist under subgroups, //:// where each subgroup defines the minimum number of credits that must be //:// taken from the courses under it. All courses must be defined under a subgroup. //:ELSE } else { //:IF mDegTrk.RequiredGroup.Type = "3" if (CompareAttributeToString(mDegTrk, "RequiredGroup", "Type", "3") == 0) { //:CreditsTaken = 0 CreditsTaken = 0; //:CreditsCompleted = 0 CreditsCompleted = 0; //:FOR EACH mDegTrk.RequiredSubGroup RESULT = mDegTrk.cursor("RequiredSubGroup").setFirst().toInt(); while (RESULT > zCURSOR_UNCHANGED) { //:MinCreditsTaken = 0 MinCreditsTaken = 0; //:MinCreditsCompleted = 0 MinCreditsCompleted = 0; //:FOR EACH mDegTrk.CourseType3or4 WITHIN mDegTrk.RequiredSubGroup RESULT = mDegTrk.cursor("CourseType3or4").setFirst("RequiredSubGroup").toInt(); while (RESULT > zCURSOR_UNCHANGED) { //:IF mDegTrk.CourseType3or4.wDegreeAuditCourseTaken = "Y" if (CompareAttributeToString(mDegTrk, "CourseType3or4", "wDegreeAuditCourseTaken", "Y") == 0) { //:CreditsTaken = CreditsTaken + mDegTrk.CourseType3or4.wCreditsTaken { MutableDouble md_dTempDecimal_7 = new MutableDouble(dTempDecimal_7); GetDecimalFromAttribute(md_dTempDecimal_7, mDegTrk, "CourseType3or4", "wCreditsTaken"); dTempDecimal_7 = md_dTempDecimal_7.doubleValue(); } CreditsTaken = CreditsTaken + dTempDecimal_7; //:MinCreditsTaken = MinCreditsTaken + mDegTrk.CourseType3or4.wCreditsTaken { MutableDouble md_dTempDecimal_8 = new MutableDouble(dTempDecimal_8); GetDecimalFromAttribute(md_dTempDecimal_8, mDegTrk, "CourseType3or4", "wCreditsTaken"); dTempDecimal_8 = md_dTempDecimal_8.doubleValue(); } MinCreditsTaken = MinCreditsTaken + dTempDecimal_8; } //:END //:TotalDegreeTrackCreditsTaken = TotalDegreeTrackCreditsTaken + mDegTrk.CourseType3or4.wCreditsTaken { MutableDouble md_dTempDecimal_9 = new MutableDouble(dTempDecimal_9); GetDecimalFromAttribute(md_dTempDecimal_9, mDegTrk, "CourseType3or4", "wCreditsTaken"); dTempDecimal_9 = md_dTempDecimal_9.doubleValue(); } TotalDegreeTrackCreditsTaken = TotalDegreeTrackCreditsTaken + dTempDecimal_9; //:IF mDegTrk.CourseType3or4.wDegreeAuditCourseCompleted = "Y" if (CompareAttributeToString(mDegTrk, "CourseType3or4", "wDegreeAuditCourseCompleted", "Y") == 0) { //:CreditsCompleted = CreditsCompleted + mDegTrk.CourseType3or4.wCreditsTaken { MutableDouble md_dTempDecimal_10 = new MutableDouble(dTempDecimal_10); GetDecimalFromAttribute(md_dTempDecimal_10, mDegTrk, "CourseType3or4", "wCreditsTaken"); dTempDecimal_10 = md_dTempDecimal_10.doubleValue(); } CreditsCompleted = CreditsCompleted + dTempDecimal_10; //:MinCreditsCompleted = MinCreditsCompleted + mDegTrk.CourseType3or4.wCreditsTaken { MutableDouble md_dTempDecimal_11 = new MutableDouble(dTempDecimal_11); GetDecimalFromAttribute(md_dTempDecimal_11, mDegTrk, "CourseType3or4", "wCreditsTaken"); dTempDecimal_11 = md_dTempDecimal_11.doubleValue(); } MinCreditsCompleted = MinCreditsCompleted + dTempDecimal_11; //:TotalDegreeTrackCreditsEarned = TotalDegreeTrackCreditsEarned + mDegTrk.CourseType3or4.wCreditsTaken { MutableDouble md_dTempDecimal_12 = new MutableDouble(dTempDecimal_12); GetDecimalFromAttribute(md_dTempDecimal_12, mDegTrk, "CourseType3or4", "wCreditsTaken"); dTempDecimal_12 = md_dTempDecimal_12.doubleValue(); } TotalDegreeTrackCreditsEarned = TotalDegreeTrackCreditsEarned + dTempDecimal_12; } RESULT = mDegTrk.cursor("CourseType3or4").setNextContinue().toInt(); ; //:END } //:END //:szCreditsNeeded = mDegTrk.RequiredSubGroup.TotalRequiredCredits { MutableInt mi_lTempInteger_53 = new MutableInt(lTempInteger_53); StringBuilder sb_szCreditsNeeded; if (szCreditsNeeded == null) sb_szCreditsNeeded = new StringBuilder(32); else sb_szCreditsNeeded = new StringBuilder(szCreditsNeeded); GetVariableFromAttribute(sb_szCreditsNeeded, mi_lTempInteger_53, 'S', 11, mDegTrk, "RequiredSubGroup", "TotalRequiredCredits", "", 0); lTempInteger_53 = mi_lTempInteger_53.intValue(); szCreditsNeeded = sb_szCreditsNeeded.toString(); } //:szCreditsTaken = MinCreditsTaken { StringBuilder sb_szCreditsTaken; if (szCreditsTaken == null) sb_szCreditsTaken = new StringBuilder(32); else sb_szCreditsTaken = new StringBuilder(szCreditsTaken); ZeidonStringConvertFromNumber(sb_szCreditsTaken, 1, 0, 10, 0, MinCreditsTaken, "D"); szCreditsTaken = sb_szCreditsTaken.toString(); } //:IF mDegTrk.RequiredSubGroup.wDegreeAuditHasTakingFlag = "Y" if (CompareAttributeToString(mDegTrk, "RequiredSubGroup", "wDegreeAuditHasTakingFlag", "Y") == 0) { //:mDegTrk.RequiredSubGroup.wDegreeAuditOL_Value = mDegTrk.RequiredSubGroup.dReportValue + //: " (" + szCreditsTaken + " of " + szCreditsNeeded + " credits completed/enrolled.)" { StringBuilder sb_szTempString_6; if (szTempString_6 == null) sb_szTempString_6 = new StringBuilder(32); else sb_szTempString_6 = new StringBuilder(szTempString_6); GetStringFromAttribute(sb_szTempString_6, mDegTrk, "RequiredSubGroup", "dReportValue"); szTempString_6 = sb_szTempString_6.toString(); } { StringBuilder sb_szTempString_6; if (szTempString_6 == null) sb_szTempString_6 = new StringBuilder(32); else sb_szTempString_6 = new StringBuilder(szTempString_6); ZeidonStringConcat(sb_szTempString_6, 1, 0, " (", 1, 0, 255); szTempString_6 = sb_szTempString_6.toString(); } { StringBuilder sb_szTempString_6; if (szTempString_6 == null) sb_szTempString_6 = new StringBuilder(32); else sb_szTempString_6 = new StringBuilder(szTempString_6); ZeidonStringConcat(sb_szTempString_6, 1, 0, szCreditsTaken, 1, 0, 255); szTempString_6 = sb_szTempString_6.toString(); } { StringBuilder sb_szTempString_6; if (szTempString_6 == null) sb_szTempString_6 = new StringBuilder(32); else sb_szTempString_6 = new StringBuilder(szTempString_6); ZeidonStringConcat(sb_szTempString_6, 1, 0, " of ", 1, 0, 255); szTempString_6 = sb_szTempString_6.toString(); } { StringBuilder sb_szTempString_6; if (szTempString_6 == null) sb_szTempString_6 = new StringBuilder(32); else sb_szTempString_6 = new StringBuilder(szTempString_6); ZeidonStringConcat(sb_szTempString_6, 1, 0, szCreditsNeeded, 1, 0, 255); szTempString_6 = sb_szTempString_6.toString(); } { StringBuilder sb_szTempString_6; if (szTempString_6 == null) sb_szTempString_6 = new StringBuilder(32); else sb_szTempString_6 = new StringBuilder(szTempString_6); ZeidonStringConcat(sb_szTempString_6, 1, 0, " credits completed/enrolled.)", 1, 0, 255); szTempString_6 = sb_szTempString_6.toString(); } SetAttributeFromString(mDegTrk, "RequiredSubGroup", "wDegreeAuditOL_Value", szTempString_6); //:ELSE } else { //:mDegTrk.RequiredSubGroup.wDegreeAuditOL_Value = mDegTrk.RequiredSubGroup.dReportValue + //: " (" + szCreditsTaken + " of " + szCreditsNeeded + " credits completed.)" { StringBuilder sb_szTempString_7; if (szTempString_7 == null) sb_szTempString_7 = new StringBuilder(32); else sb_szTempString_7 = new StringBuilder(szTempString_7); GetStringFromAttribute(sb_szTempString_7, mDegTrk, "RequiredSubGroup", "dReportValue"); szTempString_7 = sb_szTempString_7.toString(); } { StringBuilder sb_szTempString_7; if (szTempString_7 == null) sb_szTempString_7 = new StringBuilder(32); else sb_szTempString_7 = new StringBuilder(szTempString_7); ZeidonStringConcat(sb_szTempString_7, 1, 0, " (", 1, 0, 255); szTempString_7 = sb_szTempString_7.toString(); } { StringBuilder sb_szTempString_7; if (szTempString_7 == null) sb_szTempString_7 = new StringBuilder(32); else sb_szTempString_7 = new StringBuilder(szTempString_7); ZeidonStringConcat(sb_szTempString_7, 1, 0, szCreditsTaken, 1, 0, 255); szTempString_7 = sb_szTempString_7.toString(); } { StringBuilder sb_szTempString_7; if (szTempString_7 == null) sb_szTempString_7 = new StringBuilder(32); else sb_szTempString_7 = new StringBuilder(szTempString_7); ZeidonStringConcat(sb_szTempString_7, 1, 0, " of ", 1, 0, 255); szTempString_7 = sb_szTempString_7.toString(); } { StringBuilder sb_szTempString_7; if (szTempString_7 == null) sb_szTempString_7 = new StringBuilder(32); else sb_szTempString_7 = new StringBuilder(szTempString_7); ZeidonStringConcat(sb_szTempString_7, 1, 0, szCreditsNeeded, 1, 0, 255); szTempString_7 = sb_szTempString_7.toString(); } { StringBuilder sb_szTempString_7; if (szTempString_7 == null) sb_szTempString_7 = new StringBuilder(32); else sb_szTempString_7 = new StringBuilder(szTempString_7); ZeidonStringConcat(sb_szTempString_7, 1, 0, " credits completed.)", 1, 0, 255); szTempString_7 = sb_szTempString_7.toString(); } SetAttributeFromString(mDegTrk, "RequiredSubGroup", "wDegreeAuditOL_Value", szTempString_7); } //:END //:IF MinCreditsCompleted >= mDegTrk.RequiredSubGroup.TotalRequiredCredits if (CompareAttributeToDecimal(mDegTrk, "RequiredSubGroup", "TotalRequiredCredits", MinCreditsCompleted) <= 0) { //:mDegTrk.RequiredGroup.wDegreeAuditSatisfied = "C" SetAttributeFromString(mDegTrk, "RequiredGroup", "wDegreeAuditSatisfied", "C"); //:ELSE } else { //:IF MinCreditsTaken >= mDegTrk.RequiredSubGroup.TotalRequiredCredits if (CompareAttributeToDecimal(mDegTrk, "RequiredSubGroup", "TotalRequiredCredits", MinCreditsTaken) <= 0) { //:mDegTrk.RequiredSubGroup.wDegreeAuditSatisfied = "T" SetAttributeFromString(mDegTrk, "RequiredSubGroup", "wDegreeAuditSatisfied", "T"); //:ELSE } else { //:mDegTrk.RequiredSubGroup.wDegreeAuditSatisfied = "N" SetAttributeFromString(mDegTrk, "RequiredSubGroup", "wDegreeAuditSatisfied", "N"); } //:END } RESULT = mDegTrk.cursor("RequiredSubGroup").setNextContinue().toInt(); ; //:END } //:END //:szCreditsNeeded = mDegTrk.RequiredGroup.TotalRequiredCredits { MutableInt mi_lTempInteger_54 = new MutableInt(lTempInteger_54); StringBuilder sb_szCreditsNeeded; if (szCreditsNeeded == null) sb_szCreditsNeeded = new StringBuilder(32); else sb_szCreditsNeeded = new StringBuilder(szCreditsNeeded); GetVariableFromAttribute(sb_szCreditsNeeded, mi_lTempInteger_54, 'S', 11, mDegTrk, "RequiredGroup", "TotalRequiredCredits", "", 0); lTempInteger_54 = mi_lTempInteger_54.intValue(); szCreditsNeeded = sb_szCreditsNeeded.toString(); } //:szCreditsTaken = CreditsTaken { StringBuilder sb_szCreditsTaken; if (szCreditsTaken == null) sb_szCreditsTaken = new StringBuilder(32); else sb_szCreditsTaken = new StringBuilder(szCreditsTaken); ZeidonStringConvertFromNumber(sb_szCreditsTaken, 1, 0, 10, 0, CreditsTaken, "D"); szCreditsTaken = sb_szCreditsTaken.toString(); } //:IF mDegTrk.RequiredGroup.wDegreeAuditHasTakingFlag = "Y" if (CompareAttributeToString(mDegTrk, "RequiredGroup", "wDegreeAuditHasTakingFlag", "Y") == 0) { //:mDegTrk.RequiredGroup.wDegreeAuditOL_Value = mDegTrk.RequiredGroup.dReportValue + //: " (" + szCreditsTaken + " of " + szCreditsNeeded + " credits completed/enrolled.)" { StringBuilder sb_szTempString_8; if (szTempString_8 == null) sb_szTempString_8 = new StringBuilder(32); else sb_szTempString_8 = new StringBuilder(szTempString_8); GetStringFromAttribute(sb_szTempString_8, mDegTrk, "RequiredGroup", "dReportValue"); szTempString_8 = sb_szTempString_8.toString(); } { StringBuilder sb_szTempString_8; if (szTempString_8 == null) sb_szTempString_8 = new StringBuilder(32); else sb_szTempString_8 = new StringBuilder(szTempString_8); ZeidonStringConcat(sb_szTempString_8, 1, 0, " (", 1, 0, 255); szTempString_8 = sb_szTempString_8.toString(); } { StringBuilder sb_szTempString_8; if (szTempString_8 == null) sb_szTempString_8 = new StringBuilder(32); else sb_szTempString_8 = new StringBuilder(szTempString_8); ZeidonStringConcat(sb_szTempString_8, 1, 0, szCreditsTaken, 1, 0, 255); szTempString_8 = sb_szTempString_8.toString(); } { StringBuilder sb_szTempString_8; if (szTempString_8 == null) sb_szTempString_8 = new StringBuilder(32); else sb_szTempString_8 = new StringBuilder(szTempString_8); ZeidonStringConcat(sb_szTempString_8, 1, 0, " of ", 1, 0, 255); szTempString_8 = sb_szTempString_8.toString(); } { StringBuilder sb_szTempString_8; if (szTempString_8 == null) sb_szTempString_8 = new StringBuilder(32); else sb_szTempString_8 = new StringBuilder(szTempString_8); ZeidonStringConcat(sb_szTempString_8, 1, 0, szCreditsNeeded, 1, 0, 255); szTempString_8 = sb_szTempString_8.toString(); } { StringBuilder sb_szTempString_8; if (szTempString_8 == null) sb_szTempString_8 = new StringBuilder(32); else sb_szTempString_8 = new StringBuilder(szTempString_8); ZeidonStringConcat(sb_szTempString_8, 1, 0, " credits completed/enrolled.)", 1, 0, 255); szTempString_8 = sb_szTempString_8.toString(); } SetAttributeFromString(mDegTrk, "RequiredGroup", "wDegreeAuditOL_Value", szTempString_8); //:ELSE } else { //:mDegTrk.RequiredGroup.wDegreeAuditOL_Value = mDegTrk.RequiredGroup.dReportValue + //: " (" + szCreditsTaken + " of " + szCreditsNeeded + " credits completed.)" { StringBuilder sb_szTempString_9; if (szTempString_9 == null) sb_szTempString_9 = new StringBuilder(32); else sb_szTempString_9 = new StringBuilder(szTempString_9); GetStringFromAttribute(sb_szTempString_9, mDegTrk, "RequiredGroup", "dReportValue"); szTempString_9 = sb_szTempString_9.toString(); } { StringBuilder sb_szTempString_9; if (szTempString_9 == null) sb_szTempString_9 = new StringBuilder(32); else sb_szTempString_9 = new StringBuilder(szTempString_9); ZeidonStringConcat(sb_szTempString_9, 1, 0, " (", 1, 0, 255); szTempString_9 = sb_szTempString_9.toString(); } { StringBuilder sb_szTempString_9; if (szTempString_9 == null) sb_szTempString_9 = new StringBuilder(32); else sb_szTempString_9 = new StringBuilder(szTempString_9); ZeidonStringConcat(sb_szTempString_9, 1, 0, szCreditsTaken, 1, 0, 255); szTempString_9 = sb_szTempString_9.toString(); } { StringBuilder sb_szTempString_9; if (szTempString_9 == null) sb_szTempString_9 = new StringBuilder(32); else sb_szTempString_9 = new StringBuilder(szTempString_9); ZeidonStringConcat(sb_szTempString_9, 1, 0, " of ", 1, 0, 255); szTempString_9 = sb_szTempString_9.toString(); } { StringBuilder sb_szTempString_9; if (szTempString_9 == null) sb_szTempString_9 = new StringBuilder(32); else sb_szTempString_9 = new StringBuilder(szTempString_9); ZeidonStringConcat(sb_szTempString_9, 1, 0, szCreditsNeeded, 1, 0, 255); szTempString_9 = sb_szTempString_9.toString(); } { StringBuilder sb_szTempString_9; if (szTempString_9 == null) sb_szTempString_9 = new StringBuilder(32); else sb_szTempString_9 = new StringBuilder(szTempString_9); ZeidonStringConcat(sb_szTempString_9, 1, 0, " credits completed.)", 1, 0, 255); szTempString_9 = sb_szTempString_9.toString(); } SetAttributeFromString(mDegTrk, "RequiredGroup", "wDegreeAuditOL_Value", szTempString_9); } //:END //:// All subgroups must meet minimums for the group to meet requirements. //:// Add to subgroup display value. //:SET CURSOR FIRST mDegTrk.RequiredSubGroup WHERE mDegTrk.RequiredSubGroup.wDegreeAuditSatisfied = "N" RESULT = mDegTrk.cursor("RequiredSubGroup").setFirst("wDegreeAuditSatisfied", "N").toInt(); //:IF RESULT >= zCURSOR_SET if (RESULT >= zCURSOR_SET) { //:mDegTrk.RequiredGroup.wDegreeAuditSatisfied = "N" SetAttributeFromString(mDegTrk, "RequiredGroup", "wDegreeAuditSatisfied", "N"); //:mDegTrk.RequiredGroup.wDegreeAuditOL_Value = mDegTrk.RequiredGroup.wDegreeAuditOL_Value + //: " (Subgroups not met)" { StringBuilder sb_szTempString_10; if (szTempString_10 == null) sb_szTempString_10 = new StringBuilder(32); else sb_szTempString_10 = new StringBuilder(szTempString_10); GetStringFromAttribute(sb_szTempString_10, mDegTrk, "RequiredGroup", "wDegreeAuditOL_Value"); szTempString_10 = sb_szTempString_10.toString(); } { StringBuilder sb_szTempString_10; if (szTempString_10 == null) sb_szTempString_10 = new StringBuilder(32); else sb_szTempString_10 = new StringBuilder(szTempString_10); ZeidonStringConcat(sb_szTempString_10, 1, 0, " (Subgroups not met)", 1, 0, 255); szTempString_10 = sb_szTempString_10.toString(); } SetAttributeFromString(mDegTrk, "RequiredGroup", "wDegreeAuditOL_Value", szTempString_10); //:ELSE } else { //:mDegTrk.RequiredGroup.wDegreeAuditOL_Value = mDegTrk.RequiredGroup.wDegreeAuditOL_Value + //: " (Subgroups met)" { StringBuilder sb_szTempString_11; if (szTempString_11 == null) sb_szTempString_11 = new StringBuilder(32); else sb_szTempString_11 = new StringBuilder(szTempString_11); GetStringFromAttribute(sb_szTempString_11, mDegTrk, "RequiredGroup", "wDegreeAuditOL_Value"); szTempString_11 = sb_szTempString_11.toString(); } { StringBuilder sb_szTempString_11; if (szTempString_11 == null) sb_szTempString_11 = new StringBuilder(32); else sb_szTempString_11 = new StringBuilder(szTempString_11); ZeidonStringConcat(sb_szTempString_11, 1, 0, " (Subgroups met)", 1, 0, 255); szTempString_11 = sb_szTempString_11.toString(); } SetAttributeFromString(mDegTrk, "RequiredGroup", "wDegreeAuditOL_Value", szTempString_11); //:SET CURSOR FIRST mDegTrk.RequiredSubGroup WHERE mDegTrk.RequiredSubGroup.wDegreeAuditSatisfied = "T" RESULT = mDegTrk.cursor("RequiredSubGroup").setFirst("wDegreeAuditSatisfied", "T") .toInt(); //:IF RESULT >= zCURSOR_SET if (RESULT >= zCURSOR_SET) { //:mDegTrk.RequiredGroup.wDegreeAuditSatisfied = "T" SetAttributeFromString(mDegTrk, "RequiredGroup", "wDegreeAuditSatisfied", "T"); //:ELSE } else { //:mDegTrk.RequiredGroup.wDegreeAuditSatisfied = "C" SetAttributeFromString(mDegTrk, "RequiredGroup", "wDegreeAuditSatisfied", "C"); } //:END } //:END //:mDegTrk.RequiredGroup.wDegreeAuditTotalCreditsTaken = CreditsTaken SetAttributeFromDecimal(mDegTrk, "RequiredGroup", "wDegreeAuditTotalCreditsTaken", CreditsTaken); //:// Group Type 4: The same as Group Type 2, except that all courses exist under subgroups, //:// and all the courses in one of the subgroups must be taken. The subgroups are //:// thus evaluated as OR conditions. All courses must be defined under a subgroup. //:ELSE } else { //:IF mDegTrk.RequiredGroup.Type = "4" if (CompareAttributeToString(mDegTrk, "RequiredGroup", "Type", "4") == 0) { //:CreditsTaken = 0 CreditsTaken = 0; //:CreditsCompleted = 0 CreditsCompleted = 0; //:FOR EACH mDegTrk.RequiredSubGroup RESULT = mDegTrk.cursor("RequiredSubGroup").setFirst().toInt(); while (RESULT > zCURSOR_UNCHANGED) { //:szCourseTakenFlag = "Y" { StringBuilder sb_szCourseTakenFlag; if (szCourseTakenFlag == null) sb_szCourseTakenFlag = new StringBuilder(32); else sb_szCourseTakenFlag = new StringBuilder(szCourseTakenFlag); ZeidonStringCopy(sb_szCourseTakenFlag, 1, 0, "Y", 1, 0, 2); szCourseTakenFlag = sb_szCourseTakenFlag.toString(); } //:szCourseCompletedFlag = "Y" { StringBuilder sb_szCourseCompletedFlag; if (szCourseCompletedFlag == null) sb_szCourseCompletedFlag = new StringBuilder(32); else sb_szCourseCompletedFlag = new StringBuilder(szCourseCompletedFlag); ZeidonStringCopy(sb_szCourseCompletedFlag, 1, 0, "Y", 1, 0, 2); szCourseCompletedFlag = sb_szCourseCompletedFlag.toString(); } //:FOR EACH mDegTrk.CourseType3or4 WITHIN mDegTrk.RequiredSubGroup RESULT = mDegTrk.cursor("CourseType3or4").setFirst("RequiredSubGroup").toInt(); while (RESULT > zCURSOR_UNCHANGED) { //:IF mDegTrk.CourseType3or4.wDegreeAuditCourseTaken = "Y" if (CompareAttributeToString(mDegTrk, "CourseType3or4", "wDegreeAuditCourseTaken", "Y") == 0) { //:CreditsTaken = CreditsTaken + mDegTrk.CourseType3or4.wCreditsTaken { MutableDouble md_dTempDecimal_13 = new MutableDouble(dTempDecimal_13); GetDecimalFromAttribute(md_dTempDecimal_13, mDegTrk, "CourseType3or4", "wCreditsTaken"); dTempDecimal_13 = md_dTempDecimal_13.doubleValue(); } CreditsTaken = CreditsTaken + dTempDecimal_13; //:ELSE } else { //:szCourseTakenFlag = "N" { StringBuilder sb_szCourseTakenFlag; if (szCourseTakenFlag == null) sb_szCourseTakenFlag = new StringBuilder(32); else sb_szCourseTakenFlag = new StringBuilder(szCourseTakenFlag); ZeidonStringCopy(sb_szCourseTakenFlag, 1, 0, "N", 1, 0, 2); szCourseTakenFlag = sb_szCourseTakenFlag.toString(); } } //:END //:TotalDegreeTrackCreditsTaken = TotalDegreeTrackCreditsTaken + mDegTrk.CourseType3or4.wCreditsTaken { MutableDouble md_dTempDecimal_14 = new MutableDouble(dTempDecimal_14); GetDecimalFromAttribute(md_dTempDecimal_14, mDegTrk, "CourseType3or4", "wCreditsTaken"); dTempDecimal_14 = md_dTempDecimal_14.doubleValue(); } TotalDegreeTrackCreditsTaken = TotalDegreeTrackCreditsTaken + dTempDecimal_14; //:IF mDegTrk.CourseType3or4.wDegreeAuditCourseCompleted = "Y" if (CompareAttributeToString(mDegTrk, "CourseType3or4", "wDegreeAuditCourseCompleted", "Y") == 0) { //:CreditsCompleted = CreditsCompleted + mDegTrk.CourseType3or4.wCreditsTaken { MutableDouble md_dTempDecimal_15 = new MutableDouble(dTempDecimal_15); GetDecimalFromAttribute(md_dTempDecimal_15, mDegTrk, "CourseType3or4", "wCreditsTaken"); dTempDecimal_15 = md_dTempDecimal_15.doubleValue(); } CreditsCompleted = CreditsCompleted + dTempDecimal_15; //:TotalDegreeTrackCreditsEarned = TotalDegreeTrackCreditsEarned + mDegTrk.CourseType3or4.wCreditsTaken { MutableDouble md_dTempDecimal_16 = new MutableDouble(dTempDecimal_16); GetDecimalFromAttribute(md_dTempDecimal_16, mDegTrk, "CourseType3or4", "wCreditsTaken"); dTempDecimal_16 = md_dTempDecimal_16.doubleValue(); } TotalDegreeTrackCreditsEarned = TotalDegreeTrackCreditsEarned + dTempDecimal_16; //:ELSE } else { //:szCourseCompletedFlag = "N" { StringBuilder sb_szCourseCompletedFlag; if (szCourseCompletedFlag == null) sb_szCourseCompletedFlag = new StringBuilder(32); else sb_szCourseCompletedFlag = new StringBuilder(szCourseCompletedFlag); ZeidonStringCopy(sb_szCourseCompletedFlag, 1, 0, "N", 1, 0, 2); szCourseCompletedFlag = sb_szCourseCompletedFlag.toString(); } } RESULT = mDegTrk.cursor("CourseType3or4").setNextContinue().toInt(); ; //:END } //:END //:IF szCourseTakenFlag = "Y" if (ZeidonStringCompare(szCourseTakenFlag, 1, 0, "Y", 1, 0, 2) == 0) { //:mDegTrk.RequiredSubGroup.wDegreeAuditOL_Value = mDegTrk.RequiredSubGroup.dReportValue + //: " (All courses for subgroup taken.)" { StringBuilder sb_szTempString_12; if (szTempString_12 == null) sb_szTempString_12 = new StringBuilder(32); else sb_szTempString_12 = new StringBuilder(szTempString_12); GetStringFromAttribute(sb_szTempString_12, mDegTrk, "RequiredSubGroup", "dReportValue"); szTempString_12 = sb_szTempString_12.toString(); } { StringBuilder sb_szTempString_12; if (szTempString_12 == null) sb_szTempString_12 = new StringBuilder(32); else sb_szTempString_12 = new StringBuilder(szTempString_12); ZeidonStringConcat(sb_szTempString_12, 1, 0, " (All courses for subgroup taken.)", 1, 0, 255); szTempString_12 = sb_szTempString_12.toString(); } SetAttributeFromString(mDegTrk, "RequiredSubGroup", "wDegreeAuditOL_Value", szTempString_12); //:IF szCourseCompletedFlag = "Y" if (ZeidonStringCompare(szCourseCompletedFlag, 1, 0, "Y", 1, 0, 2) == 0) { //:mDegTrk.RequiredSubGroup.wDegreeAuditSatisfied = "C" SetAttributeFromString(mDegTrk, "RequiredSubGroup", "wDegreeAuditSatisfied", "C"); //:ELSE } else { //:mDegTrk.RequiredSubGroup.wDegreeAuditSatisfied = "T" SetAttributeFromString(mDegTrk, "RequiredSubGroup", "wDegreeAuditSatisfied", "T"); } //:END //:ELSE } else { //:mDegTrk.RequiredSubGroup.wDegreeAuditOL_Value = mDegTrk.RequiredSubGroup.dReportValue SetAttributeFromAttribute(mDegTrk, "RequiredSubGroup", "wDegreeAuditOL_Value", mDegTrk, "RequiredSubGroup", "dReportValue"); //:mDegTrk.RequiredSubGroup.wDegreeAuditSatisfied = "N" SetAttributeFromString(mDegTrk, "RequiredSubGroup", "wDegreeAuditSatisfied", "N"); } RESULT = mDegTrk.cursor("RequiredSubGroup").setNextContinue().toInt(); ; //:END } //:END //:szCreditsNeeded = mDegTrk.RequiredGroup.TotalRequiredCredits { MutableInt mi_lTempInteger_55 = new MutableInt(lTempInteger_55); StringBuilder sb_szCreditsNeeded; if (szCreditsNeeded == null) sb_szCreditsNeeded = new StringBuilder(32); else sb_szCreditsNeeded = new StringBuilder(szCreditsNeeded); GetVariableFromAttribute(sb_szCreditsNeeded, mi_lTempInteger_55, 'S', 11, mDegTrk, "RequiredGroup", "TotalRequiredCredits", "", 0); lTempInteger_55 = mi_lTempInteger_55.intValue(); szCreditsNeeded = sb_szCreditsNeeded.toString(); } //:szCreditsTaken = CreditsTaken { StringBuilder sb_szCreditsTaken; if (szCreditsTaken == null) sb_szCreditsTaken = new StringBuilder(32); else sb_szCreditsTaken = new StringBuilder(szCreditsTaken); ZeidonStringConvertFromNumber(sb_szCreditsTaken, 1, 0, 10, 0, CreditsTaken, "D"); szCreditsTaken = sb_szCreditsTaken.toString(); } //:/*IF mDegTrk.RequiredGroup.wDegreeAuditHasTakingFlag = "Y" //:mDegTrk.RequiredGroup.wDegreeAuditOL_Value = mDegTrk.RequiredGroup.dReportValue + //: " (" + szCreditsTaken + " of " + szCreditsNeeded + " credits completed/enrolled.)" //:ELSE //:mDegTrk.RequiredGroup.wDegreeAuditOL_Value = mDegTrk.RequiredGroup.dReportValue + //: " (" + szCreditsTaken + " of " + szCreditsNeeded + " credits completed.)" //:END*/ //:// One subgroup must have all courses taken for the group to meet requirements. //:// Add to subgroup display value. //:SET CURSOR FIRST mDegTrk.RequiredSubGroup WHERE mDegTrk.RequiredSubGroup.wDegreeAuditSatisfied = "C" RESULT = mDegTrk.cursor("RequiredSubGroup").setFirst("wDegreeAuditSatisfied", "C") .toInt(); //:IF RESULT >= zCURSOR_SET if (RESULT >= zCURSOR_SET) { //:mDegTrk.RequiredGroup.wDegreeAuditOL_Value = mDegTrk.RequiredGroup.dReportValue + //: " (All courses in one subgroup must be taken: Reqmt MET)" { StringBuilder sb_szTempString_13; if (szTempString_13 == null) sb_szTempString_13 = new StringBuilder(32); else sb_szTempString_13 = new StringBuilder(szTempString_13); GetStringFromAttribute(sb_szTempString_13, mDegTrk, "RequiredGroup", "dReportValue"); szTempString_13 = sb_szTempString_13.toString(); } { StringBuilder sb_szTempString_13; if (szTempString_13 == null) sb_szTempString_13 = new StringBuilder(32); else sb_szTempString_13 = new StringBuilder(szTempString_13); ZeidonStringConcat(sb_szTempString_13, 1, 0, " (All courses in one subgroup must be taken: Reqmt MET)", 1, 0, 255); szTempString_13 = sb_szTempString_13.toString(); } SetAttributeFromString(mDegTrk, "RequiredGroup", "wDegreeAuditOL_Value", szTempString_13); //:IF CreditsCompleted >= mDegTrk.RequiredGroup.TotalRequiredCredits if (CompareAttributeToDecimal(mDegTrk, "RequiredGroup", "TotalRequiredCredits", CreditsCompleted) <= 0) { //:mDegTrk.RequiredGroup.wDegreeAuditSatisfied = "C" SetAttributeFromString(mDegTrk, "RequiredGroup", "wDegreeAuditSatisfied", "C"); //:ELSE } else { //:IF CreditsTaken >= mDegTrk.RequiredGroup.TotalRequiredCredits if (CompareAttributeToDecimal(mDegTrk, "RequiredGroup", "TotalRequiredCredits", CreditsTaken) <= 0) { //:mDegTrk.RequiredGroup.wDegreeAuditSatisfied = "T" SetAttributeFromString(mDegTrk, "RequiredGroup", "wDegreeAuditSatisfied", "T"); //:ELSE } else { //:mDegTrk.RequiredGroup.wDegreeAuditSatisfied = "N" SetAttributeFromString(mDegTrk, "RequiredGroup", "wDegreeAuditSatisfied", "N"); } //:END } //:END //:ELSE } else { //:SET CURSOR FIRST mDegTrk.RequiredSubGroup WHERE mDegTrk.RequiredSubGroup.wDegreeAuditSatisfied = "T" RESULT = mDegTrk.cursor("RequiredSubGroup").setFirst("wDegreeAuditSatisfied", "T") .toInt(); //:IF RESULT >= zCURSOR_SET if (RESULT >= zCURSOR_SET) { //:mDegTrk.RequiredGroup.wDegreeAuditOL_Value = mDegTrk.RequiredGroup.dReportValue + //: " (All courses in one subgroup must be taken: Reqmt MET)" { StringBuilder sb_szTempString_14; if (szTempString_14 == null) sb_szTempString_14 = new StringBuilder(32); else sb_szTempString_14 = new StringBuilder(szTempString_14); GetStringFromAttribute(sb_szTempString_14, mDegTrk, "RequiredGroup", "dReportValue"); szTempString_14 = sb_szTempString_14.toString(); } { StringBuilder sb_szTempString_14; if (szTempString_14 == null) sb_szTempString_14 = new StringBuilder(32); else sb_szTempString_14 = new StringBuilder(szTempString_14); ZeidonStringConcat(sb_szTempString_14, 1, 0, " (All courses in one subgroup must be taken: Reqmt MET)", 1, 0, 255); szTempString_14 = sb_szTempString_14.toString(); } SetAttributeFromString(mDegTrk, "RequiredGroup", "wDegreeAuditOL_Value", szTempString_14); //:IF CreditsTaken >= mDegTrk.RequiredGroup.TotalRequiredCredits if (CompareAttributeToDecimal(mDegTrk, "RequiredGroup", "TotalRequiredCredits", CreditsTaken) <= 0) { //:mDegTrk.RequiredGroup.wDegreeAuditSatisfied = "T" SetAttributeFromString(mDegTrk, "RequiredGroup", "wDegreeAuditSatisfied", "T"); //:ELSE } else { //:mDegTrk.RequiredGroup.wDegreeAuditSatisfied = "N" SetAttributeFromString(mDegTrk, "RequiredGroup", "wDegreeAuditSatisfied", "N"); } //:END //:ELSE } else { //:mDegTrk.RequiredGroup.wDegreeAuditSatisfied = "N" SetAttributeFromString(mDegTrk, "RequiredGroup", "wDegreeAuditSatisfied", "N"); //:mDegTrk.RequiredGroup.wDegreeAuditOL_Value = mDegTrk.RequiredGroup.dReportValue + //: " (NO subgroup meets reqmts)" { StringBuilder sb_szTempString_15; if (szTempString_15 == null) sb_szTempString_15 = new StringBuilder(32); else sb_szTempString_15 = new StringBuilder(szTempString_15); GetStringFromAttribute(sb_szTempString_15, mDegTrk, "RequiredGroup", "dReportValue"); szTempString_15 = sb_szTempString_15.toString(); } { StringBuilder sb_szTempString_15; if (szTempString_15 == null) sb_szTempString_15 = new StringBuilder(32); else sb_szTempString_15 = new StringBuilder(szTempString_15); ZeidonStringConcat(sb_szTempString_15, 1, 0, " (NO subgroup meets reqmts)", 1, 0, 255); szTempString_15 = sb_szTempString_15.toString(); } SetAttributeFromString(mDegTrk, "RequiredGroup", "wDegreeAuditOL_Value", szTempString_15); } //:END } //:END //:mDegTrk.RequiredGroup.wDegreeAuditTotalCreditsTaken = CreditsTaken SetAttributeFromDecimal(mDegTrk, "RequiredGroup", "wDegreeAuditTotalCreditsTaken", CreditsTaken); //:ELSE } else { //:// Group Type E: Electives //:IF mDegTrk.RequiredGroup.Type = "E" if (CompareAttributeToString(mDegTrk, "RequiredGroup", "Type", "E") == 0) { //:CourseTakenCount = 0 CourseTakenCount = 0; //:CreditsTaken = 0 CreditsTaken = 0; //:FOR EACH mDegTrk.CourseType1or2 WITHIN mDegTrk.RequiredGroup RESULT = mDegTrk.cursor("CourseType1or2").setFirst("RequiredGroup").toInt(); while (RESULT > zCURSOR_UNCHANGED) { //:IF mDegTrk.CourseType1or2.wDegreeAuditCourseTaken = "Y" if (CompareAttributeToString(mDegTrk, "CourseType1or2", "wDegreeAuditCourseTaken", "Y") == 0) { //:CourseTakenCount = CourseTakenCount + 1 CourseTakenCount = CourseTakenCount + 1; //:CreditsTaken = CreditsTaken + mDegTrk.CourseType1or2.wCreditsTaken { MutableDouble md_dTempDecimal_17 = new MutableDouble(dTempDecimal_17); GetDecimalFromAttribute(md_dTempDecimal_17, mDegTrk, "CourseType1or2", "wCreditsTaken"); dTempDecimal_17 = md_dTempDecimal_17.doubleValue(); } CreditsTaken = CreditsTaken + dTempDecimal_17; } //:END //:TotalDegreeTrackCreditsTaken = TotalDegreeTrackCreditsTaken + mDegTrk.CourseType1or2.wCreditsTaken { MutableDouble md_dTempDecimal_18 = new MutableDouble(dTempDecimal_18); GetDecimalFromAttribute(md_dTempDecimal_18, mDegTrk, "CourseType1or2", "wCreditsTaken"); dTempDecimal_18 = md_dTempDecimal_18.doubleValue(); } TotalDegreeTrackCreditsTaken = TotalDegreeTrackCreditsTaken + dTempDecimal_18; //:IF mDegTrk.CourseType1or2.wCourseStatus = "Completed" if (CompareAttributeToString(mDegTrk, "CourseType1or2", "wCourseStatus", "Completed") == 0) { //:TotalDegreeTrackCreditsEarned = TotalDegreeTrackCreditsEarned + mDegTrk.CourseType1or2.wCreditsTaken { MutableDouble md_dTempDecimal_19 = new MutableDouble(dTempDecimal_19); GetDecimalFromAttribute(md_dTempDecimal_19, mDegTrk, "CourseType1or2", "wCreditsTaken"); dTempDecimal_19 = md_dTempDecimal_19.doubleValue(); } TotalDegreeTrackCreditsEarned = TotalDegreeTrackCreditsEarned + dTempDecimal_19; } RESULT = mDegTrk.cursor("CourseType1or2").setNextContinue().toInt(); ; //:END } //:END //:szCourseTakenCount = CourseTakenCount { StringBuilder sb_szCourseTakenCount; if (szCourseTakenCount == null) sb_szCourseTakenCount = new StringBuilder(32); else sb_szCourseTakenCount = new StringBuilder(szCourseTakenCount); ZeidonStringConvertFromNumber(sb_szCourseTakenCount, 1, 0, 5, CourseTakenCount, (double) 0.0, "I"); szCourseTakenCount = sb_szCourseTakenCount.toString(); } //:szCreditsTaken = CreditsTaken { StringBuilder sb_szCreditsTaken; if (szCreditsTaken == null) sb_szCreditsTaken = new StringBuilder(32); else sb_szCreditsTaken = new StringBuilder(szCreditsTaken); ZeidonStringConvertFromNumber(sb_szCreditsTaken, 1, 0, 10, 0, CreditsTaken, "D"); szCreditsTaken = sb_szCreditsTaken.toString(); } //:mDegTrk.RequiredGroup.wDegreeAuditOL_Value = "Electives - " + //: "Courses: " + szCourseTakenCount + ", Credits: " + szCreditsTaken { StringBuilder sb_szTempString_16; if (szTempString_16 == null) sb_szTempString_16 = new StringBuilder(32); else sb_szTempString_16 = new StringBuilder(szTempString_16); ZeidonStringCopy(sb_szTempString_16, 1, 0, "Electives - ", 1, 0, 255); szTempString_16 = sb_szTempString_16.toString(); } { StringBuilder sb_szTempString_16; if (szTempString_16 == null) sb_szTempString_16 = new StringBuilder(32); else sb_szTempString_16 = new StringBuilder(szTempString_16); ZeidonStringConcat(sb_szTempString_16, 1, 0, "Courses: ", 1, 0, 255); szTempString_16 = sb_szTempString_16.toString(); } { StringBuilder sb_szTempString_16; if (szTempString_16 == null) sb_szTempString_16 = new StringBuilder(32); else sb_szTempString_16 = new StringBuilder(szTempString_16); ZeidonStringConcat(sb_szTempString_16, 1, 0, szCourseTakenCount, 1, 0, 255); szTempString_16 = sb_szTempString_16.toString(); } { StringBuilder sb_szTempString_16; if (szTempString_16 == null) sb_szTempString_16 = new StringBuilder(32); else sb_szTempString_16 = new StringBuilder(szTempString_16); ZeidonStringConcat(sb_szTempString_16, 1, 0, ", Credits: ", 1, 0, 255); szTempString_16 = sb_szTempString_16.toString(); } { StringBuilder sb_szTempString_16; if (szTempString_16 == null) sb_szTempString_16 = new StringBuilder(32); else sb_szTempString_16 = new StringBuilder(szTempString_16); ZeidonStringConcat(sb_szTempString_16, 1, 0, szCreditsTaken, 1, 0, 255); szTempString_16 = sb_szTempString_16.toString(); } SetAttributeFromString(mDegTrk, "RequiredGroup", "wDegreeAuditOL_Value", szTempString_16); //:mDegTrk.RequiredGroup.wDegreeAuditTotalCreditsTaken = CreditsTaken SetAttributeFromDecimal(mDegTrk, "RequiredGroup", "wDegreeAuditTotalCreditsTaken", CreditsTaken); //:OrderEntityForView( mDegTrk, "RequiredGroupCourseType1or2", "CourseType1or2.Number A" ) OrderEntityForView(mDegTrk, "RequiredGroupCourseType1or2", "CourseType1or2.Number A"); //:ELSE } else { //:// Group Type D: Developmental Courses //:IF mDegTrk.RequiredGroup.Type = "D" if (CompareAttributeToString(mDegTrk, "RequiredGroup", "Type", "D") == 0) { //:CourseTakenCount = 0 CourseTakenCount = 0; //:CreditsTaken = 0 CreditsTaken = 0; //:FOR EACH mDegTrk.CourseType1or2 WITHIN mDegTrk.RequiredGroup RESULT = mDegTrk.cursor("CourseType1or2").setFirst("RequiredGroup").toInt(); while (RESULT > zCURSOR_UNCHANGED) { //:CourseTakenCount = CourseTakenCount + 1 CourseTakenCount = CourseTakenCount + 1; //:CreditsTaken = CreditsTaken + mDegTrk.CourseType1or2.wCreditsTaken { MutableDouble md_dTempDecimal_20 = new MutableDouble(dTempDecimal_20); GetDecimalFromAttribute(md_dTempDecimal_20, mDegTrk, "CourseType1or2", "wCreditsTaken"); dTempDecimal_20 = md_dTempDecimal_20.doubleValue(); } CreditsTaken = CreditsTaken + dTempDecimal_20; RESULT = mDegTrk.cursor("CourseType1or2").setNextContinue().toInt(); ; } //:END //:szCourseTakenCount = CourseTakenCount { StringBuilder sb_szCourseTakenCount; if (szCourseTakenCount == null) sb_szCourseTakenCount = new StringBuilder(32); else sb_szCourseTakenCount = new StringBuilder(szCourseTakenCount); ZeidonStringConvertFromNumber(sb_szCourseTakenCount, 1, 0, 5, CourseTakenCount, (double) 0.0, "I"); szCourseTakenCount = sb_szCourseTakenCount.toString(); } //:szCreditsTaken = CreditsTaken { StringBuilder sb_szCreditsTaken; if (szCreditsTaken == null) sb_szCreditsTaken = new StringBuilder(32); else sb_szCreditsTaken = new StringBuilder(szCreditsTaken); ZeidonStringConvertFromNumber(sb_szCreditsTaken, 1, 0, 10, 0, CreditsTaken, "D"); szCreditsTaken = sb_szCreditsTaken.toString(); } //:mDegTrk.RequiredGroup.wDegreeAuditOL_Value = mDegTrk.RequiredGroup.Name + //: " - Courses: " + szCourseTakenCount + ", Credits: " + szCreditsTaken { StringBuilder sb_szTempString_17; if (szTempString_17 == null) sb_szTempString_17 = new StringBuilder(32); else sb_szTempString_17 = new StringBuilder(szTempString_17); GetStringFromAttribute(sb_szTempString_17, mDegTrk, "RequiredGroup", "Name"); szTempString_17 = sb_szTempString_17.toString(); } { StringBuilder sb_szTempString_17; if (szTempString_17 == null) sb_szTempString_17 = new StringBuilder(32); else sb_szTempString_17 = new StringBuilder(szTempString_17); ZeidonStringConcat(sb_szTempString_17, 1, 0, " - Courses: ", 1, 0, 255); szTempString_17 = sb_szTempString_17.toString(); } { StringBuilder sb_szTempString_17; if (szTempString_17 == null) sb_szTempString_17 = new StringBuilder(32); else sb_szTempString_17 = new StringBuilder(szTempString_17); ZeidonStringConcat(sb_szTempString_17, 1, 0, szCourseTakenCount, 1, 0, 255); szTempString_17 = sb_szTempString_17.toString(); } { StringBuilder sb_szTempString_17; if (szTempString_17 == null) sb_szTempString_17 = new StringBuilder(32); else sb_szTempString_17 = new StringBuilder(szTempString_17); ZeidonStringConcat(sb_szTempString_17, 1, 0, ", Credits: ", 1, 0, 255); szTempString_17 = sb_szTempString_17.toString(); } { StringBuilder sb_szTempString_17; if (szTempString_17 == null) sb_szTempString_17 = new StringBuilder(32); else sb_szTempString_17 = new StringBuilder(szTempString_17); ZeidonStringConcat(sb_szTempString_17, 1, 0, szCreditsTaken, 1, 0, 255); szTempString_17 = sb_szTempString_17.toString(); } SetAttributeFromString(mDegTrk, "RequiredGroup", "wDegreeAuditOL_Value", szTempString_17); //:OrderEntityForView( mDegTrk, "RequiredGroupCourseType1or2", "CourseType1or2.Number A" ) OrderEntityForView(mDegTrk, "RequiredGroupCourseType1or2", "CourseType1or2.Number A"); } //:END } //:END } //:END } //:END } //:END } //: END //: //: // If the RequiredGroup has been manually satisfied, we will override the results set above. //: // We will first validate that no ManuallySatisfied entry exists without a DegreeTrack entity as this //: // case leads to a Core error. //: FOR EACH mStudenC.ManuallySatisfied RESULT = mStudenC.cursor("ManuallySatisfied").setFirst().toInt(); while (RESULT > zCURSOR_UNCHANGED) { //: IF mStudenC.MS_DegreeTrack DOES NOT EXIST lTempInteger_56 = CheckExistenceOfEntity(mStudenC, "MS_DegreeTrack"); if (lTempInteger_56 != 0) { //: MessageSend( mStudenC, "", "Degree Audit", //: "The Student has a 'Manually Satisfied Groups' entry that doesn't have a Degree Track associated with it.", //: zMSGQ_OBJECT_CONSTRAINT_ERROR, 0 ) MessageSend(mStudenC, "", "Degree Audit", "The Student has a 'Manually Satisfied Groups' entry that doesn't have a Degree Track associated with it.", zMSGQ_OBJECT_CONSTRAINT_ERROR, 0); //: RETURN -1 if (8 == 8) return (-1); } //: END //: IF mStudenC.MS_RequiredGroup DOES NOT EXIST lTempInteger_57 = CheckExistenceOfEntity(mStudenC, "MS_RequiredGroup"); if (lTempInteger_57 != 0) { //: MessageSend( mStudenC, "", "Degree Audit", //: "The Student has a 'Manually Satisfied Groups' entry that doesn't have a Required Group associated with it.", //: zMSGQ_OBJECT_CONSTRAINT_ERROR, 0 ) MessageSend(mStudenC, "", "Degree Audit", "The Student has a 'Manually Satisfied Groups' entry that doesn't have a Required Group associated with it.", zMSGQ_OBJECT_CONSTRAINT_ERROR, 0); //: RETURN -1 if (8 == 8) return (-1); } RESULT = mStudenC.cursor("ManuallySatisfied").setNextContinue().toInt(); ; //: END } //: END //: SET CURSOR FIRST mStudenC.ManuallySatisfied //: WHERE mStudenC.MS_DegreeTrack.ID = mDegTrk.DegreeTrack.ID //: AND mStudenC.MS_RequiredGroup.ID = mDegTrk.RequiredGroup.ID RESULT = mStudenC.cursor("ManuallySatisfied").setFirst().toInt(); if (RESULT > zCURSOR_UNCHANGED) { while (RESULT > zCURSOR_UNCHANGED && (CompareAttributeToAttribute(mStudenC, "MS_DegreeTrack", "ID", mDegTrk, "DegreeTrack", "ID") != 0 || CompareAttributeToAttribute(mStudenC, "MS_RequiredGroup", "ID", mDegTrk, "RequiredGroup", "ID") != 0)) { RESULT = mStudenC.cursor("ManuallySatisfied").setNextContinue().toInt(); ; } } //: IF RESULT >= zCURSOR_SET if (RESULT >= zCURSOR_SET) { //: mDegTrk.RequiredGroup.wDegreeAuditOL_Value = mDegTrk.RequiredGroup.dReportValue + //: " (Manually satisfied: " + mStudenC.ManuallySatisfied.SatisfiedReason + ")" { StringBuilder sb_szTempString_18; if (szTempString_18 == null) sb_szTempString_18 = new StringBuilder(32); else sb_szTempString_18 = new StringBuilder(szTempString_18); GetStringFromAttribute(sb_szTempString_18, mDegTrk, "RequiredGroup", "dReportValue"); szTempString_18 = sb_szTempString_18.toString(); } { StringBuilder sb_szTempString_18; if (szTempString_18 == null) sb_szTempString_18 = new StringBuilder(32); else sb_szTempString_18 = new StringBuilder(szTempString_18); ZeidonStringConcat(sb_szTempString_18, 1, 0, " (Manually satisfied: ", 1, 0, 255); szTempString_18 = sb_szTempString_18.toString(); } { MutableInt mi_lTempInteger_58 = new MutableInt(lTempInteger_58); StringBuilder sb_szTempString_19; if (szTempString_19 == null) sb_szTempString_19 = new StringBuilder(32); else sb_szTempString_19 = new StringBuilder(szTempString_19); GetVariableFromAttribute(sb_szTempString_19, mi_lTempInteger_58, 'S', 51, mStudenC, "ManuallySatisfied", "SatisfiedReason", "", 0); lTempInteger_58 = mi_lTempInteger_58.intValue(); szTempString_19 = sb_szTempString_19.toString(); } { StringBuilder sb_szTempString_18; if (szTempString_18 == null) sb_szTempString_18 = new StringBuilder(32); else sb_szTempString_18 = new StringBuilder(szTempString_18); ZeidonStringConcat(sb_szTempString_18, 1, 0, szTempString_19, 1, 0, 255); szTempString_18 = sb_szTempString_18.toString(); } { StringBuilder sb_szTempString_18; if (szTempString_18 == null) sb_szTempString_18 = new StringBuilder(32); else sb_szTempString_18 = new StringBuilder(szTempString_18); ZeidonStringConcat(sb_szTempString_18, 1, 0, ")", 1, 0, 255); szTempString_18 = sb_szTempString_18.toString(); } SetAttributeFromString(mDegTrk, "RequiredGroup", "wDegreeAuditOL_Value", szTempString_18); //: mDegTrk.RequiredGroup.wDegreeAuditSatisfied = "C" SetAttributeFromString(mDegTrk, "RequiredGroup", "wDegreeAuditSatisfied", "C"); } RESULT = mDegTrk.cursor("RequiredGroup").setNextContinue().toInt(); ; //: END } //:END //:// Add any Waitlisted courses, though they won't apply to any credit counts or audit results. //:// We also won't consider any repeatable classes that have already been taken. //:FOR EACH mStudenC.StudentWaitlisted RESULT = mStudenC.cursor("StudentWaitlisted").setFirst().toInt(); while (RESULT > zCURSOR_UNCHANGED) { //:SET CURSOR FIRST mDegTrk.CourseType1or2 WITHIN mDegTrk.DegreeTrack //: WHERE mDegTrk.CourseType1or2.ID = mStudenC.StudentWaitlistedCourse.ID { MutableInt mi_lTempInteger_59 = new MutableInt(lTempInteger_59); GetIntegerFromAttribute(mi_lTempInteger_59, mStudenC, "StudentWaitlistedCourse", "ID"); lTempInteger_59 = mi_lTempInteger_59.intValue(); } RESULT = mDegTrk.cursor("CourseType1or2").setFirst("ID", lTempInteger_59, "DegreeTrack").toInt(); //:IF RESULT >= zCURSOR_SET if (RESULT >= zCURSOR_SET) { //:// There was a match on CourseType1or2. //:// If the entry has already been satisfied, add a new item. //:IF mDegTrk.CourseType1or2.wDegreeAuditCourseTaken = "" if (CompareAttributeToString(mDegTrk, "CourseType1or2", "wDegreeAuditCourseTaken", "") == 0) { //:mDegTrk.CourseType1or2.wCourseStatus = "Waitlisted" SetAttributeFromString(mDegTrk, "CourseType1or2", "wCourseStatus", "Waitlisted"); //:mDegTrk.CourseType1or2.wCreditsTaken = mStudenC.StudentWaitlistedClass.CreditHours SetAttributeFromAttribute(mDegTrk, "CourseType1or2", "wCreditsTaken", mStudenC, "StudentWaitlistedClass", "CreditHours"); //:ELSE } else { //:CreateViewFromView( mDegTrkC, mDegTrk ) CreateViewFromView(mDegTrkC, mDegTrk); //:CREATE ENTITY mDegTrkC.RequiredGroupCourseType1or2 RESULT = CreateEntity(mDegTrkC, "RequiredGroupCourseType1or2", zPOS_AFTER); //:CREATE ENTITY mDegTrkC.CourseType1or2 RESULT = CreateEntity(mDegTrkC, "CourseType1or2", zPOS_AFTER); //:SetMatchingAttributesByName( mDegTrkC, "CourseType1or2", mDegTrk, "CourseType1or2", zSET_NULL ) SetMatchingAttributesByName(mDegTrkC, "CourseType1or2", mDegTrk, "CourseType1or2", zSET_NULL); //:IF mStudenC.StudentWaitlistedCourseTopic EXISTS lTempInteger_60 = CheckExistenceOfEntity(mStudenC, "StudentWaitlistedCourseTopic"); if (lTempInteger_60 == 0) { //:mDegTrkC.CourseType1or2.Number = mStudenC.StudentWaitlistedCourse.Number + //: mStudenC.StudentWaitlistedCourseTopic.Number { StringBuilder sb_szTempString_20; if (szTempString_20 == null) sb_szTempString_20 = new StringBuilder(32); else sb_szTempString_20 = new StringBuilder(szTempString_20); GetStringFromAttribute(sb_szTempString_20, mStudenC, "StudentWaitlistedCourse", "Number"); szTempString_20 = sb_szTempString_20.toString(); } { StringBuilder sb_szTempString_21; if (szTempString_21 == null) sb_szTempString_21 = new StringBuilder(32); else sb_szTempString_21 = new StringBuilder(szTempString_21); GetStringFromAttribute(sb_szTempString_21, mStudenC, "StudentWaitlistedCourseTopic", "Number"); szTempString_21 = sb_szTempString_21.toString(); } { StringBuilder sb_szTempString_20; if (szTempString_20 == null) sb_szTempString_20 = new StringBuilder(32); else sb_szTempString_20 = new StringBuilder(szTempString_20); ZeidonStringConcat(sb_szTempString_20, 1, 0, szTempString_21, 1, 0, 11); szTempString_20 = sb_szTempString_20.toString(); } SetAttributeFromString(mDegTrkC, "CourseType1or2", "Number", szTempString_20); //:mDegTrkC.CourseType1or2.Title = mStudenC.StudentWaitlistedCourseTopic.Title SetAttributeFromAttribute(mDegTrkC, "CourseType1or2", "Title", mStudenC, "StudentWaitlistedCourseTopic", "Title"); //:ELSE } else { //:mDegTrkC.CourseType1or2.Number = mStudenC.StudentWaitlistedCourse.Number SetAttributeFromAttribute(mDegTrkC, "CourseType1or2", "Number", mStudenC, "StudentWaitlistedCourse", "Number"); //:mDegTrkC.CourseType1or2.Title = mStudenC.StudentWaitlistedCourse.Title SetAttributeFromAttribute(mDegTrkC, "CourseType1or2", "Title", mStudenC, "StudentWaitlistedCourse", "Title"); } //:END //:mDegTrkC.CourseType1or2.wCourseStatus = "Waitlisted" SetAttributeFromString(mDegTrkC, "CourseType1or2", "wCourseStatus", "Waitlisted"); //:mDegTrkC.CourseType1or2.wCreditsTaken = mStudenC.StudentWaitlistedClass.CreditHours SetAttributeFromAttribute(mDegTrkC, "CourseType1or2", "wCreditsTaken", mStudenC, "StudentWaitlistedClass", "CreditHours"); //:DropView( mDegTrkC ) DropView(mDegTrkC); } //:END //:ELSE } else { //:// There wasn't a match on CourseType1or2, so try CourseType3or4. //:SET CURSOR FIRST mDegTrk.CourseType3or4 WITHIN mDegTrk.DegreeTrack //: WHERE mDegTrk.CourseType3or4.ID = mStudenC.StudentWaitlistedCourse.ID { MutableInt mi_lTempInteger_61 = new MutableInt(lTempInteger_61); GetIntegerFromAttribute(mi_lTempInteger_61, mStudenC, "StudentWaitlistedCourse", "ID"); lTempInteger_61 = mi_lTempInteger_61.intValue(); } RESULT = mDegTrk.cursor("CourseType3or4").setFirst("ID", lTempInteger_61, "DegreeTrack").toInt(); //:IF RESULT >= zCURSOR_SET if (RESULT >= zCURSOR_SET) { //:// There was a match on CourseType3or4. //:// If the entry has already been satisfied, add a new item. //:IF mDegTrk.CourseType3or4.wDegreeAuditCourseTaken = "" if (CompareAttributeToString(mDegTrk, "CourseType3or4", "wDegreeAuditCourseTaken", "") == 0) { //:mDegTrk.CourseType3or4.wCourseStatus = "Waitlisted" SetAttributeFromString(mDegTrk, "CourseType3or4", "wCourseStatus", "Waitlisted"); //:mDegTrk.CourseType3or4.wCreditsTaken = mStudenC.StudentWaitlistedClass.CreditHours SetAttributeFromAttribute(mDegTrk, "CourseType3or4", "wCreditsTaken", mStudenC, "StudentWaitlistedClass", "CreditHours"); //:ELSE } else { //:CreateViewFromView( mDegTrkC, mDegTrk ) CreateViewFromView(mDegTrkC, mDegTrk); //:CREATE ENTITY mDegTrkC.RequiredGroupCourseType3or4 RESULT = CreateEntity(mDegTrkC, "RequiredGroupCourseType3or4", zPOS_AFTER); //:CREATE ENTITY mDegTrkC.CourseType3or4 RESULT = CreateEntity(mDegTrkC, "CourseType3or4", zPOS_AFTER); //:SetMatchingAttributesByName( mDegTrkC, "CourseType3or4", mDegTrk, "CourseType3or4", zSET_NULL ) SetMatchingAttributesByName(mDegTrkC, "CourseType3or4", mDegTrk, "CourseType3or4", zSET_NULL); //:IF mStudenC.StudentWaitlistedCourseTopic EXISTS lTempInteger_62 = CheckExistenceOfEntity(mStudenC, "StudentWaitlistedCourseTopic"); if (lTempInteger_62 == 0) { //:mDegTrkC.CourseType3or4.Number = mStudenC.StudentWaitlistedCourse.Number + //: mStudenC.StudentWaitlistedCourseTopic.Number { StringBuilder sb_szTempString_22; if (szTempString_22 == null) sb_szTempString_22 = new StringBuilder(32); else sb_szTempString_22 = new StringBuilder(szTempString_22); GetStringFromAttribute(sb_szTempString_22, mStudenC, "StudentWaitlistedCourse", "Number"); szTempString_22 = sb_szTempString_22.toString(); } { StringBuilder sb_szTempString_23; if (szTempString_23 == null) sb_szTempString_23 = new StringBuilder(32); else sb_szTempString_23 = new StringBuilder(szTempString_23); GetStringFromAttribute(sb_szTempString_23, mStudenC, "StudentWaitlistedCourseTopic", "Number"); szTempString_23 = sb_szTempString_23.toString(); } { StringBuilder sb_szTempString_22; if (szTempString_22 == null) sb_szTempString_22 = new StringBuilder(32); else sb_szTempString_22 = new StringBuilder(szTempString_22); ZeidonStringConcat(sb_szTempString_22, 1, 0, szTempString_23, 1, 0, 11); szTempString_22 = sb_szTempString_22.toString(); } SetAttributeFromString(mDegTrkC, "CourseType3or4", "Number", szTempString_22); //:mDegTrkC.CourseType3or4.Title = mStudenC.StudentWaitlistedCourseTopic.Title SetAttributeFromAttribute(mDegTrkC, "CourseType3or4", "Title", mStudenC, "StudentWaitlistedCourseTopic", "Title"); //:ELSE } else { //:mDegTrkC.CourseType3or4.Number = mStudenC.StudentWaitlistedCourse.Number SetAttributeFromAttribute(mDegTrkC, "CourseType3or4", "Number", mStudenC, "StudentWaitlistedCourse", "Number"); //:mDegTrkC.CourseType3or4.Title = mStudenC.StudentWaitlistedCourse.Title SetAttributeFromAttribute(mDegTrkC, "CourseType3or4", "Title", mStudenC, "StudentWaitlistedCourse", "Title"); } //:END //:mDegTrkC.CourseType3or4.wCourseStatus = "Waitlisted" SetAttributeFromString(mDegTrkC, "CourseType3or4", "wCourseStatus", "Waitlisted"); //:mDegTrkC.CourseType3or4.wCreditsTaken = mStudenC.StudentWaitlistedClass.CreditHours SetAttributeFromAttribute(mDegTrkC, "CourseType3or4", "wCreditsTaken", mStudenC, "StudentWaitlistedClass", "CreditHours"); //:DropView( mDegTrkC ) DropView(mDegTrkC); } //:END } //:END } RESULT = mStudenC.cursor("StudentWaitlisted").setNextContinue().toInt(); ; //:END } //:END //:// Mark Course entries "No longer offered" if are no longer Active, unless they are satisfied //:// by a Course. //:FOR EACH mDegTrk.CourseType1or2 WITHIN mDegTrk.DegreeTrack RESULT = mDegTrk.cursor("CourseType1or2").setFirst("DegreeTrack").toInt(); while (RESULT > zCURSOR_UNCHANGED) { //:IF mDegTrk.CourseType1or2.Status != "" AND //: mDegTrk.CourseType1or2.Status != "A" AND //: mDegTrk.CourseType1or2.wCourseStatus = "" if (CompareAttributeToString(mDegTrk, "CourseType1or2", "Status", "") != 0 && CompareAttributeToString(mDegTrk, "CourseType1or2", "Status", "A") != 0 && CompareAttributeToString(mDegTrk, "CourseType1or2", "wCourseStatus", "") == 0) { //:mDegTrk.CourseType1or2.wCourseStatus = "No longer offered" SetAttributeFromString(mDegTrk, "CourseType1or2", "wCourseStatus", "No longer offered"); } RESULT = mDegTrk.cursor("CourseType1or2").setNextContinue().toInt(); ; //:END } //:END //:FOR EACH mDegTrk.CourseType3or4 WITHIN mDegTrk.DegreeTrack RESULT = mDegTrk.cursor("CourseType3or4").setFirst("DegreeTrack").toInt(); while (RESULT > zCURSOR_UNCHANGED) { //:IF mDegTrk.CourseType3or4.Status != "" AND //: mDegTrk.CourseType3or4.Status != "A" AND //: mDegTrk.CourseType3or4.wCourseStatus = "" if (CompareAttributeToString(mDegTrk, "CourseType3or4", "Status", "") != 0 && CompareAttributeToString(mDegTrk, "CourseType3or4", "Status", "A") != 0 && CompareAttributeToString(mDegTrk, "CourseType3or4", "wCourseStatus", "") == 0) { //:mDegTrk.CourseType3or4.wCourseStatus = "No longer offered" SetAttributeFromString(mDegTrk, "CourseType3or4", "wCourseStatus", "No longer offered"); } RESULT = mDegTrk.cursor("CourseType3or4").setNextContinue().toInt(); ; //:END } //:END //:// Drop any entries for Generic Courses that have not been satisfied. //:/*FOR EACH mDegTrk.CourseType1or2 WITHIN mDegTrk.DegreeTrack //: IF mDegTrk.CourseType1or2.GenericCourseFlag = "Y" AND //: mDegTrk.CourseType1or2.wCourseStatus = "" //: //: DropEntity( mDegTrk, "RequiredGroupCourseType1or2", zREPOS_NONE ) //: END //:END //:FOR EACH mDegTrk.CourseType3or4 WITHIN mDegTrk.DegreeTrack //: IF mDegTrk.CourseType3or4.GenericCourseFlag = "Y" AND //: mDegTrk.CourseType3or4.wCourseStatus = "" //: //: DropEntity( mDegTrk, "RequiredGroupCourseType3or4", zREPOS_NONE ) //: END //:END*/ //:// Delete the general "Developmental" group if it has no entries. //:SET CURSOR FIRST mDegTrk.RequiredGroup WITHIN mDegTrk.DegreeTrack //: WHERE mDegTrk.RequiredGroup.Type = "D" RESULT = mDegTrk.cursor("RequiredGroup").setFirst("Type", "D", "DegreeTrack").toInt(); //:IF mDegTrk.RequiredGroupCourseType1or2 DOES NOT EXIST lTempInteger_63 = CheckExistenceOfEntity(mDegTrk, "RequiredGroupCourseType1or2"); if (lTempInteger_63 != 0) { //:DELETE ENTITY mDegTrk.DegreeTrackRequiredGroup RESULT = DeleteEntity(mDegTrk, "DegreeTrackRequiredGroup", zPOS_NEXT); } //:END //:// Set total credits applicable to Degree Track. //:mDegTrk.DegreeTrack.wDegreeAuditTotalCreditsTaken = TotalDegreeTrackCreditsTaken SetAttributeFromDecimal(mDegTrk, "DegreeTrack", "wDegreeAuditTotalCreditsTaken", TotalDegreeTrackCreditsTaken); //:mDegTrk.DegreeTrack.wDegreeAuditTotalCreditsEarned = TotalDegreeTrackCreditsEarned SetAttributeFromDecimal(mDegTrk, "DegreeTrack", "wDegreeAuditTotalCreditsEarned", TotalDegreeTrackCreditsEarned); //:// Set indication whether or not all audit requirements are met. The indication depends on a combination of whether or //:// not Class Requirements are met and the value of the Comprehensive Test Score. //:// There are three different possibilities for whether Class Requirements are met. //:// 1. Classes Satisfied (CS) //:// - All RequiredGroup requirements are met by courses completed. //:// - The EarnedCredits - DevelopmentCredits are >= MinimumCredits required, as specified by Degree and graduating year. //:// - The Student's GPA is >= MinimumGPA, as specified on the Degree Track. //:// 2. Classes On Track (CT) //:// - All RequiredGroup requirements are met by courses completed and enrolled (not considering Pre_Transfer courses). //:// - The EarnedCredits + EnrolledCredits - DevelopmentCredits (Graduation Credits) are >= MinimumCredits required, //:// as specified by Degree and graduating year. //:// - The Student's GPA is >= MinimumGPA, as specified on the Degree Track. //:// 3. Classes Not Satisfied (CN) //:// - If neither of the above is true. //:// The final indication value depends one of the above cases and on the value of the Comprehensive Test Score as follows: //:// 1. Requirements Satisfied //:// - Courses are Satisfied. //:// - The ComprehensiveTestScore value is L, H, D, P, N or R. //:// 2. Courses Satisfied, No Comp Results //:// - Courses are Satisfied. //:// - The ComprehensiveTestScore value is null. //:// 3. Courses Satisfied, Failed Comp //:// - Courses are Satisfied. //:// - The ComprehensiveTestScore value is F. //:// 4. Courses on Track, Passed Comp //:// - Courses on Track //:// - The ComprehensiveTestScore value is L, H, D, P, N or R. //:// 5. Courses on Track, No Comp Results //:// - Courses on Track //:// - The ComprehensiveTestScore value is null. //:// 6. Courses on Track, Failed Comp //:// - Courses on Track //:// - The ComprehensiveTestScore value is F. //:// 7. Requirements NOT satisfied //:// - If none of the above is true. //:// Minimum Credits Required //:GET VIEW mDegreeLST NAMED "mDegreeLST" RESULT = GetViewByName(mDegreeLST, "mDegreeLST", mDegTrk, zLEVEL_TASK); //:IF RESULT < 0 if (RESULT < 0) { //:ACTIVATE mDegreeLST Multiple RESULT = ActivateObjectInstance(mDegreeLST, "mDegree", mDegTrk, 0, zMULTIPLE); //:NAME VIEW mDegreeLST "mDegreeLST" SetNameForView(mDegreeLST, "mDegreeLST", null, zLEVEL_TASK); } //:END //:IF mStudent.DC_AnticipatedGraduationDate DOES NOT EXIST lTempInteger_64 = CheckExistenceOfEntity(mStudent, "DC_AnticipatedGraduationDate"); if (lTempInteger_64 != 0) { //:MinCreditsRequired = 124 MinCreditsRequired = 124; //:ELSE } else { //:szWorkDate = mStudent.DC_AnticipatedGraduationDate.Date { MutableInt mi_lTempInteger_65 = new MutableInt(lTempInteger_65); StringBuilder sb_szWorkDate; if (szWorkDate == null) sb_szWorkDate = new StringBuilder(32); else sb_szWorkDate = new StringBuilder(szWorkDate); GetVariableFromAttribute(sb_szWorkDate, mi_lTempInteger_65, 'S', 9, mStudent, "DC_AnticipatedGraduationDate", "Date", "", 0); lTempInteger_65 = mi_lTempInteger_65.intValue(); szWorkDate = sb_szWorkDate.toString(); } //:szWorkYear = szWorkDate { StringBuilder sb_szWorkYear; if (szWorkYear == null) sb_szWorkYear = new StringBuilder(32); else sb_szWorkYear = new StringBuilder(szWorkYear); ZeidonStringCopy(sb_szWorkYear, 1, 0, szWorkDate, 1, 0, 5); szWorkYear = sb_szWorkYear.toString(); } //:SET CURSOR FIRST mDegreeLST.CollegeDegree WHERE mDegreeLST.CollegeDegree.ID = mStudent.DegreeTrackCollegeDegree.ID { MutableInt mi_lTempInteger_66 = new MutableInt(lTempInteger_66); GetIntegerFromAttribute(mi_lTempInteger_66, mStudent, "DegreeTrackCollegeDegree", "ID"); lTempInteger_66 = mi_lTempInteger_66.intValue(); } RESULT = mDegreeLST.cursor("CollegeDegree").setFirst("ID", lTempInteger_66).toInt(); //:SET CURSOR FIRST mDegreeLST.DegreeYearData //: WHERE mDegreeLST.DegreeYearData.FromYear <= szWorkYear //: AND mDegreeLST.DegreeYearData.ThroughYear >= szWorkYear RESULT = mDegreeLST.cursor("DegreeYearData").setFirst().toInt(); if (RESULT > zCURSOR_UNCHANGED) { while (RESULT > zCURSOR_UNCHANGED && (CompareAttributeToString(mDegreeLST, "DegreeYearData", "FromYear", szWorkYear) > 0 || CompareAttributeToString(mDegreeLST, "DegreeYearData", "ThroughYear", szWorkYear) < 0)) { RESULT = mDegreeLST.cursor("DegreeYearData").setNextContinue().toInt(); ; } } //:IF RESULT < zCURSOR_SET if (RESULT < zCURSOR_SET) { //:MinCreditsRequired = 124 MinCreditsRequired = 124; //:ELSE } else { //:MinCreditsRequired = mDegreeLST.DegreeYearData.MinimumCreditsRequired { MutableDouble md_MinCreditsRequired = new MutableDouble(MinCreditsRequired); GetDecimalFromAttribute(md_MinCreditsRequired, mDegreeLST, "DegreeYearData", "MinimumCreditsRequired"); MinCreditsRequired = md_MinCreditsRequired.doubleValue(); } } //:END } //:END //:mDegTrk.DegreeTrack.wMinimumCreditsRequired = MinCreditsRequired SetAttributeFromDecimal(mDegTrk, "DegreeTrack", "wMinimumCreditsRequired", MinCreditsRequired); //:// Set summary attributes in DegreeTrack. //:mDegTrk.DegreeTrack.AuditTotalCreditsEarned = lTrnscpt.Student.dEarnedCredits SetAttributeFromAttribute(mDegTrk, "DegreeTrack", "AuditTotalCreditsEarned", lTrnscpt, "Student", "dEarnedCredits"); //:mDegTrk.DegreeTrack.AuditDevelopmentalCredits = mDegTrk.DegreeTrack.dDevelopmentalCredits SetAttributeFromAttribute(mDegTrk, "DegreeTrack", "AuditDevelopmentalCredits", mDegTrk, "DegreeTrack", "dDevelopmentalCredits"); //:mDegTrk.DegreeTrack.AuditEnrolledCredits = mStudenC.Student.dEnrolledCredits SetAttributeFromAttribute(mDegTrk, "DegreeTrack", "AuditEnrolledCredits", mStudenC, "Student", "dEnrolledCredits"); //:mDegTrk.DegreeTrack.AuditGraduationCredits = mDegTrk.DegreeTrack.dGraduationCredits SetAttributeFromAttribute(mDegTrk, "DegreeTrack", "AuditGraduationCredits", mDegTrk, "DegreeTrack", "dGraduationCredits"); //:mDegTrk.DegreeTrack.AuditEnrolledCreditsRepeating = mStudenC.Student.dEnrolledCreditsRepeated SetAttributeFromAttribute(mDegTrk, "DegreeTrack", "AuditEnrolledCreditsRepeating", mStudenC, "Student", "dEnrolledCreditsRepeated"); //:mDegTrk.DegreeTrack.AuditPreTransferCredits = mStudenC.Student.dPreTransferCredits SetAttributeFromAttribute(mDegTrk, "DegreeTrack", "AuditPreTransferCredits", mStudenC, "Student", "dPreTransferCredits"); //:mDegTrk.DegreeTrack.AuditMinimumCreditsRequired = mDegTrk.DegreeTrack.wMinimumCreditsRequired SetAttributeFromAttribute(mDegTrk, "DegreeTrack", "AuditMinimumCreditsRequired", mDegTrk, "DegreeTrack", "wMinimumCreditsRequired"); //:mDegTrk.DegreeTrack.AuditGPA = lTrnscpt.Student.dGradePointAverage SetAttributeFromAttribute(mDegTrk, "DegreeTrack", "AuditGPA", lTrnscpt, "Student", "dGradePointAverage"); //:mDegTrk.DegreeTrack.AuditMajorGPA = mStudent.StudentMajorDegreeTrack.dMajorGPA SetAttributeFromAttribute(mDegTrk, "DegreeTrack", "AuditMajorGPA", mStudent, "StudentMajorDegreeTrack", "dMajorGPA"); //:GraduationCreditsEarned = lTrnscpt.Student.dEarnedCredits - mDegTrk.DegreeTrack.AuditDevelopmentalCredits { MutableDouble md_dTempDecimal_21 = new MutableDouble(dTempDecimal_21); GetDecimalFromAttribute(md_dTempDecimal_21, lTrnscpt, "Student", "dEarnedCredits"); dTempDecimal_21 = md_dTempDecimal_21.doubleValue(); } { MutableDouble md_dTempDecimal_22 = new MutableDouble(dTempDecimal_22); GetDecimalFromAttribute(md_dTempDecimal_22, mDegTrk, "DegreeTrack", "AuditDevelopmentalCredits"); dTempDecimal_22 = md_dTempDecimal_22.doubleValue(); } GraduationCreditsEarned = dTempDecimal_21 - dTempDecimal_22; //:// Compute Local Institution GPA, which will be the AuiditGPA from a copy of the Transcript without //:// transfer entries. Thus, if there are not transfer entries, it will be the normal AuditGPA. //:SET CURSOR FIRST lTrnscpt.Registration WHERE lTrnscpt.Registration.Status = "F" OR lTrnscpt.Registration.Status = "X" RESULT = lTrnscpt.cursor("Registration").setFirst().toInt(); if (RESULT > zCURSOR_UNCHANGED) { while (RESULT > zCURSOR_UNCHANGED && (CompareAttributeToString(lTrnscpt, "Registration", "Status", "F") != 0 && CompareAttributeToString(lTrnscpt, "Registration", "Status", "X") != 0)) { RESULT = lTrnscpt.cursor("Registration").setNextContinue().toInt(); ; } } //:IF RESULT >= zCURSOR_SET if (RESULT >= zCURSOR_SET) { //:// There are transfer records, so create a copy of the transcript and eliminate transfer records. //:ActivateOI_FromOI( lTrnscptT, lTrnscpt, zSINGLE ) ActivateOI_FromOI(lTrnscptT, lTrnscpt, zSINGLE); //:FOR EACH lTrnscptT.PrintGroup RESULT = lTrnscptT.cursor("PrintGroup").setFirst().toInt(); while (RESULT > zCURSOR_UNCHANGED) { //:DropEntity( lTrnscptT, "PrintGroup", zREPOS_NONE ) DropEntity(lTrnscptT, "PrintGroup", zREPOS_NONE); RESULT = lTrnscptT.cursor("PrintGroup").setNextContinue().toInt(); ; } //:END //:FOR EACH lTrnscptT.TranscriptGroup RESULT = lTrnscptT.cursor("TranscriptGroup").setFirst().toInt(); while (RESULT > zCURSOR_UNCHANGED) { //:IF lTrnscptT.TranscriptGroup.wRecordType = "T" if (CompareAttributeToString(lTrnscptT, "TranscriptGroup", "wRecordType", "T") == 0) { //:DropEntity( lTrnscptT, "TranscriptGroup", zREPOS_NONE ) DropEntity(lTrnscptT, "TranscriptGroup", zREPOS_NONE); } RESULT = lTrnscptT.cursor("TranscriptGroup").setNextContinue().toInt(); ; //:END } //:END //:BuildPrintGroup( lTrnscptT ) { lTrnscpt_Object m_lTrnscpt_Object = new lTrnscpt_Object(lTrnscptT); m_lTrnscpt_Object.olTrnscpt_BuildPrintGroup(lTrnscptT); // m_lTrnscpt_Object = null; // permit gc (unnecessary) } //:mDegTrk.DegreeTrack.AuditLocalCollegeGPA = lTrnscptT.Student.dGradePointAverage SetAttributeFromAttribute(mDegTrk, "DegreeTrack", "AuditLocalCollegeGPA", lTrnscptT, "Student", "dGradePointAverage"); //:DropObjectInstance( lTrnscptT ) DropObjectInstance(lTrnscptT); //:ELSE } else { //:// There are not transfer records, so use AuditGPA. //:mDegTrk.DegreeTrack.AuditLocalCollegeGPA = mDegTrk.DegreeTrack.AuditGPA SetAttributeFromAttribute(mDegTrk, "DegreeTrack", "AuditLocalCollegeGPA", mDegTrk, "DegreeTrack", "AuditGPA"); } //:END //:// Minimum GPA //:IF mDegTrk.DegreeTrack.MinimumGPA = "" if (CompareAttributeToString(mDegTrk, "DegreeTrack", "MinimumGPA", "") == 0) { //:MessageSend( mDegTrk, "", "Degree Audit", //: "Minimum GPA is not set for the Degree Track. '2.0' will be used.", //: zMSGQ_OBJECT_CONSTRAINT_WARNING, 0 ) MessageSend(mDegTrk, "", "Degree Audit", "Minimum GPA is not set for the Degree Track. '2.0' will be used.", zMSGQ_OBJECT_CONSTRAINT_WARNING, 0); //:MinimumGPA = 2.0 MinimumGPA = 2.0; //:ELSE } else { //:MinimumGPA = mDegTrk.DegreeTrack.MinimumGPA { MutableDouble md_MinimumGPA = new MutableDouble(MinimumGPA); GetDecimalFromAttribute(md_MinimumGPA, mDegTrk, "DegreeTrack", "MinimumGPA"); MinimumGPA = md_MinimumGPA.doubleValue(); } } //:END //:SET CURSOR FIRST mDegTrk.RequiredGroup WITHIN mDegTrk.DegreeTrack //: WHERE mDegTrk.RequiredGroup.wDegreeAuditSatisfied = "N" OR //: mDegTrk.RequiredGroup.wDegreeAuditSatisfied = "T" RESULT = mDegTrk.cursor("RequiredGroup").setFirst("DegreeTrack").toInt(); if (RESULT > zCURSOR_UNCHANGED) { while (RESULT > zCURSOR_UNCHANGED && (CompareAttributeToString(mDegTrk, "RequiredGroup", "wDegreeAuditSatisfied", "N") != 0 && CompareAttributeToString(mDegTrk, "RequiredGroup", "wDegreeAuditSatisfied", "T") != 0)) { RESULT = mDegTrk.cursor("RequiredGroup").setNextContinue().toInt(); ; } } //:IF RESULT < zCURSOR_SET AND // All group requirements are met as Completed //: GraduationCreditsEarned >= MinCreditsRequired AND //: lTrnscpt.Student.dGradePointAverage >= MinimumGPA if (RESULT < zCURSOR_SET && GraduationCreditsEarned >= MinCreditsRequired && CompareAttributeToDecimal(lTrnscpt, "Student", "dGradePointAverage", MinimumGPA) >= 0) { //:mDegTrk.DegreeTrack.wDegreeAuditSatisfiedDescription = "Courses SATISFIED" SetAttributeFromString(mDegTrk, "DegreeTrack", "wDegreeAuditSatisfiedDescription", "Courses SATISFIED"); //:ELSE } else { //:SET CURSOR FIRST mDegTrk.RequiredGroup WITHIN mDegTrk.DegreeTrack //: WHERE mDegTrk.RequiredGroup.wDegreeAuditSatisfied = "N" RESULT = mDegTrk.cursor("RequiredGroup").setFirst("wDegreeAuditSatisfied", "N", "DegreeTrack").toInt(); //:IF RESULT < zCURSOR_SET AND // All group requirements are met as Taken or Completed //: mDegTrk.DegreeTrack.AuditGraduationCredits >= MinCreditsRequired AND //: lTrnscpt.Student.dGradePointAverage >= MinimumGPA if (RESULT < zCURSOR_SET && CompareAttributeToDecimal(mDegTrk, "DegreeTrack", "AuditGraduationCredits", MinCreditsRequired) >= 0 && CompareAttributeToDecimal(lTrnscpt, "Student", "dGradePointAverage", MinimumGPA) >= 0) { //:mDegTrk.DegreeTrack.wDegreeAuditSatisfiedDescription = "Courses on Track" SetAttributeFromString(mDegTrk, "DegreeTrack", "wDegreeAuditSatisfiedDescription", "Courses on Track"); //:ELSE } else { //:mDegTrk.DegreeTrack.wDegreeAuditSatisfiedDescription = "Courses NOT satisfied" SetAttributeFromString(mDegTrk, "DegreeTrack", "wDegreeAuditSatisfiedDescription", "Courses NOT satisfied"); } //:END } //:END //:// Make sure the RequiredGroup entries are sequenced. //:Count = 0 Count = 0; //:FOR EACH mDegTrk.DegreeTrackRequiredGroup RESULT = mDegTrk.cursor("DegreeTrackRequiredGroup").setFirst().toInt(); while (RESULT > zCURSOR_UNCHANGED) { //:Count = Count + 1 Count = Count + 1; //:mDegTrk.DegreeTrackRequiredGroup.SequenceNumber = Count SetAttributeFromInteger(mDegTrk, "DegreeTrackRequiredGroup", "SequenceNumber", Count); RESULT = mDegTrk.cursor("DegreeTrackRequiredGroup").setNextContinue().toInt(); ; } //:END //:SET CURSOR FIRST mDegTrk.DegreeTrack RESULT = mDegTrk.cursor("DegreeTrack").setFirst().toInt(); //:SetSelectStateOfEntity( mDegTrk, "DegreeTrack", 1 ) SetSelectStateOfEntity(mDegTrk, "DegreeTrack", 1); //:mDegTrk.DegreeTrack.wShowHideToggleStatus = "A" SetAttributeFromString(mDegTrk, "DegreeTrack", "wShowHideToggleStatus", "A"); //:// Set up the copy object for showing and contracting entries. //:ActivateOI_FromOI( mDegTrkC, mDegTrk, zSINGLE ) ActivateOI_FromOI(mDegTrkC, mDegTrk, zSINGLE); //:NAME VIEW mDegTrkC "mDegTrkCopy" SetNameForView(mDegTrkC, "mDegTrkCopy", null, zLEVEL_TASK); //:DropObjectInstance( mStudenC ) DropObjectInstance(mStudenC); return (0); // END }
From source file:com.quinsoft.zencas.mFAProf_Object.java
public int omFAProf_CreateReturningProfile(View mCurrentFAProf, int nAdminID) { zVIEW mFAProf = new zVIEW(); //:VIEW wXferO REGISTERED AS wXferO zVIEW wXferO = new zVIEW(); int RESULT = 0; //:VIEW mAdmDiv REGISTERED AS mAdmDiv zVIEW mAdmDiv = new zVIEW(); //:VIEW mFAStu BASED ON LOD mFAStu zVIEW mFAStu = new zVIEW(); //:VIEW mStudenC BASED ON LOD mStudenC zVIEW mStudenC = new zVIEW(); //:VIEW mPerson BASED ON LOD mPerson zVIEW mPerson = new zVIEW(); //:VIEW mFAProfLAST BASED ON LOD mFAProf zVIEW mFAProfLAST = new zVIEW(); //:VIEW mFAAdmin BASED ON LOD mFAAdmin zVIEW mFAAdmin = new zVIEW(); //:VIEW mFANdPro BASED ON LOD mFANdPro zVIEW mFANdPro = new zVIEW(); //:VIEW mFARuleS BASED ON LOD mFARuleS zVIEW mFARuleS = new zVIEW(); //:VIEW lTermLST BASED ON LOD lTermLST zVIEW lTermLST = new zVIEW(); //:STRING ( 127) szString String szString = null;/*from w w w .j a va 2 s.com*/ //:STRING ( 18 ) szDate String szDate = null; //:STRING ( 18 ) szBeginDate String szBeginDate = null; //:STRING ( 18 ) szEndDate String szEndDate = null; //:STRING ( 18 ) szYear String szYear = null; //:STRING ( 18 ) szTerm String szTerm = null; //:DECIMAL nTotalReg double nTotalReg = 0.0; //:DECIMAL TotalAwardAmount double TotalAwardAmount = 0.0; //:INTEGER nFound int nFound = 0; //:INTEGER nRC int nRC = 0; //:INTEGER nID int nID = 0; //:INTEGER nDropmStudenC int nDropmStudenC = 0; zVIEW vTempViewVar_0 = new zVIEW(); int lTempInteger_0 = 0; zVIEW vTempViewVar_1 = new zVIEW(); int lTempInteger_1 = 0; zVIEW vTempViewVar_2 = new zVIEW(); int lTempInteger_2 = 0; zVIEW vTempViewVar_3 = new zVIEW(); int lTempInteger_3 = 0; zVIEW vTempViewVar_4 = new zVIEW(); int lTempInteger_4 = 0; zVIEW vTempViewVar_5 = new zVIEW(); int lTempInteger_5 = 0; int lTempInteger_6 = 0; zVIEW vTempViewVar_6 = new zVIEW(); int lTempInteger_7 = 0; double dTempDecimal_0 = 0.0; int lTempInteger_8 = 0; int lTempInteger_9 = 0; double dTempDecimal_1 = 0.0; int lTempInteger_10 = 0; RESULT = GetViewByName(wXferO, "wXferO", mCurrentFAProf, zLEVEL_TASK); RESULT = GetViewByName(mAdmDiv, "mAdmDiv", mCurrentFAProf, zLEVEL_TASK); //: //:nTotalReg = 0 nTotalReg = 0; //:nFound = 0 nFound = 0; //:szYear = "" { StringBuilder sb_szYear; if (szYear == null) sb_szYear = new StringBuilder(32); else sb_szYear = new StringBuilder(szYear); ZeidonStringCopy(sb_szYear, 1, 0, "", 1, 0, 19); szYear = sb_szYear.toString(); } //:ACTIVATE mFAAdmin //: WHERE mFAAdmin.FinAidAdmin.ID = nAdminID omFAProf_fnLocalBuildQual_11(mCurrentFAProf, vTempViewVar_0, nAdminID); RESULT = ActivateObjectInstance(mFAAdmin, "mFAAdmin", mCurrentFAProf, vTempViewVar_0, zSINGLE); DropView(vTempViewVar_0); //:IF RESULT < 0 if (RESULT < 0) { //:IssueError( mAdmDiv, 0,0, "Invalid Year ID" ) IssueError(mAdmDiv, 0, 0, "Invalid Year ID"); //:RETURN -1 if (8 == 8) return (-1); } //:END //:ACTIVATE mPerson //: WHERE mPerson.Person.ID = mCurrentFAProf.Person.ID { MutableInt mi_lTempInteger_0 = new MutableInt(lTempInteger_0); GetIntegerFromAttribute(mi_lTempInteger_0, mCurrentFAProf, "Person", "ID"); lTempInteger_0 = mi_lTempInteger_0.intValue(); } omFAProf_fnLocalBuildQual_12(mCurrentFAProf, vTempViewVar_1, lTempInteger_0); RESULT = ActivateObjectInstance(mPerson, "mPerson", mCurrentFAProf, vTempViewVar_1, zSINGLE); DropView(vTempViewVar_1); //:ACTIVATE mFAStu //: WHERE mFAStu.Student.ID = mCurrentFAProf.Student.ID { MutableInt mi_lTempInteger_1 = new MutableInt(lTempInteger_1); GetIntegerFromAttribute(mi_lTempInteger_1, mCurrentFAProf, "Student", "ID"); lTempInteger_1 = mi_lTempInteger_1.intValue(); } omFAProf_fnLocalBuildQual_13(mCurrentFAProf, vTempViewVar_2, lTempInteger_1); RESULT = ActivateObjectInstance(mFAStu, "mFAStu", mCurrentFAProf, vTempViewVar_2, zSINGLE); DropView(vTempViewVar_2); //:ACTIVATE mFANdPro MULTIPLE //: WHERE mFANdPro.AdministrativeDivision.ID = mAdmDiv.AdministrativeDivision.ID { MutableInt mi_lTempInteger_2 = new MutableInt(lTempInteger_2); GetIntegerFromAttribute(mi_lTempInteger_2, mAdmDiv, "AdministrativeDivision", "ID"); lTempInteger_2 = mi_lTempInteger_2.intValue(); } omFAProf_fnLocalBuildQual_14(mCurrentFAProf, vTempViewVar_3, lTempInteger_2); RESULT = ActivateObjectInstance(mFANdPro, "mFANdPro", mCurrentFAProf, vTempViewVar_3, zMULTIPLE); DropView(vTempViewVar_3); //:SET CURSOR FIRST mPerson.FinAidProfile //: WHERE mPerson.CollegeYear.ID = mFAAdmin.CollegeYear.ID RESULT = mPerson.cursor("FinAidProfile").setFirst().toInt(); if (RESULT > zCURSOR_UNCHANGED) { while (RESULT > zCURSOR_UNCHANGED && (CompareAttributeToAttribute(mPerson, "CollegeYear", "ID", mFAAdmin, "CollegeYear", "ID") != 0)) { RESULT = mPerson.cursor("FinAidProfile").setNextContinue().toInt(); ; } } //:IF RESULT >= zCURSOR_SET if (RESULT >= zCURSOR_SET) { //:ACTIVATE mFAProf //: WHERE mFAProf.FinAidProfile.ID = mPerson.FinAidProfile.ID { MutableInt mi_lTempInteger_3 = new MutableInt(lTempInteger_3); GetIntegerFromAttribute(mi_lTempInteger_3, mPerson, "FinAidProfile", "ID"); lTempInteger_3 = mi_lTempInteger_3.intValue(); } omFAProf_fnLocalBuildQual_15(mCurrentFAProf, vTempViewVar_4, lTempInteger_3); RESULT = ActivateObjectInstance(mFAProf, "mFAProf", mCurrentFAProf, vTempViewVar_4, zSINGLE); DropView(vTempViewVar_4); //:ELSE } else { //:ACTIVATE mFAProf EMPTY RESULT = ActivateEmptyObjectInstance(mFAProf, "mFAProf", mCurrentFAProf, zSINGLE); //:CREATE ENTITY mFAProf.FinAidProfile RESULT = CreateEntity(mFAProf, "FinAidProfile", zPOS_AFTER); //://n IF mPerson.CurrentFinAidProfile EXISTS //://n EXCLUDE mPerson.CurrentFinAidProfile //://n END //://n IF mFAProf.CurrentPerson EXISTS //://n EXCLUDE mFAProf.CurrentPerson //://n END //:INCLUDE mFAProf.Person FROM mPerson.Person RESULT = IncludeSubobjectFromSubobject(mFAProf, "Person", mPerson, "Person", zPOS_AFTER); //://n INCLUDE mFAProf.CurrentPerson FROM mPerson.Person //:INCLUDE mFAProf.FinAidAdmin FROM mFAAdmin.FinAidAdmin RESULT = IncludeSubobjectFromSubobject(mFAProf, "FinAidAdmin", mFAAdmin, "FinAidAdmin", zPOS_AFTER); } //:END //:// The following 4 lines were delete by DonC on 3/11/11 because they often created an erroneous FinAidProfile without Periods and //:// the code did not seem to be necessary. //://COMMIT mFAProf //://nID = mFAProf.FinAidProfile.ID //://DropView( mFAProf ) //://ACTIVATE mFAProf WHERE mFAProf.FinAidProfile.ID = nID //:IF mFAStu.Student.CurrentLevel = "1" OR mFAStu.Student.CurrentLevel = "8" if (CompareAttributeToString(mFAStu, "Student", "CurrentLevel", "1") == 0 || CompareAttributeToString(mFAStu, "Student", "CurrentLevel", "8") == 0) { //:mFAProf.FinAidProfile.AnticipatedClassification = "2" SetAttributeFromString(mFAProf, "FinAidProfile", "AnticipatedClassification", "2"); //:ELSE } else { //:IF mFAStu.Student.CurrentLevel = "2" if (CompareAttributeToString(mFAStu, "Student", "CurrentLevel", "2") == 0) { //:mFAProf.FinAidProfile.AnticipatedClassification = "3" SetAttributeFromString(mFAProf, "FinAidProfile", "AnticipatedClassification", "3"); //:ELSE } else { //:IF mFAStu.Student.CurrentLevel = "3" if (CompareAttributeToString(mFAStu, "Student", "CurrentLevel", "3") == 0) { //:mFAProf.FinAidProfile.AnticipatedClassification = "4" SetAttributeFromString(mFAProf, "FinAidProfile", "AnticipatedClassification", "4"); //:ELSE } else { //:mFAProf.FinAidProfile.AnticipatedClassification = mFAStu.Student.CurrentLevel SetAttributeFromAttribute(mFAProf, "FinAidProfile", "AnticipatedClassification", mFAStu, "Student", "CurrentLevel"); } //:END } //:END } //:END //:// if this is for a student, do the work on the profile object //:// not the student object. //:ACTIVATE mStudenC //: WHERE mStudenC.Student.ID = mPerson.Student.ID { MutableInt mi_lTempInteger_4 = new MutableInt(lTempInteger_4); GetIntegerFromAttribute(mi_lTempInteger_4, mPerson, "Student", "ID"); lTempInteger_4 = mi_lTempInteger_4.intValue(); } omFAProf_fnLocalBuildQual_16(mCurrentFAProf, vTempViewVar_5, lTempInteger_4); RESULT = ActivateObjectInstance(mStudenC, "mStudenC", mCurrentFAProf, vTempViewVar_5, zSINGLE); DropView(vTempViewVar_5); //:SET CURSOR FIRST mStudenC.ScheduleCollegeYear //: WHERE mStudenC.ScheduleCollegeYear.ID = mFAAdmin.CollegeYear.ID { MutableInt mi_lTempInteger_5 = new MutableInt(lTempInteger_5); GetIntegerFromAttribute(mi_lTempInteger_5, mFAAdmin, "CollegeYear", "ID"); lTempInteger_5 = mi_lTempInteger_5.intValue(); } RESULT = mStudenC.cursor("ScheduleCollegeYear").setFirst("ID", lTempInteger_5).toInt(); //:IF RESULT < 0 if (RESULT < 0) { //:INCLUDE mStudenC.ScheduleCollegeYear FROM mFAAdmin.CollegeYear RESULT = IncludeSubobjectFromSubobject(mStudenC, "ScheduleCollegeYear", mFAAdmin, "CollegeYear", zPOS_AFTER); } //:END //:GET VIEW lTermLST NAMED "lTermLST" RESULT = GetViewByName(lTermLST, "lTermLST", mCurrentFAProf, zLEVEL_TASK); //:IF RESULT < 0 if (RESULT < 0) { //:ACTIVATE lTermLST MULTIPLE //: WHERE lTermLST.CollegeYear.ID = mFAAdmin.CollegeYear.ID // mYearLST.CollegeYear.ID { MutableInt mi_lTempInteger_6 = new MutableInt(lTempInteger_6); GetIntegerFromAttribute(mi_lTempInteger_6, mFAAdmin, "CollegeYear", "ID"); lTempInteger_6 = mi_lTempInteger_6.intValue(); } omFAProf_fnLocalBuildQual_17(mCurrentFAProf, vTempViewVar_6, lTempInteger_6); RESULT = ActivateObjectInstance(lTermLST, "lTermLST", mCurrentFAProf, vTempViewVar_6, zMULTIPLE); DropView(vTempViewVar_6); //:NAME VIEW lTermLST "lTermLST" SetNameForView(lTermLST, "lTermLST", null, zLEVEL_TASK); } //:END //: //:BuildCurrentSchedule( mStudenC ) //:nTotalReg = 0 nTotalReg = 0; //:FOR EACH mStudenC.CurrentScheduleEntry RESULT = mStudenC.cursor("CurrentScheduleEntry").setFirst().toInt(); while (RESULT > zCURSOR_UNCHANGED) { //:IF mStudenC.CurrentClass EXISTS lTempInteger_7 = CheckExistenceOfEntity(mStudenC, "CurrentClass"); if (lTempInteger_7 == 0) { //:// get the largets value as it will be the //:OrderEntityForView( mStudenC, "CurrentClass", "wStudentCreditHours D" ) OrderEntityForView(mStudenC, "CurrentClass", "wStudentCreditHours D"); //:IF mStudenC.CurrentClass.ID > 0 // the total lines do not have an ID so jut grab those. if (CompareAttributeToInteger(mStudenC, "CurrentClass", "ID", 0) > 0) { //:ELSE } else { //:nTotalReg = nTotalReg + mStudenC.CurrentClass.wStudentCreditHours { MutableDouble md_dTempDecimal_0 = new MutableDouble(dTempDecimal_0); GetDecimalFromAttribute(md_dTempDecimal_0, mStudenC, "CurrentClass", "wStudentCreditHours"); dTempDecimal_0 = md_dTempDecimal_0.doubleValue(); } nTotalReg = nTotalReg + dTempDecimal_0; } //:END } RESULT = mStudenC.cursor("CurrentScheduleEntry").setNextContinue().toInt(); ; //:END } //:END //:DropView( mStudenC ) DropView(mStudenC); //:IF nTotalReg = 0 if (nTotalReg == 0) { //:nTotalReg = mFAAdmin.FinAidAdmin.FullTimeMinCredits { MutableDouble md_nTotalReg = new MutableDouble(nTotalReg); GetDecimalFromAttribute(md_nTotalReg, mFAAdmin, "FinAidAdmin", "FullTimeMinCredits"); nTotalReg = md_nTotalReg.doubleValue(); } } //:END //:IF nTotalReg >= mFAAdmin.FinAidAdmin.FullTimeMinCredits if (CompareAttributeToDecimal(mFAAdmin, "FinAidAdmin", "FullTimeMinCredits", nTotalReg) <= 0) { //:mFAProf.FinAidProfile.FullPartTime = "F" SetAttributeFromString(mFAProf, "FinAidProfile", "FullPartTime", "F"); //:ELSE } else { //:mFAProf.FinAidProfile.FullPartTime = "P" SetAttributeFromString(mFAProf, "FinAidProfile", "FullPartTime", "P"); } //:END //:mFAProf.FinAidProfile.ExpectedCreditLoad = nTotalReg SetAttributeFromDecimal(mFAProf, "FinAidProfile", "ExpectedCreditLoad", nTotalReg); //:IF mFAAdmin.AdministrativeDivision.UsesCohortsFlag != "Y" if (CompareAttributeToString(mFAAdmin, "AdministrativeDivision", "UsesCohortsFlag", "Y") != 0) { //:IF mFAAdmin.FinAidAdmin.FullTimeCalculated = "S" //: OR mFAAdmin.FinAidAdmin.FullTimeCalculated = "Q" if (CompareAttributeToString(mFAAdmin, "FinAidAdmin", "FullTimeCalculated", "S") == 0 || CompareAttributeToString(mFAAdmin, "FinAidAdmin", "FullTimeCalculated", "Q") == 0) { //:FOR EACH mFAAdmin.FinAidAwardPeriod RESULT = mFAAdmin.cursor("FinAidAwardPeriod").setFirst().toInt(); while (RESULT > zCURSOR_UNCHANGED) { //:CREATE ENTITY mFAProf.PerProfileFinAidAwardPeriod RESULT = CreateEntity(mFAProf, "PerProfileFinAidAwardPeriod", zPOS_AFTER); //:mFAProf.PerProfileFinAidAwardPeriod.PeriodDesignator = mFAAdmin.FinAidAwardPeriod.PeriodDesignator SetAttributeFromAttribute(mFAProf, "PerProfileFinAidAwardPeriod", "PeriodDesignator", mFAAdmin, "FinAidAwardPeriod", "PeriodDesignator"); //:mFAProf.PerProfileFinAidAwardPeriod.BeginDate = mFAAdmin.FinAidAwardPeriod.BeginDate SetAttributeFromAttribute(mFAProf, "PerProfileFinAidAwardPeriod", "BeginDate", mFAAdmin, "FinAidAwardPeriod", "BeginDate"); //:mFAProf.PerProfileFinAidAwardPeriod.EndDate = mFAAdmin.FinAidAwardPeriod.EndDate SetAttributeFromAttribute(mFAProf, "PerProfileFinAidAwardPeriod", "EndDate", mFAAdmin, "FinAidAwardPeriod", "EndDate"); //:FOR EACH mFAAdmin.DisbCollegeTerm RESULT = mFAAdmin.cursor("DisbCollegeTerm").setFirst().toInt(); while (RESULT > zCURSOR_UNCHANGED) { //:INCLUDE mFAProf.CollegeTerm FROM mFAAdmin.DisbCollegeTerm RESULT = IncludeSubobjectFromSubobject(mFAProf, "CollegeTerm", mFAAdmin, "DisbCollegeTerm", zPOS_AFTER); RESULT = mFAAdmin.cursor("DisbCollegeTerm").setNextContinue().toInt(); ; } RESULT = mFAAdmin.cursor("FinAidAwardPeriod").setNextContinue().toInt(); ; //:END } //:END } //:END //:ELSE } else { //:FOR EACH mFAAdmin.FinAidAwardPeriod RESULT = mFAAdmin.cursor("FinAidAwardPeriod").setFirst().toInt(); while (RESULT > zCURSOR_UNCHANGED) { //:CREATE ENTITY mFAProf.PerProfileFinAidAwardPeriod RESULT = CreateEntity(mFAProf, "PerProfileFinAidAwardPeriod", zPOS_AFTER); //:mFAProf.PerProfileFinAidAwardPeriod.PeriodDesignator = mFAAdmin.FinAidAwardPeriod.PeriodDesignator SetAttributeFromAttribute(mFAProf, "PerProfileFinAidAwardPeriod", "PeriodDesignator", mFAAdmin, "FinAidAwardPeriod", "PeriodDesignator"); RESULT = mFAAdmin.cursor("FinAidAwardPeriod").setNextContinue().toInt(); ; } //:END } //:END //: //:// set up the disb periods //:/*IF mFAAdmin.FinAidAdmin.FullTimeCalculated = "S" //: OR mFAAdmin.FinAidAdmin.FullTimeCalculated = "Q" //: FOR EACH mFAAdmin.FinAidAwardPeriod //: SET CURSOR FIRST mFAProf.PerProfileFinAidAwardPeriod //: WHERE mFAProf.PerProfileFinAidAwardPeriod.PeriodDesignator = mFAAdmin.FinAidAwardPeriod.PeriodDesignator //: IF RESULT < zCURSOR_SET //: SET CURSOR LAST mFAProf.PerProfileFinAidAwardPeriod //: CREATE ENTITY mFAProf.PerProfileFinAidAwardPeriod //: mFAProf.PerProfileFinAidAwardPeriod.PeriodDesignator = mFAAdmin.FinAidAwardPeriod.PeriodDesignator //: mFAProf.PerProfileFinAidAwardPeriod.BeginDate = mFAAdmin.FinAidAwardPeriod.BeginDate //: mFAProf.PerProfileFinAidAwardPeriod.EndDate = mFAAdmin.FinAidAwardPeriod.EndDate //: FOR EACH mFAAdmin.DisbCollegeTerm //: INCLUDE mFAProf.CollegeTerm FROM mFAAdmin.DisbCollegeTerm //: END //: IF mAdmDiv.AdministrativeDivision.UsesCohortsFlag = "Y" //: szBeginDate = mFAProf.PerProfileFinAidAwardPeriod.BeginDate //: szEndDate = mFAProf.PerProfileFinAidAwardPeriod.EndDate //: OrderEntityForView( mFAProf, "Enrolled", "Class.ClassStartDate A" ) //: FOR EACH mFAProf.Enrolled //: WHERE mFAProf.Class.ClassStartDate >= szBeginDate //: AND mFAProf.Class.ClassStartDate <= szEndDate //: INCLUDE mFAProf.PeriodEnrolled FROM mFAProf.Enrolled //: END //: END //: END //: END //:END*/ //:mFAProf.FinAidProfile.DependencyStatus = "D" SetAttributeFromString(mFAProf, "FinAidProfile", "DependencyStatus", "D"); //:szDate = wXferO.Root.dCurrentDate { MutableInt mi_lTempInteger_8 = new MutableInt(lTempInteger_8); StringBuilder sb_szDate; if (szDate == null) sb_szDate = new StringBuilder(32); else sb_szDate = new StringBuilder(szDate); GetVariableFromAttribute(sb_szDate, mi_lTempInteger_8, 'S', 19, wXferO, "Root", "dCurrentDate", "", 0); lTempInteger_8 = mi_lTempInteger_8.intValue(); szDate = sb_szDate.toString(); } //:mFAProf.FinAidProfile.DependencyStatus = mCurrentFAProf.FinAidProfile.DependencyStatus SetAttributeFromAttribute(mFAProf, "FinAidProfile", "DependencyStatus", mCurrentFAProf, "FinAidProfile", "DependencyStatus"); //:mFAProf.FinAidProfile.ResidencyStatus = mCurrentFAProf.FinAidProfile.ResidencyStatus SetAttributeFromAttribute(mFAProf, "FinAidProfile", "ResidencyStatus", mCurrentFAProf, "FinAidProfile", "ResidencyStatus"); //:mFAProf.FinAidProfile.MasterPromissorySignedDate = mCurrentFAProf.FinAidProfile.MasterPromissorySignedDate SetAttributeFromAttribute(mFAProf, "FinAidProfile", "MasterPromissorySignedDate", mCurrentFAProf, "FinAidProfile", "MasterPromissorySignedDate"); //:IF mFAProf.FinAidProfile.ResidencyStatus = "" if (CompareAttributeToString(mFAProf, "FinAidProfile", "ResidencyStatus", "") == 0) { //:mFAProf.FinAidProfile.ResidencyStatus = "R" SetAttributeFromString(mFAProf, "FinAidProfile", "ResidencyStatus", "R"); } //:END //:// Deleted by DonC on 3/16/2010 //:/*IF mFAProf.FinAidCOAItemAssigned DOES NOT EXIST //: FOR EACH mFANdPro.FinAidCOA //: IF nFound = 0 //: IF mFANdPro.QualifyingFinAidRuleSet EXISTS //: ACTIVATE mFARuleS //: WHERE mFARuleS.FinAidRuleSet.ID = mFANdPro.QualifyingFinAidRuleSet.ID //: IF RESULT >= 0 //: nRC = QualifyRuleSet( mFARuleS, mFAProf, 0, mPerson ) //: IF nRC > 0 //: // Include each selected Requirement into the target FinAid Track. //: FOR EACH mFANdPro.FinAidCOAItem //: CREATE ENTITY mFAProf.FinAidCOAItemAssigned //: INCLUDE mFAProf.FinAidCOAItem FROM mFANdPro.FinAidCOAItem //: mFAProf.FinAidCOAItemAssigned.RevenueAmount = mFAProf.FinAidCOAItem.FixedRevenueAmount //: END //: nFound = 1 //: SET CURSOR LAST mFANdPro.FinAidCOA //: END //: END //: DropView( mFARuleS ) //: END //: END //: END //:END*/ //:IF mFAProf.FinAidTrack DOES NOT EXIST lTempInteger_9 = CheckExistenceOfEntity(mFAProf, "FinAidTrack"); if (lTempInteger_9 != 0) { //:// If a default Admission Track exists, include it here and initial Admissions Requirements. //:SET CURSOR FIRST mAdmDiv.FinAidTrack //: WHERE mAdmDiv.FinAidTrack.DefaultFlag = "Y" //: AND mAdmDiv.FinAidTrack.ActiveFlag = "Y" RESULT = mAdmDiv.cursor("FinAidTrack").setFirst().toInt(); if (RESULT > zCURSOR_UNCHANGED) { while (RESULT > zCURSOR_UNCHANGED && (CompareAttributeToString(mAdmDiv, "FinAidTrack", "DefaultFlag", "Y") != 0 || CompareAttributeToString(mAdmDiv, "FinAidTrack", "ActiveFlag", "Y") != 0)) { RESULT = mAdmDiv.cursor("FinAidTrack").setNextContinue().toInt(); ; } } //:IF RESULT >= zCURSOR_SET if (RESULT >= zCURSOR_SET) { //:INCLUDE mFAProf.FinAidTrack FROM mAdmDiv.FinAidTrack RESULT = IncludeSubobjectFromSubobject(mFAProf, "FinAidTrack", mAdmDiv, "FinAidTrack", zPOS_AFTER); } //:END } //:END //:// apply awards //:FOR EACH mCurrentFAProf.FinAidAward RESULT = mCurrentFAProf.cursor("FinAidAward").setFirst().toInt(); while (RESULT > zCURSOR_UNCHANGED) { //:/*IF mCurrentFAProf.FinAidAward.Amount = "" //: AddReturningAward( mFAProf, mCurrentFAProf.FinAidSource.ID, mCurrentFAProf.FinAidAward.AmountOffered ) //:ELSE //: AddReturningAward( mFAProf, mCurrentFAProf.FinAidSource.ID, mCurrentFAProf.FinAidAward.Amount ) //:END*/ //:// We will determine the award as the total of the original award disbursements. //:TotalAwardAmount = 0 TotalAwardAmount = 0; //:FOR EACH mCurrentFAProf.FinAidAwardDisbursement RESULT = mCurrentFAProf.cursor("FinAidAwardDisbursement").setFirst().toInt(); while (RESULT > zCURSOR_UNCHANGED) { //:TotalAwardAmount = TotalAwardAmount + mCurrentFAProf.FinAidAwardDisbursement.OriginalAmountExpected { MutableDouble md_dTempDecimal_1 = new MutableDouble(dTempDecimal_1); GetDecimalFromAttribute(md_dTempDecimal_1, mCurrentFAProf, "FinAidAwardDisbursement", "OriginalAmountExpected"); dTempDecimal_1 = md_dTempDecimal_1.doubleValue(); } TotalAwardAmount = TotalAwardAmount + dTempDecimal_1; RESULT = mCurrentFAProf.cursor("FinAidAwardDisbursement").setNextContinue().toInt(); ; } //:END //:AddReturningAward( mFAProf, mCurrentFAProf.FinAidSource.ID, TotalAwardAmount ) { MutableInt mi_lTempInteger_10 = new MutableInt(lTempInteger_10); GetIntegerFromAttribute(mi_lTempInteger_10, mCurrentFAProf, "FinAidSource", "ID"); lTempInteger_10 = mi_lTempInteger_10.intValue(); } omFAProf_AddReturningAward(mFAProf, lTempInteger_10, TotalAwardAmount); RESULT = mCurrentFAProf.cursor("FinAidAward").setNextContinue().toInt(); ; } //:END //:NAME VIEW mFAProf "mReturningFAProf" SetNameForView(mFAProf, "mReturningFAProf", null, zLEVEL_TASK); //:DropView( mFAAdmin ) DropView(mFAAdmin); //:DropView( mFANdPro ) DropView(mFANdPro); return (0); // END }
From source file:com.quinsoft.zencas.lTrnscpt_Object.java
public int olTrnscpt_BuildPrintGroup(View lTrnscpt) { String szAttemptedCredits = null; //:STRING ( 10 ) szAttemptedCreditsOrig String szAttemptedCreditsOrig = null; //:STRING ( 20 ) szFinalGrade String szFinalGrade = null;/*from ww w .j ava 2 s. com*/ //:STRING ( 1 ) szGPA_PointsTwoDecimalDigitsFlag String szGPA_PointsTwoDecimalDigitsFlag = null; //:DECIMAL GPA_Points double GPA_Points = 0.0; //:DECIMAL GPA_Divisor double GPA_Divisor = 0.0; //:DECIMAL TermAttemptedCredits double TermAttemptedCredits = 0.0; //:DECIMAL TermEarnedCredits double TermEarnedCredits = 0.0; //:DECIMAL TermGPA_Points double TermGPA_Points = 0.0; //:DECIMAL TermGPA_Divisor double TermGPA_Divisor = 0.0; //:DECIMAL TermGPA double TermGPA = 0.0; //:DECIMAL CumulativeAttemptedCredits double CumulativeAttemptedCredits = 0.0; //:DECIMAL CumulativeEarnedCredits double CumulativeEarnedCredits = 0.0; //:DECIMAL CumulativeGPA_Points double CumulativeGPA_Points = 0.0; //:DECIMAL CumulativeGPA_Divisor double CumulativeGPA_Divisor = 0.0; //:DECIMAL CumulativeGPA double CumulativeGPA = 0.0; //:DECIMAL CreditHours double CreditHours = 0.0; //:DECIMAL FinalGrade double FinalGrade = 0.0; int RESULT = 0; int lTempInteger_0 = 0; double dTempDecimal_0 = 0.0; double dTempDecimal_1 = 0.0; double dTempDecimal_2 = 0.0; double dTempDecimal_3 = 0.0; double dTempDecimal_4 = 0.0; double dTempDecimal_5 = 0.0; double dTempDecimal_6 = 0.0; double dTempDecimal_7 = 0.0; double dTempDecimal_8 = 0.0; double dTempDecimal_9 = 0.0; double dTempDecimal_10 = 0.0; double dTempDecimal_11 = 0.0; double dTempDecimal_12 = 0.0; double dTempDecimal_13 = 0.0; double dTempDecimal_14 = 0.0; double dTempDecimal_15 = 0.0; double dTempDecimal_16 = 0.0; int lTempInteger_1 = 0; String szTempString_0 = null; String szTempString_1 = null; int lTempInteger_2 = 0; String szTempString_2 = null; String szTempString_3 = null; //:// Initialize Cumulative Values. //:CumulativeAttemptedCredits = 0 CumulativeAttemptedCredits = 0; //:CumulativeEarnedCredits = 0 CumulativeEarnedCredits = 0; //:CumulativeGPA_Points = 0 CumulativeGPA_Points = 0; //:CumulativeGPA_Divisor = 0 CumulativeGPA_Divisor = 0; //:// Loop throught Term and Class entries to create totals and set repeat indicators. //:FOR EACH lTrnscpt.TranscriptGroup RESULT = lTrnscpt.cursor("TranscriptGroup").setFirst().toInt(); while (RESULT > zCURSOR_UNCHANGED) { //:// Cumulative for regular entries //:TermAttemptedCredits = 0 TermAttemptedCredits = 0; //:TermEarnedCredits = 0 TermEarnedCredits = 0; //:TermGPA_Points = 0 TermGPA_Points = 0; //:TermGPA_Divisor = 0 TermGPA_Divisor = 0; //:// If any Registration entries in this group have a OverridingGradePointValue value, then flag the group //:// as needing to carry GPA_Points to two digits. //:SET CURSOR FIRST lTrnscpt.TermRegistration //: WHERE lTrnscpt.TermRegistration.OverridingGradePointValue != "" RESULT = lTrnscpt.cursor("TermRegistration").setFirst().toInt(); if (RESULT > zCURSOR_UNCHANGED) { while (RESULT > zCURSOR_UNCHANGED && (CompareAttributeToString(lTrnscpt, "TermRegistration", "OverridingGradePointValue", "") == 0)) { RESULT = lTrnscpt.cursor("TermRegistration").setNextContinue().toInt(); ; } } //:IF RESULT >= zCURSOR_SET if (RESULT >= zCURSOR_SET) { //:szGPA_PointsTwoDecimalDigitsFlag = "Y" { StringBuilder sb_szGPA_PointsTwoDecimalDigitsFlag; if (szGPA_PointsTwoDecimalDigitsFlag == null) sb_szGPA_PointsTwoDecimalDigitsFlag = new StringBuilder(32); else sb_szGPA_PointsTwoDecimalDigitsFlag = new StringBuilder(szGPA_PointsTwoDecimalDigitsFlag); ZeidonStringCopy(sb_szGPA_PointsTwoDecimalDigitsFlag, 1, 0, "Y", 1, 0, 2); szGPA_PointsTwoDecimalDigitsFlag = sb_szGPA_PointsTwoDecimalDigitsFlag.toString(); } //:lTrnscpt.TranscriptGroup.wGPA_PointsTwoDecimalDigitsFlag = "Y" SetAttributeFromString(lTrnscpt, "TranscriptGroup", "wGPA_PointsTwoDecimalDigitsFlag", "Y"); } //:END //:FOR EACH lTrnscpt.TermRegistration RESULT = lTrnscpt.cursor("TermRegistration").setFirst().toInt(); while (RESULT > zCURSOR_UNCHANGED) { //:// Set parens around the credits of any Class that has been repeated. //:IF lTrnscpt.TermRegistration.wRepeatedClass = "R" OR lTrnscpt.TermRegistration.wRepeatedClass = "V" if (CompareAttributeToString(lTrnscpt, "TermRegistration", "wRepeatedClass", "R") == 0 || CompareAttributeToString(lTrnscpt, "TermRegistration", "wRepeatedClass", "V") == 0) { //:lTrnscpt.TermRegistration.wDisplayLeftParen = "(" SetAttributeFromString(lTrnscpt, "TermRegistration", "wDisplayLeftParen", "("); //:lTrnscpt.TermRegistration.wDisplayRightParen = ")" SetAttributeFromString(lTrnscpt, "TermRegistration", "wDisplayRightParen", ")"); } //:END //:// Set an asterisk for any Class that "replaces" a "repeated" Class, unless it is also a "repeated" Class. //:IF lTrnscpt.TermRegistration.wRepeatedClass = "P" AND lTrnscpt.TermRegistration.wRepeatedClass != "R" if (CompareAttributeToString(lTrnscpt, "TermRegistration", "wRepeatedClass", "P") == 0 && CompareAttributeToString(lTrnscpt, "TermRegistration", "wRepeatedClass", "R") != 0) { //:lTrnscpt.TermRegistration.wDisplayAsterisk = "*" SetAttributeFromString(lTrnscpt, "TermRegistration", "wDisplayAsterisk", "*"); } //:END //:CreditHours = lTrnscpt.TermRegistration.CreditHours { MutableDouble md_CreditHours = new MutableDouble(CreditHours); GetDecimalFromAttribute(md_CreditHours, lTrnscpt, "TermRegistration", "CreditHours"); CreditHours = md_CreditHours.doubleValue(); } //:szFinalGrade = lTrnscpt.TermRegistration.FinalGrade { MutableInt mi_lTempInteger_0 = new MutableInt(lTempInteger_0); StringBuilder sb_szFinalGrade; if (szFinalGrade == null) sb_szFinalGrade = new StringBuilder(32); else sb_szFinalGrade = new StringBuilder(szFinalGrade); GetVariableFromAttribute(sb_szFinalGrade, mi_lTempInteger_0, 'S', 21, lTrnscpt, "TermRegistration", "FinalGrade", "", 0); lTempInteger_0 = mi_lTempInteger_0.intValue(); szFinalGrade = sb_szFinalGrade.toString(); } //:IF szFinalGrade = "F" if (ZeidonStringCompare(szFinalGrade, 1, 0, "F", 1, 0, 21) == 0) { //:// Failed Course //:lTrnscpt.TermRegistration.AttemptedCredits = CreditHours SetAttributeFromDecimal(lTrnscpt, "TermRegistration", "AttemptedCredits", CreditHours); //:lTrnscpt.TermRegistration.EarnedCredits = 0 SetAttributeFromInteger(lTrnscpt, "TermRegistration", "EarnedCredits", 0); //:lTrnscpt.TermRegistration.GPA_Points = 0 SetAttributeFromInteger(lTrnscpt, "TermRegistration", "GPA_Points", 0); //:lTrnscpt.TermRegistration.GPA_Divisor = CreditHours SetAttributeFromDecimal(lTrnscpt, "TermRegistration", "GPA_Divisor", CreditHours); //:TermAttemptedCredits = TermAttemptedCredits + CreditHours TermAttemptedCredits = TermAttemptedCredits + CreditHours; //:TermGPA_Divisor = TermGPA_Divisor + CreditHours TermGPA_Divisor = TermGPA_Divisor + CreditHours; //:IF lTrnscpt.TermRegistration.wRepeatedClass != "V" // Repeats with "V" don't impact cumulative entries. if (CompareAttributeToString(lTrnscpt, "TermRegistration", "wRepeatedClass", "V") != 0) { //:CumulativeAttemptedCredits = CumulativeAttemptedCredits + CreditHours - lTrnscpt.TermRegistration.wReplacedAttemptedCredits { MutableDouble md_dTempDecimal_0 = new MutableDouble(dTempDecimal_0); GetDecimalFromAttribute(md_dTempDecimal_0, lTrnscpt, "TermRegistration", "wReplacedAttemptedCredits"); dTempDecimal_0 = md_dTempDecimal_0.doubleValue(); } CumulativeAttemptedCredits = CumulativeAttemptedCredits + CreditHours - dTempDecimal_0; //:CumulativeGPA_Divisor = CumulativeGPA_Divisor + CreditHours - lTrnscpt.TermRegistration.wReplacedGPA_DivisorCredits { MutableDouble md_dTempDecimal_1 = new MutableDouble(dTempDecimal_1); GetDecimalFromAttribute(md_dTempDecimal_1, lTrnscpt, "TermRegistration", "wReplacedGPA_DivisorCredits"); dTempDecimal_1 = md_dTempDecimal_1.doubleValue(); } CumulativeGPA_Divisor = CumulativeGPA_Divisor + CreditHours - dTempDecimal_1; } //:END //:ELSE } else { //:IF szFinalGrade = "U" if (ZeidonStringCompare(szFinalGrade, 1, 0, "U", 1, 0, 21) == 0) { //:// Unsatisfactory for Course //:lTrnscpt.TermRegistration.AttemptedCredits = CreditHours SetAttributeFromDecimal(lTrnscpt, "TermRegistration", "AttemptedCredits", CreditHours); //:lTrnscpt.TermRegistration.EarnedCredits = 0 SetAttributeFromInteger(lTrnscpt, "TermRegistration", "EarnedCredits", 0); //:lTrnscpt.TermRegistration.GPA_Points = 0 SetAttributeFromInteger(lTrnscpt, "TermRegistration", "GPA_Points", 0); //:lTrnscpt.TermRegistration.GPA_Divisor = 0 SetAttributeFromInteger(lTrnscpt, "TermRegistration", "GPA_Divisor", 0); //:TermAttemptedCredits = TermAttemptedCredits + CreditHours TermAttemptedCredits = TermAttemptedCredits + CreditHours; //:IF lTrnscpt.TermRegistration.wRepeatedClass != "V" // Repeats with "V" don't impact cumulative entries. if (CompareAttributeToString(lTrnscpt, "TermRegistration", "wRepeatedClass", "V") != 0) { //:CumulativeAttemptedCredits = CumulativeAttemptedCredits + CreditHours - lTrnscpt.TermRegistration.wReplacedAttemptedCredits { MutableDouble md_dTempDecimal_2 = new MutableDouble(dTempDecimal_2); GetDecimalFromAttribute(md_dTempDecimal_2, lTrnscpt, "TermRegistration", "wReplacedAttemptedCredits"); dTempDecimal_2 = md_dTempDecimal_2.doubleValue(); } CumulativeAttemptedCredits = CumulativeAttemptedCredits + CreditHours - dTempDecimal_2; } //:END //:ELSE } else { //:IF szFinalGrade = "IP" OR //:szFinalGrade = "I" OR //:szFinalGrade = "NC" OR //:szFinalGrade = "NG" OR //:szFinalGrade = "W" OR //:szFinalGrade = "X" OR //:szFinalGrade = "AI" if (ZeidonStringCompare(szFinalGrade, 1, 0, "IP", 1, 0, 21) == 0 || ZeidonStringCompare(szFinalGrade, 1, 0, "I", 1, 0, 21) == 0 || ZeidonStringCompare(szFinalGrade, 1, 0, "NC", 1, 0, 21) == 0 || ZeidonStringCompare(szFinalGrade, 1, 0, "NG", 1, 0, 21) == 0 || ZeidonStringCompare(szFinalGrade, 1, 0, "W", 1, 0, 21) == 0 || ZeidonStringCompare(szFinalGrade, 1, 0, "X", 1, 0, 21) == 0 || ZeidonStringCompare(szFinalGrade, 1, 0, "AI", 1, 0, 21) == 0) { //:// Only Attempted Credits are considered for these Grade values. //:lTrnscpt.TermRegistration.AttemptedCredits = CreditHours SetAttributeFromDecimal(lTrnscpt, "TermRegistration", "AttemptedCredits", CreditHours); //:IF lTrnscpt.TermRegistration.wRepeatedClass != "V" // Repeats with "V" don't impact cumulative entries. if (CompareAttributeToString(lTrnscpt, "TermRegistration", "wRepeatedClass", "V") != 0) { //:TermAttemptedCredits = TermAttemptedCredits + CreditHours TermAttemptedCredits = TermAttemptedCredits + CreditHours; //:CumulativeAttemptedCredits = CumulativeAttemptedCredits + CreditHours - lTrnscpt.TermRegistration.wReplacedAttemptedCredits { MutableDouble md_dTempDecimal_3 = new MutableDouble(dTempDecimal_3); GetDecimalFromAttribute(md_dTempDecimal_3, lTrnscpt, "TermRegistration", "wReplacedAttemptedCredits"); dTempDecimal_3 = md_dTempDecimal_3.doubleValue(); } CumulativeAttemptedCredits = CumulativeAttemptedCredits + CreditHours - dTempDecimal_3; } //:END //:/*IF szFinalGrade = "W" //:// For Withdrawn, Attempted are also 0. //:lTrnscpt.TermRegistration.AttemptedCredits = 0 //:ELSE //:lTrnscpt.TermRegistration.AttemptedCredits = CreditHours //:IF lTrnscpt.TermRegistration.wRepeatedClass != "V" // Repeats with "V" don't impact cumulative entries. //:TermAttemptedCredits = TermAttemptedCredits + CreditHours //:CumulativeAttemptedCredits = CumulativeAttemptedCredits + CreditHours - lTrnscpt.TermRegistration.wReplacedAttemptedCredits //:END //:END*/ //:lTrnscpt.TermRegistration.EarnedCredits = 0 SetAttributeFromInteger(lTrnscpt, "TermRegistration", "EarnedCredits", 0); //:lTrnscpt.TermRegistration.GPA_Points = 0 SetAttributeFromInteger(lTrnscpt, "TermRegistration", "GPA_Points", 0); //:lTrnscpt.TermRegistration.GPA_Divisor = 0 SetAttributeFromInteger(lTrnscpt, "TermRegistration", "GPA_Divisor", 0); //:ELSE } else { //:IF szFinalGrade = "S" OR szFinalGrade = "" if (ZeidonStringCompare(szFinalGrade, 1, 0, "S", 1, 0, 21) == 0 || ZeidonStringCompare(szFinalGrade, 1, 0, "", 1, 0, 21) == 0) { //:// Passed or transferred Course WITHOUT Grade //:GetStringFromAttributeByContext( szFinalGrade, //: lTrnscpt, "TermRegistration", "FinalGrade", "DegreeTrackGradePointValue", 20 ) { StringBuilder sb_szFinalGrade; if (szFinalGrade == null) sb_szFinalGrade = new StringBuilder(32); else sb_szFinalGrade = new StringBuilder(szFinalGrade); GetStringFromAttributeByContext(sb_szFinalGrade, lTrnscpt, "TermRegistration", "FinalGrade", "DegreeTrackGradePointValue", 20); szFinalGrade = sb_szFinalGrade.toString(); } //:FinalGrade = StrToDecimal( szFinalGrade ) { ZGLOBAL1_Operation m_ZGLOBAL1_Operation = new ZGLOBAL1_Operation(lTrnscpt); FinalGrade = m_ZGLOBAL1_Operation.StrToDecimal(szFinalGrade); // m_ZGLOBAL1_Operation = null; // permit gc (unnecessary) } //:lTrnscpt.TermRegistration.AttemptedCredits = CreditHours SetAttributeFromDecimal(lTrnscpt, "TermRegistration", "AttemptedCredits", CreditHours); //:lTrnscpt.TermRegistration.EarnedCredits = CreditHours SetAttributeFromDecimal(lTrnscpt, "TermRegistration", "EarnedCredits", CreditHours); //:TermAttemptedCredits = TermAttemptedCredits + CreditHours TermAttemptedCredits = TermAttemptedCredits + CreditHours; //:TermEarnedCredits = TermEarnedCredits + CreditHours TermEarnedCredits = TermEarnedCredits + CreditHours; //:IF lTrnscpt.TermRegistration.wRepeatedClass != "V" // Repeats with "V" don't impact cumulative entries. if (CompareAttributeToString(lTrnscpt, "TermRegistration", "wRepeatedClass", "V") != 0) { //:CumulativeAttemptedCredits = CumulativeAttemptedCredits + CreditHours - lTrnscpt.TermRegistration.wReplacedAttemptedCredits { MutableDouble md_dTempDecimal_4 = new MutableDouble(dTempDecimal_4); GetDecimalFromAttribute(md_dTempDecimal_4, lTrnscpt, "TermRegistration", "wReplacedAttemptedCredits"); dTempDecimal_4 = md_dTempDecimal_4.doubleValue(); } CumulativeAttemptedCredits = CumulativeAttemptedCredits + CreditHours - dTempDecimal_4; //:CumulativeEarnedCredits = CumulativeEarnedCredits + CreditHours - lTrnscpt.TermRegistration.wReplacedEarnedCredits { MutableDouble md_dTempDecimal_5 = new MutableDouble(dTempDecimal_5); GetDecimalFromAttribute(md_dTempDecimal_5, lTrnscpt, "TermRegistration", "wReplacedEarnedCredits"); dTempDecimal_5 = md_dTempDecimal_5.doubleValue(); } CumulativeEarnedCredits = CumulativeEarnedCredits + CreditHours - dTempDecimal_5; //:CumulativeGPA_Points = CumulativeGPA_Points - lTrnscpt.TermRegistration.wReplacedGPA_Points { MutableDouble md_dTempDecimal_6 = new MutableDouble(dTempDecimal_6); GetDecimalFromAttribute(md_dTempDecimal_6, lTrnscpt, "TermRegistration", "wReplacedGPA_Points"); dTempDecimal_6 = md_dTempDecimal_6.doubleValue(); } CumulativeGPA_Points = CumulativeGPA_Points - dTempDecimal_6; //:CumulativeGPA_Divisor = CumulativeGPA_Divisor - lTrnscpt.TermRegistration.wReplacedGPA_DivisorCredits { MutableDouble md_dTempDecimal_7 = new MutableDouble(dTempDecimal_7); GetDecimalFromAttribute(md_dTempDecimal_7, lTrnscpt, "TermRegistration", "wReplacedGPA_DivisorCredits"); dTempDecimal_7 = md_dTempDecimal_7.doubleValue(); } CumulativeGPA_Divisor = CumulativeGPA_Divisor - dTempDecimal_7; } //:END //:ELSE } else { //:// Passed Course WITH Grade //:GetStringFromAttributeByContext( szFinalGrade, //: lTrnscpt, "TermRegistration", "FinalGrade", "DegreeTrackGradePointValue", 20 ) { StringBuilder sb_szFinalGrade; if (szFinalGrade == null) sb_szFinalGrade = new StringBuilder(32); else sb_szFinalGrade = new StringBuilder(szFinalGrade); GetStringFromAttributeByContext(sb_szFinalGrade, lTrnscpt, "TermRegistration", "FinalGrade", "DegreeTrackGradePointValue", 20); szFinalGrade = sb_szFinalGrade.toString(); } //:IF lTrnscpt.TermRegistration.OverridingGradePointValue = "" if (CompareAttributeToString(lTrnscpt, "TermRegistration", "OverridingGradePointValue", "") == 0) { //:FinalGrade = StrToDecimal( szFinalGrade ) { ZGLOBAL1_Operation m_ZGLOBAL1_Operation = new ZGLOBAL1_Operation(lTrnscpt); FinalGrade = m_ZGLOBAL1_Operation.StrToDecimal(szFinalGrade); // m_ZGLOBAL1_Operation = null; // permit gc (unnecessary) } //:ELSE } else { //:FinalGrade = lTrnscpt.TermRegistration.OverridingGradePointValue { MutableDouble md_FinalGrade = new MutableDouble(FinalGrade); GetDecimalFromAttribute(md_FinalGrade, lTrnscpt, "TermRegistration", "OverridingGradePointValue"); FinalGrade = md_FinalGrade.doubleValue(); } } //:END //:IF szGPA_PointsTwoDecimalDigitsFlag = "Y" if (ZeidonStringCompare(szGPA_PointsTwoDecimalDigitsFlag, 1, 0, "Y", 1, 0, 2) == 0) { //:// If two-decimal-digit GPA_Points is requested, make sure we round to two-decimal digits. //:GPA_Points = FinalGrade * CreditHours GPA_Points = FinalGrade * CreditHours; //:ELSE } else { //:GPA_Points = FinalGrade * CreditHours GPA_Points = FinalGrade * CreditHours; } //:END //:lTrnscpt.TermRegistration.AttemptedCredits = CreditHours SetAttributeFromDecimal(lTrnscpt, "TermRegistration", "AttemptedCredits", CreditHours); //:lTrnscpt.TermRegistration.EarnedCredits = CreditHours SetAttributeFromDecimal(lTrnscpt, "TermRegistration", "EarnedCredits", CreditHours); //:lTrnscpt.TermRegistration.GPA_Points = GPA_Points SetAttributeFromDecimal(lTrnscpt, "TermRegistration", "GPA_Points", GPA_Points); //:lTrnscpt.TermRegistration.GPA_Divisor = CreditHours SetAttributeFromDecimal(lTrnscpt, "TermRegistration", "GPA_Divisor", CreditHours); //:TermAttemptedCredits = TermAttemptedCredits + CreditHours TermAttemptedCredits = TermAttemptedCredits + CreditHours; //:TermEarnedCredits = TermEarnedCredits + CreditHours TermEarnedCredits = TermEarnedCredits + CreditHours; //:TermGPA_Points = TermGPA_Points + lTrnscpt.TermRegistration.GPA_Points { MutableDouble md_dTempDecimal_8 = new MutableDouble(dTempDecimal_8); GetDecimalFromAttribute(md_dTempDecimal_8, lTrnscpt, "TermRegistration", "GPA_Points"); dTempDecimal_8 = md_dTempDecimal_8.doubleValue(); } TermGPA_Points = TermGPA_Points + dTempDecimal_8; //:TermGPA_Divisor = TermGPA_Divisor + CreditHours TermGPA_Divisor = TermGPA_Divisor + CreditHours; //:IF lTrnscpt.TermRegistration.wRepeatedClass != "V" // Repeats with "V" don't impact cumulative entries. if (CompareAttributeToString(lTrnscpt, "TermRegistration", "wRepeatedClass", "V") != 0) { //:CumulativeAttemptedCredits = CumulativeAttemptedCredits + CreditHours - lTrnscpt.TermRegistration.wReplacedAttemptedCredits { MutableDouble md_dTempDecimal_9 = new MutableDouble(dTempDecimal_9); GetDecimalFromAttribute(md_dTempDecimal_9, lTrnscpt, "TermRegistration", "wReplacedAttemptedCredits"); dTempDecimal_9 = md_dTempDecimal_9.doubleValue(); } CumulativeAttemptedCredits = CumulativeAttemptedCredits + CreditHours - dTempDecimal_9; //:CumulativeEarnedCredits = CumulativeEarnedCredits + CreditHours - lTrnscpt.TermRegistration.wReplacedEarnedCredits { MutableDouble md_dTempDecimal_10 = new MutableDouble(dTempDecimal_10); GetDecimalFromAttribute(md_dTempDecimal_10, lTrnscpt, "TermRegistration", "wReplacedEarnedCredits"); dTempDecimal_10 = md_dTempDecimal_10.doubleValue(); } CumulativeEarnedCredits = CumulativeEarnedCredits + CreditHours - dTempDecimal_10; //:CumulativeGPA_Points = CumulativeGPA_Points + lTrnscpt.TermRegistration.GPA_Points - lTrnscpt.TermRegistration.wReplacedGPA_Points { MutableDouble md_dTempDecimal_11 = new MutableDouble(dTempDecimal_11); GetDecimalFromAttribute(md_dTempDecimal_11, lTrnscpt, "TermRegistration", "GPA_Points"); dTempDecimal_11 = md_dTempDecimal_11.doubleValue(); } { MutableDouble md_dTempDecimal_12 = new MutableDouble(dTempDecimal_12); GetDecimalFromAttribute(md_dTempDecimal_12, lTrnscpt, "TermRegistration", "wReplacedGPA_Points"); dTempDecimal_12 = md_dTempDecimal_12.doubleValue(); } CumulativeGPA_Points = CumulativeGPA_Points + dTempDecimal_11 - dTempDecimal_12; //:CumulativeGPA_Divisor = CumulativeGPA_Divisor + CreditHours - lTrnscpt.TermRegistration.wReplacedGPA_DivisorCredits { MutableDouble md_dTempDecimal_13 = new MutableDouble(dTempDecimal_13); GetDecimalFromAttribute(md_dTempDecimal_13, lTrnscpt, "TermRegistration", "wReplacedGPA_DivisorCredits"); dTempDecimal_13 = md_dTempDecimal_13.doubleValue(); } CumulativeGPA_Divisor = CumulativeGPA_Divisor + CreditHours - dTempDecimal_13; } //:END } //:END } //:END } //:END } RESULT = lTrnscpt.cursor("TermRegistration").setNextContinue().toInt(); ; //:END } //: //:END //: //:IF TermGPA_Divisor = 0 if (TermGPA_Divisor == 0) { //:TermGPA = 0 TermGPA = 0; //:ELSE } else { //:TermGPA = TermGPA_Points / TermGPA_Divisor TermGPA = TermGPA_Points / TermGPA_Divisor; } //:END //:IF CumulativeGPA_Divisor = 0 if (CumulativeGPA_Divisor == 0) { //:CumulativeGPA = 0 CumulativeGPA = 0; //:ELSE } else { //:CumulativeGPA = CumulativeGPA_Points / CumulativeGPA_Divisor CumulativeGPA = CumulativeGPA_Points / CumulativeGPA_Divisor; } //:END //:lTrnscpt.TranscriptGroup.SumAttemptedCredits = TermAttemptedCredits SetAttributeFromDecimal(lTrnscpt, "TranscriptGroup", "SumAttemptedCredits", TermAttemptedCredits); //:lTrnscpt.TranscriptGroup.SumEarnedCredits = TermEarnedCredits SetAttributeFromDecimal(lTrnscpt, "TranscriptGroup", "SumEarnedCredits", TermEarnedCredits); //:lTrnscpt.TranscriptGroup.SumGradePoints = TermGPA_Points SetAttributeFromDecimal(lTrnscpt, "TranscriptGroup", "SumGradePoints", TermGPA_Points); //:lTrnscpt.TranscriptGroup.SumGPA_Divisor = TermGPA_Divisor SetAttributeFromDecimal(lTrnscpt, "TranscriptGroup", "SumGPA_Divisor", TermGPA_Divisor); //:lTrnscpt.TranscriptGroup.SumGPA = TermGPA SetAttributeFromDecimal(lTrnscpt, "TranscriptGroup", "SumGPA", TermGPA); //:lTrnscpt.TranscriptGroup.CumulativeAttemptedCredits = CumulativeAttemptedCredits SetAttributeFromDecimal(lTrnscpt, "TranscriptGroup", "CumulativeAttemptedCredits", CumulativeAttemptedCredits); //:lTrnscpt.TranscriptGroup.CumulativeEarnedCredits = CumulativeEarnedCredits SetAttributeFromDecimal(lTrnscpt, "TranscriptGroup", "CumulativeEarnedCredits", CumulativeEarnedCredits); //:lTrnscpt.TranscriptGroup.CumulativeGPA_Points = CumulativeGPA_Points SetAttributeFromDecimal(lTrnscpt, "TranscriptGroup", "CumulativeGPA_Points", CumulativeGPA_Points); //:lTrnscpt.TranscriptGroup.CumulativeGPA_Divisor = CumulativeGPA_Divisor SetAttributeFromDecimal(lTrnscpt, "TranscriptGroup", "CumulativeGPA_Divisor", CumulativeGPA_Divisor); //:lTrnscpt.TranscriptGroup.CumulativeGPA = CumulativeGPA SetAttributeFromDecimal(lTrnscpt, "TranscriptGroup", "CumulativeGPA", CumulativeGPA); //:IF lTrnscpt.TranscriptGroup.CumulativeGPA_Divisor != 0 if (CompareAttributeToInteger(lTrnscpt, "TranscriptGroup", "CumulativeGPA_Divisor", 0) != 0) { //:lTrnscpt.TranscriptGroup.SumGPA = lTrnscpt.TranscriptGroup.SumGradePoints / lTrnscpt.TranscriptGroup.SumGPA_Divisor { MutableDouble md_dTempDecimal_14 = new MutableDouble(dTempDecimal_14); GetDecimalFromAttribute(md_dTempDecimal_14, lTrnscpt, "TranscriptGroup", "SumGradePoints"); dTempDecimal_14 = md_dTempDecimal_14.doubleValue(); } { MutableDouble md_dTempDecimal_15 = new MutableDouble(dTempDecimal_15); GetDecimalFromAttribute(md_dTempDecimal_15, lTrnscpt, "TranscriptGroup", "SumGPA_Divisor"); dTempDecimal_15 = md_dTempDecimal_15.doubleValue(); } dTempDecimal_16 = dTempDecimal_14 / dTempDecimal_15; SetAttributeFromDecimal(lTrnscpt, "TranscriptGroup", "SumGPA", dTempDecimal_16); } RESULT = lTrnscpt.cursor("TranscriptGroup").setNextContinue().toInt(); ; //:END } //: //:END //:// Build the Print Group //:FOR EACH lTrnscpt.TranscriptGroup RESULT = lTrnscpt.cursor("TranscriptGroup").setFirst().toInt(); while (RESULT > zCURSOR_UNCHANGED) { //:CREATE ENTITY lTrnscpt.PrintGroup RESULT = CreateEntity(lTrnscpt, "PrintGroup", zPOS_AFTER); //:SetMatchingAttributesByName( lTrnscpt, "PrintGroup", lTrnscpt, "TranscriptGroup", zSET_ALL ) SetMatchingAttributesByName(lTrnscpt, "PrintGroup", lTrnscpt, "TranscriptGroup", zSET_ALL); //:IF lTrnscpt.TermRegistration EXISTS lTempInteger_1 = CheckExistenceOfEntity(lTrnscpt, "TermRegistration"); if (lTempInteger_1 == 0) { //:IF lTrnscpt.TranscriptGroup.wRecordType = "T" if (CompareAttributeToString(lTrnscpt, "TranscriptGroup", "wRecordType", "T") == 0) { //:CREATE ENTITY lTrnscpt.PrintHeaderLine RESULT = CreateEntity(lTrnscpt, "PrintHeaderLine", zPOS_AFTER); //:lTrnscpt.PrintHeaderLine.TextValue = "Transferred from " + lTrnscpt.TranscriptGroup.wForeignCollegeName { MutableInt mi_lTempInteger_2 = new MutableInt(lTempInteger_2); StringBuilder sb_szTempString_1; if (szTempString_1 == null) sb_szTempString_1 = new StringBuilder(32); else sb_szTempString_1 = new StringBuilder(szTempString_1); GetVariableFromAttribute(sb_szTempString_1, mi_lTempInteger_2, 'S', 255, lTrnscpt, "TranscriptGroup", "wForeignCollegeName", "", 0); lTempInteger_2 = mi_lTempInteger_2.intValue(); szTempString_1 = sb_szTempString_1.toString(); } { StringBuilder sb_szTempString_0; if (szTempString_0 == null) sb_szTempString_0 = new StringBuilder(32); else sb_szTempString_0 = new StringBuilder(szTempString_0); ZeidonStringCopy(sb_szTempString_0, 1, 0, "Transferred from ", 1, 0, 255); szTempString_0 = sb_szTempString_0.toString(); } { StringBuilder sb_szTempString_0; if (szTempString_0 == null) sb_szTempString_0 = new StringBuilder(32); else sb_szTempString_0 = new StringBuilder(szTempString_0); ZeidonStringConcat(sb_szTempString_0, 1, 0, szTempString_1, 1, 0, 255); szTempString_0 = sb_szTempString_0.toString(); } SetAttributeFromString(lTrnscpt, "PrintHeaderLine", "TextValue", szTempString_0); //:CREATE ENTITY lTrnscpt.PrintHeaderLine RESULT = CreateEntity(lTrnscpt, "PrintHeaderLine", zPOS_AFTER); //:lTrnscpt.PrintHeaderLine.TextValue = lTrnscpt.TranscriptGroup.YearSemester SetAttributeFromAttribute(lTrnscpt, "PrintHeaderLine", "TextValue", lTrnscpt, "TranscriptGroup", "YearSemester"); //:ELSE } else { //:CREATE ENTITY lTrnscpt.PrintHeaderLine RESULT = CreateEntity(lTrnscpt, "PrintHeaderLine", zPOS_AFTER); //:lTrnscpt.PrintHeaderLine.TextValue = lTrnscpt.TranscriptGroup.YearSemester SetAttributeFromAttribute(lTrnscpt, "PrintHeaderLine", "TextValue", lTrnscpt, "TranscriptGroup", "YearSemester"); } //:END } //:END //:FOR EACH lTrnscpt.TTG_HeaderLine RESULT = lTrnscpt.cursor("TTG_HeaderLine").setFirst().toInt(); while (RESULT > zCURSOR_UNCHANGED) { //:CREATE ENTITY lTrnscpt.PrintHeaderLine RESULT = CreateEntity(lTrnscpt, "PrintHeaderLine", zPOS_AFTER); //:lTrnscpt.PrintHeaderLine.TextValue = lTrnscpt.TTG_HeaderLine.LineText SetAttributeFromAttribute(lTrnscpt, "PrintHeaderLine", "TextValue", lTrnscpt, "TTG_HeaderLine", "LineText"); RESULT = lTrnscpt.cursor("TTG_HeaderLine").setNextContinue().toInt(); ; } //:END //:IF lTrnscpt.TranscriptGroup.wGPA_PointsTwoDecimalDigitsFlag = "Y" if (CompareAttributeToString(lTrnscpt, "TranscriptGroup", "wGPA_PointsTwoDecimalDigitsFlag", "Y") == 0) { //:FOR EACH lTrnscpt.TermRegistration RESULT = lTrnscpt.cursor("TermRegistration").setFirst().toInt(); while (RESULT > zCURSOR_UNCHANGED) { //:IF lTrnscpt.TermRegistration.Status = "V" OR lTrnscpt.TermRegistration.Status = "Y" // Waived or L. Waived if (CompareAttributeToString(lTrnscpt, "TermRegistration", "Status", "V") == 0 || CompareAttributeToString(lTrnscpt, "TermRegistration", "Status", "Y") == 0) { //:CREATE ENTITY lTrnscpt.PrintWaivedEntry RESULT = CreateEntity(lTrnscpt, "PrintWaivedEntry", zPOS_AFTER); //:lTrnscpt.PrintWaivedEntry.wCourseNumber = lTrnscpt.TermRegistration.wCourseNumber SetAttributeFromAttribute(lTrnscpt, "PrintWaivedEntry", "wCourseNumber", lTrnscpt, "TermRegistration", "wCourseNumber"); //:lTrnscpt.PrintWaivedEntry.wCourseTitle = lTrnscpt.TermRegistration.wCourseTitle SetAttributeFromAttribute(lTrnscpt, "PrintWaivedEntry", "wCourseTitle", lTrnscpt, "TermRegistration", "wCourseTitle"); //:IF lTrnscpt.TermRegistration.CreditHours > 0 if (CompareAttributeToInteger(lTrnscpt, "TermRegistration", "CreditHours", 0) > 0) { //:lTrnscpt.PrintWaivedEntry.wCreditHours = lTrnscpt.TermRegistration.CreditHours SetAttributeFromAttribute(lTrnscpt, "PrintWaivedEntry", "wCreditHours", lTrnscpt, "TermRegistration", "CreditHours"); } //:END //:ELSE } else { //:INCLUDE lTrnscpt.PrintRegistration2 FROM lTrnscpt.TermRegistration RESULT = IncludeSubobjectFromSubobject(lTrnscpt, "PrintRegistration2", lTrnscpt, "TermRegistration", zPOS_AFTER); //:SetMatchingAttributesByName( lTrnscpt, "PrintRegistration2", lTrnscpt, "TermRegistration", zSET_NULL ) SetMatchingAttributesByName(lTrnscpt, "PrintRegistration2", lTrnscpt, "TermRegistration", zSET_NULL); //:IF lTrnscpt.PrintRegistration2.wDisplayAsterisk = "" if (CompareAttributeToString(lTrnscpt, "PrintRegistration2", "wDisplayAsterisk", "") == 0) { //:lTrnscpt.PrintRegistration2.wDisplayGrade = lTrnscpt.PrintRegistration2.FinalGrade SetAttributeFromAttribute(lTrnscpt, "PrintRegistration2", "wDisplayGrade", lTrnscpt, "PrintRegistration2", "FinalGrade"); //:ELSE } else { //:lTrnscpt.PrintRegistration2.wDisplayGrade = lTrnscpt.PrintRegistration2.FinalGrade + " *" { StringBuilder sb_szTempString_2; if (szTempString_2 == null) sb_szTempString_2 = new StringBuilder(32); else sb_szTempString_2 = new StringBuilder(szTempString_2); GetStringFromAttribute(sb_szTempString_2, lTrnscpt, "PrintRegistration2", "FinalGrade"); szTempString_2 = sb_szTempString_2.toString(); } { StringBuilder sb_szTempString_2; if (szTempString_2 == null) sb_szTempString_2 = new StringBuilder(32); else sb_szTempString_2 = new StringBuilder(szTempString_2); ZeidonStringConcat(sb_szTempString_2, 1, 0, " *", 1, 0, 255); szTempString_2 = sb_szTempString_2.toString(); } SetAttributeFromString(lTrnscpt, "PrintRegistration2", "wDisplayGrade", szTempString_2); } //:END //:IF lTrnscpt.PrintRegistration2.wDisplayRightParen = "" if (CompareAttributeToString(lTrnscpt, "PrintRegistration2", "wDisplayRightParen", "") == 0) { //:GetStringFromAttributeByContext( szAttemptedCredits, //: lTrnscpt, "PrintRegistration2", "AttemptedCredits", "Decimal1", 10 ) { StringBuilder sb_szAttemptedCredits; if (szAttemptedCredits == null) sb_szAttemptedCredits = new StringBuilder(32); else sb_szAttemptedCredits = new StringBuilder(szAttemptedCredits); GetStringFromAttributeByContext(sb_szAttemptedCredits, lTrnscpt, "PrintRegistration2", "AttemptedCredits", "Decimal1", 10); szAttemptedCredits = sb_szAttemptedCredits.toString(); } //:szAttemptedCredits = szAttemptedCredits + " " { StringBuilder sb_szAttemptedCredits; if (szAttemptedCredits == null) sb_szAttemptedCredits = new StringBuilder(32); else sb_szAttemptedCredits = new StringBuilder(szAttemptedCredits); ZeidonStringConcat(sb_szAttemptedCredits, 1, 0, " ", 1, 0, 11); szAttemptedCredits = sb_szAttemptedCredits.toString(); } //:ELSE } else { //:GetStringFromAttributeByContext( szAttemptedCredits, //: lTrnscpt, "PrintRegistration2", "AttemptedCredits", "Decimal1", 10 ) { StringBuilder sb_szAttemptedCredits; if (szAttemptedCredits == null) sb_szAttemptedCredits = new StringBuilder(32); else sb_szAttemptedCredits = new StringBuilder(szAttemptedCredits); GetStringFromAttributeByContext(sb_szAttemptedCredits, lTrnscpt, "PrintRegistration2", "AttemptedCredits", "Decimal1", 10); szAttemptedCredits = sb_szAttemptedCredits.toString(); } //:szAttemptedCreditsOrig = "(" + szAttemptedCredits + ")" { StringBuilder sb_szAttemptedCreditsOrig; if (szAttemptedCreditsOrig == null) sb_szAttemptedCreditsOrig = new StringBuilder(32); else sb_szAttemptedCreditsOrig = new StringBuilder(szAttemptedCreditsOrig); ZeidonStringCopy(sb_szAttemptedCreditsOrig, 1, 0, "(", 1, 0, 11); szAttemptedCreditsOrig = sb_szAttemptedCreditsOrig.toString(); } { StringBuilder sb_szAttemptedCreditsOrig; if (szAttemptedCreditsOrig == null) sb_szAttemptedCreditsOrig = new StringBuilder(32); else sb_szAttemptedCreditsOrig = new StringBuilder(szAttemptedCreditsOrig); ZeidonStringConcat(sb_szAttemptedCreditsOrig, 1, 0, szAttemptedCredits, 1, 0, 11); szAttemptedCreditsOrig = sb_szAttemptedCreditsOrig.toString(); } { StringBuilder sb_szAttemptedCreditsOrig; if (szAttemptedCreditsOrig == null) sb_szAttemptedCreditsOrig = new StringBuilder(32); else sb_szAttemptedCreditsOrig = new StringBuilder(szAttemptedCreditsOrig); ZeidonStringConcat(sb_szAttemptedCreditsOrig, 1, 0, ")", 1, 0, 11); szAttemptedCreditsOrig = sb_szAttemptedCreditsOrig.toString(); } //:szAttemptedCredits = szAttemptedCreditsOrig { StringBuilder sb_szAttemptedCredits; if (szAttemptedCredits == null) sb_szAttemptedCredits = new StringBuilder(32); else sb_szAttemptedCredits = new StringBuilder(szAttemptedCredits); ZeidonStringCopy(sb_szAttemptedCredits, 1, 0, szAttemptedCreditsOrig, 1, 0, 11); szAttemptedCredits = sb_szAttemptedCredits.toString(); } } //:END //:lTrnscpt.PrintRegistration2.wDisplayAttemptedCredits = szAttemptedCredits SetAttributeFromString(lTrnscpt, "PrintRegistration2", "wDisplayAttemptedCredits", szAttemptedCredits); } RESULT = lTrnscpt.cursor("TermRegistration").setNextContinue().toInt(); ; //:END } //:END //:ELSE } else { //:FOR EACH lTrnscpt.TermRegistration RESULT = lTrnscpt.cursor("TermRegistration").setFirst().toInt(); while (RESULT > zCURSOR_UNCHANGED) { //:IF lTrnscpt.TermRegistration.Status = "V" OR lTrnscpt.TermRegistration.Status = "Y" // Waived or L. Waived if (CompareAttributeToString(lTrnscpt, "TermRegistration", "Status", "V") == 0 || CompareAttributeToString(lTrnscpt, "TermRegistration", "Status", "Y") == 0) { //:CREATE ENTITY lTrnscpt.PrintWaivedEntry RESULT = CreateEntity(lTrnscpt, "PrintWaivedEntry", zPOS_AFTER); //:lTrnscpt.PrintWaivedEntry.wCourseNumber = lTrnscpt.TermRegistration.wCourseNumber SetAttributeFromAttribute(lTrnscpt, "PrintWaivedEntry", "wCourseNumber", lTrnscpt, "TermRegistration", "wCourseNumber"); //:lTrnscpt.PrintWaivedEntry.wCourseTitle = lTrnscpt.TermRegistration.wCourseTitle SetAttributeFromAttribute(lTrnscpt, "PrintWaivedEntry", "wCourseTitle", lTrnscpt, "TermRegistration", "wCourseTitle"); //:IF lTrnscpt.TermRegistration.CreditHours > 0 if (CompareAttributeToInteger(lTrnscpt, "TermRegistration", "CreditHours", 0) > 0) { //:lTrnscpt.PrintWaivedEntry.wCreditHours = lTrnscpt.TermRegistration.CreditHours SetAttributeFromAttribute(lTrnscpt, "PrintWaivedEntry", "wCreditHours", lTrnscpt, "TermRegistration", "CreditHours"); } //:END //:ELSE } else { //:INCLUDE lTrnscpt.PrintRegistration FROM lTrnscpt.TermRegistration RESULT = IncludeSubobjectFromSubobject(lTrnscpt, "PrintRegistration", lTrnscpt, "TermRegistration", zPOS_AFTER); //:SetMatchingAttributesByName( lTrnscpt, "PrintRegistration", lTrnscpt, "TermRegistration", zSET_NULL ) SetMatchingAttributesByName(lTrnscpt, "PrintRegistration", lTrnscpt, "TermRegistration", zSET_NULL); //:IF lTrnscpt.PrintRegistration.wDisplayAsterisk = "" if (CompareAttributeToString(lTrnscpt, "PrintRegistration", "wDisplayAsterisk", "") == 0) { //:lTrnscpt.PrintRegistration.wDisplayGrade = lTrnscpt.PrintRegistration.FinalGrade SetAttributeFromAttribute(lTrnscpt, "PrintRegistration", "wDisplayGrade", lTrnscpt, "PrintRegistration", "FinalGrade"); //:ELSE } else { //:lTrnscpt.PrintRegistration.wDisplayGrade = lTrnscpt.PrintRegistration.FinalGrade + " *" { StringBuilder sb_szTempString_3; if (szTempString_3 == null) sb_szTempString_3 = new StringBuilder(32); else sb_szTempString_3 = new StringBuilder(szTempString_3); GetStringFromAttribute(sb_szTempString_3, lTrnscpt, "PrintRegistration", "FinalGrade"); szTempString_3 = sb_szTempString_3.toString(); } { StringBuilder sb_szTempString_3; if (szTempString_3 == null) sb_szTempString_3 = new StringBuilder(32); else sb_szTempString_3 = new StringBuilder(szTempString_3); ZeidonStringConcat(sb_szTempString_3, 1, 0, " *", 1, 0, 255); szTempString_3 = sb_szTempString_3.toString(); } SetAttributeFromString(lTrnscpt, "PrintRegistration", "wDisplayGrade", szTempString_3); } //:END //:IF lTrnscpt.PrintRegistration.wDisplayRightParen = "" if (CompareAttributeToString(lTrnscpt, "PrintRegistration", "wDisplayRightParen", "") == 0) { //:GetStringFromAttributeByContext( szAttemptedCredits, //: lTrnscpt, "PrintRegistration", "AttemptedCredits", "Decimal1", 10 ) { StringBuilder sb_szAttemptedCredits; if (szAttemptedCredits == null) sb_szAttemptedCredits = new StringBuilder(32); else sb_szAttemptedCredits = new StringBuilder(szAttemptedCredits); GetStringFromAttributeByContext(sb_szAttemptedCredits, lTrnscpt, "PrintRegistration", "AttemptedCredits", "Decimal1", 10); szAttemptedCredits = sb_szAttemptedCredits.toString(); } //:szAttemptedCredits = szAttemptedCredits + " " { StringBuilder sb_szAttemptedCredits; if (szAttemptedCredits == null) sb_szAttemptedCredits = new StringBuilder(32); else sb_szAttemptedCredits = new StringBuilder(szAttemptedCredits); ZeidonStringConcat(sb_szAttemptedCredits, 1, 0, " ", 1, 0, 11); szAttemptedCredits = sb_szAttemptedCredits.toString(); } //:ELSE } else { //:GetStringFromAttributeByContext( szAttemptedCredits, //: lTrnscpt, "PrintRegistration", "AttemptedCredits", "Decimal1", 10 ) { StringBuilder sb_szAttemptedCredits; if (szAttemptedCredits == null) sb_szAttemptedCredits = new StringBuilder(32); else sb_szAttemptedCredits = new StringBuilder(szAttemptedCredits); GetStringFromAttributeByContext(sb_szAttemptedCredits, lTrnscpt, "PrintRegistration", "AttemptedCredits", "Decimal1", 10); szAttemptedCredits = sb_szAttemptedCredits.toString(); } //:szAttemptedCreditsOrig = "(" + szAttemptedCredits + ")" { StringBuilder sb_szAttemptedCreditsOrig; if (szAttemptedCreditsOrig == null) sb_szAttemptedCreditsOrig = new StringBuilder(32); else sb_szAttemptedCreditsOrig = new StringBuilder(szAttemptedCreditsOrig); ZeidonStringCopy(sb_szAttemptedCreditsOrig, 1, 0, "(", 1, 0, 11); szAttemptedCreditsOrig = sb_szAttemptedCreditsOrig.toString(); } { StringBuilder sb_szAttemptedCreditsOrig; if (szAttemptedCreditsOrig == null) sb_szAttemptedCreditsOrig = new StringBuilder(32); else sb_szAttemptedCreditsOrig = new StringBuilder(szAttemptedCreditsOrig); ZeidonStringConcat(sb_szAttemptedCreditsOrig, 1, 0, szAttemptedCredits, 1, 0, 11); szAttemptedCreditsOrig = sb_szAttemptedCreditsOrig.toString(); } { StringBuilder sb_szAttemptedCreditsOrig; if (szAttemptedCreditsOrig == null) sb_szAttemptedCreditsOrig = new StringBuilder(32); else sb_szAttemptedCreditsOrig = new StringBuilder(szAttemptedCreditsOrig); ZeidonStringConcat(sb_szAttemptedCreditsOrig, 1, 0, ")", 1, 0, 11); szAttemptedCreditsOrig = sb_szAttemptedCreditsOrig.toString(); } //:szAttemptedCredits = szAttemptedCreditsOrig { StringBuilder sb_szAttemptedCredits; if (szAttemptedCredits == null) sb_szAttemptedCredits = new StringBuilder(32); else sb_szAttemptedCredits = new StringBuilder(szAttemptedCredits); ZeidonStringCopy(sb_szAttemptedCredits, 1, 0, szAttemptedCreditsOrig, 1, 0, 11); szAttemptedCredits = sb_szAttemptedCredits.toString(); } } //:END //:lTrnscpt.PrintRegistration.wDisplayAttemptedCredits = szAttemptedCredits SetAttributeFromString(lTrnscpt, "PrintRegistration", "wDisplayAttemptedCredits", szAttemptedCredits); } RESULT = lTrnscpt.cursor("TermRegistration").setNextContinue().toInt(); ; //:END } //:END } RESULT = lTrnscpt.cursor("TranscriptGroup").setNextContinue().toInt(); ; //:END } //:END return (0); // END }
From source file:com.quinsoft.swauopencuas.mSAChrgT_Object.java
private int omSAChrgT_Rule_SummerTuition(View mSAChrgT, View mSAProf, String szRefundFlag) { zVIEW mSAProf2 = new zVIEW(); //:VIEW mCollegeLST BASED ON LOD mCollege zVIEW mCollegeLST = new zVIEW(); //:STRING ( 300 ) szMsg String szMsg = null;/*from w ww.j a v a 2s .c o m*/ //:STRING ( 300 ) szDesc String szDesc = null; //:STRING ( 4 ) szCourseNumber4 String szCourseNumber4 = null; //:STRING ( 3 ) szSection String szSection = null; //:STRING ( 1 ) szCERT_flag String szCERT_flag = null; //:DECIMAL dChargePerCreditHour double dChargePerCreditHour = 0.0; //:DECIMAL dCredits double dCredits = 0.0; //:DECIMAL dChargePerClass double dChargePerClass = 0.0; //:DECIMAL dAmount double dAmount = 0.0; //:INTEGER dAmountInteger int dAmountInteger = 0; //:SHORT nRC int nRC = 0; int RESULT = 0; int lTempInteger_0 = 0; int lTempInteger_1 = 0; int lTempInteger_2 = 0; String szTempString_0 = null; int lTempInteger_3 = 0; int lTempInteger_4 = 0; String szTempString_1 = null; int lTempInteger_5 = 0; String szTempString_2 = null; int lTempInteger_6 = 0; String szTempString_3 = null; int lTempInteger_7 = 0; String szTempString_4 = null; int lTempInteger_8 = 0; String szTempString_5 = null; int lTempInteger_9 = 0; //:// Process Summer Tuition Charges Per Class. //:// Charges are generated here for all Classes that are NOT charged to DL Tuition, which is: //:// 1. The Student DOES NOT HAVE the AdultStudiesFlag set.AND //:// 2, The Class IS NOT Section 50. //:// There are five different ways that charges can be computed for Summer Tuition, but it is always per Class. //:// 1. If there is a tuition override value specified for the Class, we use that value. //:// 2. We use the "S1-19 Chg/CR" amount per credit when the Class Section is 01 through 19. //:// 3. We use the "S20 Chg/CR" amount per credit when the Class Section is 20 //:// 4. We use the "Grad Chg/CR" amount per credit if the Class is a graduate Class. (This is determined by //:// the Course being tied to the College, "Graduate Studies". //:// 5. We use the "Field Chg/CR" amount per credit when the Course Number is one of the field courses defined in the rule. //:// In addition, there can be a PBS Discount applied to a Class. //:// The rules identifying Student and Class eligibility for a PBS Discount are defined separately and those rules //:// apply for all tuition and college terms. However, the amount of the discount is specified per Transaction Item / Term //:// using the value, "PBS Discount". //:CreateViewFromView( mSAProf2, mSAProf ) CreateViewFromView(mSAProf2, mSAProf); //:NAME VIEW mSAProf2 "mSAProf2" SetNameForView(mSAProf2, "mSAProf2", null, zLEVEL_TASK); //: //:// Loop through each Class and generate charge and option discount transactions based on Section, credits and //:// other Student/Class information. //:// The charge per credit or per Class is defined in SAInternalRuleVariable. //:FOR EACH mSAProf2.TermEnrolled WHERE mSAProf2.TermEnrolled.Status != "D" RESULT = SetCursorFirstEntity(mSAProf2, "TermEnrolled", ""); while (RESULT > zCURSOR_UNCHANGED) { if (CompareAttributeToString(mSAProf2, "TermEnrolled", "Status", "D") != 0) { //:// The Class the Student is taking is a graduate class (The Course is tied to a Graduate College), so don't process. //:GET VIEW mCollegeLST NAMED "mCollegeLST" RESULT = GetViewByName(mCollegeLST, "mCollegeLST", mSAChrgT, zLEVEL_TASK); //:IF RESULT < 0 if (RESULT < 0) { //:ACTIVATE mCollegeLST Multiple RESULT = ActivateObjectInstance(mCollegeLST, "mCollege", mSAChrgT, 0, zMULTIPLE); //:NAME VIEW mCollegeLST "mCollegeLST" SetNameForView(mCollegeLST, "mCollegeLST", null, zLEVEL_TASK); } //:END //:SET CURSOR FIRST mCollegeLST.College WHERE mCollegeLST.College.ID = mSAProf2.TermCourseCollege.ID { MutableInt mi_lTempInteger_0 = new MutableInt(lTempInteger_0); GetIntegerFromAttribute(mi_lTempInteger_0, mSAProf2, "TermCourseCollege", "ID"); lTempInteger_0 = mi_lTempInteger_0.intValue(); } RESULT = SetCursorFirstEntityByInteger(mCollegeLST, "College", "ID", lTempInteger_0, ""); //:IF mCollegeLST.College.Type != "G" if (CompareAttributeToString(mCollegeLST, "College", "Type", "G") != 0) { //:dCredits = mSAProf2.TermEnrolled.CreditHours { MutableDouble md_dCredits = new MutableDouble(dCredits); GetDecimalFromAttribute(md_dCredits, mSAProf2, "TermEnrolled", "CreditHours"); dCredits = md_dCredits.doubleValue(); } //:szSection = mSAProf2.TermClass.Section { MutableInt mi_lTempInteger_1 = new MutableInt(lTempInteger_1); StringBuilder sb_szSection; if (szSection == null) sb_szSection = new StringBuilder(32); else sb_szSection = new StringBuilder(szSection); GetVariableFromAttribute(sb_szSection, mi_lTempInteger_1, 'S', 4, mSAProf2, "TermClass", "Section", "", 0); lTempInteger_1 = mi_lTempInteger_1.intValue(); szSection = sb_szSection.toString(); } //:szSection = mSAProf2.TermClass.Section { MutableInt mi_lTempInteger_2 = new MutableInt(lTempInteger_2); StringBuilder sb_szSection; if (szSection == null) sb_szSection = new StringBuilder(32); else sb_szSection = new StringBuilder(szSection); GetVariableFromAttribute(sb_szSection, mi_lTempInteger_2, 'S', 4, mSAProf2, "TermClass", "Section", "", 0); lTempInteger_2 = mi_lTempInteger_2.intValue(); szSection = sb_szSection.toString(); } //://SET CURSOR FIRST mSAProf2.Category WHERE mSAProf2.Category.Name = "Distance Learning" //:// OR mSAProf2.Category.Name = "ADP Student" //://IF RESULT < zCURSOR_SET AND mSAProf2.TermClass.AdultStudiesFlag != "Y" //:IF mSAProf.Student.AdultStudiesFlag != "Y" AND mSAProf2.TermClass.AdultStudiesFlag != "Y" if (CompareAttributeToString(mSAProf, "Student", "AdultStudiesFlag", "Y") != 0 && CompareAttributeToString(mSAProf2, "TermClass", "AdultStudiesFlag", "Y") != 0) { //:// Tuition Override on Class //:IF mSAProf2.TermClass.OverrideClassTuition > 0 if (CompareAttributeToInteger(mSAProf2, "TermClass", "OverrideClassTuition", 0) > 0) { //:// The Charge is simply the amount specified in Class. //:dAmount = mSAProf2.TermClass.OverrideClassTuition { MutableDouble md_dAmount = new MutableDouble(dAmount); GetDecimalFromAttribute(md_dAmount, mSAProf2, "TermClass", "OverrideClassTuition"); dAmount = md_dAmount.doubleValue(); } //:// Process resulting Charge or Refund. //:IF szRefundFlag = "" if (ZeidonStringCompare(szRefundFlag, 1, 0, "", 1, 0, 2) == 0) { //:// Regular Charge, not Refund. Generate entry if there is a positive amount. //:IF dAmount > 0 if (dAmount > 0) { //:// Generate the charge if it isn't already there. //:szDesc = mSAChrgT.SATransactionCode.Description + " - " + mSAProf2.TermCourse.Number + "-" + szSection + " Override Charge" { StringBuilder sb_szDesc; if (szDesc == null) sb_szDesc = new StringBuilder(32); else sb_szDesc = new StringBuilder(szDesc); GetStringFromAttribute(sb_szDesc, mSAChrgT, "SATransactionCode", "Description"); szDesc = sb_szDesc.toString(); } { StringBuilder sb_szDesc; if (szDesc == null) sb_szDesc = new StringBuilder(32); else sb_szDesc = new StringBuilder(szDesc); ZeidonStringConcat(sb_szDesc, 1, 0, " - ", 1, 0, 301); szDesc = sb_szDesc.toString(); } { MutableInt mi_lTempInteger_3 = new MutableInt(lTempInteger_3); StringBuilder sb_szTempString_0; if (szTempString_0 == null) sb_szTempString_0 = new StringBuilder(32); else sb_szTempString_0 = new StringBuilder(szTempString_0); GetVariableFromAttribute(sb_szTempString_0, mi_lTempInteger_3, 'S', 11, mSAProf2, "TermCourse", "Number", "", 0); lTempInteger_3 = mi_lTempInteger_3.intValue(); szTempString_0 = sb_szTempString_0.toString(); } { StringBuilder sb_szDesc; if (szDesc == null) sb_szDesc = new StringBuilder(32); else sb_szDesc = new StringBuilder(szDesc); ZeidonStringConcat(sb_szDesc, 1, 0, szTempString_0, 1, 0, 301); szDesc = sb_szDesc.toString(); } { StringBuilder sb_szDesc; if (szDesc == null) sb_szDesc = new StringBuilder(32); else sb_szDesc = new StringBuilder(szDesc); ZeidonStringConcat(sb_szDesc, 1, 0, "-", 1, 0, 301); szDesc = sb_szDesc.toString(); } { StringBuilder sb_szDesc; if (szDesc == null) sb_szDesc = new StringBuilder(32); else sb_szDesc = new StringBuilder(szDesc); ZeidonStringConcat(sb_szDesc, 1, 0, szSection, 1, 0, 301); szDesc = sb_szDesc.toString(); } { StringBuilder sb_szDesc; if (szDesc == null) sb_szDesc = new StringBuilder(32); else sb_szDesc = new StringBuilder(szDesc); ZeidonStringConcat(sb_szDesc, 1, 0, " Override Charge", 1, 0, 301); szDesc = sb_szDesc.toString(); } //:nRC = GenerateChargeEntry( mSAChrgT, mSAProf, dAmount, szDesc ) nRC = omSAChrgT_GenerateChargeEntry(mSAChrgT, mSAProf, dAmount, szDesc); //:IF nRC >= 0 if (nRC >= 0) { //:// Add Course Number and Class Section to description. //:mSAProf.StudentAccountTransApplied.Description = szDesc SetAttributeFromString(mSAProf, "StudentAccountTransApplied", "Description", szDesc); } //:END } //:END //:ELSE } else { //:// Refund. //:// We'll process a Refund if the Amount has changed. //:IF dAmount != mSAProf.PeriodTransApplied.Amount if (CompareAttributeToDecimal(mSAProf, "PeriodTransApplied", "Amount", dAmount) != 0) { //:GenerateRefundEntry( mSAChrgT, mSAProf ) omSAChrgT_GenerateRefundEntry(mSAChrgT, mSAProf); } //:END } //:END //:ELSE } else { //:// TUITION CHARGE FROM RULE VARIABLE //:// In the following cases, the charge (dAmount) is determined by positioning on the correct Rule Variable. //:// We we first position on the correct Rule Variable, and then create the charge. //:// Graduate Class Charge/Credit //:// The Class the Student is taking is a graduate class (The Course is tied to a Graduate College) //:GET VIEW mCollegeLST NAMED "mCollegeLST" RESULT = GetViewByName(mCollegeLST, "mCollegeLST", mSAChrgT, zLEVEL_TASK); //:IF RESULT < 0 if (RESULT < 0) { //:ACTIVATE mCollegeLST Multiple RESULT = ActivateObjectInstance(mCollegeLST, "mCollege", mSAChrgT, 0, zMULTIPLE); //:NAME VIEW mCollegeLST "mCollegeLST" SetNameForView(mCollegeLST, "mCollegeLST", null, zLEVEL_TASK); } //:END //:SET CURSOR FIRST mCollegeLST.College WHERE mCollegeLST.College.ID = mSAProf2.TermCourseCollege.ID { MutableInt mi_lTempInteger_4 = new MutableInt(lTempInteger_4); GetIntegerFromAttribute(mi_lTempInteger_4, mSAProf2, "TermCourseCollege", "ID"); lTempInteger_4 = mi_lTempInteger_4.intValue(); } RESULT = SetCursorFirstEntityByInteger(mCollegeLST, "College", "ID", lTempInteger_4, ""); //:IF mCollegeLST.College.Type = "G" if (CompareAttributeToString(mCollegeLST, "College", "Type", "G") == 0) { //:SET CURSOR FIRST mSAChrgT.SAInternalRuleVariable WHERE mSAChrgT.SAInternalRuleVariable.Name = "Grad Chg/CR" RESULT = SetCursorFirstEntityByString(mSAChrgT, "SAInternalRuleVariable", "Name", "Grad Chg/CR", ""); //:IF RESULT < zCURSOR_SET if (RESULT < zCURSOR_SET) { //:szMsg = "No Rule Variable match on Summer Tuition 'Grad Chg/CR'" { StringBuilder sb_szMsg; if (szMsg == null) sb_szMsg = new StringBuilder(32); else sb_szMsg = new StringBuilder(szMsg); ZeidonStringCopy(sb_szMsg, 1, 0, "No Rule Variable match on Summer Tuition 'Grad Chg/CR'", 1, 0, 301); szMsg = sb_szMsg.toString(); } //:MessageSend( mSAChrgT, "", "Billing Process Rule", szMsg, zMSGQ_OBJECT_CONSTRAINT_ERROR, 0 ) MessageSend(mSAChrgT, "", "Billing Process Rule", szMsg, zMSGQ_OBJECT_CONSTRAINT_ERROR, 0); //:RETURN -1 if (8 == 8) return (-1); } //:END //:dChargePerCreditHour = mSAChrgT.SAInternalRuleVariable.Value { MutableDouble md_dChargePerCreditHour = new MutableDouble(dChargePerCreditHour); GetDecimalFromAttribute(md_dChargePerCreditHour, mSAChrgT, "SAInternalRuleVariable", "Value"); dChargePerCreditHour = md_dChargePerCreditHour.doubleValue(); } //:dAmount = dChargePerCreditHour * dCredits dAmount = dChargePerCreditHour * dCredits; //:szDesc = mSAChrgT.SATransactionCode.Description + " Grad - " + mSAProf2.TermCourse.Number + "-" + szSection { StringBuilder sb_szDesc; if (szDesc == null) sb_szDesc = new StringBuilder(32); else sb_szDesc = new StringBuilder(szDesc); GetStringFromAttribute(sb_szDesc, mSAChrgT, "SATransactionCode", "Description"); szDesc = sb_szDesc.toString(); } { StringBuilder sb_szDesc; if (szDesc == null) sb_szDesc = new StringBuilder(32); else sb_szDesc = new StringBuilder(szDesc); ZeidonStringConcat(sb_szDesc, 1, 0, " Grad - ", 1, 0, 301); szDesc = sb_szDesc.toString(); } { MutableInt mi_lTempInteger_5 = new MutableInt(lTempInteger_5); StringBuilder sb_szTempString_1; if (szTempString_1 == null) sb_szTempString_1 = new StringBuilder(32); else sb_szTempString_1 = new StringBuilder(szTempString_1); GetVariableFromAttribute(sb_szTempString_1, mi_lTempInteger_5, 'S', 11, mSAProf2, "TermCourse", "Number", "", 0); lTempInteger_5 = mi_lTempInteger_5.intValue(); szTempString_1 = sb_szTempString_1.toString(); } { StringBuilder sb_szDesc; if (szDesc == null) sb_szDesc = new StringBuilder(32); else sb_szDesc = new StringBuilder(szDesc); ZeidonStringConcat(sb_szDesc, 1, 0, szTempString_1, 1, 0, 301); szDesc = sb_szDesc.toString(); } { StringBuilder sb_szDesc; if (szDesc == null) sb_szDesc = new StringBuilder(32); else sb_szDesc = new StringBuilder(szDesc); ZeidonStringConcat(sb_szDesc, 1, 0, "-", 1, 0, 301); szDesc = sb_szDesc.toString(); } { StringBuilder sb_szDesc; if (szDesc == null) sb_szDesc = new StringBuilder(32); else sb_szDesc = new StringBuilder(szDesc); ZeidonStringConcat(sb_szDesc, 1, 0, szSection, 1, 0, 301); szDesc = sb_szDesc.toString(); } //:ELSE } else { //:// Field Trip Special Tuition //:// Classes HRNS275, HRNS375, GEOL240 ad GEOL330 use "Field Chg/CR" variable. //:IF mSAProf2.TermCourse.Number = "HNRS275" OR //:mSAProf2.TermCourse.Number = "HNRS375" OR //:mSAProf2.TermCourse.Number = "GEOL240" OR //:mSAProf2.TermCourse.Number = "GEOL330" if (CompareAttributeToString(mSAProf2, "TermCourse", "Number", "HNRS275") == 0 || CompareAttributeToString(mSAProf2, "TermCourse", "Number", "HNRS375") == 0 || CompareAttributeToString(mSAProf2, "TermCourse", "Number", "GEOL240") == 0 || CompareAttributeToString(mSAProf2, "TermCourse", "Number", "GEOL330") == 0) { //:SET CURSOR FIRST mSAChrgT.SAInternalRuleVariable WHERE mSAChrgT.SAInternalRuleVariable.Name = "Field Chg/CR" RESULT = SetCursorFirstEntityByString(mSAChrgT, "SAInternalRuleVariable", "Name", "Field Chg/CR", ""); //:IF RESULT < zCURSOR_SET if (RESULT < zCURSOR_SET) { //:szMsg = "No Rule Variable match on Summer Tuition 'Field Chg/CR'" { StringBuilder sb_szMsg; if (szMsg == null) sb_szMsg = new StringBuilder(32); else sb_szMsg = new StringBuilder(szMsg); ZeidonStringCopy(sb_szMsg, 1, 0, "No Rule Variable match on Summer Tuition 'Field Chg/CR'", 1, 0, 301); szMsg = sb_szMsg.toString(); } //:MessageSend( mSAChrgT, "", "Billing Process Rule", szMsg, zMSGQ_OBJECT_CONSTRAINT_ERROR, 0 ) MessageSend(mSAChrgT, "", "Billing Process Rule", szMsg, zMSGQ_OBJECT_CONSTRAINT_ERROR, 0); //:RETURN -1 if (8 == 8) return (-1); } //:END //:dChargePerCreditHour = mSAChrgT.SAInternalRuleVariable.Value { MutableDouble md_dChargePerCreditHour = new MutableDouble( dChargePerCreditHour); GetDecimalFromAttribute(md_dChargePerCreditHour, mSAChrgT, "SAInternalRuleVariable", "Value"); dChargePerCreditHour = md_dChargePerCreditHour.doubleValue(); } //:dAmount = dChargePerCreditHour * dCredits dAmount = dChargePerCreditHour * dCredits; //:szDesc = mSAChrgT.SATransactionCode.Description + " - " + mSAProf2.TermCourse.Number + "-" + szSection { StringBuilder sb_szDesc; if (szDesc == null) sb_szDesc = new StringBuilder(32); else sb_szDesc = new StringBuilder(szDesc); GetStringFromAttribute(sb_szDesc, mSAChrgT, "SATransactionCode", "Description"); szDesc = sb_szDesc.toString(); } { StringBuilder sb_szDesc; if (szDesc == null) sb_szDesc = new StringBuilder(32); else sb_szDesc = new StringBuilder(szDesc); ZeidonStringConcat(sb_szDesc, 1, 0, " - ", 1, 0, 301); szDesc = sb_szDesc.toString(); } { MutableInt mi_lTempInteger_6 = new MutableInt(lTempInteger_6); StringBuilder sb_szTempString_2; if (szTempString_2 == null) sb_szTempString_2 = new StringBuilder(32); else sb_szTempString_2 = new StringBuilder(szTempString_2); GetVariableFromAttribute(sb_szTempString_2, mi_lTempInteger_6, 'S', 11, mSAProf2, "TermCourse", "Number", "", 0); lTempInteger_6 = mi_lTempInteger_6.intValue(); szTempString_2 = sb_szTempString_2.toString(); } { StringBuilder sb_szDesc; if (szDesc == null) sb_szDesc = new StringBuilder(32); else sb_szDesc = new StringBuilder(szDesc); ZeidonStringConcat(sb_szDesc, 1, 0, szTempString_2, 1, 0, 301); szDesc = sb_szDesc.toString(); } { StringBuilder sb_szDesc; if (szDesc == null) sb_szDesc = new StringBuilder(32); else sb_szDesc = new StringBuilder(szDesc); ZeidonStringConcat(sb_szDesc, 1, 0, "-", 1, 0, 301); szDesc = sb_szDesc.toString(); } { StringBuilder sb_szDesc; if (szDesc == null) sb_szDesc = new StringBuilder(32); else sb_szDesc = new StringBuilder(szDesc); ZeidonStringConcat(sb_szDesc, 1, 0, szSection, 1, 0, 301); szDesc = sb_szDesc.toString(); } //:ELSE } else { //:// Sections 01-19 Class Charge/Credit //:// Any Class with Section "01" through "19" uses "S1-19 Chg/CR" variable. //:IF szSection >= "01" AND szSection <= "19" if (ZeidonStringCompare(szSection, 1, 0, "01", 1, 0, 4) <= 0 && ZeidonStringCompare(szSection, 1, 0, "19", 1, 0, 4) >= 0) { //:SET CURSOR FIRST mSAChrgT.SAInternalRuleVariable WHERE mSAChrgT.SAInternalRuleVariable.Name = "S1-19 Chg/CR" RESULT = SetCursorFirstEntityByString(mSAChrgT, "SAInternalRuleVariable", "Name", "S1-19 Chg/CR", ""); //:IF RESULT < zCURSOR_SET if (RESULT < zCURSOR_SET) { //:szMsg = "No Rule Variable match on Summer Tuition 'S1-19 Chg/CR'" { StringBuilder sb_szMsg; if (szMsg == null) sb_szMsg = new StringBuilder(32); else sb_szMsg = new StringBuilder(szMsg); ZeidonStringCopy(sb_szMsg, 1, 0, "No Rule Variable match on Summer Tuition 'S1-19 Chg/CR'", 1, 0, 301); szMsg = sb_szMsg.toString(); } //:MessageSend( mSAChrgT, "", "Billing Process Rule", szMsg, zMSGQ_OBJECT_CONSTRAINT_ERROR, 0 ) MessageSend(mSAChrgT, "", "Billing Process Rule", szMsg, zMSGQ_OBJECT_CONSTRAINT_ERROR, 0); //:RETURN -1 if (8 == 8) return (-1); } //:END //:dChargePerCreditHour = mSAChrgT.SAInternalRuleVariable.Value { MutableDouble md_dChargePerCreditHour = new MutableDouble( dChargePerCreditHour); GetDecimalFromAttribute(md_dChargePerCreditHour, mSAChrgT, "SAInternalRuleVariable", "Value"); dChargePerCreditHour = md_dChargePerCreditHour.doubleValue(); } //:dAmount = dChargePerCreditHour * dCredits dAmount = dChargePerCreditHour * dCredits; //:szDesc = mSAChrgT.SATransactionCode.Description + " - " + mSAProf2.TermCourse.Number + "-" + szSection { StringBuilder sb_szDesc; if (szDesc == null) sb_szDesc = new StringBuilder(32); else sb_szDesc = new StringBuilder(szDesc); GetStringFromAttribute(sb_szDesc, mSAChrgT, "SATransactionCode", "Description"); szDesc = sb_szDesc.toString(); } { StringBuilder sb_szDesc; if (szDesc == null) sb_szDesc = new StringBuilder(32); else sb_szDesc = new StringBuilder(szDesc); ZeidonStringConcat(sb_szDesc, 1, 0, " - ", 1, 0, 301); szDesc = sb_szDesc.toString(); } { MutableInt mi_lTempInteger_7 = new MutableInt(lTempInteger_7); StringBuilder sb_szTempString_3; if (szTempString_3 == null) sb_szTempString_3 = new StringBuilder(32); else sb_szTempString_3 = new StringBuilder(szTempString_3); GetVariableFromAttribute(sb_szTempString_3, mi_lTempInteger_7, 'S', 11, mSAProf2, "TermCourse", "Number", "", 0); lTempInteger_7 = mi_lTempInteger_7.intValue(); szTempString_3 = sb_szTempString_3.toString(); } { StringBuilder sb_szDesc; if (szDesc == null) sb_szDesc = new StringBuilder(32); else sb_szDesc = new StringBuilder(szDesc); ZeidonStringConcat(sb_szDesc, 1, 0, szTempString_3, 1, 0, 301); szDesc = sb_szDesc.toString(); } { StringBuilder sb_szDesc; if (szDesc == null) sb_szDesc = new StringBuilder(32); else sb_szDesc = new StringBuilder(szDesc); ZeidonStringConcat(sb_szDesc, 1, 0, "-", 1, 0, 301); szDesc = sb_szDesc.toString(); } { StringBuilder sb_szDesc; if (szDesc == null) sb_szDesc = new StringBuilder(32); else sb_szDesc = new StringBuilder(szDesc); ZeidonStringConcat(sb_szDesc, 1, 0, szSection, 1, 0, 301); szDesc = sb_szDesc.toString(); } //:ELSE } else { //:// Section 20 Class Charge/Credit //:// Any Class with Section "20" uses "S20 Chg/CR" variable. //:IF szSection = "20" if (ZeidonStringCompare(szSection, 1, 0, "20", 1, 0, 4) == 0) { //:SET CURSOR FIRST mSAChrgT.SAInternalRuleVariable WHERE mSAChrgT.SAInternalRuleVariable.Name = "S20 Chg/CR" RESULT = SetCursorFirstEntityByString(mSAChrgT, "SAInternalRuleVariable", "Name", "S20 Chg/CR", ""); //:IF RESULT < zCURSOR_SET if (RESULT < zCURSOR_SET) { //:szMsg = "No Rule Variable match on Summer Tuition 'S20 Chg/CR'" { StringBuilder sb_szMsg; if (szMsg == null) sb_szMsg = new StringBuilder(32); else sb_szMsg = new StringBuilder(szMsg); ZeidonStringCopy(sb_szMsg, 1, 0, "No Rule Variable match on Summer Tuition 'S20 Chg/CR'", 1, 0, 301); szMsg = sb_szMsg.toString(); } //:MessageSend( mSAChrgT, "", "Billing Process Rule", szMsg, zMSGQ_OBJECT_CONSTRAINT_ERROR, 0 ) MessageSend(mSAChrgT, "", "Billing Process Rule", szMsg, zMSGQ_OBJECT_CONSTRAINT_ERROR, 0); //:RETURN -1 if (8 == 8) return (-1); } //:END //:dChargePerCreditHour = mSAChrgT.SAInternalRuleVariable.Value { MutableDouble md_dChargePerCreditHour = new MutableDouble( dChargePerCreditHour); GetDecimalFromAttribute(md_dChargePerCreditHour, mSAChrgT, "SAInternalRuleVariable", "Value"); dChargePerCreditHour = md_dChargePerCreditHour.doubleValue(); } //:dAmount = dChargePerCreditHour * dCredits dAmount = dChargePerCreditHour * dCredits; //:szDesc = mSAChrgT.SATransactionCode.Description + " - " + mSAProf2.TermCourse.Number + "-" + szSection { StringBuilder sb_szDesc; if (szDesc == null) sb_szDesc = new StringBuilder(32); else sb_szDesc = new StringBuilder(szDesc); GetStringFromAttribute(sb_szDesc, mSAChrgT, "SATransactionCode", "Description"); szDesc = sb_szDesc.toString(); } { StringBuilder sb_szDesc; if (szDesc == null) sb_szDesc = new StringBuilder(32); else sb_szDesc = new StringBuilder(szDesc); ZeidonStringConcat(sb_szDesc, 1, 0, " - ", 1, 0, 301); szDesc = sb_szDesc.toString(); } { MutableInt mi_lTempInteger_8 = new MutableInt(lTempInteger_8); StringBuilder sb_szTempString_4; if (szTempString_4 == null) sb_szTempString_4 = new StringBuilder(32); else sb_szTempString_4 = new StringBuilder(szTempString_4); GetVariableFromAttribute(sb_szTempString_4, mi_lTempInteger_8, 'S', 11, mSAProf2, "TermCourse", "Number", "", 0); lTempInteger_8 = mi_lTempInteger_8.intValue(); szTempString_4 = sb_szTempString_4.toString(); } { StringBuilder sb_szDesc; if (szDesc == null) sb_szDesc = new StringBuilder(32); else sb_szDesc = new StringBuilder(szDesc); ZeidonStringConcat(sb_szDesc, 1, 0, szTempString_4, 1, 0, 301); szDesc = sb_szDesc.toString(); } { StringBuilder sb_szDesc; if (szDesc == null) sb_szDesc = new StringBuilder(32); else sb_szDesc = new StringBuilder(szDesc); ZeidonStringConcat(sb_szDesc, 1, 0, "-", 1, 0, 301); szDesc = sb_szDesc.toString(); } { StringBuilder sb_szDesc; if (szDesc == null) sb_szDesc = new StringBuilder(32); else sb_szDesc = new StringBuilder(szDesc); ZeidonStringConcat(sb_szDesc, 1, 0, szSection, 1, 0, 301); szDesc = sb_szDesc.toString(); } //:ELSE } else { //:// Anything else is an error. //:szMsg = "Unexpected Class Type on Summer Tuition" { StringBuilder sb_szMsg; if (szMsg == null) sb_szMsg = new StringBuilder(32); else sb_szMsg = new StringBuilder(szMsg); ZeidonStringCopy(sb_szMsg, 1, 0, "Unexpected Class Type on Summer Tuition", 1, 0, 301); szMsg = sb_szMsg.toString(); } //:MessageSend( mSAChrgT, "", "Billing Process Rule", szMsg, zMSGQ_OBJECT_CONSTRAINT_ERROR, 0 ) MessageSend(mSAChrgT, "", "Billing Process Rule", szMsg, zMSGQ_OBJECT_CONSTRAINT_ERROR, 0); //:RETURN -1 if (8 == 8) return (-1); } //:END } //:END } //:END } //:END //:// Process resulting Charge or Refund. //:IF szRefundFlag = "" if (ZeidonStringCompare(szRefundFlag, 1, 0, "", 1, 0, 2) == 0) { //:// Regular Charge, not Refund. Generate entry if there is a positive amount. //:IF dAmount > 0 if (dAmount > 0) { //:// Generate the charge if it isn't already there. Add two blanks at end so it sorts before any discount. //:nRC = GenerateChargeEntry( mSAChrgT, mSAProf, dAmount, szDesc ) nRC = omSAChrgT_GenerateChargeEntry(mSAChrgT, mSAProf, dAmount, szDesc); //:IF nRC >= 0 if (nRC >= 0) { //:// Add Course Number and Class Section to description. //:mSAProf.StudentAccountTransApplied.Description = szDesc SetAttributeFromString(mSAProf, "StudentAccountTransApplied", "Description", szDesc); } //:END //:// PBS Student Discount //:// The rules for a PBS Student are found in the operation, CheckPBS_ForClass, which returns a "1" if the Student //:// and Class are eligible for PBS Discount. //:nRC = CheckPBS_ForClass( mSAChrgT, mSAProf2 ) nRC = omSAChrgT_CheckPBS_ForClass(mSAChrgT, mSAProf2); //:IF nRC = 1 if (nRC == 1) { //:// The PBS Discount is 50% (rounded) of amount generated earlier. //:SET CURSOR FIRST mSAChrgT.SAInternalRuleVariable WHERE mSAChrgT.SAInternalRuleVariable.Name = "PBS Discount" RESULT = SetCursorFirstEntityByString(mSAChrgT, "SAInternalRuleVariable", "Name", "PBS Discount", ""); //:IF RESULT < zCURSOR_SET if (RESULT < zCURSOR_SET) { //:szMsg = "No Rule Variable match on Summer Tuition 'PBS Discount'" { StringBuilder sb_szMsg; if (szMsg == null) sb_szMsg = new StringBuilder(32); else sb_szMsg = new StringBuilder(szMsg); ZeidonStringCopy(sb_szMsg, 1, 0, "No Rule Variable match on Summer Tuition 'PBS Discount'", 1, 0, 301); szMsg = sb_szMsg.toString(); } //:MessageSend( mSAChrgT, "", "Billing Process Rule", szMsg, zMSGQ_OBJECT_CONSTRAINT_ERROR, 0 ) MessageSend(mSAChrgT, "", "Billing Process Rule", szMsg, zMSGQ_OBJECT_CONSTRAINT_ERROR, 0); //:RETURN -1 if (8 == 8) return (-1); } //:END //:dAmount = dAmount * .5 dAmount = dAmount * .5; //:dAmountInteger = dAmount dAmountInteger = (int) dAmount; //:dAmount = 0 - dAmountInteger // Charge is negative of dAmount. dAmount = 0 - dAmountInteger; //:szDesc = mSAChrgT.SATransactionCode.Description + " PBS Discount - " + mSAProf2.TermCourse.Number + "-" + szSection { StringBuilder sb_szDesc; if (szDesc == null) sb_szDesc = new StringBuilder(32); else sb_szDesc = new StringBuilder(szDesc); GetStringFromAttribute(sb_szDesc, mSAChrgT, "SATransactionCode", "Description"); szDesc = sb_szDesc.toString(); } { StringBuilder sb_szDesc; if (szDesc == null) sb_szDesc = new StringBuilder(32); else sb_szDesc = new StringBuilder(szDesc); ZeidonStringConcat(sb_szDesc, 1, 0, " PBS Discount - ", 1, 0, 301); szDesc = sb_szDesc.toString(); } { MutableInt mi_lTempInteger_9 = new MutableInt(lTempInteger_9); StringBuilder sb_szTempString_5; if (szTempString_5 == null) sb_szTempString_5 = new StringBuilder(32); else sb_szTempString_5 = new StringBuilder(szTempString_5); GetVariableFromAttribute(sb_szTempString_5, mi_lTempInteger_9, 'S', 11, mSAProf2, "TermCourse", "Number", "", 0); lTempInteger_9 = mi_lTempInteger_9.intValue(); szTempString_5 = sb_szTempString_5.toString(); } { StringBuilder sb_szDesc; if (szDesc == null) sb_szDesc = new StringBuilder(32); else sb_szDesc = new StringBuilder(szDesc); ZeidonStringConcat(sb_szDesc, 1, 0, szTempString_5, 1, 0, 301); szDesc = sb_szDesc.toString(); } { StringBuilder sb_szDesc; if (szDesc == null) sb_szDesc = new StringBuilder(32); else sb_szDesc = new StringBuilder(szDesc); ZeidonStringConcat(sb_szDesc, 1, 0, "-", 1, 0, 301); szDesc = sb_szDesc.toString(); } { StringBuilder sb_szDesc; if (szDesc == null) sb_szDesc = new StringBuilder(32); else sb_szDesc = new StringBuilder(szDesc); ZeidonStringConcat(sb_szDesc, 1, 0, szSection, 1, 0, 301); szDesc = sb_szDesc.toString(); } //:nRC = GenerateChargeEntry( mSAChrgT, mSAProf, dAmount, szDesc ) nRC = omSAChrgT_GenerateChargeEntry(mSAChrgT, mSAProf, dAmount, szDesc); } //:END } //:END //:ELSE } else { //:// Refund. //:// Note that the ProcessInternalRule operation is called for each existing SA Transaction, meaning it is called //:// for each Class Charge. Since we are in a loop for each Class for the Semester, we only want to handle a Class //:// that is the same as the PeriodTransApplied entry for which we're processing the Refund. //:// Thus, two things have to be true in order to process this Refund. //:// 1. There has to be a match on the transaction description. //:// 2. The Amount must have changed. //:// We'll process a Refund if the Amount has changed. //:IF mSAProf.PeriodTransApplied.Description = szDesc if (CompareAttributeToString(mSAProf, "PeriodTransApplied", "Description", szDesc) == 0) { //:IF dAmount != mSAProf.PeriodTransApplied.Amount if (CompareAttributeToDecimal(mSAProf, "PeriodTransApplied", "Amount", dAmount) != 0) { //:GenerateRefundEntry( mSAChrgT, mSAProf ) omSAChrgT_GenerateRefundEntry(mSAChrgT, mSAProf); } //:END } //:END } //:END } //:END } //:END } } RESULT = SetCursorNextEntity(mSAProf2, "TermEnrolled", ""); //:END } //:END //:DropView( mSAProf2 ) DropView(mSAProf2); return (0); // END }
From source file:com.quinsoft.zencas.mFAProf_Object.java
public int omFAProf_dTotalUnmetNeed(View mFAProf, String InternalEntityStructure, String InternalAttribStructure, Integer GetOrSetFlag) { double dAmount = 0.0; //:DECIMAL dAmountAward double dAmountAward = 0.0; //:DECIMAL dAmountOfNeed double dAmountOfNeed = 0.0; //:CASE GetOrSetFlag switch (GetOrSetFlag) { //:OF zDERIVED_GET: case zDERIVED_GET: //:dAmountOfNeed = mFAProf.FinAidProfile.dTotalNeed {/* www.j ava 2 s . co m*/ MutableDouble md_dAmountOfNeed = new MutableDouble(dAmountOfNeed); GetDecimalFromAttribute(md_dAmountOfNeed, mFAProf, "FinAidProfile", "dTotalNeed"); dAmountOfNeed = md_dAmountOfNeed.doubleValue(); } //:dAmountAward = mFAProf.FinAidProfile.dTotalAward { MutableDouble md_dAmountAward = new MutableDouble(dAmountAward); GetDecimalFromAttribute(md_dAmountAward, mFAProf, "FinAidProfile", "dTotalAward"); dAmountAward = md_dAmountAward.doubleValue(); } //:dAmount = dAmountOfNeed - dAmountAward dAmount = dAmountOfNeed - dAmountAward; //:IF dAmount < 0 if (dAmount < 0) { //:dAmount = 0 dAmount = 0; } //:END //:StoreValueInRecord( mFAProf,InternalEntityStructure, //: InternalAttribStructure, dAmount, 0 ) StoreValueInRecord(mFAProf, InternalEntityStructure, InternalAttribStructure, dAmount, 0); break; //:/* end zDERIVED_GET */ //:OF zDERIVED_SET: case zDERIVED_SET: break; } //: /* end zDERIVED_SET */ //:END /* case */ return (0); // END }
From source file:com.quinsoft.zencas.mFAProf_Object.java
public int omFAProf_dTotalUnmetNeedCalc(View mFAProf, String InternalEntityStructure, String InternalAttribStructure, Integer GetOrSetFlag) { double dAmount = 0.0; //:DECIMAL dAmountAward double dAmountAward = 0.0; //:DECIMAL dAmountOfNeed double dAmountOfNeed = 0.0; //:CASE GetOrSetFlag switch (GetOrSetFlag) { //:OF zDERIVED_GET: case zDERIVED_GET: //:// Same as dTotalUnmetNeed, except it doesn't have the check to make negative amounts zero. //:dAmountOfNeed = mFAProf.FinAidProfile.dTotalNeed {//ww w .j a v a2s . c o m MutableDouble md_dAmountOfNeed = new MutableDouble(dAmountOfNeed); GetDecimalFromAttribute(md_dAmountOfNeed, mFAProf, "FinAidProfile", "dTotalNeed"); dAmountOfNeed = md_dAmountOfNeed.doubleValue(); } //:dAmountAward = mFAProf.FinAidProfile.dTotalAward { MutableDouble md_dAmountAward = new MutableDouble(dAmountAward); GetDecimalFromAttribute(md_dAmountAward, mFAProf, "FinAidProfile", "dTotalAward"); dAmountAward = md_dAmountAward.doubleValue(); } //:dAmount = dAmountOfNeed - dAmountAward dAmount = dAmountOfNeed - dAmountAward; //:StoreValueInRecord( mFAProf,InternalEntityStructure, //: InternalAttribStructure, dAmount, 0 ) StoreValueInRecord(mFAProf, InternalEntityStructure, InternalAttribStructure, dAmount, 0); break; //:/* end zDERIVED_GET */ //:OF zDERIVED_SET: case zDERIVED_SET: break; } //: /* end zDERIVED_SET */ //:END /* case */ return (0); // END }
From source file:com.quinsoft.zencas.mFAProf_Object.java
public int omFAProf_dTotalWorkStudy(View mFAProf, String InternalEntityStructure, String InternalAttribStructure, Integer GetOrSetFlag) { double dTotal = 0.0; int RESULT = 0; double dTempDecimal_0 = 0.0; //:CASE GetOrSetFlag switch (GetOrSetFlag) { //:OF zDERIVED_GET: case zDERIVED_GET: //:FOR EACH mFAProf.WorkStudyAllocation RESULT = mFAProf.cursor("WorkStudyAllocation").setFirst().toInt(); while (RESULT > zCURSOR_UNCHANGED) { //:dTotal = dTotal + mFAProf.WorkStudyAllocation.Amount {/* w w w . j av a 2 s .co m*/ MutableDouble md_dTempDecimal_0 = new MutableDouble(dTempDecimal_0); GetDecimalFromAttribute(md_dTempDecimal_0, mFAProf, "WorkStudyAllocation", "Amount"); dTempDecimal_0 = md_dTempDecimal_0.doubleValue(); } dTotal = dTotal + dTempDecimal_0; RESULT = mFAProf.cursor("WorkStudyAllocation").setNextContinue().toInt(); ; } //:END //:StoreValueInRecord( mFAProf,InternalEntityStructure, //: InternalAttribStructure, dTotal, 0 ) StoreValueInRecord(mFAProf, InternalEntityStructure, InternalAttribStructure, dTotal, 0); break; //:/* end zDERIVED_GET */ //:OF zDERIVED_SET: case zDERIVED_SET: break; } //: /* end zDERIVED_SET */ //:END /* case */ return (0); // END }
From source file:com.quinsoft.zencas.mFAProf_Object.java
public int omFAProf_dTGiftNeedBasedAwards(View mFAProf, String InternalEntityStructure, String InternalAttribStructure, Integer GetOrSetFlag) { zVIEW mFAProf2 = new zVIEW(); //:DECIMAL dAmount double dAmount = 0.0; int RESULT = 0; double dTempDecimal_0 = 0.0; //:CASE GetOrSetFlag switch (GetOrSetFlag) { //:OF zDERIVED_GET: case zDERIVED_GET: //:CreateViewFromView( mFAProf2, mFAProf ) CreateViewFromView(mFAProf2, mFAProf); //:dAmount = 0 dAmount = 0;/*from ww w.java 2 s . c om*/ //:FOR EACH mFAProf2.FinAidAward //: WHERE mFAProf2.FinAidAward.AwardType != "S" OR mFAProf2.FinAidSource.IsNeedBased = "Y" RESULT = mFAProf2.cursor("FinAidAward").setFirst().toInt(); while (RESULT > zCURSOR_UNCHANGED) { if (CompareAttributeToString(mFAProf2, "FinAidAward", "AwardType", "S") != 0 || CompareAttributeToString(mFAProf2, "FinAidSource", "IsNeedBased", "Y") == 0) { //:IF mFAProf2.FinAidAward.AwardStatus = "A" OR //:mFAProf2.FinAidAward.AwardStatus = "Y" OR //:mFAProf2.FinAidAward.AwardStatus = "P" if (CompareAttributeToString(mFAProf2, "FinAidAward", "AwardStatus", "A") == 0 || CompareAttributeToString(mFAProf2, "FinAidAward", "AwardStatus", "Y") == 0 || CompareAttributeToString(mFAProf2, "FinAidAward", "AwardStatus", "P") == 0) { //:dAmount = dAmount + mFAProf2.FinAidAward.Amount { MutableDouble md_dTempDecimal_0 = new MutableDouble(dTempDecimal_0); GetDecimalFromAttribute(md_dTempDecimal_0, mFAProf2, "FinAidAward", "Amount"); dTempDecimal_0 = md_dTempDecimal_0.doubleValue(); } dAmount = dAmount + dTempDecimal_0; //:ELSE } else { } } RESULT = mFAProf2.cursor("FinAidAward").setNextContinue().toInt(); ; //: // dont do anything //:END } //: /*IF mFAProf2.FinAidAward.AwardStatus = "A" //: dAmount = dAmount + mFAProf2.FinAidAward.AmountOffered //: ELSE //: IF mFAProf2.FinAidAward.AwardStatus = "Y" //: dAmount = dAmount + mFAProf2.FinAidAward.Amount //: ELSE //: // dont do anything //: END //: END*/ //:END //:DropView( mFAProf2 ) DropView(mFAProf2); //:StoreValueInRecord( mFAProf,InternalEntityStructure, //: InternalAttribStructure, dAmount, 0 ) StoreValueInRecord(mFAProf, InternalEntityStructure, InternalAttribStructure, dAmount, 0); break; //:/* end zDERIVED_GET */ //:OF zDERIVED_SET: case zDERIVED_SET: break; } //: /* end zDERIVED_SET */ //:END /* case */ return (0); // END }
From source file:com.quinsoft.zencas.mFAProf_Object.java
public int omFAProf_dTotalSHAward(View mFAProf, String InternalEntityStructure, String InternalAttribStructure, Integer GetOrSetFlag) {/* w w w . j av a 2 s.co m*/ zVIEW mFAProf2 = new zVIEW(); //:DECIMAL dAmount double dAmount = 0.0; int RESULT = 0; double dTempDecimal_0 = 0.0; //:CASE GetOrSetFlag switch (GetOrSetFlag) { //:OF zDERIVED_GET: case zDERIVED_GET: //:CreateViewFromView( mFAProf2, mFAProf ) CreateViewFromView(mFAProf2, mFAProf); //:dAmount = 0 dAmount = 0; //:FOR EACH mFAProf2.FinAidAward //: WHERE mFAProf2.FinAidAward.AwardType = "S" AND mFAProf2.FinAidSource.IsNeedBased != "Y" RESULT = mFAProf2.cursor("FinAidAward").setFirst().toInt(); while (RESULT > zCURSOR_UNCHANGED) { if (CompareAttributeToString(mFAProf2, "FinAidAward", "AwardType", "S") == 0 && CompareAttributeToString(mFAProf2, "FinAidSource", "IsNeedBased", "Y") != 0) { //:IF mFAProf2.FinAidAward.AwardStatus = "A" OR mFAProf2.FinAidAward.AwardStatus = "Y" if (CompareAttributeToString(mFAProf2, "FinAidAward", "AwardStatus", "A") == 0 || CompareAttributeToString(mFAProf2, "FinAidAward", "AwardStatus", "Y") == 0) { //:dAmount = dAmount + mFAProf2.FinAidAward.Amount { MutableDouble md_dTempDecimal_0 = new MutableDouble(dTempDecimal_0); GetDecimalFromAttribute(md_dTempDecimal_0, mFAProf2, "FinAidAward", "Amount"); dTempDecimal_0 = md_dTempDecimal_0.doubleValue(); } dAmount = dAmount + dTempDecimal_0; //:ELSE } else { } } RESULT = mFAProf2.cursor("FinAidAward").setNextContinue().toInt(); ; //: // dont do anything //:END } //: /*IF mFAProf2.FinAidAward.AwardStatus = "A" //: dAmount = dAmount + mFAProf2.FinAidAward.AmountOffered //: ELSE //: IF mFAProf2.FinAidAward.AwardStatus = "Y" //: dAmount = dAmount + mFAProf2.FinAidAward.Amount //: ELSE //: // dont do anything //: END //: END*/ //:END //:DropView( mFAProf2 ) DropView(mFAProf2); //:StoreValueInRecord( mFAProf,InternalEntityStructure, //: InternalAttribStructure, dAmount, 0 ) StoreValueInRecord(mFAProf, InternalEntityStructure, InternalAttribStructure, dAmount, 0); break; //:/* end zDERIVED_GET */ //:OF zDERIVED_SET: case zDERIVED_SET: break; } //: /* end zDERIVED_SET */ //:END /* case */ return (0); // END }