如何使用ABAP中内部表的CL_ABAP_ELEMDESCR获得精度为16的数据类型DF16_RAW?

如何使用ABAP中内部表的CL_ABAP_ELEMDESCR获得精度为16的数据类型DF16_RAW?,abap,Abap,我有DF16_RAW的内部类型A和E用于DF34_RAW,现在在运行时,我正在为它创建一个动态表,我希望数据类型DF16_RAW和DF34_RAW具有基于内部类型的指定精度。我的代码如下: CASE WA_COL-INTTYPE. WHEN 'A'. LO_DESCR_RESULT = CL_ABAP_ELEMDESCR=>GET_DECFLOAT16( ). WHEN 'E'. LO_DESCR_RESULT = CL_ABAP_ELEMDES

我有
DF16_RAW
的内部类型
A
E
用于
DF34_RAW
,现在在运行时,我正在为它创建一个动态表,我希望数据类型
DF16_RAW
DF34_RAW
具有基于内部类型的指定精度。我的代码如下:

CASE WA_COL-INTTYPE.
          WHEN 'A'.  LO_DESCR_RESULT = CL_ABAP_ELEMDESCR=>GET_DECFLOAT16( ).
          WHEN 'E'.  LO_DESCR_RESULT = CL_ABAP_ELEMDESCR=>GET_DECFLOAT34( ).

在这里,我想获得具有指定精度的数据类型。我不知道该怎么做?

变量的某些部分特定于ABAP字典a.k.a.“DDIC”(搜索帮助等)。如果要创建一个包含ABAP字典特定信息的变量,则必须引用DDIC中的元素(即数据元素或表/结构组件),然后使用:

lo_descr_result = cl_abap_typedescr=>describe_by_name( 'DDICdataelement' ).


为什么要使用“java”和“database”标记?您无法创建具有所需精度的类型,DF16_RAW具有固定精度,并且无法更改。如果您的数据库字段具有DF34_RAW精度,并且您只收到DF16_RAW,则smth与您的程序和/或数据库错误,而与ABAP RTTS错误。感谢您的回复,但我得到以下错误:函数方法的结果类型无法转换为LO_DESCR_结果类型。LO_DESCR_result的类型在sap表中,我有df34_原始格式的数据,精度为34,但在运行时,在动态表中存储时,它的精度仅为16。@ompalshekhawat我猜您关于该类型的第一个问题现在已经解决,正如我所看到的,你可以做得更进一步,如你的第二张照片所示question@ompalshekhawat事实上,我误解了你最初的问题,你需要调试你的程序。此外,您测试了大写的“A”和“E”,而十进制浮点数的内部值是小写的“A”和“E”,所以这可能回答了您的问题。
lo_descr_result = cl_abap_typedescr=>describe_by_name( 'DDICtablestruct-Component' ).