服务确定(服务类收货ML81N)
FUNCTION zrfc_mm005.
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" VALUE(CALLNO) TYPE ZCALLNO
*" VALUE(PO_NUMBER) LIKE BAPIESSRC-PO_NUMBER
*" VALUE(PO_ITEM) LIKE BAPIESSRC-PO_ITEM
*" VALUE(SHORT_TEXT) LIKE BAPIESSRC-SHORT_TEXT
*" VALUE(POST_DATE) LIKE BAPIESSRC-POST_DATE DEFAULT SY-DATUM
*" VALUE(DOC_DATE) LIKE BAPIESSRC-DOC_DATE DEFAULT SY-DATUM
*" EXPORTING
*" VALUE(ENTRYSHEET) LIKE BAPIESSR-SHEET_NO
*" VALUE(FLAG) LIKE BAPIRET2-TYPE
*" VALUE(MESSAGE) LIKE BAPIRET2-MESSAGE
*" TABLES
*" ZENTRYSHEET01 STRUCTURE ZENTRYSHEET01
*"----------------------------------------------------------------------
DATA: ls_heetheader LIKE bapiessrc,
lt_sheetservices LIKE TABLE OF bapiesllc,
ls_sheetservices LIKE bapiesllc,
ls_zentrysheet01 TYPE zentrysheet01,
lv_pckg_no LIKE bapiesllc-pckg_no VALUE '',
lv_line_no LIKE bapiesllc-line_no VALUE '',
lv_entrysheet LIKE bapiessr-sheet_no,
lv_message LIKE bapiret2-message.
DATA lv_datano TYPE zdatano.
DATA: lt_zmms003 TYPE TABLE OF zmms003,
ls_zmms003 TYPE zmms003. DATA: lt_zmmt002 TYPE TABLE OF zmmt002, "记录会计凭证
ls_zmmt002 TYPE zmmt002,
lv_awkey TYPE awkey,
lv_mblnr TYPE mseg-mblnr, "物料凭证
lv_mjahr TYPE mseg-mjahr, "年度
lv_bukrs TYPE bkpf-bukrs, "公司代码
lv_belnr TYPE bkpf-belnr, "会计凭证号
lv_gjahrs TYPE bkpf-gjahr, "会计年度号
lv_blart TYPE bkpf-blart. "会计凭证类型 *服务确定抬头数据
ls_heetheader-pckg_no = lv_pckg_no. "软件包编号
ls_heetheader-po_number = po_number. "PO编号
ls_heetheader-po_item = po_item. "PO项目编号
ls_heetheader-short_text = short_text. "预算号)
ls_heetheader-acceptance = g_flag. "接受服务确认标识
ls_heetheader-post_date = post_date. "凭证中的凭证日期
ls_heetheader-doc_date = doc_date. "凭证中的过帐日期 *服务确定行项目数据
ls_sheetservices-pckg_no = lv_pckg_no. "软件包编号
ls_sheetservices-line_no = lv_line_no. "内部行编号
ls_sheetservices-subpckg_no = lv_pckg_no + . "分包编号
ls_sheetservices-outl_no = g_flag. "标识符:概要行
APPEND ls_sheetservices TO lt_sheetservices.
CLEAR: ls_sheetservices,lv_entrysheet. lv_pckg_no = lv_pckg_no + .
LOOP AT zentrysheet01 INTO ls_zentrysheet01.
lv_line_no = lv_line_no + .
ls_sheetservices-pckg_no = lv_pckg_no.
ls_sheetservices-line_no = lv_line_no.
ls_sheetservices-ext_line = ls_zentrysheet01-ext_line. "服务确认行项目编号
ls_sheetservices-quantity = ls_zentrysheet01-quantity. "数量
ls_sheetservices-base_uom = ls_zentrysheet01-base_uom. "单位
ls_sheetservices-gr_price = ls_zentrysheet01-gr_price. "总价
ls_sheetservices-short_text = ls_zentrysheet01-short_text. "短文本
APPEND ls_sheetservices TO lt_sheetservices. ls_zmms003-bstnr = po_number.
ls_zmms003-ebelp = po_item.
ls_zmms003-xref2 = ls_zentrysheet01-xref2. "参考码2(预算)
ls_zmms003-zuonr = ls_zentrysheet01-zuonr. "分配号(ECM单号)
APPEND ls_zmms003 TO lt_zmms003.
CLEAR: ls_zentrysheet01,ls_zentrysheet01,ls_zmms003.
ENDLOOP. *---贷方分配编号借方预算号
EXPORT zrfc_mm003 = lt_zmms003 TO MEMORY ID 'ZRFC_MM003'. CLEAR: gt_return ,gs_return .
CALL FUNCTION 'BAPI_ENTRYSHEET_CREATE'
EXPORTING
entrysheetheader = ls_heetheader
IMPORTING
entrysheet = lv_entrysheet
TABLES
entrysheetservices = lt_sheetservices
return = gt_return. READ TABLE gt_return INTO gs_return WITH KEY type = 'E'.
IF sy-subrc NE .
flag = 'S'.
entrysheet = lv_entrysheet.
CONCATENATE '生成服务编号:' lv_entrysheet INTO message..
ELSE.
LOOP AT gt_return INTO gs_return WHERE type CA 'AEX'.
MESSAGE ID gs_return-id
TYPE gs_return-type
NUMBER gs_return-number
WITH gs_return-message_v1 gs_return-message_v2
gs_return-message_v3 gs_return-message_v4
INTO lv_message.
CONCATENATE message lv_message INTO message SEPARATED BY '|'.
ENDLOOP.
SHIFT message LEFT DELETING LEADING '|'.
flag = 'E'.
ENDIF. *----记录会计凭证
CLEAR: lt_zmmt002, ls_zmmt002, lv_awkey, lv_mblnr, lv_mjahr,
lv_bukrs, lv_belnr, lv_gjahrs, lv_blart. SELECT SINGLE mblnr mjahr INTO (lv_mblnr,lv_mjahr) "物料凭证
FROM mseg
WHERE lfbja = sy-datum+()
AND lfbnr = lv_entrysheet. CONCATENATE lv_mblnr lv_mjahr INTO lv_awkey.
IF lv_awkey IS NOT INITIAL.
SELECT SINGLE bukrs belnr gjahr blart INTO (lv_bukrs,lv_belnr,lv_gjahrs,lv_blart) "会计凭证
FROM bkpf WHERE awtyp = 'MKPF'
AND awkey = lv_awkey.
ENDIF. SELECT bukrs belnr gjahr buzei zuonr sgtxt xref1 xref2 xref3 "会计凭信息
INTO CORRESPONDING FIELDS OF TABLE lt_zmmt002
FROM bseg
WHERE bukrs = lv_bukrs
AND belnr = lv_belnr
AND gjahr = lv_gjahrs. ls_zmmt002-blart = lv_blart. "会计凭证类型
MODIFY lt_zmmt002 FROM ls_zmmt002 TRANSPORTING blart WHERE blart IS INITIAL . INSERT zmmt002 FROM TABLE lt_zmmt002. "写入客制数据表
IF sy-subrc = .
COMMIT WORK AND WAIT.
ELSE.
ROLLBACK WORK.
ENDIF. *----记录日志
DATA: quantity(),
gr_price().
CLEAR:gt_log,gs_log,ls_zentrysheet01. LOOP AT zentrysheet01 INTO ls_zentrysheet01.
lv_datano = lv_datano + .
gs_log-datano = lv_datano.
gs_log-name = 'ZRFC_MM005'.
gs_log-cdate = sy-datum.
GET TIME.
gs_log-ctime = sy-uzeit.
gs_log-callno = callno.
gs_log-flag = flag.
gs_log-log = message.
quantity = ls_zentrysheet01-quantity.
gr_price = ls_zentrysheet01-gr_price.
CONCATENATE po_number po_item short_text post_date doc_date
ls_zentrysheet01-ext_line quantity ls_zentrysheet01-base_uom
gr_price ls_zentrysheet01-short_text
ls_zentrysheet01-xref2
ls_zentrysheet01-zuonr
entrysheet
INTO gs_log-content.
CONDENSE gs_log-content NO-GAPS.
gs_log-length = STRLEN( gs_log-content ).
APPEND gs_log TO gt_log.
CLEAR: gs_log,quantity,gr_price,ls_zentrysheet01.
ENDLOOP. IF gt_log IS NOT INITIAL.
INSERT zrfc_mm01in_log FROM TABLE gt_log.
IF sy-subrc = .
COMMIT WORK.
ENDIF.
ENDIF. ENDFUNCTION.
服务确定(服务类收货ML81N)的更多相关文章
- HMS Core定位服务在生活服务类App中可以自动填写收货地址啦
在涉及团购.外卖.快递.家政.物流.搬家等生活服务类的App.小程序中,填写收货地址是用户高频使用的功能.这一功能通常采取让用户手动填写的解决方案,例如上下拉动选择浙江省-->杭州市--> ...
- Nmap扫描教程之网络基础服务DHCP服务类
Nmap扫描教程之网络基础服务DHCP服务类 Nmap网络基础服务 网络基础服务是网络正常工作的基石,常见的网络基础服务包括DHCP服务和DNS服务.其中,DHCP服务用来为计算机动态分配IP地址:D ...
- 从网络服务生成Apex类
使用WSDL2Apex从网络服务生成Apex类 如果某个网络服务被定义在WSDL文件中,而Salesforce必须使用SOAP和网络服务进行通信,则这种情况在某些时候会为开发者带来很多麻烦.为了简化S ...
- PDA移动POS终端系统,实现专柜或店铺的收货、零售、盘点通过无线网络直接连接总部中央数据库,实现高效安全的移动供应链管理
利用PDA移动终端,实现专柜或店铺的收货.零售.盘点等一体化操作,通过无线网络直接连接总部中央数据库,实现高效安全的移动供应链管理. · PDA订货会应用解决方案利用PDA或电脑系统,在订货会现场直接 ...
- 微信支付开发(7) 收货地址共享接口V2
关键字:微信公众平台 JSSDK 发送给朋友 收货地址共享接口 openAddress 作者:方倍工作室 原文:http://www.cnblogs.com/txw1958/p/weixin-open ...
- k8s入坑之路(13)服务迁移(定时任务 微服务 传统服务)
定时任务迁移kubernetes 服务迁移步骤 1.安装好java 2.安装好maven 项目打包 mvn package 测试传参运行 java -cp cronjob-demo-1.0-SNAPS ...
- 玩转Windows服务系列——服务运行、停止流程浅析
通过研究Windows服务注册卸载的原理,感觉它并没有什么特别复杂的东西,Windows服务正在一步步退去它那神秘的面纱,至于是不是美女,大家可要睁大眼睛看清楚了. 接下来研究一下Windows服务的 ...
- PP生产订单创建、下达、报工、收货、投料
转自http://blog.sina.com.cn/s/blog_69fb8eb60102vpjd.html SAP 物料订单创建.下达.报工.收货与投料(ABAP代码) (2015-06-03 22 ...
- GWYAlertSelectView 选择收货地址和选择联系人
iOS 开发在app内(特别是在类似购物和旅游类)经常会用到选择,添加联系人和收货地址,而且经常都是在跳转界面,很是麻烦,今天我就自己封装了一个类似弹出视图的代码,方便了很多!demo地址: http ...
随机推荐
- notify()、notifyAll()和wait()
看到一道面试题,写一个多线程程序,交替输出1.2.1.2…… 先写下程序: /** * Created by Andrew on 2015/10/28. */ public class OutputT ...
- Object 保存到文件中
6月4日 Object 保存到文件中 Q. 你添加一个新类到你的项目当中且你希望可以保存这个类的一个实例对象到磁盘文件 并在需要时从磁盘文件读回到内存中 A. 方案 确保你的类遵循 NSCodi ...
- hibernate+spring的整合思路加实例(配图解)
首先框架整合我感觉最难的是jar包的引入.因为不同框架的jar容易产生冲突.如果能排除这个因素我想说整合框架还是相对比较容易的. 我整合的框架的一个思想就是:各司其职.因为每个框架处理的事务或者是层次 ...
- VC++网络高级编程
内含<VC网络高级编程>电子书 及源代码. 第一章.TCP/IP协议.第二章.Winsock网络编程接口:第二章.Visual C++与网络编程:第四章.基本网络编程技术:第五章.Teln ...
- 【组队赛三】-C cf448B
Suffix Structures Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Submit S ...
- linux常用命令系列—cp 复制文件与文件夹
原文地址:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=2272&id=37363 指令名称:cp(copy)功能介绍 ...
- pkg_utility
创建包名: CREATE OR REPLACE PACKAGE BODY PKG_UTILITY AS --字符串转换到索引表 PROCEDURE STR_TO_LIST(PI_STR IN VARC ...
- 深入理解-HashMap
一.HashMap概述 HashMap 在家族中位置:实现了Map接口,继承AbstractMap类.HashMap 允许key/value 都为null. 二.HashMap存储结构 HashMap ...
- 为什么国内的网盘公司都在 TB 的级别上竞争,成本会不会太高?(还有好多其它回复)
作者:杜鑫链接:http://www.zhihu.com/question/21591490/answer/18762821来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处 ...
- Krita 3.0 发布,KOffice 的图像处理器(刺激一下自己的神经)
Krita 3.0 发布了,经历了一年多的开发,动画功能被集成到Krita核心,改善了绘画功能,可及时预览绘画结果,该版本也是最新移植到QT的版本. 查看完整发布说明,可以点击这里. 下载地址: Wi ...