云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

游戏服务器_育碧服务器_折扣

小七 141 0

游戏服务器_育碧服务器_折扣

您好,

我想给出一个简单的例子,如何为平面结构的组件使用运行时类型服务(RTTS),新云,并将结构的组件分配给字段符号。如果你通过一个参数将一个结构输入到一个方法中,它的类型是数据,尽管你不知道运行时类型,因此你必须使用字段符号。

让我们从一个简单的例子开始,不要循环所有的结构组件。

这是一个简单测试报告的示例代码,以获得概念:

这个报表基本上只做了以下工作:

1)创建类zcl\u test\u am01的实例

2)给ls\u bseg结构分配一个文本

3)用'SGTXT'设置lv\u comp\u name=>我们想要从中获取值的组件名

4)调用类zcl\u test\u am01的get\u component\u值

5)写gv\u值

这样有趣部分是现在,大数据数据库,淘客公众号系统,该方法得到什么组件组件值:

方法接口:

是结构类型数据结构引用

IV组件名称类型字符串组件名称

值(EV组件值)类型字符串组件值

这个方法也不太多:

1)声明字段符号–不是bseg sgtxt类型!

2)将结构的组件n(动态组件名称)赋值给fieldsymbol(类型数据)

3)检查fieldsymbol是否已赋值如果已赋值ev\U comp\U value获取的值

这个简短的示例基本说明了如何以动态方式获取结构组件。现在,我们在方法中传递了ls\u bseg,并且组件SGTXT存在,因此不需要检查结构组件是否存在。

现在让我们看一下:

我们假设,我们现在没有,什么结构被传递到我们的方法中。因此,我们首先检查结构上存在哪些组件,并检查导入的组件名称是否存在。为此,我们可以使用abap运行时类型服务。这方面的一个很好的文档可以在这里找到——如果它把google移到这个位置的话:"运行时类型服务(RTTS)ABAP"。我们需要检查结构的类型类型(flat=typekind u=typekind\u STRUCT1)。

所以让我们检查一下extende测试报告代码:

只有*第2部分是相关的

再次将ls\u bseg和lv\u comp\u name输入到方法get\u component\u value\u gen中。方法中的代码有一些更改:

以下更改:

使用此语句我们用rtt来描述我们的结构。我们正在检查,结构是扁平的(如果你想要一个更通用的方法,你需要再次以递归的方式调用你的方法,如果它是一个深层结构)。

方法的其余部分保持不变。

使用这种方法,实现方法将非常简单,例如在结构的所有组件上循环,并检查一些条件等等。此外,您还可以重用这样一个通用方法,贵阳大数据,在您的开发中广泛地使用它,大数据分析技术,比如服务/实用程序类。

我希望您喜欢这个文档,其中有一些技巧。感谢您为文档添加书签或评分。我非常感谢您的所有反馈和意见。