服务确定(服务类收货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 ...
随机推荐
- ALEXANDER WANG 北京旗舰店开业活动
ALEXANDER WANG 北京旗舰店开业活动-搜狐女人 ALEXANDER WANG 北京旗舰店开业活动
- Linux 静态库与共享库的使用
申明: 正如题如示,本篇讲的是Linux下是静态库与共享库,而Window下的动态链接库详细情况可见这篇文章:windows动态链接库 DLL 浅析.虽然原理,思想差不多,但是细节却各有不同. 一.静 ...
- Spring通过AOP实现对Redis的缓存同步
废话不多说 说下思路:使用aop注解,在Service实现类添加需要用到redis的方法上,当每次请求过来则对其进行拦截,如果是查询则从redis进行get key,如果是update则删除key,防 ...
- ETHERNET帧结构
以太网帧http://blog.csdn.net/guoshaobei/article/details/4768514 Ethernet的帧格式 (转) http://jiangqiaosun.bl ...
- FFT算法
FFT算法的完整DSP实现 傅里叶变换或者FFT的理论参考: [1] http://www.dspguide.com/ch12/2.htm The Scientist and Engineer's G ...
- 兼容性问题( css)
记录平时遇见的兼容性问题,有更好的解决办法希望各位提出,会持续更新 提出时间 问题描述 解决方案 2014/7/15 table下面使用img或者其他元素例如embed会产生,对应的空隙,假如使用文字 ...
- javascript (string 部分)
<html> <body> <script type="text/javascript"> var str="ab:cd:ef:gh& ...
- 基于 JVMTI 实现 Java 线程的监控(转)
随着多核 CPU 的日益普及,越来越多的 Java 应用程序使用多线程并行计算来充分发挥整个系统的性能.多线程的使用也给应用程序开发人员带来了巨大的挑战,不正确地使用多线程可能造成线程死锁或资源竞争, ...
- 利用cmake来搭建开发环境
对于经常在终端下写程序的non-windows程序员,Makefile绝对是最常用的工具,小到一个文件的简单的测试程序,大到数百个文件的商业软件,只需要有shell,一个make命令就可得到可运行的程 ...
- hdu2243之AC自动机+矩阵乘法
考研路茫茫——单词情结 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...