服务确定(服务类收货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 ...
随机推荐
- BZOJ 1613: [Usaco2007 Jan]Running贝茜的晨练计划
题目 1613: [Usaco2007 Jan]Running贝茜的晨练计划 Time Limit: 5 Sec Memory Limit: 64 MB Description 奶牛们打算通过锻炼来 ...
- iOS多线程中的单例
#import "MyHandle.h" static MyHandle *handle = nil; @implementation MyHandle // 传统写法 // 此时 ...
- delphi DCC32命令行方式编译delphi工程源码
本文链接地址:http://blog.csdn.net/sushengmiyan/article/details/10284879 作者:苏生米沿 Borland出品的Delphi,在TIOBE公布的 ...
- 异常关闭MyEclipse 8.6后,不能重启
删掉这两个文件.
- STL之Queue(Q)
STL的Queue(数据结构中的队列): 特点:FIFO 先进先出: 自适应容器(即容器适配器) 栈适配器STL queue STL中实现的Queue: 用list来实现queue: queue ...
- 利用VC助手(VA)添加注释
利用VC助手(VA)添加注释 今天想给自己写的代码加上版权信息,同时整理一下代码的注释.但是为了保持同样的格式,总是copy,显得有些繁琐.然后试图找解决方案.我用的是VS 2010, 刚开始是尝试了 ...
- ContentProvider中的数据库的生成时机以及ContentResolver的insert()方法总结
经过几天的总结,以及结合一些代码的实际测试,终于算是明白了ContentProvider中的数据的生成时机了. 目录结构: MainActivity.java package com.wyl.cont ...
- ZOJ 2794 Just Pour the Water 【矩阵快速幂】
给你n个杯子,每次有特定的到水规则,倒m次请问最后每个被子里还有多少水 我们很容易发现每次变化的规则相同,那么可以set 一个矩阵存放 然后多次倒水就相当于矩阵相乘,在m 范围达到(1<= M ...
- 计算ptd
因为公司的IC扫描sensor的频率常常和adapter中的noise频率重叠,导致IC接收到的数据出错.所以我们经常会用示波器看adapter的Noise,再用傅里叶变换找到相应应该回避的频段,包括 ...
- 字符串如何判断null.
转http://blog.sina.com.cn/s/blog_48cd37140101awgq.html Java中判断String不为空的问题 一.判断一个字符串str不为空的方法有: 1. st ...