当前位置: 首页 > news >正文

关于在财务月结的标准事务码中获取执行结果的增强

1、需求说明

某功能需要在程序中执行标准的事务代码,如KSS2/CON2/KSII等,之后将标准功能运行结果的数据回传到功能中,如标准功能执行后的ALV和消息。

2、需求实现

2.1、ALV

除了KSII以外,KSS2和CON2的结果,都无法直接通过cl_salv_bs_runtime_info=>get_data_ref获取ALV的数据(详细做法可参考《获取标准报表CJI3的ALV数据》)

KSS2(程序为RKSS0_KSS2)运行效果

可通过ALV输出时,将ALV内表抛内存

为了限制抛内存的时机,可以在自开发程序中抛内存LV_ZKSS2作为标识,在增强中接到后,再抛内存给自开发程序。自开发程序执行完记得要清空该内存。

CON2(程序为RKAZCON2)运行效果

在程序中,四个内表分别对应上述四个区域

但ALV界面位于第二层界面,也无法获取

同理,也是找到ALV输出前做增强抛内存

2.2、MESSAGE

在执行上述标准事务代码之后,对于执行完的消息数据,可以在通用函数MESSAGES_COUNT中做增强进行抛内存输出

文章的重点在于介绍通用函数MESSAGES_COUNT,可以在多个标准事务代码中获取执行结果的消息。另还有MESSAGE_SHOW和MESSAGE_SAVE函数,可在需要时使用。

其中KSS2还找到另外一个通用函数,也有消息相关的内表

2.3、控制范围处理

在调用财务事务代码时,可能会存在控制范围更改后,弹出新的控制范围的输入框,而且弹框和选择屏幕的控制范围不是相同的屏幕字段

所以只在SUBMIT中输入WITH kokrs = p_kokrs是没办法把值传入弹出窗口的成本控制范围中的

因此需要在SUBMIT调用之前,先设置参数ID CAC的值,将控制范围传入弹框中,再用SUBMIT的WITH kokrs = p_kokrs中传入控制范围,就可以正常执行

再扩展到之前写过的内容,想想什么时候这个弹框里面传的控制范围参数会失效呢?可以参考以前发表的《聊聊SAP内存和ABAP内存》的内容。

以上就是获取标准事务代码ALV数据和MESSAGE的增强介绍

 

定期更文,欢迎关注

http://www.sczhlp.com/news/441.html

相关文章:

  • .NET 9 的免费午餐:GZip 性能提升38.3%
  • cv2安装测试的一个案例-面部检测
  • gitlab重置管理员root密码
  • 线程API
  • 1000子读后感
  • 线程
  • 进程API函数
  • 进程
  • 〆250729〆Windows 系统中 C:\ProgramData 目录说明
  • .NET 10 中的新增功能系列文章1——运行时中的新增功能
  • CF2018D 题解
  • 区分引用变量和内表变量
  • Apple MagicKeyboard
  • 剑指offer-16、合并两个有序链表
  • 门店
  • 自定义控件----流动线条
  • 7.28总结
  • 2023年八大最佳Codecademy替代平台
  • 扩散模型-一张图片是一个概率分布采样的结果-94 - jack
  • 移远EC800K, EG800AK的 openSDK 编译
  • V-Ray 7 安装图解教程 | 支持3ds Max 2021-2026 含语言补丁配置
  • 2025暑假作业(7.28~8.3)
  • sed基础
  • 如果你还有一些困惑 / 请贴着我的心倾听 - Urd
  • 【IEEE出版】第五届计算机应用、视觉与算法国际学术会议(CVAA 2025)
  • 【SPIE出版】第二届生物医药和智能技术国际学术会议(ICBIT 2025)
  • 职业学院游戏发布
  • 一款可视化无代码的爬虫软件–EasySpider
  • 新手小白如何通过云服务器用Docker免费搭建web应用
  • 网站漏洞扫描工具-Acunetix