dbo.fn_rpt_bc25

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_bc25( 
  @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_sa_hdr as id_sa_hdr
      , b.BC25NAJU AS NOMOR_AJU
      , b.BC25NO as NOMOR_DAFTAR
      , b.BC25TG as TANGGAL_DAFTAR
      , c.doc_out_date as TANGGAL_MASUK
      , 'KABEL DAN PERLENGKAPANNYA DIPAKAI UNTUK MOBIL' as URAIAN
      , a.TOTAL_SET as JUMLAH_SATUAN
      , a.SATUAN as KODE_SATUAN
      , a.AMOUNT  as CIF
      , a.JUMLAH_COLI as JUMLAH_KEMASAN
      , a.SATUAN_COLI as KODE_KEMASAN
       from tbl_sa a
       Left Join tbl_sa_hdr b ON a.id_sa_hdr = b.id_sa_hdr
       Left Join tbl_data_out_hdr c ON a.id_sa_hdr = c.id_terkait AND doc_out_to_id = 3
       where b.BC25NO is not null AND b.BC25TG is not null
        AND (b.BC25TG BETWEEN @start_date AND @end_date)
        AND b.typedok IN ('BC25')

      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 ('25')

    ) 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_sa_hdr as id_sa_hdr
       , a.NODOK
       , a.TGDOK
         from tbl_sa_dok a
      Left Join tbl_sa_hdr b ON a.id_sa_hdr = b.id_sa_hdr
      Where a.KDDOK = '380'
      AND b.BC25NO is not null AND b.BC25TG is not null
          AND (b.BC25TG BETWEEN @start_date AND @end_date)
          AND b.typedok IN ('BC25')

     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 ('25')

    ) a 
   ), 
   ct_sumary_header (
    urut,
    tableid,
    id_sa_hdr,
    BRUTO,
    KPBC,
    PELABUHAN,
    KODE_VALUTA,
    TANGGAL_MUAT,
    NAMA_PENERIMA, 
    ALAMAT_PENERIMA
   ) 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
    , NAMA_PENERIMA
    , ALAMAT_PENERIMA
    FROM (
     Select 2 as tableid
       , a.id_sa_hdr as id_sa_hdr
       , a.Bruto
       , NULL as KPBC
       , NULL as PELABUHAN
       , a.Kdval as KODE_VALUTA
       , NULL as TANGGAL_MUAT
       , NAMA_PEMBELI as NAMA_PENERIMA
       , NULL as ALAMAT_PENERIMA
         from tbl_sa_hdr a
         
      Where a.BC25NO is not null AND a.BC25TG is not null
          AND (a.BC25TG BETWEEN @start_date AND @end_date)
          AND a.typedok IN ('BC25')

     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
       , NAMA_PENERIMA_BARANG
       , ALAMAT_PENERIMA_BARANG
         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 ('25')
   
    ) 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
    , NAMA_PENERIMA
    , ALAMAT_PENERIMA)
   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
   , NAMA_PENERIMA
   , ALAMAT_PENERIMA
   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
-- insert into @rpt_bc25 (data_source
--, NOMOR_AJU
--, NOMOR_DAFTAR
--, TANGGAL_DAFTAR
--, KODE_DOKUMEN_PABEAN
--, TANGGAL_KELUAR
--, SERI_BARANG
--, KODE_BARANG
--, URAIAN
--, JUMLAH_SATUAN
--, KODE_SATUAN
--, JUMLAH_KEMASAN
--, BRUTO
--, CIF
--, KPBC
--, CIF_DETAIL
--, POS_TARIF
--, NOMOR_INVOICE
--, TANGGAL_INVOICE
--, NOMOR_BL
--, TANGGAL_BL
--, NDPBM
--, CIF_RUPIAH
--, TARIF_BM
--, NAMA_PENERIMA
--, NAMA_ANGKUT
--, NOMOR_KONTAINER
--, TANGGAL_AJU
--, TANGGAL_MUAT
--, PELABUHAN_MUAT
--, ALAMAT_PENERIMA
--, KODE_KEMASAN)
--SELECT
--'AW',
--a.NOMOR_AJU,
--a.NOMOR_DAFTAR,
--a.TANGGAL_DAFTAR,
--a.KODE_DOKUMEN_PABEAN,
--a.TANGGAL_DAFTAR,
--b.SERI_BARANG,
--b.KODE_BARANG,
--b.URAIAN,
--b.JUMLAH_SATUAN,
--b.KODE_SATUAN,
--b.JUMLAH_KEMASAN,
--a.BRUTO,
--a.CIF,
--a.KODE_KANTOR,
--b.CIF,
--b.POS_TARIF,
--d.NOMOR_DOKUMEN,
--ISNULL(d.TANGGAL_DOKUMEN,'1900-01-01'),
--e.NOMOR_DOKUMEN,
--ISNULL(e.TANGGAL_DOKUMEN,'1900-01-01'),
--a.NDPBM,
--a.CIF_RUPIAH,
--isnull(f.TARIF,0) as TARIF_BM,
--a.NAMA_PENERIMA_BARANG,
--a.NAMA_PENGANGKUT,
--g.NOMOR_KONTAINER,
--a.TANGGAL_AJU,
--ISNULL(a.TANGGAL_BERANGKAT,'1900-01-01') ,
--a.KODE_PEL_BONGKAR,
--a.ALAMAT_PENERIMA_BARANG ,
--b.KODE_KEMASAN
-- FROM AW.DB_PASI_20201106.dbo.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 ID_HEADER,NOMOR_DOKUMEN, TANGGAL_DOKUMEN FROM AW.DB_PASI_20201106.dbo.tpb_out_dokumen WHERE KODE_JENIS_DOKUMEN = '380'
-- ) AS d ON a.ID_HEADER = d.ID_HEADER
-- LEFT OUTER JOIN (
-- SELECT ID_HEADER,NOMOR_DOKUMEN, TANGGAL_DOKUMEN FROM AW.DB_PASI_20201106.dbo.tpb_out_dokumen WHERE KODE_JENIS_DOKUMEN IN ('705', '740')
-- ) AS e ON a.ID_HEADER = e.ID_HEADER
-- LEFT OUTER JOIN (
-- SELECT ID_HEADER, ID_BARANG,TARIF FROM AW.DB_PASI_20201106.dbo.tpb_out_barang_tarif WHERE JENIS_TARIF = 'BM'
-- ) AS f ON a.ID_HEADER = f.ID_HEADER AND b.ID = f.ID_BARANG
-- LEFT OUTER JOIN (
-- SELECT ID_HEADER,NOMOR_KONTAINER FROM AW.DB_PASI_20201106.dbo.tpb_out_kontainer
-- ) AS g ON a.ID_HEADER = g.ID_HEADER
-- WHERE c.status_tpb_out_id='3' AND a.KODE_DOKUMEN_PABEAN ='25'
-- AND (a.TANGGAL_DAFTAR BETWEEN @start_date AND @end_date)
    set @source = 'AW'
 END

 RETURN;

end; 

GO

Used By

No items found