dbo.f_pemasukan_per_dok

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
@tgstart date 3
@tgend date 3

SQL Script

SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
CREATE FUNCTION dbo.f_pemasukan_per_dok
( 
 @tgstart date, @tgend date
)
RETURNS  @tblpemasukan_per_dok table (
       id_data_in_hdr bigint primary key
        , bc_type_name varchar(50)
     , doc_no varchar(50)
     , doc_date date
     , recieve_number  varchar(50)
     , recieve_date date
     , supplier_receiver_name  varchar(100)
     , barang_code  varchar(50)
     , barang_name  varchar(200)
     , doc_satuan_code  varchar(50)
     , doc_qty decimal(18,4) 
     , total_cif decimal(18,4) 
     , valuta_code varchar(10) default('-')  
     , doc_in_from_id int
     , doc_in_from_name varchar(50)
    )
AS
begin

;with
ct_bc_masuk (
id_bc_in_hdr, typedok, NOBC, TGBC, PasokNama, KdBrg, BrgUrai, KdSat, JmlSat, DNilInv ,id_bc_in_dtl,KdVal, tipe
) as (
 SELECT     tbl_bc_in_hdr.id_bc_in_hdr
 , tbl_bc_in_hdr.typedok
 , tbl_bc_in_hdr.BC23No
 , tbl_bc_in_hdr.BC23Tg
 , tbl_bc_in_hdr.PasokNama
 , tbl_bc_in_dtl.KdBrg
 , CONCAT(tbl_bc_in_dtl.BrgUrai + ' , ',isnull(tbl_bc_in_dtl.Tipe, '')) as BrgUrai
 --, tbl_bc_in_dtl.BrgUrai
 , tbl_bc_in_dtl.KdSat
 , tbl_bc_in_dtl.JmlSat
 , tbl_bc_in_dtl.DNilInv
 , tbl_bc_in_dtl.id_bc_in_dtl
 , tbl_bc_in_hdr.KdVal
 , tbl_bc_in_dtl.Tipe
 
FROM         tbl_bc_in_hdr INNER JOIN
                      tbl_bc_in_dtl ON tbl_bc_in_hdr.id_bc_in_hdr = tbl_bc_in_dtl.id_bc_in_hdr

            

        

),
ct_data_out (
 doc_in_no, doc_in_date, id_terkait, doc_in_from_id, doc_in_from_name
) as (
 SELECT        doc_in_no, doc_in_date, id_terkait, dbo.tbl_data_in_hdr.doc_in_from_id, dbo.enum_data_in_from.doc_in_from_name
FROM            tbl_data_in_hdr 
left outer JOIN dbo.enum_data_in_from ON dbo.tbl_data_in_hdr.doc_in_from_id = dbo.enum_data_in_from.doc_in_from_id 
 where (doc_in_date between @tgstart and @tgend)  and tbl_data_in_hdr.doc_in_from_id in (2,3,4,5)
)


   insert into @tblpemasukan_per_dok (
     id_data_in_hdr
     , bc_type_name 
     , doc_no 
     , doc_date 
     , recieve_number  
     , recieve_date 
     , supplier_receiver_name 
     , barang_code  
     , barang_name 
     , doc_satuan_code 
     , doc_qty 
     , total_cif 
     ,valuta_code
     , doc_in_from_id 
     , doc_in_from_name
  )   
    
select id_bc_in_dtl,(case when typedok = 'BC271' then 'BC27' else typedok end), NOBC, TGBC, doc_in_no, doc_in_date, PasokNama,isnull( KdBrg, tipe), BrgUrai, KdSat, JmlSat, DNilInv ,isnull(KdVal,'') as KdVal
 , doc_in_from_id 
     , doc_in_from_name
 
from ct_bc_masuk inner join ct_data_out on ct_bc_masuk.id_bc_in_hdr = ct_data_out.id_terkait

 where 1 = 1 and not(ct_bc_masuk.PasokNama='PASI-AW' and doc_in_date>'2016-09-01')      
 
 return
end
GO