* SCSIMAIN.PRG V1.10 BY DEREK FOUNTAIN * Maintenance of products file - Called by SCSTART.PRG CLS USE SCPROD INDEX SCPROD.NDX * Set up screen AT 0,26 SAY "PRODUCT DATA FILE MAINTENANCE" AT 2,0 SAY "CODE:" AT 2,30 SAY "ITEM:" AT 2,60 SAY "SUPPLIER CODE:" AT 4,0 SAY "SELL AT:" AT 4,19 SAY "BUY AT:" AT 4,40 SAY "CASE:" AT 4,57 SAY "MINIMUM STOCK:" * For the benefit of the delete routines... LET calling$="SCSI" * Infinite loop, keep getting choices DO WHILE 1=1 * Print up the current record AT 0,65 SAY "DATED:" AT 2, 5 SAY " " AT 2,35 SAY " " AT 2,74 SAY " " AT 4, 8 SAY " " AT 4,26 SAY " " AT 4,45 SAY " " AT 4,71 SAY " " AT 0,71 SAY 1:LUPDATE$ AT 2,5 SAY 1:CODE$ AT 2,35 SAY 1:DESC$ AT 2,74 SAY 1:SUPP$ AT 4,8 SAY 1:SELL_AT AT 4,26 SAY 1:BUY_AT AT 4,45 SAY 1:CASE AT 4,71 SAY 1:MINIMUM IF DELETED()=1 AT 0,0 SAY "DELETED RECORD" AT 7,10 SAY "(N)ext,(B)ack,(F)ind,(R)ecall,(I)nput,(A)mend or (Q)uit >>>" ELSE AT 0,0 SAY " " AT 7,10 SAY "(N)ext,(B)ack,(F)ind,(D)elete,(I)nput,(A)mend or (Q)uit >>>" ENDIF * Get a valid choice LET choice$=" " DO WHILE choice$=" " AT 7,70 GET choice$ IF WHERE(UPPER(choice$),"NBFDRIAQ")=0 LET choice$=" " ENDIF ENDDO * Clear prompt form bottom line AT 7,10 SAY " " IF UPPER(choice$)="Q" * Option was to quit RELEASE calling$ RETURN ENDIF IF UPPER(choice$)="N" * Option was Next record DO SCSINEXT.PRG ENDIF IF UPPER(choice$)="B" * Choice was to move Back a record DO SCSIBACK.PRG ENDIF IF UPPER(choice$)="I" * Choice was to input a new record DO SCSIINP.PRG ENDIF IF UPPER(choice$)="A" * Choice was to amend current record DO SCSIAM.PRG ENDIF IF UPPER(choice$)="F" * Choice was Find DO SCSIFIND.PRG ENDIF IF UPPER(choice$)="D" * Choice was delete DO SCSIDELE.PRG ENDIF IF UPPER(choice$)="R" * Choice was recall DO SCSIRECA.PRG ENDIF ENDDO