compile function ar_inv_exp(Params,Manual) declare function msg, dialog_box, fieldcount declare subroutine rlist,activate_save_select $insert rlist_equates $insert logical $insert invoice_equ $insert invoice_srl_equ equ CrLf$ to char(13):char(10) convert '*' to @fm in Params FromDate = Params<1> ThruDate = Params<2> DosTable = Params<3> open 'INVOICE' to InvoiceTable else Void = msg( '', 'Unable to open INVOICE...' ) end TableToUse = 'INVOICE' oswrite '' on DosTable Tstat = status() if Tstat then Err = 'Bad operating system filename' Err<-1> = 'Access Denied' Err<-1> = 'Disk or Directory full' Err<-1> = 'Operating system error not defined elsewhere' Err<-1> = 'Attempt to write a read only file' Void = msg( '', Err ) return 0 end osopen DosTable to DosTableVar else Err = 'Bad operating system filename' Err<-1> = 'Access Denied' Err<-1> = 'File does not exist' Err<-1> = 'Undefined error' Void = msg( '', Err ) return 0 end BytePos = 0 Cmd = "SELECT ":TableToUse:" BY SEQ WITH ENTRY_DATE FROM ":QUOTE(FromDate):" TO ":QUOTE(ThruDate) rlist( Cmd, target_activelist$, '', '', '' ) *activate_save_select( 'BRYCE' ) *DEBUG *USED WHEN ERROR DURING THE ENDOFMONTH NumKeys = @reccount Cnt = 0 if @reccount then Cnt = 0 NumKeys = @reccount Eof = false$ loop readnext @id else Eof = true$ until Eof read @record from InvoiceTable, @id else Void = msg( '', 'Unable to read ':@id:' from ':TableToUse ) return 0 end SalesTots = xlate( TableToUse, @id, 'GL_ACCT_TOTS', 'X' ) CustName = xlate( TableToUse, @id, 'CUST_NAME', 'X' ) InvoiceAmount = oconv( xlate( TableToUse, @id, 'INVOICE_AMOUNT', 'X' ), 'MD2,$' ) Scnt = fieldcount( SalesTots, @vm ) BlobOut = '' for i = 1 to Scnt ThisSalesTotLine = SalesTots<1,i> ThisSalesTotLine = trim( ThisSalesTotLine ) if len( ThisSalesTotLine ) then SalesCode = field( ThisSalesTotLine, ' ', 1 ) SalesCodeTot = field( ThisSalesTotLine, ' ', 2 ) swap 'CM' with 'C' in @id ;* DUE TO MAS90 BlobOut := quote(@id):',':quote(CustName):',' *TCustNo = '41' *TCustNo = '' *TCustNo := oconv( @record, 'R(0)#7' ) BlobOut := quote(@record):',' BlobOut := quote(oconv(@record, 'D2/')):',' BlobOut := quote(oconv(@record, 'D2/')):',' BlobOut := quote(@record):',' BlobOut := quote(SalesCode):',' BlobOut := quote(SalesCodeTot):',' BlobOut := quote(InvoiceAmount):',' BlobOut := quote(oconv( @record, 'MD2,$' ) ) BlobOut := CrLf$ end next i osbwrite BlobOut on DosTableVar AT BytePos Tstat = status() if Tstat then Err = 'Bad operating system filename' Err<-1> = 'Access Denied' Err<-1> = 'Disk or directory full' Err<-1> = 'File does not exist' Err<-1> = 'Undefined error' Err<-1> = 'Attempt to write a read only file' Err<-1> = 'Invalid beginning byte position' Void = msg( '', Err ) return 0 end BytePos += len( BlobOut ) Cnt += 1 Percent = oconv( iconv(Cnt/NumKeys, 'MD2'), 'MD0' ):'%' Void = send_info( Percent:' Complete Exporting...' ) repeat end else if Manual then Void = msg('', "NO Records meeting your date criteria!!") end end osclose DosTableVar return 0