SAPBO生产计划查询语句

谨此内容写给正在实施和已经实施SAPBO朋友们的,如下语句不见得都适用你们,不过触类旁通稍加变通便可使用,不啰嗦了但愿对你们有所帮助:
安全

按MRP方案查询生产计划
SELECT T0.MsnCode AS '计划单号', T1.ItemCode, T2.itemname AS '产品名称',T1.Quantity as '生产数量', T2.onhand,T2.onorder as '已下单',T1.StartDate, T1.EndDate, T1.BaseDocNum as '订单号',T1.BaseDue as '完工日期',T1.ParentCode as '产品名' FROM OMSN T0
INNER JOIN MSN3 T1 ON T0.AbsEntry = T1.AbsEntry
INNER JOIN OITM T2 ON T2.ITEMCODE=T1.ITEMCODE
 WHERE (T0.MsnCode = N'[%0]' OR '[%0]' = '') AND (T1.ItemCode = N'[%1]' OR '[%1]' = '') AND (T1.StartDate = CONVERT(DATETIME, '[%2]', 112) OR '[%2]' = '') AND T2.TREETYPE='p'ide

按仓库查询成品类型库存
SELECT T0.ItemCode, T1.ItemName, T0.WhsCode, T0.OnHand, t1.u_cptype FROM OITW T0  INNER JOIN OITM T1 ON T0.ItemCode = T1.ItemCode  where T0.ItemCode like '15%%'  and (t1.u_cptype = '[%0]' or '[%0]' ='') and t0.whscode = '[%1]'code

按过帐日期查询未清、已结算销售订单交货信息(利润中心中的项目查询)
select t1.docnum, t1.DocStatus,t1.cardcode,t1.cardname,t2.prcname as '项目名称',t1.u_pact2no,t1.comments,t0.itemcode,t0.dscription,t1.docdate,t1.docduedate,t3.shipdate,t0.quantity,t0.delivrdqty,t0.opencreqty as '未清数量', t0.freetxt as '项目名称' from rdr1 t0
inner join ordr t1 on t1.docnum=t0.docentry
LEFT JOIN DLN1 T3 ON (T0.DOCENTRY=T3.BASEENTRY AND T0.LINENUM=T3.BASELINE)
inner join oprc t2 on t2.prccode=t0.ocrcode3 and t2.dimcode='3'
where (t2.prcname=N'[%0]' or N'[%0]'='') and t1.docdate >= '[%1]' and t1.docdate <= '[%2]'blog

按交货期统计销售结算与未清订单
SELECT T0.DocNum, T0.DocStatus, T0.CardCode, T0.CardName, T0.Comments,  T0.DocDate, T0.DocDueDate as '交货日期' FROM ORDR T0 WHERE T0.CANCELED = 'N' AND T0.DocDueDate >=[%0] AND T0.DocDueDate <=[%1]ip

按交货日期查询交货明细
SELECT T0.DocNum,  T0.DocDate, T0.CardCode, T0.CardName, T1.ItemCode, T1.Dscription, T1.Quantity, T0.Comments  FROM ODLN T0  INNER JOIN DLN1 T1 ON T0.DocEntry = T1.DocEntry WHERE T0.DocDate >=[%0] and  T0.DocDate  <= [%1]get

按交货时间查询物料交货明细(利用利润中心中的项目)
select t1.docnum,t1.DocStatus,t1.cardcode,t1.cardname,t2.prcname as '项目名称',t1.u_pact2no,t1.comments,t0.itemcode,t0.dscription,t1.docdate,t1.docduedate,t3.shipdate,t0.quantity,t0.delivrdqty,t0.opencreqty as '未清数量',t0.ocrcode3 as '项目代码' from dln1 t0
inner join odln t1 on t1.docnum=t0.docentry
LEFT JOIN rdr1 T3 ON (T0.DOCENTRY=T3.BASEENTRY AND T0.LINENUM=T3.BASELINE)
inner join oprc t2 on t2.prccode=t0.ocrcode3 and t2.dimcode='3'
where (t2.prcname=N'[%0]' or N'[%0]'='') AND (t1.docduedate >='[%1]' and t1.docduedate <='[%2]')qt

按默认仓库查询成品类型库存
SELECT T0.ItemCode, T1.ItemName, T0.WhsCode, T0.OnHand, t1.u_cptype FROM OITW T0  INNER JOIN OITM T1 ON T0.ItemCode = T1.ItemCode and  t1.dfltwh=t0.whscode where T0.ItemCode like '15%%'  and (t1.u_cptype = '[%0]' or '[%0]' ='')产品

