2020-09-14 14:01发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
我们创建了许多BRF +公式表达式。 在自定义程序中,用户可以选择其中之一来计算价格。 要求是当选择BRF +公式时,自定义程序应在公式中显示操作数,它们是BRF +函数的参数。 这样用户就会知道应该输入的内容。
我知道这是abap函数还是abap方法,使用RTTS可以动态获取其参数。 但是如何通过ID获取BRF +函数参数呢?
我找到了解决方法。
CL_FDT_CONTEXT类具有私有属性MT_NAME_VALUE。 我在此属性中找到了参数。
创建一个类增强功能以为此类添加新方法,
方法GET_MT_NAME_VALUES 出口 值(ET_NAME_VALUE)键入HASHED TABLE。
为MT_NAME_VALUE分配导出参数,
METHOD get_mt_name_values。 et_name_value = me-> mt_name_value。 ENDMETHOD。
然后在程序中调用GET_MT_NAME_VALUES,
类型: 开始于s_name_id_value, id TYPE if_fdt_types => id, 名称TYPE abap_parmname data_object_type TYPE if_fdt_types => data_object_type, 值TYPE REF TO数据, value_set TYPE abap_bool, s_name_id_value的结尾。 类型: t_name_id_value s_name_id_value类型的哈希表 具有唯一键名称。 数据:t_name TYPE t_name_id_value。 数据(lo_fuction)= cl_fdt_factory => if_fdt_factory〜get_instance( )-> get_function('005056A4CCA61ED8A8924F0F3F4F1D98')。 * DATA(lo_context)= CAST cl_fdt_context(lo_fuction-> get_process_context())。 lo_context-> get_mt_name_values(IMPORTING et_name_value = t_name)。
仅此而已。
不错! 感谢您分享答案。
最多设置5个标签!
我找到了解决方法。
CL_FDT_CONTEXT类具有私有属性MT_NAME_VALUE。 我在此属性中找到了参数。
创建一个类增强功能以为此类添加新方法,
为MT_NAME_VALUE分配导出参数,
然后在程序中调用GET_MT_NAME_VALUES,
仅此而已。
不错! 感谢您分享答案。
一周热门 更多>