弹出对话框 用户输入值

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  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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值