入库过账

FUNCTION ZPP_BAPI_PRODUCT_STOCK_IN.
*"----------------------------------------------------------------------
*"*"本地接口:
*" EXPORTING
*" VALUE(CZ_MESS) TYPE CHAR40
*" TABLES
*" INPUT STRUCTURE ZPP_BAPI_PRODUCT_STOCK_INPUT
*" OUTPUT STRUCTURE ZPP_BAPI_PRODUCT_STOCK_OUTPUT
*"---------------------------------------------------------------------- DATA: GOODSMVT_HEADER TYPE BAPI2017_GM_HEAD_01,
GOODSMVT_CODE TYPE BAPI2017_GM_CODE,
GOODSMVT_HEADRET TYPE BAPI2017_GM_HEAD_RET,
MATERIALDOCUMENT TYPE BAPI2017_GM_HEAD_RET-MAT_DOC,
MATDOCUMENTYEAR TYPE BAPI2017_GM_HEAD_RET-DOC_YEAR,
GOODSMVT_ITEM TYPE STANDARD TABLE OF BAPI2017_GM_ITEM_CREATE,
GOODSMVT_SERIALNUMBER TYPE STANDARD TABLE OF BAPI2017_GM_SERIALNUMBER,
RETURN TYPE STANDARD TABLE OF BAPIRET2 ,
W_CRETURN TYPE BAPIRET2,
W_GOODSMVT_ITEM TYPE BAPI2017_GM_ITEM_CREATE,
W_GOODSMVT_SERIALNUMBER TYPE BAPI2017_GM_SERIALNUMBER,
W_RETURN TYPE BAPIRET2.
* 接口调用日志
DATA: LT_LOG TYPE STANDARD TABLE OF ZZT_INFLOG,
LW_LOG TYPE ZZT_INFLOG. CLEAR:GOODSMVT_HEADER,
GOODSMVT_CODE,
GOODSMVT_HEADRET,
MATERIALDOCUMENT,
MATDOCUMENTYEAR,
GOODSMVT_ITEM ,
RETURN,W_RETURN,
GOODSMVT_SERIALNUMBER,
W_GOODSMVT_SERIALNUMBER."LT_TPMSG,LT_RETMSG. REFRESH:GOODSMVT_ITEM,RETURN,GOODSMVT_SERIALNUMBER.
"事物码
GOODSMVT_CODE-GM_CODE = ''. "MB31
* **********gm_code取值含义*******
* *******01 MB01
* *******02 MB31
* *******03 MB1A
* *******04 MB1B
* *******05 MB1C
* *******06 MB11
* *******07 MB04
"头
GOODSMVT_HEADER-HEADER_TXT = INPUT-BKTXT.
GOODSMVT_HEADER-PSTNG_DATE = SY-DATUM.
GOODSMVT_HEADER-DOC_DATE = SY-DATUM.
"明细
DATA:LV_ENTRY_QNT TYPE I.
CLEAR: LV_ENTRY_QNT,INPUT.
LV_ENTRY_QNT = LINES( INPUT ).
READ TABLE INPUT INDEX .
IF SY-SUBRC EQ .
W_GOODSMVT_ITEM-MOVE_TYPE = ''.
W_GOODSMVT_ITEM-STCK_TYPE = 'F'.
W_GOODSMVT_ITEM-MVT_IND = 'F'.
W_GOODSMVT_ITEM-PLANT = INPUT-WERKS.
W_GOODSMVT_ITEM-ORDERID = INPUT-AUFNR.
W_GOODSMVT_ITEM-ENTRY_QNT = LV_ENTRY_QNT.
*** 生产订单信息
SELECT SINGLE PWERK LGORT MATNR MEINS
INTO (W_GOODSMVT_ITEM-PLANT,W_GOODSMVT_ITEM-STGE_LOC,W_GOODSMVT_ITEM-MATERIAL,W_GOODSMVT_ITEM-ENTRY_UOM)
FROM AFPO
WHERE AUFNR = INPUT-AUFNR. APPEND W_GOODSMVT_ITEM TO GOODSMVT_ITEM.
ENDIF.
*** 称重数据更新
IF INPUT-SERNR IS INITIAL AND INPUT-BRGEW IS INITIAL AND INPUT-GEWEI IS INITIAL.
CZ_MESS = 'E:序列号 或 重量 或 单位为空!'.
ELSE.
UPDATE EQUI SET AEDAT = SY-DATUM
AENAM = SY-UNAME
BRGEW = INPUT-BRGEW
GEWEI = INPUT-GEWEI
WHERE EQUNR = INPUT-SERNR.
IF SY-SUBRC EQ .
CZ_MESS = 'S:产品重量数据传输成功!'.
COMMIT WORK.
ELSE.
CZ_MESS = 'E:产品重量数据传输失败!'.
ENDIF.
ENDIF. LOOP AT INPUT.
W_GOODSMVT_SERIALNUMBER-MATDOC_ITM = ''.
W_GOODSMVT_SERIALNUMBER-SERIALNO = INPUT-SERNR.
APPEND W_GOODSMVT_SERIALNUMBER TO GOODSMVT_SERIALNUMBER.
ENDLOOP. "执行操作
CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
EXPORTING
GOODSMVT_HEADER = GOODSMVT_HEADER
GOODSMVT_CODE = GOODSMVT_CODE
IMPORTING
GOODSMVT_HEADRET = GOODSMVT_HEADRET
MATERIALDOCUMENT = MATERIALDOCUMENT
MATDOCUMENTYEAR = MATDOCUMENTYEAR
TABLES
GOODSMVT_ITEM = GOODSMVT_ITEM
GOODSMVT_SERIALNUMBER = GOODSMVT_SERIALNUMBER
RETURN = RETURN
. READ TABLE RETURN WITH KEY TYPE = 'E' INTO W_RETURN.
IF SY-SUBRC <> . CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
IF MATERIALDOCUMENT IS NOT INITIAL.
OUTPUT-FLAG = 'S'.
OUTPUT-NOTES = '成品入库成功!'.
OUTPUT-MBLNR = MATERIALDOCUMENT.
APPEND OUTPUT.
ENDIF.
***填写日志
CLEAR LW_LOG.
LW_LOG-INTTY = 'SI'.
LW_LOG-DIRECT = ''.
LW_LOG-INFTX = '扫码自动入库&更新重量'.
LW_LOG-OKEY1 = MATERIALDOCUMENT.
LW_LOG-OKEY2 = CZ_MESS.
LW_LOG-IKEY1 = INPUT-AUFNR.
LW_LOG-IKEY2 = INPUT-WERKS.
LW_LOG-IKEY3 = INPUT-SERNR.
LW_LOG-IKEY4 = INPUT-BRGEW.
LW_LOG-LOGST = 'S'. "日志状态
LW_LOG-LOGTX = '成品扫码入库成功!'. "日志文本
LW_LOG-CAFUN = 'ZPP_BAPI_PRODUCT_STOCK_IN'. "调用函数
APPEND LW_LOG TO LT_LOG.
CLEAR OUTPUT.
ELSE. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. OUTPUT-FLAG = 'E'.
CONCATENATE '成品入库失败:' W_RETURN-MESSAGE INTO OUTPUT-NOTES.
APPEND OUTPUT. CLEAR LW_LOG.
LW_LOG-INTTY = 'SI'.
LW_LOG-DIRECT = ''.
LW_LOG-INFTX = '扫码自动入库&更新重量'.
* LW_LOG-OKEY1 = .
LW_LOG-OKEY2 = CZ_MESS.
LW_LOG-IKEY1 = INPUT-AUFNR.
LW_LOG-IKEY2 = INPUT-WERKS.
LW_LOG-IKEY3 = INPUT-SERNR.
LW_LOG-IKEY4 = INPUT-BRGEW.
LW_LOG-LOGST = 'E'. "日志状态
LW_LOG-LOGTX = OUTPUT-NOTES. "日志文本
LW_LOG-CAFUN = 'ZPP_BAPI_PRODUCT_STOCK_IN'. "调用函数
APPEND LW_LOG TO LT_LOG.
CLEAR OUTPUT.
ENDIF. IF INPUT[] IS NOT INITIAL.
CALL FUNCTION
TABLES
IT_LOG = LT_LOG
.
IF SY-SUBRC EQ .
COMMIT WORK.
ENDIF.
ENDIF.
CLEAR:INPUT[]. ENDFUNCTION.

