* Program : ORDENTRY.PRG * Version : V4.2 * Author(s) : Joe Tomas * Date : 07/23/86 * Notice : * Called by : OPMENU.PRG * Call(s) : * Notes : ORDER ENTRY SCREEN * : CLEAR STORE " " TO INITIAL STORE " " TO TODAY STORE SPACE(47) TO BLANK47 STORE .F. TO VALID * CHECK FOR "OE-OK.MEM" FILE ... IF IT EXISTS, THE PRODUC.DBF FILE * IS THE SAME AS THE MASTER.DBF FILE & ALL IS OK. THIS FILE IS * CREATED FROM "MAKEPROD.PRG", CALLED FROM "FMAINT.PRG" IF .NOT. FILE("OE-OK.MEM") @ 08,00 ?? VBELL3 SET COLOR TO + @ 08,09 ?? VWIDE+' *** ATTENTION *** ' SET COLOR TO @ 10,00 @ 12,20 SAY "THE PRODUC.DBF FILE IS EITHER INVALID" @ 13,20 SAY "OR DIFFERENT THAN THE MASTER FILE." @ 14,20 SAY "CREATE A NEW PRODUC.DBF FILE FROM THE" @ 15,20 SAY "FILE MAINTENANCE MENU BEFORE PROCEEDING." ?? VBELL1 @ 23,27 SAY 'PRESS ANY KEY TO CONTINUE' DO WHILE INKEY() = 0 SET COLOR TO + @ 23,33 SAY 'ANY KEY' SET COLOR TO @ 23,33 SAY 'ANY KEY' ENDDO CLEAR RETURN ENDIF NO FILE OE-OK.MEM * CHECK FOR "NODELETE.MEM" FILE ... IF IT EXISTS, ORDERS.DBF FILE * HAS NOT BEEN PURGED FROM PRIOR DAY'S CASHOUT. DO NOT GO ON! IF FILE("NODELETE.MEM") @ 08,10 ?? VBELL3 SET COLOR TO + @ 08,08 ?? VWIDE+' *** ATTENTION *** ' SET COLOR TO @ 12,19 SAY "PREVIOUS DAY'S ORDERS HAVE NOT BEEN" @ 13,19 SAY "DELETED AFTER CASHING OUT. PLEASE" @ 14,19 SAY "DELETE FILE BEFORE CONTINUING BY" @ 15,19 SAY "PERFORMING ANOTHER CASHOUT ON THE" @ 16,19 SAY "SYSTEM. YOU MAY USE THE SAME DISK" @ 17,19 SAY "AS USED FOR THE BACKUP FOR YESTERDAY." ?? VBELL1 @ 23,27 SAY 'PRESS ANY KEY TO CONTINUE' DO WHILE INKEY() = 0 SET COLOR TO + @ 23,33 SAY 'ANY KEY' SET COLOR TO @ 23,33 SAY 'ANY KEY' ENDDO CLEAR RETURN ENDIF RESTORE FROM DATES ADDITIVE SET INTENSITY ON call paint with "oedate.img" TODAY = DTOC(DATE()) M_TIME = LEFT(TIME(),5) DO WHILE .NOT. VALID STORE .T. TO VALID SET CONFIRM ON SET COLOR TO + @ 10,23 SAY "Operator's Initials " @ 11,23 SAY "Today's Date (MM/DD/YY) " @ 12,23 SAY "Present Time (00:00) " SET COLOR TO @ 10,47 GET INITIAL PICTURE '!!!' @ 11,47 GET TODAY PICTURE '99/99/99' @ 12,47 GET M_TIME PICTURE '99:99' READ @ 16,00 STORE 0 TO COUNT IF TODAY='99/99/99' CLEAR RETURN ENDIF IF INITIAL=' ' @ 16,00 ?? VBELL3 SET COLOR TO + @ 16,27 SAY 'OPERATOR INITIALS REQUIRED!' SET COLOR TO STORE .F. TO VALID STORE 0 TO COUNT LOOP ENDIF IF VAL(LEFT(M_TIME,2)) > 24 .OR. VAL(SUBSTR(M_TIME,4,2)) > 60 @ 16,00 ?? VBELL3 SET COLOR TO + @ 16,23 SAY 'INVALID TIME - USE MILITARY TIME' SET COLOR TO STORE .F. TO VALID STORE 0 TO COUNT LOOP ENDIF IF VALID MSDATE=CTOD(SDATE) MEDATE=CTOD(EDATE) MTODAY=CTOD(TODAY) IF MTODAY < MSDATE .OR. MTODAY > MEDATE .OR. LEFT(TODAY,2)=" " @ 16,00 ?? VBELL3 SET COLOR TO + @ 16,23 SAY 'INVALID DECUS DATE - TRY AGAIN' SET COLOR TO STORE .F. TO VALID LOOP ELSE @ 16,00 ?? VBELL1 SET COLOR TO + @ 16,28 SAY '*** DATE ACCEPTED ***' SET COLOR TO ENDIF DO WHILE COUNT < 20 STORE COUNT +1 TO COUNT ENDDO CLEAR ENDIF SET CONSOLE OFF ! TIME &M_TIME ! DATE &TODAY SET CONSOLE ON SET COLOR TO +*I @ 10,24 SAY ' Initializing Order Entry... ' SET COLOR TO STORE 0 TO COUNT ENDDO STORE SUBSTR(TODAY,1,2)+SUBSTR(TODAY,4,2)+SUBSTR(TODAY,7,2) TO TODAY DOTS="... ... ............................................ ....... ........" *====RECALL TRANSACTION # AND STATE SALES TAX=== RESTORE FROM TRANSNUM.MEM ADDITIVE RESTORE FROM TAXPCT ADDITIVE STORE .T. TO NEWORD STORE .F. TO EOJ DO WHILE .NOT. EOJ IF NEWORD SET COLOR TO STOR SPACE(41) TO M_PART01,M_PART02,M_PART03,M_PART04,M_PART05,M_PART06,; M_PART07,M_PART08,M_PART09 STORE " " TO M_CODE01,M_CODE02,M_CODE03,M_CODE04,M_CODE05,M_CODE06,; M_CODE07,M_CODE08,M_CODE09 STORE 0 TO M_QUAN01,M_QUAN02,M_QUAN03,M_QUAN04,M_QUAN05,M_QUAN06,; M_QUAN07,M_QUAN08,M_QUAN09 STORE 00.00 TO M_PRIC01,M_PRIC02,M_PRIC03,M_PRIC04,M_PRIC05,M_PRIC06,; M_PRIC07,M_PRIC08,M_PRIC09 STORE 00.00 TO M_TOTAL01,M_TOTAL02,M_TOTAL03,M_TOTAL04,M_TOTAL05,; M_TOTAL06,M_TOTAL07,M_TOTAL08,M_TOTAL09 STORE 00.00 TO SUBTOT,SALTAX,GRANDT STORE SPACE(15) TO M_PO STORE SPACE(20) TO M_EXEMPT,M_CITY STORE SPACE(2) TO M_PAYTYP,M_STATE STORE SPACE(30) TO M_COMPAN,M_CONTAC,M_ADDRES,M_ADDRE2 STORE SPACE(5) TO M_ZIP CALL PAINT WITH "OESCREEN.IMG" SET COLOR TO I+ @ 00,01 SAY 'ORDER ENTRY' @ 00,18 SAY 'TX #: '+ STR(TRANSNUM,4) SET COLOR TO ENDIF NEWORD store .f. to valid do while .not. valid @ 02,75 GET M_PAYTYP PICTURE '!!' @ 07,57 GET M_PO @ 02,17 GET M_COMPAN PICT '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!' @ 03,17 GET M_ADDRES PICT '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!' @ 04,17 GET M_ADDRE2 PICT '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!' @ 05,17 GET M_CITY PICT '!!!!!!!!!!!!!!!!!!!!' @ 05,38 GET M_STATE PICT '!!' @ 05,42 GET M_ZIP PICT '99999' @ 06,17 GET M_CONTAC PICT '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!' @ 07,17 GET M_EXEMPT PICT '!!!!!!!!!!!!!!!!!!!!' READ @ 21,00 SAY BLANK47 @ 22,00 SAY BLANK47 @ 23,00 SAY BLANK47 STORE .T. TO VALID IF M_COMPAN="EXIT" .OR. M_PAYTYP="EX" SET COLOR TO +*I @ 21,02 SAY " RETURNING TO MAIN MENU " SET COLOR TO CLOSE DATA CLEAR RETURN ENDIF M_COMPAN='END' IF M_PAYTYP<>"CA" .AND. M_PAYTYP<>"CK" .AND. M_PAYTYP<>"PO" .AND.; M_PAYTYP<>"VI" .AND. M_PAYTYP<>"MC" .AND. VALID @ 00,70 ?? VBELL3 SET COLOR TO +I @ 21,02 SAY "INVALID PAYMENT TYPE " SET COLOR TO STORE .F. TO NEWORD STORE .F. TO VALID LOOP ENDIF IF M_PAYTYP="PO" .AND. M_PO=" " .AND. VALID @ 00,70 ?? VBELL3 SET COLOR TO +I @ 21,02 SAY "PURCHASE ORDER NUMBER REQUIRED" SET COLOR TO STORE .F. TO NEWORD STORE .F. TO VALID LOOP ENDIF IF M_EXEMPT<> " " .AND. LEN(LTRIM(TRIM(M_EXEMPT))) < 6 @ 00,70 ?? VBELL3 SET COLOR TO +I @ 21,02 SAY "TAX EXEMPT # APPEARS INVALID" SET COLOR TO STORE .F. TO NEWORD STORE .F. TO VALID LOOP ENDIF IF VALID .AND. (M_EXEMPT<>" " .AND. (M_COMPAN=" " .OR. M_CITY=" ")) @ 00,70 ?? VBELL3 SET COLOR TO +I @ 21,02 SAY "EXEMPT SALE - NAME & M_ADDRESS REQUIRED" SET COLOR TO STORE .F. TO NEWORD STORE .F. TO VALID LOOP ENDIF enddo while .not. valid IF VALID IF LEN(TRIM(M_EXEMPT)) <> 0 STOR 0.000 TO TAXPCT ELSE REST FROM TAXPCT ADDITIVE ENDI @ 21,50 SAY STR(TAXPCT,5,3)+"%" STOR 1 TO LINE STOR 9 TO NXTLIN STOR .T. TO VALID SELE B USE PRODUC INDEX PRODUC DO WHIL LINE < 10 STOR STR(LINE,1) TO L @ NXTLIN+LINE,04 GET M_QUAN0&L PICTURE '999' @ NXTLIN+LINE,09 GET M_CODE0&L PICTURE '999' READ SET CONS OFF IF M_QUAN0&L=0 @ NXTLIN+LINE,4 SAY DOTS STOR 0 TO M_PRIC0&L,M_TOTAL0&L,M_PART0&L STOR ' ' TO M_CODE0&L IF LINE < 10 @ NXTLIN+LINE,04 SAY '... ...' ENDI STOR .T. TO VALID STOR M_TOTAL01+M_TOTAL02+M_TOTAL03+M_TOTAL04+M_TOTAL05+M_TOTAL06+M; _TOTAL07+M_TOTAL08+M_TOTAL09 TO SUBTOT STOR ROUND(SUBTOT*TAXPCT/100,2) TO SALTAX STOR SUBTOT+SALTAX TO GRANDT @ 20,67 SAY STR(SUBTOT,8,2) @ 21,67 SAY STR(SALTAX,8,2) @ 22,67 SAY STR(GRANDT,8,2) EXIT ELSE SEEK M_CODE0&L @ 21,00 SAY BLANK47 @ 22,00 SAY BLANK47 IF .NOT. FOUND() SET CONS ON @ 00,70 ?? VBELL3 SET CONS OFF SET COLO TO +I @ 21,02 SAY "PRODUCT CODE INVALID" SET COLO TO STOR .F. TO VALID ELSE IF M_CODE0&L='999' SET CONS ON @ 00,70 ?? VBELL3 SET COLO TO +I @ 21,02 SAY ' * MISCELLANEOUS LINE ITEM * ' @ 22,02 SAY ' ENTER DESCRIPTION and PRICE ' SET COLO TO SET CONS OFF IF M_PRIC0&L = 0 STOR SPACE(27) TO TEMP_DESC ELSE STOR LTRIM(M_PART0&L) TO TEMP_DESC ENDI @ NXTLIN+LINE,31 GET TEMP_DESC @ NXTLIN+LINE,59 SAY STR(M_PRIC0&L,7,2) STOR M_PRIC0&L TO N_PRICE @ NXTLIN+LINE,59 GET N_PRICE PICTURE '9999.99' READ @ NXTLIN+LINE,31 SAY SPACE(27) STOR N_PRICE TO M_PRIC0&L STOR SPACE(17)+TEMP_DESC TO M_PART0&L @ NXTLIN+LINE,14 SAY M_PART0&L STOR M_PRIC0&L*M_QUAN0&L TO M_TOTAL0&L @ NXTLIN+LINE,59 SAY STR(M_PRIC0&L,7,2) @ NXTLIN+LINE,67 SAY STR(M_TOTAL0&L,8,2) @ 21,00 SAY BLANK47 @ 22,00 SAY BLANK47 STOR .T. TO VALID ELSE IF M_PRIC0&L = 0 STOR PRICE TO M_PRIC0&L,N_PRICE ENDI STOR "(" + M_CODE0&L + ")" + PARTNO + " " + SUBSTR(DESCRI,1,; 27) TO M_PART0&L @ NXTLIN+LINE,14 SAY M_PART0&L @ NXTLIN+LINE,59 SAY STR(M_PRIC0&L,7,2) STOR M_PRIC0&L*M_QUAN0&L TO M_TOTAL0&L ENDI CODE = 999 IF M_TOTAL0&L > 99999 @ 00,70 SET CONS ON ?? VBELL3 SET CONS OFF SET COLO TO +I @ 21,02 SAY 'EXTENDED TOTAL TOO LARGE - REDUCE QTY' SET COLO TO STOR .F. TO VALID ENDI IF VALID @ NXTLIN+LINE,04 SAY M_QUAN0&L @ NXTLIN+LINE,09 SAY M_CODE0&L @ NXTLIN+LINE,67 SAY STR(M_TOTAL0&L,8,2) STOR M_TOTAL01+M_TOTAL02+M_TOTAL03+M_TOTAL04+M_TOTAL05+M_TOT; AL06+M_TOTAL07+M_TOTAL08+M_TOTAL09 TO SUBTOT STOR ROUND(SUBTOT*TAXPCT/100,2) TO SALTAX STOR SUBTOT+SALTAX TO GRANDT @ 20,67 SAY STR(SUBTOT,8,2) @ 21,67 SAY STR(SALTAX,8,2) @ 22,67 SAY STR(GRANDT,8,2) IF GRANDT > 99999 SET CONS ON @ 00,70 ?? VBELL3 SET CONS OFF SET COLO TO +I @ 21,02 SAY 'TOTAL ORDER TOO LARGE - REDUCE QTY' SET COLO TO STOR .F. TO VALID ENDI STOR LINE+1 TO LINE SET CONS ON ENDI VALID ENDI NOT FOUND() STOR .T. TO VALID ENDI M_QUAN0&L=0 STOR .T. TO VALID ENDD WHILE LINE<10 ENDI VALID @ 21,00 SAY BLANK47 @ 22,00 SAY BLANK47 @ 23,00 SAY BLANK47 * ========== LINE ITEM EDITS =========== IF VALID STOR 9 TO NXTLIN STOR ' ' TO ANS DO WHIL ANS <>'Y' .AND. ANS <> 'N' .OR. GRANDT > 99999 @ 23,00 SAY BLANK47 STOR ' ' TO ANS DO WHIL ANS <> 'Y' .AND. ANS <> 'N' SET CONS ON @ 00,70 ?? VBELL1 SET COLO TO + @ 23,01 SAY 'ANY LINE ITEM EDITS (Y/N) ' SET COLO TO @ 23,27 GET ANS PICTURE "!" READ ENDD IF ANS = 'N' EXIT ENDI IF ANS='Y' SELE B STOR 0 TO LINE DO WHIL LINE=0 STOR .T. TO VALID @ 23,00 SAY BLANK47 SET COLO TO + @ 23,01 SAY 'LINE ITEM # ' SET COLO TO @ 23,13 GET LINE PICTURE '9' READ IF LINE > 9 .OR. LINE < 1 SET CONS ON @ 00,70 ?? VBELL1 SET CONS OFF STOR 0 TO LINE ELSE STOR STR(LINE,1) TO L @ NXTLIN+LINE,04 GET M_QUAN0&L PICTURE '999' @ NXTLIN+LINE,09 GET M_CODE0&L PICTURE '999' READ IF M_QUAN0&L=0 @ NXTLIN+LINE,04 SAY DOTS STOR 0 TO M_PRIC0&L,M_TOTAL0&L STOR ' ' TO M_CODE0&L STOR ' ' TO M_PART0&L STOR 10 TO LINE STOR .T. TO VALID ELSE SELE B SEEK M_CODE0&L @ 21,00 SAY BLANK47 IF .NOT. FOUND() SET CONS ON @ 00,70 ?? VBELL3 SET CONS OFF SET COLO TO +I @ 21,02 SAY "PRODUCT CODE INVALID" SET COLO TO STOR .F. TO VALID ELSE @ 21,00 SAY BLANK47 IF PRICE <> 0 STOR PRICE TO M_PRIC0&L,N_PRICE ENDI IF M_CODE0&L='999' IF M_PRIC0&L = 0 STOR SPACE(27) TO TEMP_DESC ELSE STOR LTRIM(M_PART0&L) TO TEMP_DESC ENDI @ NXTLIN+LINE,31 GET TEMP_DESC @ NXTLIN+LINE,59 SAY STR(M_PRIC0&L,7,2) STOR M_PRIC0&L TO N_PRICE @ NXTLIN+LINE,59 GET N_PRICE PICTURE '9999.99' READ @ NXTLIN+LINE,31 SAY SPACE(27) STOR SPACE(17)+TEMP_DESC TO M_PART0&L @ NXTLIN+LINE,14 SAY M_PART0&L ELSE STOR "(" + M_CODE0&L + ")" + PARTNO + " " + SUBSTR(; DESCRI,1,27) TO M_PART0&L @ NXTLIN+LINE,14 SAY M_PART0&L @ NXTLIN+LINE,59 SAY STR(M_PRIC0&L,7,2) STOR M_PRIC0&L TO N_PRICE @ NXTLIN+LINE,59 GET N_PRICE PICTURE '9999.99' READ ENDI STOR N_PRICE TO M_PRIC0&L STOR M_PRIC0&L*M_QUAN0&L TO M_TOTAL0&L @ 21,02 SAY BLANK47 IF M_TOTAL0&L > 99999 SET CONS ON @ 00,70 ?? VBELL3 SET CONS OFF SET COLO TO +I @ 21,02 SAY 'EXTENDED TOTAL TOO LARGE - REDUCE QTY' SET COLO TO STOR .F. TO VALID ENDI IF VALID @ NXTLIN+LINE,04 SAY M_QUAN0&L @ NXTLIN+LINE,09 SAY M_CODE0&L @ NXTLIN+LINE,59 SAY STR(N_PRICE,7,2) @ NXTLIN+LINE,67 SAY STR(M_TOTAL0&L,8,2) STOR LINE+1 TO LINE ENDI VALID ENDI .NOT. FOUND() STOR .T. TO VALID ENDI M_QUAN0&L=0 STOR .T. TO VALID ENDI LINE > 9 OR < 1 ENDD LINE=0 STOR M_TOTAL01+M_TOTAL02+M_TOTAL03+M_TOTAL04+M_TOTAL05+M_TOTAL06+M; _TOTAL07+M_TOTAL08+M_TOTAL09 TO SUBTOT STOR ROUND(SUBTOT*TAXPCT/100,2) TO SALTAX STOR SUBTOT+SALTAX TO GRANDT @ 20,67 SAY STR(SUBTOT,8,2) @ 21,50 SAY STR(TAXPCT,5,3)+"%" @ 21,67 SAY STR(SALTAX,8,2) @ 22,67 SAY STR(GRANDT,8,2) @ 21,00 SAY BLANK47 IF GRANDT > 99999 SET CONS ON @ 00,70 ?? VBELL3 SET CONS OFF SET COLO TO +I @ 21,02 SAY 'TOTAL ORDER TOO LARGE - REDUCE QTY' SET COLO TO STOR .F. TO VALID ENDI ENDI ANS='Y' STOR ' ' TO ANS ENDD WHILE ANS='Y' .OR. GRANDT>99999 ENDI VALID SET CONS ON * ==== END OF LINE ITEM EDITS SECTION ==== @ 21,00 SAY BLANK47 @ 22,00 SAY BLANK47 @ 23,00 SAY BLANK47 IF VALID STORE " " TO OKFLAG ELSE STORE "N " TO OKFLAG ENDIF VALID DO WHILE OKFLAG<>"Y" .AND. OKFLAG<>"N" .AND. OKFLAG<>"CANCEL" @ 23,00 SAY " " ?? VBELL1 SET COLOR TO + @ 23,00 SAY "PROCESS ORDER? (Y/N/CANCEL) " SET COLOR TO @ 23,28 GET OKFLAG PICTURE "!!!!!!" READ CLEAR GETS ENDDO WHILE OKFLAG @ 23,00 SAY BLANK47 IF OKFLAG="CANCEL" STORE .T. TO NEWORD @ 21,00 SAY " " ?? VBELL1 @ 23,00 SAY BLANK47 SET COLOR TO +*I @ 22,00 SAY " CANCELING ORDER - NO FILE UPDATES PERFORMED " SET COLOR TO LOOP ENDIF IF OKFLAG="N" STORE .F. TO NEWORD LOOP ENDIF * ==== IF CASH SALE ... GET AMOUNT TENDERED & SHOW CHANGE DUE ==== IF OKFLAG="Y" STORE 0000.00 TO AMT_GIVEN IF M_PAYTYP="CA" DO WHILE AMT_GIVEN < GRANDT STORE 0 TO AMT_GIVEN @ 00,70 ?? VBELL1 @ 22,02 SAY "ENTER AMOUNT TENDERED..."; GET AMT_GIVEN PICTURE '999999.99' READ IF AMT_GIVEN+.009 < GRANDT @ 00,70 ?? VBELL3 SET COLOR TO +I @ 23,02 SAY "INVALID AMOUNT - REENTER" SET COLOR TO STORE 0 TO AMT_GIVEN ENDIF IF AMT_GIVEN >= GRANDT @ 00,70 ?? VBELL1 SET COLOR TO +I @ 23,02 SAY "CHANGE DUE CUSTOMER..... $"+; STR(AMT_GIVEN-GRANDT,8,2) SET COLOR TO ENDIF ENDDO AMT:GIVEN ENDIF M_PAYTYP='CA' *=== IF CREDIT CARD SALE - PRINT MESSAGE ON SCREEN ==== IF M_PAYTYP="MC" .OR. M_PAYTYP="VI" @ 00,70 ?? VBELL1 SET COLOR TO +I @ 23,02 SAY "PLEASE RECORD TRANSACTION # ON VOUCHER SLIP" SET COLOR TO ENDIF @ 21,00 SAY BLANK47 SET COLOR TO *+I @ 21,02 SAY " UPDATING ORDER FILE " SET COLOR TO SELECT A USE ORDERS APPEND BLANK REPLACE INVNUM WITH TRANSNUM,CONTAC WITH M_CONTAC,COMPAN WITH M_COMPAN,; ADDRES WITH M_ADDRES,ADDRE2 WITH M_ADDRE2,CITY WITH M_CITY,STATE WITH M_STATE,; OPERAT WITH UPPER(INITIAL),ORDDAT WITH TODAY,EXEMPT WITH M_EXEMPT REPLACE PAYTYP WITH M_PAYTYP,SUBAMT WITH SUBTOT,TAXAMT WITH SALTAX,ZIP WITH ; M_ZIP STORE 1 TO LINE DO WHIL LINE < 10 STOR STR(LINE,1) TO L REPLACE ITEM0&L WITH M_CODE0&L+STR(M_QUAN0&L,3)+STR(M_PRIC0&L,7,2) STORE LINE+1 TO LINE ENDDO @ 21,00 SAY BLANK47 SET COLOR TO *+I @ 21,02 SAY " PRINTING SALES RECEIPT " SET COLOR TO SET DEVICE TO PRINT *SET PAGE LENGTH TO 0 TO SUPRESS FORM FEED @ 13,00 SAY CHR(27)+'[0t' * SET PRINTER TO 10 CPI @ 14,00 SAY CHR(27)+'[1w' @ 15,56 SAY "TRANSACTION # "+STR(TRANSNUM,4) @ 16,03 SAY M_COMPAN @ 17,03 SAY M_ADDRES STORE 17 TO NXTLIN IF M_ADDRE2<>" " STORE NXTLIN+1 TO NXTLIN @ NXTLIN,03 SAY M_ADDRE2 ENDIF STORE NXTLIN+1 TO NXTLIN @ NXTLIN,03 SAY TRIM(M_CITY)+", "+M_STATE+" "+M_ZIP IF M_CONTAC<>" " STORE NXTLIN+1 TO NXTLIN @ NXTLIN,03 SAY "ATTN: "+M_CONTAC ENDIF DO CASE CASE M_PAYTYP="PO" @ 22,56 SAY "P.O. #: " + M_PO CASE M_PAYTYP="CA" @ 23,68 SAY "X" CASE M_PAYTYP="CK" @ 23,74 SAY "CHECK" CASE M_PAYTYP="MC" @ 23,43 SAY "X" CASE M_PAYTYP="VI" @ 23,56 SAY "X" ENDCASE STORE 24 TO NXTLIN STORE 1 TO L DO WHILE L < 10 STORE STR(L,1) TO L1 IF M_QUAN0&L1<>0 STORE NXTLIN+2 TO NXTLIN @ NXTLIN,04 SAY STR(M_QUAN0&L1,3)+" "+M_PART0&L1 @ NXTLIN,61 SAY STR(M_PRIC0&L1,8,2)+" "+STR(M_TOTAL0&L1,8,2) ENDIF STORE L+1 TO L ENDDO WHILE L<10 IF LEN(TRIM(M_EXEMPT))<>0 @ 46,13 SAY "TAX EXEMPTION #"+M_EXEMPT ENDIF @ 46,72 SAY STR(SUBTOT,8,2) @ 48,72 SAY STR(SALTAX,8,2) @ 49,08 SAY OPERAT @ 49,22 SAY LEFT(TIME(),5) @ 49,39 SAY SUBSTR(ORDDAT,1,2)+"/"+SUBSTR(ORDDAT,3,2)+"/"+; SUBSTR(ORDDAT,5,2) @ 50,72 SAY STR(GRANDT,8,2) IF M_PAYTYP="CA" @ 54,56 SAY "AMT. TENDERED" @ 54,72 SAY STR(AMT_GIVEN,8,2) @ 55,56 SAY "CHANGE GIVEN " @ 55,72 SAY STR(AMT_GIVEN-GRANDT,8,2) ENDIF RESTORE FROM MESSAGES ADDITIVE @ 56,03 SAY MSG1 @ 57,03 SAY MSG2 @ 58,03 SAY MSG3 @ 65,01 SAY " " SET DEVICE TO SCREEN * ==== UPDATE PRODUCT FILE (PRODUC.DBF) WITH QTY SOLD & NET INCOME @ 21,00 SAY BLANK47 SET COLOR TO *+I @ 21,02 SAY " UPDATING PRODUCT FILE " SET COLOR TO STORE 1 TO L SELECT B DO WHILE L < 10 STORE STR(L,1) TO L1 IF M_QUAN0&L1<>0 SEEK M_CODE0&L1 DO CASE CASE (M_PAYTYP="CA" .OR. M_PAYTYP="CK") .AND. LEN(TRIM(M_EXEMPT))=0 REPLACE CATQTY WITH CATQTY+M_QUAN0&L1,CATNET WITH CATNET+M_TOTAL0&L1 CASE (M_PAYTYP="CA" .OR. M_PAYTYP="CK") .AND. LEN(TRIM(M_EXEMPT)); <>0 REPLACE CATEQTY WITH CATEQTY+M_QUAN0&L1,CATENET WITH ; CATENET+M_TOTAL0&L1 CASE (M_PAYTYP="MC" .OR. M_PAYTYP="VI") .AND. LEN(TRIM(M_EXEMPT))=0 REPLACE CCTQTY WITH CCTQTY+M_QUAN0&L1,CCTNET WITH ; CCTNET+M_TOTAL0&L1 CASE (M_PAYTYP="MC" .OR. M_PAYTYP="VI" ) .AND. LEN(TRIM(M_EXEMPT)); <>0 REPLACE CCTEQTY WITH CCTEQTY+M_QUAN0&L1,CCTENET WITH ; CCTENET+M_TOTAL0&L1 CASE M_PAYTYP="PO" .AND. LEN(TRIM(M_EXEMPT))=0 REPLACE POTQTY WITH POTQTY+M_QUAN0&L1,POTNET WITH ; POTNET+M_TOTAL0&L1 CASE M_PAYTYP="PO" .AND. LEN(TRIM(M_EXEMPT))<>0 REPLACE POTEQTY WITH POTEQTY+M_QUAN0&L1,POTENET WITH ; POTENET+M_TOTAL0&L1 ENDCASE ENDIF M_QUAN0&L1<>0 STORE L+1 TO L ENDDO L<10 * THIS STORES A RUNNING TOTAL FOR THE DAY TO "CASHTAKE.MEM" * ENTER "DT" AT MAIN MENU FOR DAY'S TOTAL RESTORE FROM CASHTAKE ADDITIVE STORE TOTAL+GRANDT TO TOTAL SAVE TO CASHTAKE ALL LIKE TOTAL STORE .T. TO NEWORD STORE TRANSNUM+1 TO TRANSNUM SAVE TO TRANSNUM.MEM ALL LIKE TRANSNUM ENDIF USE SELECT A CLEAR GETS ENDDO