Uni-Basic program to create initial data file for checking demographic changes :
OPEN '', 'CI.(Financial Aid Award Year)' TO CI.ACYR ELSE STOP 'ERROR'
OPEN '', 'PEOPLE' TO PEOPLE ELSE STOP 'ERROR'
EXECUTE "SELECT CI.(Financial Aid Award Year) WITH CI.S.VEAP.AMT > 0 SAVING UNIQUE CI.STUDENT.ID"
OPENSEQ '(Benefactor Directory)',  '(Data File)' TO ASCII.FILE ELSE PRINT STATUS()
EOF = 0
LOOP
  READNEXT CI.STUDENT.ID ELSE EOF = 1
UNTIL EOF
  ID.NO = CI.STUDENT.ID
  READ PEOPLE.REC FROM PEOPLE,ID.NO THEN
    STRING.REC = ID.NO:PEOPLE.REC<13>:FMT(PEOPLE.REC<1>,"L#30"):FMT(PEOPLE.REC<2>,"L#16")
    STRING.REC := FMT(PEOPLE.REC<3>,"L#16")
    STRING.REC := FMT(PEOPLE.REC<5,1>,"L#30"):FMT(PEOPLE.REC<5,2>,"L#30")
    STRING.REC := FMT(PEOPLE.REC<6>,"L#30"):FMT(PEOPLE.REC<7>,"L#2")
    STRING.REC := FMT(PEOPLE.REC<8>,"10'0'L"):PEOPLE.REC<10>
    WRITESEQ STRING.REC ON ASCII.FILE ELSE PRINT ID.NO
  END
REPEAT
OPENSEQ '(Benefactor Directory)',  '(Data File)' TO ASCII.FILE ELSE PRINT STATUS()
EOF = 0
LOOP
  READSEQ CCU.VET.DATA FROM ASCII.FILE THEN
    ID.VET = CCU.VET.DATA[1,7]
    SSN.VET = CCU.VET.DATA[8,11]
    LAST.NAME.VET = CCU.VET.DATA[19,30]
    FIRST.NAME.VET = CCU.VET.DATA[49,16]
    MIDDLE.NAME.VET = CCU.VET.DATA[65,16]
    ADDR.1.VET = CCU.VET.DATA[81,30]
    ADDR.2.VET = CCU.VET.DATA[111,30]
    CITY.VET = CCU.VET.DATA[141,30]
    STATE.VET = CCU.VET.DATA[171,2]
    ZIP.VET = CCU.VET.DATA[173,10]
    PHONE.VET = CCU.VET.DATA[183,12]
    PRINT ID.VET
    PRINT SSN.VET
    PRINT LAST.NAME.VET
    PRINT FIRST.NAME.VET
    PRINT MIDDLE.NAME.VET
    PRINT ADDR.1.VET
    PRINT ADDR.2.VET
    PRINT CITY.VET
    PRINT STATE.VET
    PRINT ZIP.VET
    PRINT PHONE.VET
  END ELSE
    EOF = 1
  END
UNTIL EOF
REPEAT
END
Uni-Basic program to report on changes in demographic information :
OPEN '', 'CI.(Financial Aid Award Year)' TO CI.ACYR ELSE STOP 'ERROR'
OPEN '', 'PEOPLE' TO PEOPLE ELSE STOP 'ERROR'
EXECUTE "SELECT CI.(Financial Aid Award Year) WITH CI.S.VEAP.AMT > 0 SAVING UNIQUE CI.STUDENT.ID"
OPENSEQ '(Benefactor Directory)',  '(Data File)' TO ASCII.FILE ELSE PRINT STATUS()
EOF = 0
LOOP
  READNEXT CI.STUDENT.ID ELSE EOF = 1
