Uni-Basic Program :
OPEN '', 'SL.(Financial Aid Award Year)' TO SL.ACYR ELSE STOP 'ERROR'
OPEN '', 'SA.(Financial Aid Award Year)' TO SA.ACYR ELSE STOP 'ERROR'
OPEN '', 'TA.(Financial Aid Award Year)' TO TA.ACYR ELSE STOP 'ERROR'
SUB.AWARD.LIST = '(Subsidized Loan Award Code #1)':@FM:'(Subsidized Loan Award Code #2)'...:@FM:'(Subsidized Loan Award Code #n)'
UNSUB.AWARD.LIST = '(Unsubsidized Loan Award Code #1)':@FM:'(Unsubsidized Loan Award Code #2)'...:@FM:'(Unsubsidized Loan Award Code #n)'
EXECUTE "SELECT SA.(Financial Aid Award Year) WITH SA.AWARD = '(Loan Award Code #1)''(Loan Award Code #2)'... '(Loan Award Code #n)' AND SA.ACTION = 'A' "
TERM_INFO = "(Fall Term ID)":@FM:"(Spring Term ID)"
EOF = 0
LOOP
  READNEXT SA.ID ELSE EOF = 1
UNTIL EOF
  READ SA.REC FROM SA.ACYR,SA.ID THEN
    MAX.AWARD = DCOUNT(SA.REC<7>,@FM)
    FOR I = 1 TO MAX.AWARD
      POS = 0
      LOCATE SA.REC<7,I> IN SUB.LOANS<1,1> SETTING POS THEN
        IF ((SA.REC<7,I> = '(Subsidized Loan Award Code #1)') OR (SA.REC<7,I> = '(Subsidized Loan Award Code #2)') ... OR (SA.REC<7,I> = '(Subsidized Loan Award Code #n)')) AND (SA.REC<14,I> NE 'D') AND POS THEN
          SL.ID = SA.ID : '*' : SA.REC<7,I>
          UPDATE.SL = 0
          READ SL.REC FROM SL.ACYR,SL.ID THEN
            IF SL.REC<5> = '' OR SL.REC<13> = '' OR SL.REC<14> = '' OR SA.REC<8,I> <> SL.REC<6> THEN UPDATE.SL = 1
          END
          READ SL.REC FROM SL.ACYR,SL.ID ELSE UPDATE.SL = 1
          IF UPDATE.SL THEN
            FOR X = 1 TO 39
              SL.REC<I> = ''
            NEXT X
            SL.REC<1> = '(Colleague User ID)'   ;*ADD USER
            SL.REC<2> = @DATE                   ;*ADD DATE
            SL.REC<5> = '(Lender ID)'           ;*LENDER ID
            SL.REC<6> = SA.REC<8,I>             ;*LOAN AMOUNT
            TERM_IND = ""
            FOR J = 1 TO 2
              TA.ACYR.ID = SA.ID:'*':SA.REC<7,I>:'*':TERM_INFO<J,1>
              READ TA.REC FROM TA.ACYR,TA.ACYR.ID THEN 
                IF TA.REC<5> > 0 AND TA.REC<6> NE 'D' THEN
                  TERM_IND := TERM_INFO<J,1>
                END
              END
            NEXT J
            IF TERM_IND = "(Fall Term ID)" THEN
              BGN_DATE = ICONV("(Beginning Date For Fall Term in MM/DD/CCYY Format)","D")
              END_DATE = ICONV("(Ending Date For Fall Term in MM/DD/CCYY Format)","D")
            END ELSE
              IF TERM_IND = "(Spring Term ID)" THEN
                BGN_DATE = ICONV("(Beginning Date For Spring Term in MM/DD/CCYY Format)","D")
                END_DATE = ICONV("(Ending Date For Spring Term in MM/DD/CCYY Format)","D")
              END ELSE
                IF TERM_IND = "(Fall Term ID)(Spring Term ID)" THEN
                  BGN_DATE = ICONV("(Beginning Date For Academic Year in MM/DD/CCYY Format)","D")
                  END_DATE = ICONV("(Ending Date For Academic Year in MM/DD/CCYY Format)","D")
                END
              END
            END
            SL.REC<13> = BGN_DATE
            SL.REC<14> = END_DATE
            SL.REC<9> = 8250         ;*INTEREST RATE
            SL.REC<10> = 6           ;*GRACE PERIOD
            SL.REC<11> = 120         ;*REPAYMENT PERIOD
            PRINT SA.ID, SL.REC<5>
            WRITE SL.REC TO SL.ACYR,SL.ID
          END
        END
      END ELSE
        LOCATE SA.REC<7,I> IN UNSUB.LOANS<1,1> SETTING POS ELSE POS = 0
        IF ((SA.REC<7,I> = '(Unsubsidized Loan Award Code #1)') OR (SA.REC<7,I> = '(Unsubsidized Loan Award Code #2)') ... OR (SA.REC<7,I> = '(Unsubsidized Loan Award Code #n)')) AND (SA.REC<14,I> NE 'D') AND POS THEN
          SL.ID = SA.ID : '*' : SA.REC<7,I>
          UPDATE.SL = 0
          READ SL.REC FROM SL.ACYR,SL.ID THEN
            IF SL.REC<5> = '' OR SL.REC<13> = '' OR SL.REC<14> = '' OR SA.REC<8,I> <> SL.REC<6> THEN UPDATE.SL = 1
          END
          READ SL.REC FROM SL.ACYR,SL.ID ELSE UPDATE.SL = 1
          IF UPDATE.SL THEN
            FOR X = 1 TO 39
              SL.REC<I> = ''
            NEXT X
            SL.REC<1> = '(Colleague User ID)'   ;*ADD USER
            SL.REC<2> = @DATE                   ;*ADD DATE
            SL.REC<5> = '(Lender ID)'           ;*LENDER ID
            SL.REC<6> = SA.REC<8,I>             ;*LOAN AMOUNT
            TERM_IND = ""
            FOR J = 1 TO 2
              TA.ACYR.ID = SA.ID:'*':SA.REC<7,I>:'*':TERM_INFO<J,1>
              READ TA.REC FROM TA.ACYR,TA.ACYR.ID THEN 
                IF TA.REC<5> > 0 AND TA.REC<6> NE 'D' THEN
                  TERM_IND := TERM_INFO<J,1>
                END
              END
            NEXT J
            IF TERM_IND = "(Fall Term ID)" THEN
              BGN_DATE = ICONV("(Beginning Date For Fall Term in MM/DD/CCYY Format)","D")
              END_DATE = ICONV("(Ending Date For Fall Term in MM/DD/CCYY Format)","D")
            END ELSE
              IF TERM_IND = "(Spring Term ID)" THEN
                BGN_DATE = ICONV("(Beginning Date For Spring Term in MM/DD/CCYY Format)","D")
                END_DATE = ICONV("(Ending Date For Spring Term in MM/DD/CCYY Format)","D")
              END ELSE
                IF TERM_IND = "(Fall Term ID)(Spring Term ID)" THEN
                  BGN_DATE = ICONV("(Beginning Date For Academic Year in MM/DD/CCYY Format)","D")
                  END_DATE = ICONV("(Ending Date For Academic Year in MM/DD/CCYY Format)","D")
                END
              END
            END
            SL.REC<13> = BGN_DATE
            SL.REC<14> = END_DATE
            SL.REC<9> = 8250         ;*INTEREST RATE
            SL.REC<10> = 6           ;*GRACE PERIOD
            SL.REC<11> = 120         ;*REPAYMENT PERIOD
            PRINT SA.ID, SL.REC<5>
            WRITE SL.REC TO SL.ACYR,SL.ID
          END
        END
      END
    NEXT I
  END
REPEAT
END

 

This page hosted by Get your own Free Homepage

Hosted by www.Geocities.ws

1