一組有用的使用者互動視窗函數
顯示多條消息
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 有表格對象的确認視窗
absp 彈出對話框示例:
在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.
t_spop-selflag = ''.
t_spop-varoption = 'EKPO'.
t_spop-inactive = ''.
t_spop-varoption = 'MSEG'.
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