谁能帮我解决以下问题
我有一个程序,它显示 ALV。当在参数中插入数据时,将显示 ALV,其中将有一个自定义按钮栏,单击其中一个按钮时,应打开一个用于添加数据的弹出窗口。 我创建了一个 Status Gui 对象来显示这些按钮
go_alv->set_screen_status(
pfstatus = 'SALV_STANDARD'
report = sy-repid
set_functions = go_alv->c_functions_all
).
参数:
SELECTION-SCREEN BEGIN OF BLOCK b1.
PARAMETERS: p_cod TYPE zcod_canteen,
p_name TYPE zname_canteen,
p_plant TYPE t001w-werks.
SELECTION-SCREEN END OF BLOCK b1.
p_name
和 p_plant
将是必须在弹出窗口中的参数,并且只有 p_cod
将位于该选择屏幕块 b1
内。我尝试通过创建一个 modulepool 来做到这一点,但这让我很困惑,我不知道它是否真的与 modulepool 一起使用。
如果您想要弹出窗口,则必须创建“Dynpro”而不是选择屏幕。 Dynpro 是用户界面屏幕,比选择屏幕提供更多的设计自由度。 Dynpro 是通常存在于模块池中的对象,但也允许出现在各种其他程序类型中。
如何创建、设计数据并与 Dynpro 交换数据是一个复杂的主题,超出了堆栈交换答案的范围。但这是一个很容易通过谷歌搜索的主题。
创建后,您可以使用
使 dynpro 显示为弹出窗口CALL SCREEN number STARTING AT x y
其中“number”是 dynpro 的编号,“x”和“y”是按常规字符大小测量的 dynpro 左上屏幕坐标。