按时间查询未清、已结算销售订单(利用利润中心中的项目)
select t1.docnum, t1.DocStatus,t1.cardcode,t1.cardname,t2.prcname as '项目名称',t1.u_pact2no,t1.comments,t0.itemcode,t0.dscription,t1.docdate,t1.docduedate,t3.shipdate,t0.quantity,t0.delivrdqty,t0.opencreqty as '未清数量', t0.freetxt as '项目名称' from rdr1 t0
inner join ordr t1 on t1.docnum=t0.docentry
LEFT JOIN DLN1 T3 ON (T0.DOCENTRY=T3.BASEENTRY AND T0.LINENUM=T3.BASELINE)
inner join oprc t2 on t2.prccode=t0.ocrcode3 and t2.dimcode='3'
where (t2.prcname=N'[%0]' or N'[%0]'='') and t1.docduedate >= '[%1]' and t1.docduedate <= '[%2]'it

材料领用计划
SELECT T0.MsnCode AS '计划单号', T1.ItemCode, T2.itemname AS '产品名称',T1.Quantity as '生产数量', T2.onhand,T2.onorder as '已下单',T1.StartDate, T1.EndDate, T1.BaseDocNum as '订单号',T1.BaseDue as '完工日期',T1.ParentCode as '产品名' FROM OMSN T0
INNER JOIN MSN3 T1 ON T0.AbsEntry = T1.AbsEntry
INNER JOIN OITM T2 ON T2.ITEMCODE=T1.ITEMCODE
 WHERE (T0.MsnCode = N'[%0]' OR '[%0]' = '') AND (T1.ItemCode = N'[%1]' OR '[%1]' = '') AND (T1.StartDate = CONVERT(DATETIME, '[%2]', 112) OR '[%2]' = '') AND T2.TREETYPE='N'io

查询定期交货销售订单
select t0.docnum as rnum,t0.cardcode,t0.cardname,t0.comments,t0.docduedate as rduedate,t1.linenum,t2.docnum as nnum,t2.docduedate as nduedate
into #a1 from ordr t0
inner join rdr1 t1 on t1.docentry=t0.docnum
inner join odln t2 on t1.trgetentry=t2.docnum
where t0.DocStatus='C' and T0.DocDueDate  >=[%2] and T0.DocDueDate <=[%1] and T2.DocDueDate<=T0.DocDueDate
select * into #a2 from #a1 t3
where   not   exists
(select   1   from   #a1   where rnum=t3.rnum and cardcode=t3.cardcode and cardname=t3.cardname and comments=t3.comments and rduedate=t3.rduedate
and nduedate>t3.nduedate)
select * from #a2 t4
where   not   exists
(select   1   from   #a2  where rnum=t4.rnum and cardcode=t4.cardcode and cardname=t4.cardname and comments=t4.comments and rduedate=t4.rduedate
and linenum>t4.linenum)
drop table #a1
drop table #a2

查询交货物料明细
SELECT T0.DocNum,  T0.DocStatus, T0.DocDate, T0.CardCode, T0.CardName, T0.DocTotal,  T0.GroupNum, T0.SlpCode AS '采购员', T1.ItemCode, T1.Dscription, T1.Quantity, T1.Price AS '未税单价', T1.LineTotal AS '未税行总计', T1.PriceAfVAT AS '含税单价', T1.GTotal,T0.Comments  FROM OPDN T0  INNER JOIN PDN1 T1 ON T0.DocEntry = T1.DocEntry WHERE T0.CANCELED<>'Y'

根据注释内容查单据
SELECT T0.DocNum, T0.DocDate,  T0.CardName, T0.Comments, T1.ItemCode, T1.Dscription, T1.Quantity, T1.WhsCode FROM ODLN T0  INNER JOIN DLN1 T1 ON T0.DocEntry = T1.DocEntry WHERE T0.Comments   Like '%%[%0]%%' AND T0.CANCELED = 'N'

查询生产订单类型信息
SELECT T0.DocNum, T0.ItemCode, T0.Status, T0.Type, T0.PlannedQty, T0.CmpltQty, T0.PostDate, T0.DueDate, T0.OriginAbs, T0.Comments, T0.Warehouse, T0.WOR1Count, T0.Printed FROM [dbo].[OWOR]  T0 WHERE T0.Status =[%0] and  T0.Type =[%1]

查询逾期交货的销售订单
select t0.docnum as rnum,t0.cardcode,t0.cardname,t0.comments,t0.docduedate as rduedate,t1.linenum,t2.docnum as nnum,t2.docduedate as nduedate
into #a1 from ordr t0
inner join rdr1 t1 on t1.docentry=t0.docnum
inner join odln t2 on t1.trgetentry=t2.docnum
where t0.DocStatus='C' and T0.DocDueDate  >=[%2] and T0.DocDueDate <=[%1] and T2.DocDueDate>=T0.DocDueDate
select * into #a2 from #a1 t3
where   not   exists
(select   1   from   #a1   where rnum=t3.rnum and cardcode=t3.cardcode and cardname=t3.cardname and comments=t3.comments and rduedate=t3.rduedate
and nduedate>t3.nduedate)
select * from #a2 t4
where   not   exists
(select   1   from   #a2  where rnum=t4.rnum and cardcode=t4.cardcode and cardname=t4.cardname and comments=t4.comments and rduedate=t4.rduedate
and linenum>t4.linenum)
drop table #a1
drop table #a2

