生产盘点凭证并录入实盘数据
来源:互联网 发布:linux备份mysql数据库 编辑:程序博客网 时间:2024/05/08 12:54
*&---------------------------------------------------------------------*
*& 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
*& 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
- 生产盘点凭证并录入实盘数据
- 创建IM盘点凭证,录入数量,修改数量
- SAP盘点:创建盘点凭证BAPI_MATPHY…
- sap批量创建盘点凭证以及盘点凭证过账
- 盘点录入单和复盘录入单有什么区别?
- textarea数据录入数据库,如何保留格式并输出
- 传入Java对象 自动创建动态表 并录入数据
- 传入Java对象 自动创建动态表 并录入数据
- 传入Java对象 自动创建动态表 并录入数据
- 打印盘点凭证MI21时报错
- 总账凭证数据
- SAGEV6版本的“凭证录入”功能,无法添加二次开发字段
- 关于把数据录入到指定的文件里面,并调用这些数据做运算
- 通过键盘录入数据,over停止录入
- 用SQL录入数据
- 一个数据录入系统
- SQL录入数据
- 用SQL录入数据
- android AIDL使用的小例子
- 使用 OSC Maven 仓库
- HBase-0.90.4集群安装配置
- 二层和三层、四层交换机工作原理
- Fragment的onCreate和onCreateView的区别?
- 生产盘点凭证并录入实盘数据
- 未能加载文件或程序集或它的某一个依赖项(针对资源问题,x86文件在x64上编译失败)
- Intent MimeType过滤备忘
- linux-3.2.36内核启动1-启动参数(arm平台 启动参数的获取和处理,分析setup_arch)
- hdu-1171-Big Event in HDU
- 点石成金 访客至上的网页设计秘笈(简洁版)
- jQuery判断滚动条是否在顶部、底部。
- linux-3.2.36内核启动2-setup_arch中的内存初始化1(arm平台 分析高端内存和初始化memblock)
- ZooKeeper-3.3.4集群安装配置