成品入库过账bapi的更多相关文章

  1. VL02N发货过账BAPI

    使用BAPI函数: BAPI_OUTB_DELIVERY_CONFIRM_DEC 进行delivery的发货过账,可能会有如此的需求,就是修改实际的发货日期.规划的GI.交货日期.装载日期.传输计划日 ...

  2. PDA手持终端在ERP系统仓库管理出入库盘点环节的应用

    PDA手持终端在ERP系统仓库管理出入库盘点环节的应用 传统库存管理的数据录入过程,常采用PC机录入数据,或在电脑上结合条码枪扫描条码进行管理(非实时),造成管理上的不便.因而,采用无线(WIFI)手 ...

  3. SAP 物料 移动类型

    [转自 http://blog.sina.com.cn/s/blog_494f9a6b0102edf7.html] SAP 物料 移动类型 (2013-12-03 10:15:01) 转载▼   分类 ...

  4. 供应链需求调研CheckList

    总体(General) 基本情况 1.    企业地址.邮编.电话.传真,项目联系人等基本资料. 2.    企业经营范围,产品线和主导产品. 3.    企业近几年的产值及销售额. 4.    企业 ...

  5. SIMATIC IT HISTORIAN在烟用二醋酸纤维素生产中应用

    原文转载自:http://www.soft6.com/tech/5/54287.html 本文介绍了西门子MES核心产品SIMATIC IT HISTORIAN实时数据库及客户端工具在流程生产中的具体 ...

  6. openerp经典收藏 OpenERP库存管理的若干概念讲解(新增库存价值)(转载)

    OpenERP库存管理的若干概念讲解(新增库存价值) 原文:http://shine-it.net/index.php/topic,2425.0/topicseen.html 一.复式库存(Doubl ...

  7. ERP实施规范化及示例——邮件沟通

    上门服务前 上门服务计划,要详细,提前发给客户,反复确定双方的行程 上门服务所需的常规文档(培训SOP,培训记录) 项目组内反复确认本次上门要完成的事项 …… 上门服务中 先跟老板沟通项目进展,本次上 ...

  8. 全网首发! Odoo 订单分解执行及供应链管理免费开源解决方案

    引言 前一篇介绍了佛山王朝家具的案例背景.佛山王朝家具公司在全国有30多家门店,三个生产工厂.王朝家具有六大痛点问题: 订单迫切需要实现电子化管理及在线签名 总部分单工作量大,供应链效率低 配送和售后 ...

  9. 免费下载获取Odoo中文实施 应用 指南 手册

    引言 Odoo,以前叫OpenERP,是比利时Odoo S.A.公司开发的一个企业应用软件套件,开源套件包括一个企业应用快速开发平台,以及几千个Odoo及第三方开发的企业应用模块.Odoo适用于各种规 ...

随机推荐

  1. android 在fragment中获取界面的UI组件

    @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanc ...

  2. Memcached总结一:memcached简介及适用和不适应场景

    Memcached是免费的,开源的,高性能的,分布式内存对象的缓存系统(键/值字典),旨在通过减轻数据库负载加快动态Web应用程序的使用. Memcached是由布拉德·菲茨帕特里克(Brad Fit ...

  3. easyui源码翻译1.32--TimeSpinner(时间微调)

    前言 扩展自$.fn.spinner.defaults.使用$.fn.timespinner.defaults重写默认值对象.下载该插件翻译源码 时间微调组件的创建基于微调组件.它和数字微调类似,但是 ...

  4. QML嵌入到QWidget中方法

    简介 嵌入方法有两种一种是直接拖控件,另一种是cpp代码动态生成, 控件方式 动态代码生成 QQuickWidget *m_quickWidget=new QQuickWidget(); QUrl s ...

  5. 异常情况下的Activity生命周期分析

    情况1:资源相关的系统配置发生改变 资源相关的系统配置发生改变,举个栗子.当前Activity处于竖屏状态的时候突然转成横屏,系统配置发生了改变,Activity就会销毁并且重建,其onPause, ...

  6. Linux 线程优先级

    http://www.cnblogs.com/imapla/p/4234258.html http://blog.csdn.net/lanseshenhua/article/details/55247 ...

  7. css揭秘之linear-gradient

    很神奇的背景设置, 看代码, <html> <title>css</title> <style> .content { background: line ...

  8. MapReduce 模式、算法和用例(MapReduce Patterns, Algorithms, and Use Cases)

    在新文章“MapReduce模式.算法和用例”中,Ilya Katsov提供了一个系统化的综述,阐述了能够应用MapReduce框架解决的问题. 文章开始描述了一个非常简单的.作为通用的并行计算框架的 ...

  9. bzoj2208

    首先有向图的题目不难想到先tarjan缩点 一个强连通分量中的点的连通数显然是相等: 据说这样直接dfs就可以过了,但显然不够精益求精 万一给定的是一个完全的DAG图怎么办,dfs铁定超时: 首先想, ...

  10. htmlparser使用例子(全) 转载

    1.import java.net.URL;  2.  3.import junit.framework.TestCase;  4.  5.import org.apache.log4j.Logger ...