低于安全库存物料查询
SELECT T0.ItemCode, T1.ItemName, T0.WhsCode, T0.OnHand, T0.IsCommited as '已承诺', T0.OnOrder ,T0.MinStock,T1.SWW,  T1.LeadTime, T1.PurPackUn, T1.MinOrdrQty  FROM OITW T0  INNER JOIN OITM T1 ON T0.ItemCode = T1.ItemCode and  t1.dfltwh=t0.whscode where T0.OnHand < t0.minstock

请购及时率
select t1.docnum 采购订单号,t2.itemname 采购物料,t0.quantity 请购数量,t0.shipdate 需货日期,(DATEDIFF(day,t0.docdate ,t0.shipdate)) 请购天数, (DATEDIFF(day,t0.docdate ,t3.docdate)) 实际到货天数,t3.quantity 实际到货数量,(t3.quantity/t0.quantity)*100 达成率  from por1 t0 inner join opor t1 on t1.docentry=t0.docentry inner join oitm t2 on t2.itemcode=t0.itemcode inner join pdn1 t3 on t3.baseentry=t0.docentry and t3.baseline=t0.linenum where t0.docdate >=N'[%0]' AND t0.docdate <=N'[%1]'

生产订单逾期查询
SELECT T0.DocNum as '生产订单号', T0.ItemCode, T0.Status, T0.PlannedQty as '计划数量', T0.CmpltQty as '已完工数量', T0.PostDate as '下达日期', T0.DueDate as '计划完工日期' FROM OWOR T0 WHERE T0.CmpltQty <  T0.PlannedQty AND  T0.DueDate <=Getdate() AND  T0.Status <> 'c'

生产入库信息
SELECT T0.DocNum, T0.ItemCode, T1.ITEMNAME,T0.Status, T0.Type, T0.PlannedQty, T0.CmpltQty, T0.PostDate, T0.DueDate, T0.Comments, T0.CloseDate, T0.U_project,T0.U_scddfl, T0.U_thdh, T0.U_hth  FROM OWOR T0 INNER JOIN OITM T1 ON T0.ItemCode = T1.ItemCode  where T0.Status <>'C' and T0.ItemCode like '15%%' and  T0.Type <> 'D' AND T0.CmpltQty <> 0
统计区间段内所交生产订单及时率
declare @f datetime
select @f = t0.closedate from owor t0 where t0.closedate = '[%0]'
declare @l datetime
select @l = t0.closedate from owor t0 where t0.closedate = '[%1]'
declare @total numeric
select @total = (select sum(c1)from (select count(distinct docnum) as c1 from OWOR WHERE CloseDate is not null and closedate>=@f and closedate<=@l )as tmp )
select @f 开始统计时间,@l 统计结束时间,count(distinct docnum) 按时交货数,@total 总交货数,count(distinct docnum)/@total*100 按时交货率
from OWOR WHERE CloseDate is not null and datediff(d, CloseDate ,DueDate) >=-1
and closedate>=@f and closedate<=@l

外协物料出库统计
SELECT t0.itemcode as itemcode,sum(t0.inqty) as qty,t3.u_ssupp as ssupp into #a1 from oinm t0  inner join oitw t2 on t2.itemcode=t0.itemcode and t2.whscode=t0.warehouse inner join owtr t3 on t3.docnum=t0.createdby where   t0.transtype='67'and t0.warehouse='18' and t3.u_ssupp='[%0]' and t0.inqty!='0' group by t0.itemcode,t3.u_ssupp SELECT t0.itemcode as itemcode,sum(-t0.outqty) as qty,t4.comments as ssupp into #a2 from oinm t0  inner join oitw t2 on t2.itemcode=t0.itemcode and t2.whscode=t0.warehouse inner join ign1 t3 on t3.docentry=t0.createdby inner join owor t4 on t4.docnum=t3.baseref where   t0.transtype='59'and t0.warehouse='18' and t4.comments='[%0]' and t0.outqty!='0' group by t0.itemcode,t4.comments select #a1.itemcode,#a1.qty,#a1.ssupp into #a3 from #a1 union (select #a2.itemcode,#a2.qty,#a2.ssupp from #a2)  select t0.itemcode,t1.itemname,sum(t0.qty) as qty from #a3 t0 inner join oitm t1 on t1.itemcode=t0.itemcode group by t0.itemcode,t1.itemname drop table #a1 drop table #a2 drop table #a3

物料默认仓库库存信息 SELECT T0.ItemCode, T1.ItemName, T0.WhsCode, T0.OnHand, T0.IsCommited as '已承诺', T0.OnOrder ,T0.MinStock,T1.SWW,  T1.LeadTime, T1.PurPackUn, T1.MinOrdrQty,t1.u_cptype,t1.u_bcptype  FROM OITW T0  INNER JOIN OITM T1 ON T0.ItemCode = T1.ItemCode and  t1.dfltwh=t0.whscode

相关文章
相关标签/搜索