彈出對話方塊 使用者輸入值(FM)

來源:互聯網
上載者:User

文章 轉自 http://blog.csdn.net/liangziyisheng/article/details/7513546

Function module 'POPUP_GET_VALUES'允許使用者在對話方塊中輸入值,且看執行個體

TYPES:
ty_t_sval TYPE STANDARD
TABLE OF sval.
DATA: gv_ret_code(5)
TYPE c,
      gt_flds TYPE ty_t_sval.

CONSTANTS: cn_dlg_tit(10)
TYPE c VALUE
'HELLO!'.

START-OF-SELECTION.
* set dialog structure attributes
  PERFORM frm_set_tab_attr CHANGING
gt_flds.
* pop dialog to ask user input data
  PERFORM frm_pop_dialog CHANGING
gt_flds gv_ret_code.

END-OF-SELECTION.
  IF gv_ret_code IS INITIAL.
*   output result of input by user
    PERFORM frm_output_rslt USING
gt_flds.
  ENDIF.

*&---------------------------------------------------------------------*
*&      Form  FRM_SET_TAB_ATTR
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      <--P_GT_FLDS  text
*----------------------------------------------------------------------*
FORM frm_set_tab_attr  CHANGING
p_gt_flds TYPE ty_t_sval.

  DATA: lw_sval TYPE sval.
* set each field's attribute
  DEFINE set_fld_attr.
    lw_sval-tabname = 'MAKT'.
    lw_sval-fieldname = &1.
    append lw_sval to p_gt_flds.
    clear lw_sval.
  END-OF-DEFINITION.

  set_fld_attr: 'MATNR', 'SPRAS',
'MAKTX'.

ENDFORM.                    " FRM_SET_TAB_ATTR
*&---------------------------------------------------------------------*
*&      Form  FRM_POP_DIALOG
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      <--P_GT_FLDS  text
*      <--P_GV_RET_CODE  text
*----------------------------------------------------------------------*
FORM frm_pop_dialog  CHANGING
p_gt_flds TYPE ty_t_sval
                              p_gv_ret_code TYPE c.

  CALL FUNCTION 'POPUP_GET_VALUES'
    EXPORTING
      popup_title     = cn_dlg_tit
    IMPORTING
      returncode      = p_gv_ret_code
    TABLES
      fields          = p_gt_flds
    EXCEPTIONS
      error_in_fields = 1
      OTHERS          = 2.
  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.                    " FRM_POP_DIALOG
*&---------------------------------------------------------------------*
*&      Form  FRM_OUTPUT_RSLT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_GT_FLDS  text
*----------------------------------------------------------------------*
FORM frm_output_rslt  USING   
p_gt_flds TYPE ty_t_sval.

  DATA: lw_sval TYPE sval.

  LOOP AT p_gt_flds
INTO lw_sval.
    WRITE:/ lw_sval-tabname, lw_sval-fieldname, lw_sval-value.
    ULINE.
  ENDLOOP.

ENDFORM.                    " FRM_OUTPUT_RSLT

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.