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 |
|---|---|---|---|
| @date_start | date | 3 | |
| @date_stop | date | 3 |
SQL Script
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
CREATE FUNCTION dbo.gab_rpt_mutasi_bahanbaku_aw(
@date_start date
,@date_stop date
)
RETURNS TABLE
---XencX---with encryption
AS
RETURN (
with
ct_kodebrg (kodebarang,namabarang,satuan,mapped) as (select kdbrg, nama_barang, satuan , mapped from AW.DB_PASI_20201106.dbo.tbl_master_material_code WHERE (mapped is NULL) AND (cons = '0') group by kdbrg,nama_barang,satuan,mapped),
ct_saldo_awal (kodebarang,qty) as (select kodebarang,sum(qty) from aw_fn_saldo_awal_bb(@date_start,@date_stop) group by kodebarang),
ct_saldo_awal_ceisa (kodebarang,qty) as (select KODE_BARANG,sum(JUMLAH_SATUAN) from AW.DB_PASI_20201106.dbo.dv_data_pemasukan_ceisa where receive_date < @date_start AND TIPE_ITEM='MATERIAL' group by KODE_BARANG),
ct_brg_in (kodebarang,qty) as (select kode_brg,sum(jumlah) from AW.DB_PASI_20201106.dbo.tbl_pemasukan_barang where tgl_receive between @date_start and @date_stop group by kode_brg),
ct_brg_in_ceisa (kodebarang,qty) as (select KODE_BARANG,sum(JUMLAH_SATUAN) from AW.DB_PASI_20201106.dbo.dv_data_pemasukan_ceisa where receive_date between @date_start and @date_stop AND TIPE_ITEM='MATERIAL' group by KODE_BARANG),
ct_brg_out (kodebarang,qty) as (select kode_barang,sum(pengeluaran) from AW.DB_PASI_20201106.dbo.tbl_stock_out_bb where tanggal_pengeluaran between @date_start and @date_stop group by kode_barang),
ct_penyesuaian (kodebarang,qty) as (select kode_barang,sum(qty) from AW.DB_PASI_20201106.dbo.tbl_adjustment_bb where tgl_sto between @date_start and @date_stop group by kode_barang),
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 @date_start and @date_stop 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 case when exists(select * from AW.DB_PASI_20201106.dbo.tbl_stock_material) then (select top 1 tgl_sto from AW.DB_PASI_20201106.dbo.tbl_stock_material order by tgl_sto desc) else '2010-01-01' end and dateadd(day,-1, @date_start) group by kode_brg),
ct_brg_out_awal_periode (kodebarang, qty) as (select kode_barang,sum(pengeluaran) from AW.DB_PASI_20201106.dbo.tbl_stock_out_bb where tanggal_pengeluaran between case when exists(select * from AW.DB_PASI_20201106.dbo.tbl_stock_material) then (select top 1 tgl_sto from AW.DB_PASI_20201106.dbo.tbl_stock_material order by tgl_sto desc) else '2010-01-01' end and dateadd(day,-1, @date_start) group by kode_barang)
select ct_kodebrg.kodebarang as barang_code
, ct_kodebrg.namabarang as barang_name
, cast(isnull(ct_saldo_awal_ceisa.qty,0)+ isnull(ct_brg_in_awal_periode.qty,0) - isnull(ct_brg_out_awal_periode.qty,0) as decimal(24,4)) as saldo_awal
, cast(isnull(ct_brg_in.qty,0) as decimal(24,4)) + cast(isnull(ct_brg_in_ceisa.qty,0) as decimal(24,4)) as pemasukan
, cast(isnull(ct_brg_out.qty,0) as decimal(24,4)) as pengeluaran
, cast(isnull(ct_penyesuaian.qty,0) as decimal(24,4)) as penyesuaian
, cast((isnull(ct_saldo_awal_ceisa.qty,0)+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_brg_in_ceisa.qty,0) as decimal(24,4)) as saldo_akhir
, cast(isnull(ct_stock_opname.qty,0) as decimal(24,4)) as stock_opname
,cast((case when (select top 1 qty from AW.DB_PASI_20201106.dbo.tbl_stock_opname_bb where tgl_sto between @date_start and @date_stop ) is null then 0
else (isnull(ct_saldo_awal_ceisa.qty,0) +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_in_ceisa.qty,0) - isnull(ct_brg_out.qty,0) - isnull(ct_stock_opname.qty,0) end) as decimal(24,4)) as selisih,
ct_kodebrg.satuan as satuan_code,
'' as keterangan
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_penyesuaian on ct_kodebrg.kodebarang = ct_penyesuaian.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
left outer join ct_brg_in_ceisa on ct_kodebrg.kodebarang = ct_brg_in_ceisa.kodebarang
left outer join ct_saldo_awal_ceisa on ct_kodebrg.kodebarang = ct_saldo_awal_ceisa.kodebarang
)
--GO
-- SELECT *
--FROM dbo.gab_rpt_mutasi_bahanbaku_aw('12/12/2015', '12/12/2016')
--order by barang_code
GO
GO
CREATE FUNCTION dbo.gab_rpt_mutasi_bahanbaku_aw(
@date_start date
,@date_stop date
)
RETURNS TABLE
---XencX---with encryption
AS
RETURN (
with
ct_kodebrg (kodebarang,namabarang,satuan,mapped) as (select kdbrg, nama_barang, satuan , mapped from AW.DB_PASI_20201106.dbo.tbl_master_material_code WHERE (mapped is NULL) AND (cons = '0') group by kdbrg,nama_barang,satuan,mapped),
ct_saldo_awal (kodebarang,qty) as (select kodebarang,sum(qty) from aw_fn_saldo_awal_bb(@date_start,@date_stop) group by kodebarang),
ct_saldo_awal_ceisa (kodebarang,qty) as (select KODE_BARANG,sum(JUMLAH_SATUAN) from AW.DB_PASI_20201106.dbo.dv_data_pemasukan_ceisa where receive_date < @date_start AND TIPE_ITEM='MATERIAL' group by KODE_BARANG),
ct_brg_in (kodebarang,qty) as (select kode_brg,sum(jumlah) from AW.DB_PASI_20201106.dbo.tbl_pemasukan_barang where tgl_receive between @date_start and @date_stop group by kode_brg),
ct_brg_in_ceisa (kodebarang,qty) as (select KODE_BARANG,sum(JUMLAH_SATUAN) from AW.DB_PASI_20201106.dbo.dv_data_pemasukan_ceisa where receive_date between @date_start and @date_stop AND TIPE_ITEM='MATERIAL' group by KODE_BARANG),
ct_brg_out (kodebarang,qty) as (select kode_barang,sum(pengeluaran) from AW.DB_PASI_20201106.dbo.tbl_stock_out_bb where tanggal_pengeluaran between @date_start and @date_stop group by kode_barang),
ct_penyesuaian (kodebarang,qty) as (select kode_barang,sum(qty) from AW.DB_PASI_20201106.dbo.tbl_adjustment_bb where tgl_sto between @date_start and @date_stop group by kode_barang),
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 @date_start and @date_stop 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 case when exists(select * from AW.DB_PASI_20201106.dbo.tbl_stock_material) then (select top 1 tgl_sto from AW.DB_PASI_20201106.dbo.tbl_stock_material order by tgl_sto desc) else '2010-01-01' end and dateadd(day,-1, @date_start) group by kode_brg),
ct_brg_out_awal_periode (kodebarang, qty) as (select kode_barang,sum(pengeluaran) from AW.DB_PASI_20201106.dbo.tbl_stock_out_bb where tanggal_pengeluaran between case when exists(select * from AW.DB_PASI_20201106.dbo.tbl_stock_material) then (select top 1 tgl_sto from AW.DB_PASI_20201106.dbo.tbl_stock_material order by tgl_sto desc) else '2010-01-01' end and dateadd(day,-1, @date_start) group by kode_barang)
select ct_kodebrg.kodebarang as barang_code
, ct_kodebrg.namabarang as barang_name
, cast(isnull(ct_saldo_awal_ceisa.qty,0)+ isnull(ct_brg_in_awal_periode.qty,0) - isnull(ct_brg_out_awal_periode.qty,0) as decimal(24,4)) as saldo_awal
, cast(isnull(ct_brg_in.qty,0) as decimal(24,4)) + cast(isnull(ct_brg_in_ceisa.qty,0) as decimal(24,4)) as pemasukan
, cast(isnull(ct_brg_out.qty,0) as decimal(24,4)) as pengeluaran
, cast(isnull(ct_penyesuaian.qty,0) as decimal(24,4)) as penyesuaian
, cast((isnull(ct_saldo_awal_ceisa.qty,0)+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_brg_in_ceisa.qty,0) as decimal(24,4)) as saldo_akhir
, cast(isnull(ct_stock_opname.qty,0) as decimal(24,4)) as stock_opname
,cast((case when (select top 1 qty from AW.DB_PASI_20201106.dbo.tbl_stock_opname_bb where tgl_sto between @date_start and @date_stop ) is null then 0
else (isnull(ct_saldo_awal_ceisa.qty,0) +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_in_ceisa.qty,0) - isnull(ct_brg_out.qty,0) - isnull(ct_stock_opname.qty,0) end) as decimal(24,4)) as selisih,
ct_kodebrg.satuan as satuan_code,
'' as keterangan
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_penyesuaian on ct_kodebrg.kodebarang = ct_penyesuaian.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
left outer join ct_brg_in_ceisa on ct_kodebrg.kodebarang = ct_brg_in_ceisa.kodebarang
left outer join ct_saldo_awal_ceisa on ct_kodebrg.kodebarang = ct_saldo_awal_ceisa.kodebarang
)
--GO
-- SELECT *
--FROM dbo.gab_rpt_mutasi_bahanbaku_aw('12/12/2015', '12/12/2016')
--order by barang_code
GO
Depends On
1Used By
No items found