2020-09-29 17:29发布
加入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
我倾向于认为您发现了一个错误。 您的程序应该如上所述运行。
我按如下进行测试:
数据编号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中。 "好
我将向内核开发报告该异常行为。
感谢您进行通知。
我可以重现ABAP 7.31和7.40中的错误( 后者的内核742)。
Hi:
您遇到的问题是lr_matnr是ty_r_matnr类型,这是一个结构而不是表,因此您尝试分配引用 一张表....):p
应该做到这一点:
类型:ty_r_matnr类型的ty_t_matnr类型表
数据:lr_matnr类型引用 对ty_t_matnr
最好,
安托万
是的,有点令人困惑。
向上和向下进行转换是有作用的,因为数据引用变量的分配与对象引用变量的分配完全一样。 而且,由于我们只有一种"通用"类型DATA用于数据引用,因此对于可分配的数据引用变量,所有其他类型必须完全相同(请记住,即使来自不同继承树的类的对象引用变量也无法分配, 具有完全相同的组件。)
此设计决策可能会令人怀疑,数据引用的强制转换也可能是其他事情,但这就是事实。
问题 看起来,尽管组成部分相同,但范围表的类型和选择表的主体却被认为是不同的。
明天我会调查的。 因为根据 http://help.sap.com/abapdocu_751/ zh_cn/index.htm?file = abenconversion_references_data.htm 和GET REFERENCE的文档可能希望它能正常工作。
独立于此的
像seltab []一样的数据dref应该可以工作。
您说得对,我的错... TYPE RANGE OF声明了一个表...似乎自从一开始我就弄错了....感谢您提供解决方案Horst。
最多设置5个标签!
我倾向于认为您发现了一个错误。 您的程序应该如上所述运行。
我按如下进行测试:
由于您可以通过向上转换为ranges表的引用变量将引用分配给seltab的表主体,因此这也应直接与GET REFERENCE一起使用。
B.t.w。,不是因为标题行。
我将向内核开发报告该异常行为。
感谢您进行通知。
我可以重现ABAP 7.31和7.40中的错误( 后者的内核742)。
Hi:
您遇到的问题是lr_matnr是ty_r_matnr类型,这是一个结构而不是表,因此您尝试分配引用 一张表....):p
应该做到这一点:
类型:ty_r_matnr类型的ty_t_matnr类型表
数据:lr_matnr类型引用 对ty_t_matnr
最好,
安托万
是的,有点令人困惑。
向上和向下进行转换是有作用的,因为数据引用变量的分配与对象引用变量的分配完全一样。 而且,由于我们只有一种"通用"类型DATA用于数据引用,因此对于可分配的数据引用变量,所有其他类型必须完全相同(请记住,即使来自不同继承树的类的对象引用变量也无法分配, 具有完全相同的组件。)
此设计决策可能会令人怀疑,数据引用的强制转换也可能是其他事情,但这就是事实。
问题 看起来,尽管组成部分相同,但范围表的类型和选择表的主体却被认为是不同的。
明天我会调查的。 因为根据 http://help.sap.com/abapdocu_751/ zh_cn/index.htm?file = abenconversion_references_data.htm 和GET REFERENCE的文档可能希望它能正常工作。
独立于此的
像seltab []一样的数据dref应该可以工作。
您说得对,我的错... TYPE RANGE OF声明了一个表...似乎自从一开始我就弄错了....感谢您提供解决方案Horst。
一周热门 更多>