SAP 弹窗函数分享

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.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值