为什么要使用过时的语法?

2020-08-21 17:30发布

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

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


问候,专家! 我是SAP的初学者。

我现在正在学习ALV,而这个问题困扰了我几个小时:(

我正在使用下面的功能

数据LT_FIELDCAT类型KKBLO_T_FIELDCAT。

呼叫功能'K_KKB_FIELDCAT_MERGE'
导出
I_CALLBACK_PROGRAM = SY-REPID
I_TABNAME = 'GT_DISPLAY' = SY-REPID
I_BYPASSING_BUFFER = ABAP_TRUE
更改
CT_FIELDCAT = LT_FIELDCAT
例外情况
INCONSISTENT_INTERFACE = 1
其他= 2。

我的问题是

为什么我要用" OCCURS 0"声明" GT_DISPLAY"

我尝试了三种选择

1。 TYPE TABLE OF

的类型

2。 声明结构和类似表

3。 发生次数0

为什么只有3号才能使用该功能?

我知道'OCCURS 0'是一个过时的语法,但是为什么该函数只接受3号?

在这种情况下,是否还有其他功能或语法?

谢谢!

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

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


问候,专家! 我是SAP的初学者。

我现在正在学习ALV,而这个问题困扰了我几个小时:(

我正在使用下面的功能

数据LT_FIELDCAT类型KKBLO_T_FIELDCAT。

呼叫功能'K_KKB_FIELDCAT_MERGE'
导出
I_CALLBACK_PROGRAM = SY-REPID
I_TABNAME = 'GT_DISPLAY' = SY-REPID
I_BYPASSING_BUFFER = ABAP_TRUE
更改
CT_FIELDCAT = LT_FIELDCAT
例外情况
INCONSISTENT_INTERFACE = 1
其他= 2。

我的问题是

为什么我要用" OCCURS 0"声明" GT_DISPLAY"

我尝试了三种选择

1。 TYPE TABLE OF

的类型

2。 声明结构和类似表

3。 发生次数0

为什么只有3号才能使用该功能?

我知道'OCCURS 0'是一个过时的语法,但是为什么该函数只接受3号?

在这种情况下,是否还有其他功能或语法?

谢谢!

付费偷看设置
发送
4条回答
Nir深蓝
1楼 · 2020-08-21 17:42.采纳回答

您必须使用过时的语法,因为K_KKB_FIELDCAT_MERGE是过时且未发布的功能模块。

如果使用CL_SALV_TABLE,则不需要K_KKB_FIELDCAT_MERGE。

空代码
2楼-- · 2020-08-21 17:39

I 意思是:如果您要使用过时且未发布的功能模块K_KKB_FIELDCAT_MERGE,则需要遵守其过时的规则,这意味着使用过时的ABAP语言构造(注意:抱歉,我找不到办法说它 比我的第一个答案要好)。

粗暴的香蕉
3楼-- · 2020-08-21 17:34

您好 Yeedo Jang

尽管这里并不是完全令人满意的答案,但是"因为SAP是通过K_KKB_FIELDCAT_MERGE来实现的。

基于内部表构建字段目录并不是最佳选择。它需要读取和分析函数 您的报告的ABAP代码以及当前所面临的一些限制。

一个更好的选择是在数据字典中定义一个结构,即SE11事务。 使用该结构声明具有"新"语法的内部表,并使用该结构构建字段目录。

HTH,BR

Dominik Tylczynski

小c菟菟
4楼-- · 2020-08-21 17:44
< p>谢谢你多米尼克的回答。 这非常有帮助!

一周热门 更多>