Abap 通过对话框屏幕动态更新行内容

Abap 通过对话框屏幕动态更新行内容,abap,dynpro,Abap,Dynpro,我需要一些帮助来解决以下问题。我目前有一个对话框屏幕,其中有一个字段,用户可以在其中键入数字。这个数字对应于我创建的数据库表中的一个ID字段(使用se/11)。我想在第二个屏幕上显示所有字段的内容(因此只有表的一行)以及相应的ID。用户还应该能够编辑字段中的信息,保存后,这些更改应该在表本身中可见。归根结底,我希望通过对话框屏幕动态更改返回行的内容。我知道我必须使用一个表控件,但除此之外,我还不知所措(我是ABAP的新手) 这是桌子 屏幕1,用户可以在其中输入与表中的SEQNR相对应的数字

我需要一些帮助来解决以下问题。我目前有一个对话框屏幕,其中有一个字段,用户可以在其中键入数字。这个数字对应于我创建的数据库表中的一个ID字段(使用se/11)。我想在第二个屏幕上显示所有字段的内容(因此只有表的一行)以及相应的ID。用户还应该能够编辑字段中的信息,保存后,这些更改应该在表本身中可见。归根结底,我希望通过对话框屏幕动态更改返回行的内容。我知道我必须使用一个表控件,但除此之外,我还不知所措(我是ABAP的新手)

这是桌子

屏幕1,用户可以在其中输入与表中的
SEQNR
相对应的数字

在屏幕1上按F8键时,我想转到第二个屏幕,显示
SEQNR=1
人员的信息,换句话说,只应显示此行:

用户应该能够编辑此行中的信息。当他单击“保存”时,编辑的信息应在表中更新

到目前为止,我只制作了一个标准的第二个屏幕,在screen Painter中为上面的表添加了一个表控件。我已将此控件添加到对话框顶部:

PROGRAM TAAK1.

DATA: OK_CODE TYPE sy-ucomm,
      ls_table TYPE TABEL1,
      SEQNR_TEXTFIELD TYPE i,
      TXT_STATUS(25) TYPE c,
      it_table LIKE TABEL1 OCCURS 0 WITH HEADER LINE.

TABLES: TABEL1.

CONTROLS: TABLE_CONTROL TYPE TABLEVIEW USING SCREEN 200.
除标准PBO和PAI模块外,我没有屏幕2的代码。 屏幕1的代码如下所示

MODULE USER_COMMAND_0100 INPUT.

  CASE OK_CODE.

WHEN 'CHECKID'.
  SELECT SINGLE * FROM TABEL1 WHERE SEQNR EQ SEQNR_TEXTFIELD.
    IF sy-subrc EQ 0.
      TXT_STATUS = 'ID BESTAAT'.
    ELSE.
      TXT_STATUS = 'ID BESTAAT NIET'.
    ENDIF.
    IF TXT_STATUS = 'ID BESTAAT'.
      SELECT * FROM TABEL1 INTO ls_table WHERE SEQNR EQ SEQNR_TEXTFIELD.
      ENDSELECT.
    ENDIF.

WHEN 'EXEC'.
  CLEAR OK_CODE.
  SET SCREEN 200.
  LEAVE SCREEN.

WHEN 'BACK' OR 'EXIT' OR 'CANCEL'.
  LEAVE PROGRAM.



 ENDCASE.

ENDMODULE.

我基本上检查表中是否存在Seqnr。如果是这样的话,我会将相应的行存储在我在对话框顶部定义的本地结构中。

使用SM30视图可能更容易、更省时。您可以创建自定义事务来维护正确的授权。此外,您还可以根据自己的喜好调整屏幕(参见生成的功能组代码)

更多信息请点击此处:


使用SM30视图可能更容易、更省时。您可以创建自定义事务来维护正确的授权。此外,您还可以根据自己的喜好调整屏幕(参见生成的功能组代码)

更多信息请点击此处:


请出示一些相关代码。你使用的一些术语在不同的上下文中有不同的含义。你可以将这些图像嵌入到你的问题中。请使用诸如数据库表、内部表或表控件之类的术语重新表述您的问题。。。并显示一些代码。@GerdCastan对此表示抱歉,忘记删除该注释。我编辑了我的帖子并提供了一些代码。没有答案,因为不清楚编程问题是什么。这种场景更适合ALV网格,而不是表格控制,在ALV中,处理它们要容易得多。请显示一些相关代码。你使用的一些术语在不同的上下文中有不同的含义。你可以将这些图像嵌入到你的问题中。请使用诸如数据库表、内部表或表控件之类的术语重新表述您的问题。。。并显示一些代码。@GerdCastan对此表示抱歉,忘记删除该注释。我编辑了我的帖子并提供了一些代码。没有答案,因为不清楚编程问题是什么。这种场景更适合ALV网格,而不是表控件,在ALV中,处理它们要容易得多