遇到一个这样的需求,点击按钮弹出一个输入框输入三个字段。
于是找到了这个FUNCTION
使用方法:
GT_SVAL-TABNAME = 'MATDOC'.
GT_SVAL-FIELDNAME = 'BUDAT'.
GT_SVAL-FIELDTEXT = '过账日期'.
GT_SVAL-VALUE = SY-DATUM.
GT_SVAL-FIELD_ATTR = ''.
APPEND GT_SVAL.
CLEAR GT_SVAL.
GT_SVAL-TABNAME = 'MATDOC'.
GT_SVAL-FIELDNAME = 'DMBTR'.
IF R_RB1 = 'X'.
GT_SVAL-FIELDTEXT = '应付账款'.
ELSE.
GT_SVAL-FIELDTEXT = '应收账款'.
ENDIF.
GT_SVAL-FIELD_ATTR = ''.
APPEND GT_SVAL.
CLEAR GT_SVAL.
GT_SVAL-TABNAME = 'MATDOC'.
GT_SVAL-FIELDNAME = 'BUALT'.
GT_SVAL-FIELDTEXT = '税金'.
GT_SVAL-FIELD_ATTR = ''.
APPEND GT_SVAL.
CLEAR GT_SVAL.
“当要输入的字段是金额类型的字段需要再append以下一行货币,否则金额字段无法输入
GT_SVAL-TABNAME = 'MATDOC'.
GT_SVAL-FIELDNAME = 'WAERS'.
GT_SVAL-FIELDTEXT = '货币'.
GT_SVAL-FIELD_ATTR = '04'.
APPEND GT_SVAL.
CLEAR GT_SVAL.
CALL FUNCTION 'POPUP_GET_VALUES_USER_HELP'
EXPORTING
* F1_FORMNAME = ' '
* F1_PROGRAMNAME = ' '
* F4_FORMNAME = ' '
* F4_PROGRAMNAME = ' '
* FORMNAME = ' '
POPUP_TITLE = '生成会计凭证' "弹出框标题
PROGRAMNAME = 'ZFICOR034' "当前程序
* START_COLUMN = '5'
* START_ROW = '5'
* NO_CHECK_FOR_FIXED_VALUES = ' '
IMPORTING
RETURNCODE = L_CODE
TABLES
FIELDS = GT_SVAL "这个表里就是需要加上去的字段
* EXCEPTIONS
* ERROR_IN_FIELDS = 1
* OTHERS = 2
.