UNTIL EOF
  ID.NO = CI.STUDENT.ID
  READ PEOPLE.REC FROM PEOPLE,ID.NO THEN
    CHK.SSN.VET = PEOPLE.REC<13>
    CHK.LAST.NAME.VET = FMT(PEOPLE.REC<1>,"L#30")
    CHK.FIRST.NAME.VET = FMT(PEOPLE.REC<2>,"L#16")
    CHK.MIDDLE.NAME.VET = FMT(PEOPLE.REC<3>,"L#16")
    CHK.ADDR.1.VET = FMT(PEOPLE.REC<5,1>,"L#30")
    CHK.ADDR.2.VET = FMT(PEOPLE.REC<5,2>,"L#30")
    CHK.CITY.VET = FMT(PEOPLE.REC<6>,"L#30")
    CHK.STATE.VET = FMT(PEOPLE.REC<7>,"L#2")
    CHK.ZIP.VET = FMT(PEOPLE.REC<8>,"10'0'L")
    CHK.PHONE.VET = PEOPLE.REC<10>
    OPENSEQ '(Benefactor Directory)',  '(Data File)' TO ASCII.FILE ELSE PRINT STATUS()
    EOF.VET = 0
    LOOP
      READSEQ CCU.VET.DATA FROM ASCII.FILE THEN
        ID.VET = CCU.VET.DATA[1,7]
        SSN.VET = CCU.VET.DATA[8,11]
        LAST.NAME.VET = CCU.VET.DATA[19,30]
        FIRST.NAME.VET = CCU.VET.DATA[49,16]
        MIDDLE.NAME.VET = CCU.VET.DATA[65,16]
        ADDR.1.VET = CCU.VET.DATA[81,30]
        ADDR.2.VET = CCU.VET.DATA[111,30]
        CITY.VET = CCU.VET.DATA[141,30]
        STATE.VET = CCU.VET.DATA[171,2]
        ZIP.VET = CCU.VET.DATA[173,10]
        PHONE.VET = CCU.VET.DATA[183,12]
      END ELSE
        EOF.VET = 1
      END
    UNTIL EOF.VET OR ID.NO = ID.VET
    REPEAT
    CHANGE.SSN = 'N'
    CHANGE.LAST.NAME = 'N'
    CHANGE.FIRST.NAME = 'N'
    CHANGE.MIDDLE.NAME = 'N'
    CHANGE.ADDR.1 = 'N'
    CHANGE.ADDR.2 = 'N'
    CHANGE.CITY = 'N'
    CHANGE.STATE = 'N'
    CHANGE.ZIP = 'N'
    CHANGE.PHONE = 'N'
    IF CHK.SSN.VET NE SSN.VET THEN CHANGE.SSN = 'Y'
    IF CHK.LAST.NAME.VET NE LAST.NAME.VET THEN CHANGE.LAST.NAME = 'Y'
    IF CHK.FIRST.NAME.VET NE FIRST.NAME.VET THEN CHANGE.FIRST.NAME = 'Y'
    IF CHK.MIDDLE.NAME.VET NE MIDDLE.NAME.VET THEN CHANGE.MIDDLE.NAME = 'Y'
    IF CHK.ADDR.1.VET NE ADDR.1.VET THEN CHANGE.ADDR.1 = 'Y'
    IF CHK.ADDR.2.VET NE ADDR.2.VET THEN CHANGE.ADDR.2 = 'Y'
    IF CHK.CITY.VET NE CITY.VET THEN CHANGE.CITY = 'Y'
    IF CHK.STATE.VET NE STATE.VET THEN CHANGE.STATE = 'Y'
    IF CHK.ZIP.VET NE ZIP.VET THEN CHANGE.ZIP = 'Y'
    IF CHK.PHONE.VET NE PHONE.VET THEN CHANGE.PHONE = 'Y'
    IF (CHANGE.SSN = 'Y') OR (CHANGE.LAST.NAME = 'Y') OR (CHANGE.FIRST.NAME = 'Y') OR (CHANGE.MIDDLE.NAME = 'Y') OR (CHANGE.ADDR.1 = 'Y') OR (CHANGE.ADDR.2 = 'Y') OR (CHANGE.CITY = 'Y') OR (CHANGE.STATE = 'Y') OR (CHANGE.ZIP = 'Y') OR (CHANGE.PHONE = 'Y') THEN PRINT ID.NO, CHANGE.SSN, CHANGE.LAST.NAME, CHANGE.FIRST.NAME, CHANGE.MIDDLE.NAME, CHANGE.ADDR.1, CHANGE.ADDR.2, CHANGE.CITY, CHANGE.STATE, CHANGE.ZIP, CHANGE.PHONE
  END
REPEAT
END
Uni-Basic program to create initial data file for checking class schedule changes :
OPEN '', 'CI.(Financial Aid Award Year)' TO CI.ACYR ELSE STOP 'ERROR'
OPEN '', 'STUD.SCHEDS' TO STUD.SCHEDS ELSE STOP 'ERROR'
OPEN "DICT","STUD.SCHEDS" TO F.STUD.SCHEDS ELSE PRINT STATUS()
EXECUTE "SELECT CI.(Financial Aid Award Year) WITH CI.S.VEAP.AMT > 0 SAVING UNIQUE CI.STUDENT.ID"
OPENSEQ '(Benefactor Directory)',  '(Data File)' TO ASCII.FILE ELSE PRINT STATUS()
EOF = 0
LOOP
  READNEXT CI.STUDENT.ID ELSE EOF = 1
