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_bc41(
@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_KELUAR 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)
, TANGGAL_MUAT date
, NAMA_PENERIMA VARCHAR(255)
, ALAMAT_PENERIMA 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_out_hdr as id_sa_hdr
, b.CAR AS NOMOR_AJU
, b.NODAFT as NOMOR_DAFTAR
, b.TGDAFT as TANGGAL_DAFTAR
, c.doc_out_date as TANGGAL_MASUK
, COncat(a.URBRG1, ' ', a.URBRG2,' ',a.URBRG3) as Uraian
, a.JMSATUAN as JUMLAH_SATUAN
, a.JNSATUAN as KODE_SATUAN
, a.DNilInv as CIF
, a.JMKOLI as JUMLAH_KEMASAN
, a.JNKOLI as KODE_KEMASAN
from tbl_bc_out_dtl a
Left Join tbl_bc_out_hdr b ON a.id_bc_out_hdr = b.id_bc_out_hdr
Left Join tbl_data_out_hdr c ON a.id_bc_out_hdr = c.id_terkait AND doc_out_to_id = 3
where b.NODAFT is not null AND b.TGDAFT is not null
AND (b.TGDAFT BETWEEN @start_date AND @end_date)
AND b.typedok IN ('BC41')
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_out_barang a
Left Join dt_ms_tpb_out_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 ('41')
) 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
, NODOK
, TGDOK
FROM (select 2 as tableid
, b.id_bc_out_hdr as id_sa_hdr
, a.NODOK
, a.TGDOK
from tbl_bc_out_dok a
Left Join tbl_bc_out_hdr b ON a.id_bc_out_hdr = b.id_bc_out_hdr
Where a.KDDOK = '380'
AND b.NODAFT is not null AND b.TGDAFT is not null
AND (b.TGDAFT BETWEEN @start_date AND @end_date)
AND b.typedok IN ('BC41')
UNION ALL
Select 3 as tableid
, b.ID_HEADER
, a.NOMOR_DOKUMEN
, a.TANGGAL_DOKUMEN
from dt_ms_tpb_out_dokumen a
Left Join dt_ms_tpb_out_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 ('41')
) a
),
ct_sumary_header (
urut,
tableid,
id_sa_hdr,
BRUTO,
KPBC,
PELABUHAN,
KODE_VALUTA,
TANGGAL_MUAT
) 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
, TANGGAL_MUAT
FROM (
Select 2 as tableid
, a.id_bc_out_hdr as id_sa_hdr
, a.Bruto
, b.URAIAN_KANTOR as KPBC
, c.URAIAN_PELABUHAN as PELABUHAN
, a.Kdval as KODE_VALUTA
, a.TGEKS as TANGGAL_MUAT
from tbl_bc_out_hdr a
Left Join referensi_kantor_pabean b ON a.KDKTRMUAT = b.KODE_KANTOR
Left Join referensi_pelabuhan c ON a.PELMUAT = c.KODE_PELABUHAN
Where a.NODAFT is not null AND a.TGDAFT is not null
AND (a.TGDAFT BETWEEN @start_date AND @end_date)
AND a.typedok IN ('BC41')
UNION ALL
Select 3 as tableid
, a.ID_HEADER
, a.Bruto
, b.URAIAN_KANTOR as KPBC
, c.URAIAN_PELABUHAN as PELABUHAN
, a.KODE_VALUTA
, TANGGAL_BERANGKAT
from dt_ms_tpb_out_header a
Left Join referensi_kantor_pabean b ON a.KODE_KANTOR = b.KODE_KANTOR
Left Join referensi_pelabuhan c ON a.KODE_PEL_MUAT = 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 ('41')
) a
)
Insert into @rpt_return (data_source
, NOMOR_AJU
, NOMOR_DAFTAR
, TANGGAL_DAFTAR
, TANGGAL_KELUAR
, 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_KELUAR
, KETERANGAN
, NOMOR_INVOICE
, URAIAN
, JUMLAH_SATUAN
, KODE_SATUAN
, CIF
, BRUTO
, JUMLAH_KEMASAN
, KODE_KEMASAN
, NAMA_PENERIMA
, ALAMAT_PENERIMA )
SELECT
'AW',
a.NOMOR_AJU,
a.NOMOR_DAFTAR,
a.TANGGAL_DAFTAR,
a.TANGGAL_DAFTAR,
'',
d.NOMOR_DOKUMEN,
b.URAIAN,
b.JUMLAH_SATUAN,
b.KODE_SATUAN,
b.CIF,
a.BRUTO,
b.JUMLAH_KEMASAN,
b.KODE_KEMASAN,
a.NAMA_PENERIMA_BARANG,
a.ALAMAT_PENERIMA_BARANG
FROM AW.DB_PASI_20201106.dbo.v_tpb_out_barang b
INNER JOIN AW.DB_PASI_20201106.dbo.tpb_out_header a ON b.ID_HEADER = a.ID_HEADER
INNER JOIN
AW.DB_PASI_20201106.dbo.tpb_out_header_h_status c ON a.tpb_out_header_h_status_id = c.tpb_out_header_h_status_id
LEFT OUTER JOIN
( SELECT TOP 1 ID_HEADER , NOMOR_DOKUMEN FROM AW.DB_PASI_20201106.dbo.tpb_out_dokumen WHERE KODE_JENIS_DOKUMEN ='380')
AS d ON a.ID_HEADER = d.ID_HEADER
WHERE c.status_tpb_out_id='3' AND a.KODE_DOKUMEN_PABEAN ='41'
AND (a.TANGGAL_DAFTAR BETWEEN @start_date AND @end_date)
ORDER BY a.NOMOR_AJU
end
RETURN;
end;
GO
GO
CREATE FUNCTION dbo.fn_rpt_bc41(
@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_KELUAR 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)
, TANGGAL_MUAT date
, NAMA_PENERIMA VARCHAR(255)
, ALAMAT_PENERIMA 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_out_hdr as id_sa_hdr
, b.CAR AS NOMOR_AJU
, b.NODAFT as NOMOR_DAFTAR
, b.TGDAFT as TANGGAL_DAFTAR
, c.doc_out_date as TANGGAL_MASUK
, COncat(a.URBRG1, ' ', a.URBRG2,' ',a.URBRG3) as Uraian
, a.JMSATUAN as JUMLAH_SATUAN
, a.JNSATUAN as KODE_SATUAN
, a.DNilInv as CIF
, a.JMKOLI as JUMLAH_KEMASAN
, a.JNKOLI as KODE_KEMASAN
from tbl_bc_out_dtl a
Left Join tbl_bc_out_hdr b ON a.id_bc_out_hdr = b.id_bc_out_hdr
Left Join tbl_data_out_hdr c ON a.id_bc_out_hdr = c.id_terkait AND doc_out_to_id = 3
where b.NODAFT is not null AND b.TGDAFT is not null
AND (b.TGDAFT BETWEEN @start_date AND @end_date)
AND b.typedok IN ('BC41')
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_out_barang a
Left Join dt_ms_tpb_out_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 ('41')
) 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
, NODOK
, TGDOK
FROM (select 2 as tableid
, b.id_bc_out_hdr as id_sa_hdr
, a.NODOK
, a.TGDOK
from tbl_bc_out_dok a
Left Join tbl_bc_out_hdr b ON a.id_bc_out_hdr = b.id_bc_out_hdr
Where a.KDDOK = '380'
AND b.NODAFT is not null AND b.TGDAFT is not null
AND (b.TGDAFT BETWEEN @start_date AND @end_date)
AND b.typedok IN ('BC41')
UNION ALL
Select 3 as tableid
, b.ID_HEADER
, a.NOMOR_DOKUMEN
, a.TANGGAL_DOKUMEN
from dt_ms_tpb_out_dokumen a
Left Join dt_ms_tpb_out_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 ('41')
) a
),
ct_sumary_header (
urut,
tableid,
id_sa_hdr,
BRUTO,
KPBC,
PELABUHAN,
KODE_VALUTA,
TANGGAL_MUAT
) 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
, TANGGAL_MUAT
FROM (
Select 2 as tableid
, a.id_bc_out_hdr as id_sa_hdr
, a.Bruto
, b.URAIAN_KANTOR as KPBC
, c.URAIAN_PELABUHAN as PELABUHAN
, a.Kdval as KODE_VALUTA
, a.TGEKS as TANGGAL_MUAT
from tbl_bc_out_hdr a
Left Join referensi_kantor_pabean b ON a.KDKTRMUAT = b.KODE_KANTOR
Left Join referensi_pelabuhan c ON a.PELMUAT = c.KODE_PELABUHAN
Where a.NODAFT is not null AND a.TGDAFT is not null
AND (a.TGDAFT BETWEEN @start_date AND @end_date)
AND a.typedok IN ('BC41')
UNION ALL
Select 3 as tableid
, a.ID_HEADER
, a.Bruto
, b.URAIAN_KANTOR as KPBC
, c.URAIAN_PELABUHAN as PELABUHAN
, a.KODE_VALUTA
, TANGGAL_BERANGKAT
from dt_ms_tpb_out_header a
Left Join referensi_kantor_pabean b ON a.KODE_KANTOR = b.KODE_KANTOR
Left Join referensi_pelabuhan c ON a.KODE_PEL_MUAT = 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 ('41')
) a
)
Insert into @rpt_return (data_source
, NOMOR_AJU
, NOMOR_DAFTAR
, TANGGAL_DAFTAR
, TANGGAL_KELUAR
, 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_KELUAR
, KETERANGAN
, NOMOR_INVOICE
, URAIAN
, JUMLAH_SATUAN
, KODE_SATUAN
, CIF
, BRUTO
, JUMLAH_KEMASAN
, KODE_KEMASAN
, NAMA_PENERIMA
, ALAMAT_PENERIMA )
SELECT
'AW',
a.NOMOR_AJU,
a.NOMOR_DAFTAR,
a.TANGGAL_DAFTAR,
a.TANGGAL_DAFTAR,
'',
d.NOMOR_DOKUMEN,
b.URAIAN,
b.JUMLAH_SATUAN,
b.KODE_SATUAN,
b.CIF,
a.BRUTO,
b.JUMLAH_KEMASAN,
b.KODE_KEMASAN,
a.NAMA_PENERIMA_BARANG,
a.ALAMAT_PENERIMA_BARANG
FROM AW.DB_PASI_20201106.dbo.v_tpb_out_barang b
INNER JOIN AW.DB_PASI_20201106.dbo.tpb_out_header a ON b.ID_HEADER = a.ID_HEADER
INNER JOIN
AW.DB_PASI_20201106.dbo.tpb_out_header_h_status c ON a.tpb_out_header_h_status_id = c.tpb_out_header_h_status_id
LEFT OUTER JOIN
( SELECT TOP 1 ID_HEADER , NOMOR_DOKUMEN FROM AW.DB_PASI_20201106.dbo.tpb_out_dokumen WHERE KODE_JENIS_DOKUMEN ='380')
AS d ON a.ID_HEADER = d.ID_HEADER
WHERE c.status_tpb_out_id='3' AND a.KODE_DOKUMEN_PABEAN ='41'
AND (a.TANGGAL_DAFTAR BETWEEN @start_date AND @end_date)
ORDER BY a.NOMOR_AJU
end
RETURN;
end;
GO
Depends On
9Used By
No items found