0% found this document useful (0 votes)
9 views3 pages

Vendor SOA

This SQL script generates a customer statement report by querying various tables to retrieve invoice and payment details for a specified date range. It calculates open balances, document types, and aggregates amounts for each customer, including pending invoices. The report includes fields such as company, customer ID, document number, and transaction amounts, with the option to filter by customer ID if needed.

Uploaded by

H
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views3 pages

Vendor SOA

This SQL script generates a customer statement report by querying various tables to retrieve invoice and payment details for a specified date range. It calculates open balances, document types, and aggregates amounts for each customer, including pending invoices. The report includes fields such as company, customer ID, document number, and transaction amounts, with the option to filter by customer ID if needed.

Uploaded by

H
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

DECLARE @StartDate varchar(8),

@EndDate varchar(8),
@CustomerID as varchar(20)

SET @StartDate='20250101'
SET @EndDate='20250228'

-----CUSTOMER STATEMENT--------------------
select Company,t.[Type of Document],IDCUST,NAMECUST,[Document No.],REFERENCE,
Format(CAST(CAST(DATEINVC as varchar(20)) as datetime),'MM-yyyy')DATEINVC,
AMTINVCHC, Debit,Credit
,sum(t.AMTINVCHC) over (order by "IDCUST","DATEINVC","DESCINVC" desc rows between
unbounded preceding and current row) as Balance
,DESCINVC,Location
from
(
--start 1-------------------------
SELECT Company,'Open Balance' 'Type of Document',"IDCUST",'' 'NAMECUST',''
'Document No.','' 'REFERENCE','Open Balance' 'DESCINVC',
@StartDate 'DATEINVC' ,SUM("AMTINVCHC") "AMTINVCHC",
(case when sum("AMTINVCHC")>0 then sum("AMTINVCHC") else 0 end ) as 'Debit',
(case when sum("AMTINVCHC")<0 then -sum("AMTINVCHC") else 0 end ) as 'Credit',''
as Location
FROM
(
SELECT 'AYFDAT' as Company,"AROBL"."AMTINVCHC", "AROBL"."IDCUST",
"AROBL"."DATEINVC",
--"ICLOC".[DESC] as "Location"
'' as "Location"
FROM "AYFDAT"."dbo"."AROBL" "AROBL" INNER JOIN "AYFDAT"."dbo"."OEORDH" ON
"AROBL".IDORDERNBR="OEORDH".ORDNUMBER
--INNER JOIN "AYFDAT"."dbo"."ICLOC" "ICLOC" ON "OEORDH".LOCATION="ICLOC".LOCATION
UNION ALL
select 'AYFDAT' as Company,SRCEAMOUNT "AMTINVCHC",payorid "IDCUST", DATEREMIT
"DATEINVC",'' as "Location"
from "AYFDAT"."dbo"."BKTRAND" where [status]=4
UNION ALL
SELECT 'ATRDAT' as Company,"AROBL"."AMTINVCHC", "AROBL"."IDCUST",
"AROBL"."DATEINVC",
--"ICLOC".[DESC] as "Location"
'' as "Location"
FROM "ATRDAT"."dbo"."AROBL" "AROBL" INNER JOIN "ATRDAT"."dbo"."OEORDH" ON
"AROBL".IDORDERNBR="OEORDH".ORDNUMBER
--INNER JOIN "ATRDAT"."dbo"."ICLOC" "ICLOC" ON "OEORDH".LOCATION="ICLOC".LOCATION
UNION ALL
select 'ATRDAT' as Company,SRCEAMOUNT "AMTINVCHC",payorid "IDCUST", DATEREMIT
"DATEINVC",'' as "Location"
from "ATRDAT"."dbo"."BKTRAND" where [status]=4
) AS A where --idcust = @CustomerID and
"DATEINVC" < @StartDate --and "DATEINVC" <='20211031'
GROUP BY "IDCUST",Company,Location
--end 1------------------------
union all
----start 2 -----
select Company,
(case when "TRXTYPETXT"=1 then 'Invoice'
when "TRXTYPETXT"=2 then 'Debit Note'
when "TRXTYPETXT"=3 then 'Credit Note'
when "TRXTYPETXT"=4 then 'Interest'
when "TRXTYPETXT"=5 then 'Unapplied Cash'
when "TRXTYPETXT"=10 then 'Prepayment'
when "TRXTYPETXT"=11 then 'Receipt'
when "TRXTYPETXT"=19 then 'Refund' else '' end ) as 'Type of Document',
"IDCUST", "NAMECUST","IDORDERNBR" 'Document No.',"REFERENCE" ,"DESCINVC"
'Description',"DATEINVC" 'DATE',
sum("AMTINVCHC") "AMTINVCHC",
(case when sum("AMTINVCHC")>0 then sum("AMTINVCHC") else 0 end ) as 'Debit',
(case when sum("AMTINVCHC")<0 then -sum("AMTINVCHC") else 0 end ) as
'Credit',Location
from (
--select "IDCUST", "NAMECUST", "IDINVC", "DATEINVC" 'DATE',sum("AMTINVCHC")
"AMTINVCHC", "TRXTYPETXT", "TEXTSTRE1","IDORDERNBR" 'Document No.',"DESCINVC"
'Description',"REFERENCE" from (
SELECT 'AYFDAT' as Company,"ARCUS"."IDCUST", "ARCUS"."NAMECUST",/*
"AROBL"."IDINVC", */"AROBL"."DATEINVC", "AROBL"."AMTINVCHC", "AROBL"."TRXTYPETXT",
"ARCUS"."TEXTSTRE1", "AROBL"."IDORDERNBR", case when "AROBL"."DESCINVC" = ''
then "AROBL"."IDCUSTPO" else "AROBL"."DESCINVC" end as 'DESCINVC',
(select REFERENCE from "AYFDAT"."dbo"."oeordh" where
"OEORDH"."ORDNUMBER"="AROBL"."IDORDERNBR") as 'REFERENCE',
case when "AROBL"."IDINVC" like 'IN%' then "AROBL"."IDORDERNBR" else
"AROBL"."IDINVC" end as 'IDINVC',
--"ICLOC".[DESC] as Location
'' as Location
FROM "AYFDAT"."dbo"."AROBL" "AROBL" INNER JOIN "AYFDAT"."dbo"."ARCUS" "ARCUS" ON
"AROBL"."IDCUST"="ARCUS"."IDCUST"
LEFT JOIN "AYFDAT"."dbo"."OEORDH" "OEORDH" ON
"AROBL".IDORDERNBR="OEORDH".ORDNUMBER
--LEFT JOIN "AYFDAT"."dbo"."ICLOC" "ICLOC" ON "OEORDH".LOCATION="ICLOC".LOCATION
UNION ALL
select 'AYFDAT' as Company,payorid "IDCUST",payorname "NAMECUST",DATEREMIT
"DATEINVC" ,SRCEAMOUNT "AMTINVCHC",'' "TRXTYPETXT",'' "TEXTSTRE1",''
"IDORDERNBR",'' "DESCINVC",SRCEDOCNUM "REFERENCE",'' "IDINVC",'' as Location
from "AYFDAT"."dbo"."BKTRAND" where [status]=4
UNION ALL
SELECT 'ATRDAT' as Company,"ARCUS"."IDCUST", "ARCUS"."NAMECUST",/*
"AROBL"."IDINVC",*/ "AROBL"."DATEINVC", "AROBL"."AMTINVCHC", "AROBL"."TRXTYPETXT",
"ARCUS"."TEXTSTRE1", "AROBL"."IDORDERNBR", case when "AROBL"."DESCINVC" = ''
then "AROBL"."IDCUSTPO" else "AROBL"."DESCINVC" end as 'DESCINVC',
(select REFERENCE from "ATRDAT"."dbo"."oeordh" where
"OEORDH"."ORDNUMBER"="AROBL"."IDORDERNBR") as 'REFERENCE',
case when "AROBL"."IDINVC" like 'IN%' then "AROBL"."IDORDERNBR" else
"AROBL"."IDINVC" end as 'IDINVC',
--"ICLOC".[DESC]as Location
''as Location
FROM "ATRDAT"."dbo"."AROBL" "AROBL" INNER JOIN "ATRDAT"."dbo"."ARCUS" "ARCUS" ON
"AROBL"."IDCUST"="ARCUS"."IDCUST"
LEFT JOIN "ATRDAT"."dbo"."OEORDH" "OEORDH" ON
"AROBL".IDORDERNBR="OEORDH".ORDNUMBER
--LEFT JOIN "ATRDAT"."dbo"."ICLOC" "ICLOC" ON "OEORDH".LOCATION="ICLOC".LOCATION
UNION ALL
select 'ATRDAT' as Company,payorid "IDCUST",payorname "NAMECUST",DATEREMIT
"DATEINVC" ,SRCEAMOUNT "AMTINVCHC",'' "TRXTYPETXT",'' "TEXTSTRE1",''
"IDORDERNBR",'' "DESCINVC",SRCEDOCNUM "REFERENCE",'' "IDINVC",'' as Location
from "ATRDAT"."dbo"."BKTRAND" where [status]=4
) as a
where
--idcust = @CustomerID and
"DATEINVC" >= @StartDate and "DATEINVC" <=@EndDate
group by "IDCUST", "NAMECUST", "IDINVC", "DATEINVC", "TRXTYPETXT",
"TEXTSTRE1","IDORDERNBR","DESCINVC","REFERENCE",Company
,Location
---end 2-----
union all
---start3----
select 'AYFDAT' as Company,'Pending Invoice' 'Type of Document',customer
'IDCUST',bilname 'NAMECUST',ordnumber 'Document No.', reference,
'Not Posted Invoice for '+h.LOCATION 'DESCINVC' ,orddate 'DATEINVC',
case when h.complete in (1,2) then sum(d.EXTINVMISC-(d.INVDISC+d.HDRDISC)) else
sum(((d.UNITPRICE*(100-discper)/100)*d.ORIGQTY)*(100-h.INVDISCPER)/100) end
'AMTINVCHC',
case when h.complete in (1,2) then sum(d.EXTINVMISC-(d.INVDISC+d.HDRDISC)) else
sum(((d.UNITPRICE*(100-discper)/100)*d.ORIGQTY)*(100-h.INVDISCPER)/100) end
'Debit',
0 'Credit',L.[DESC] as Location
from "AYFDAT"."dbo"."oeordd" D,"AYFDAT"."dbo"."OEORDH" H, "AYFDAT"."dbo"."OEORDH1"
H1,"AYFDAT"."dbo"."ICLOC" L
where H.orduniq=d.orduniq and h.ORDUNIQ=h1.ORDUNIQ and h.COMPLETE in(1,2) and
H.LOCATION=L.LOCATION AND
--customer = @CustomerID and
orddate >= @StartDate and orddate <=@EndDate
group by customer,h.LOCATIOn ,bilname ,ordnumber , reference,orddate ,
h.complete,L.[DESC]
union all
select 'ATRDAT' as Company,'Pending Invoice' 'Type of Document',customer
'IDCUST',bilname 'NAMECUST',ordnumber 'Document No.', reference,
'Not Posted Invoice for '+h.LOCATION 'DESCINVC' ,orddate 'DATEINVC',
case when h.complete in (1,2) then sum(d.EXTINVMISC-(d.INVDISC+d.HDRDISC)) else
sum(((d.UNITPRICE*(100-discper)/100)*d.ORIGQTY)*(100-h.INVDISCPER)/100) end
'AMTINVCHC',
case when h.complete in (1,2) then sum(d.EXTINVMISC-(d.INVDISC+d.HDRDISC)) else
sum(((d.UNITPRICE*(100-discper)/100)*d.ORIGQTY)*(100-h.INVDISCPER)/100) end
'Debit',
0 'Credit',L.[DESC] as Location
from "ATRDAT"."dbo"."oeordd" D,"ATRDAT"."dbo"."OEORDH" H, "ATRDAT"."dbo"."OEORDH1"
H1,"ATRDAT"."dbo"."ICLOC" L
where H.orduniq=d.orduniq and h.ORDUNIQ=h1.ORDUNIQ and h.COMPLETE in(1,2) and
H.LOCATION=L.LOCATION AND
--customer = @CustomerID and
orddate >= @StartDate and orddate <=@EndDate
group by customer,h.LOCATIOn ,bilname ,ordnumber , reference,orddate ,
h.complete,L.[DESC]
---end3----

) t
--WHERE [Type of Document]='Receipt'
-- order by --"IDCUST","DESCINVC" DESC,
-- --Format(CAST(CAST(DATEINVC as varchar(20)) as datetime),'dd/MM/yyyy') Asc
--DATEINVC

You might also like