方法1:
FM:POPUP_TO_CONFIRM(标准对话弹出消息)
有三个button:YES-NO-CANL,可进行对应的逻辑推断
可设定标题,描写叙述问题,不方便对文本进行换行等排版,不能改变弹出框大小。
方法2:
FM:POPUP_CONTINUE_YES_NO
有两个button:J-N(YES-NO),可进行对应的逻辑推断
可设定标题,最大仅仅能小时两行文本,不方便对两行以上文本进行排版,不能改变弹出框大小。
方法3:
以内部数据,在文本编辑器中按行进行输出
FM:ADA_POPUP_WITH_TABLE(Popup to display internal table data)
可设定标题,能将非常多数据,以text文本的方式,在弹出框中以text编辑器UI显示,仅仅能控制弹出框显示位置。不能改变弹出框大小。
方法4:
FM:POPUP_WITH_TABLE_DISPLAY(将数据当做表格数据显示)
有两个button:选择-取消-(双击)
可设定标题。可将非常多数据按行进行显示,而且还有选择功能,能够返回选中的行数。能够控制弹出框显示位置。能够改变弹出框大小
方法5:
FM:POPUP_WITH_TABLE_DISPLAY_OK
有两个button:选择-取消
跟函数POPUP_WITH_TABLE_DISPLAY非常相似。可是没有选择功能,而且标题始终是‘Register’。不能改变。能够控制弹出框显示位置,能够改变弹出框大小
方法6:
自己写代码
拷贝SAP 标准的程序用OO 的方法改写ALV里面detail display 的实现方法。
实现方法例如以下:
CALL SCREEN 0101 STARTING AT STARTPOS_COL STARTPOS_ROW
ENDING AT ENDPOS_COL ENDPOS_ROW.
*&---------------------------------------------------------------------*
*& Module STATUS_0101 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE status_0101 OUTPUT.
SET PF-STATUS ‘101‘.
SET TITLEBAR ‘101‘.
ENDMODULE. " STATUS_0101 OUTPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0101 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE user_command_0101 INPUT.
IF ok_code = ‘CANCEL‘.
* LEAVE PROGRAM.
LEAVE TO SCREEN 0.
ELSEIF ok_code = ‘CANCEL‘.
* LEAVE PROGRAM.
LEAVE TO SCREEN 0.
ENDIF.
ENDMODULE. " USER_COMMAND_0101 INPUT
重点:CALL SCREEN 0101 STARTING AT
ENDING AT .
这个语法,你就明确了,那么煞费苦心的去找POPPUP 函数是多么的狼狈。当然,假设,你知道,那么就不用自己去写了。