替代" CL_ABAP_ELEMDESCR => GET_DECFLOAT34()"吗?

2020-09-16 06:18发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在使用数据类型DF34_RAW和DF34_DEC,这是n75框支持的,但g00框不支持。 我有一个代码来获取DF34_RAW和DF34_DEC的对象类型,例如:


数据:LT_DATA_TRANS TYPE REF DATA,
DY_LINE_TRANS TYPE REF DATA,
STR_TYPE_TRANS TYPE REF到CL_ABAP_STRUCTDESCR,
TAB_TYPE_TRANS TYPE REF到CL_ABAP_TABLEDESCR,
LO_DESCR_TR_TYPE LT_COMP_TRANS TYPE CL_ABAP_STRUCTDESCR => COMPONENT_TABLE,
类似于LT_COMP_TRANS的LA_COMP_TRANS线。

字段符号: TYPE STANDARD TABLE,
TYPE> DYN TYPE

LO_DESCR_RESULT = CL_ABAP_ELEMDESCR => GET_DECFLOAT34()。

LA_COMP_RESULT-NAME ='ANY_NAME'。
LA_COMP_RESULT-TYPE = LO_DESCR_RESULT。 "不应该为空
APPEND LA_COMP_RESULT到LT_COMP_RESULT。

STR_TYPE_RESULT = CL_ABAP_STRUCTDESCR =>创建(P_COMPONENTS = LT_COMP_RESULT P_STRICT = ABAP_FALSE)。

*创建动态表类型
TAB_TYPE_RESULT = CL_ABAP_TABLEDESCR => CREATE(P_LINE_TYPE = TABLEKIND_STD
P_UNIQUE = ABAP_FALSE)。
*创建动态内部表
CREATE DATA LT_DATA_RESULT TYPE HANDLE TAB_TYPE_RESULT。 用于遍历内部表的类型。
创建数据DY_LINE_RESULT类似的行。

这对于n75来说工作正常,但我想对g00框使用相同的代码,但是在g00框中不允许

LO_DESCR_RESULT = CL_ABAP_ELEMDESCR => GET_DECFLOAT34()。

因为在g00框的CL_ABAP_ELEMDESCR类中不存在方法GET_DECFLOAT34()。

是否有其他方法或方式可以为DF16_RAW和DF34_DEC类型提供对象。 还是有其他方法创建数据类型为DF16_RAW和DF34_DEC的动态表?

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在使用数据类型DF34_RAW和DF34_DEC,这是n75框支持的,但g00框不支持。 我有一个代码来获取DF34_RAW和DF34_DEC的对象类型,例如:


数据:LT_DATA_TRANS TYPE REF DATA,
DY_LINE_TRANS TYPE REF DATA,
STR_TYPE_TRANS TYPE REF到CL_ABAP_STRUCTDESCR,
TAB_TYPE_TRANS TYPE REF到CL_ABAP_TABLEDESCR,
LO_DESCR_TR_TYPE LT_COMP_TRANS TYPE CL_ABAP_STRUCTDESCR => COMPONENT_TABLE,
类似于LT_COMP_TRANS的LA_COMP_TRANS线。

字段符号: TYPE STANDARD TABLE,
TYPE> DYN TYPE

LO_DESCR_RESULT = CL_ABAP_ELEMDESCR => GET_DECFLOAT34()。

LA_COMP_RESULT-NAME ='ANY_NAME'。
LA_COMP_RESULT-TYPE = LO_DESCR_RESULT。 "不应该为空
APPEND LA_COMP_RESULT到LT_COMP_RESULT。

STR_TYPE_RESULT = CL_ABAP_STRUCTDESCR =>创建(P_COMPONENTS = LT_COMP_RESULT P_STRICT = ABAP_FALSE)。

*创建动态表类型
TAB_TYPE_RESULT = CL_ABAP_TABLEDESCR => CREATE(P_LINE_TYPE = TABLEKIND_STD
P_UNIQUE = ABAP_FALSE)。
*创建动态内部表
CREATE DATA LT_DATA_RESULT TYPE HANDLE TAB_TYPE_RESULT。 用于遍历内部表的类型。
创建数据DY_LINE_RESULT类似的行。

这对于n75来说工作正常,但我想对g00框使用相同的代码,但是在g00框中不允许

LO_DESCR_RESULT = CL_ABAP_ELEMDESCR => GET_DECFLOAT34()。

因为在g00框的CL_ABAP_ELEMDESCR类中不存在方法GET_DECFLOAT34()。

是否有其他方法或方式可以为DF16_RAW和DF34_DEC类型提供对象。 还是有其他方法创建数据类型为DF16_RAW和DF34_DEC的动态表?

GET_DECFLOAT34()"吗?" id="ans_title" name="title">
付费偷看设置
发送
2条回答
哎,真难
1楼-- · 2020-09-16 06:23

Hello Ompal

从7.0版EhP2开始,ABAP中引入了

decfloat16和decfloat34。

您无法在低于7.0版EhP2的系统上安装它们。

因此,如果需要它们,则必须将g00升级到更高版本。


致谢

汤姆

xfwsx85
2楼-- · 2020-09-16 06:47

我找到了解决方法

" 8"时。 LO_DESCR_RESULT?= CL_ABAP_ELEMDESCR => DESCRIBE_BY_NAME('INT8')。
当为'A'时。 LO_DESCR_RESULT?= CL_ABAP_ELEMDESCR => DESCRIBE_BY_NAME('DECFLOAT16')。
当为'R'时。 LO_DESCR_RESULT?= CL_ABAP_ELEMDESCR => DESCRIBE_BY_NAME('DECFLOAT16')。
当为'E'时。 LO_DESCR_RESULT?= CL_ABAP_ELEMDESCR => DESCRIBE_BY_NAME('DECFLOAT34')。
当为'W'时。 LO_DESCR_RESULT?= CL_ABAP_ELEMDESCR => DESCRIBE_BY_NAME('DECFLOAT34')。

现在我可以在任何系统上编译我的代码了。

感谢的好友

一周热门 更多>