dbo.f_mutasi_wip

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_mutasi_wip
( 
 @tgstart date, @tgend date 
)
RETURNS  @mutasiwip table (
    part_no varchar(100) null
    ,part_name varchar(100) null
    ,qty float null
    ,qty_bom float null
    ,qty_pakebom float null 
    ,unit varchar(100) null
   
    )
AS
begin

 
;with cteparths(part_no, part_name_customs, satuan)
 as
 ( 
  select [kode_barang]
      ,[nama_barang]
      ,[satuan]
  FROM [dbo].[tbl_kode_barang]
 ),
 ctedata_out(
  part_name_customs, qty
 ) as
 (
  SELECT 
   [part_name_customs]
    ,sum([qty]) as qty
  FROM [tbl_data_out_dtl]
  inner join [dbo].[tbl_data_out_hdr] on [tbl_data_out_dtl].id_data_out_hdr=[tbl_data_out_hdr].id_data_out_hdr
  where  [type_items]='RM' and [tbl_data_out_hdr].doc_out_to_id=1  and out_date between @tgstart and  @tgend 
  and [dbo].[tbl_data_out_hdr].approve_date is not null
  group by [part_name_customs]
 
 ),
 cte_fg_bom(
     part_name_customs, qty ) as
 (
  select partnamecustom, qty from [dbo].[f_fg_bom] (@tgstart, @tgend)
  
 )
 insert into @mutasiwip (
  part_no
  ,part_name
  ,qty
  ,qty_bom
  ,qty_pakebom 
  ,unit
  
 )
   select cteparths.part_no, cteparths.part_name_customs, 
   (case when (isnull(sum(ctedata_out.qty),0) - isnull(sum(cte_fg_bom.qty), 0)) < 0 then 0 else (isnull(sum(ctedata_out.qty),0) - isnull(sum(cte_fg_bom.qty), 0)) end) as qty -- (tanpa kurag bom) isnull(sum(ctedata_out.qty),0) as qty
   ,isnull(sum(cte_fg_bom.qty),0) as qty_bom
   ,(case when (isnull(sum(ctedata_out.qty),0) - isnull(sum(cte_fg_bom.qty), 0)) < 0 then 0 else (isnull(sum(ctedata_out.qty),0) - isnull(sum(cte_fg_bom.qty), 0)) end) as qty_pakebom
   ,cteparths.satuan  as unit 
   from cteparths 
   left outer join ctedata_out on ctedata_out.part_name_customs = cteparths.part_name_customs
   left outer join cte_fg_bom on cte_fg_bom.part_name_customs = cteparths.part_name_customs
   
  group by 
  cteparths.part_no, cteparths.satuan, cteparths.part_name_customs
 




  return
end
--go
--select * from [dbo].[f_mutasi_wip] ('2014-05-01', '2014-08-31')
GO

Used By

No items found