Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Null on Null Input | False |
| Schema Bound | False |
| Assembly |
Parameters
| Name | Data Type | Length | Description |
|---|---|---|---|
| @start_date | date | 3 | |
| @end_date | date | 3 | |
| @source | varchar | 255 |
SQL Script
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
CREATE FUNCTION dbo.fn_rpt_bc23(
@start_date date
, @end_date date
, @source varchar(255) = 'ALL'
)
RETURNS @rpt_return TABLE (
id bigint identity(1,1)
, data_source varchar(255)
, NOMOR_AJU varchar(255)
, NOMOR_DAFTAR varchar(255)
, TANGGAL_DAFTAR date
, TANGGAL_MASUK date
, PELABUHAN varchar(255)
, KPBC varchar(255)
, KETERANGAN varchar(255)
, NOMOR_INVOICE varchar(255)
, URAIAN varchar(255)
, JUMLAH_SATUAN decimal(38,4)
, KODE_SATUAN varchar(255)
, CIF decimal(38,2)
, BRUTO decimal(38,4)
, JUMLAH_KEMASAN decimal(38,4)
, KODE_KEMASAN varchar(255)
, KODE_VALUTA varchar(255)
)
WITH EXECUTE AS CALLER
AS
BEGIN
if(@source = 'All' OR @source = 'WH')
begin
;WITH
cte_hdr (
urut,
id_sa_hdr, tableid, NOMOR_AJU, NOMOR_DAFTAR, TANGGAL_DAFTAR, TANGGAL_MASUK, URAIAN
, JUMLAH_SATUAN, KODE_SATUAN, CIF, JUMLAH_KEMASAN, KODE_KEMASAN
) as (
SELECT
ROW_NUMBER() OVER (PARTITION BY a.tableid, a.id_sa_hdr ORDER BY a.tableid, a.id_sa_hdr),
id_sa_hdr, tableid, NOMOR_AJU, NOMOR_DAFTAR, TANGGAL_DAFTAR, TANGGAL_MASUK, URAIAN
, JUMLAH_SATUAN, KODE_SATUAN, CIF, JUMLAH_KEMASAN, KODE_KEMASAN
from (Select 2 as tableid
, b.id_bc_in_hdr as id_sa_hdr
, b.CAR AS NOMOR_AJU
, b.BC23NO as NOMOR_DAFTAR
, b.BC23TG as TANGGAL_DAFTAR
, c.doc_in_date as TANGGAL_MASUK
, BrgUrai as Uraian
, a.JmlSat as JUMLAH_SATUAN
, a.KdSat as KODE_SATUAN
, a.DNilInv as CIF
, a.KemasJm as JUMLAH_KEMASAN
, a.KemasJn as KODE_KEMASAN
from tbl_bc_in_dtl a
Left Join tbl_bc_in_hdr b ON a.id_bc_in_hdr = b.id_bc_in_hdr
Left Join tbl_data_in_hdr c ON a.id_bc_in_hdr = c.id_terkait AND doc_in_from_id = 3
where b.BC23NO is not null AND b.BC23TG is not null
AND (b.BC23TG BETWEEN @start_date AND @end_date)
AND b.typedok IN ('BC23')
UNION ALL
Select 3 as tableid
, b.ID_HEADER
, b.NOMOR_AJU
, b.NOMOR_DAFTAR
, b.TANGGAL_DAFTAR
, NULL TANGGAL_MASUK
, a.URAIAN
, a.JUMLAH_SATUAN
, a.KODE_SATUAN
, a.CIF
, a.JUMLAH_KEMASAN
, a.KODE_KEMASAN
from dt_ms_tpb_in_barang a
Left Join dt_ms_tpb_in_header b ON a.ID_HEADER = b.ID_HEADER
where b.NOMOR_DAFTAR is not null AND b.TANGGAL_DAFTAR is not null
AND (b.TANGGAL_DAFTAR BETWEEN @start_date AND @end_date)
AND b.KODE_DOKUMEN_PABEAN IN ('23')
) a
),
ct_invoice (
urut,
tableid,
id_sa_hdr,
NOMOR_DOKUMEN,
TANGGAL_DOKUMEN
) as (
SELECT
ROW_NUMBER() OVER (PARTITION BY a.tableid, a.id_sa_hdr ORDER BY a.tableid, a.id_sa_hdr),
id_sa_hdr
, tableid
, DokNo
, DokTg
FROM (select 2 as tableid
, b.id_bc_in_hdr as id_sa_hdr
, a.DokNo
, a.DokTg
from tbl_bc_in_dok a
Left Join tbl_bc_in_hdr b ON a.id_bc_in_hdr = b.id_bc_in_hdr
Where a.DokKd = '380'
AND b.BC23NO is not null AND b.BC23TG is not null
AND (b.BC23TG BETWEEN @start_date AND @end_date)
AND b.typedok IN ('BC23')
UNION ALL
Select 3 as tableid
, b.ID_HEADER
, a.NOMOR_DOKUMEN
, a.TANGGAL_DOKUMEN
from dt_ms_tpb_in_dokumen a
Left Join dt_ms_tpb_in_header b ON a.ID_HEADER = b.ID_HEADER
Where a.KODE_JENIS_DOKUMEN = '380'
AND b.NOMOR_DAFTAR is not null AND b.TANGGAL_DAFTAR is not null
AND (b.TANGGAL_DAFTAR BETWEEN @start_date AND @end_date)
AND b.KODE_DOKUMEN_PABEAN IN ('23')
) a
),
ct_sumary_header (
urut,
tableid,
id_sa_hdr,
BRUTO,
KPBC,
PELABUHAN,
KODE_VALUTA
) as (
SELECT
ROW_NUMBER() OVER (PARTITION BY a.tableid, a.id_sa_hdr ORDER BY a.tableid, a.id_sa_hdr),
tableid
,id_sa_hdr
, Bruto
, KPBC
, PELABUHAN
, KODE_VALUTA
FROM (
Select 2 as tableid
, a.id_bc_in_hdr as id_sa_hdr
, a.Bruto
, b.URAIAN_KANTOR as KPBC
, c.URAIAN_PELABUHAN as PELABUHAN
, a.Kdval as KODE_VALUTA
from tbl_bc_in_hdr a
Left Join referensi_kantor_pabean b ON a.Kdkpbc = b.KODE_KANTOR
Left Join referensi_pelabuhan c ON a.Pelbkr = c.KODE_PELABUHAN
Where a.BC23NO is not null AND a.BC23TG is not null
AND (a.BC23TG BETWEEN @start_date AND @end_date)
AND a.typedok IN ('BC23')
UNION ALL
Select 3 as tableid
, a.ID_HEADER
, a.Bruto
, b.URAIAN_KANTOR as KPBC
, c.URAIAN_PELABUHAN as PELABUHAN
, a.KODE_VALUTA
from dt_ms_tpb_in_header a
Left Join referensi_kantor_pabean b ON a.KODE_KANTOR = b.KODE_KANTOR
Left Join referensi_pelabuhan c ON a.KODE_PEL_BONGKAR = c.KODE_PELABUHAN
Where a.NOMOR_DAFTAR is not null AND a.TANGGAL_DAFTAR is not null
AND (a.TANGGAL_DAFTAR BETWEEN @start_date AND @end_date)
AND a.KODE_DOKUMEN_PABEAN IN ('23')
) a
)
Insert into @rpt_return (data_source
, NOMOR_AJU
, NOMOR_DAFTAR
, TANGGAL_DAFTAR
, TANGGAL_MASUK
, URAIAN
, JUMLAH_SATUAN
, KODE_SATUAN
, CIF
, NOMOR_INVOICE
, BRUTO
, JUMLAH_KEMASAN
, KODE_KEMASAN
, PELABUHAN
, KPBC
, KODE_VALUTA)
SELECT 'WH'
, NOMOR_AJU
, NOMOR_DAFTAR
, TANGGAL_DAFTAR
, TANGGAL_MASUK
, URAIAN
, JUMLAH_SATUAN
, a.KODE_SATUAN
, CIF
, b.NOMOR_DOKUMEN
, BRUTO
, JUMLAH_KEMASAN
, KODE_KEMASAN
, PELABUHAN
, KPBC
, KODE_VALUTA
from cte_hdr a
Left Join ct_invoice b ON a.tableid = b.tableid AND a.id_sa_hdr = b.id_sa_hdr AND a.urut = b.urut
Left Join ct_sumary_header c ON a.tableid = c.tableid AND a.id_sa_hdr = c.id_sa_hdr
ORDER BY a.NOMOR_AJU
end
if(@source = 'All' OR @source = 'AW')
begin
--set @source = 'AW'
Insert into @rpt_return (data_source
, NOMOR_AJU
, NOMOR_DAFTAR
, TANGGAL_DAFTAR
, TANGGAL_MASUK
, URAIAN
, JUMLAH_SATUAN
, KODE_SATUAN
, CIF
, NOMOR_INVOICE
, BRUTO
, JUMLAH_KEMASAN
, KODE_KEMASAN
, PELABUHAN
, KPBC
, KODE_VALUTA)
SELECT
'AW',
a.NOMOR_AJU,
a.NOMOR_DAFTAR,
a.TANGGAL_DAFTAR,
a.TANGGAL_DAFTAR,
b.URAIAN,
b.JUMLAH_SATUAN,
b.KODE_SATUAN,
b.CIF,
d.NOMOR_DOKUMEN,
a.BRUTO,
b.JUMLAH_KEMASAN,
b.KODE_KEMASAN,
a.KODE_PEL_BONGKAR,
a.KODE_KANTOR,
a.KODE_VALUTA
FROM AW.DB_PASI_20201106.dbo.v_tpb_in_barang b
INNER JOIN AW.DB_PASI_20201106.dbo.tpb_in_header a ON b.ID_HEADER = a.ID_HEADER
INNER JOIN
AW.DB_PASI_20201106.dbo.tpb_in_header_h_status c ON a.tpb_in_header_h_status_id = c.tpb_in_header_h_status_id
LEFT OUTER JOIN AW.DB_PASI_20201106.dbo.tpb_in_dokumen d ON a.ID_HEADER = d.ID_HEADER
WHERE c.status_tpb_in_id='3' AND a.KODE_DOKUMEN_PABEAN ='23' AND d.KODE_JENIS_DOKUMEN ='380'
AND (a.TANGGAL_DAFTAR BETWEEN @start_date AND @end_date)
end
RETURN;
end;
GO
GO
CREATE FUNCTION dbo.fn_rpt_bc23(
@start_date date
, @end_date date
, @source varchar(255) = 'ALL'
)
RETURNS @rpt_return TABLE (
id bigint identity(1,1)
, data_source varchar(255)
, NOMOR_AJU varchar(255)
, NOMOR_DAFTAR varchar(255)
, TANGGAL_DAFTAR date
, TANGGAL_MASUK date
, PELABUHAN varchar(255)
, KPBC varchar(255)
, KETERANGAN varchar(255)
, NOMOR_INVOICE varchar(255)
, URAIAN varchar(255)
, JUMLAH_SATUAN decimal(38,4)
, KODE_SATUAN varchar(255)
, CIF decimal(38,2)
, BRUTO decimal(38,4)
, JUMLAH_KEMASAN decimal(38,4)
, KODE_KEMASAN varchar(255)
, KODE_VALUTA varchar(255)
)
WITH EXECUTE AS CALLER
AS
BEGIN
if(@source = 'All' OR @source = 'WH')
begin
;WITH
cte_hdr (
urut,
id_sa_hdr, tableid, NOMOR_AJU, NOMOR_DAFTAR, TANGGAL_DAFTAR, TANGGAL_MASUK, URAIAN
, JUMLAH_SATUAN, KODE_SATUAN, CIF, JUMLAH_KEMASAN, KODE_KEMASAN
) as (
SELECT
ROW_NUMBER() OVER (PARTITION BY a.tableid, a.id_sa_hdr ORDER BY a.tableid, a.id_sa_hdr),
id_sa_hdr, tableid, NOMOR_AJU, NOMOR_DAFTAR, TANGGAL_DAFTAR, TANGGAL_MASUK, URAIAN
, JUMLAH_SATUAN, KODE_SATUAN, CIF, JUMLAH_KEMASAN, KODE_KEMASAN
from (Select 2 as tableid
, b.id_bc_in_hdr as id_sa_hdr
, b.CAR AS NOMOR_AJU
, b.BC23NO as NOMOR_DAFTAR
, b.BC23TG as TANGGAL_DAFTAR
, c.doc_in_date as TANGGAL_MASUK
, BrgUrai as Uraian
, a.JmlSat as JUMLAH_SATUAN
, a.KdSat as KODE_SATUAN
, a.DNilInv as CIF
, a.KemasJm as JUMLAH_KEMASAN
, a.KemasJn as KODE_KEMASAN
from tbl_bc_in_dtl a
Left Join tbl_bc_in_hdr b ON a.id_bc_in_hdr = b.id_bc_in_hdr
Left Join tbl_data_in_hdr c ON a.id_bc_in_hdr = c.id_terkait AND doc_in_from_id = 3
where b.BC23NO is not null AND b.BC23TG is not null
AND (b.BC23TG BETWEEN @start_date AND @end_date)
AND b.typedok IN ('BC23')
UNION ALL
Select 3 as tableid
, b.ID_HEADER
, b.NOMOR_AJU
, b.NOMOR_DAFTAR
, b.TANGGAL_DAFTAR
, NULL TANGGAL_MASUK
, a.URAIAN
, a.JUMLAH_SATUAN
, a.KODE_SATUAN
, a.CIF
, a.JUMLAH_KEMASAN
, a.KODE_KEMASAN
from dt_ms_tpb_in_barang a
Left Join dt_ms_tpb_in_header b ON a.ID_HEADER = b.ID_HEADER
where b.NOMOR_DAFTAR is not null AND b.TANGGAL_DAFTAR is not null
AND (b.TANGGAL_DAFTAR BETWEEN @start_date AND @end_date)
AND b.KODE_DOKUMEN_PABEAN IN ('23')
) a
),
ct_invoice (
urut,
tableid,
id_sa_hdr,
NOMOR_DOKUMEN,
TANGGAL_DOKUMEN
) as (
SELECT
ROW_NUMBER() OVER (PARTITION BY a.tableid, a.id_sa_hdr ORDER BY a.tableid, a.id_sa_hdr),
id_sa_hdr
, tableid
, DokNo
, DokTg
FROM (select 2 as tableid
, b.id_bc_in_hdr as id_sa_hdr
, a.DokNo
, a.DokTg
from tbl_bc_in_dok a
Left Join tbl_bc_in_hdr b ON a.id_bc_in_hdr = b.id_bc_in_hdr
Where a.DokKd = '380'
AND b.BC23NO is not null AND b.BC23TG is not null
AND (b.BC23TG BETWEEN @start_date AND @end_date)
AND b.typedok IN ('BC23')
UNION ALL
Select 3 as tableid
, b.ID_HEADER
, a.NOMOR_DOKUMEN
, a.TANGGAL_DOKUMEN
from dt_ms_tpb_in_dokumen a
Left Join dt_ms_tpb_in_header b ON a.ID_HEADER = b.ID_HEADER
Where a.KODE_JENIS_DOKUMEN = '380'
AND b.NOMOR_DAFTAR is not null AND b.TANGGAL_DAFTAR is not null
AND (b.TANGGAL_DAFTAR BETWEEN @start_date AND @end_date)
AND b.KODE_DOKUMEN_PABEAN IN ('23')
) a
),
ct_sumary_header (
urut,
tableid,
id_sa_hdr,
BRUTO,
KPBC,
PELABUHAN,
KODE_VALUTA
) as (
SELECT
ROW_NUMBER() OVER (PARTITION BY a.tableid, a.id_sa_hdr ORDER BY a.tableid, a.id_sa_hdr),
tableid
,id_sa_hdr
, Bruto
, KPBC
, PELABUHAN
, KODE_VALUTA
FROM (
Select 2 as tableid
, a.id_bc_in_hdr as id_sa_hdr
, a.Bruto
, b.URAIAN_KANTOR as KPBC
, c.URAIAN_PELABUHAN as PELABUHAN
, a.Kdval as KODE_VALUTA
from tbl_bc_in_hdr a
Left Join referensi_kantor_pabean b ON a.Kdkpbc = b.KODE_KANTOR
Left Join referensi_pelabuhan c ON a.Pelbkr = c.KODE_PELABUHAN
Where a.BC23NO is not null AND a.BC23TG is not null
AND (a.BC23TG BETWEEN @start_date AND @end_date)
AND a.typedok IN ('BC23')
UNION ALL
Select 3 as tableid
, a.ID_HEADER
, a.Bruto
, b.URAIAN_KANTOR as KPBC
, c.URAIAN_PELABUHAN as PELABUHAN
, a.KODE_VALUTA
from dt_ms_tpb_in_header a
Left Join referensi_kantor_pabean b ON a.KODE_KANTOR = b.KODE_KANTOR
Left Join referensi_pelabuhan c ON a.KODE_PEL_BONGKAR = c.KODE_PELABUHAN
Where a.NOMOR_DAFTAR is not null AND a.TANGGAL_DAFTAR is not null
AND (a.TANGGAL_DAFTAR BETWEEN @start_date AND @end_date)
AND a.KODE_DOKUMEN_PABEAN IN ('23')
) a
)
Insert into @rpt_return (data_source
, NOMOR_AJU
, NOMOR_DAFTAR
, TANGGAL_DAFTAR
, TANGGAL_MASUK
, URAIAN
, JUMLAH_SATUAN
, KODE_SATUAN
, CIF
, NOMOR_INVOICE
, BRUTO
, JUMLAH_KEMASAN
, KODE_KEMASAN
, PELABUHAN
, KPBC
, KODE_VALUTA)
SELECT 'WH'
, NOMOR_AJU
, NOMOR_DAFTAR
, TANGGAL_DAFTAR
, TANGGAL_MASUK
, URAIAN
, JUMLAH_SATUAN
, a.KODE_SATUAN
, CIF
, b.NOMOR_DOKUMEN
, BRUTO
, JUMLAH_KEMASAN
, KODE_KEMASAN
, PELABUHAN
, KPBC
, KODE_VALUTA
from cte_hdr a
Left Join ct_invoice b ON a.tableid = b.tableid AND a.id_sa_hdr = b.id_sa_hdr AND a.urut = b.urut
Left Join ct_sumary_header c ON a.tableid = c.tableid AND a.id_sa_hdr = c.id_sa_hdr
ORDER BY a.NOMOR_AJU
end
if(@source = 'All' OR @source = 'AW')
begin
--set @source = 'AW'
Insert into @rpt_return (data_source
, NOMOR_AJU
, NOMOR_DAFTAR
, TANGGAL_DAFTAR
, TANGGAL_MASUK
, URAIAN
, JUMLAH_SATUAN
, KODE_SATUAN
, CIF
, NOMOR_INVOICE
, BRUTO
, JUMLAH_KEMASAN
, KODE_KEMASAN
, PELABUHAN
, KPBC
, KODE_VALUTA)
SELECT
'AW',
a.NOMOR_AJU,
a.NOMOR_DAFTAR,
a.TANGGAL_DAFTAR,
a.TANGGAL_DAFTAR,
b.URAIAN,
b.JUMLAH_SATUAN,
b.KODE_SATUAN,
b.CIF,
d.NOMOR_DOKUMEN,
a.BRUTO,
b.JUMLAH_KEMASAN,
b.KODE_KEMASAN,
a.KODE_PEL_BONGKAR,
a.KODE_KANTOR,
a.KODE_VALUTA
FROM AW.DB_PASI_20201106.dbo.v_tpb_in_barang b
INNER JOIN AW.DB_PASI_20201106.dbo.tpb_in_header a ON b.ID_HEADER = a.ID_HEADER
INNER JOIN
AW.DB_PASI_20201106.dbo.tpb_in_header_h_status c ON a.tpb_in_header_h_status_id = c.tpb_in_header_h_status_id
LEFT OUTER JOIN AW.DB_PASI_20201106.dbo.tpb_in_dokumen d ON a.ID_HEADER = d.ID_HEADER
WHERE c.status_tpb_in_id='3' AND a.KODE_DOKUMEN_PABEAN ='23' AND d.KODE_JENIS_DOKUMEN ='380'
AND (a.TANGGAL_DAFTAR BETWEEN @start_date AND @end_date)
end
RETURN;
end;
GO
Depends On
9Used By
No items found