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 | |
| @tipebahan | varchar | 50 |
SQL Script
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
create FUNCTION dbo.f_mutasi_fg_0
(
@tgstart date, @tgend date, @tipebahan varchar(50)
)
RETURNS @mutasibj table (
part_no varchar(100) null
,part_name varchar(100) null
,stock_awal float null
,qty_in float null
,qty_out float null
,sisa float null
,unit varchar(100) null
,qty_in_by_date float null
,qty_out_by_date float null
,sisa_by_date float null
)
AS
begin
declare @datesaldo date
set @datesaldo = (select max(date_stock) from [tbl_stock_awal] where typebahan='FG')
;with
ct_assy_list(
part_no,part_name
) as
(
SELECT
[ASSY_CODE]
,[ASSY_NO]
FROM [DB_PEMI].[dbo].[tbl_assy_list]
group by
[ASSY_CODE]
,[ASSY_NO]
),
ctestokawal(part_no, qty) as (
SELECT
[part_no]
,[qty]
FROM [DB_PEMI].[dbo].[tbl_stock_awal]
where typebahan = 'FG' and date_stock=@datesaldo
),
ctestok_trxawal(
part_no, part_name, qty_in, unit
) as
(
select part_no, part_name, sum(abs(qty_in)), unit_in
from tbl_data_in_dtl inner join tbl_data_in_hdr on tbl_data_in_hdr.id_data_in_hdr = tbl_data_in_dtl.id_data_in_hdr
where type_brg=2 and status='APPROVED' and tbl_data_in_hdr.doc_in_date between @tgstart and @tgend
group by part_no, part_name,unit_in
),
ctest_trxoutawal(part_no, part_name,qty_out, unit) as (
SELECT assy_code, part_name_customs, sum(qty), unit_out
FROM tbl_data_out_dtl
where type_items='FG' and [out_date] between @tgstart and @tgend
group by
assy_code, part_name_customs,unit_out
),
ctestok_in_date(
part_no, part_name, qty_in
) as
(
select part_no, part_name, sum(abs(qty_in)) as qty_in
from tbl_data_in_dtl inner join tbl_data_in_hdr on tbl_data_in_hdr.id_data_in_hdr = tbl_data_in_dtl.id_data_in_hdr
where type_brg=2 and status='APPROVED' and tbl_data_in_hdr.doc_in_date between @datesaldo and dateadd(day, -1, @tgstart)
group by part_no, part_name,unit_in
),
ctest_trxout_bydate(part_no, part_name,qty_out, unit) as (
SELECT assy_code, part_name_customs, sum(qty), unit_out
FROM tbl_data_out_dtl
where type_items='FG' and out_date between @datesaldo and dateadd(day, -1, @tgstart)
group by
assy_code, part_name_customs,unit_out
)
insert into @mutasibj (part_no,part_name,stock_awal,qty_in,qty_out,sisa,unit,qty_in_by_date,qty_out_by_date,sisa_by_date
)
SELECT
ct_assy_list.part_no
, ct_assy_list.part_name
,isnull(ctestokawal.qty,0) + (isnull(ctestok_in_date.qty_in, 0) - isnull(ctest_trxout_bydate.qty_out,0)) as stok_awal
,isnull(ctestok_trxawal.qty_in, 0) as qty_in
,isnull(ctest_trxoutawal.qty_out, 0) as qty_out
,(isnull(ctestokawal.qty,0) + (isnull(ctestok_trxawal.qty_in,0)) - isnull(ctest_trxoutawal.qty_out, 0) ) as sisa
,'PCS' as unit --(isnull(ctestok_trxawal.unit, 'PCS')) as unit
,isnull(ctestok_in_date.qty_in,0) as qty_in_by_date
,isnull(ctest_trxout_bydate.qty_out,0) as qty_out_by_date
,(isnull(ctestokawal.qty,0) + ( ( isnull(ctestok_in_date.qty_in,0) - isnull(ctest_trxout_bydate.qty_out,0)) ) + (isnull(ctestok_trxawal.qty_in, 0) - isnull(ctest_trxoutawal.qty_out, 0))) as sisa_by_date
from ct_assy_list
left outer join ctestok_trxawal on ct_assy_list.part_no = ctestok_trxawal.part_no
left outer join ctest_trxoutawal on ct_assy_list.part_no=ctest_trxoutawal.part_no
left outer join ctestokawal on ct_assy_list.part_no=ctestokawal.part_no
left outer join ctestok_in_date on ct_assy_list.part_no=ctestok_in_date.part_no
left outer join ctest_trxout_bydate on ct_assy_list.part_no=ctest_trxout_bydate.part_no
return
end
GO
GO
create FUNCTION dbo.f_mutasi_fg_0
(
@tgstart date, @tgend date, @tipebahan varchar(50)
)
RETURNS @mutasibj table (
part_no varchar(100) null
,part_name varchar(100) null
,stock_awal float null
,qty_in float null
,qty_out float null
,sisa float null
,unit varchar(100) null
,qty_in_by_date float null
,qty_out_by_date float null
,sisa_by_date float null
)
AS
begin
declare @datesaldo date
set @datesaldo = (select max(date_stock) from [tbl_stock_awal] where typebahan='FG')
;with
ct_assy_list(
part_no,part_name
) as
(
SELECT
[ASSY_CODE]
,[ASSY_NO]
FROM [DB_PEMI].[dbo].[tbl_assy_list]
group by
[ASSY_CODE]
,[ASSY_NO]
),
ctestokawal(part_no, qty) as (
SELECT
[part_no]
,[qty]
FROM [DB_PEMI].[dbo].[tbl_stock_awal]
where typebahan = 'FG' and date_stock=@datesaldo
),
ctestok_trxawal(
part_no, part_name, qty_in, unit
) as
(
select part_no, part_name, sum(abs(qty_in)), unit_in
from tbl_data_in_dtl inner join tbl_data_in_hdr on tbl_data_in_hdr.id_data_in_hdr = tbl_data_in_dtl.id_data_in_hdr
where type_brg=2 and status='APPROVED' and tbl_data_in_hdr.doc_in_date between @tgstart and @tgend
group by part_no, part_name,unit_in
),
ctest_trxoutawal(part_no, part_name,qty_out, unit) as (
SELECT assy_code, part_name_customs, sum(qty), unit_out
FROM tbl_data_out_dtl
where type_items='FG' and [out_date] between @tgstart and @tgend
group by
assy_code, part_name_customs,unit_out
),
ctestok_in_date(
part_no, part_name, qty_in
) as
(
select part_no, part_name, sum(abs(qty_in)) as qty_in
from tbl_data_in_dtl inner join tbl_data_in_hdr on tbl_data_in_hdr.id_data_in_hdr = tbl_data_in_dtl.id_data_in_hdr
where type_brg=2 and status='APPROVED' and tbl_data_in_hdr.doc_in_date between @datesaldo and dateadd(day, -1, @tgstart)
group by part_no, part_name,unit_in
),
ctest_trxout_bydate(part_no, part_name,qty_out, unit) as (
SELECT assy_code, part_name_customs, sum(qty), unit_out
FROM tbl_data_out_dtl
where type_items='FG' and out_date between @datesaldo and dateadd(day, -1, @tgstart)
group by
assy_code, part_name_customs,unit_out
)
insert into @mutasibj (part_no,part_name,stock_awal,qty_in,qty_out,sisa,unit,qty_in_by_date,qty_out_by_date,sisa_by_date
)
SELECT
ct_assy_list.part_no
, ct_assy_list.part_name
,isnull(ctestokawal.qty,0) + (isnull(ctestok_in_date.qty_in, 0) - isnull(ctest_trxout_bydate.qty_out,0)) as stok_awal
,isnull(ctestok_trxawal.qty_in, 0) as qty_in
,isnull(ctest_trxoutawal.qty_out, 0) as qty_out
,(isnull(ctestokawal.qty,0) + (isnull(ctestok_trxawal.qty_in,0)) - isnull(ctest_trxoutawal.qty_out, 0) ) as sisa
,'PCS' as unit --(isnull(ctestok_trxawal.unit, 'PCS')) as unit
,isnull(ctestok_in_date.qty_in,0) as qty_in_by_date
,isnull(ctest_trxout_bydate.qty_out,0) as qty_out_by_date
,(isnull(ctestokawal.qty,0) + ( ( isnull(ctestok_in_date.qty_in,0) - isnull(ctest_trxout_bydate.qty_out,0)) ) + (isnull(ctestok_trxawal.qty_in, 0) - isnull(ctest_trxoutawal.qty_out, 0))) as sisa_by_date
from ct_assy_list
left outer join ctestok_trxawal on ct_assy_list.part_no = ctestok_trxawal.part_no
left outer join ctest_trxoutawal on ct_assy_list.part_no=ctest_trxoutawal.part_no
left outer join ctestokawal on ct_assy_list.part_no=ctestokawal.part_no
left outer join ctestok_in_date on ct_assy_list.part_no=ctestok_in_date.part_no
left outer join ctest_trxout_bydate on ct_assy_list.part_no=ctest_trxout_bydate.part_no
return
end
GO
Depends On
5Used By
No items found