abap - 不使用 TABLES 关键字修改输入字段上的文本

标签 abap input-field

我想在屏幕的输入字段上显示文本,这是来自工作区域的值,分别是姓名、年龄和城市,如您所见。当我使用 TABLES 关键字声明 znew_fdkey01znew_fdkey02 (透明表)时,如下所示:

TABLES: znew_fdkey01, znew_fdkey02.

它工作得很好。但是当我想在不使用 this 关键字的情况下获得相同的效果时,并且当我声明这样的变量时:

DATA: znew_fdkey01 TYPE znew_fdkey01,
      znew_fdkey02 TYPE znew_fdkey02.

它不会在输入字段中显示文本。

为什么?

注意:这是初始化屏幕字段的代码(两种情况相同):

LOOP AT SCREEN INTO screen_wa.

  IF screen_wa-name = 'ZNEW_FDKEY01-NAME'.
    znew_fdkey01-name = lr_znewfdkey3-name.
  ENDIF.

  IF screen_wa-name = 'ZNEW_FDKEY01-AGE'.
    znew_fdkey01-age = lr_znewfdkey3-age.
  ENDIF.

  IF screen_wa-name = 'ZNEW_FDKEY02-CITY'.
    znew_fdkey02-city = lr_znewfdkey3-city.
  ENDIF.

  MODIFY SCREEN FROM screen_wa.

ENDLOOP.

最佳答案

这是正确的,TABLES定义了工作区域,同时需要确保屏幕(dynpro)和ABAP程序之间的自动通信,如ABAP Help中所述。 :

Table work areas declared using TABLES are interface work areas...

The statement TABLES is required for exchanging data between dynpro fields and the ABAP program, if the fields were defined in a dynpro in the program by being taken from ABAP Dictionary, . In the dynpro event PBO, the content of the table work area is passed to identically named dynpro fields. In PAI, the system takes the data from identically named dynpro fields.

(否则不要使用 TABLES 来声明工作区域,这已过时)

关于abap - 不使用 TABLES 关键字修改输入字段上的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63265035/

相关文章:

abap - 比较所有字段时删除不相邻的重复项

abap - 下载功能可以不显示对话框吗

css - 为什么输入文本后我的输入字段的背景颜色会发生变化?

loops - 嵌套循环条件

abap - 用于远程调用事务的 RFC

javascript - HTML5 input type=number 改变步骤行为

javascript - 禁用带有特定 Div ID 的输入的 Tab 键

css - 使输入字段元素流畅,并在一行中使用两个固定大小的元素占用剩余的可用空间

abap - 如何使用 ADT for Eclipse 编辑报告文本?

html - 一行中的两个输入字段,一个左对齐,一个右对齐