gpt4 book ai didi

parameters - 如何在方法中完全指定返回参数的类型?

转载 作者:行者123 更新时间:2023-12-03 18:17:56 26 4
gpt4 key购买 nike

我有一个方法可以导入结构,从结构中创建一个内部表,然后返回这个表。
我已将其实现为导出方法,但现在我想将其作为返回参数。部分想法是我对直到运行时传递的结构一无所知,所以我使用了大量的泛型。但是,“返回”方法不喜欢泛型。

method Parameters:
Importing struct_data TYPE any
Returning table_data TYPE STANDARD TABLE

method STRUCT_TO_TABLE_R.

FIELD-SYMBOLS:
<f_fs> TYPE any,
<table> TYPE STANDARD TABLE .

DO.

ASSIGN COMPONENT sy-index OF STRUCTURE struct_data TO <f_fs>.

IF NOT sy-subrc EQ 0.
EXIT.
ENDIF.

APPEND <f_fs> TO <table>.

ENDDO.

table_data = <table>.

endmethod.
我需要改变什么来解决这个问题?

最佳答案

也许现在做出正确的回应已经晚了,但我在几分钟前遇到了同样的问题。

为了将内部表作为 RETURNING 参数发送,您需要定义一个在类中完全键入的表。
这是一个类的公共(public)部分的示例代码:

PUBLIC SECTION.
TYPES:
type_table_A TYPE STANDARD TABLE OF T001, //<----- NOT FULLY SPECIFIED
type_table_B TYPE STANDARD TABLE OF T001 WITH DEFAULT KEY. //<---- FULLY SPECIFIED

在标准表方面:

TYPE_TABLE_A 只能作为 EXPORTING、IMPORTING 和 CHANGING 参数的参数。

TYPE_TABLE_B 可用于方法签名中所有可能的参数类型,主要是 RETURNING。

因此,作为一种好的做法,您可以决定声明完全指定的标准表类型。

亲切的问候,

塞萨尔·谢克

关于parameters - 如何在方法中完全指定返回参数的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15300157/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com