Vendor SOA
Vendor SOA
@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