query+report达到user的需求

前几天应USER需求,要查看某一物料当前库存多少,库存在哪个仓库,两周之内对此物料的需求是多少。

写了一query,然后在报表中加如下列内容,达到要求。

select
whwmd215.item          | Item
from
whwmd215               | Item Inventory by Warehouse
where 
whwmd215.item >= whwmd215.item.f and
whwmd215.item <= whwmd215.item.t
group by whwmd215.item
order by whwmd215.item

报表中的descript:

declaration:

 table twhwmd215
 table tgdrmp001
 table ttcibd001

     extern domain tcqiv1  wip_162030
     extern domain tcqiv1  wip_162035

     extern domain tcqiv1  nor_162012
     extern domain tcqiv1  nor_162013
     extern domain tcqiv1  nor_162020
     extern domain tcqiv1  nor_162025
     extern domain cpcom.quan  pdemg_1
     extern domain cpcom.quan  pdemg_2

 domain cpcom.dydt  pdate.g
 domain tcmcs.long  count

before.program: 
 pdate.g = date.num() 

detail.1:
before.layout:

| message (Str$(pdate.g))

 select  whwmd215.stoc, whwmd215.cwar, whwmd215.item
 from  whwmd215
 where  whwmd215._index2 = {:whwmd215.item}
 order by  whwmd215._index2
 selectdo

  if strip$(whwmd215.cwar)  = "162030" then
   wip_162030 = 0
   wip_162030 = whwmd215.stoc
  endif

  if strip$(whwmd215.cwar)  = "162035" then
   wip_162035 = 0
   wip_162035 = whwmd215.stoc
  endif

  if strip$(whwmd215.cwar)  = "162012" then
   nor_162012 = 0
   nor_162012 = whwmd215.stoc
  endif

  if strip$(whwmd215.cwar)  = "162013" then
   nor_162013 = 0
   nor_162013 = whwmd215.stoc
  endif

  if strip$(whwmd215.cwar)  = "162020" then
   nor_162020 = 0
   nor_162020 = whwmd215.stoc
  endif

  if strip$(whwmd215.cwar)  = "162025" then
   nor_162025 = 0
   nor_162025 = whwmd215.stoc
  endif
  
 endselect

 count =0
 select gdrmp001.pdem.g, gdrmp001._index1
 from gdrmp001
 where gdrmp001._index3 = {"162", 1}
 and (gdrmp001.plni.g = :whwmd215.item or
   gdrmp001.sitm.g = :whwmd215.item )
 and (gdrmp001.pdat.g >= :pdate.g or
   gdrmp001.pdat.g <= :pdate.g)
 order by gdrmp001._index1
 as set with 2 rows
 selectdo
  count = count + 1
  if count = 1 then
   pdemg_1 = 0
   pdemg_1 = gdrmp001.pdem.g
  endif
  if count = 2 then
   pdemg_2 = 0
   pdemg_2 = gdrmp001.pdem.g
  endif
 
 endselect

 select  tcibd001.dsca
 from tcibd001
 where tcibd001._index1 = {:whwmd215.item}
 selectdo
 selectempty
  tcibd001.dsca = ""
 endselect

MRO

MRO是英文Maintenance, Repair & Operations 的缩写,Maintenance维护、Repair维修、Operation运行 (MRO) 通常是指在实际的生产过程不直接构成产品,只用于维护、维修、运行设备的物料和服务。MRO是指非生产原料性质的工业用品。

一般MRO的采购是在web界面,可以与baan系统做个接口,自动生成PO.便于公司的财务集成.

MRP是什么?有什么作用?跑MRP计划之前需要具备什么条件?

企业启用MRP功能有一个过程:
首先,应该明白MRP的含义,MRP就是物料需求计划,它是一个分析工具,在综合分析企业各方面业务的情况下将各种物料的状况汇报给管理人员。这些业务包括仓库、采购、生产、销售、计划几大块,其中仓库考虑到了现有库存、安全库存及坏料,采购考虑采购在途的情况,生产考虑在制、预计领料的情况,销售考虑到预计销售发货情况,计划中又考虑了未下发的生产及采购计划。如果要使结果更精确,还要在综合上述情况下结合生产、采购的提前期及生产、采购的批量一起分析。
其次,在明白MRP的实际意义后,再将各个业务部门的业务放到CX—ERP,使各个部门能完成自己平时的工作,能出平时的业务单据,并能理顺各个部门的业务关系并将这种关系体现到CX—ERP系统中。
再次,制作出自己的产品清单(BOM),这是关键的一步,只有把产品结构整理出来,MRP才能有依据,因为在BOM中就已经规定好生产产品所需的各种材料及用量,并定义好工艺流程。
最后,就可以顺利启用MRP了。一句话,启用MRP需要一个前期的准备条件。