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