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)的更多相关文章

  1. HMS Core定位服务在生活服务类App中可以自动填写收货地址啦

    在涉及团购.外卖.快递.家政.物流.搬家等生活服务类的App.小程序中,填写收货地址是用户高频使用的功能.这一功能通常采取让用户手动填写的解决方案,例如上下拉动选择浙江省-->杭州市--> ...

  2. Nmap扫描教程之网络基础服务DHCP服务类

    Nmap扫描教程之网络基础服务DHCP服务类 Nmap网络基础服务 网络基础服务是网络正常工作的基石,常见的网络基础服务包括DHCP服务和DNS服务.其中,DHCP服务用来为计算机动态分配IP地址:D ...

  3. 从网络服务生成Apex类

    使用WSDL2Apex从网络服务生成Apex类 如果某个网络服务被定义在WSDL文件中,而Salesforce必须使用SOAP和网络服务进行通信,则这种情况在某些时候会为开发者带来很多麻烦.为了简化S ...

  4. PDA移动POS终端系统,实现专柜或店铺的收货、零售、盘点通过无线网络直接连接总部中央数据库,实现高效安全的移动供应链管理

    利用PDA移动终端,实现专柜或店铺的收货.零售.盘点等一体化操作,通过无线网络直接连接总部中央数据库,实现高效安全的移动供应链管理. · PDA订货会应用解决方案利用PDA或电脑系统,在订货会现场直接 ...

  5. 微信支付开发(7) 收货地址共享接口V2

    关键字:微信公众平台 JSSDK 发送给朋友 收货地址共享接口 openAddress 作者:方倍工作室 原文:http://www.cnblogs.com/txw1958/p/weixin-open ...

  6. k8s入坑之路(13)服务迁移(定时任务 微服务 传统服务)

    定时任务迁移kubernetes 服务迁移步骤 1.安装好java 2.安装好maven 项目打包 mvn package 测试传参运行 java -cp cronjob-demo-1.0-SNAPS ...

  7. 玩转Windows服务系列——服务运行、停止流程浅析

    通过研究Windows服务注册卸载的原理,感觉它并没有什么特别复杂的东西,Windows服务正在一步步退去它那神秘的面纱,至于是不是美女,大家可要睁大眼睛看清楚了. 接下来研究一下Windows服务的 ...

  8. PP生产订单创建、下达、报工、收货、投料

    转自http://blog.sina.com.cn/s/blog_69fb8eb60102vpjd.html SAP 物料订单创建.下达.报工.收货与投料(ABAP代码) (2015-06-03 22 ...

  9. GWYAlertSelectView 选择收货地址和选择联系人

    iOS 开发在app内(特别是在类似购物和旅游类)经常会用到选择,添加联系人和收货地址,而且经常都是在跳转界面,很是麻烦,今天我就自己封装了一个类似弹出视图的代码,方便了很多!demo地址: http ...

随机推荐

  1. cocos2dx进阶学习之CCTMXLayer

    继承关系 CCTMXLayer -> CCSpriteBatchNode CCTMXLayer是在瓦片地图中,抽象一个层的类,它继承自CCSpriteBatchNode,也就是说它抽象了一批相同 ...

  2. java学习——入门扫盲篇

    概要 近期这几天開始进入java的学习,接触到了好多不是非常了解的概念,像JDK.JRE.JVM.GC等等这些,放到这里来进行下扫盲. java java是一种面向对象程序设计语言和java平台的总称 ...

  3. B站开源播放框架ijkplayer(iOS版)使用教程

    最近在关注直播这块儿,开始时直接用ffmpeg写了一个,写得比较烂,卡顿很严重,后来听说了B站开源播放框架ijkplayer,于是就去试试看这是链接 ,一用之下果然不错,逢人便向人安利,可总是有部分同 ...

  4. iOS 最新UIAlertController

    iOS 8的新特性之一就是让接口更有适应性.更灵活,因此许多视图控制器的实现方式发生了巨大的变化.全新的UIPresentationController 在实现视图控制器间的过渡动画效果和自适应设备尺 ...

  5. Web Deploy发布网站一条龙解决方案

    Web Deploy工具对于ASP.NET开发人员来说一定不陌生,没有用过也经常见到,Web Deploy发布十分方便而且在发布时会帮助用户检验发布文件的正确性.接下来介绍一下基础使用. 第一步:安装 ...

  6. C语言结构体变量内存分配与地址对齐

    地址对齐简单来说就是为了提高访问内存的速度. 数组的地址分配比较简单,由于数据类型相同,地址对齐是一件自然而然的事情. 结构体由于存在不同基本数据类型的组合,所以地址对齐存在不同情况,但总体来说有以下 ...

  7. 在VS上配置OpenCV

    这几篇帖子讲的挺仔细的,而且不坑,结合看看就没问题了~~ http://www.cnblogs.com/cuteshongshong/p/4057193.html http://my.phirobot ...

  8. ListView判断滑动底部

    通过实现OnScrollListener这个接口,然后复写 public abstract void onScroll (AbsListView view, int firstVisibleItem, ...

  9. Tomcat 常规配置并通过zabbix 监控 jvm状态

    一:jdk和tomcat基础 apache有两种方式运行php,一是使用模块,二是使用fastcgi nginx也可以通过fastcgi处理动态请求,也可以转发至tomcat tomcat监控主要是监 ...

  10. 测试css2.1选择器IE6/7/8支持情况,属性选择器/子元素/相邻

    环境 xp ie 8 , ietester <!doctype html> <html> <head> <meta charset="utf-8&q ...