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