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
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