2020-09-08 10:13发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我的报告中要求为一个字段创建F4帮助功能。 问题是该F4帮助返回所有CAP中的字段(大写),而我需要F4帮助返回原样的值
例如:如果用户选择market = Australia,则该字段应填充" Australia"而不是" AUSTRALIA"。
当前我正在使用F4IF_INT_TABLE_VALUE_REQUEST
请帮助。
大家好,
我设法解决了这个问题
方向????
这里的问题是,由于我已将DYNPROFIELD指定为S_MARKT(这是将保留市场名称的select-option),因此我不必理会指定表参数" RETURN_TAB"。
如果尝试通过注释参数" RETURN_TAB"来执行FM,则FM返回大写值。
但是,如果您使用" RETURN_TAB",它将按原样返回值。 有趣的????
谢谢。
可以在此处显示代码吗?
在声明要为f4提供帮助的参数时,请减少附加内容
参数:p_matnr像mara matnr小写字母。
关于此,
Ravi
嗨urmila, p>
1。 问题是在声明
参数字段时。
2。 我们应该用LOWER CASE扩展名声明它。
3。 要尝试一下,只需将粘贴复制到新程序中即可。
4。
报告abc。
数据:t_return类似于ddshretval OCCURS 0 WITH HEADER LINE
数据:开始于t_names发生0,
name类似于usr01-bname,END
OF t_names。
参数:像usr01-bname的小写字母。
在对a的值请求上的选择屏幕上。
执行get_names。
& ----
*&表单get_names
&----
text
----
FORM get_names。
t_names-name ='Rodney Goh'。
t_names-name ='Malek'。
APPEND t_names。
t_names-name ='Amran'。
t_names-name ='Ow CC'。
t_names-name ='Osman'。
t_names-name ='Soh EG'。
t_names-name ='Lee CK'。 p>
t_names-name ='Loy TH'。
清除t_names。
CALL FUNCTION'F4IF_INT_TABLE_VALUE_REQUEST'
导出 G
retfield ='T_NAMES-NAME'
dynpprog = sy-cprog
dynpnr = sy-dynnr
dynprofield ='A '
value_org ='S'
multiple_choice =''
display ='F'
表
value_tab = t_names
return_tab = t_return。
。
IF sy-subrc
<> 0。
消息ID sy-msgid类型sy-msgty编号sy-msgno 使用
sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4。
ENDIF。
读取表t_return索引
1。
P_NAME = T_RETURN-FIELDVAL。
ENDFORM。 " GET_NAMES
,
授予我。
海乌米拉
检查以下代码
导出
DDIC_STRUCTURE = ldf_tabname" VALUE_TAB的结构
RETFIELD = LDF_FLDNAME" FIELD_TAB中的返回字段名称
PVALKEY =''
DYNPPROG =''
DYNPNR =''
DYNPROFIELD =''
STEPL = 0
WINDOW_TITLE =
VALUE =''
VALUE_ORG = LCF_VAL"返回值
MULTIPLE_CHOICE =''
DISPLAY =''
CALLBACK_PROGRAM =''
CALLBACK_FORM =''
MARK_TAB =
导入
USER_RESET =
表格
VALUE_TAB = TAB_TEMP"值表
FIELD_TAB = LDT_FLDTAB"命中列表的文件
RETURN_TAB = LDT_RETTAB"返回所选值
DYNPFLD_MAPPING =
例外
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3。
如果SY-SUBRC <> 0。
消息ID SY-MSGID类型SY-MSGTY编号SY-MSGNO
带有SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4。
读取表LDT_RETTAB索引1。
数据:带有标题行的LDT_DFIES像DFIES发生0。
清除LDT_DFIES。
CALL FUNCTION'DDIF_FIELDINFO_GET'
TABNAME = LDF_TABNANME
FIELDNAME = LDF_FLDNAME
LANGU = SY-LANGU
LFIELDNAME =''
ALL_TYPES =''
GROUP_NAMES =''
UCLEN =
X030L_WA =
DDOBJTYPE =
DFIES_WA =
LINES_DESCR =
DFIES_TAB = LDT_DFIES"字段列表
FIXED_VALUES =
NOT_FOUND = 1
INTERNAL_ERROR = 2
感谢与问候
Sreenivasulu P
最多设置5个标签!
大家好,
我设法解决了这个问题
方向????
这里的问题是,由于我已将DYNPROFIELD指定为S_MARKT(这是将保留市场名称的select-option),因此我不必理会指定表参数" RETURN_TAB"。
如果尝试通过注释参数" RETURN_TAB"来执行FM,则FM返回大写值。
但是,如果您使用" RETURN_TAB",它将按原样返回值。 有趣的????
谢谢。
可以在此处显示代码吗?
在声明要为f4提供帮助的参数时,请减少附加内容
参数:p_matnr像mara matnr小写字母。
关于此,
Ravi
嗨urmila, p>
1。 问题是在声明
参数字段时。
2。 我们应该用LOWER CASE扩展名声明它。
3。 要尝试一下,只需将粘贴复制到新程序中即可。
4。
报告abc。
数据:t_return类似于ddshretval OCCURS 0 WITH HEADER LINE
数据:开始于t_names发生0,
name类似于usr01-bname,END
OF t_names。
参数:像usr01-bname的小写字母。
在对a的值请求上的选择屏幕上。
执行get_names。
& ----
*&表单get_names
&----
text
>----
FORM get_names。
t_names-name ='Rodney Goh'。
< p> APPEND t_names。t_names-name ='Malek'。
APPEND t_names。
t_names-name ='Amran'。
< p> APPEND t_names。t_names-name ='Ow CC'。
APPEND t_names。
t_names-name ='Osman'。
APPEND t_names。
t_names-name ='Soh EG'。
APPEND t_names。
t_names-name ='Lee CK'。 p>
APPEND t_names。
t_names-name ='Loy TH'。
APPEND t_names。
清除t_names。
CALL FUNCTION'F4IF_INT_TABLE_VALUE_REQUEST'
导出 G
retfield ='T_NAMES-NAME'
dynpprog = sy-cprog
dynpnr = sy-dynnr
dynprofield ='A '
value_org ='S'
multiple_choice =''
display ='F'
表
value_tab = t_names
return_tab = t_return。
。
IF sy-subrc
<> 0。
消息ID sy-msgid类型sy-msgty编号sy-msgno 使用
sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4。
ENDIF。
读取表t_return索引
1。
P_NAME = T_RETURN-FIELDVAL。
ENDFORM。 " GET_NAMES
,
授予我。
海乌米拉
检查以下代码
CALL FUNCTION'F4IF_INT_TABLE_VALUE_REQUEST'
导出
DDIC_STRUCTURE = ldf_tabname" VALUE_TAB的结构
RETFIELD = LDF_FLDNAME" FIELD_TAB中的返回字段名称
PVALKEY =''
DYNPPROG =''
DYNPNR =''
DYNPROFIELD =''
STEPL = 0
WINDOW_TITLE =
VALUE =''
VALUE_ORG = LCF_VAL"返回值
MULTIPLE_CHOICE =''
DISPLAY =''
CALLBACK_PROGRAM =''
CALLBACK_FORM =''
MARK_TAB =
导入
USER_RESET =
表格
VALUE_TAB = TAB_TEMP"值表
FIELD_TAB = LDT_FLDTAB"命中列表的文件
RETURN_TAB = LDT_RETTAB"返回所选值
DYNPFLD_MAPPING =
例外
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3。
如果SY-SUBRC <> 0。
消息ID SY-MSGID类型SY-MSGTY编号SY-MSGNO
带有SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4。
ENDIF。
读取表LDT_RETTAB索引1。
数据:带有标题行的LDT_DFIES像DFIES发生0。
清除LDT_DFIES。
CALL FUNCTION'DDIF_FIELDINFO_GET'
导出
TABNAME = LDF_TABNANME
FIELDNAME = LDF_FLDNAME
LANGU = SY-LANGU
LFIELDNAME =''
ALL_TYPES =''
GROUP_NAMES =''
UCLEN =
导入
X030L_WA =
DDOBJTYPE =
DFIES_WA =
LINES_DESCR =
表格
DFIES_TAB = LDT_DFIES"字段列表
FIXED_VALUES =
例外
NOT_FOUND = 1
INTERNAL_ERROR = 2
OTHERS = 3。
如果SY-SUBRC <> 0。
消息ID SY-MSGID类型SY-MSGTY编号SY-MSGNO
带有SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4。
ENDIF。
感谢与问候
Sreenivasulu P
一周热门 更多>