如何用MD_SALES_ORDER_STATUS_REPORT函数从MD04事务码获取概览树(overview tree)数据
来源:互联网 发布:mac软件下载的网站 编辑:程序博客网 时间:2024/05/22 06:33
原文链接:https://blogs.sap.com/2013/08/21/how-to-get-overview-tree-from-md04-with-mdsalesorderstatusreport-fm/
最近我在二次开发中需要从事务码CO46中获取一些信息,更具体的说,我需要从MD04事务码获取概览树报表数据,即MRP元素的订单进度报表(overview tree)。注:以下图片中的内容为我自己实现的该需求的图片,未引用原作者图片。
获取以上数据的函数是MD_SALES_ORDER_STATUS_REPORT,但是此函数将打开事务码CO46界面,此处特别注意,后文将以隐式增强解决该问题。
该函数存在NODISP参数,可以控制界面的显示与否,其返回内表IIOELX,表中数据不是概览树所含数据。
所以需要很多其他工作来获取概览树的信息,详细表述如下:
首先声明两个参数,用于保存控制值和返回值的结构数据。
DATA:lc_md_memory, “参数用于判断为本程序获取数据后不继续展示界面
gt_ord_outtab TYPE ty_io_struc_tab.
ty_io_struc_tab内表即为函数返回的概览树数据的结构表,此表可以从SAP内建模块LM61TTOP获取。
在程序中,调用MD_SALES_ORDER_STATUS_REPORT之前,需要设置一些内存值,注意NODISP参数是默认被设置为空的。
EXPORTlc_md_memory TO MEMORY ID 'MDREPORT'.
" Call FM with below parameters
CALL FUNCTION'MD_SALES_ORDER_STATUS_REPORT'
EXPORTING
edelet = i_mdpsx-delet
edelkz = i_mdpsx-delkz
edelnr = i_mdpsx-del12
edelps = i_mdpsx-delps
ewerks = werks
i_ignore_mtold = 'X'
i_profid = 'SAP000000002'
EXCEPTIONS
error = 1
OTHERS = 2.
" Import result table from memory
IMPORT gt_ord_outtab FROM MEMORY ID 'MDREPORT'.
以上程序执行后,应该已经在GT_ORD_OUTTAB表中获取到了概览树的数据,但是为了不要显示后续的界面,还需要对LM61TF27做一个隐式增强(参考链接:http://blog.sina.com.cn/s/blog_6fd0fd4b0101adln.html)。
最终,在LM61TF27所在的代码中,判断LC_MD_MEMORY是否被设置为X,以确认此次请求该模块展示数据来自于当前自已开发的程序。
如果以上参数已被设置,将从memory中读取数据到内表GT_ORD_OUTTAB并且通过上述隐式增强,成功避免打开CO46事务码的界面。
LM61TF27隐式增强代码截图如下:
最后返回GT_ORD_OUTTAB的结果如下:
=========================自己实现该函数的代码片段=======================
https://code.csdn.net/snippets/2472103
- 如何用MD_SALES_ORDER_STATUS_REPORT函数从MD04事务码获取概览树(overview tree)数据
- 用MD_SALES_ORDER_STATUS_REPORT函数从MD04事务码获取订单报表数据
- 通过 MD_SALES_ORDER_STATUS_REPORT 建立MD04展开树
- 如何用Vue.js获取api数据
- 如何用线程Asynctask获取网络数据
- 取MD04数据的MD_STOCK_REQUIREMENTS_LIST_API函数应用
- 如何用安卓中异步从网上获取图片内容
- 如何用plsql从oracle中导入导出数据
- 如何用PLSQL从ORACLE中导入导出数据
- 如何用PLSQL从ORACLE中导入导出数据
- 如何用PLSQL从ORACLE中导入导出数据
- 如何用plsql从oracle中导入导出数据
- 如何用PLSQL从ORACLE中导入导出数据
- 如何用PLSQL从ORACLE中导入导出数据
- 如何用C#代码获取某网页的内容(数据),
- sharepoint 2010 如何用SocialCommentManager获取记事板评论数据
- 如何用R和API免费获取Web数据?
- 如何用消息系统避免分布式事务?(顶)
- lvds屏幕上电闪下白屏
- git日志导出为csv、excel文件
- 并查集
- Intent选择器,开系统图库选择图片,开相机拍照
- Python文件I/O
- 如何用MD_SALES_ORDER_STATUS_REPORT函数从MD04事务码获取概览树(overview tree)数据
- AndRoid EditText相关属性设置
- 电到底是怎么工作的?
- 操作系统与操作系统内核
- Scrapy阅读源码分析<三>
- 机器学习之支持向量机
- 机器学习知识体系
- RTCPInstance类监听RR包
- web项目启动初始化