dbo.fn_rpt_261

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_261( 
  @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 ('BC261')

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

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

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

    ) 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_PENERIMAT
    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
       , a.NAMABELI as NAMA_PENERIMA
       , a.ALMTBELI as ALAMAT_PENERIMAT
         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 ('BC261')

     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 ('261')
   
    ) 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,
   '' ,
   b.URAIAN,
   b.JUMLAH_SATUAN,
   b.KODE_SATUAN,
   b.CIF,
   d.NOMOR_DOKUMEN,
   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 ='261' 
        AND (a.TANGGAL_DAFTAR BETWEEN @start_date AND @end_date)
   ORDER BY a.NOMOR_AJU
 end

 RETURN;

end; 

GO

Used By

No items found