dbo.f_fg_bom

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_fg_bom
( 
 @tgstart date, @tgend date 
)
RETURNS  @tblmaterial_bom table (
        partnamecustom varchar(100) null
    ,qty float null
    
   
    )
AS
begin

 ;with 
cte_bom(ASSY_CODE, QTY, part_name_customs) as 
(
 
     SELECT        tbl_bom_dtl.ASSY_CODE, sum(isnull(tbl_bom_dtl.QTY, 0)), part_name_customs
FROM            tbl_bom_dtl INNER JOIN
                         tbl_data_part_hs ON tbl_bom_dtl.PART_NO = tbl_data_part_hs.part_no  
      
group by tbl_bom_dtl.ASSY_CODE, part_name_customs

),

ctestok_trxawal(
     part_no, qty_in, unit
     
     ) as
     (
     --select part_no, sum(abs(qty_in)), unit_in
     select part_no, sum(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, unit_in
     )


   insert into @tblmaterial_bom (
  partnamecustom 
  ,qty 
  
  )   

  select part_name_customs, sum((isnull(QTY,0) * isnull(qty_in,0)))  from ctestok_trxawal 
left outer join cte_bom on cte_bom.ASSY_CODE = ctestok_trxawal.part_no  
group by
part_name_customs
    
 
 return
end
--go
--select * from [dbo].[f_fg_bom]('2014-05-01', '2014-08-31')
GO

Used By

1