提交报告和list_from_memory

2020-09-03 11:06发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好!

在我的自定义报告中,我需要使用SAP标准报告(hplcrpa0)中的数据。

我已经在我的自定义报告中尝试过SUBMIT,然后尝试了LIST_FROM_MEMORY,但不幸的是,我遇到了异常-" not_found"。

这是我使用的代码:

数据:abaplist的list_tab类型表。

 提交hplcrpa0导出列表到内存并返回
 pnppernr-low ='2681'
 pnpwerks-low ='0040'
 rep_id ='01'
 带有pnpbegda ='20190101'
 pnpendda ='20191231'。

 调用函数" LIST_FROM_MEMORY"
 表listobject = list_tab
 例外情况
 not_found = 1
 其他= 2。

我也尝试过

尝试。
   cl_salv_bs_runtime_info => get_data_ref(
    导入r_data = lo_data)。
   将lo_data-> *分配给。
  捕捉cx_salv_bs_sc_runtime_info。
   消息"无法检索ALV数据",键入" E"。
 尝试。

但是它总是带来转储。

有人可以帮我吗?

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好!

在我的自定义报告中,我需要使用SAP标准报告(hplcrpa0)中的数据。

我已经在我的自定义报告中尝试过SUBMIT,然后尝试了LIST_FROM_MEMORY,但不幸的是,我遇到了异常-" not_found"。

这是我使用的代码:

数据:abaplist的list_tab类型表。

 提交hplcrpa0导出列表到内存并返回
 pnppernr-low ='2681'
 pnpwerks-low ='0040'
 rep_id ='01'
 带有pnpbegda ='20190101'
 pnpendda ='20191231'。

 调用函数" LIST_FROM_MEMORY"
 表listobject = list_tab
 例外情况
 not_found = 1
 其他= 2。

我也尝试过

尝试。
   cl_salv_bs_runtime_info => get_data_ref(
    导入r_data = lo_data)。
   将lo_data-> *分配给。
  捕捉cx_salv_bs_sc_runtime_info。
   消息"无法检索ALV数据",键入" E"。
 尝试。

但是它总是带来转储。

有人可以帮我吗?

付费偷看设置
发送
9条回答
hongfeng1314
1楼 · 2020-09-03 11:40.采纳回答

不确定此报告(HR-(PL?)是否会生成假脱机(控制框架的事务性使用),也应尝试在找不到记录时显示日志...

在第二种情况下 ,您是否还致电

  • cl_salv_bs_runtime_info => set()在提交报告之前,以防止ALV显示并保持数据可用
  • cl_salv_bs_runtime_info => clear_all()获取结果后

无论如何,您应该提供有关转储的更多信息(错误的参数,数据,结构等)->例如 您如何定义(应为cl_hr_br_p1510_hbrtrpa0 => gty_t_teven_text;等类型)

NB:由于此报告可以生成XML文件,因此可以生成 是XML,然后在调用者报告中读取它?

土豆飞人
2楼-- · 2020-09-03 11:35

是的,我首先调用了set方法。

空代码
3楼-- · 2020-09-03 11:52

您好,

我找不到要在我的系统中试用的报告(我的是S/4 HANA 1809)。

但是无论如何,几天前我已经完成了类似的操作,而且效果很好...

首先,我建议您对问题进行根本原因分析:-

1。)报告在前台是否正常工作。

2。)您传递的参数值是它获取正确的数据。

3。)通过时检查DATE格式。

4。)查找任何转换例程(如果需要)。

5。)最后但并非最不重要的一点是,检查SAP社区是否存在类似的问题和答案。

https://answer.sap.com/questions/906614/submit-rep-exporting-list-to-memory-newbie-questio.html

https: //answers.sap.com/questions/1933153/submitand-exporting-list-to-memory-how-to-get-resu.html

这是我的踪迹,一切正常。...

SPAN {font-family:" Courier New"; 字体大小:10pt; 颜色:#000000; 背景:#FFFFFF; } .L0S31 {font-style:italic; 颜色:#808080; } .L0S33 {color:#4DA619; } .L0S52 {color:#0000FF; } .L0S55 {color:#800080; } .L0S70 {color:#808080; }

提交rmplan00
with plnty ='Q'
WITH material = ls_mapl-matnr"'67999'
WITH werk ='3110'
将列表导出到存储器
并返回。/p>

SPAN {font-family:" Courier New"; 字体大小:10pt; 颜色:#000000; 背景:#FFFFFF; } .L0S31 {font-style:italic; 颜色:#808080; } .L0S32 {color:#3399FF; } .L0S33 {color:#4DA619; } .L0S52 {color:#0000FF; } .L0S55 {color:#800080; }

CALL FUNCTION'LIST_FROM_MEMORY'
TABLES
listobject = lt_ABAPLIST" list_tab
EXCEPTIONS
not_found = 1
OTHERS =2。
CALL FUNCTION'LIST_TO_ASCI'
TABLES < br> listasci = lt_asci
listobject = lt_ABAPLIST。

Violet凡
4楼-- · 2020-09-03 11:42

是的,我确实首先调用了set方法。

当我用display true调用它时,我会看到正确的报告,因此我确定它的工作正常,只是在我的Z报告中看不到它。

哎,真难
5楼-- · 2020-09-03 11:29

代码段: -

提交rmplan00
with plnty ='Q'
WITH material = ls_mapl-matnr"'67999'
WITH werk ='3110'
将列表导出到存储器
并返回。/p>

CALL FUNCTION'LIST_FROM_MEMORY'
TABLES
listobject = lt_ABAPLIST" list_tab
EXCEPTIONS
not_found = 1
OTHERS =2。
CALL FUNCTION'LIST_TO_ASCI'
TABLES < br> listasci = lt_asci
listobject = lt_ABAPLIST。

软件心理学工程师
6楼-- · 2020-09-03 11:32

Raymond为您提供了所需的所有信息。您必须附加简短转储。您必须将字段符号定义为表格(至少 一般而言),并动态访问其组件。进行一些调试以显示LO_DATA-> *

Aaron 3364
7楼-- · 2020-09-03 11:40

,因为" GET_DATA_REF"在尝试构建内部表时触发了与字段名称相关的异常, 您可以尝试使用参数R_DATA_LINE还是使用方法" GET_DATA"?

注意:此实用程序类在内部使用了一些从内存中导出的信息,供您参考。

从内存ID cl_salv_bs_runtime_info => c_memid_data_def中将t_component导入到lt_component。

因此,您甚至可以构建自己的逻辑来恢复数据,并且具有比SAP更好的错误处理能力 l。

一周热门 更多>