0% found this document useful (0 votes)
34 views7 pages

Case When TCS Is There

Uploaded by

satya93
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)
34 views7 pages

Case When TCS Is There

Uploaded by

satya93
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/ 7

--item details

SELECT CAST(ROW_NUMBER() OVER (ORDER BY "PrdNm") AS NVARCHAR) "SlNo", *


FROM (
--ITEM LIST
SELECT
--serial number
--CAST(T0."VisOrder" + 1 AS NVARCHAR) "SlNo",
--is service
--CASE
--WHEN T3."ItemCode" IS NULL THEN 'Y'
--WHEN T3."ItemClass" = '1' THEN 'Y'
--ELSE 'N'
--END "IsServc",
CASE WHEN T5."DocType" = 'S' OR ISNULL(T3."ItemClass", '') = '1' THEN 'Y'
ELSE 'N' END "IsServc",
--product name - PrdNm
REPLACE(CAST(T0."ItemCode" AS NVARCHAR),'-',' ') "PrdNm",
--product desc - PrdDesc

REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(T0."Dscription",'"',''),'&',''),'-'
,' '), CHAR(13), ''), CHAR(10), ''),' ','') "PrdDesc",
--hsn - HsnCd
--T1."ChapterID" "HsnCd",
CASE WHEN ISNULL(T1."ChapterID", '') <> '' THEN ISNULL(T1."ChapterID", '')
ELSE SAC."ServCode" END "HsnCd",
--barcode - Barcde
REPLACE(T0."CodeBars",'"','') "Barcde",
--quantity - Qty
T0."Quantity" "Qty",
--free quantity - FreeQty
0.00 "FreeQty",
--unit - Unit
COALESCE(T3."U_GstUom", T0."unitMsr") "Unit",
--price - UnitPrice
CASE WHEN T5."DocType"='I' THEN ROUND(T4."BaseSum" / T0."Quantity", 3) ELSE
T0."PriceBefDi" END "UnitPrice",
--line total - TotAmt
T4."BaseSum" "TotAmt",
--discount - Discount
0.00 "Discount",
--other charges - OthChrg
(select round(sum(x.taxsum),2) from INV4 x where x.statype not in('-100','-
110','-120') and x.docentry=t0.docentry and x.LineNum=t0.LineNum) "OthChrg" ,
--0.00 "OthChrg",
--assessable value - AssAmt
T4."BaseSum" "AssAmt",
--gst rate
T0."VatPrcnt" "GstRt",
--sgst rate - SgstRt
(select round(sum(x.taxsum),2) from INV4 x where x.statype in('-100') and
x.docentry=t0.docentry and x.LineNum=t0.LineNum) "SgstVal",
--CASE WHEN T2."BPStatGSTN" = T2."LocStaGSTN" AND T2."ImpORExp" = 'N' THEN
ROUND(T0."VatSum" / 2,2) ELSE 0.00 END "SgstAmt",
--cgst rate - CgstRt
(select round(sum(x.taxsum),2) from INV4 x where x.statype in('-100') and
x.docentry=t0.docentry and x.LineNum=t0.LineNum) "CgstAmt",
--CASE WHEN T2."BPStatGSTN" = T2."LocStaGSTN" AND T2."ImpORExp" = 'N' THEN
ROUND(T0."VatSum" / 2,2) ELSE 0.00 END "CgstAmt",
--igst rate - IgstRt
(select round(sum(x.taxsum),2) from INV4 x where x.statype in('-100') and
x.docentry=t0.docentry and x.LineNum=t0.LineNum) "IgstAmt",
--CASE WHEN T2."BPStatGSTN" <> T2."LocStaGSTN" And T2."ImpORExp" = 'N' THEN
ROUND(T0."VatSum",2) ELSE 0.00 END "IgstAmt",
--cess rate - CesRt
0.00 "CesRt",
--cessnonadval - CesNonAdVal
0.00 "CesNonAdVal",
--state cess - StateCes
0.00 "StateCes",
--total value - TotItemVal
round(T4."BaseSum" +T0."VatSum",2) "TotItemVal"
FROM INV1 T0
LEFT JOIN (
SELECT "AbsEntry",
LEFT(REPLACE("ChapterID", '.', ''),8) "ChapterID"
FROM OCHP
) T1 ON T0."HsnEntry" = T1."AbsEntry"
LEFT JOIN (
SELECT "AbsEntry",
--CASE
--WHEN LEFT("ServCode", 4) = '0000' THEN RIGHT("ServCode",
LEN("ServCode")-4)
--WHEN LEFT("ServCode", 2) = '00' THEN RIGHT("ServCode",
LEN("ServCode")-2)
--ELSE "ServCode"
--END "ServCode"
LEFT(REPLACE("ServCode", '.', ''),8) "ServCode"
FROM OSAC
) SAC ON T0."SacEntry" = SAC."AbsEntry"
LEFT JOIN INV12 T2 ON T0."DocEntry" = T2."DocEntry"
LEFT JOIN (
SELECT T9."DocEntry", T9."LineNum", MAX(T9."BaseSum") "BaseSum"
FROM INV4 T9
WHERE T9."RelateType" = 1
GROUP BY T9."DocEntry", T9."LineNum"
) T4 ON T0."DocEntry" = T4."DocEntry" AND T0."LineNum" = T4."LineNum"
LEFT JOIN OITM T3 ON T0."ItemCode" = T3."ItemCode"
LEFT JOIN OINV T5 on T5."DocEntry" = T0."DocEntry"
WHERE T0."DocEntry" = [%DocEntry]
UNION ALL
--ITEM LIST
SELECT
--serial number
--CAST(T0."LineNum" + 1 AS NVARCHAR) "SlNo",
--is service
'Y' "IsServc",
--product name - PrdNm
CAST(T4."ExpnsCode" AS NVARCHAR) "PrdNm",
--product desc - PrdDesc
T4."ExpnsName" "PrdDesc",
--hsn - HsnCd
T4."SacCode" "HsnCd",
--barcode - Barcde
'' "Barcde",
--quantity - Qty
0.00 "Qty",
--free quantity - FreeQty
0.00 "FreeQty",
--unit - Unit
'' "Unit",
--price - UnitPrice
T0."LineTotal" "UnitPrice",
--line total - TotAmt
T0."LineTotal" "TotAmt",
--discount - Discount
0.00 "Discount",
--other charges - OthChrg
0.00 "OthChrg",
--assessable value - AssAmt
T0."LineTotal" "AssAmt",
--gst rate
T0."VatPrcnt" "GstRt",
--sgst rate - SgstRt
CASE WHEN T2."BPStatGSTN" = T2."LocStaGSTN" AND T2."ImpORExp" = 'N' THEN
ROUND(T0."VatSum" / 2,2) ELSE 0.00 END "SgstAmt",
--cgst rate - CgstRt
CASE WHEN T2."BPStatGSTN" = T2."LocStaGSTN" AND T2."ImpORExp" = 'N' THEN
ROUND(T0."VatSum" / 2,2) ELSE 0.00 END "CgstAmt",
--igst rate - IgstRt
CASE WHEN T2."BPStatGSTN" <> T2."LocStaGSTN" And T2."ImpORExp" = 'N' THEN
ROUND(T0."VatSum",2) ELSE 0.00 END "IgstAmt",
--cess rate - CesRt
0.00 "CesRt",
--cessnonadval - CesNonAdVal
0.00 "CesNonAdVal",
--state cess - StateCes
0.00 "StateCes",
--total value - TotItemVal
T0."LineTotal" + round(T0."VatSum",2) "TotItemVal"
FROM INV3 T0
LEFT JOIN OEXD T4 ON T0."ExpnsCode" = T4."ExpnsCode"
LEFT JOIN INV12 T2 ON T0."DocEntry" = T2."DocEntry"
WHERE T0."DocEntry" = [%DocEntry]
) T1

--VAT DETAILS
SELECT
--assessable value - AssVal
T0."DocTotal" - T0."VatSum" - T0."RoundDif" "AssVal",
--sgst value - SgstVal
(select round(sum(x.taxsum),2) from INV4 x where x.statype in('-100') and
x.docentry=t0.docentry) "SgstVal",
--CASE WHEN T1."BPStatGSTN" = T1."LocStaGSTN" And T1."ImpORExp" = 'N' THEN
ROUND(T0."VatSum" / 2,2) ELSE 0.00 END "SgstVal",
--cgst value - CgstVal
(select round(sum(x.taxsum),2) from INV4 x where x.statype in('-110') and
x.docentry=t0.docentry) "CgstVal",
--CASE WHEN T1."BPStatGSTN" = T1."LocStaGSTN" And T1."ImpORExp" = 'N' THEN
ROUND(T0."VatSum" / 2,2) ELSE 0.00 END "CgstVal",
--igst value - IgstVal
(select round(sum(x.taxsum),2) from INV4 x where x.statype in('-120') and
x.docentry=t0.docentry) "IgstVal",
--CASE WHEN T1."BPStatGSTN" <> T1."LocStaGSTN" And T1."ImpORExp" = 'N' THEN
ROUND(T0."VatSum",2) ELSE 0.00 END "IgstVal",
--cess value - CesVal
0.00 "CesVal",
--state cess value - StCesVal
0.00 "StCesVal",
--cess non ad value - CesNonAdVal
0.00 "CesNonAdVal",
--discount - Disc
T0."DiscSum" "Disc",
--other charges - OthChrg
(select round(sum(x.taxsum),2) from INV4 x where x.statype not in('-100','-
110','-120') and x.docentry=t0.docentry) "OthChrg" ,
--0.00 "OthChrg",
--rounding off
T0."RoundDif" "RndOffAmt",
--total invoice value - TotInvVal
T0."DocTotal" "TotInvVal"
FROM OINV T0
INNER JOIN INV12 T1 ON T0."DocEntry" = T1."DocEntry"
WHERE T0."DocEntry" = [%DocEntry]

--select * from inv4 where statype not in ('-100','-110','-120')


--select * from oinv where docentry='455'

--item details

SELECT CAST(ROW_NUMBER() OVER (ORDER BY "PrdNm") AS NVARCHAR) "SlNo", *


FROM (
--ITEM LIST
SELECT
--serial number
--CAST(T0."VisOrder" + 1 AS NVARCHAR) "SlNo",
--is service
--CASE
--WHEN T3."ItemCode" IS NULL THEN 'Y'
--WHEN T3."ItemClass" = '1' THEN 'Y'
--ELSE 'N'
--END "IsServc",
CASE WHEN T5."DocType" = 'S' OR ISNULL(T3."ItemClass", '') = '1' THEN 'Y'
ELSE 'N' END "IsServc",
--product name - PrdNm
REPLACE(CAST(T0."ItemCode" AS NVARCHAR),'-',' ') "PrdNm",
--product desc - PrdDesc

REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(T0."Dscription",'"',''),'&',''),'-'
,' '), CHAR(13), ''), CHAR(10), ''),' ','') "PrdDesc",
--hsn - HsnCd
--T1."ChapterID" "HsnCd",
CASE WHEN ISNULL(T1."ChapterID", '') <> '' THEN ISNULL(T1."ChapterID", '')
ELSE SAC."ServCode" END "HsnCd",
--barcode - Barcde
REPLACE(T0."CodeBars",'"','') "Barcde",
--quantity - Qty
T0."Quantity" "Qty",
--free quantity - FreeQty
0.00 "FreeQty",
--unit - Unit
COALESCE(T3."U_GstUom", T0."unitMsr") "Unit",
--price - UnitPrice
CASE WHEN T5."DocType"='I' THEN ROUND(T4."BaseSum" / T0."Quantity", 3) ELSE
T0."PriceBefDi" END "UnitPrice",
--line total - TotAmt
T4."BaseSum" "TotAmt",
--discount - Discount
0.00 "Discount",
--other charges - OthChrg
0.00 "OthChrg",
--assessable value - AssAmt
T4."BaseSum" "AssAmt",
--gst rate
T0."VatPrcnt" "GstRt",
--sgst rate - SgstRt
CASE WHEN T2."BPStatGSTN" = T2."LocStaGSTN" AND T2."ImpORExp" = 'N' THEN
ROUND(T0."VatSum" / 2,2) ELSE 0.00 END "SgstAmt",
--cgst rate - CgstRt
CASE WHEN T2."BPStatGSTN" = T2."LocStaGSTN" AND T2."ImpORExp" = 'N' THEN
ROUND(T0."VatSum" / 2,2) ELSE 0.00 END "CgstAmt",
--igst rate - IgstRt
CASE WHEN T2."BPStatGSTN" <> T2."LocStaGSTN" And T2."ImpORExp" = 'N' THEN
ROUND(T0."VatSum",2) ELSE 0.00 END "IgstAmt",
--cess rate - CesRt
0.00 "CesRt",
--cessnonadval - CesNonAdVal
0.00 "CesNonAdVal",
--state cess - StateCes
0.00 "StateCes",
--total value - TotItemVal
round(T4."BaseSum" +T0."VatSum",2) "TotItemVal"
FROM INV1 T0
LEFT JOIN (
SELECT "AbsEntry",
LEFT(REPLACE("ChapterID", '.', ''),8) "ChapterID"
FROM OCHP
) T1 ON T0."HsnEntry" = T1."AbsEntry"
LEFT JOIN (
SELECT "AbsEntry",
--CASE
--WHEN LEFT("ServCode", 4) = '0000' THEN RIGHT("ServCode",
LEN("ServCode")-4)
--WHEN LEFT("ServCode", 2) = '00' THEN RIGHT("ServCode",
LEN("ServCode")-2)
--ELSE "ServCode"
--END "ServCode"
LEFT(REPLACE("ServCode", '.', ''),8) "ServCode"
FROM OSAC
) SAC ON T0."SacEntry" = SAC."AbsEntry"
LEFT JOIN INV12 T2 ON T0."DocEntry" = T2."DocEntry"
LEFT JOIN (
SELECT T9."DocEntry", T9."LineNum", MAX(T9."BaseSum") "BaseSum"
FROM INV4 T9
WHERE T9."RelateType" = 1
GROUP BY T9."DocEntry", T9."LineNum"
) T4 ON T0."DocEntry" = T4."DocEntry" AND T0."LineNum" = T4."LineNum"
LEFT JOIN OITM T3 ON T0."ItemCode" = T3."ItemCode"
LEFT JOIN OINV T5 on T5."DocEntry" = T0."DocEntry"
WHERE T0."DocEntry" = [%DocEntry]
UNION ALL
--ITEM LIST
SELECT
--serial number
--CAST(T0."LineNum" + 1 AS NVARCHAR) "SlNo",
--is service
'Y' "IsServc",
--product name - PrdNm
CAST(T4."ExpnsCode" AS NVARCHAR) "PrdNm",
--product desc - PrdDesc
T4."ExpnsName" "PrdDesc",
--hsn - HsnCd
T4."SacCode" "HsnCd",
--barcode - Barcde
'' "Barcde",
--quantity - Qty
0.00 "Qty",
--free quantity - FreeQty
0.00 "FreeQty",
--unit - Unit
'' "Unit",
--price - UnitPrice
T0."LineTotal" "UnitPrice",
--line total - TotAmt
T0."LineTotal" "TotAmt",
--discount - Discount
0.00 "Discount",
--other charges - OthChrg
0.00 "OthChrg",
--assessable value - AssAmt
T0."LineTotal" "AssAmt",
--gst rate
T0."VatPrcnt" "GstRt",
--sgst rate - SgstRt
CASE WHEN T2."BPStatGSTN" = T2."LocStaGSTN" AND T2."ImpORExp" = 'N' THEN
ROUND(T0."VatSum" / 2,2) ELSE 0.00 END "SgstAmt",
--cgst rate - CgstRt
CASE WHEN T2."BPStatGSTN" = T2."LocStaGSTN" AND T2."ImpORExp" = 'N' THEN
ROUND(T0."VatSum" / 2,2) ELSE 0.00 END "CgstAmt",
--igst rate - IgstRt
CASE WHEN T2."BPStatGSTN" <> T2."LocStaGSTN" And T2."ImpORExp" = 'N' THEN
ROUND(T0."VatSum",2) ELSE 0.00 END "IgstAmt",
--cess rate - CesRt
0.00 "CesRt",
--cessnonadval - CesNonAdVal
0.00 "CesNonAdVal",
--state cess - StateCes
0.00 "StateCes",
--total value - TotItemVal
T0."LineTotal" + round(T0."VatSum",2) "TotItemVal"
FROM INV3 T0
LEFT JOIN OEXD T4 ON T0."ExpnsCode" = T4."ExpnsCode"
LEFT JOIN INV12 T2 ON T0."DocEntry" = T2."DocEntry"
WHERE T0."DocEntry" = [%DocEntry]
) T1

You might also like