如何在ALV程序中获取事务VA45的输出

2020-08-14 14:40发布

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

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


大家好,

我处于需要将事务VA45的输出提取到我的ALV报告中的情况,

我需要在ALV报告中使用这些数据。

任何人都知道如何实现这一目标,请帮助我。

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

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


大家好,

我处于需要将事务VA45的输出提取到我的ALV报告中的情况,

我需要在ALV报告中使用这些数据。

任何人都知道如何实现这一目标,请帮助我。

付费偷看设置
发送
2条回答
吹牛啤
1楼-- · 2020-08-14 15:38

纳雷什,你好

在S/4系统中,TCode VA45的程序是Report(TYPE 1)程序。 因此,在这种情况下,您可以使用SUBMIT语句,如下所示:

提交SD_SALES_DOCUMENT_VA45,并将...导出列表存储并返回。

如果使用的是ECC系统,则程序类型为M(模块池)。 在这种情况下,您必须使用CALL TRANSACTION。 为此,请按照以下步骤操作:

1。 由于我们使用SET语句使用Select Options,并且在VA45屏幕中具有选择选项,因此我们需要使用SHDB创建VA45的记录,然后使用BDCDATA使用CALL TRANSACTION。

您可以参考我用于自定义交易要求的记录之一:

2。 在VA45的主程序中,在ALV显示之后找到一个隐式增强,以将最终内部表导出到内存中。

将itab导出到内存ID" TEST_CONTRACT_MEM"。

3。 现在,在调用事务处理语句之后,从您的自定义程序中的此内存ID中导入最终表:

从内存ID" TEST_CONTRACT_MEM"导入itab。

希望这可以解决您的问题。

此致

Gauri Rathi

暮风yp
2楼-- · 2020-08-14 15:26

使用类CL_SALV_BS_RUNTIME_INFO可以截获而不是显示ALV数据。 论坛上有很多讨论。

例如:

  1. 告诉ALV引擎存储数据而不是显示数据
  2. 提交ALV 报告并返回
  3. 检索ALV数据

示例:

 cl_salv_bs_runtime_info => set(
     导出显示= abap_false
               元数据= abap_false
               数据= abap_true)。
   提交...并返回。
   cl_salv_bs_runtime_info => get_data_ref(
         正在导入r_data = DATA(r_data))。  

一周热门 更多>