阿宝
找工作中,求帮助,谢谢!!! QQ:810487238

在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 on 2012-06-05 15:27  阿宝兴荣  阅读(430)  评论(0编辑  收藏  举报