这两个函数都是用来在弹出框里输入相关数据的。在ecc里面非常好用。
前者可以得到一批输入数据,后者只得到某一个数据,其实后者在函数中也是调用了前者。
贴一段别人的代码作为例子:
DATA: BEGIN OF FIELDS OCCURS 5.
INCLUDE STRUCTURE SVAL.
DATA: END OF FIELDS.
FIELDS-TABNAME = MARA.
FIELDS-FIELDNAME = MATNR.
APPEND FITLDS.
FIELDS-TABNAME = VBAP.
FIELDS-FIELDNAME = MATNR.
APPEND FITLDS.
FIELDS-TABNAME = LIPS.
FIELDS-FIELDNAME = MATNR.
APPEND FITLDS.
CALL FUNCTION 'POPUP_GET_VALUES'
EXPORTING
POPUP_TITLE = 'TEXT-PR2'
START_COLUMN = START_COLUMN
START_ROW = 5
IMPORTING
RETURNCODE = RETURNCODE
TABLES
FIELDS = FIELDS
EXCEPTIONS
ERROR_IN_FIELDS = 1.
它输入了三个字段,不过没有对字段属性做任何限定。贴一段自己的代码:
SPAN {
font-family: "Fixedsys";
font-size: 12pt;
color: #000000;
background: #FFFFFF;
}
.L1S31 {
font-style: italic;
color: #808080;
}
.L1S33 {
color: #4DA619;
}
.L1S52 {
color: #0000FF;
}
DATA
: l_returncode TYPE
c
.
DATA
: itb_sval TYPE
TABLE
OF
sval,
wa_sval LIKE
LINE
OF
itb_sval.
wa_sval-tabname = 'ZTM_FYBX_NETPAY'
. "表名
wa_sval-fieldname = 'SEND_DATE'
. "字段名
wa_sval-FIELD_OBL = 'X'
. "强制输入
APPEND
wa_sval TO
itb_sval.
CALL
FUNCTION
'POPUP_GET_VALUES'
EXPORTING
popup_title = '请填写提交支付日期'
IMPORTING
returncode = l_returncode
TABLES
fields
= itb_sval.
IF
l_returncode = 'A'
.
MESSAGE
'用户已取消'
TYPE
'S'
.
RETURN
.
ENDIF
.
tabname就是字段所在的表名,fieldname就是表中的字段名,在屏幕上会自动显示出该字段的短文本,并按照输入帮助提供输入框,并做校验。上面的代码表示该字段需要强制输入。效果如图:
如果用户取消了输入,则l_returncode返回'A',如果点了确定按钮,则为空。
本文介绍 SAP ABAP 中的 'POPUP_GET_VALUES' 函数,用于在弹窗中获取用户输入的数据。该函数可定义多个字段进行批量输入,支持字段属性限制,如强制输入等。
964

被折叠的 条评论
为什么被折叠?



