SAP 中的popup dialog (彈出對話框) 常見實現方法
阿新 • • 發佈:2017-07-22
program ng- 方法 tput starting div class titlebar 小時
方法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 函數是多麽的狼狽。當然,假設,你知道,那麽就不用自己去寫了。
SAP 中的popup dialog (彈出對話框) 常見實現方法