added LSL2 stored procedures
This commit is contained in:
107
LSL2/STPROC/AR_INV_EXP.txt
Normal file
107
LSL2/STPROC/AR_INV_EXP.txt
Normal file
@ -0,0 +1,107 @@
|
||||
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<Tstat> )
|
||||
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<status()> )
|
||||
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<invoice_cust_no$>, 'R(0)#7' )
|
||||
BlobOut := quote(@record<invoice_cust_no$>):','
|
||||
BlobOut := quote(oconv(@record<invoice_entry_date$>, 'D2/')):','
|
||||
BlobOut := quote(oconv(@record<invoice_due_date$>, 'D2/')):','
|
||||
BlobOut := quote(@record<invoice_po$>):','
|
||||
BlobOut := quote(SalesCode):','
|
||||
BlobOut := quote(SalesCodeTot):','
|
||||
BlobOut := quote(InvoiceAmount):','
|
||||
BlobOut := quote(oconv( @record<invoice_discount_amount$>, '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<Tstat> )
|
||||
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
|
Reference in New Issue
Block a user