SAP 弹窗确认函数
POPUP_TO_CONFIRM
DATA lv_answer TYPE C.
CALL FUNCTION 'POPUP_TO_CONFIRM'
EXPORTING
* TITLEBAR = ' '
* DIAGNOSE_OBJECT = ' '
text_question = '是否保存数据'
text_button_1 = '保存并且继续'
* ICON_BUTTON_1 = ' '
text_button_2 = '继续但不保存'
* ICON_BUTTON_2 = ' '
* DEFAULT_BUTTON = '1'
* DISPLAY_CANCEL_BUTTON = 'X'
* USERDEFINED_F1_HELP = ' '
* START_COLUMN = 25
* START_ROW = 6
* POPUP_TYPE =
* IV_QUICKINFO_BUTTON_1 = ' '
* IV_QUICKINFO_BUTTON_2 = ' '
IMPORTING
answer = lv_answer
* TABLES
* PARAMETER =
* EXCEPTIONS
* TEXT_NOT_FOUND = 1
* OTHERS = 2
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
IF lv_answer = '1'.
"1按钮被按下
ELSEIF lv_answer = '2'.
"2按钮被按下
ELSEIF lv_answer = 'A'.
"取消按钮被按下
ENDIF.
SAP 窗口明细函数
REUSE_ALV_POPUP_TO_SELECT
CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
EXPORTING
i_title = '开票历史明细'
i_zebra = 'X '
i_screen_start_column = 10
i_screen_start_line = 1
i_screen_end_column = 130
i_screen_end_line = 18
* I_CHECKBOX_FIELDNAME =
* I_LINEMARK_FIELDNAME =
* I_SCROLL_TO_SEL_LINE = 'X'
i_tabname = ''
i_structure_name = 'ZTFI030'
TABLES
t_outtab = lt_lines1[]
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
需要将展示的值赋予lt_lines1
解析
i_title 为窗口标题 i_structure_name 为表结构 t_outtab = lt_lines1[] 为输出的内表
补充结构自定义
DATA:l_alvexit TYPE C.
DATA:wa_selfield TYPE slis_selfield.
DATA:li_fieldcat TYPE slis_t_fieldcat_alv.
DATA:wa_fieldcat TYPE slis_fieldcat_alv.
TYPES:BEGIN OF ITEM,
ZLXBH TYPE CHAR10,
LIFNR TYPE CHAR10,
ZXLLX TYPE CHAR10,
END OF ITEM.
DATA:i_message TYPE TABLE OF ITEM.
DATA:i_messageS TYPE ITEM.
wa_fieldcat-fieldname = 'ZLXBH'.
wa_fieldcat-seltext_l = '路线编号'.
wa_fieldcat-outputlen = '8'.
APPEND wa_fieldcat TO li_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'LIFNR'.
wa_fieldcat-seltext_l = '供应商或债权人的帐号'.
wa_fieldcat-outputlen = '20'.
APPEND wa_fieldcat TO li_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'ZXLLX'.
wa_fieldcat-seltext_l = '线路类型'.
wa_fieldcat-outputlen = '10'.
APPEND wa_fieldcat TO li_fieldcat.
CLEAR wa_fieldcat.
i_messageS-LIFNR = 'QWEQ'.
i_messageS-ZLXBH = '54'.
i_messageS-ZXLLX = '5A4S'.
APPEND i_messageS TO i_message.
i_messageS-LIFNR = 'WQE'.
i_messageS-ZLXBH = '63'.
i_messageS-ZXLLX = '4S'.
APPEND i_messageS TO i_message.
i_messageS-LIFNR = 'QwqeQ'.
i_messageS-ZLXBH = '54'.
i_messageS-ZXLLX = 'www'.
APPEND i_messageS TO i_message.
CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
EXPORTING
* I_TITLE =
* I_SELECTION = 'X'
* I_ZEBRA = ' '
* I_CHECKBOX_FIELDNAME =
* I_CHECKBOX_FIELDNAME =
i_tabname = 'I_MESSAGE'
it_fieldcat = li_fieldcat[]
* IMPORTING
* ES_SELFIELD = WA_SELFIELD
* E_EXIT = L_ALVEXIT
TABLES
t_outtab = i_message
EXCEPTIONS
program_error = 1
OTHERS = 2
补充弹窗函数
POPUP_WITH_TABLE_DISPLAY
TYPES: BEGIN OF ty_spfli,
check TYPE c.
INCLUDE TYPE spfli.
TYPES: END OF ty_spfli.
DATA: gt_spfli TYPE TABLE OF ty_spfli.
DATA: gwa_spfli TYPE ty_spfli.
DATA: gwa_selfield TYPE slis_selfield.
CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
EXPORTING
i_checkbox_fieldname = 'CHECK'
i_tabname = 'GT_SPFLI' " Internal table name
i_structure_name = 'SPFLI'
IMPORTING
es_selfield = gwa_selfield
TABLES
t_outtab = gt_spfli " Internal table which contains entries
EXCEPTIONS
program_error = 1
OTHERS = 2.
SAP 消息弹窗函数
DATA LT_ZTSD303 TYPE STANDARD TABLE OF ZTSD303 WITH HEADER LINE.
DATA:msgv1 TYPE SYMSGV.
CONCATENATE LT_ZTSD303-LIFNR ',' LT_ZTSD303-REDATE INTO msgv1.
DATA: i_smesg TYPE tsmesg WITH HEADER LINE.
i_smesg-msgty = 'E'.
i_smesg-arbgb = '00'.
i_smesg-txtnr = '001'.
i_smesg-msgv1 = '1002590错误消息'.
APPEND i_smesg.
IF i_smesg[] IS NOT INITIAL.
CALL FUNCTION 'FB_MESSAGES_DISPLAY_POPUP'
EXPORTING
it_smesg = i_smesg[]
EXCEPTIONS
no_messages = 1
popup_cancelled = 2
OTHERS = 3.
IF sy-subrc <> 0.
RETURN.
ENDIF.
ENDIF.