成品入库过账bapi
入库过账
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的更多相关文章
- VL02N发货过账BAPI
使用BAPI函数: BAPI_OUTB_DELIVERY_CONFIRM_DEC 进行delivery的发货过账,可能会有如此的需求,就是修改实际的发货日期.规划的GI.交货日期.装载日期.传输计划日 ...
- PDA手持终端在ERP系统仓库管理出入库盘点环节的应用
PDA手持终端在ERP系统仓库管理出入库盘点环节的应用 传统库存管理的数据录入过程,常采用PC机录入数据,或在电脑上结合条码枪扫描条码进行管理(非实时),造成管理上的不便.因而,采用无线(WIFI)手 ...
- SAP 物料 移动类型
[转自 http://blog.sina.com.cn/s/blog_494f9a6b0102edf7.html] SAP 物料 移动类型 (2013-12-03 10:15:01) 转载▼ 分类 ...
- 供应链需求调研CheckList
总体(General) 基本情况 1. 企业地址.邮编.电话.传真,项目联系人等基本资料. 2. 企业经营范围,产品线和主导产品. 3. 企业近几年的产值及销售额. 4. 企业 ...
- SIMATIC IT HISTORIAN在烟用二醋酸纤维素生产中应用
原文转载自:http://www.soft6.com/tech/5/54287.html 本文介绍了西门子MES核心产品SIMATIC IT HISTORIAN实时数据库及客户端工具在流程生产中的具体 ...
- openerp经典收藏 OpenERP库存管理的若干概念讲解(新增库存价值)(转载)
OpenERP库存管理的若干概念讲解(新增库存价值) 原文:http://shine-it.net/index.php/topic,2425.0/topicseen.html 一.复式库存(Doubl ...
- ERP实施规范化及示例——邮件沟通
上门服务前 上门服务计划,要详细,提前发给客户,反复确定双方的行程 上门服务所需的常规文档(培训SOP,培训记录) 项目组内反复确认本次上门要完成的事项 …… 上门服务中 先跟老板沟通项目进展,本次上 ...
- 全网首发! Odoo 订单分解执行及供应链管理免费开源解决方案
引言 前一篇介绍了佛山王朝家具的案例背景.佛山王朝家具公司在全国有30多家门店,三个生产工厂.王朝家具有六大痛点问题: 订单迫切需要实现电子化管理及在线签名 总部分单工作量大,供应链效率低 配送和售后 ...
- 免费下载获取Odoo中文实施 应用 指南 手册
引言 Odoo,以前叫OpenERP,是比利时Odoo S.A.公司开发的一个企业应用软件套件,开源套件包括一个企业应用快速开发平台,以及几千个Odoo及第三方开发的企业应用模块.Odoo适用于各种规 ...
随机推荐
- ZOJ 3705 Applications
点我看题目 题意 : 真是一道又臭又长的模拟题啊,不过比赛的时候没看,赛完了补的. 给你N个候选人,让你从中选M个候选人,根据四个大规则来确定每个人的分数,然后选分数前M个人的输出. 1.在MOJ上做 ...
- HDU4523+简单
题意很简单. 一次最多多切出一条边! 其余的就没什么好说的了 import java.util.*; import java.math.*; public class Main{ public sta ...
- 延时过程中要加上app.processEvents(),进度条里也要加上这句
如何让程序等待一段时间QTime t;t.start();while(t.elapsed()<1000);这种死循环也是一种常见错误用法.但改成正确的还是比较简单的: QTime t;t.sta ...
- bzoj1176 2683
我的第一道cdq分治题清明做了一下cdq分治的几道题,感觉这个东西实在是太厉害了离线大法好!关于几个经典的非数据结构做法具体可以看xhr神犇2013年的论文应用cdq分治的前提条件是不强制在线,修改操 ...
- tyvj 1729 文艺平衡树
文艺平衡树 From admin 背景 Background 此为平衡树系列第二道:文艺平衡树 描述 Description 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以 ...
- [LOJ 1008] Fibsieve`s Fantabulous Birthday
A - Fibsieve`s Fantabulous Birthday Time Limit:500MS Memory Limit:32768KB 64bit IO Format:%l ...
- 利用OpenXml生成Word2007文档
一.OpenXml简介 利用C#生成Word文档并非一定要利用OpenXml技术,至少可以使用微软提供的Office相关组件来编程,不过对于Office2007(确切的说是Word.Excel和Pow ...
- 解决eclipse闪退的办法
Eclipse Java EE 便出现打开闪退的现象. 修改eclipse.ini无效,参照了网上许多方法也不行. 最后发现了一个蛋疼的方法: 1.打开eclipse的workspace目录 2.删除 ...
- 转载--C++ STL
转自:http://wenku.baidu.com/view/15d18b4533687e21af45a9a4.html 1.C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vec ...
- oracle删掉重复数据的语法
--查询重复数据-- ) --删掉重复数据-- ) );