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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM