cancel
Showing results for 
Search instead for 
Did you mean: 

如何控制物料无价格不允许生产订单的收货

0022762169
Participant
0 Kudos
801

各位专家们好:

因为公司业务繁杂/业务不规范,一些新产品不能及时发布价格以致收货无成本,请问Cloud版本如何控制物料无库存价格不允许生产订单的收货?谢谢!

View Entire Topic
0022762169
Participant
0 Kudos

专家好:

谢谢您的解答,明白。我们公司比较特殊,我想详细描述下我们的状况。

在下达生产订单后生成采购申请,没有采购订单,原料是没有报价的。创建物料不能及时发布,是公司内部的BOM 结构复杂且财务不清楚采购价格,采购没有订单也不能马上估价。若等把错误处理好并发布价格,这时下单也会影响生产进度。系统可以在下单和报工处控制没有价格不允许过账,但系统不能控制流程先报工再收货(这个能限制也可以),而是允许用户先收货再报工 。所以我们希望在收货时控制无物料价格不允许收货,这时候收货发现不能过账,那财务很快就会执行标准价格发布,生产再进行收货。谢谢!

henryg-1
Discoverer
0 Kudos
描述检查物料凭证中的项目数据 标识 BADI_MMIM_CHECK_MATDOC_ITEM ,后续找到这个BAPI可控制物料生产入库时没有标准成不准入库,请参考 *价格类型 SELECT single inventoryvaluationprocedure FROM i_productvaluationbasic WHERE product = @item_matdoc-material AND valuationarea = @item_matdoc-plant INTO @DATA(lv_inventory). *价格控制 SELECT single pricedeterminationcontrol FROM i_productvaluationbasic WHERE product = @item_matdoc-material AND valuationarea = @item_matdoc-plant INTO @DATA(lv_pricedeterm1). *标准价格 SELECT single standardprice FROM i_productvaluationbasic WHERE product = @item_matdoc-material AND valuationarea = @item_matdoc-plant INTO @DATA(lv_standardprice). *移动平均价 SELECT single MOVINGAVERAGEPRICE FROM I_PRODUCTVALUATIONBASIC WHERE PRODUCT = @item_matdoc-MATERIAL AND VALUATIONAREA = @item_matdoc-PLANT INTO @DATA(lv_STANDARDPRICE1). *采购科目分配类别 SELECT SINGLE ACCOUNTASSIGNMENTCATEGORY FROM I_PURCHASEORDERITEMAPI01 WHERE PURCHASEORDER = @ITEM_MATDOC-PURCHASEORDER AND PURCHASEORDERITEM = @ITEM_MATDOC-PURCHASEORDERITEM INTO @DATA(LV_TYPE). *物料类型 SELECT SINGLE ProductType FROM I_PRODUCT WHERE PRODUCT = @item_matdoc-MATERIAL INTO @DATA(LV_ProductType). *判断生产工厂下,S价为0价格的不允许货物移动 IF item_matdoc-plant = '1000' OR item_matdoc-plant = '2000' OR item_matdoc-plant = '3000'. IF lv_inventory = 'S' AND lv_standardprice = '0' AND ( item_matdoc-goodsmovementtype = '201' OR item_matdoc-goodsmovementtype = '101' ). IF LV_TYPE = ''. APPEND VALUE #( messagetype = 'E' messagetext = '当前物料没有标准成本,禁止出入库。' ) TO messages. ENDIF. ENDIF. ENDIF.