dbo.aw_fn_mutasi_wip_baru_2

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.aw_fn_mutasi_wip_baru_2
( 
 @tgstart date, @tgend date
)
RETURNS  @mutasiwip table (
     kodebarang varchar(100) null
    ,namabarang varchar(100) null
    ,qty_saldoawal float null
    ,qty_in int null
    ,qty_out int null
    
    ,saldo_akhir int null
    ,stock_opname int null
    ,selisih int null
    ,unit varchar(100) null
   
    )
AS
begin

declare @datesaldoawal date
declare @datasto integer

set @datesaldoawal=(select top 1 tgl_sto from AW.DB_PASI_20201106.dbo.tbl_stock_wip_pvc order by tgl_sto desc)

set @datasto=(select top 1 qty from AW.DB_PASI_20201106.dbo.tbl_stock_opname_bb where tgl_sto between @tgstart and @tgend )

;with

 ct_kodebrg (kodebarang,namabarang,satuan) as (select kdbrg, nama_barang, satuan from AW.DB_PASI_20201106.dbo.tbl_master_material_code where kdbrg like '%VB%'  group by kdbrg,nama_barang,satuan),
 ct_saldo_awal (kodebarang,qty) as (select kdbrg,sum(qty) from AW.DB_PASI_20201106.dbo.tbl_stock_wip_pvc where tgl_sto between @tgstart and @tgend  group by kdbrg),  
 ct_brg_in (kodebarang,qty) as (select kode_brg,sum(jumlah) from AW.DB_PASI_20201106.dbo.tbl_pemasukan_barang where tgl_receive between @tgstart and @tgend and kode_brg like '%VB%'  group by kode_brg),

 ct_brg_out (kodebarang,qty) as (select kode_brg,sum(jumlah) from AW.DB_PASI_20201106.dbo.tbl_pemasukan_barang where tgl_receive between @tgstart and @tgend and kode_brg like '%VB%'  group by kode_brg),
 ct_stock_opname (kodebarang,qty) as (select kode_barang,sum(qty) from AW.DB_PASI_20201106.dbo.tbl_stock_opname_bb where tgl_sto between @tgstart and @tgend group by kode_barang),
 ct_brg_in_awal_periode (kodebarang,qty) as (select kode_brg,sum(jumlah) from AW.DB_PASI_20201106.dbo.tbl_pemasukan_barang where tgl_receive  between @datesaldoawal and dateadd(day,-1, @tgstart) group by kode_brg),
 ct_brg_out_awal_periode (kodebarang, qty) as (select kode_brg,sum(jumlah) from AW.DB_PASI_20201106.dbo.tbl_pemasukan_barang where tgl_receive between @datesaldoawal and dateadd(day,-1, @tgstart) group by kode_brg)    
 --ct_brg_out_awal_periode (kodebarang, qty) as (select kode_barang,sum(pengeluaran) from tbl_stock_out_bb where tanggal_pengeluaran between @datesaldoawal and @tgend group by kode_barang)

 
 insert into  @mutasiwip (kodebarang,namabarang,qty_saldoawal,qty_in,qty_out,saldo_akhir,stock_opname,selisih,unit )
 select ct_kodebrg.kodebarang, ct_kodebrg.namabarang,
   isnull(ct_saldo_awal.qty,0) + isnull(ct_brg_in_awal_periode.qty,0) - isnull(ct_brg_out_awal_periode.qty,0) as qty_saldoawal,
   isnull(ct_brg_in.qty,0) as qty_in,
   isnull(ct_brg_out.qty,0) as qty_out,
   (isnull(ct_saldo_awal.qty,0) + isnull(ct_brg_in_awal_periode.qty,0) - isnull(ct_brg_out_awal_periode.qty,0)) + isnull(ct_brg_in.qty,0) - isnull(ct_brg_out.qty,0) as saldo_akhir,
   isnull(ct_stock_opname.qty,0) as qty_out,
   (case when  @datasto is null  then 0 
   else (isnull(ct_saldo_awal.qty,0) + isnull(ct_brg_in_awal_periode.qty,0) - isnull(ct_brg_out_awal_periode.qty,0)) + isnull(ct_brg_in.qty,0) - isnull(ct_brg_out.qty,0) - isnull(ct_stock_opname.qty,0) end),
   
   ct_kodebrg.satuan as unit
 from ct_kodebrg  
   left outer join ct_saldo_awal on ct_kodebrg.kodebarang = ct_saldo_awal.kodebarang
   left outer join ct_brg_in on ct_kodebrg.kodebarang = ct_brg_in.kodebarang
   left outer join ct_brg_out on ct_kodebrg.kodebarang = ct_brg_out.kodebarang
   left outer join ct_brg_in_awal_periode on ct_kodebrg.kodebarang = ct_brg_in_awal_periode.kodebarang
   left outer join ct_brg_out_awal_periode on ct_kodebrg.kodebarang = ct_brg_out_awal_periode.kodebarang 
   left outer join ct_stock_opname on ct_kodebrg.kodebarang = ct_stock_opname.kodebarang 
   
 return
end
GO

Depends On

No items found