ABAP 查看采购订单行项目已开票金额和已清金额
FUNCTION zmm_fm_po_invence.
*"----------------------------------------------------------------------
*"*"本地接口:
*" TABLES
*" IT_PO_ITEMS TYPE ZMM_PO_ITEM
*"----------------------------------------------------------------------
TYPES:BEGIN OF typ_rseg,
belnr LIKE rseg-belnr,
gjahr LIKE rseg-gjahr,
buzei LIKE rseg-buzei,
ebeln LIKE rseg-ebeln,
ebelp LIKE rseg-ebelp,
wrbtr LIKE rseg-wrbtr,
shkzg LIKE rseg-shkzg,
mwskz LIKE rseg-mwskz,
lifnr LIKE rbkp-lifnr,
augbl LIKE bseg-augbl,
awkey LIKE bseg-awkey,
status TYPE c, "发票是否已过账
END OF typ_rseg.
TYPES:BEGIN OF typ_bseg,
belnr LIKE bseg-belnr,
gjahr LIKE bseg-gjahr,
awkey LIKE bseg-awkey,
augbl LIKE bseg-augbl,
END OF typ_bseg.
DATA:gt_rseg TYPE TABLE OF typ_rseg,
gs_rseg TYPE typ_rseg.
DATA:gt_bseg TYPE TABLE OF typ_bseg,
gs_bseg TYPE typ_bseg.
CHECK it_po_items IS NOT INITIAL.
SELECT
r~belnr
r~gjahr
r~buzei
r~ebeln
r~ebelp
r~wrbtr
r~shkzg
r~mwskz
rb~lifnr
INTO CORRESPONDING FIELDS OF TABLE gt_rseg
FROM rseg AS r
INNER JOIN rbkp AS rb
ON r~belnr = rb~belnr AND r~gjahr = rb~gjahr
FOR ALL ENTRIES IN it_po_items
WHERE r~ebeln = it_po_items-ebeln
AND r~ebelp = it_po_items-ebelp
AND rb~stblg = ''.
LOOP AT gt_rseg INTO gs_rseg.
gs_rseg-awkey = gs_rseg-belnr && gs_rseg-gjahr.
CONDENSE gs_rseg-awkey NO-GAPS.
MODIFY gt_rseg FROM gs_rseg TRANSPORTING awkey.
ENDLOOP.
SELECT
belnr
gjahr
awkey
augbl
INTO CORRESPONDING FIELDS OF TABLE gt_bseg
FROM bseg AS b
FOR ALL ENTRIES IN gt_rseg
WHERE b~awkey = gt_rseg-awkey
AND b~koart = 'K'.
SORT gt_bseg BY awkey.
SORT gt_rseg BY awkey.
LOOP AT gt_rseg INTO gs_rseg.
CLEAR gs_bseg.
READ TABLE gt_bseg INTO gs_bseg WITH KEY awkey = gs_rseg-awkey.
IF sy-subrc EQ 0.
gs_rseg-augbl = gs_bseg-augbl.
gs_rseg-status = 'X'."标识发票是否过账
ENDIF.
IF gs_rseg-shkzg EQ 'H'.
gs_rseg-wrbtr = gs_rseg-wrbtr * -1.
ENDIF.
IF gs_rseg-augbl IS NOT INITIAL.
gs_rseg-augbl = 'X'.
ENDIF.
MODIFY gt_rseg FROM gs_rseg.
ENDLOOP.
DATA:wa_po TYPE zmm_po_item_line.
DATA:it_po_hash TYPE HASHED TABLE OF zmm_po_item_line
WITH UNIQUE KEY ebeln ebelp lifnr.
LOOP AT gt_rseg INTO gs_rseg WHERE status EQ 'X'."取出已开票过账的来统计总欠款和已清额
wa_po-ebeln = gs_rseg-ebeln.
wa_po-ebelp = gs_rseg-ebelp.
wa_po-lifnr = gs_rseg-lifnr.
wa_po-fp_sum = gs_rseg-wrbtr.
IF gs_rseg-augbl EQ 'X'.
wa_po-fp_yq = gs_rseg-wrbtr.
ENDIF.
COLLECT wa_po INTO it_po_hash.
CLEAR wa_po.
ENDLOOP.
CLEAR it_po_items.
it_po_items[] = it_po_hash[] .
ENDFUNCTION.
ABAP 查看采购订单行项目已开票金额和已清金额的更多相关文章
- ABAP-根据采购订单行项目统计供应商未清额和已清额
1.传入和传出表结构都是一样的: FUNCTION zmm_fm_po_invence. *"------------------------------------------------ ...
- ME_PROCESS_PO_CUST 实现采购订单行项目增强
用户希望创建采购订单时,输入行项目时,能根据采购订单类型,自动带出科目分类类别. 业务顾问看了一下配置,不能实现这个功能,所以用增强实现. 采购订单BADI增强:ME_PROCESS_PO_CUST. ...
- ABAP-复制采购订单行项目到新的行
FUNCTION zmm_fm_copy2new. *"------------------------------------------------------------------- ...
- SAP 采购订单行项目中科目分配被隐藏,发现行项目设置中显示字段长度为0
1.sm30 维护 视图 TCVIEW 修改对应字段的显示长度
- 如何用代码填充S/4HANA销售订单行项目的数量字段
我的任务是用代码生成S/4HANA销售订单(Sales Order)的行项目,并且填充对应的quantity(数量)值. 最开始我用了下面的代码,把quantity的值写入item字段target_q ...
- C4C销售订单行项目价格维护方法
需求很简单,能够创建销售订单,在行项目里添加产品,带出价格来,同时把总价显示在销售订单抬头区域. 如下图所示: 下面是具体配置. Business Configuration里,点击Sales Ord ...
- 【ABAP系列】SAP 销售订单的行项目里条件的增强
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP 销售订单的行项目里条件的 ...
- 【MM系列】SAP 采购订单的批量修改
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 采购订单的批量修改 前言 ...
- 【MM系列】SAP MM模块-委外采购订单 把Warning转换成Error信息提示
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP MM模块-委外采购订单 把W ...
随机推荐
- Specifying the Code to Run on a Thread
This lesson shows you how to implement a Runnable class, which runs the code in its Runnable.run() m ...
- octavia的实现与分析(二)·原理,基本架构与基本流程
[了解] 其实说白了,Octavia就是将用户的API请求经过逻辑处理,转换成Haproxy或者Nginx的配置参数,下发到amphora虚机中. Octavia的内部实现中,逻辑流程的处理主要使用T ...
- Spring Boot微服务电商项目开发实战 --- 多环境部署配置、端口号统一配置及Dubbo提供者消费者实现
昨天已经搭建好了SpringBoot基于Maven的基础父子级项目,今天开始进入项目分模块及分布式实现.首先我们基于昨天的项目,在父级工程下建lyn-sys,lyn-customer,lyn-good ...
- SpringBoot之SpringApplication Explain
SpringApplication Explain The SpringApplication class provides a convenient way to bootstrap a Sprin ...
- 洛谷:P2952 [USACO09OPEN]牛线Cow Line:题解
题目链接:https://www.luogu.org/problemnew/show/P2952 分析: 这道题非常适合练习deque双端队列,~~既然是是练习的板子题了,建议大家还是练练deque, ...
- 【原】深度学习的一些经验总结和建议 | To do v.s Not To Do
前言:本文同步发布于公众号:Charlotte数据挖掘,欢迎关注,获得最新干货- 昨天看到几篇不同的文章写关于机器学习的to do & not to do,有些观点赞同,有些不赞同,是现在算法 ...
- Excel催化剂开源第37波-音视频文件元数据提取(分辨率,时长,采样率等)
上一篇提到图片元信息Exif的提取,当然还有一类音视频文件,也同样存储着许多宝贵的元数据,那就开源到底呗,虽然自己找寻过程也是蛮艰辛坎坷的,大家看后有收获,只求多多传播下,让前人的工作可以更有价值. ...
- MYSQL数据库的安装,配置文件,登入
07.13自我总结 MYSQL数据库 一.MYQL数据库的安装 可以去mysql官网下载mysql压缩包 运行程序:在bin文件夹中,其中客户端运行文件是mysql.exe,服务端运行文件为mysql ...
- C#3.0新增功能08 Lambda 表达式
连载目录 [已更新最新开发文章,点击查看详细] Lambda 表达式是作为对象处理的代码块(表达式或语句块). 它可作为参数传递给方法,也可通过方法调用返回. Lambda 表达式广泛用于: 将 ...
- WPF依赖属性的正确学习方法
前言 我在学习WPF的早期,对依赖属性理解一直都非常的不到位,其恶果就是,我每次在写依赖属性的时候,需要翻过去的代码来复制黏贴. 相信很多朋友有着和我相同的经历,所以这篇文章希望能帮助到那些刚刚开始学 ...