生产盘点凭证并录入实盘数据

原创 2013年12月03日 11:39:25
*&---------------------------------------------------------------------*
*& Report  ZMULT
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT ZMULT.

DATA:IT_ITEM LIKE TABLE OF BAPI_PHYSINV_COUNT_ITEMS WITH HEADER LINE,
     RET_MSG LIKE TABLE OF BAPIRET2                 WITH HEADER LINE,
     G_INVDOC LIKE IKPF-IBLNR.

*& 产生盘点凭证
PERFORM CREATE_INVENTORY_DOCUMENT.
*&录入盘点数量
PERFORM RECORD_QUANTITY.
*& 更改数量
PERFORM CHANGE_QUANTITY.
*&---------------------------------------------------------------------*
*&      Form  CREATE_INVENTORY_DOCUMENT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM CREATE_INVENTORY_DOCUMENT .

  DATA: L_HEAD TYPE          BAPI_PHYSINV_CREATE_HEAD,
        ITEM   LIKE TABLE OF BAPI_PHYSINV_CREATE_ITEMS WITH HEADER LINE .


  L_HEAD-DOC_DATE      = SY-DATUM.   "凭证中的凭证日期
  L_HEAD-PLAN_DATE     = SY-DATUM.  "存货盘点的计划日期
  L_HEAD-PLANT         = '1000'.        "工厂
  L_HEAD-STGE_LOC      = 'X601'.     "库存地点
  L_HEAD-SPEC_STOCK    = 'X'.     "特殊库存标识
  L_HEAD-POST_BLOCK    = 'X'.     "由于实际盘点而冻结记帐
  L_HEAD-FREEZEBOOKINV = 'X'.     "冻结帐面库存
  L_HEAD-DEL_BATCHES   = 'X'.     "包括带有删除标识的批量


  ITEM-MATERIAL = '1000-00066'.

  APPEND ITEM.

  CALL FUNCTION 'BAPI_MATPHYSINV_CREATE_MULT'
    EXPORTING
      HEAD   = L_HEAD
    TABLES
      ITEMS  = ITEM
      RETURN = RET_MSG.

  PERFORM COMMIT_OPERATION.

ENDFORM.                    " CREATE_INVENTORY_DOCUMENT
*&---------------------------------------------------------------------*
*&      Form  COMMIT_OPERATION
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM COMMIT_OPERATION .
  READ TABLE RET_MSG WITH KEY TYPE = 'E'.
  IF SY-SUBRC <> 0.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        WAIT = 'X'.
    READ TABLE RET_MSG INDEX 1.
    IF SY-SUBRC = 0.
      WRITE:/ 'document:',RET_MSG-MESSAGE_V1.
    ENDIF.
  ELSE.
    LOOP AT RET_MSG.
      WRITE:/ 'erro message:',RET_MSG-MESSAGE.
    ENDLOOP.
  ENDIF.
ENDFORM.                    " COMMIT_OPERATION
*&---------------------------------------------------------------------*
*&      Form  RECORD_QUANTITY
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM RECORD_QUANTITY .

  REFRESH:RET_MSG.
  G_INVDOC = '0100045002'.

  IT_ITEM-ITEM = '001'.
  IT_ITEM-MATERIAL = '1000-00066'.
  IT_ITEM-ENTRY_QNT = 1.
  IT_ITEM-ENTRY_UOM = 'TAI'.
  APPEND IT_ITEM.

  CALL FUNCTION 'BAPI_MATPHYSINV_COUNT'
    EXPORTING
      PHYSINVENTORY = G_INVDOC
      FISCALYEAR    = 2010
      COUNT_DATE    = SY-DATUM
    TABLES
      ITEMS         = IT_ITEM
      RETURN        = RET_MSG.
  PERFORM COMMIT_OPERATION.
ENDFORM.                    " RECORD_QUANTITY
*&---------------------------------------------------------------------*
*&      Form  CHANGE_QUANTITY
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM CHANGE_QUANTITY .
  CALL FUNCTION 'BAPI_MATPHYSINV_CHANGECOUNT'
    EXPORTING
      PHYSINVENTORY       = G_INVDOC
      FISCALYEAR          = '2010'
*     PERCENTAGE_VARIANCE =
    TABLES
      ITEMS               = IT_ITEM
      RETURN              = RET_MSG.
*   SERIALNUMBERS             =1

  PERFORM COMMIT_OPERATION.

ENDFORM.                    " CHANGE_QUANTITY
版权声明:本文为博主原创文章,未经博主允许不得转载。

SAP 库存盘点 步骤--(详细)

转自:http://scola.wang.blog.163.com/blog/static/8866364820095305295757/ Physical Inventory 1.账户设置 库存...
  • Trassion
  • Trassion
  • 2013年12月06日 10:37
  • 10696

SAP MM库存盘点流程

盘点类型:一般盘点、循环盘点(ABC分类) 盘点范围:非限制库存、IQC库存、冻结库存   一、一般盘点流程: 1. 创建盘点物料R401(MM01) 2. 期初库存导入(M...
  • forever_crazy
  • forever_crazy
  • 2014年04月09日 12:50
  • 5345

外部接口如何调用EAS凭证接口 实例并合并同一科目的凭证

public static  void addVoucher(){      WSWSVoucher[] voucherArray = null;        List voucherLis...
  • douml88
  • douml88
  • 2016年04月20日 18:09
  • 1163

生产订单收货数量与物料凭证计算总数量不一致

先使用如下程序对已出错订单进行修正,然后再实施Note 1094999 - Goods receipt quantity is updated incorrectly -------------...
  • zhongguomao
  • zhongguomao
  • 2016年07月18日 09:14
  • 1103

ERP条码解决方案,金蝶盘点机条码解决方案,应用PDA的信息化管理能给我们的生产管理带来怎么样的变化的探讨

ERP条码解决方案,金蝶盘点机条码解决方案,应用PDA的信息化管理能给我们的生产管理带来怎么样的变化的探讨。 当前越来越多的大大小小的中国企业已经接受了ERP的思想,大多数的商店,企业,工厂都会上一套...
  • u012120447
  • u012120447
  • 2014年06月26日 23:35
  • 1557

SAP盘点:创建盘点凭证BAPI_MATPHY…

前台:MI01 输入工厂,库存地点,在记账冻结打X,具体什么意思F1查看 回车后,填写物料,回车,项目号会自动变更 BAPI:BAPI_MATPHYSINV_CREATE_MULT 查找ba...
  • senlinmu110
  • senlinmu110
  • 2014年10月13日 10:45
  • 658

cas 配置数据源 , 解决CAS 不支持你提供的凭证

(HTTP方式) 安装环境 Tomcat7.0JDK6CAS SERVER 3.5.2,下载地址  http://www.jasig.org/cas/download 1.打开cas\WEB...
  • cenguocheng
  • cenguocheng
  • 2013年09月30日 10:10
  • 7369

新浪微博JAVA开发-保存AccessToken数据,可以作为下次登录凭证

根据新浪Open论坛上一些网友的介绍,首次登陆需要输入PIN码,生成AccessToken数据,保存下来,可以留作二次登录使用,俺以JAVA SDK提供例子修改并测试通过。...
  • les5332295
  • les5332295
  • 2011年07月30日 14:32
  • 4960

基于SNC会计凭证录入Grid

  • 2013年12月14日 08:42
  • 16KB
  • 下载

TIPTOP ERP不盘批号高效盘点解决方案

  • 2013年12月27日 20:00
  • 152KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:生产盘点凭证并录入实盘数据
举报原因:
原因补充:

(最多只允许输入30个字)