Commit a48701ac authored by prane's avatar prane

RunMPR enhancemenet related sql merged

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@213447 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 68e1fd2f
...@@ -188,7 +188,7 @@ select item_code, due_date, sum(demand) demand , sum(supply) supply, tran_id,lin ...@@ -188,7 +188,7 @@ select item_code, due_date, sum(demand) demand , sum(supply) supply, tran_id,lin
AND workorder.SALE_ORDER IS NULL AND workorder.SALE_ORDER IS NULL
AND (case when workorder.status is null then 'P' else workorder.status end in ('R','F')) AND (case when workorder.status is null then 'P' else workorder.status end in ('R','F'))
AND (case when workorder.consider_wip is null then 'O' else workorder.consider_wip end = 'O') AND (case when workorder.consider_wip is null then 'O' else workorder.consider_wip end = 'O')
GROUP BY workorder.work_order, ' ','W-ORD',item.item_code__plan, to_date('@fromdate@'), workorder.site_code GROUP BY workorder.work_order, ' ','W-ORD',item.item_code__plan, workorder.due_date, workorder.site_code
HAVING sum((case when workorder.current_batch_qty is null then 0 else workorder.current_batch_qty end * HAVING sum((case when workorder.current_batch_qty is null then 0 else workorder.current_batch_qty end *
case when workorder.yield_perc is null then 100 else workorder.yield_perc end / 100 ) - case when workorder.quantity__rcvd is null then 0 else workorder.quantity__rcvd end ) > 0 case when workorder.yield_perc is null then 100 else workorder.yield_perc end / 100 ) - case when workorder.quantity__rcvd is null then 0 else workorder.quantity__rcvd end ) > 0
...@@ -222,7 +222,7 @@ select item_code, due_date, sum(demand) demand , sum(supply) supply, tran_id,lin ...@@ -222,7 +222,7 @@ select item_code, due_date, sum(demand) demand , sum(supply) supply, tran_id,lin
AND workorder.SALE_ORDER IS NULL AND workorder.SALE_ORDER IS NULL
AND (case when workorder.status is null then 'P' else workorder.status end in ('R','F')) AND (case when workorder.status is null then 'P' else workorder.status end in ('R','F'))
AND (case when workorder.consider_wip is null then 'O' else workorder.consider_wip end = 'O') ) AND (case when workorder.consider_wip is null then 'O' else workorder.consider_wip end = 'O') )
GROUP BY workorder_bill.work_order,case when rtrim(siteitem.supp_sour) = 'M' then 'W-BIL' when rtrim(siteitem.supp_sour) = 'P' then 'Indend' else '???' end, workorder_bill.item_code, to_date('@fromdate@'), workorder.site_code GROUP BY workorder_bill.work_order,case when rtrim(siteitem.supp_sour) = 'M' then 'W-BIL' when rtrim(siteitem.supp_sour) = 'P' then 'Indend' else '???' end, workorder_bill.item_code, workorder.due_date, workorder.site_code
) ALIAS ) ALIAS
GROUP BY item_code,due_date ,tran_id,line_no,tran_ser,site_code GROUP BY item_code,due_date ,tran_id,line_no,tran_ser,site_code
HAVING sum(demand) <> 0 or sum(supply) <> 0 HAVING sum(demand) <> 0 or sum(supply) <> 0
......
select item_code, due_date, round(sum(demand)+ fn_get_sampleqty(item_code ,'@sitecode@' ),0) demand , sum(supply) supply , sum(stock_qty) stock_qty, sum(oth_supply) oth_supply, sum(pending_po) pending_po ,sum(pending_do) pending_do, sum(pending_indent) pending_indent, sum(pending_dr) pending_dr,tran_id,tran_ser ,site_code from select item_code,due_date, round(sum(demand)+ fn_get_sampleqty(item_code ,'@sitecode@' ),0) demand , sum(supply) supply, sum(stock_qty) stock_qty,
( sum(oth_supply) oth_supply, sum(pending_po) pending_po ,sum(pending_do) pending_do, sum(pending_indent) pending_indent, sum(pending_dr) pending_dr ,tran_id,tran_ser ,site_code
SELECT independent_demand.tran_id,'I-DEM' as tran_ser,item.item_code__plan as item_code,independent_demand.due_date as due_date, from
sum(fn_get_avgpotency('@itemcode@' ,'@sitecode@' ,case when independent_demand.quantity__std_uom is null then 0 else independent_demand.quantity__std_uom end)) as demand, (
0 as supply , 0 as stock_qty, 0 as oth_supply, 0 as pending_po, 0 as pending_do, 0 as pending_indent, 0 as pending_dr , independent_demand.site_code
FROM independent_demand, item
WHERE ( independent_demand.item_code = item.item_code ) and
( independent_demand.site_code IN ( '@sitecode@' )) AND
( item.item_code__plan ) = ( '@itemcode@' ) AND
( independent_demand.due_date >= to_date('@fromdate@')) AND
( independent_demand.due_date <= to_date('@todate@')) and
( case when independent_demand.status is null then 'C' else independent_demand.status end <> 'P')
and trim(nvl((select si.mfg_type from siteitem si where si.site_code = independent_demand.site_code and si.item_code = item.item_code ),' ')) not in ('O','D')
Group By independent_demand.tran_id,'I-DEM',item.item_code__plan,independent_demand.due_date , independent_demand.site_code
UNION ALL select item.item_code, inv_dem_supp.due_date , sum(inv_dem_supp.demand_QTY) demand , sum(inv_dem_supp.SUPPLY_QTY) supply,
SELECT dist_demand.tran_id ,'D-DEM' as tran_ser, item.item_code__plan as item_code,dist_demand.due_date as due_date, 0 stock_qty,0 oth_supply,0 pending_po, 0 pending_do,
sum(fn_get_avgpotency('@itemcode@' ,'@sitecode@' ,case when dist_demand.qty_required is null then 0 else dist_demand.qty_required end )) as demand , sum(case when inv_dem_supp.REF_SER = 'IND' then inv_dem_supp.SUPPLY_QTY else 0 end) pending_indent,
0 as supply, 0 as stock_qty, 0 as oth_supply, 0 as pending_po, 0 as pending_do, 0 as pending_indent, 0 as pending_dr ,dist_demand.site_code 0 pending_dr, inv_dem_supp.ref_id as tran_id, inv_dem_supp.ref_ser as tran_ser, inv_dem_supp.site_code
FROM dist_demand, item from inv_dem_supp, item
WHERE ( dist_demand.item_code = item.item_code ) and where
( dist_demand.site_code__source in ('@sitecode@') ) AND ( inv_dem_supp.item_code = item.item_code )
( item.item_code__plan = '@itemcode@') AND and ( inv_dem_supp.site_code in ('@sitecode@') )
( dist_demand.due_date >= to_date('@fromdate@')) AND AND ( item.item_code__plan = '@itemcode@')
( dist_demand.due_date <= to_date('@todate@')) AND AND ( inv_dem_supp.REF_SER in ('I-DEM','D-DEM','S-DEM','S-FST','IND') )
( 0 = @madetostock@ ) AND ( inv_dem_supp.REF_SER not in ('P-ORD','D-ORDI','D-ORDR','W-ORD','W-BIL','STK') )
Group By dist_demand.tran_id ,'D-DEM' ,item.item_code__plan,dist_demand.due_date ,dist_demand.site_code and ( inv_dem_supp.due_date >= to_date('@fromdate@'))
UNION ALL AND ( inv_dem_supp.due_date <= to_date('@todate@'))
SELECT h.TRAN_ID, 'S-FST' as tran_ser, item.item_code__plan as item_code,fn_get_prdfrdate(d.PRD_CODE__FOR) as due_date, AND trim(nvl((select si.mfg_type from siteitem si where si.site_code = inv_dem_supp.site_code and si.item_code = item.item_code ),' ')) not in ('O','D')
sum(fn_get_avgpotency('@itemcode@' ,'@sitecode@',case when d.quantity is null then 0 else d.quantity end )) as demand , group by item.item_code, inv_dem_supp.due_date,inv_dem_supp.ref_id, inv_dem_supp.ref_ser , inv_dem_supp.site_code
0 as supply, 0 as stock_qty, 0 as oth_supply, 0 as pending_po, 0 as pending_do, 0 as pending_indent, 0 as pending_dr, h.SITE_CODE
FROM salesforecast_det d,salesforecast_hdr h, item UNION ALL
WHERE ( h.tran_id = d.tran_id ) and
( d.item_code = item.item_code ) and
( h.site_code in ('@sitecode@') ) AND
( item.item_code__plan = '@itemcode@') AND
( (select fr_date from period where code = d.PRD_CODE__FOR) >= to_date('@fromdate@')) AND
( (select to_date from period where code = d.PRD_CODE__FOR) <= to_date('@todate@')) AND
( 0 = @madetostock@ )
and trim(nvl((select si.mfg_type from siteitem si where si.site_code = h.site_code and si.item_code = item.item_code ),' ')) not in ('O','D')
Group By h.TRAN_ID, 'S-FST', item.item_code__plan,fn_get_prdfrdate(d.PRD_CODE__FOR),0, h.SITE_CODE
UNION ALL
select invtrace.tran_id||'@'||invtrace.ref_id||'@'||invtrace.ref_line tran_id,invtrace.ref_ser as tran_ser, item.item_code__plan as item_code, FN_MRP_DUEDATE(to_date('@fromdate@')) as due_date,
0 as demand, sum(invtrace.eff_qty) * -1 as supply , 0 as stock_qty, 0 as oth_supply, 0 as pending_po, 0 as pending_do, 0 as pending_indent, 0 as pending_dr , invtrace.SITE_CODE
from invtrace, item, location, invstat
where ( invtrace.item_code = item.item_code ) and
( location.loc_code = invtrace.loc_code) and
( invstat.inv_stat = location.inv_stat) and
( invstat.stat_type <> 'S' ) and
nvl( invstat.plan_prod,'N') = 'Y' and
( invtrace.site_code in ('@sitecode@') ) and
( item.item_code__plan = '@itemcode@') and
( invtrace.tran_date >= to_date('@fromdate@')) and
( invtrace.tran_date <= to_date('@todate@')) and
( invtrace.ref_ser in ('D-ISS','S-DSP') ) and
trim(nvl((select si.mfg_type from siteitem si where si.site_code = invtrace.site_code and si.item_code = invtrace.item_code ),' ')) not in ('O','D')
group by invtrace.tran_id||'@'||invtrace.ref_id||'@'||invtrace.ref_line,invtrace.ref_ser ,item.item_code__plan,invtrace.tran_date,invtrace.SITE_CODE
UNION ALL
SELECT sales_demand.tran_id,'S-DEM' as tran_ser, item.item_code__plan as item_code, sales_demand.due_date as due_date, select item.item_code, case when inv_dem_supp.REF_SER in ('W-ORD','W-BIL') then to_date('@fromdate@') else inv_dem_supp.due_date end as due_date,
sum(fn_get_avgpotency('@itemcode@' ,'@sitecode@',case when sales_demand.quantity__std_uom is null then 0 else sales_demand.quantity__std_uom end - case when sales_demand.consumed_qty is null then 0 else sales_demand.consumed_qty end )) as demand, sum(inv_dem_supp.demand_QTY) demand ,
0 as supply , 0 as stock_qty, 0 as oth_supply, 0 as pending_po, 0 as pending_do, 0 as pending_indent, 0 as pending_dr , sales_demand.site_code sum(inv_dem_supp.SUPPLY_QTY) supply,
FROM sales_demand, item 0 stock_qty,
WHERE ( sales_demand.item_code = item.item_code ) and 0 oth_supply,
( sales_demand.site_code IN ('@sitecode@') ) AND sum(case when inv_dem_supp.REF_SER = 'P-ORD' then inv_dem_supp.SUPPLY_QTY else 0 end) pending_po,
( item.item_code__plan ) = ( '@itemcode@' ) AND sum(case when inv_dem_supp.REF_SER = 'D-ORDI' then inv_dem_supp.SUPPLY_QTY else 0 end) pending_do,
( sales_demand.due_date >= to_date('@fromdate@')) AND 0 pending_indent,
( sales_demand.due_date <= to_date('@todate@')) AND ( 0 = @madetostock@) sum(case when inv_dem_supp.REF_SER = 'D-ORDR' then inv_dem_supp.SUPPLY_QTY else 0 end) pending_dr,
and trim(nvl((select si.mfg_type from siteitem si where si.site_code = sales_demand.site_code and si.item_code = item.item_code ),' ')) not in ('O','D') inv_dem_supp.ref_id as tran_id, inv_dem_supp.ref_ser as tran_ser, inv_dem_supp.site_code
Group By sales_demand.tran_id,'S-DEM',item.item_code__plan,sales_demand.due_date , sales_demand.site_code from inv_dem_supp, item
where ( inv_dem_supp.item_code = item.item_code )
and ( inv_dem_supp.site_code in ('@sitecode@') )
AND ( item.item_code__plan = '@itemcode@')
AND ( inv_dem_supp.REF_SER in ('P-ORD','D-ORDI','D-ORDR','W-ORD','W-BIL') )
AND ( inv_dem_supp.due_date <= to_date('@todate@'))
group by item.item_code, case when inv_dem_supp.REF_SER in ('W-ORD','W-BIL') then to_date('@fromdate@') else inv_dem_supp.due_date end,
inv_dem_supp.ref_id, inv_dem_supp.ref_ser, inv_dem_supp.site_code
UNION ALL union all
SELECT distorder.dist_order||'@'||distorder_det.line_no tran_id,'D-ISS' as tran_ser, select item.item_code, FN_MRP_DUEDATE(to_date('@fromdate@')) as due_date,
item.item_code__plan as item_code, distorder_det.due_date as due_date, 0 demand ,
sum( fn_get_avgpotency('@itemcode@' ,'@sitecode@' ,case when qty_confirm is null then 0 else qty_confirm end - case when qty_shipped is null then 0 else qty_shipped end) ) as demand, 0 supply,
0 as supply , 0 as stock_qty, 0 as oth_supply, 0 as pending_po, sum(inv_dem_supp.SUPPLY_QTY) stock_qty,
sum(case when qty_confirm is null then 0 else qty_confirm end - case when qty_shipped is null then 0 else qty_shipped end) as pending_do, 0 oth_supply,
0 as pending_indent, 0 as pending_dr , distorder.site_code__ship as site_code 0 pending_po,
FROM distorder,distorder_det, item 0 pending_do,
WHERE ( distorder_det.item_code = item.item_code ) and 0 pending_indent,
( distorder.dist_order = distorder_det.dist_order ) and 0 pending_dr,
( distorder.confirmed = 'Y' ) and inv_dem_supp.ref_id as tran_id, inv_dem_supp.ref_ser as tran_ser, inv_dem_supp.site_code
( distorder.site_code__ship IN ('@sitecode@') ) AND from inv_dem_supp, item
( item.item_code__plan = '@itemcode@') AND where ( inv_dem_supp.item_code = item.item_code )
( distorder_det.due_date >= to_date('@fromdate@')) and and ( inv_dem_supp.site_code in ('@sitecode@') )
( distorder_det.due_date <= to_date('@todate@')) and AND ( item.item_code__plan = '@itemcode@')
( distorder.order_type not in (@ordtypes@) ) and AND ( inv_dem_supp.REF_SER in ('STK') )
( case when distorder.status is null then 'P' else distorder.status end = 'P') AND group by item.item_code, FN_MRP_DUEDATE(to_date('@fromdate@')), inv_dem_supp.ref_id, inv_dem_supp.ref_ser, inv_dem_supp.site_code
( case when qty_confirm is null then 0 else qty_confirm end - case when qty_shipped is null then 0 else qty_shipped end) > 0
Group By distorder.dist_order||'@'||distorder_det.line_no,'D-ISS',item.item_code__plan,distorder_det.due_date , distorder.site_code__ship
UNION ALL UNION ALL
SELECT distorder.dist_order||'@'||distorder_det.line_no tran_id,'D-RCP' as tran_ser,item.item_code__plan as item_code, distorder_det.due_date as due_date,
0 as demand,
sum(case when qty_confirm is null then 0 else qty_confirm end - case when qty_received is null then 0 else qty_received end ) as supply,
0 as stock_qty, sum(case when qty_confirm is null then 0 else qty_confirm end - case when qty_received is null then 0 else qty_received end ) as oth_supply,
0 as pending_po, sum(case when qty_confirm is null then 0 else qty_confirm end - case when qty_shipped is null then 0 else qty_shipped end) as pending_do,
0 as pending_indent, 0 as pending_dr , distorder.site_code__dlv as site_code
FROM distorder,distorder_det, item
WHERE ( distorder_det.item_code = item.item_code ) and
( distorder.dist_order = distorder_det.dist_order ) and
( distorder.confirmed = 'Y' ) and
( distorder.site_code__dlv in ('@sitecode@') ) AND
( item.item_code__plan = '@itemcode@') AND
( distorder_det.due_date >= to_date('@fromdate@')) and
( distorder_det.due_date <= to_date('@todate@')) and
( distorder.order_type not in (@ordtypes@) ) and
( case when distorder.status is null then 'P' else distorder.status end = 'P') AND
(case when qty_confirm is null then 0 else qty_confirm end - case when qty_received is null then 0 else qty_received end ) > 0
Group By distorder.dist_order||'@'||distorder_det.line_no,'D-RCP',item.item_code__plan,distorder_det.due_date , distorder.site_code__dlv
UNION ALL
SELECT IND_NO tran_id , 'IND' as tran_ser ,item.item_code__plan as item_code,indent.req_date as due_date,
0 as demand ,
sum(case when (case when indent.quantity is null then 0 else
indent.quantity end - case when
indent.ord_qty is null then 0 else indent.ord_qty end) < 0 then 0 else case
when indent.quantity is null then 0 else
indent.quantity end - case when indent.ord_qty is null then 0 else
indent.ord_qty end end ) as supply,
0 as stock_qty, sum(case when (case when indent.quantity is null then 0 else
indent.quantity end - case when
indent.ord_qty is null then 0 else indent.ord_qty end) < 0 then 0 else case
when indent.quantity is null then 0 else
indent.quantity end - case when indent.ord_qty is null then 0 else
indent.ord_qty end end ) as oth_supply, 0 as pending_po, 0 as pending_do,
sum(case when (case when indent.quantity is null then 0 else
indent.quantity end - case when
indent.ord_qty is null then 0 else indent.ord_qty end) < 0 then 0 else case
when indent.quantity is null then 0 else
indent.quantity end - case when indent.ord_qty is null then 0 else
indent.ord_qty end end ) as pending_indent, 0 as pending_dr ,
indent.site_code as site_code
FROM indent,item
WHERE ( indent.item_code = item.item_code ) and
( indent.status in ('O','A')) and
( indent.site_code in ('@sitecode@')) AND
( item.item_code__plan = '@itemcode@') AND
( indent.req_date >= to_date('@fromdate@')) AND
( indent.req_date <= to_date('@todate@'))
Group By IND_NO , 'IND' ,item.item_code__plan,indent.req_date,indent.site_code
UNION ALL
SELECT porder.purc_order||'@'||porddet.line_no as tran_id,'P-ORD' as tran_ser,item.item_code__plan as item_code, porddet.dlv_date as due_date,
0 as demand ,
sum(case when (case when porddet.quantity__stduom is null then 0 else porddet.quantity__stduom end - case when porddet.dlv_qty is null then 0
else porddet.dlv_qty end) < 0 then 0 else case when porddet.quantity__stduom is null then 0 else porddet.quantity__stduom end - case when porddet.dlv_qty is null then 0
else porddet.dlv_qty end end ) as supply , 0 as stock_qty, sum(case when (case when porddet.quantity__stduom is null then 0 else porddet.quantity__stduom end - case when porddet.dlv_qty is null then 0 else porddet.dlv_qty end) < 0 then 0 else case when porddet.quantity__stduom is null then 0 else porddet.quantity__stduom end - case when porddet.dlv_qty is null then 0 else porddet.dlv_qty end end ) as oth_supply, sum(case when (case when porddet.quantity__stduom is null then 0 else porddet.quantity__stduom end - case when porddet.dlv_qty is null then 0 else porddet.dlv_qty end) < 0 then 0 else case when porddet.quantity__stduom is null then 0 else porddet.quantity__stduom end - case when porddet.dlv_qty is null then 0 else porddet.dlv_qty end end ) as pending_po, 0 as pending_do, 0 as pending_indent, 0 as pending_dr, porddet.site_code
FROM porddet,porder, item
WHERE ( porddet.item_code = item.item_code ) and
( porddet.purc_order = porder.purc_order ) and
( porder.confirmed = 'Y') and
( porder.status not in('C','X')) and
( porddet.status not in('C','X')) and
( porddet.site_code in ('@sitecode@') ) AND
( item.item_code__plan = '@itemcode@') AND
( porder.pord_type not in (@ordtypes@) ) and
( porddet.dlv_date <= to_date('@todate@'))
Group By porder.purc_order||'@'||porddet.line_no,'P-ORD',item.item_code__plan,porddet.dlv_date , porddet.site_code
UNION ALL SELECT item.item_code__plan as item_code,FN_MRP_DUEDATE(to_date('@fromdate@')) as due_date, 0 as demand,
sum(invtrace.eff_qty) *-1 as supply , 0 as stock_qty, 0 as oth_supply, 0 as pending_po, 0 as pending_do, 0 as pending_indent, 0 as pending_dr,
SELECT a.site_code||'@'||d.item_code||'@'||a.lot_no||'@'||a.lot_sl||'@'||a.loc_code||'@'||(case when c.alloc_pref is null then 'X' else c.alloc_pref end) as tran_id, invtrace.ref_id||'@'||invtrace.ref_line as tran_id, invtrace.ref_ser as tran_ser, invtrace.site_code
'STK' as tran_ser, d.item_code__plan as item_code, FN_MRP_DUEDATE(to_date('@fromdate@')) as due_date, 0 as demand, FROM invtrace, item, location, invstat
(a.quantity-a.alloc_qty) as supply,(a.quantity-a.alloc_qty) as stock_qty, WHERE ( invtrace.item_code = item.item_code ) and
0 as oth_supply, 0 as pending_po, 0 as pending_do, 0 as pending_indent, 0 as pending_dr , a.site_code ( location.loc_code = invtrace.loc_code) and
FROM STOCK a, INVSTAT b , LOCATION c,item d ( invstat.inv_stat = location.inv_stat) and
WHERE a.loc_code = c.loc_code ( invstat.stat_type <> 'S' ) and
AND b.inv_stat = c.inv_stat NVL( invstat.plan_prod,'N') = 'Y' and
AND NVL(b.stat_type, ' ') <> @ordtypes@ ( invtrace.site_code in ('@sitecode@') ) AND
and ( a.site_code IN ('@sitecode@') ) ( item.item_code__plan = '@itemcode@') AND
AND ( a.item_code ) = ( '@itemcode@' ) ( invtrace.tran_date >= to_date('@fromdate@')) and
AND NVL(b.plan_prod,'N') = 'Y' ( invtrace.tran_date <= to_date('@rundate@')) and
AND a.item_code=d.item_code ( invtrace.ref_ser in ('D-ISS','S-DSP') ) and
trim(nvl((select si.mfg_type from siteitem si where si.site_code = invtrace.site_code and si.item_code = invtrace.item_code ),' ')) not in ('O','D')
UNION ALL Group By item.item_code__plan, invtrace.ref_id||'@'||invtrace.ref_line, invtrace.ref_ser, invtrace.site_code
)
SELECT workorder.work_order||'@'||'1' as tran_id,'W-ORD' as tran_ser,item.item_code__plan as item_code, group by item_code,due_date,tran_id,tran_ser,site_code
to_date('@fromdate@') as due_date, having sum(demand) <> 0 or sum(supply) <> 0
0 as demand,sum((case when workorder.current_batch_qty is null then 0 else workorder.current_batch_qty end * case when workorder.yield_perc is null then 100 else workorder.yield_perc end / 100 ) - case when workorder.quantity__rcvd is null then 0 else workorder.quantity__rcvd end ) as supply,
0 as stock_qty, sum((case when workorder.current_batch_qty is null then 0 else workorder.current_batch_qty end * case when workorder.yield_perc is null then 100 else workorder.yield_perc end / 100 ) - case when workorder.quantity__rcvd is null then 0 else workorder.quantity__rcvd end ) as oth_supply, 0 as pending_po, 0 as pending_do, 0 as pending_indent, 0 as pending_dr , workorder.site_code
FROM workorder, item
WHERE ( workorder.item_code = item.item_code )
and ( workorder.site_code IN ('@sitecode@') )
AND ( item.item_code__plan = '@itemcode@')
AND ( workorder.due_date <= to_date('@todate@'))
AND workorder.SALE_ORDER IS NULL
AND (case when workorder.status is null then 'P' else workorder.status end in ('R','F'))
and (case when workorder.consider_wip is null then 'O' else workorder.consider_wip end = 'O')
Group By workorder.work_order||'@'||'1','W-ORD',item.item_code__plan, to_date('@fromdate@') , workorder.site_code
having sum((case when workorder.current_batch_qty is null then 0 else workorder.current_batch_qty end * case when workorder.yield_perc is null then 100 else workorder.yield_perc end / 100 ) - case when workorder.quantity__rcvd is null then 0 else workorder.quantity__rcvd end ) > 0
UNION ALL
SELECT workorder_bill.work_order||'@'||'1' as tran_id,case when rtrim(siteitem.supp_sour) = 'M' then 'W-BIL' when rtrim(siteitem.supp_sour) = 'P' then 'Indend' else '???' end as tran_ser, workorder_bill.item_code as item_code, to_date('@fromdate@') as due_date,
sum( case when workorder_bill.QUANTITY is null then 0 else workorder_bill.QUANTITY end - case when (case when workorder_bill.ALLOC_QTY is null then 0 else workorder_bill.ALLOC_QTY end - case when workorder_bill.ISS_QTY is null then 0
else workorder_bill.ISS_QTY end) < 0 then case when workorder_bill.ISS_QTY is null then 0 else workorder_bill.ISS_QTY end else case when workorder_bill.ALLOC_QTY is null then 0 else workorder_bill.ALLOC_QTY end end ) as demand,
0 as supply , 0 as stock_qty, 0 as oth_supply, 0 as pending_po, 0 as pending_do, 0 as pending_indent, 0 as pending_dr , workorder.site_code
from workorder_bill, workorder, item, siteitem
where workorder_bill.work_order = workorder.work_order
and workorder_bill.item_code = item.item_code
and workorder_bill.line_type <> 'B'
and workorder_bill.item_code = siteitem.item_code
and workorder.site_code = siteitem.site_code
and case when workorder_bill.QUANTITY is null then 0
else workorder_bill.QUANTITY end - case when (case when workorder_bill.ALLOC_QTY is null then 0
else workorder_bill.ALLOC_QTY end - case when workorder_bill.ISS_QTY is null then 0 else workorder_bill.ISS_QTY end)<0
then ( case when workorder_bill.ISS_QTY is null then 0 else workorder_bill.ISS_QTY end)
else (case when workorder_bill.ALLOC_QTY is null then 0 else workorder_bill.ALLOC_QTY end) end > 0
and workorder.work_order in (
SELECT workorder.work_order FROM workorder , item item1
WHERE item1.item_code = workorder.item_code and
( workorder.site_code IN ('@sitecode@') )
AND ( item1.item_code__plan = '@itemcode@' )
AND (workorder.due_date <= to_date('@todate@'))
AND workorder.SALE_ORDER IS NULL
AND (case when workorder.status is null then 'P' else workorder.status end in ('R','F'))
and (case when workorder.consider_wip is null then 'O' else workorder.consider_wip end = 'O') )
Group By workorder_bill.work_order,case when rtrim(siteitem.supp_sour) = 'M' then 'W-BIL' when rtrim(siteitem.supp_sour) = 'P' then 'Indend' else '???' end,workorder_bill.item_code, to_date('@fromdate@') , workorder.site_code
) alias
group by item_code,due_date ,tran_id,tran_ser,site_code
having sum(demand) <> 0 or sum(supply) <> 0
select item_code,due_date, round(sum(demand)+ fn_get_sampleqty(item_code ,'@sitecode@' ),0) demand , sum(supply) supply, sum(stock_qty) stock_qty, sum(oth_supply) oth_supply, sum(pending_po) pending_po ,sum(pending_do) pending_do, sum(pending_indent) pending_indent, sum(pending_dr) pending_dr from select item_code,due_date, round(sum(demand)+ fn_get_sampleqty(item_code ,'@sitecode@' ),0) demand , sum(supply) supply, sum(stock_qty) stock_qty,
( sum(oth_supply) oth_supply, sum(pending_po) pending_po ,sum(pending_do) pending_do, sum(pending_indent) pending_indent, sum(pending_dr) pending_dr
SELECT item.item_code__plan as item_code,independent_demand.due_date as due_date, from
sum(fn_get_avgpotency('@itemcode@' ,'@sitecode@' ,case when independent_demand.quantity__std_uom is null then 0 else independent_demand.quantity__std_uom end)) as demand , (
0 as supply, 0 as stock_qty, 0 as oth_supply, 0 as pending_po, 0 as pending_do, 0 as pending_indent, 0 as pending_dr
FROM independent_demand, item select item.item_code, inv_dem_supp.due_date ,
WHERE ( independent_demand.item_code = item.item_code ) and sum(inv_dem_supp.demand_QTY) demand ,
( independent_demand.site_code in ('@sitecode@') ) AND sum(inv_dem_supp.SUPPLY_QTY) supply,
( item.item_code__plan = '@itemcode@') AND 0 stock_qty,
( independent_demand.due_date >= to_date('@fromdate@')) AND 0 oth_supply,
( independent_demand.due_date <= to_date('@todate@')) and 0 pending_po,
( case when independent_demand.status is null then 'C' else independent_demand.status end <> 'P') 0 pending_do,
and trim(nvl((select si.mfg_type from siteitem si where si.site_code = independent_demand.site_code and si.item_code = item.item_code ),' ')) not in ('O','D') sum(case when inv_dem_supp.REF_SER = 'IND' then inv_dem_supp.SUPPLY_QTY else 0 end) pending_indent,
Group By item.item_code__plan,independent_demand.due_date 0 pending_dr
from inv_dem_supp, item
UNION ALL where
SELECT item.item_code__plan as item_code,dist_demand.due_date as due_date, ( inv_dem_supp.item_code = item.item_code )
sum(fn_get_avgpotency('@itemcode@' ,'@sitecode@' ,case when dist_demand.qty_required is null then 0 else dist_demand.qty_required end )) as demand , and ( inv_dem_supp.site_code in ('@sitecode@') )
0 as supply, 0 as stock_qty, 0 as oth_supply, 0 as pending_po, 0 as pending_do, 0 as pending_indent, 0 as pending_dr AND ( item.item_code__plan = '@itemcode@')
FROM dist_demand, item AND ( inv_dem_supp.REF_SER in ('I-DEM','D-DEM','S-DEM','S-FST','IND') )
WHERE ( dist_demand.item_code = item.item_code ) and AND ( inv_dem_supp.REF_SER not in ('P-ORD','D-ORDI','D-ORDR','W-ORD','W-BIL','STK') )
( dist_demand.site_code__source in ('@sitecode@') ) AND and ( inv_dem_supp.due_date >= to_date('@fromdate@'))
( item.item_code__plan = '@itemcode@') AND AND ( inv_dem_supp.due_date <= to_date('@todate@'))
( dist_demand.due_date >= to_date('@fromdate@')) AND AND trim(nvl((select si.mfg_type from siteitem si where si.site_code = inv_dem_supp.site_code and si.item_code = item.item_code ),' ')) not in ('O','D')
( dist_demand.due_date <= to_date('@todate@')) AND group by item.item_code, inv_dem_supp.due_date
( 0 = @madetostock@ )
and trim(nvl((select si.mfg_type from siteitem si where si.site_code = dist_demand.site_code and si.item_code = item.item_code ),' ')) not in ('O','D') UNION ALL
Group By item.item_code__plan,dist_demand.due_date
select item.item_code, case when inv_dem_supp.REF_SER in ('W-ORD','W-BIL') then to_date('@fromdate@') else inv_dem_supp.due_date end as due_date,
sum(inv_dem_supp.demand_QTY) demand ,
sum(inv_dem_supp.SUPPLY_QTY) supply,
0 stock_qty,
0 oth_supply,
sum(case when inv_dem_supp.REF_SER = 'P-ORD' then inv_dem_supp.SUPPLY_QTY else 0 end) pending_po,
sum(case when inv_dem_supp.REF_SER = 'D-ORDI' then inv_dem_supp.SUPPLY_QTY else 0 end) pending_do,
0 pending_indent,
sum(case when inv_dem_supp.REF_SER = 'D-ORDR' then inv_dem_supp.SUPPLY_QTY else 0 end) pending_dr
from inv_dem_supp, item
where ( inv_dem_supp.item_code = item.item_code )
and ( inv_dem_supp.site_code in ('@sitecode@') )
AND ( item.item_code__plan = '@itemcode@')
AND ( inv_dem_supp.REF_SER in ('P-ORD','D-ORDI','D-ORDR','W-ORD','W-BIL') )
AND ( inv_dem_supp.due_date <= to_date('@todate@'))
group by item.item_code, case when inv_dem_supp.REF_SER in ('W-ORD','W-BIL') then to_date('@fromdate@') else inv_dem_supp.due_date end
union all
select item.item_code, FN_MRP_DUEDATE(to_date('@fromdate@')) as due_date,
0 demand ,
0 supply,
sum(inv_dem_supp.SUPPLY_QTY) stock_qty,
0 oth_supply,
0 pending_po,
0 pending_do,
0 pending_indent,
0 pending_dr
from inv_dem_supp, item
where ( inv_dem_supp.item_code = item.item_code )
and ( inv_dem_supp.site_code in ('@sitecode@') )
AND ( item.item_code__plan = '@itemcode@')
AND ( inv_dem_supp.REF_SER in ('STK') )
group by item.item_code, FN_MRP_DUEDATE(to_date('@fromdate@'))
UNION ALL UNION ALL
SELECT item.item_code__plan as item_code,FN_MRP_DUEDATE(to_date('@fromdate@')) as due_date,
0 as demand, SELECT item.item_code__plan as item_code,FN_MRP_DUEDATE(to_date('@fromdate@')) as due_date, 0 as demand,
sum(invtrace.eff_qty) *-1 as supply , 0 as stock_qty, 0 as oth_supply, 0 as pending_po, 0 as pending_do, 0 as pending_indent, 0 as pending_dr sum(invtrace.eff_qty) *-1 as supply , 0 as stock_qty, 0 as oth_supply, 0 as pending_po, 0 as pending_do, 0 as pending_indent, 0 as pending_dr
FROM invtrace, item, location, invstat FROM invtrace, item, location, invstat
WHERE ( invtrace.item_code = item.item_code ) and WHERE ( invtrace.item_code = item.item_code ) and
( location.loc_code = invtrace.loc_code) and ( location.loc_code = invtrace.loc_code) and
...@@ -42,179 +77,8 @@ UNION ALL ...@@ -42,179 +77,8 @@ UNION ALL
( invtrace.tran_date <= to_date('@rundate@')) and ( invtrace.tran_date <= to_date('@rundate@')) and
( invtrace.ref_ser in ('D-ISS','S-DSP') ) and ( invtrace.ref_ser in ('D-ISS','S-DSP') ) and
trim(nvl((select si.mfg_type from siteitem si where si.site_code = invtrace.site_code and si.item_code = invtrace.item_code ),' ')) not in ('O','D') trim(nvl((select si.mfg_type from siteitem si where si.site_code = invtrace.site_code and si.item_code = invtrace.item_code ),' ')) not in ('O','D')
Group By item.item_code__plan,invtrace.tran_date Group By item.item_code__plan,invtrace.tran_date
UNION ALL
SELECT item.item_code__plan as item_code,sales_demand.due_date as due_date,
sum(fn_get_avgpotency('@itemcode@' ,'@sitecode@',case when sales_demand.quantity__std_uom is null then 0 else sales_demand.quantity__std_uom end - case when sales_demand.consumed_qty is null then 0 else sales_demand.consumed_qty end )) as demand ,
0 as supply, 0 as stock_qty, 0 as oth_supply, 0 as pending_po, 0 as pending_do, 0 as pending_indent, 0 as pending_dr
FROM sales_demand, item
WHERE ( sales_demand.item_code = item.item_code ) and
( sales_demand.site_code in ('@sitecode@') ) AND
( item.item_code__plan = '@itemcode@') AND
( sales_demand.due_date >= to_date('@fromdate@')) AND
( sales_demand.due_date <= to_date('@todate@')) AND
( 0 = @madetostock@ )
and trim(nvl((select si.mfg_type from siteitem si where si.site_code = sales_demand.site_code and si.item_code = item.item_code ),' ')) not in ('O','D')
Group By item.item_code__plan,sales_demand.due_date
UNION ALL
SELECT item.item_code__plan as item_code,fn_get_prdfrdate(d.PRD_CODE__FOR) as due_date,
sum(fn_get_avgpotency('@itemcode@' ,'@sitecode@',case when d.quantity is null then 0 else d.quantity end )) as demand ,
0 as supply, 0 as stock_qty, 0 as oth_supply, 0 as pending_po, 0 as pending_do, 0 as pending_indent, 0 as pending_dr
FROM salesforecast_det d,salesforecast_hdr h, item
WHERE ( h.tran_id = d.tran_id ) and
( d.item_code = item.item_code ) and
( h.site_code in ('@sitecode@') ) AND
( item.item_code__plan = '@itemcode@') AND
( (select fr_date from period where code = d.PRD_CODE__FOR) >= to_date('@fromdate@')) AND
( (select to_date from period where code = d.PRD_CODE__FOR) <= to_date('@todate@')) AND
( 0 = @madetostock@ )
and trim(nvl((select si.mfg_type from siteitem si where si.site_code = h.site_code and si.item_code = item.item_code ),' ')) not in ('O','D')
Group By item.item_code__plan,fn_get_prdfrdate(d.PRD_CODE__FOR),0
UNION ALL
SELECT item.item_code__plan as item_code,distorder_det.due_date as due_date,
sum( fn_get_avgpotency('@itemcode@' ,'@sitecode@' ,case when qty_confirm is null then 0 else qty_confirm end - case when qty_shipped is null then 0 else qty_shipped end) ) as demand ,
0 as supply, 0 as stock_qty, 0 as oth_supply, 0 as pending_po, sum(case when qty_confirm is null then 0 else qty_confirm end - case when qty_shipped is null then 0 else qty_shipped end) as pending_do, 0 as pending_indent, 0 as pending_dr
FROM distorder,distorder_det, item
WHERE ( distorder_det.item_code = item.item_code ) and
( distorder.dist_order = distorder_det.dist_order ) and
( distorder.confirmed = 'Y' ) and
( distorder.site_code__ship in ('@sitecode@') ) AND
( item.item_code__plan = '@itemcode@') AND
( distorder_det.due_date >= to_date('@fromdate@')) and
( distorder_det.due_date <= to_date('@todate@')) and
( distorder.order_type not in (@ordtypes@) ) and
( case when distorder.status is null then 'P' else distorder.status end = 'P') AND
( case when qty_confirm is null then 0 else qty_confirm end - case when qty_shipped is null then 0 else qty_shipped end) > 0
Group By item.item_code__plan,distorder_det.due_date
UNION ALL
SELECT item.item_code__plan as item_code,distorder_det.due_date as due_date,
0 as demand,
sum(case when qty_confirm is null then 0 else qty_confirm end - case when qty_received is null then 0 else qty_received end ) as supply,
0 as stock_qty, sum(case when qty_confirm is null then 0 else qty_confirm end - case when qty_received is null then 0 else qty_received end ) as oth_supply, 0 as pending_po, sum(case when qty_confirm is null then 0 else qty_confirm end - case when qty_shipped is null then 0 else qty_shipped end) as pending_dr, 0 as pending_indent, 0 as pending_dr
FROM distorder,distorder_det, item
WHERE ( distorder_det.item_code = item.item_code ) and
( distorder.dist_order = distorder_det.dist_order ) and
( distorder.confirmed = 'Y' ) and
( distorder.site_code__dlv in ('@sitecode@') ) AND
( item.item_code__plan = '@itemcode@') AND
( distorder_det.due_date >= to_date('@fromdate@')) and
( distorder_det.due_date <= to_date('@todate@')) and
( distorder.order_type not in (@ordtypes@) ) and
( case when distorder.status is null then 'P' else distorder.status end = 'P') AND
( case when qty_confirm is null then 0 else qty_confirm end - case when qty_received is null then 0 else qty_received end ) > 0
Group By item.item_code__plan,distorder_det.due_date
UNION ALL
SELECT item.item_code__plan as item_code,indent.req_date as due_date,
0 as demand ,
sum(case when (case when indent.quantity is null then 0 else
indent.quantity end - case when
indent.ord_qty is null then 0 else indent.ord_qty end) < 0 then 0 else case
when indent.quantity is null then 0 else
indent.quantity end - case when indent.ord_qty is null then 0 else
indent.ord_qty end end ) as supply,
0 as stock_qty, sum(case when (case when indent.quantity is null then 0 else
indent.quantity end - case when
indent.ord_qty is null then 0 else indent.ord_qty end) < 0 then 0 else case
when indent.quantity is null then 0 else
indent.quantity end - case when indent.ord_qty is null then 0 else
indent.ord_qty end end ) as oth_supply, 0 as pending_po, 0 as pending_do,
sum(case when (case when indent.quantity is null then 0 else
indent.quantity end - case when
indent.ord_qty is null then 0 else indent.ord_qty end) < 0 then 0 else case
when indent.quantity is null then 0 else
indent.quantity end - case when indent.ord_qty is null then 0 else
indent.ord_qty end end ) as pending_indent, 0 as pending_dr
FROM indent,item
WHERE ( indent.item_code = item.item_code ) and
( indent.status in ('O','A')) and
( indent.site_code in ('@sitecode@')) AND
( item.item_code__plan = '@itemcode@') AND
( indent.req_date >= to_date('@fromdate@')) AND
( indent.req_date <= to_date('@todate@'))
Group By item.item_code__plan,indent.req_date
UNION ALL
SELECT item.item_code__plan as item_code,porddet.dlv_date as due_date,
0 as demand ,
sum(case when (case when porddet.quantity__stduom is null then 0 else porddet.quantity__stduom end - case when porddet.dlv_qty is null then 0 else porddet.dlv_qty end) < 0 then 0 else case when porddet.quantity__stduom is null then 0 else porddet.quantity__stduom end - case when porddet.dlv_qty is null then 0 else porddet.dlv_qty end end ) as supply,
0 as stock_qty, sum(case when (case when porddet.quantity__stduom is null then 0 else porddet.quantity__stduom end - case when porddet.dlv_qty is null then 0 else porddet.dlv_qty end) < 0 then 0 else case when porddet.quantity__stduom is null then 0 else porddet.quantity__stduom end - case when porddet.dlv_qty is null then 0 else porddet.dlv_qty end end ) as oth_supply, sum(case when (case when porddet.quantity__stduom is null then 0 else porddet.quantity__stduom end - case when porddet.dlv_qty is null then 0 else porddet.dlv_qty end) < 0 then 0 else case when porddet.quantity__stduom is null then 0 else porddet.quantity__stduom end - case when porddet.dlv_qty is null then 0 else porddet.dlv_qty end end ) as pending_po, 0 as pending_do, 0 as pending_indent, 0 as pending_dr
FROM porddet,porder, item
WHERE ( porddet.item_code = item.item_code ) and
( porddet.purc_order = porder.purc_order ) and
( porder.confirmed = 'Y') and
( porder.status not in('C','X')) and
( porddet.status not in('C','X')) and
( porddet.site_code in ('@sitecode@') ) AND
( item.item_code__plan = '@itemcode@') AND
( porder.pord_type not in (@ordtypes@) ) and
( porddet.dlv_date <= to_date('@todate@'))
Group By item.item_code__plan,porddet.dlv_date
UNION ALL
select item_code,due_date,sum(demand) demand,sum(supply) supply,sum(stock_qty) stock_qty,
sum(oth_supply) oth_supply,sum(pending_po) pending_po,sum(pending_do) pending_do,sum(pending_indent) pending_indent,
sum(pending_dr) pending_dr from
( SELECT d.item_code__plan as item_code,FN_MRP_DUEDATE(to_date('@fromdate@')) as due_date,0 as demand,
(a.quantity-a.alloc_qty) as supply,(a.quantity-a.alloc_qty) as stock_qty,
0 as oth_supply, 0 as pending_po, 0 as pending_do, 0 as pending_indent, 0 as pending_dr
FROM STOCK a, INVSTAT b , LOCATION c,item d
WHERE a.loc_code = c.loc_code
AND b.inv_stat = c.inv_stat
AND NVL(b.stat_type, ' ') <> 'S'
AND a.site_code = '@sitecode@'
AND a.item_code = '@itemcode@'
AND NVL(b.plan_prod,'N') = 'Y'
AND a.item_code=d.item_code
UNION ALL
SELECT d.item_code__plan as item_code,FN_MRP_DUEDATE(to_date('@fromdate@')) as due_date,0 as demand,
NVL((eff_qty * -1),0) as supply,NVL((eff_qty * -1),0) as stock_qty,
0 as oth_supply, 0 as pending_po, 0 as pending_do, 0 as pending_indent, 0 as pending_dr
FROM INVTRACE a, LOCATION b, INVSTAT c,item d
WHERE a.loc_code = b.loc_code
and fn_nearexp(a.item_code,a.site_code,a.loc_code,a.lot_no,a.lot_sl) = 'N'
AND b.inv_stat = c.inv_stat
AND NVL(c.stat_type, ' ') <> 'S'
AND a.item_code = '@itemcode@'
AND a.site_code = '@sitecode@'
AND NVL(c.plan_prod,'N') = 'Y'
AND a.item_code=d.item_code
AND a.EFF_date > to_date('@rundate@')) group by item_code,due_date
UNION ALL
SELECT item.item_code__plan as item_code,to_date('@fromdate@') as due_date,
0 as demand,
sum((case when workorder.current_batch_qty is null then 0 else workorder.current_batch_qty end * case when workorder.yield_perc is null then 100 else workorder.yield_perc end / 100 ) - case when workorder.quantity__rcvd is null then 0 else workorder.quantity__rcvd end ) as supply,
0 as stock_qty, sum((case when workorder.current_batch_qty is null then 0 else workorder.current_batch_qty end * case when workorder.yield_perc is null then 100 else workorder.yield_perc end / 100 ) - case when workorder.quantity__rcvd is null then 0 else workorder.quantity__rcvd end ) as oth_supply, 0 as pending_po, 0 as pending_do, 0 as pending_indent, 0 as pending_dr
FROM workorder, item
WHERE ( workorder.item_code = item.item_code ) and
( workorder.site_code in ('@sitecode@') ) AND
( item.item_code__plan = '@itemcode@') AND
( workorder.due_date <= to_date('@todate@')) AND
(case when workorder.status is null then 'P' else workorder.status end in ('R','F')) and
(case when workorder.consider_wip is null then 'O' else workorder.consider_wip end = 'O')
Group By item.item_code__plan ,to_date('@fromdate@')
having sum((case when workorder.current_batch_qty is null then 0 else workorder.current_batch_qty end * case when workorder.yield_perc is null then 100 else workorder.yield_perc end / 100 ) - case when workorder.quantity__rcvd is null then 0 else workorder.quantity__rcvd end ) > 0
UNION ALL
SELECT workorder_bill.item_code as item_code,to_date('@fromdate@') as due_date,
sum( fn_get_avgpotency('@itemcode@' ,'@sitecode@' ,case when workorder_bill.QUANTITY is null then 0 else workorder_bill.QUANTITY end - case when (case when workorder_bill.ALLOC_QTY is null then 0 else workorder_bill.ALLOC_QTY end - case when workorder_bill.ISS_QTY is null then 0 else workorder_bill.ISS_QTY end) < 0 then case when workorder_bill.ISS_QTY is null then 0 else workorder_bill.ISS_QTY end else case when workorder_bill.ALLOC_QTY is null then 0 else workorder_bill.ALLOC_QTY end end )) as demand ,
0 as supply, 0 as stock_qty, 0 as oth_supply, 0 as pending_po, 0 as pending_do, 0 as pending_indent, 0 as pending_dr
from workorder_bill, workorder, item, siteitem , ITEM ITEM1
where workorder_bill.work_order = workorder.work_order
and workorder_bill.item_code = item.item_code
and workorder_bill.line_type <> 'B'
and workorder_bill.item_code = siteitem.item_code
and workorder.site_code = siteitem.site_code
and case when workorder_bill.QUANTITY is null then 0 else workorder_bill.QUANTITY end - case when (case when workorder_bill.ALLOC_QTY is null then 0 else workorder_bill.ALLOC_QTY end - case when workorder_bill.ISS_QTY is null then 0 else workorder_bill.ISS_QTY end ) < 0 then ( case when workorder_bill.ISS_QTY is null then 0 else workorder_bill.ISS_QTY end) else (case when workorder_bill.ALLOC_QTY is null then 0 else workorder_bill.ALLOC_QTY end) end > 0
and item1.item_code = workorder.item_code
and (workorder.site_code in ('@sitecode@') )
AND ( item1.item_code__plan = '@itemcode@' )
AND (workorder.due_date <= to_date('@todate@'))
AND (case when workorder.status is null then 'P' else workorder.status end in ('R','F'))
AND (case when workorder.consider_wip is null then 'O' else workorder.consider_wip end = 'O')
Group By workorder_bill.item_code,to_date('@fromdate@')
) )
group by item_code,due_date group by item_code,due_date
having sum(demand) <> 0 or sum(supply) <> 0 having sum(demand) <> 0 or sum(supply) <> 0
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment