手机版

当前位置:主页 > 云主机 > 技术博客 >

专属服务器_腾讯云盘下载_超低折扣

时间:2021-09-28 15:02:08|来源:欧普曼云|编辑:欧普曼云|点击:

专属服务器_腾讯云盘下载_超低折扣

你知道这个吗?您经常使用SAP的功能模块(例如,非常有用的开始时间)。但每次插入时,都会生成半页的代码,参数不接受语法检查,并且不支持内联数据声明。

在方法中使用相同的功能会方便得多,不是吗?

所以我创建了一个包装器方法。但是把它放在哪里呢?一年后,我想很容易找到它,我希望我的同事也能找到它。我的方法是:

我创建了一个专门用于SAP功能的OO包装器的包打电话。然后呢,我创建了将类似包装器放在一起的类。"相似"的一个标准可能是SAP函数所在的函数池。

实际上,我的包是这样的:

包装器本身的编码非常简单:

只需创建一个连贯的接口(使用非泛型类型参数)并调用函数。

我希望您能理解!我想看看你对此的评论。你有不同的方法吗?

非常感谢

嗨,J?rg,

我们做了一些类似的事情,原因有很多:

-更容易找到经常使用的FMs

-对于单元测试,更容易有一个模拟对象

-语法更适合于方法。

我还建议添加错误消息,云服务器报价,有时FM中只会出现一些消息(调用函数-参数列表-ABAP关键字文档)没有异常。

彼得

加上:

-可以澄清接口(表语句的预期用途:输入、输出、更改),在可行的情况下引入返回参数,并在自己的首选命名约定中对参数进行编码…

-将经典异常映射到自己的OO异常

-请放心,如果SAP更改或不推荐该对象,您需要立即进行的更改很可能是包装方法,而不是应用程序中的x位置

在我们的指导方针中,为SAP函数构建包装类是应该(而不是必须)的;我们每个函数组做一个类。

什么是一个正确的方法来将FM异常映射到基于类的异常,而不必声明100个ZCX类,返利机器人,每个FM的每个异常对应一个?我已经找到了一个很好的解决方案,但是还没有找到一个真正合适的方法…

你可以为整个函数组创建一个异常类,为每个经典的异常创建文本ID.

我们只是为每个有很多文本ID的函数组创建ZCX,不管有没有把原始的信息传递给他们,我都没有考虑太多。这不是很"干净"或优雅,太多的文本ID使ZCX"混乱",但至少可以添加一些有用的信息为经典异常提出没有消息。

我不知道错误消息-谢谢你突出它,这将是非常有用的!

您好,

您如何处理那些有时非常长的功能模块参数列表?你是为它创建一个结构还是一个对象?否则方法调用也有很长的参数列表,当然还有前面提到的优点。

Tapio

取决于sapfm是否有可选参数。如果它们是可选的,则不必提及。如果它们不是可选的。。。好吧,你真的没有选择,每日返利,你也会有一个很长的参数列表。

不管怎样,使用较短形式的方法调用,它看起来仍然更短更紧凑:

zcl\u util=>method1(i\u par1=lv\u par1

i\u par2=lv\u par2

i\u par3=lv\u par3)。

你还必须看看在系统的大多数情况下模块是如何使用的。例如,我们经常用登录语言读取文本,大数据分析网站,所以我创建了一个read\u文本包装器,它使用SY-LANGU作为TDSPRAS的默认值,所以在大多数情况下可以省略这个参数。通常,不需要可选参数,所以我不将它们包含在包装器接口中。

我不喜欢将这些参数组合在结构或对象中。它使编码不那么清晰

嗨,物联网的,约格,

典型的咨询答案是,这取决于!

如果您有像BAPI\U ACC\U DOCUMENT\U POST这样的功能模块,参数列表很长,但是都形成了一个会计单据,我觉得形成一个对象或者结构的会计单据更清晰,比如

DOCUMENT=>POST(会计单据)

您怎么看?

塔皮奥

没错。但是BAPI调用不在我的方法的范围之内。我写了一些常用的实用程序,比如START\u TIME\u DETERMINE或KNA1\u SINGLE\u READ,你时不时会用到这些实用程序。

复杂的模块作为BAPI需要更多的投入,在这里你是绝对正确的。

还有一个最初编写类的痛苦,但是我认为可以通过使用函数模块RFC\u GET\u function\u INTERFACE来获得函数模块接口,然后使用ABAP程序编写类和方法定义,该程序也将应用一致的规则。然后可以使用SE24上传这些??

丰富

你是说一种包装器生成器?那就太复杂了。让我知道,当你准备好分享编码…

嗯…。我不认为它会那么复杂。你有功能模块的TfDir,从功能模块名称派生出功能组-然后你可以使用它对所有FM进行分组。

使用我概述的功能模块获得功能模块接口,为从FM接口派生的方法定义创建两个包含文本的表,另一个包含FM调用。对于定义,您可以根据一些规则来按摩参数名称。

然后是第三个包含类statement的表。将第一个定义表附加到它和end类,然后是实现语句,然后是第二个表,并将整个批输出到一个文本文件中。

唯一的手动位是将它们返回到SAP中。我认为SE24或SE80有一个模块模式,而不是视觉模式。从文本文件中剪切并粘贴到创建的文件中类文件。

然后你可以把注意力集中在"特殊情况"上,比如上面提到的阅读文本。

Copyright © 2020-2021 深圳市飞博可科技有限公司 版权所有 备案号:粤ICP备17063389号