获取"选择选项"的参考值到范围表

2020-09-29 17:29发布

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

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


你好大师,

有人知道为什么我不能将选择选项引入范围表吗?

示例:

类型:ty_r_matnr matnr的类型范围。

 数据:lv_matnr TYPE matnr,
       lr_matnr类型参考ty_r_matnr。

 选择选项:s_matnr用于lv_matnr。


 选择屏幕输出时。

   将s_matnr []引用到lr_matnr中。

此先前的代码无法编译。

非常感谢!,

Eloi

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

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


你好大师,

有人知道为什么我不能将选择选项引入范围表吗?

示例:

类型:ty_r_matnr matnr的类型范围。

 数据:lv_matnr TYPE matnr,
       lr_matnr类型参考ty_r_matnr。

 选择选项:s_matnr用于lv_matnr。


 选择屏幕输出时。

   将s_matnr []引用到lr_matnr中。

此先前的代码无法编译。

非常感谢!,

Eloi

付费偷看设置
发送
6条回答
我是小鹏鹏啊
1楼 · 2020-09-29 18:07.采纳回答

我倾向于认为您发现了一个错误。 您的程序应该如上所述运行。

我按如下进行测试:

数据编号TYPE i。
 类型:线型的开始,
          标志TYPE C LENGTH 1,
          选项TYPE C LENGTH 2,
          像号一样低
          像LIKE号码一样高
        END OF线型。

 数据范围1像数字范围。
 数据范围2 TYPE TABLE OF线型。
 数据范围3类型表,带标题行。
 选择选项seltab for数字。

 数据dref1喜欢参考范围1。
 数据dref2喜欢参考范围2。
 DATA dref3,例如REF TO range3 []。
 像seltab []一样的数据dref4。

 "获取seltab []的引用到dref1中。"语法错误
 "获取seltab的引用[]进入dref2。"语法错误
 "获取seltab []的引用到dref3中。"语法错误
 将seltab []引用到dref4中。  "好

 dref1 = dref4。  "好
 dref2 = dref4。  "好
 dref3 = dref4。  "好

 BREAK-POINT。
 

由于您可以通过向上转换为ranges表的引用变量将引用分配给seltab的表主体,因此这也应直接与GET REFERENCE一起使用。

B.t.w。,不是因为标题行。

 DATA itab1类型表。
 带有表头行的scarb数据itab2类型表。

 数据dref1类似于itab1。
 DATA dref2类似于对itab2 []的引用。

 将itab2 []引用到dref1中。  "好
 将itab2 []引用到dref2中。  "好

 

我将向内核开发报告该异常行为。

感谢您进行通知。

渐行渐远_HoldOn
2楼-- · 2020-09-29 18:19

我可以重现ABAP 7.31和7.40中的错误( 后者的内核742)。

愤怒的猪头君
3楼-- · 2020-09-29 18:08

Hi:

您遇到的问题是lr_matnr是ty_r_matnr类型,这是一个结构而不是表,因此您尝试分配引用 一张表....):p

应该做到这一点:

类型:ty_r_matnr类型的ty_t_matnr类型表

数据:lr_matnr类型引用 对ty_t_matnr

最好,

安托万

huskylover
4楼-- · 2020-09-29 18:12

是的,有点令人困惑。

向上和向下进行转换是有作用的,因为数据引用变量的分配与对象引用变量的分配完全一样。 而且,由于我们只有一种"通用"类型DATA用于数据引用,因此对于可分配的数据引用变量,所有其他类型必须完全相同(请记住,即使来自不同继承树的类的对象引用变量也无法分配, 具有完全相同的组件。)

此设计决策可能会令人怀疑,数据引用的强制转换也可能是其他事情,但这就是事实。

Baoming ROSE
5楼-- · 2020-09-29 18:19

问题 看起来,尽管组成部分相同,但范围表的类型和选择表的主体却被认为是不同的。

明天我会调查的。 因为根据 http://help.sap.com/abapdocu_751/ zh_cn/index.htm?file = abenconversion_references_data.htm 和GET REFERENCE的文档可能希望它能正常工作。

独立于此的

像seltab []一样的数据dref应该可以工作。

亦是此间程序员
6楼-- · 2020-09-29 18:10

您说得对,我的错... TYPE RANGE OF声明了一个表...似乎自从一开始我就弄错了....感谢您提供解决方案Horst。

一周热门 更多>