DYNP_VALUES_READ 获取屏幕动态值

本文介绍如何在SAP ABAP中解决在VALUE-REQUEST中无法获取最新checkbox值的问题,提出通过调用函数模块DYNP_VALUES_READ动态获取屏幕元素值的方法,并提供示例代码,演示在checkbox值改变时,根据值决定调用打开或保存文件对话框的逻辑。

   在网上看到这样一个问题:获得选择屏幕上checkbox的值,如果值为x,则F4弹出保存文件前台窗口,若checkbox为空,则F4弹出打开文件前台窗口,但在ON VALUE-REQUEST的块中得不到最新的checkbox值,很显然这是屏幕流逻辑的问题,逻辑没有走到PAI,下面提供两种方法:1.在CHECKBOX 后面加USER COMMAND让它触发屏幕流逻辑;2.由于方法1要跑PAI就有可能带来需求上的不便,这时可在VALUE-REQUEST中使用FM:DYNP_VALUES_READ来动态获取选择屏幕上元素的值。指定屏幕号,和程序ID,指定需要获取的屏幕元素文本。

   下面简单写了个例子,写这篇文章主要是引出DYNP_VALUES_READ 函数,在很多时候我们都可以用它;

&---------------------------------------------------------------------*
*& Report  ZLC_DYNP_VALUES_READ
*&
*&---------------------------------------------------------------------*
REPORT  ZLC_DYNP_VALUES_READ.

DATA: IT_DYNPREAD       LIKE  TABLE OF DYNPREAD,
          WA_DYNPREAD     LIKE DYNPREAD.

PARAMETERS C_BOX AS CHECKBOX .

SELECTION-SCREEN <

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值