UNTIL EOF
  ID.NO = "(Term ID)*":CI.STUDENT.ID
  READ IDESC.REC FROM F.STUD.SCHEDS,"PRIMARY.MAJOR" THEN
    READ STUD.SCHEDS.REC FROM STUD.SCHEDS,ID.NO THEN
      @ID = ID.NO
      @RECORD = STUD.SCHEDS.REC
      PRIMARY.MAJOR = ITYPE(IDESC.REC)
    END
    MAX.COURSES = DCOUNT(STUD.SCHEDS.REC<1>,@VM)
    FOR I = 1 TO MAX.COURSES
      STRING.REC = CI.STUDENT.ID:FMT(STUD.SCHEDS.REC<1,I>,'L#20'):STUD.SCHEDS.REC<3,I>:PRIMARY.MAJOR
      WRITESEQ STRING.REC ON ASCII.FILE ELSE PRINT ID.NO
    NEXT I
  END
REPEAT
END
Uni-Basic program to report on changes in class schedule :
OPEN '', 'CI.(Financial Aid Award Year)' TO CI.ACYR ELSE STOP 'ERROR'
OPEN '', 'STUD.SCHEDS' TO STUD.SCHEDS ELSE STOP 'ERROR'
OPEN "DICT","STUD.SCHEDS" TO F.STUD.SCHEDS ELSE PRINT STATUS()
EXECUTE "SELECT CI.(Financial Aid Award Year) WITH CI.S.VEAP.AMT > 0 SAVING UNIQUE CI.STUDENT.ID"
EOF = 0
LOOP
  READNEXT CI.STUDENT.ID ELSE EOF = 1
UNTIL EOF
  ID.NO = "(Term ID)":CI.STUDENT.ID
  READ IDESC.REC FROM F.STUD.SCHEDS,"PRIMARY.MAJOR" THEN
    READ STUD.SCHEDS.REC FROM STUD.SCHEDS,ID.NO THEN
      @ID = ID.NO
      @RECORD = STUD.SCHEDS.REC
      PRIMARY.MAJOR = ITYPE(IDESC.REC)
    END
    MAX.COURSES = DCOUNT(STUD.SCHEDS.REC<1>,@VM)
    FOR I = 1 TO MAX.COURSES
      STRING.REC = CI.STUDENT.ID:FMT(STUD.SCHEDS.REC<1,I>,'L#20'):STUD.SCHEDS.REC<3,I>:PRIMARY.MAJOR
      OPENSEQ '(Benefactor Directory)',  '(Data File)' TO ASCII.FILE ELSE PRINT STATUS()
      EOF.VET = 0
      LOOP
        READSEQ CCU.VET.DATA FROM ASCII.FILE THEN
          ID.VET = CCU.VET.DATA[1,27]
          ID.NO = CCU.VET.DATA[1,7]
          STR.VET = STRING.REC[1,27]
          STR.NO = STRING.REC[1,7]
          IF ID.VET = STR.VET THEN
            STR.CHANGE = STRING.REC[28,1]
            CHK.CHANGE = CCU.VET.DATA[28,1]
            STR.MAJOR = STRING.REC[29,4]
            CHK.MAJOR = CCU.VET.DATA[29,4]
            IF STR.CHANGE <> CHK.CHANGE THEN PRINT ID.NO,"STATUS CHANGE",STR.CHANGE,CHK.CHANGE
            IF STR.MAJOR <> CHK.MAJOR THEN PRINT ID.NO,"MAJOR CHANGE",STR.MAJOR,CHK.MAJOR
          END
        END ELSE
          EOF.VET = 1
        END
      UNTIL EOF.VET OR ID.VET = STR.VET
      REPEAT
      IF EOF.VET = 1 THEN
        STR.TERM =  STRING.REC[8,5]
        STR.COURSE = FIELD(STRING.REC,"*",2,1):' ':FIELD(STRING.REC,"*",3,1):' ':FIELD(STRING.REC,"*",4,1)[1,5]
        PRINT STR.NO STR.TERM,STR.COURSE,"NEW ADDITION"
      END
    NEXT I
  END
REPEAT
END

 

This page hosted by Get your own Free Homepage

Hosted by www.Geocities.ws

1