Skip to content

Instantly share code, notes, and snippets.

@samthor

samthor/HIST.PRG Secret

Created Oct 12, 2020
Embed
What would you like to do?
* POSHIST
PUBLIC ANY,TOTCOST
HYR=C1
SHIST='SALEHIST'
BMVA=' '
DO WHILE .T.
INVNO=0
DTE=DATE()
NME=SPACE(30)
PRT=' '
GO TOP
CHOICE=C1
CALL FADE
@C10,30 SAY '��������������������������������Ŀ'
@C11,30 SAY '� �'
@C12,30 SAY '� �'
@C13,30 SAY '� �'
@C14,30 SAY '� �'
@C15,30 SAY '� �'
@C16,30 SAY '� �'
@C17,30 SAY '� �'
@C18,30 SAY '� �'
@C19,30 SAY '��������������������������������Ĵ'
@C20,30 SAY '� �'
@C21,30 SAY '����������������������������������'
@C11,32 PROMPT '1> Daily Sales '
@C12,32 PROMPT '2> Browse Invoices '
@C13,32 PROMPT '3> Invoice Details '
@C14,32 PROMPT '4> Print Invoices '
@C15,32 PROMPT '5> Print Summary '
@C16,32 PROMPT '6> List Purchasers '
@C17,32 PROMPT '7> Sales Totals '
@C18,32 PROMPT '8> Select Year - Now'
@C20,32 PROMPT 'Q> Quit to Sales '
USE POSEQUIP
HSTYR=YR0+C1-HYR
YRNOW=LTRIM(STR(HSTYR))+'/'+LTRIM(STR(HSTYR+C1))
USE
@C18,53 SAY YRNOW
MENU TO CHOICE
IF CHOICE>C8
CHOICE=C0
ENDIF
SAVE SCREEN TO SCRN2
DO CASE
CASE CHOICE=C1
IF UPPER(CMPNY1)#'COUNTER' .AND. UPPER(CMPNY1)#'MANAGEMENT' .AND.UPPER(CMPNY1)#'OFFICE'
SAVE SCREEN TO SCRNWARN
YORN=YA
CALL FADE
@C15,C10 SAY WARN1
@C16,C10 SAY WARN2
@C17,C10 SAY WARN3
@C18,C10 SAY WARN4
@C19,C10 SAY WARN5
@C16,32 SAY 'an office/counter system function.'
@C18,43 GET YORN PICTURE '!'
READ
RESTORE SCREEN FROM SCRNWARN
IF YORN#YA
LOOP
ENDIF
ENDIF
CALL FADE
PICK=C0
@C6 ,53 SAY '�������������������������Ŀ'
@C7 ,53 SAY '� �'
@C8 ,53 SAY '� �'
@C9 ,53 SAY '� �'
@C10,53 SAY '� �'
@C11,53 SAY '� �'
@C12,53 SAY '� �'
@C13,53 SAY '� �'
@C14,53 SAY '� �'
@C15,53 SAY '�������������������������Ĵ'
@C16,53 SAY '� �'
@C17,53 SAY '���������������������������'
@C7 ,55 PROMPT '1> Current Day '
@C8 ,55 PROMPT '2> Display Summary '
@C9 ,55 PROMPT '3> Display Details '
@C10,55 PROMPT '4> Display Cheques '
@C11,55 PROMPT '5> Daily Banking Report'
@C12,55 PROMPT '6> Daily Sales Summary '
@C13,55 PROMPT '7> Royalty Report '
@C14,55 PROMPT '8> Sales by Staff '
@C16,55 PROMPT 'Q> Quit to History '
SAVE SCREEN TO SCRN3
MENU TO PICK
IF PICK>C8
PICK=C0
ENDIF
DO CASE
CASE PICK=C1
IF UPPER(CMPNY1)#'COUNTER' .AND. UPPER(CMPNY1)#'MANAGEMENT'
SAVE SCREEN TO SCRNWARN
YORN=YA
CALL FADE
@C15,C10 SAY WARN1
@C16,C10 SAY WARN2
@C17,C10 SAY WARN3
@C18,C10 SAY WARN4
@C19,C10 SAY WARN5
@C18,43 GET YORN PICTURE '!'
READ
RESTORE SCREEN FROM SCRNWARN
IF YORN#YA
RESTORE SCREEN FROM SCRN2
LOOP
ENDIF
ENDIF
USE SALES
COUNT TO DAYCOUNT
@C13,C0 SAY '�����������������������������������������������������������������������Ŀ'
@C14,C0 SAY '� Since EOD Since banking �'
@C15,C0 SAY '� ��������� ������������� �'
@C16,C0 SAY '� No. of sales: Cash: �'
@C17,C0 SAY '� Cheque: �'
@C18,C0 SAY '� Credit Card: �'
@C19,C0 SAY '� Total Billed: TOTAL: �'
@C20,C0 SAY '�������������������������������������������������������������������������'
@C16,16 SAY DAYCOUNT
SUM PTYPECASH TO DAYCASH
@C16,40 SAY DAYCASH
SUM PTYPECHEQ TO DAYCHEQ
@C17,40 SAY DAYCHEQ
SUM PTYPECARD TO DAYCARD
@C18,40 SAY DAYCARD
DAYTOTAL=DAYCASH+DAYCHEQ+DAYCARD
@C19,40 SAY DAYTOTAL
SUM AMOUNT TO DAYBILL
@C19,C16 SAY DAYBILL PICTURE '999999.99'
USE CHEQUES
GO C4
BNKCASH=AMOUNT
@C16,60 SAY BNKCASH PICTURE '999999.99'
SUM AMOUNT TO BNKCHEQ FOR RECNO()>C4 .AND. LEN(TRIM(LISTED))=C0
@C17,60 SAY BNKCHEQ PICTURE '999999.99'
BNKCRED=C0
GO C2
BNKCRED=AMOUNT
GO C3
BNKCRED=BNKCRED+AMOUNT
@C18,60 SAY BNKCRED PICTURE '999999.99'
BNKTOTAL=BNKCASH+BNKCRED+BNKCHEQ
@C19,60 SAY BNKTOTAL PICTURE '999999.99'
WAIT
USE
CASE PICK=C2
USE YTDTOTAL
DTE1=DATE()-1
@C20,C20 SAY 'Start date: (dd/mm/yy)' GET DTE1
READ
LOCATE FOR DAY>=DTE1-15
CLEAR
@C22,C0 SAY '��������������������������������������������������������������������������������'
@C23,C20 SAY 'Press Esc to quit '
HELPNO=C2
DECLARE FIELD[18]
FIELD[1]='DAY'
FIELD[2]='DAYTOTGROS-DAYTOTTAX'
FIELD[3]='DAYTOTTAX'
FIELD[4]='DAYTOTGROS'
FIELD[5]='DAYNETTCUM'
FIELD[6]='DAYGROSSCU'
FIELD[7]='DAYCOST'
FIELD[8]='DAYTOTNETT-DAYCOST'
FIELD[9]='ROUND(((DAYTOTGROS-DAYTOTTAX-DAYCOST)/(DAYTOTGROS-DAYTOTTAX+0.01))*100,1)'
FIELD[10]='ROUND((DAYGROSSCU*100)/((DAYTARGET)*DAYCOUNT),1)'
FIELD[11]='DAYTOT0'
FIELD[12]='DAYTOT1'
FIELD[13]='DAYTOT2'
FIELD[14]='DAYTOT3'
FIELD[15]='DAYCA'
FIELD[16]='DAYCH'
FIELD[17]='DAYCR'
FIELD[18]='DAYNO'
DECLARE COLHEAD[18]
COLHEAD[1]='Date'
COLHEAD[2]='Net'
COLHEAD[3]='Tax'
COLHEAD[4]='Gross'
COLHEAD[5]='Cum. Net'
COLHEAD[6]='Cum. Gross'
COLHEAD[7]='Cost'
COLHEAD[8]='Margin $'
COLHEAD[9]='Margin %'
COLHEAD[10]='% Target'
COLHEAD[11]='Group 1'
COLHEAD[12]='Group 2'
COLHEAD[13]='Group 3'
COLHEAD[14]='Group 4'
COLHEAD[15]='Cash'
COLHEAD[16]='Cheque'
COLHEAD[17]='Cr.Card'
COLHEAD[18]='# Sales'
DBEDIT(C0,C0,C21,79,FIELD,0,0,COLHEAD)
@C22,C0 CLEAR
@C23,C25 SAY XPICK
USE
CASE PICK=C3
USE YTDTOTAL
DTE=DATE()
@C22,30 SAY 'Date: (dd/mm/yy)' GET DTE
READ
SUM DAYCOST TO TOTCOST FOR MONTH(DAY)=MONTH(DTE)
SET SOFTSEEK ON
LOCATE FOR DAY>=DTE
SET SOFTSEEK OFF
ANY=' '
DO WHILE .T.
IF EOF()
@C23,C20 SAY 'NOT FOUND. Any key to continue.' GET ANY
READ
ELSE
CLEAR
@C0 ,C0 SAY '������������������������������������������������������������������������������Ŀ'
@C1 ,C0 SAY '� Date Trading Day # �'
@C2 ,C0 SAY '������������������������������������������������������������������������������Ĵ'
@C3 ,C0 SAY '� # Sales �Month-to-Date Total �Average per Day: �'
@C4 ,C0 SAY '� � Gross � Gross �'
@C5 ,C0 SAY '� Gross � Tax � Tax �'
@C6 ,C0 SAY '� Tax � ������������� � ��������������� �'
@C7 ,C0 SAY '� ������������� � Net � Net �'
@C8 ,C0 SAY '� Net � � �'
@C9 ,C0 SAY '� � # Sales �Average per Sale: �'
@C10,C0 SAY '� Cost � � Gross �'
@C11,C0 SAY '� � � Tax �'
@C12,C0 SAY '� $ Margin � � ��������������� �'
@C13,C0 SAY '� % Margin � � Net �'
@C14,C0 SAY '������������������������������������������������������������������������������Ĵ'
@C15,C0 SAY '� Gross Tax Net � Banking �'
@C16,C0 SAY '� Group 1 � ������� �'
@C17,C0 SAY '� Group 2 � Cash �'
@C18,C0 SAY '� Group 3 � Cheque �'
@C19,C0 SAY '� Group 4 � Cr. Card �'
@C20,C0 SAY '� ������������ ������������ ������������� � �������������� �'
@C21,C0 SAY '� � �'
@C22,C0 SAY '��������������������������������������������������������������������������������'
@C1 ,C14 SAY DAY
@C1 ,48 SAY DAYCOUNT
@C3 ,C14 SAY DAYNO PICTURE '999999999'
@C5 ,C14 SAY DAYTOTGROS PICTURE '999999999.99'
@C6 ,C14 SAY DAYTOTTAX PICTURE '999999999.99'
@C8 ,C14 SAY DAYTOTGROS-DAYTOTTAX PICTURE '999999999.99'
@C10,C14 SAY DAYCOST PICTURE '999999999.99'
@C12,C14 SAY DAYTOTNETT-DAYCOST PICTURE '999999999.99'
@C13,C14 SAY ROUND(((DAYTOTGROS-DAYTOTTAX-DAYCOST)/(DAYTOTGROS-DAYTOTTAX+0.01))*100,1) PICTURE '999999999.99'
@C4 ,38 SAY DAYGROSSCU PICTURE '999999999.99'
@C7 ,38 SAY DAYNETTCUM PICTURE '999999999.99'
@C5 ,38 SAY DAYGROSSCU-DAYNETTCUM PICTURE '999999999.99'
RCRDNO=RECNO()
MNTHDAY=MONTH(DAY)
DY=DAY
SUM DAYNO FOR MONTH(DAY)=MNTHDAY .AND. DY>=DAY TO TOTNUM
GOTO RCRDNO
@C9 ,42 SAY TOTNUM PICTURE '99999'
DAYCNT=DAYCOUNT+.01
DAYN=DAYNO+.01
@C4 ,65 SAY DAYGROSSCU/DAYCNT PICTURE '999999999.99'
@C5 ,65 SAY (DAYGROSSCU-DAYNETTCUM)/DAYCNT PICTURE '999999999.99'
@C7 ,65 SAY DAYNETTCUM/DAYCNT PICTURE '999999999.99'
@C10,65 SAY DAYGROSSCU/DAYN PICTURE '999999999.99'
@C11,65 SAY (DAYGROSSCU-DAYNETTCUM)/DAYN PICTURE '999999999.99'
@C13,65 SAY DAYNETTCUM/DAYN PICTURE '999999999.99'
@C16,C12 SAY DAYTOT0 PICTURE '999999999.99'
@C17,C12 SAY DAYTOT1 PICTURE '999999999.99'
@C18,C12 SAY DAYTOT2 PICTURE '999999999.99'
@C19,C12 SAY DAYTOT3 PICTURE '999999999.99'
@C16,C25 SAY DAYTAX0 PICTURE '999999999.99'
@C17,C25 SAY DAYTAX1 PICTURE '999999999.99'
@C18,C25 SAY DAYTAX2 PICTURE '999999999.99'
@C19,C25 SAY DAYTAX3 PICTURE '999999999.99'
@C16,39 SAY DAYTOT0-DAYTAX0 PICTURE '999999999.99'
@C17,39 SAY DAYTOT1-DAYTAX1 PICTURE '999999999.99'
@C18,39 SAY DAYTOT2-DAYTAX2 PICTURE '999999999.99'
@C19,39 SAY DAYTOT3-DAYTAX3 PICTURE '999999999.99'
ANALYSED=DAYTOT0+DAYTOT1+DAYTOT2+DAYTOT3
ANALYTAX=DAYTAX0+DAYTAX1+DAYTAX2+DAYTAX3
@C21,C12 SAY ANALYSED PICTURE '999999999.99'
@C21,C25 SAY ANALYTAX PICTURE '999999999.99'
@C21,39 SAY ANALYSED-ANALYTAX PICTURE '999999999.99'
@C17,65 SAY DAYCA PICTURE '999999999.99'
@C18,65 SAY DAYCH PICTURE '999999999.99'
@C19,65 SAY DAYCR PICTURE '999999999.99'
BANKED=DAYCA+DAYCH+DAYCR
@C21,65 SAY BANKED PICTURE '999999999.99'
IF DAYTOTGROSS#ANALYSED .OR. ANALYSED#BANKED
@C10,32 SAY '������������������ͻ'
@C11,32 SAY '� TOTALS DO NOT �'
@C12,32 SAY '� BALANCE �'
@C13,32 SAY '������������������ͼ'
ENDIF
ENDIF
CONT='N'
@C23,C20 SAY 'Change, Next, Previous or Quit? (C/N/P/Q)' GET CONT PICTURE '!'
READ
DO CASE
CASE CONT='C'
DO HISFMT
CASE CONT='N'
SKIP
CASE CONT='P'
SKIP-1
CASE CONT='Q'
EXIT
ENDCASE
ENDDO
USE
CASE PICK=C4
USE CHEQUES
GO BOTTOM
SKIP -18
CLEAR
@C22,C0 SAY '��������������������������������������������������������������������������������'
@C23,C20 SAY 'Press Esc to quit '
HELPNO=C2
DECLARE FIELD[5]
FIELD[1]='SUBST(NAME,1,18)'
FIELD[2]='COMPANY'
FIELD[3]='AMOUNT'
FIELD[4]='DATE'
FIELD[5]='LISTED'
DECLARE COLHEAD[5]
COLHEAD[1]='Name'
COLHEAD[2]='Company'
COLHEAD[3]='Amount'
COLHEAD[4]='Date'
COLHEAD[5]=' '
DBEDIT(C0,C0,C21,79,FIELD,0,0,COLHEAD)
@C22,C0 CLEAR
USE
CASE PICK=C5
MNTH=MONTH(DATE())
@C22,30 SAY 'Month for report:' GET MNTH
READ
USE YTDTOTAL
SET PRINT ON
SET CONSOLE OFF
REPORT FORM EOPBANK FOR MONTH(DAY)=MNTH TO PRINT
SET PRINT OFF
SET CONSOLE ON
USE
CASE PICK=C6
MNTH=MONTH(DATE())
@C22,30 SAY 'Month for report:' GET MNTH
READ
USE POSEQUIP
RPNM0=SUBST(REPNAME0,1,11)
RPNM1=SUBST(REPNAME1,1,11)
RPNM2=SUBST(REPNAME2,1,11)
RPNM3=SUBST(REPNAME3,1,11)
USE YTDTOTAL
GO BOTTOM
LASTDAY=DAY
GO TOP
SET PRINT ON
SET CONSOLE OFF
? &CND
REPORT FORM EOPRPT FOR MONTH(DAY)=MNTH TO PRINT
? &UNCND
?
? ' Group 1: '+RPNM0
? ' Group 2: '+RPNM1
? ' Group 3: '+RPNM2
? ' Group 4: '+RPNM3
SET CONSOLE ON
SET PRINT OFF
USE
CASE PICK=C7
MNTH=' '
@C22,30 SAY 'Month for report:' GET MNTH
READ
DT='01/'+MNTH+'/99'
DAT=CTOD(DT)
USE POSEQUIP
RPNM0=SUBST(REPNAME0,1,11)
RPNM1=SUBST(REPNAME1,1,11)
RPNM2=SUBST(REPNAME2,1,11)
RPNM3=SUBST(REPNAME3,1,11)
RATE0=REPRATE0
RATE1=REPRATE1
RATE2=REPRATE2
RATE3=REPRATE3
USE YTDTOTAL
SET DEVICE TO PRINT
EJECT
NETTCUM0=C0
NETTCUM1=C0
NETTCUM2=C0
NETTCUM3=C0
@PROW()+C2,C20 SAY USERNAME
@PROW()+C2,C20 SAY 'MONTHLY SALES SUMMARY for '+CMONTH(DAT)
@PROW()+C2,C4 SAY 'Date '+RPNM0+' '+RPNM1+' '+RPNM2+' '+RPNM3+' TOTAL'
@PROW()+C1,C4 SAY '���� ����������� ����������� ����������� ����������� �����'
DO WHILE .NOT. EOF()
IF MONTH(DAY)=MONTH(DAT)
@PROW()+C1,C2 SAY DAY PICTURE 'E'
@PROW(),12 SAY DAYTOT0-DAYTAX0 PICTURE '9999,999.99'
@PROW(),25 SAY DAYTOT1-DAYTAX1 PICTURE '9999,999.99'
@PROW(),38 SAY DAYTOT2-DAYTAX2 PICTURE '9999,999.99'
@PROW(),51 SAY DAYTOT3-DAYTAX3 PICTURE '9999,999.99'
@PROW(),65 SAY DAYTOT0+DAYTOT1+DAYTOT2+DAYTOT3-DAYTOTTAX PICTURE '9999,999.99'
NETTCUM0=NETTCUM0+DAYTOT0-DAYTAX0
NETTCUM1=NETTCUM1+DAYTOT1-DAYTAX1
NETTCUM2=NETTCUM2+DAYTOT2-DAYTAX2
NETTCUM3=NETTCUM3+DAYTOT3-DAYTAX3
ENDIF
IF EOF()
EXIT
ELSE
SKIP
LOOP
ENDIF
ENDDO
GO BOTTOM
@PROW()+C1,C4 SAY ' ���������� ��������� ���������� ����������� ���������'
@PROW()+C1,5 SAY 'TOTAL'
@PROW(),12 SAY NETTCUM0 PICTURE '9999,999.99'
@PROW(),25 SAY NETTCUM1 PICTURE '9999,999.99'
@PROW(),38 SAY NETTCUM2 PICTURE '9999,999.99'
@PROW(),51 SAY NETTCUM3 PICTURE '9999,999.99'
@PROW(),65 SAY NETTCUM0+NETTCUM1+NETTCUM2+NETTCUM3 PICTURE '9999,999.99'
IF USERCO='COMPUTERLAND'
@PROW()+C2,C0 SAY 'ROYALTY RATE'
@PROW(),12 SAY RATE0 PICTURE '9999,999.99'
@PROW(),25 SAY RATE1 PICTURE '999,999.999'
@PROW(),38 SAY RATE2 PICTURE '999,999.999'
@PROW(),51 SAY RATE3 PICTURE '999,999.999'
@PROW()+C2,C0 SAY ' ROYALTY'
@PROW(),12 SAY NETTCUM0*RATE0/100 PICTURE '9999,999.99'
@PROW(),25 SAY NETTCUM1*RATE1/100 PICTURE '9999,999.99'
@PROW(),38 SAY NETTCUM2*RATE2/100 PICTURE '9999,999.99'
@PROW(),51 SAY NETTCUM3*RATE3/10 PICTURE '9999,999.99'
@PROW(),65 SAY (NETTCUM0*RATE0/100)+(NETTCUM1*RATE1/100)+(NETTCUM2*RATE2/100)+(NETTCUM3*RATE3/100) PICTURE '9999,999.99'
* @PROW()+C2,20 SAY 'AD. FUND @ 0%'
* @PROW(),25 SAY ADFUND PICTURE '9999,999.99'
ENDIF
SET DEVICE TO SCREEN
USE
CASE PICK=C8
USE STAFF
CLEAR
@C22,C0 SAY '��������������������������������������������������������������������������������'
@C23,C20 SAY 'Press Esc to quit '
HELPNO=C2
DECLARE FIELD[8]
FIELD[1]='PRONAME'
FIELD[2]='SURNAME'
FIELD[3]='SALES'
FIELD[4]='MTD'
FIELD[5]='YTD'
FIELD[6]='ROUND(((SALES-COST)/(SALES+0.01))*100,1)'
FIELD[7]='ROUND(((MTD-MTDCOST)/(MTD+0.01))*100,1)'
FIELD[8]='QUOTA'
DECLARE COLHEAD[8]
COLHEAD[1]='Name'
COLHEAD[2]='Surname'
COLHEAD[3]='Sales'
COLHEAD[4]='MTD Sales'
COLHEAD[5]='YTD Sales'
COLHEAD[6]='Margin'
COLHEAD[7]='MTD Margin'
COLHEAD[8]='Quota'
DBEDIT(C0,C0,C21,79,FIELD,0,0,COLHEAD)
@C22,C0 CLEAR
USE
ENDCASE PICK
CASE CHOICE=C2
USE &SHIST
IF RECSIZE()>1200
INVLINES=C11
ELSE
INVLINES=C9
ENDIF
STDATE=DATE()
@C22,32 SAY 'Start Date:' GET STDATE PICTURE 'E'
READ
LOCATE FOR INVDATE>=STDATE
CLEAR
@C22,C0 SAY '��������������������������������������������������������������������������������'
@C23,C20 SAY 'Press Esc to quit '
HELPNO=C2
IF INVLINES=C9
DECLARE FIELD[31]
ELSE
DECLARE FIELD[35]
ENDIF
FIELD[1]='INVDATE'
FIELD[2]='INV_NO'
FIELD[3]='COMPANY'
FIELD[4]='NAME'
FIELD[5]='TITLE'
FIELD[6]='STREET'
FIELD[7]='TOWN'
FIELD[8]='ACCOUNT'
FIELD[9]='INVTYPE'
FIELD[10]='PTYPECASH+PTYPECHEQ+PTYPECARD'
FIELD[11]='PAID'
FIELD[12]='PRINTED'
FIELD[13]='PART1'
FIELD[14]='NUM1'
FIELD[15]='PART2'
FIELD[16]='NUM2'
FIELD[17]='PART3'
FIELD[18]='NUM3'
FIELD[19]='PART4'
FIELD[20]='NUM4'
FIELD[21]='PART5'
FIELD[22]='NUM5'
FIELD[23]='PART6'
FIELD[24]='NUM6'
FIELD[25]='PART7'
FIELD[26]='NUM7'
FIELD[27]='PART8'
FIELD[28]='NUM8'
FIELD[29]='PART9'
FIELD[30]='NUM9'
IF INVLINES=C9
FIELD[31]='SALESMAN'
ELSE
FIELD[31]='PARTA'
FIELD[32]='NUMA'
FIELD[33]='PARTB'
FIELD[34]='NUMB'
FIELD[35]='SALESMAN'
ENDIF
IF INVLINES=C9
DECLARE COLHEAD[31]
ELSE
DECLARE COLHEAD[35]
ENDIF
COLHEAD[1]='Date'
COLHEAD[2]='Inv. No.'
COLHEAD[3]='Company'
COLHEAD[4]='Name'
COLHEAD[5]='Greeting'
COLHEAD[6]='Street'
COLHEAD[7]='Town'
COLHEAD[8]='Account'
COLHEAD[9]='Type'
COLHEAD[10]='Total'
COLHEAD[11]='Paid'
COLHEAD[12]='Printed'
COLHEAD[13]='Item 1'
COLHEAD[14]='#1'
COLHEAD[15]='Item 2'
COLHEAD[16]='#2'
COLHEAD[17]='Item 3'
COLHEAD[18]='#3'
COLHEAD[19]='Item 4'
COLHEAD[20]='#4'
COLHEAD[21]='Item 5'
COLHEAD[22]='#5'
COLHEAD[23]='Item 6'
COLHEAD[24]='#6'
COLHEAD[25]='Item 7'
COLHEAD[26]='#7'
COLHEAD[27]='Item 8'
COLHEAD[28]='#8'
COLHEAD[29]='Item 9'
COLHEAD[30]='#9'
IF INVLINES=C9
COLHEAD[31]=' '
ELSE
COLHEAD[31]='Item 10'
COLHEAD[32]='#10'
COLHEAD[33]='Item 11'
COLHEAD[34]='#11'
COLHEAD[35]=' '
ENDIF
DBEDIT(C0,C0,C21,79,FIELD,0,0,COLHEAD)
IF LASTKEY()#27
DO WHILE .T.
DO HISTFMT
READ
DO CASE
CASE ANY='Q'
EXIT
CASE ANY='P'
DO HISPRINT
CASE ANY='B'
SKIP -1
OTHERWISE
SKIP
ENDCASE
ENDDO
ENDIF
@C22,C0 CLEAR
@C23,C25 SAY XPICK
USE
CASE CHOICE=C3
ANY=' '
CALL FADE
PICK=C0
@C6 ,53 SAY '�������������������������Ŀ'
@C7 ,53 SAY '� �'
@C8 ,53 SAY '� �'
@C9 ,53 SAY '� �'
@C10,53 SAY '� �'
@C11,53 SAY '� �'
@C12,53 SAY '� �'
@C13,53 SAY '� �'
@C14,53 SAY '� �'
@C15,53 SAY '� �'
@C16,53 SAY '� �'
@C17,53 SAY '�������������������������Ĵ'
@C18,53 SAY '� �'
@C19,53 SAY '���������������������������'
@C7 ,55 PROMPT '1> Find Account Code'
@C8 ,55 PROMPT '2> Find Invoice No. '
@C9 ,55 PROMPT '3> Find Date '
@C10,55 PROMPT '4> Find Name '
@C11,55 PROMPT '5> Find Part '
@C12,55 PROMPT '6> Find Description '
@C13,55 PROMPT '7> Find Amount '
@C14,55 PROMPT '8> Find Salesperson '
@C15,55 PROMPT '9> Find Reference '
@C16,55 PROMPT '0> Find P.O. Number '
@C18,55 PROMPT 'Q> Quit to History '
MENU TO PICK
IF PICK>C10
PICK=C0
ENDIF
DTE1=CTOD('01/01/01')
DTE2=DATE()
DO CASE
CASE PICK=C1
CDE=' '
@C19,C20 SAY '�������������������������������������Ŀ'
@C20,C20 SAY '� Start date: (dd/mm/yyyy) �'
@C21,C20 SAY '� End date: (dd/mm/yyyy) �'
@C22,C20 SAY '� Account Code: �'
@C23,C20 SAY '���������������������������������������'
@C20,47 GET DTE1
@C21,47 GET DTE2
@C22,36 GET CDE PICTURE '!!!!'
READ
IF HYR=C1
USE &SHIST INDEX HISTDEX
IF RECSIZE()>1200
INVLINES=C11
ELSE
INVLINES=C9
ENDIF
SET FILTER TO INVDATE>=DTE1 .AND. INVDATE<=DTE2
GO TOP
CDE=TRIM(CDE)
SEEK CDE
DO WHILE ACCOUNT=CDE
DO HISTFMT
READ
DO CASE
CASE ANY='Q'
EXIT
CASE ANY='P'
DO HISPRINT
CASE ANY='L'
DO HISLABEL
CASE ANY='B'
SKIP -1
OTHERWISE
SKIP
ENDCASE
ENDDO
ELSE
USE &SHIST
IF RECSIZE()>1200
INVLINES=C11
ELSE
INVLINES=C9
ENDIF
SET FILTER TO INVDATE>=DTE1 .AND. INVDATE<=DTE2
GO TOP
CDE=TRIM(CDE)
LOCATE FOR CDE$UPPER(ACCOUNT)
NOTEND=.T.
DO WHILE .NOT. EOF()
IF ANY='Q'
EXIT
ENDIF
DO HISTFMT
READ
IF ANY='P'
DO HISPRINT
ENDIF
IF ANY='L'
DO HISLABEL
ENDIF
IF ANY='B'
SKIP -1
ELSE
CONTINUE
ENDIF
ENDDO
ENDIF
SET FILTER TO
USE
CASE PICK=C2
USE &SHIST
IF RECSIZE()>1200
INVLINES=C11
ELSE
INVLINES=C9
ENDIF
@C22,30 SAY 'Invoice Number:' GET INVNO PICTURE '######'
READ
GO TOP
LOCATE FOR INV_NO=INVNO
IF EOF()
ANY=' '
@C23,30 SAY 'INVOICE NOT FOUND' GET ANY
READ
LOOP
ENDIF
DO HISTFMT
READ
DO CASE
CASE ANY='Q'
EXIT
CASE ANY='P'
DO HISPRINT
CASE ANY='L'
DO HISLABEL
CASE ANY='B'
SKIP -1
OTHERWISE
SKIP
ENDCASE
USE
CASE PICK=C3
USE &SHIST
IF RECSIZE()>1200
INVLINES=C11
ELSE
INVLINES=C9
ENDIF
@C19,C20 SAY '�������������������������������������Ŀ'
@C20,C20 SAY '� Start date: (dd/mm/yyyy) �'
@C21,C20 SAY '� End date: (dd/mm/yyyy) �'
@C22,C20 SAY '���������������������������������������'
@C20,47 GET DTE1
@C21,47 GET DTE2
READ
GO TOP
LOCATE FOR INVDATE>=DTE1 .AND. INVDATE<=DTE2
DO WHILE .NOT. EOF()
IF ANY='Q'
EXIT
ENDIF
DO HISTFMT
READ
IF ANY='P'
DO HISPRINT
ENDIF
IF ANY='L'
DO HISLABEL
ENDIF
IF ANY='B'
SKIP -1
ELSE
CONTINUE
ENDIF
ENDDO
USE
CASE PICK=C4
NME=SPACE(20)
@C19,C20 SAY '�������������������������������������Ŀ'
@C20,C20 SAY '� Start date: (dd/mm/yyyy) �'
@C21,C20 SAY '� End date: (dd/mm/yyyy) �'
@C22,C20 SAY '� Name: �'
@C23,C20 SAY '���������������������������������������'
@C20,47 GET DTE1
@C21,47 GET DTE2
@C22,37 GET NME
READ
USE &SHIST
IF RECSIZE()>1200
INVLINES=C11
ELSE
INVLINES=C9
ENDIF
SET FILTER TO INVDATE>=DTE1 .AND. INVDATE<=DTE2
GO TOP
NME=TRIM(NME)
LOCATE FOR UPPER(NME)$UPPER(NAME).OR.UPPER(NME)$UPPER(COMPANY)
DO WHILE .NOT. EOF()
IF ANY='Q'
EXIT
ENDIF
DO HISTFMT
READ
IF ANY='P'
DO HISPRINT
ENDIF
IF ANY='L'
DO HISLABEL
ENDIF
IF ANY='B'
SKIP -1
ELSE
CONTINUE
ENDIF
ENDDO
SET FILTER TO
USE
CASE PICK=C5
PRT=SPACE(15)
@C19,C20 SAY '�������������������������������������Ŀ'
@C20,C20 SAY '� Start date: (dd/mm/yyyy) �'
@C21,C20 SAY '� End date: (dd/mm/yyyy) �'
@C22,C20 SAY '� Part No: �'
@C23,C20 SAY '���������������������������������������'
@C20,47 GET DTE1
@C21,47 GET DTE2
@C22,42 GET PRT PICTURE '!!!!!!!!!!!!!!!'
READ
USE &SHIST
IF RECSIZE()>1200
INVLINES=C11
ELSE
INVLINES=C9
ENDIF
GO TOP
SET FILTER TO INVDATE>=DTE1 .AND. INVDATE<=DTE2
PRT=TRIM(PRT)
IF INVLINES=C11
LOCATE FOR PRT$PART1.OR.PRT$PART2.OR.PRT$PART3.OR.PRT$PART4.OR.PRT$PART5.OR.PRT$PART6.OR.PRT$PART7.OR.PRT$PART8.OR.PRT$PART9.OR.PRT$PARTA.OR.PRT$PARTB
ELSE
LOCATE FOR PRT$PART1.OR.PRT$PART2.OR.PRT$PART3.OR.PRT$PART4.OR.PRT$PART5.OR.PRT$PART6.OR.PRT$PART7.OR.PRT$PART8.OR.PRT$PART9
ENDIF
DO WHILE .NOT. EOF()
IF ANY='Q'
EXIT
ENDIF
DO HISTFMT
READ
IF ANY='P'
DO HISPRINT
ENDIF
IF ANY='L'
DO HISLABEL
ENDIF
IF ANY='B'
SKIP -1
ELSE
CONTINUE
ENDIF
ENDDO
SET FILTER TO
USE
CASE PICK=C6
DSCR=SPACE(20)
@C19,C20 SAY '�������������������������������������Ŀ'
@C20,C20 SAY '� Start date: (dd/mm/yyyy) �'
@C21,C20 SAY '� End date: (dd/mm/yyyy) �'
@C22,C20 SAY '� Description: �'
@C23,C20 SAY '���������������������������������������'
@C20,47 GET DTE1
@C21,47 GET DTE2
@C22,37 GET DSCR
READ
USE &SHIST
IF RECSIZE()>1200
INVLINES=C11
ELSE
INVLINES=C9
ENDIF
SET FILTER TO INVDATE>=DTE1 .AND. INVDATE<=DTE2
GO TOP
DSC=TRIM(UPPER(DSCR))
IF INVLINES=C11
LOCATE FOR DSC$UPPER(DESC1).OR.DSC$UPPER(DESC2).OR.DSC$UPPER(DESC3).OR.DSC$UPPER(DESC4).OR.DSC$UPPER(DESC5).OR.DSC$UPPER(DESC6).OR.DSC$UPPER(DESC7).OR.DSC$UPPER(DESC8).OR.DSC$UPPER(DESC9).OR.DSC$UPPER(DESCA).OR.DSC$UPPER(DESCB)
ELSE
LOCATE FOR DSC$UPPER(DESC1).OR.DSC$UPPER(DESC2).OR.DSC$UPPER(DESC3).OR.DSC$UPPER(DESC4).OR.DSC$UPPER(DESC5).OR.DSC$UPPER(DESC6).OR.DSC$UPPER(DESC7).OR.DSC$UPPER(DESC8).OR.DSC$UPPER(DESC9)
ENDIF
DO WHILE .NOT. EOF()
IF ANY='Q'
EXIT
ENDIF
DO HISTFMT
READ
IF ANY='P'
DO HISPRINT
ENDIF
IF ANY='L'
DO HISLABEL
ENDIF
IF ANY='B'
SKIP -1
ELSE
CONTINUE
ENDIF
ENDDO
SET FILTER TO
USE
CASE PICK=C7
AMNT1=C0
AMNT2=C0
@C18,C20 SAY '�������������������������������������Ŀ'
@C19,C20 SAY '� Start date: (dd/mm/yyyy) �'
@C20,C20 SAY '� End date: (dd/mm/yyyy) �'
@C21,C20 SAY '� Amount greater than: �'
@C22,C20 SAY '� but less than: �'
@C23,C20 SAY '���������������������������������������'
@C19,47 GET DTE1
@C20,47 GET DTE2
@C21,47 GET AMNT1 PICTURE '99999999'
@C22,47 GET AMNT2 PICTURE '99999999'
READ
USE &SHIST
IF RECSIZE()>1200
INVLINES=C11
ELSE
INVLINES=C9
ENDIF
SET FILTER TO INVDATE>=DTE1 .AND. INVDATE<=DTE2
GO TOP
NME=TRIM(NME)
LOCATE FOR AMNT1<=AMOUNT .AND. AMNT2>=AMOUNT
DO WHILE .NOT. EOF()
IF ANY='Q'
EXIT
ENDIF
DO HISTFMT
READ
IF ANY='P'
DO HISPRINT
ENDIF
IF ANY='L'
DO HISLABEL
ENDIF
IF ANY='B'
SKIP -1
ELSE
CONTINUE
ENDIF
ENDDO
SET FILTER TO
USE
CASE PICK=C8
SLSPRSN=' '
@C19,C20 SAY '�������������������������������������Ŀ'
@C20,C20 SAY '� Start date: (dd/mm/yyyy) �'
@C21,C20 SAY '� End date: (dd/mm/yyyy) �'
@C22,C20 SAY '� Salesperson: �'
@C23,C20 SAY '���������������������������������������'
@C20,47 GET DTE1
@C21,47 GET DTE2
@C22,47 GET SLSPRSN PICTURE '!!!'
READ
USE &SHIST
IF RECSIZE()>1200
INVLINES=C11
ELSE
INVLINES=C9
ENDIF
SET FILTER TO INVDATE>=DTE1 .AND. INVDATE<=DTE2
GO TOP
NME=TRIM(NME)
LOCATE FOR SALESMAN=SLSPRSN
DO WHILE .NOT. EOF()
IF ANY='Q'
EXIT
ENDIF
DO HISTFMT
READ
IF ANY='P'
DO HISPRINT
ENDIF
IF ANY='L'
DO HISLABEL
ENDIF
IF ANY='B'
SKIP -1
ELSE
CONTINUE
ENDIF
ENDDO
SET FILTER TO
USE
CASE PICK=C9
SLSPRSN=' '
@C19,C20 SAY '�������������������������������������Ŀ'
@C20,C20 SAY '� Start date: (dd/mm/yyyy) �'
@C21,C20 SAY '� End date: (dd/mm/yyyy) �'
@C22,C20 SAY '� Reference: �'
@C23,C20 SAY '���������������������������������������'
@C20,47 GET DTE1
@C21,47 GET DTE2
RFRNC=SPACE(20)
@C22,37 GET RFRNC
READ
USE &SHIST
IF RECSIZE()>1200
INVLINES=C11
ELSE
INVLINES=C9
ENDIF
SET FILTER TO INVDATE>=DTE1 .AND. INVDATE<=DTE2
GO TOP
RFRNC=TRIM(RFRNC)
LOCATE FOR UPPER(RFRNC)=UPPER(REFERENCE)
DO WHILE .NOT. EOF()
IF ANY='Q'
EXIT
ENDIF
DO HISTFMT
READ
IF ANY='P'
DO HISPRINT
ENDIF
IF ANY='L'
DO HISLABEL
ENDIF
IF ANY='B'
SKIP -1
ELSE
CONTINUE
ENDIF
ENDDO
SET FILTER TO
USE
CASE PICK=C10
SLSPRSN=' '
@C19,C20 SAY '�������������������������������������Ŀ'
@C20,C20 SAY '� Start date: (dd/mm/yyyy) �'
@C21,C20 SAY '� End date: (dd/mm/yyyy) �'
@C22,C20 SAY '� P.O. Number: �'
@C23,C20 SAY '���������������������������������������'
@C20,47 GET DTE1
@C21,47 GET DTE2
PONO=SPACE(15)
@C22,42 GET PONO
READ
USE &SHIST
IF RECSIZE()>1200
INVLINES=C11
ELSE
INVLINES=C9
ENDIF
SET FILTER TO INVDATE>=DTE1 .AND. INVDATE<=DTE2
GO TOP
PONO=TRIM(PONO)
LOCATE FOR UPPER(PONO)$UPPER(ORDNO)
DO WHILE .NOT. EOF()
IF ANY='Q'
EXIT
ENDIF
DO HISTFMT
READ
IF ANY='P'
DO HISPRINT
ENDIF
IF ANY='L'
DO HISLABEL
ENDIF
IF ANY='B'
SKIP -1
ELSE
CONTINUE
ENDIF
ENDDO
SET FILTER TO
USE
CASE PICK=C0
RESTORE SCREEN FROM SCRN2
LOOP
ENDCASE
CASE CHOICE=C4
CALL FADE
PICK=C0
@C6 ,53 SAY '�������������������������Ŀ'
@C7 ,53 SAY '� �'
@C8 ,53 SAY '� �'
@C9 ,53 SAY '� �'
@C10,53 SAY '� �'
@C11,53 SAY '� �'
@C12,53 SAY '� �'
@C13,53 SAY '� �'
@C14,53 SAY '� �'
@C15,53 SAY '� �'
@C16,53 SAY '� �'
@C17,53 SAY '�������������������������Ĵ'
@C18,53 SAY '� �'
@C19,53 SAY '���������������������������'
@C7 ,55 PROMPT '1> Find Account Code'
@C8 ,55 PROMPT '2> Find Invoice No. '
@C9 ,55 PROMPT '3> Find Date '
@C10,55 PROMPT '4> Find Name '
@C11,55 PROMPT '5> Find Part '
@C12,55 PROMPT '6> Find Description '
@C13,55 PROMPT '7> Find Amount '
@C14,55 PROMPT '8> Find Salesperson '
@C15,55 PROMPT '9> Find Reference '
@C16,55 PROMPT '0> Find P.O. Number '
@C18,55 PROMPT 'Q> Quit to History '
MENU TO PICK
IF PICK>C10
PICK=C0
ENDIF
DTE1=CTOD('01/01/01')
DTE2=DATE()
DO CASE
CASE PICK=C1
CDE=' '
@C19,C20 SAY '�������������������������������������Ŀ'
@C20,C20 SAY '� Start date: (dd/mm/yyyy) �'
@C21,C20 SAY '� End date: (dd/mm/yyyy) �'
@C22,C20 SAY '� Account Code: �'
@C23,C20 SAY '���������������������������������������'
@C20,47 GET DTE1
@C21,47 GET DTE2
@C22,36 GET CDE PICTURE '!!!!'
READ
USE &SHIST
IF RECSIZE()>1200
INVLINES=C11
ELSE
INVLINES=C9
ENDIF
SET FILTER TO INVDATE>=DTE1 .AND. INVDATE<=DTE2
GO TOP
CDE=TRIM(CDE)
LOCATE FOR CDE$UPPER(ACCOUNT)
NOTEND=.T.
DO WHILE NOTEND=.T.
IF EOF()
NOTEND=.F.
EXIT
ENDIF
DO HISPRINT
READ
CONTINUE
ENDDO
SET FILTER TO
USE
CASE PICK=C2
USE &SHIST
IF RECSIZE()>1200
INVLINES=C11
ELSE
INVLINES=C9
ENDIF
@C22,30 SAY 'Invoice Number:' GET INVNO PICTURE '######'
READ
GO TOP
LOCATE FOR INV_NO=INVNO
IF EOF()
? 'INVOICE NOT FOUND'
WAIT 'Any key to continue '
LOOP
ENDIF
DO HISPRINT
READ
USE
CASE PICK=C3
USE &SHIST
IF RECSIZE()>1200
INVLINES=C11
ELSE
INVLINES=C9
ENDIF
@C19,C20 SAY '�������������������������������������Ŀ'
@C20,C20 SAY '� Start date: (dd/mm/yyyy) �'
@C21,C20 SAY '� End date: (dd/mm/yyyy) �'
@C22,C20 SAY '���������������������������������������'
DTE1=DATE()-1
@C20,48 GET DTE1
READ
DTE2=DTE1
@C21,48 GET DTE2
READ
GO TOP
LOCATE FOR INVDATE>=DTE1 .AND. INVDATE<=DTE2
NOTEND=.T.
DO WHILE NOTEND=.T.
IF EOF()
NOTEND=.F.
EXIT
ENDIF
DO HISPRINT
READ
CONTINUE
ENDDO
USE
CASE PICK=C4
NME=SPACE(20)
@C19,C20 SAY '�������������������������������������Ŀ'
@C20,C20 SAY '� Start date: (dd/mm/yyyy) �'
@C21,C20 SAY '� End date: (dd/mm/yyyy) �'
@C22,C20 SAY '� Name: �'
@C23,C20 SAY '���������������������������������������'
@C20,47 GET DTE1
@C21,47 GET DTE2
@C22,37 GET NME
READ
USE &SHIST
IF RECSIZE()>1200
INVLINES=C11
ELSE
INVLINES=C9
ENDIF
SET FILTER TO INVDATE>=DTE1 .AND. INVDATE<=DTE2
GO TOP
NME=TRIM(NME)
LOCATE FOR UPPER(NME)$UPPER(NAME).OR.UPPER(NME)$UPPER(COMPANY)
NOTEND=.T.
DO WHILE NOTEND=.T.
IF EOF()
NOTEND=.F.
EXIT
ENDIF
DO HISPRINT
READ
CONTINUE
ENDDO
SET FILTER TO
USE
CASE PICK=C5
PRT=SPACE(15)
@C19,C20 SAY '�������������������������������������Ŀ'
@C20,C20 SAY '� Start date: (dd/mm/yyyy) �'
@C21,C20 SAY '� End date: (dd/mm/yyyy) �'
@C22,C20 SAY '� Part No: �'
@C23,C20 SAY '���������������������������������������'
@C20,47 GET DTE1
@C21,47 GET DTE2
@C22,37 GET PRT PICTURE '!!!!!!!!!!!!!!'
READ
PRT=TRIM(PRT)
USE &SHIST
IF RECSIZE()>1200
INVLINES=C11
ELSE
INVLINES=C9
ENDIF
SET FILTER TO INVDATE>=DTE1 .AND. INVDATE<=DTE2
GO TOP
LOCATE FOR PRT$PART1.OR.PRT$PART2.OR.PRT$PART3.OR.PRT$PART4.OR.PRT$PART5.OR.PRT$PART6.OR.PRT$PART7.OR.PRT$PART8.OR.PRT$PART9
NOTEND=.T.
DO WHILE NOTEND=.T.
IF EOF()
NOTEND=.F.
EXIT
ENDIF
DO HISPRINT
READ
CONTINUE
ENDDO
SET FILTER TO
USE
CASE PICK=C6
DSCR=SPACE(20)
@C19,C20 SAY '�������������������������������������Ŀ'
@C20,C20 SAY '� Start date: (dd/mm/yyyy) �'
@C21,C20 SAY '� End date: (dd/mm/yyyy) �'
@C22,C20 SAY '� Description: �'
@C23,C20 SAY '���������������������������������������'
@C20,47 GET DTE1
@C21,47 GET DTE2
@C22,36 GET DSCR
READ
USE &SHIST
IF RECSIZE()>1200
INVLINES=C11
ELSE
INVLINES=C9
ENDIF
SET FILTER TO INVDATE>=DTE1 .AND. INVDATE<=DTE2
GO TOP
DSC=TRIM(UPPER(DSCR))
LOCATE FOR DSC$UPPER(DESC1).OR.DSC$UPPER(DESC2).OR.DSC$UPPER(DESC3).OR.DSC$UPPER(DESC4).OR.DSC$UPPER(DESC5).OR.DSC$UPPER(DESC6).OR.DSC$UPPER(DESC7).OR.DSC$UPPER(DESC8).OR.DSC$UPPER(DESC9)
NOTEND=.T.
DO WHILE NOTEND=.T.
IF EOF()
NOTEND=.F.
EXIT
ENDIF
DO HISPRINT
READ
CONTINUE
ENDDO
SET FILTER TO
USE
CASE PICK=C7
AMNT1=C0
AMNT2=C0
@C18,C20 SAY '�������������������������������������Ŀ'
@C19,C20 SAY '� Start date: (dd/mm/yyyy) �'
@C20,C20 SAY '� End date: (dd/mm/yyyy) �'
@C21,C20 SAY '� Amount greater than: �'
@C22,C20 SAY '� but less than: �'
@C23,C20 SAY '���������������������������������������'
@C19,47 GET DTE1
@C20,47 GET DTE2
@C21,47 GET AMNT1 PICTURE '99999999'
@C22,47 GET AMNT2 PICTURE '99999999'
READ
USE &SHIST
IF RECSIZE()>1200
INVLINES=C11
ELSE
INVLINES=C9
ENDIF
SET FILTER TO INVDATE>=DTE1 .AND. INVDATE<=DTE2
GO TOP
NME=TRIM(NME)
LOCATE FOR AMNT1<=AMOUNT .AND. AMNT2>=AMOUNT
NOTEND=.T.
DO WHILE NOTEND=.T.
IF EOF()
NOTEND=.F.
EXIT
ENDIF
DO HISPRINT
READ
CONTINUE
ENDDO
SET FILTER TO
USE
CASE PICK=C8
SLSPRSN=' '
@C19,C20 SAY '�������������������������������������Ŀ'
@C20,C20 SAY '� Start date: (dd/mm/yyyy) �'
@C21,C20 SAY '� End date: (dd/mm/yyyy) �'
@C22,C20 SAY '� Salesperson: �'
@C23,C20 SAY '���������������������������������������'
@C20,47 GET DTE1
@C21,47 GET DTE2
@C22,36 GET SLSPRSN PICTURE '!!!'
READ
USE &SHIST
IF RECSIZE()>1200
INVLINES=C11
ELSE
INVLINES=C9
ENDIF
SET FILTER TO INVDATE>=DTE1 .AND. INVDATE<=DTE2
GO TOP
NME=TRIM(NME)
LOCATE FOR SALESMAN=SLSPRSN
NOTEND=.T.
DO WHILE NOTEND=.T.
IF EOF()
NOTEND=.F.
EXIT
ENDIF
DO HISPRINT
READ
CONTINUE
ENDDO
SET FILTER TO
USE
CASE PICK=C9
SLSPRSN=' '
@C19,C20 SAY '�������������������������������������Ŀ'
@C20,C20 SAY '� Start date: (dd/mm/yyyy) �'
@C21,C20 SAY '� End date: (dd/mm/yyyy) �'
@C22,C20 SAY '� Salesperson: �'
@C23,C20 SAY '���������������������������������������'
@C20,47 GET DTE1
@C21,47 GET DTE2
@C22,36 GET SLSPRSN PICTURE '!!!'
READ
USE &SHIST
IF RECSIZE()>1200
INVLINES=C11
ELSE
INVLINES=C9
ENDIF
SET FILTER TO INVDATE>=DTE1 .AND. INVDATE<=DTE2
GO TOP
NME=TRIM(NME)
LOCATE FOR SALESMAN=SLSPRSN
NOTEND=.T.
DO WHILE NOTEND=.T.
IF EOF()
NOTEND=.F.
EXIT
ENDIF
DO HISPRINT
READ
CONTINUE
ENDDO
SET FILTER TO
USE
CASE PICK=C10
SLSPRSN=' '
@C19,C20 SAY '�������������������������������������Ŀ'
@C20,C20 SAY '� Start date: (dd/mm/yyyy) �'
@C21,C20 SAY '� End date: (dd/mm/yyyy) �'
@C22,C20 SAY '� Salesperson: �'
@C23,C20 SAY '���������������������������������������'
@C20,47 GET DTE1
@C21,47 GET DTE2
@C22,36 GET SLSPRSN PICTURE '!!!'
READ
USE &SHIST
IF RECSIZE()>1200
INVLINES=C11
ELSE
INVLINES=C9
ENDIF
SET FILTER TO INVDATE>=DTE1 .AND. INVDATE<=DTE2
GO TOP
NME=TRIM(NME)
LOCATE FOR SALESMAN=SLSPRSN
NOTEND=.T.
DO WHILE NOTEND=.T.
IF EOF()
NOTEND=.F.
EXIT
ENDIF
DO HISPRINT
READ
CONTINUE
ENDDO
SET FILTER TO
USE
CASE PICK=C0
RESTORE SCREEN FROM SCRN2
LOOP
ENDCASE
CASE CHOICE=C5
CALL FADE
PICK=C0
@C11,50 SAY '����������������������������Ŀ'
@C12,50 SAY '� �'
@C13,50 SAY '� �'
@C14,50 SAY '� �'
@C15,50 SAY '� �'
@C16,50 SAY '� �'
@C17,50 SAY '����������������������������Ĵ'
@C18,50 SAY '� �'
@C19,50 SAY '������������������������������'
@C12,52 PROMPT '1> List All Sales '
@C13,52 PROMPT '2> List Sales by Account '
@C14,52 PROMPT '3> List Sales by Salesman '
@C15,52 PROMPT '4> List Product by Account'
@C16,52 PROMPT '5> List Ex Tax Sales '
@C18,52 PROMPT 'Q> Quit to History '
MENU TO PICK
IF PICK>C5
PICK=C0
ENDIF
DO CASE
CASE PICK=C1
@C19,C20 SAY '�������������������������������������Ŀ'
@C20,C20 SAY '� Start date: (dd/mm/yyyy) �'
@C21,C20 SAY '� End date: (dd/mm/yyyy) �'
@C22,C20 SAY '���������������������������������������'
DTE1=DATE()
@C20,47 GET DTE1
READ
DTE2=DTE1
@C21,47 GET DTE2
READ
SELECT 1
USE &SHIST
IF RECSIZE()>1200
INVLINES=C11
ELSE
INVLINES=C9
ENDIF
SET FILTER TO INVDATE>=DTE1 .AND. INVDATE<=DTE2
GO TOP
SET PRINT ON
SET CONSOLE OFF
SET DEVICE TO PRINT
LASTDATE=INVDATE
LNCOUNT=51
TOTRCVD=C0
TOTTX=C0
TOTNT=C0
GTOTRCVD=C0
GTOTTX=C0
GTOTNT=C0
DO WHILE .NOT. EOF()
LNCOUNT=LNCOUNT+C1
IF LNCOUNT>50
EJECT
@PROW()+C2,45 SAY 'SALES SUMMARY'
@PROW()+C2,C10 SAY 'Invoice Acnt Name Received Tax Net'
@PROW()+C1,C10 SAY '------- ---- ---- -------- --- ---'
@PROW()+C1,C10 SAY SPACE(1)
LNCOUNT=C0
ENDIF
RCVD=PTYPECASH+PTYPECHEQ+PTYPECARD
IF RCVD#C0
IF INVTYPE='T' .OR. INVTYPE='W'
IF INVLINES=C9
TX=(TAX1*NUM1)+(TAX2*NUM2)+(TAX3*NUM3)+(TAX4*NUM4)+(TAX5*NUM5)+(TAX6*NUM6)+(TAX7*NUM7)+(TAX8*NUM8)+(TAX9*NUM9)
ELSE
TX=(TAX1*NUM1)+(TAX2*NUM2)+(TAX3*NUM3)+(TAX4*NUM4)+(TAX5*NUM5)+(TAX6*NUM6)+(TAX7*NUM7)+(TAX8*NUM8)+(TAX9*NUM9)+(TAXA*NUMA)+(TAXB*NUMB)
ENDIF
ELSE
TX=C0
ENDIF
NT=RCVD-TX
ELSE
TX=C0
NT=C0
ENDIF
DO CASE
CASE 'GSOC'$REFERENCE
RFRNC='GSOC'
CASE 'HUB '$REFERENCE
RFRNC='HUB'
CASE 'IST '$REFERENCE
RFRNC='IST '
OTHERWISE
RFRNC=' '
ENDCASE
@PROW()+C1,C0 SAY INVDATE
@PROW(),C11 SAY INV_NO
@PROW(),C18 SAY ACCOUNT
@PROW(),C23 SAY SUBST(NAME,1,23)
@PROW(),46 SAY RCVD PICTURE '999999.99'
@PROW(),56 SAY TX PICTURE '999999.99'
@PROW(),66 SAY NT PICTURE '999999.99'
@PROW(),76 SAY RFRNC
TOTRCVD=TOTRCVD+RCVD
TOTTX=TOTTX+TX
TOTNT=TOTNT+NT
GTOTRCVD=GTOTRCVD+RCVD
GTOTTX=GTOTTX+TX
GTOTNT=GTOTNT+NT
SKIP
IF INVDATE#LASTDATE
@PROW()+C1,46 SAY '---------'
@PROW(),56 SAY '---------'
@PROW(),66 SAY '---------'
@PROW()+C1,C10 SAY 'DAILY TOTAL'
@PROW(),46 SAY TOTRCVD PICTURE '999999.99'
@PROW(),56 SAY TOTTX PICTURE '999999.99'
@PROW(),66 SAY TOTNT PICTURE '999999.99'
@PROW()+C1,46 SAY '========='
@PROW(),56 SAY '========='
@PROW(),66 SAY '========='
LNCOUNT=LNCOUNT+C2
LASTDATE=INVDATE
TOTRCVD=C0
TOTTX=C0
TOTNT=C0
ENDIF
ENDDO
@PROW()+C1,C10 SAY 'TOTAL'
@PROW(),46 SAY GTOTRCVD PICTURE '999999.99'
@PROW(),56 SAY GTOTTX PICTURE '999999.99'
@PROW(),66 SAY GTOTNT PICTURE '999999.99'
@PROW()+C1,47 SAY '========='
@PROW(),56 SAY '========='
@PROW(),66 SAY '========='
SET PRINT OFF
SET CONSOLE ON
SET DEVICE TO SCREEN
USE
CASE PICK=C2
@C19,C20 SAY '�������������������������������������Ŀ'
@C20,C20 SAY '� Account: �'
@C21,C20 SAY '� Start date: (dd/mm/yyyy) �'
@C22,C20 SAY '� End date: (dd/mm/yyyy) �'
@C23,C20 SAY '���������������������������������������'
ACCNT=' '
@C20,34 GET ACCNT PICTURE '!!!!'
DTE1=DATE()
@C21,47 GET DTE1
READ
DTE2=DTE1
@C22,47 GET DTE2
READ
SELECT 1
USE &SHIST
IF RECSIZE()>1200
INVLINES=C11
ELSE
INVLINES=C9
ENDIF
SET FILTER TO INVDATE>=DTE1 .AND. INVDATE<=DTE2 .AND. ACCNT=ACCOUNT
GO TOP
SET PRINT ON
SET CONSOLE OFF
SET DEVICE TO PRINT
LASTDATE=INVDATE
LNCOUNT=51
TOTRCVD=C0
TOTBILL=C0
GTOTRCVD=C0
GTOTBILL=C0
DO WHILE .NOT. EOF()
LNCOUNT=LNCOUNT+C1
IF LNCOUNT>50
EJECT
@PROW()+C2,45 SAY 'SALES SUMMARY'
@PROW()+C2,C10 SAY 'Invoice Name Billed Received'
@PROW()+C1,C10 SAY '------- ---- ------ --------'
@PROW()+C1,C1 SAY ACCOUNT
@PROW()+C1,C1 SAY '----'
LNCOUNT=C0
ENDIF
RCVD=PTYPECASH+PTYPECHEQ+PTYPECARD
@PROW()+C1,C0 SAY INVDATE
@PROW(),C11 SAY INV_NO
@PROW(),C18 SAY SUBST(NAME,1,20)
@PROW(),39 SAY REFERENCE
IF AMOUNT>C0 .AND. RCVD=C0
@PROW(),60 SAY AMOUNT PICTURE '999999.99'
ENDIF
@PROW(),70 SAY RCVD PICTURE '999999.99'
IF AMOUNT>C0 .AND. RCVD=C0
TOTBILL=TOTBILL+AMOUNT
GTOTBILL=GTOTBILL+AMOUNT
ENDIF
TOTRCVD=TOTRCVD+RCVD
GTOTRCVD=GTOTRCVD+RCVD
SKIP
IF INVDATE#LASTDATE
LNCOUNT=LNCOUNT+C1
@PROW()+C1,C1 SAY ' '
LASTDATE=INVDATE
ENDIF
ENDDO
@PROW()+C2,60 SAY '---------'
@PROW(),70 SAY '---------'
@PROW()+C1,C10 SAY 'TOTAL'
@PROW(),60 SAY GTOTBILL PICTURE '999999.99'
@PROW(),70 SAY GTOTRCVD PICTURE '999999.99'
@PROW()+C1,60 SAY '========='
@PROW(),70 SAY '========='
SET PRINT OFF
SET CONSOLE ON
SET DEVICE TO SCREEN
USE
CASE PICK=C3
@C19,C20 SAY '�������������������������������������Ŀ'
@C20,C20 SAY '� Start date: (dd/mm/yyyy) �'
@C21,C20 SAY '� End date: (dd/mm/yyyy) �'
@C22,C20 SAY '� Salesman (or ALL): �'
@C23,C20 SAY '���������������������������������������'
DTE1=DATE()
@C20,47 GET DTE1
READ
DTE2=DTE1
@C21,47 GET DTE2
READ
SELECT 1
USE &SHIST
IF RECSIZE()>1200
INVLINES=C11
ELSE
INVLINES=C9
ENDIF
SET FILTER TO INVDATE>=DTE1 .AND. INVDATE<=DTE2
GO TOP
@C22,47 GET NME PICTURE '!!!'
READ
IF NME='ALL'
SELECT 2
USE STAFF
GO TOP
DO WHILE .NOT. EOF()
SELECT 1
SET CONSOLE OFF
IF INVLINES=C9
REPORT FORM HISTSMN9 FOR B->INIT=A->SALESMAN .AND. PAID=YA HEADING B->INIT TO PRINT
ELSE
REPORT FORM HISTSMAN FOR B->INIT=A->SALESMAN .AND. PAID=YA HEADING B->INIT TO PRINT
ENDIF
SET CONSOLE ON
SELECT 2
SKIP
ENDDO
SELECT 1
ELSE
SET CONSOLE OFF
IF INVLINES=C9
REPORT FORM HISTSMN9 FOR SALESMAN=NME .AND. PAID=YA HEADING NME TO PRINT
ELSE
REPORT FORM HISTSMAN FOR SALESMAN=NME .AND. PAID=YA HEADING NME TO PRINT
ENDIF
SET CONSOLE ON
ENDIF
CLOSE ALL
CASE PICK=C4
@C19,C20 SAY '�������������������������������������Ŀ'
@C20,C20 SAY '� Start date: (dd/mm/yyyy) �'
@C21,C20 SAY '� End date: (dd/mm/yyyy) �'
@C22,C20 SAY '� Account: �'
@C23,C20 SAY '���������������������������������������'
DTE1=DATE()
@C20,47 GET DTE1
READ
DTE2=DTE1
@C21,47 GET DTE2
READ
ACCNT=' '
@C22,34 GET ACCNT PICTURE '!!!!'
READ
SELECT 1
USE &SHIST
IF RECSIZE()>1200
INVLINES=C11
ELSE
INVLINES=C9
ENDIF
SET FILTER TO INVDATE>=DTE1 .AND. INVDATE<=DTE2 .AND. ACCOUNT=ACCNT
SELECT 9
USE STCOUNT
ZAP
SELECT 1
GO TOP
DO WHILE .NOT. EOF()
IF NUM1>0 .AND. SUBST(PART1,1,6)#'SPEC-D' .AND. SUBST(PART1,1,6)#'SPEC-N' .AND. SUBST(PART1,1,6)#'SPEC-P' .AND. SUBST(PART1,1,6)#'SPEC-W'
SELECT 9
APPEND BLANK
REPLACE PART WITH A->PART1
REPLACE DESC WITH A->DESC1
REPLACE NUM WITH A->NUM1
REPLACE DATE WITH A->INVDATE
SELECT 1
ENDIF
IF NUM2>0 .AND. SUBST(PART2,1,6)#'SPEC-D' .AND. SUBST(PART2,1,6)#'SPEC-N' .AND. SUBST(PART2,1,6)#'SPEC-P' .AND. SUBST(PART2,1,6)#'SPEC-W'
SELECT 9
APPEND BLANK
REPLACE PART WITH A->PART2
REPLACE DESC WITH A->DESC2
REPLACE NUM WITH A->NUM2
REPLACE DATE WITH A->INVDATE
SELECT 1
ENDIF
IF NUM3>0 .AND. SUBST(PART3,1,6)#'SPEC-D' .AND. SUBST(PART3,1,6)#'SPEC-N' .AND. SUBST(PART3,1,6)#'SPEC-P' .AND. SUBST(PART3,1,6)#'SPEC-W'
SELECT 9
APPEND BLANK
REPLACE PART WITH A->PART3
REPLACE DESC WITH A->DESC3
REPLACE NUM WITH A->NUM3
REPLACE DATE WITH A->INVDATE
SELECT 1
ENDIF
IF NUM4>0 .AND. SUBST(PART4,1,6)#'SPEC-D' .AND. SUBST(PART4,1,6)#'SPEC-N' .AND. SUBST(PART4,1,6)#'SPEC-P' .AND. SUBST(PART4,1,6)#'SPEC-W'
SELECT 9
APPEND BLANK
REPLACE PART WITH A->PART4
REPLACE DESC WITH A->DESC4
REPLACE NUM WITH A->NUM4
REPLACE DATE WITH A->INVDATE
SELECT 1
ENDIF
IF NUM5>0 .AND. SUBST(PART5,1,6)#'SPEC-D' .AND. SUBST(PART5,1,6)#'SPEC-N' .AND. SUBST(PART5,1,6)#'SPEC-P' .AND. SUBST(PART5,1,6)#'SPEC-W'
SELECT 9
APPEND BLANK
REPLACE PART WITH A->PART5
REPLACE DESC WITH A->DESC5
REPLACE NUM WITH A->NUM5
REPLACE DATE WITH A->INVDATE
SELECT 1
ENDIF
IF NUM6>0 .AND. SUBST(PART6,1,6)#'SPEC-D' .AND. SUBST(PART6,1,6)#'SPEC-N' .AND. SUBST(PART6,1,6)#'SPEC-P' .AND. SUBST(PART6,1,6)#'SPEC-W'
SELECT 9
APPEND BLANK
REPLACE PART WITH A->PART6
REPLACE DESC WITH A->DESC6
REPLACE NUM WITH A->NUM6
REPLACE DATE WITH A->INVDATE
SELECT 1
ENDIF
IF NUM7>0 .AND. SUBST(PART7,1,6)#'SPEC-D' .AND. SUBST(PART7,1,6)#'SPEC-N' .AND. SUBST(PART7,1,6)#'SPEC-P' .AND. SUBST(PART7,1,6)#'SPEC-W'
SELECT 9
APPEND BLANK
REPLACE PART WITH A->PART7
REPLACE DESC WITH A->DESC7
REPLACE NUM WITH A->NUM7
REPLACE DATE WITH A->INVDATE
SELECT 1
ENDIF
IF NUM8>0 .AND. SUBST(PART8,1,6)#'SPEC-D' .AND. SUBST(PART8,1,6)#'SPEC-N' .AND. SUBST(PART8,1,6)#'SPEC-P' .AND. SUBST(PART8,1,6)#'SPEC-W'
SELECT 9
APPEND BLANK
REPLACE PART WITH A->PART8
REPLACE DESC WITH A->DESC8
REPLACE NUM WITH A->NUM8
REPLACE DATE WITH A->INVDATE
SELECT 1
ENDIF
IF NUM9>0 .AND. SUBST(PART9,1,6)#'SPEC-D' .AND. SUBST(PART9,1,6)#'SPEC-N' .AND. SUBST(PART9,1,6)#'SPEC-P' .AND. SUBST(PART9,1,6)#'SPEC-W'
SELECT 9
APPEND BLANK
REPLACE PART WITH A->PART9
REPLACE DESC WITH A->DESC9
REPLACE NUM WITH A->NUM9
REPLACE DATE WITH A->INVDATE
SELECT 1
ENDIF
IF INVLINES>C9
IF NUMA>0 .AND. SUBST(PARTA,1,6)#'SPEC-D' .AND. SUBST(PARTA,1,6)#'SPEC-N' .AND. SUBST(PARTA,1,6)#'SPEC-P' .AND. SUBST(PARTA,1,6)#'SPEC-W'
SELECT 9
APPEND BLANK
REPLACE PART WITH A->PARTA
REPLACE DESC WITH A->DESCA
REPLACE NUM WITH A->NUMA
REPLACE DATE WITH A->INVDATE
SELECT 1
ENDIF
IF NUMB>0 .AND. SUBST(PARTB,1,6)#'SPEC-D' .AND. SUBST(PARTB,1,6)#'SPEC-N' .AND. SUBST(PARTB,1,6)#'SPEC-P' .AND. SUBST(PARTB,1,6)#'SPEC-W'
SELECT 9
APPEND BLANK
REPLACE PART WITH A->PARTB
REPLACE DESC WITH A->DESCB
REPLACE NUM WITH A->NUMB
REPLACE DATE WITH A->INVDATE
SELECT 1
ENDIF
ENDIF
SKIP
ENDDO
SELECT 9
REPLACE ALL PART WITH '{No part no.}' FOR SUBST(PART,1,4)='SPEC'
INDEX ON PART TO SPCNTDEX+DTOC(DATE)
SET CONSOLE OFF
REPORT FORM STCOUNT TO PRINT
SET CONSOLE ON
CLOSE ALL
CASE PICK=C5
@C19,C20 SAY '��������������������������������������������Ŀ'
@C20,C20 SAY '� Start date: (dd/mm/yyyy) �'
@C21,C20 SAY '� End date: (dd/mm/yyyy) �'
@C22,C20 SAY '� �'
@C23,C20 SAY '����������������������������������������������'
DTE1=DATE()
@C20,47 GET DTE1
READ
DTE2=DTE1
@C21,47 GET DTE2
READ
YORN=NA
@C22,C22 SAY 'Include previously listed records? (Y/N)' GET YORN PICTURE '!'
READ
USE &SHIST
IF RECSIZE()>1200
INVLINES=C11
ELSE
INVLINES=C9
ENDIF
SET FILTER TO INVDATE>=DTE1 .AND. INVDATE<=DTE2
GO TOP
SET CONSOLE OFF
IF YORN=YA
IF INVLINES=C9
REPORT FORM HISTTAX9 FOR (INVTYPE='X' .OR. INVTYPE='E') HEADING 'Ex Tax Sales' TO PRINT
ELSE
REPORT FORM HISTTAX FOR (INVTYPE='X' .OR. INVTYPE='E') HEADING 'Ex Tax Sales' TO PRINT
ENDIF
ELSE
IF INVLINES=C9
REPORT FORM HISTTAX9 FOR (INVTYPE='X' .OR. INVTYPE='E') .AND. TAXPR#YA HEADING 'Ex Tax Sales' TO PRINT
ELSE
REPORT FORM HISTTAX FOR (INVTYPE='X' .OR. INVTYPE='E') .AND. TAXPR#YA HEADING 'Ex Tax Sales' TO PRINT
ENDIF
ENDIF
GO TOP
DO WHILE .NOT. EOF()
IF (INVTYPE='X' .OR. INVTYPE='E')
REPLACE TAXPR WITH 'Y'
ENDIF
SKIP
ENDDO
SET CONSOLE ON
CLOSE ALL
CASE PICK=C0
RESTORE SCREEN FROM SCRN2
USE
LOOP
ENDCASE
CASE CHOICE=C6
CALL FADE
PICK=C0
@C11,56 SAY '����������������������Ŀ'
@C12,56 SAY '� �'
@C13,56 SAY '� �'
@C14,56 SAY '� �'
@C15,56 SAY '����������������������Ĵ'
@C16,56 SAY '� �'
@C17,56 SAY '������������������������'
@C12,58 PROMPT '1> Find Date '
@C13,58 PROMPT '2> Find Part '
@C14,58 PROMPT '3> Find Description'
@C16,58 PROMPT 'Q> Quit to History '
MENU TO PICK
IF PICK>C3
PICK=C0
ENDIF
DTE1=CTOD('01/01/01')
DTE2=DATE()
DO CASE
CASE PICK=C1
USE &SHIST
DTE1=DATE()-1
@C19,C20 SAY '�������������������������������������Ŀ'
@C20,C20 SAY '� Start date: (dd/mm/yyyy) �'
@C21,C20 SAY '� End date: (dd/mm/yyyy) �'
@C22,C20 SAY '���������������������������������������'
@C20,47 GET DTE1
READ
DTE2=DTE1
@C21,47 GET DTE2
READ
DTHEAD='From '+DTOC(DTE1)+' to '+DTOC(DTE2)
GO TOP
SET PRINT ON
SET CONSOLE OFF
REPORT FORM HISTLIST FOR INVDATE>=DTE1 .AND. INVDATE<=DTE2 HEADING DTHEAD TO PRINT
SET CONSOLE ON
SET PRINT OFF
USE
CASE PICK=C2
PRT=SPACE(15)
@C19,C20 SAY '�������������������������������������Ŀ'
@C20,C20 SAY '� Start date: (dd/mm/yyyy) �'
@C21,C20 SAY '� End date: (dd/mm/yyyy) �'
@C22,C20 SAY '� Part No: �'
@C23,C20 SAY '���������������������������������������'
@C20,47 GET DTE1
@C21,47 GET DTE2
@C22,34 GET PRT PICTURE '!!!!!!!!!!!!!!'
READ
PRT=TRIM(PRT)
USE &SHIST
IF RECSIZE()>1200
INVLINES=C11
ELSE
INVLINES=C9
ENDIF
SET FILTER TO INVDATE>=DTE1 .AND. INVDATE<=DTE2
GO TOP
SET PRINT ON
SET CONSOLE OFF
IF INVLINES=C9
REPORT FORM HISTLIST FOR PRT$PART1.OR.PRT$PART2.OR.PRT$PART3.OR.PRT$PART4.OR.PRT$PART5.OR.PRT$PART6.OR.PRT$PART7.OR.PRT$PART8.OR.PRT$PART9 HEADING PRT TO PRINT
ELSE
REPORT FORM HISTLIST FOR PRT$PART1.OR.PRT$PART2.OR.PRT$PART3.OR.PRT$PART4.OR.PRT$PART5.OR.PRT$PART6.OR.PRT$PART7.OR.PRT$PART8.OR.PRT$PART9.OR.PRT$PARTA.OR.PRT$PARTB HEADING PRT TO PRINT
ENDIF
SET CONSOLE ON
SET PRINT OFF
SET FILTER TO
USE
CASE PICK=C3
DSCR=SPACE(20)
@C19,C20 SAY '�������������������������������������Ŀ'
@C20,C20 SAY '� Start date: (dd/mm/yyyy) �'
@C21,C20 SAY '� End date: (dd/mm/yyyy) �'
@C22,C20 SAY '� Description: �'
@C23,C20 SAY '���������������������������������������'
@C20,47 GET DTE1
@C21,47 GET DTE2
@C22,36 GET DSCR
READ
USE &SHIST
IF RECSIZE()>1200
INVLINES=C11
ELSE
INVLINES=C9
ENDIF
SET FILTER TO INVDATE>=DTE1 .AND. INVDATE<=DTE2
GO TOP
DSC=TRIM(UPPER(DSCR))
SET PRINT ON
SET CONSOLE OFF
IF INVLINES=C9
REPORT FORM HISTLIST FOR DSC$UPPER(DESC1).OR.DSC$UPPER(DESC2).OR.DSC$UPPER(DESC3).OR.DSC$UPPER(DESC4).OR.DSC$UPPER(DESC5).OR.DSC$UPPER(DESC6).OR.DSC$UPPER(DESC7).OR.DSC$UPPER(DESC8).OR.DSC$UPPER(DESC9) HEADING DSCR TO PRINT
ELSE
REPORT FORM HISTLIST FOR ;
DSC$UPPER(DESC1).OR.DSC$UPPER(DESC2).OR.DSC$UPPER(DESC3).OR.DSC$UPPER(DESC4).OR.DSC$UPPER(DESC5).OR.DSC$UPPER(DESC6).OR.DSC$UPPER(DESC7).OR.DSC$UPPER(DESC8).OR.DSC$UPPER(DESC9).OR.DSC$UPPER(DESCA).OR.DSC$UPPER(DESCB);
HEADING DSCR TO PRINT
ENDIF
SET CONSOLE OFF
SET PRINT ON
SET FILTER TO
USE
CASE PICK=C0
RESTORE SCREEN FROM SCRN2
LOOP
ENDCASE
CASE CHOICE=C7
DTE1=CTOD('01/01/1901')
DTE2=DATE()
CALL FADE
@C19,C20 SAY '����������������������������������������Ŀ'
@C20,C20 SAY '� Start date: (dd/mm/yyyy) �'
@C21,C20 SAY '� End date: (dd/mm/yyyy) �'
@C22,C20 SAY '� �'
@C23,C20 SAY '������������������������������������������'
@C20,47 GET DTE1
@C21,47 GET DTE2
READ
SELECT 1
USE &SHIST
IF RECSIZE()>1200
INVLINES=C11
ELSE
INVLINES=C9
ENDIF
SET FILTER TO INVDATE>=DTE1 .AND. INVDATE<=DTE2
CALL FADE
PICK=C0
@C6 ,53 SAY '�������������������������Ŀ'
@C7 ,53 SAY '� �'
@C8 ,53 SAY '� �'
@C9 ,53 SAY '� �'
@C10,53 SAY '� �'
@C11,53 SAY '� �'
@C12,53 SAY '� �'
@C13,53 SAY '� �'
@C14,53 SAY '� �'
@C15,53 SAY '� �'
@C16,53 SAY '�������������������������Ĵ'
@C17,53 SAY '� �'
@C18,53 SAY '���������������������������'
@C7 ,55 PROMPT '1> All '
@C8 ,55 PROMPT '2> For Salesman '
@C9 ,55 PROMPT '3> For Name '
@C10,55 PROMPT '4> For Company '
@C11,55 PROMPT '5> For Account '
@C12,55 PROMPT '6> For Reference '
@C13,55 PROMPT '7> For Product Group'
@C14,55 PROMPT '8> For Part Number '
@C15,55 PROMPT '9> For Location '
@C17,55 PROMPT 'Q> Quit to History '
MENU TO PICK
IF PICK>C9
PICK=C0
ENDIF
DO CASE
CASE PICK=C1
YORN=NA
@C22,30 SAY 'Print (Y/N)?' GET YORN PICTURE '!'
READ
IF YORN=YA
SET PRINT ON
SET CONSOLE OFF
REPORT FORM HISTREP TO PRINT FOR PTYPECASH+PTYPECHEQ+PTYPECARD#C0
SET PRINT OFF
SET CONSOLE ON
ELSE
@C19,C20 SAY '����������������������������������������Ŀ'
@C20,C20 SAY '� Sales: �'
@C21,C20 SAY '� Cost: �'
@C22,C20 SAY '� Av Margin: �'
@C23,C20 SAY '� No. Sales: �'
@C24,C20 SAY '������������������������������������������'
SUM PTYPECASH+PTYPECHEQ+PTYPECARD TO SLSTOT
@C20,35 SAY SLSTOT PICTURE '99999999'
SUM COST TO CSTTOT FOR PAID=YA
@C21,35 SAY CSTTOT PICTURE '99999999.99'
SUM PTYPECASH+PTYPECHEQ+PTYPECARD TO TAXTOT FOR INVTYPE='T'
TAXTOT=TAXTOT*.2
@C22,35 SAY ((SLSTOT-CSTTOT-TAXTOT)/(SLSTOT+.01-TAXTOT))*100 PICTURE '99999999.99'
COUNT TO CNTTOT
@C23,35 SAY CNTTOT PICTURE '99999999'
WAIT
ENDIF
SET FILTER TO
USE
CASE PICK=C2
@C22,C22 SAY 'Salesman:' GET NME PICTURE '!!!'
READ
YORN=NA
@C22,C20 SAY '� �'
@C22,30 SAY 'Print (Y/N)?' GET YORN PICTURE '!'
READ
IF YORN=YA
SET PRINT ON
SET CONSOLE OFF
REPORT FORM HISTREP TO PRINT FOR SALESMAN=NME .AND. PTYPECASH+PTYPECHEQ+PTYPECARD#C0
SET PRINT OFF
SET CONSOLE ON
ELSE
@C19,C20 SAY '����������������������������������������Ŀ'
@C20,C20 SAY '� Sales: �'
@C21,C20 SAY '� Cost: �'
@C22,C20 SAY '� Av Margin: �'
@C23,C20 SAY '� No. Sales: �'
@C24,C20 SAY '������������������������������������������'
SUM PTYPECASH+PTYPECHEQ+PTYPECARD TO SLSTOT FOR SALESMAN=NME
@C20,35 SAY SLSTOT PICTURE '99999999.99'
SUM COST TO CSTTOT FOR SALESMAN=NME .AND. PAID=YA
@C21,35 SAY CSTTOT PICTURE '99999999.99'
SUM PTYPECASH+PTYPECHEQ+PTYPECARD TO TAXTOT FOR SALESMAN=NME .AND. INVTYPE='T'
TAXTOT=TAXTOT*.2
@C22,35 SAY ((SLSTOT-CSTTOT-TAXTOT)/(SLSTOT+.01-TAXTOT))*100 PICTURE '99999999.99'
COUNT TO CNTTOT FOR SALESMAN=NME
@C23,35 SAY CNTTOT PICTURE '99999999'
WAIT
ENDIF
SET FILTER TO
USE
CASE PICK=C3
@C22,C22 SAY 'Name:' GET NME
READ
YORN=NA
@C22,C20 SAY '� �'
@C22,30 SAY 'Print (Y/N)?' GET YORN PICTURE '!'
READ
IF YORN=YA
SET PRINT ON
SET CONSOLE OFF
REPORT FORM HISTREP TO PRINT FOR UPPER(TRIM(NME))$UPPER(NAME) .AND. PTYPECASH+PTYPECHEQ+PTYPECARD#C0
SET PRINT OFF
SET CONSOLE ON
ELSE
@C19,C20 SAY '����������������������������������������Ŀ'
@C20,C20 SAY '� Sales: �'
@C21,C20 SAY '� Cost: �'
@C22,C20 SAY '� Av Margin: �'
@C23,C20 SAY '� No. Sales: �'
@C24,C20 SAY '������������������������������������������'
NME=TRIM(NME)
SUM PTYPECASH+PTYPECHEQ+PTYPECARD TO SLSTOT FOR UPPER(TRIM(NME))$UPPER(NAME)
@C20,35 SAY SLSTOT PICTURE '99999999.99'
SUM COST TO CSTTOT FOR UPPER(NME)$UPPER(NAME)
@C21,35 SAY CSTTOT PICTURE '99999999.99'
SUM PTYPECASH+PTYPECHEQ+PTYPECARD TO TAXTOT FOR UPPER(TRIM(NME))$UPPER(NAME) .AND. INVTYPE='T'
TAXTOT=TAXTOT*.2
@C22,35 SAY ((SLSTOT-CSTTOT-TAXTOT)/(SLSTOT+.01-TAXTOT))*100 PICTURE '99999999.99'
COUNT TO CNTTOT FOR UPPER(NME)$UPPER(NAME)
@C23,35 SAY CNTTOT PICTURE '99999999'
WAIT
ENDIF
SET FILTER TO
USE
CASE PICK=C4
@C22,C22 SAY 'Company:' GET NME
READ
YORN=NA
@C22,C20 SAY '� �'
@C22,30 SAY 'Print (Y/N)?' GET YORN PICTURE '!'
READ
IF YORN=YA
SET PRINT ON
SET CONSOLE OFF
REPORT FORM HISTREP TO PRINT FOR UPPER(TRIM(NME))$UPPER(COMPANY) .AND. PTYPECASH+PTYPECHEQ+PTYPECARD#C0
SET PRINT OFF
SET CONSOLE ON
ELSE
@C19,C20 SAY '����������������������������������������Ŀ'
@C20,C20 SAY '� Sales: �'
@C21,C20 SAY '� Cost: �'
@C22,C20 SAY '� Av Margin: �'
@C23,C20 SAY '� No. Sales: �'
@C24,C20 SAY '������������������������������������������'
NME=TRIM(NME)
SUM PTYPECASH+PTYPECHEQ+PTYPECARD TO SLSTOT FOR UPPER(TRIM(NME))$UPPER(COMPANY)
@C20,35 SAY SLSTOT PICTURE '99999999.99'
SUM COST TO CSTTOT FOR UPPER(NME)$UPPER(NAME)
@C21,35 SAY CSTTOT PICTURE '99999999.99'
SUM PTYPECASH+PTYPECHEQ+PTYPECARD TO TAXTOT FOR UPPER(TRIM(NME))$UPPER(COMPANY) .AND. INVTYPE='T'
TAXTOT=TAXTOT*.2
@C22,35 SAY ((SLSTOT-CSTTOT-TAXTOT)/(SLSTOT+.01-TAXTOT))*100 PICTURE '99999999.99'
COUNT TO CNTTOT FOR UPPER(NME)$UPPER(NAME)
@C23,35 SAY CNTTOT PICTURE '99999999'
WAIT
ENDIF
SET FILTER TO
USE
CASE PICK=C5
@C22,C22 SAY 'Account:' GET NME PICTURE '!!!!'
READ
YORN=NA
@C22,C20 SAY '� �'
@C22,30 SAY 'Print (Y/N)?' GET YORN PICTURE '!'
READ
IF YORN=YA
SET PRINT ON
SET CONSOLE OFF
REPORT FORM HISTREP TO PRINT FOR ACCOUNT=NME .AND. PTYPECASH+PTYPECHEQ+PTYPECARD#C0
SET PRINT OFF
SET CONSOLE ON
ELSE
@C19,C20 SAY '����������������������������������������Ŀ'
@C20,C20 SAY '� Sales: �'
@C21,C20 SAY '� Cost: �'
@C22,C20 SAY '� Av Margin: �'
@C23,C20 SAY '� No. Sales: �'
@C24,C20 SAY '������������������������������������������'
SUM PTYPECASH+PTYPECHEQ+PTYPECARD TO SLSTOT FOR ACCOUNT=NME
@C20,35 SAY SLSTOT PICTURE '99999999.99'
SUM COST TO CSTTOT FOR ACCOUNT=NME
@C21,35 SAY CSTTOT PICTURE '99999999.99'
SUM PTYPECASH+PTYPECHEQ+PTYPECARD TO TAXTOT FOR ACCOUNT=NME .AND. INVTYPE='T'
TAXTOT=TAXTOT*.2
@C22,35 SAY ((SLSTOT-CSTTOT-TAXTOT)/(SLSTOT+.01-TAXTOT))*100 PICTURE '99999999.99'
COUNT TO CNTTOT FOR ACCOUNT=NME
@C23,35 SAY CNTTOT PICTURE '99999999'
WAIT
ENDIF
SET FILTER TO
USE
CASE PICK=C6
REF=' '
@C22,C22 SAY 'Reference:' GET REF
READ
YORN=NA
@C22,C20 SAY '� �'
@C22,30 SAY 'Print (Y/N)?' GET YORN PICTURE '!'
READ
IF YORN=YA
SET PRINT ON
SET CONSOLE OFF
REPORT FORM HISTREP TO PRINT FOR UPPER(TRIM(REF))$UPPER(REFERENCE) .AND. PTYPECASH+PTYPECHEQ+PTYPECARD#C0
SET PRINT OFF
SET CONSOLE ON
ELSE
@C19,C20 SAY '����������������������������������������Ŀ'
@C20,C20 SAY '� Sales: �'
@C21,C20 SAY '� Cost: �'
@C22,C20 SAY '� Av Margin: �'
@C23,C20 SAY '� No. Sales: �'
@C24,C20 SAY '������������������������������������������'
NME=TRIM(REF)
SUM PTYPECASH+PTYPECHEQ+PTYPECARD TO SLSTOT FOR UPPER(TRIM(REF))$UPPER(REFERENCE)
@C20,35 SAY SLSTOT PICTURE '99999999.99'
SUM COST TO CSTTOT FOR UPPER(TRIM(REF))$UPPER(REFERENCE)
@C21,35 SAY CSTTOT PICTURE '99999999.99'
SUM PTYPECASH+PTYPECHEQ+PTYPECARD TO TAXTOT FOR UPPER(REF)$UPPER(REFERENCE) .AND. INVTYPE='T'
TAXTOT=TAXTOT*.2
@C22,35 SAY ((SLSTOT-CSTTOT-TAXTOT)/(SLSTOT+.01-TAXTOT))*100 PICTURE '99999999.99'
COUNT TO CNTTOT FOR UPPER(TRIM(REF))$UPPER(REFERENCE)
@C23,35 SAY CNTTOT PICTURE '99999999'
WAIT
ENDIF
SET FILTER TO
USE
CASE PICK=C7
DPT=' '
@C19,C20 SAY '����������������������������������������Ŀ'
@C20,C20 SAY '� Product Group: �'
@C21,C20 SAY '� �'
@C22,C20 SAY '� Sales: �'
@C23,C20 SAY '� Instances: �'
@C24,C20 SAY '������������������������������������������'
@C20,37 GET DPT
READ
@C21,C21 SAY '����������������������������������������'
SUM (RETAIL1*NUM1) TO SLSTOT1 FOR DPT=DEPT1 .AND. INVTYPE='T'
SUM NUM1 TO SLSNUM1 FOR DPT=DEPT1
@C21,C21 SAY '�'
SUM (RETAIL2*NUM2) TO SLSTOT2 FOR DPT=DEPT2 .AND. INVTYPE='T'
SUM NUM2 TO SLSNUM2 FOR DPT=DEPT2
@C21,C22 SAY '�'
SUM (RETAIL3*NUM3) TO SLSTOT3 FOR DPT=DEPT3 .AND. INVTYPE='T'
SUM NUM3 TO SLSNUM3 FOR DPT=DEPT3
@C21,C23 SAY '�'
SUM (RETAIL4*NUM4) TO SLSTOT4 FOR DPT=DEPT4 .AND. INVTYPE='T'
SUM NUM4 TO SLSNUM4 FOR DPT=DEPT4
@C21,C24 SAY '�'
SUM (RETAIL5*NUM5) TO SLSTOT5 FOR DPT=DEPT5 .AND. INVTYPE='T'
SUM NUM5 TO SLSNUM5 FOR DPT=DEPT5
@C21,C25 SAY '�'
SUM (RETAIL6*NUM6) TO SLSTOT6 FOR DPT=DEPT6 .AND. INVTYPE='T'
SUM NUM6 TO SLSNUM6 FOR DPT=DEPT6
@C21,26 SAY '�'
SUM (RETAIL7*NUM7) TO SLSTOT7 FOR DPT=DEPT7 .AND. INVTYPE='T'
SUM NUM7 TO SLSNUM7 FOR DPT=DEPT7
@C21,27 SAY '�'
SUM (RETAIL8*NUM8) TO SLSTOT8 FOR DPT=DEPT8 .AND. INVTYPE='T'
SUM NUM8 TO SLSNUM8 FOR DPT=DEPT8
@C21,28 SAY '�'
SUM (RETAIL9*NUM9) TO SLSTOT9 FOR DPT=DEPT9 .AND. INVTYPE='T'
SUM NUM9 TO SLSNUM9 FOR DPT=DEPT9
@C21,29 SAY '�'
IF INVLINES=C9
@C21,30 SAY '�'
@C21,31 SAY '�'
ELSE
SUM (RETAILA*NUMA) TO SLSTOTA FOR DPT=DEPTA .AND. INVTYPE='T'
SUM NUMA TO SLSNUMA FOR DPT=DEPTA
@C21,30 SAY '�'
SUM (RETAILB*NUMB) TO SLSTOTB FOR DPT=DEPTB .AND. INVTYPE='T'
SUM NUMB TO SLSNUMB FOR DPT=DEPTB
@C21,31 SAY '�'
ENDIF
IF INVLINES=C9
SLSTOT=SLSTOT1+SLSTOT2+SLSTOT3+SLSTOT4+SLSTOT5+SLSTOT6+SLSTOT7+SLSTOT8+SLSTOT9
SLSNUM=SLSNUM1+SLSNUM2+SLSNUM3+SLSNUM4+SLSNUM5+SLSNUM6+SLSNUM7+SLSNUM8+SLSNUM9
ELSE
SLSTOT=SLSTOT1+SLSTOT2+SLSTOT3+SLSTOT4+SLSTOT5+SLSTOT6+SLSTOT7+SLSTOT8+SLSTOT9+SLSTOTA+SLSTOTB
SLSNUM=SLSNUM1+SLSNUM2+SLSNUM3+SLSNUM4+SLSNUM5+SLSNUM6+SLSNUM7+SLSNUM8+SLSNUM9+SLSNUMA+SLSNUMB
ENDIF
SUM (RETAIL1*NUM1) TO SLSTOT1 FOR DPT=DEPT1 .AND. INVTYPE='W'
@C21,32 SAY '�'
SUM (RETAIL2*NUM2) TO SLSTOT2 FOR DPT=DEPT2 .AND. INVTYPE='W'
@C21,32 SAY '�'
SUM (RETAIL3*NUM3) TO SLSTOT3 FOR DPT=DEPT3 .AND. INVTYPE='W'
@C21,33 SAY '�'
SUM (RETAIL4*NUM4) TO SLSTOT4 FOR DPT=DEPT4 .AND. INVTYPE='W'
@C21,34 SAY '�'
SUM (RETAIL5*NUM5) TO SLSTOT5 FOR DPT=DEPT5 .AND. INVTYPE='W'
@C21,35 SAY '�'
SUM (RETAIL6*NUM6) TO SLSTOT6 FOR DPT=DEPT6 .AND. INVTYPE='W'
@C21,36 SAY '�'
SUM (RETAIL7*NUM7) TO SLSTOT7 FOR DPT=DEPT7 .AND. INVTYPE='W'
@C21,37 SAY '�'
SUM (RETAIL8*NUM8) TO SLSTOT8 FOR DPT=DEPT8 .AND. INVTYPE='W'
@C21,38 SAY '�'
SUM (RETAIL9*NUM9) TO SLSTOT9 FOR DPT=DEPT9 .AND. INVTYPE='W'
@C21,39 SAY '�'
IF INVLINES=C9
@C21,40 SAY '�'
@C21,41 SAY '�'
ELSE
SUM (RETAILA*NUMA) TO SLSTOTA FOR DPT=DEPTA .AND. INVTYPE='W'
@C21,40 SAY '�'
SUM (RETAILB*NUMB) TO SLSTOTB FOR DPT=DEPTB .AND. INVTYPE='W'
@C21,41 SAY '�'
ENDIF
IF INVLINES=C9
SLSTOT=SLSTOT+SLSTOT1+SLSTOT2+SLSTOT3+SLSTOT4+SLSTOT5+SLSTOT6+SLSTOT7+SLSTOT8+SLSTOT9
ELSE
SLSTOT=SLSTOT+SLSTOT1+SLSTOT2+SLSTOT3+SLSTOT4+SLSTOT5+SLSTOT6+SLSTOT7+SLSTOT8+SLSTOT9+SLSTOTA+SLSTOTB
ENDIF
SUM (RETAIL1-TAX1)*NUM1 TO SLSTOT1 FOR DPT=DEPT1 .AND. INVTYPE='E'
@C21,42 SAY '�'
SUM (RETAIL2-TAX2)*NUM2 TO SLSTOT2 FOR DPT=DEPT2 .AND. INVTYPE='E'
@C21,43 SAY '�'
SUM (RETAIL3-TAX3)*NUM3 TO SLSTOT3 FOR DPT=DEPT3 .AND. INVTYPE='E'
@C21,44 SAY '�'
SUM (RETAIL4-TAX4)*NUM4 TO SLSTOT4 FOR DPT=DEPT4 .AND. INVTYPE='E'
@C21,45 SAY '�'
SUM (RETAIL5-TAX5)*NUM5 TO SLSTOT5 FOR DPT=DEPT5 .AND. INVTYPE='E'
@C21,46 SAY '�'
SUM (RETAIL6-TAX6)*NUM6 TO SLSTOT6 FOR DPT=DEPT6 .AND. INVTYPE='E'
@C21,47 SAY '�'
SUM (RETAIL7-TAX7)*NUM7 TO SLSTOT7 FOR DPT=DEPT7 .AND. INVTYPE='E'
@C21,48 SAY '�'
SUM (RETAIL8-TAX8)*NUM8 TO SLSTOT8 FOR DPT=DEPT8 .AND. INVTYPE='E'
@C21,49 SAY '�'
SUM (RETAIL9-TAX9)*NUM9 TO SLSTOT9 FOR DPT=DEPT9 .AND. INVTYPE='E'
@C21,50 SAY '�'
IF INVLINES=C9
@C21,51 SAY '�'
@C21,52 SAY '�'
ELSE
SUM (RETAILA-TAXA)*NUMA TO SLSTOTA FOR DPT=DEPTA .AND. INVTYPE='E'
@C21,51 SAY '�'
SUM (RETAILB-TAXB)*NUMB TO SLSTOTB FOR DPT=DEPTB .AND. INVTYPE='E'
@C21,52 SAY '�'
ENDIF
IF INVLINES=C9
SLSTOT=SLSTOT+SLSTOT1+SLSTOT2+SLSTOT3+SLSTOT4+SLSTOT5+SLSTOT6+SLSTOT7+SLSTOT8+SLSTOT9
ELSE
SLSTOT=SLSTOT+SLSTOT1+SLSTOT2+SLSTOT3+SLSTOT4+SLSTOT5+SLSTOT6+SLSTOT7+SLSTOT8+SLSTOT9+SLSTOTA+SLSTOTB
ENDIF
SUM (RETAIL1-TAX1)*NUM1 TO SLSTOT1 FOR DPT=DEPT1 .AND. INVTYPE='X'
@C21,53 SAY '�'
SUM (RETAIL2-TAX2)*NUM2 TO SLSTOT2 FOR DPT=DEPT2 .AND. INVTYPE='X'
@C21,54 SAY '�'
SUM (RETAIL3-TAX3)*NUM3 TO SLSTOT3 FOR DPT=DEPT3 .AND. INVTYPE='X'
@C21,55 SAY '�'
SUM (RETAIL4-TAX4)*NUM4 TO SLSTOT4 FOR DPT=DEPT4 .AND. INVTYPE='X'
@C21,56 SAY '�'
SUM (RETAIL5-TAX5)*NUM5 TO SLSTOT5 FOR DPT=DEPT5 .AND. INVTYPE='X'
@C21,57 SAY '�'
SUM (RETAIL6-TAX6)*NUM6 TO SLSTOT6 FOR DPT=DEPT6 .AND. INVTYPE='X'
@C21,58 SAY '�'
SUM (RETAIL7-TAX7)*NUM7 TO SLSTOT7 FOR DPT=DEPT7 .AND. INVTYPE='X'
@C21,59 SAY '�'
SUM (RETAIL8-TAX8)*NUM8 TO SLSTOT8 FOR DPT=DEPT8 .AND. INVTYPE='X'
@C21,60 SAY '�'
SUM (RETAIL9-TAX9)*NUM9 TO SLSTOT9 FOR DPT=DEPT9 .AND. INVTYPE='X'
@C21,51 SAY '�'
IF INVLINES=C9
SLSTOT=SLSTOT+SLSTOT1+SLSTOT2+SLSTOT3+SLSTOT4+SLSTOT5+SLSTOT6+SLSTOT7+SLSTOT8+SLSTOT9
ELSE
SLSTOT=SLSTOT+SLSTOT1+SLSTOT2+SLSTOT3+SLSTOT4+SLSTOT5+SLSTOT6+SLSTOT7+SLSTOT8+SLSTOT9+SLSTOTA+SLSTOTB
ENDIF
@C22,37 SAY SLSTOT PICTURE '99999999.99'
@C23,37 SAY SLSNUM PICTURE '99999999'
WAIT
SET FILTER TO
USE
CASE PICK=C8
@C19,C20 SAY '������������������������������������������Ŀ'
@C20,C20 SAY '� Part No.: �'
@C21,C20 SAY '� �'
@C22,C20 SAY '� Sales: �'
@C23,C20 SAY '� Instances: �'
@C24,C20 SAY '��������������������������������������������'
PRT=' '
@C20,37 GET PRT PICTURE '!!!!!!!!!!!!!!!'
READ
PRT=TRIM(PRT)
@C21,C21 SAY '������������������������������������������'
SUM (RETAIL1*NUM1) TO SLSTOT1 FOR PRT$PART1 .AND. INVTYPE='T'
SUM NUM1 TO SLSNUM1 FOR PRT$PART1
@C21,C21 SAY '�'
SUM (RETAIL2*NUM2) TO SLSTOT2 FOR PRT$PART2 .AND. INVTYPE='T'
SUM NUM2 TO SLSNUM2 FOR PRT$PART2
@C21,C22 SAY '�'
SUM (RETAIL3*NUM3) TO SLSTOT3 FOR PRT$PART3 .AND. INVTYPE='T'
SUM NUM3 TO SLSNUM3 FOR PRT$PART3
@C21,C23 SAY '�'
SUM (RETAIL4*NUM4) TO SLSTOT4 FOR PRT$PART4 .AND. INVTYPE='T'
SUM NUM4 TO SLSNUM4 FOR PRT$PART4
@C21,C24 SAY '�'
SUM (RETAIL5*NUM5) TO SLSTOT5 FOR PRT$PART5 .AND. INVTYPE='T'
SUM NUM5 TO SLSNUM5 FOR PRT$PART5
@C21,C25 SAY '�'
SUM (RETAIL6*NUM6) TO SLSTOT6 FOR PRT$PART6 .AND. INVTYPE='T'
SUM NUM6 TO SLSNUM6 FOR PRT$PART6
@C21,26 SAY '�'
SUM (RETAIL7*NUM7) TO SLSTOT7 FOR PRT$PART7 .AND. INVTYPE='T'
SUM NUM7 TO SLSNUM7 FOR PRT$PART7
@C21,27 SAY '�'
SUM (RETAIL8*NUM8) TO SLSTOT8 FOR PRT$PART8 .AND. INVTYPE='T'
SUM NUM8 TO SLSNUM8 FOR PRT$PART8
@C21,28 SAY '�'
SUM (RETAIL9*NUM9) TO SLSTOT9 FOR PRT$PART9 .AND. INVTYPE='T'
SUM NUM9 TO SLSNUM9 FOR PRT$PART9
@C21,29 SAY '�'
IF INVLINES=C9
@C21,30 SAY '�'
@C21,31 SAY '�'
ELSE
SUM (RETAILA*NUMA) TO SLSTOTA FOR PRT$PARTA .AND. INVTYPE='T'
SUM NUMA TO SLSNUMA FOR PRT$PARTA
@C21,30 SAY '�'
SUM (RETAILB*NUMB) TO SLSTOTB FOR PRT$PARTB .AND. INVTYPE='T'
SUM NUMA TO SLSNUMB FOR PRT$PARTB
@C21,31 SAY '�'
ENDIF
IF INVLINES=C9
SLSTOT=SLSTOT1+SLSTOT2+SLSTOT3+SLSTOT4+SLSTOT5+SLSTOT6+SLSTOT7+SLSTOT8+SLSTOT9
SLSNUM=SLSNUM1+SLSNUM2+SLSNUM3+SLSNUM4+SLSNUM5+SLSNUM6+SLSNUM7+SLSNUM8+SLSNUM9
ELSE
SLSTOT=SLSTOT1+SLSTOT2+SLSTOT3+SLSTOT4+SLSTOT5+SLSTOT6+SLSTOT7+SLSTOT8+SLSTOT9+SLSTOTA+SLSTOTB
SLSNUM=SLSNUM1+SLSNUM2+SLSNUM3+SLSNUM4+SLSNUM5+SLSNUM6+SLSNUM7+SLSNUM8+SLSNUM9+SLSNUMA+SLSNUMB
ENDIF
SUM (RETAIL1*NUM1) TO SLSTOT1 FOR PRT$PART1 .AND. INVTYPE='W'
@C21,32 SAY '�'
SUM (RETAIL2*NUM2) TO SLSTOT2 FOR PRT$PART2 .AND. INVTYPE='W'
@C21,33 SAY '�'
SUM (RETAIL3*NUM3) TO SLSTOT3 FOR PRT$PART3 .AND. INVTYPE='W'
@C21,34 SAY '�'
SUM (RETAIL4*NUM4) TO SLSTOT4 FOR PRT$PART4 .AND. INVTYPE='W'
@C21,35 SAY '�'
SUM (RETAIL5*NUM5) TO SLSTOT5 FOR PRT$PART5 .AND. INVTYPE='W'
@C21,36 SAY '�'
SUM (RETAIL6*NUM6) TO SLSTOT6 FOR PRT$PART6 .AND. INVTYPE='W'
@C21,37 SAY '�'
SUM (RETAIL7*NUM7) TO SLSTOT7 FOR PRT$PART7 .AND. INVTYPE='W'
@C21,38 SAY '�'
SUM (RETAIL8*NUM8) TO SLSTOT8 FOR PRT$PART8 .AND. INVTYPE='W'
@C21,39 SAY '�'
SUM (RETAIL9*NUM9) TO SLSTOT9 FOR PRT$PART9 .AND. INVTYPE='W'
@C21,40 SAY '�'
IF INVLINES=C9
@C21,41 SAY '�'
@C21,42 SAY '�'
ELSE
SUM (RETAILA*NUMA) TO SLSTOTA FOR PRT$PARTA .AND. INVTYPE='W'
@C21,41 SAY '�'
SUM (RETAILB*NUMB) TO SLSTOTB FOR PRT$PARTB .AND. INVTYPE='W'
@C21,42 SAY '�'
ENDIF
IF INVLINES=C9
SLSTOT=SLSTOT+SLSTOT1+SLSTOT2+SLSTOT3+SLSTOT4+SLSTOT5+SLSTOT6+SLSTOT7+SLSTOT8+SLSTOT9
ELSE
SLSTOT=SLSTOT+SLSTOT1+SLSTOT2+SLSTOT3+SLSTOT4+SLSTOT5+SLSTOT6+SLSTOT7+SLSTOT8+SLSTOT9+SLSTOTA+SLSTOTB
ENDIF
SUM (RETAIL1-TAX1)*NUM1 TO SLSTOT1 FOR PRT$PART1 .AND. INVTYPE='E'
@C21,43 SAY '�'
SUM (RETAIL2-TAX2)*NUM2 TO SLSTOT2 FOR PRT$PART2 .AND. INVTYPE='E'
@C21,44 SAY '�'
SUM (RETAIL3-TAX3)*NUM3 TO SLSTOT3 FOR PRT$PART3 .AND. INVTYPE='E'
@C21,45 SAY '�'
SUM (RETAIL4-TAX4)*NUM4 TO SLSTOT4 FOR PRT$PART4 .AND. INVTYPE='E'
@C21,46 SAY '�'
SUM (RETAIL5-TAX5)*NUM5 TO SLSTOT5 FOR PRT$PART5 .AND. INVTYPE='E'
@C21,47 SAY '�'
SUM (RETAIL6-TAX6)*NUM6 TO SLSTOT6 FOR PRT$PART6 .AND. INVTYPE='E'
@C21,48 SAY '�'
SUM (RETAIL7-TAX7)*NUM7 TO SLSTOT7 FOR PRT$PART7 .AND. INVTYPE='E'
@C21,49 SAY '�'
SUM (RETAIL8-TAX8)*NUM8 TO SLSTOT8 FOR PRT$PART8 .AND. INVTYPE='E'
@C21,50 SAY '�'
SUM (RETAIL9-TAX9)*NUM9 TO SLSTOT9 FOR PRT$PART9 .AND. INVTYPE='E'
@C21,51 SAY '�'
IF INVLINES=C9
@C21,52 SAY '�'
@C21,53 SAY '�'
ELSE
SUM (RETAILA-TAXA)*NUMA TO SLSTOTA FOR PRT$PARTA .AND. INVTYPE='E'
@C21,52 SAY '�'
SUM (RETAILB-TAXB)*NUMB TO SLSTOTB FOR PRT$PARTB .AND. INVTYPE='E'
@C21,53 SAY '�'
ENDIF
IF INVLINES=C9
SLSTOT=SLSTOT+SLSTOT1+SLSTOT2+SLSTOT3+SLSTOT4+SLSTOT5+SLSTOT6+SLSTOT7+SLSTOT8+SLSTOT9
ELSE
SLSTOT=SLSTOT+SLSTOT1+SLSTOT2+SLSTOT3+SLSTOT4+SLSTOT5+SLSTOT6+SLSTOT7+SLSTOT8+SLSTOT9+SLSTOTA+SLSTOTB
ENDIF
SUM (RETAIL1-TAX1)*NUM1 TO SLSTOT1 FOR PRT$PART1 .AND. INVTYPE='X'
@C21,54 SAY '�'
SUM (RETAIL2-TAX2)*NUM2 TO SLSTOT2 FOR PRT$PART2 .AND. INVTYPE='X'
@C21,55 SAY '�'
SUM (RETAIL3-TAX3)*NUM3 TO SLSTOT3 FOR PRT$PART3 .AND. INVTYPE='X'
@C21,56 SAY '�'
SUM (RETAIL4-TAX4)*NUM4 TO SLSTOT4 FOR PRT$PART4 .AND. INVTYPE='X'
@C21,57 SAY '�'
SUM (RETAIL5-TAX5)*NUM5 TO SLSTOT5 FOR PRT$PART5 .AND. INVTYPE='X'
@C21,58 SAY '�'
SUM (RETAIL6-TAX6)*NUM6 TO SLSTOT6 FOR PRT$PART6 .AND. INVTYPE='X'
@C21,59 SAY '�'
SUM (RETAIL7-TAX7)*NUM7 TO SLSTOT7 FOR PRT$PART7 .AND. INVTYPE='X'
@C21,60 SAY '�'
SUM (RETAIL8-TAX8)*NUM8 TO SLSTOT8 FOR PRT$PART8 .AND. INVTYPE='X'
@C21,61 SAY '�'
SUM (RETAIL9-TAX9)*NUM9 TO SLSTOT9 FOR PRT$PART9 .AND. INVTYPE='X'
@C21,62 SAY '�'
IF INVLINES=C9
SLSTOT=SLSTOT+SLSTOT1+SLSTOT2+SLSTOT3+SLSTOT4+SLSTOT5+SLSTOT6+SLSTOT7+SLSTOT8+SLSTOT9
ELSE
SLSTOT=SLSTOT+SLSTOT1+SLSTOT2+SLSTOT3+SLSTOT4+SLSTOT5+SLSTOT6+SLSTOT7+SLSTOT8+SLSTOT9+SLSTOTA+SLSTOTB
ENDIF
@C22,37 SAY SLSTOT PICTURE '99999999.99'
@C23,37 SAY SLSNUM PICTURE '99999999'
WAIT
SET FILTER TO
USE
CASE PICK=C9
LCN='G'
@C22,C24 SAY 'Location (G/E):' GET LCN PICTURE '!'
READ
YORN=NA
@C22,C20 SAY '� �'
@C22,30 SAY 'Print (Y/N)?' GET YORN PICTURE '!'
READ
IF YORN=YA
SET PRINT ON
SET CONSOLE OFF
REPORT FORM HISTREP TO PRINT FOR UPPER(TRIM(LCN))$UPPER(LOCN) .AND. PTYPECASH+PTYPECHEQ+PTYPECARD#C0
SET PRINT OFF
SET CONSOLE ON
ELSE
@C19,C20 SAY '����������������������������������������Ŀ'
@C20,C20 SAY '� Sales: �'
@C21,C20 SAY '� Cost: �'
@C22,C20 SAY '� Av Margin: �'
@C23,C20 SAY '� No. Sales: �'
@C24,C20 SAY '������������������������������������������'
NME=TRIM(NME)
SUM PTYPECASH+PTYPECHEQ+PTYPECARD TO SLSTOT FOR UPPER(TRIM(LCN))$UPPER(LOCN)
@C20,35 SAY SLSTOT PICTURE '99999999.99'
SUM COST TO CSTTOT FOR UPPER(LCN)$UPPER(LOCN)
@C21,35 SAY CSTTOT PICTURE '99999999.99'
SUM PTYPECASH+PTYPECHEQ+PTYPECARD TO TAXTOT FOR UPPER(TRIM(LCN))$UPPER(LOCN) .AND. INVTYPE='T'
TAXTOT=TAXTOT*.2
@C22,35 SAY ((SLSTOT-CSTTOT-TAXTOT)/(SLSTOT+.01-TAXTOT))*100 PICTURE '99999999.99'
COUNT TO CNTTOT FOR UPPER(LCN)$UPPER(LOCN)
@C23,35 SAY CNTTOT PICTURE '99999999'
WAIT
ENDIF
SET FILTER TO
USE
ENDCASE
CASE CHOICE=C8
CALL FADE
PICK=C0
USE POSEQUIP
YEAR1=LTRIM(STR(YR0))+'/'+LTRIM(STR(YR0+C1))
YEAR2=LTRIM(STR(YR0-C1))+'/'+LTRIM(STR(YR0))
YEAR3=LTRIM(STR(YR0-C2))+'/'+LTRIM(STR(YR0-C1))
YEAR4=LTRIM(STR(YR0-C3))+'/'+LTRIM(STR(YR0-C2))
YEAR5=LTRIM(STR(YR0-C4))+'/'+LTRIM(STR(YR0-C3))
YEAR6=LTRIM(STR(YR0-C5))+'/'+LTRIM(STR(YR0-C4))
YEAR7=LTRIM(STR(YR0-C6))+'/'+LTRIM(STR(YR0-C5))
@C14,63 SAY '��������������Ŀ'
@C15,63 SAY '� �'
@C16,63 SAY '� �'
@C17,63 SAY '� �'
@C18,63 SAY '� �'
@C19,63 SAY '� �'
@C20,63 SAY '� �'
@C21,63 SAY '� �'
@C22,63 SAY '����������������'
@C15,65 PROMPT '1>'
@C16,65 PROMPT '2>'
@C17,65 PROMPT '3>'
@C18,65 PROMPT '4>'
@C19,65 PROMPT '5>'
@C20,65 PROMPT '6>'
@C21,65 PROMPT '7>'
@C15,68 SAY YEAR1
@C16,68 SAY YEAR2
@C17,68 SAY YEAR3
@C18,68 SAY YEAR4
@C19,68 SAY YEAR5
@C20,68 SAY YEAR6
@C21,68 SAY YEAR7
MENU TO HYR
IF HYR>C7
HYR=C1
ENDIF
DO CASE
CASE HYR=C1
SHIST='SALEHIST'
CASE HYR=C2
DYR='D'+SUBSTR(LTRIM(STR(YR0)),3,2)
SHIST='OLDHIST.'+DYR
CASE HYR=C3
DYR='D'+SUBSTR(LTRIM(STR(YR0-C1)),3,2)
SHIST='OLDHIST.'+DYR
CASE HYR=C4
DYR='D'+SUBSTR(LTRIM(STR(YR0-C2)),3,2)
SHIST='OLDHIST.'+DYR
CASE HYR=C5
DYR='D'+SUBSTR(LTRIM(STR(YR0-C3)),3,2)
SHIST='OLDHIST.'+DYR
CASE HYR=C6
DYR='D'+SUBSTR(LTRIM(STR(YR0-C4)),3,2)
SHIST='OLDHIST.'+DYR
CASE HYR=C7
DYR='D'+SUBSTR(LTRIM(STR(YR0-C5)),3,2)
SHIST='OLDHIST.'+DYR
ENDCASE
USE &SHIST
IF RECSIZE()>1200
INVLINES=C11
ELSE
INVLINES=C9
ENDIF
USE
CASE CHOICE=C0
RESTORE SCREEN FROM SCRN1
RETURN
ENDCASE
RESTORE SCREEN FROM SCRN1
ENDDO
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment