此博客为原创博客,都是个人工作经历所得,转载请注明出处

ABAP 弹出对话框

一组有用的用户交互窗口函数

显示多条消息
SAP系统用的是这个函数:C14Z_MESSAGES_SHOW_AS_POPUP

 

POPUP_TO_CONFIRM_LOSS_OF_DATA 显示有YES/NO的弹出窗口,提示用户未保存的数据将丢失

POPUP_TO_CONFIRM_STEP 提示是否确认操作的弹出窗口
*调用对话框函数
    call function ‘POPUP_TO_CONFIRM_STEP’
      EXPORTING
        titel          = text-m02
        textline1      = l_msgtxt
        cancel_display = space                          “不显示CANCEL按钮
      IMPORTING
        answer         = l_answer.

POPUP_TO_CONFIRM_WITH_MESSAGE 可以显示定制的提示信息的确认窗口

POPUP_TO_CONFIRM_WITH_VALUE 显示确认用户对某个特定对象的操作的弹出窗口

POPUP_TO_DECIDE 将待确认选项以单选按钮的方式显示的弹出窗口

POPUP_TO_DECIDE_WITH_MESSAGE 带消息的确认窗口

POPUP_TO_DISPLAY_TEXT 显示多行信息的窗口

POPUP_TO_SELECT_MONTH 月份选择窗口

POPUP_WITH_TABLE_DISPLAY 有表格对象的确认窗口

 

 

在SAP的开发过程中,经常会用到对话框,SAP的系统有很多不同款式的对话框函数供你选择,把对话框用好,在开发的过程中会带来很大的便利,同时也让你的程序运行效果更漂亮哦,下面我介绍一下如何使用弹出对话框单选框列表列表供用户选择,效果如下所示:

程序如下:
*&---------------------------------------------------------------------*
*& Report  ZTEST_POPUP
*&
*&---------------------------------------------------------------------*
*& Create By    : flying
*& Create Date  : 2009-11-25
*& Descriptions : 弹出类似单选框列表供用户选择
*&---------------------------------------------------------------------*

REPORT  ztest_popup.

TABLES: spopli.

*----------------------------------------------------------------------*
*  define internal tables
*  定义内表
*
*----------------------------------------------------------------------*
DATA: t_spop LIKE spopli OCCURS 0 WITH HEADER LINE. "定义供用户选择列表

*----------------------------------------------------------------------*
*  define data
*  定义变量
*
*----------------------------------------------------------------------*
data: answer type string.              "用于存储用户选择

*----------------------------------------------------------------------*
*  start-of-selection
*  执行屏幕
*
*----------------------------------------------------------------------*

START-OF-SELECTION.

PERFORM frm_popup_to_select.

*----------------------------------------------------------------------*
*  form frm_popup_to_select
*  弹出对话框
*
*----------------------------------------------------------------------*
FORM frm_popup_to_select.
REFRESH t_spop.

CLEAR t_spop.
t_spop-selflag = 'X'.                     "设置选中
t_spop-varoption = 'MBEW'.                "设置显示的文本
t_spop-inactive  = ''.                    "设置不可编辑
APPEND t_spop.

CLEAR t_spop.
t_spop-selflag = ''.
t_spop-varoption = 'EKPO'.
t_spop-inactive  = ''.
APPEND t_spop.

CLEAR t_spop.
t_spop-selflag = ''.
t_spop-varoption = 'MSEG'.
t_spop-inactive  = ''.
APPEND t_spop.

CALL FUNCTION 'POPUP_TO_DECIDE_LIST'
EXPORTING
cursorline               = 1
mark_flag                = ' '
mark_max                 = 1
start_col                = 20             "设置开始的列
start_row                = 7              "设置开始的行
textline1                = '请选择'        "设置文本行内容1
*   TEXTLINE2                = ' '
*   TEXTLINE3                = ' '
titel                    = '测试用户选择' "设置标题
*   DISPLAY_ONLY             = ' '
IMPORTING
answer                   = answer         "获得用户选择,这里返回的值对应是当前列表NO,比如第一个就返回1,第二个返回2。。。。。
tables
t_spopli                 = t_spop         "设置选择列表
EXCEPTIONS
NOT_ENOUGH_ANSWERS       = 1
TOO_MUCH_ANSWERS         = 2
TOO_MUCH_MARKS           = 3
OTHERS                   = 4
.
IF sy-subrc <> 0.
ENDIF.
ENDFORM.                    "frm_popup_to_select

posted @ 2017-01-06 19:28  Rainystuday  阅读(3769)  评论(0编辑  收藏  举报