abap - 双击将输出转发到交易

标签 abap sap-erp dynpro

我编写了一个程序,使用WRITE输出设备编号列表。事务 IE03 让用户输入设备编号,执行,然后显示该设备的一大堆信息。

我想要做的是能够双击我的程序输出的数字之一,然后显示 IE03 将提供的数据。

如何将我的自定义程序与标准显示功能集成?

最佳答案

首先,不要使用WRITE来创建列表 - 这是石器时代的技术。将数据存储在基于字典结构的内部表中,然后使用 SALV 库创建列表。查看示例程序 SALV_DEMO_TABLE_EVENTS 以了解如何显示列表并对双击使用react。请注意,您可以扔掉演示程序的大部分内容,因为它显示了很多不同的功能。

然后,您不会将任何内容“转发”到交易。您可以使用ABAP语句CALL TRANSACTION(这应该是显而易见的)来调用事务,您甚至可以使用SPA/GPA参数的扭曲组合和附加来传递一些值...并跳过第一个屏幕。请注意,这仅适用于某些类型的交易,并且仅当它们被编程为这样做时才有效。为此,您需要使用以下方法将设备编号存储在全局变量中

SET PARAMETER ID 'EQN' FIELD l_my_equipment_number.

然后调用交易

CALL TRANSACTION 'IE03' AND SKIP FIRST SCREEN.

请注意,此语句不会执行默认的授权检查 - 如果您需要这样做,请使用关键字文档指定的功能模块 AUTHORITY_CHECK_TCODE

关于abap - 双击将输出转发到交易,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13382656/

相关文章:

batch-processing - 通过后台作业运行时从共享内存中删除失败

abap - 在哪里使用表类型和结构?

abap - 使 table 可定制/可移动?

sap - ERP 阅读/练习什么?

c++ - SAP ERP 与 C++ 的集成

abap - 通过 ABAP 动态更改应用程序工具栏项目图标

abap - 单击按钮调用屏幕?

types - 主程序无法识别 INCLUDE 中的声明

database - 使用 Pentaho ETL 工具连接 SAP ERP 系统时出错

java - 无法检索日期