ABAP 選擇螢幕下拉框-listbox
阿新 • • 發佈:2019-01-03
主要程式碼:
*------------------------------------------------------------------------------* * SELECTION-SCREEN * *------------------------------------------------------------------------------* SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE TEXT-001. PARAMETERS: P_BWART TYPE RESB-BWART AS LISTBOX VISIBLE LENGTH 20 OBLIGATORY, P_WERKS TYPE RESB-WERKS OBLIGATORY DEFAULT '2000'. SELECT-OPTIONS: S_MATNR FOR RESB-MATNR, S_RESNUM FOR RESB-RSNUM NO-EXTENSION NO INTERVALS , * S_. NO-EXTENSION NO INTERVALS , "領用單號-自建表 S_BDTER FOR RESB-BDTER. SELECTION-SCREEN END OF BLOCK blk1. *------------------------------------------------------------------------------* * INITIALIZATION * *------------------------------------------------------------------------------* *------------------------------------------------------------------------------* * AT SELECTION-SCREEN * *------------------------------------------------------------------------------* AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_BWART. PERFORM P_SET_SELECTION. *------------------------------------------------------------------------------* * START-OF-SELECTION * *------------------------------------------------------------------------------* START-OF-SELECTION. PERFORM P_GET_DATA. PERFORM P_DISPLAY.
下拉框填數:
效果:*&---------------------------------------------------------------------* *& Form P_SET_SELECTION *&---------------------------------------------------------------------* * 設定移動型別搜尋幫助 *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM P_SET_SELECTION . TYPES :BEGIN OF TY, COL1 TYPE CHAR3 , COL2 TYPE CHAR20 , END OF TY. DATA ITAB TYPE TABLE OF TY. ITAB = VALUE #( ( COL1 = 'Z09' COL2 = '成本中心領用') ( COL1 = 'Z11' COL2 = '線邊退料') ( COL1 = 'Z13' COL2 = '成品工廢、料廢訂單消耗領用') ( COL1 = 'Z15' COL2 = '成品返工領用') ( COL1 = 'Z16' COL2 = '專案領用') ( COL1 = 'Z18' COL2 = '廢品消耗領用' ) ( COL1 = 'S61' COL2 = '備件消耗領用' ) ). CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' EXPORTING * DDIC_STRUCTURE = ' ' RETFIELD = 'COL1' * PVALKEY = ' ' DYNPPROG = SY-REPID DYNPNR = SY-DYNNR DYNPROFIELD = 'COL1' * STEPL = 0 WINDOW_TITLE = 'WINDOW--TITLE' * VALUE = '' VALUE_ORG = 'S'"C表示cell,S表示structure * MULTIPLE_CHOICE = 'X'"多項選擇,用於SELECT-OPTIONS * DISPLAY = 'F'"C則只能顯示,不能選擇 CALLBACK_PROGRAM = sy-repid * CALLBACK_FORM = ' ' * MARK_TAB = * IMPORTING * USER_RESET = TABLES VALUE_TAB = ITAB * FIELD_TAB = FIELD_TAB * RETURN_TAB = * DYNPFLD_MAPPING = EXCEPTIONS PARAMETER_ERROR = 1 NO_VALUES_FOUND = 2 OTHERS = 3 . IF SY-SUBRC <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. ENDFORM.