当前位置:主页 > 人工智能 >

中间件_阿里云经典网络_免费6个月

作为一个拥有超过20年经验的开发人员,这是我第一个关于博客.sap.com. 但别让它愚弄了你:我曾经访问过旧的SCN论坛,发过无数次帖子(不是用这个S-id,而是我以前的),噢,我多么怀念旧的咖啡角…

在那些年里,我看到了各种新的解决方案/技术,如DCOM组件连接器、ITS、Webdynpro等等,大数据使用,都是由SAP推出的。我总是努力跟上这些新的发展。

现在我们生活在Hana时代,一个推动代码向下的时代。或者,如果你喜欢:代码到数据的时代。

在我目前的职位上,我参加了2015/2016年可能是荷兰第一次Hana DB迁移。我最初的想法是:很好,我给我买了一些新玩意儿玩。但现实却不同。核心数据服务和ABAP管理的数据库过程:把我吓坏了。我对采用SAP提供的这些新玩具感到不太舒服。因此,我花了将近一年的时间说服自己开始探索我被赋予的可能性。

现在是2018年,在过去的一年里,我"掌握"了CD的艺术,并逐渐变得越来越熟练地使用AMDP。使用cd和AMDP,我解决了Hana上Business Suite和Hana上CAR的许多性能问题。但是有件事一直困扰着我:我没有完全将代码应用到数据概念中。老实说:我没有。当然,很多逻辑都被下推到了数据库中,但应用层仍然有足够的工作要做(否则也可以在数据库中进行处理)。随着我在代码到数据转换方面的第一次成功,将一大块定制开发转换成AMDP,我渴望得到更多的东西。

现在我的任务是开发一个必须进行大量度量单位转换的事务。在Hana之前的世界里,我只使用函数MD\u CONVERT\u MATERIAL\u UNIT。但是这太容易了,而且与我想要实现的目标相反:代码到数据

所以我给我的bff打了个电话Google,找到了两个看起来很有前途的博客:

Tim Korba在HANA中创建数量计量单位转换,

如何…Justin Molenaur实现HANA动态材料计量单位转换

但是这些解决方案依赖于Hana建模的使用,我想要一些易于阅读和实现的东西。所以我继续搜索,发现了两个看起来很有前途的AMDP:

CL\u CS\u BOM\u AMDP=>MAT\u CONVERT\u TO \u BASE\u UOM

CL\u CS\u BOM\u AMDP=>MAT\u CONVERT\u TO \u BASE\u UOM

请注意:我正在使用Netweaver 7.4 SP12在Hana上开发一个商务套件,大数据分析数据库,AMDP的可用性非常有限。

不幸的是,两者都不符合我的要求:它们都将数量转换为物料的基本计量单位。我想要一个返回相同结果的解决方案,比如函数MD\u CONVERT\u MATERIAL\u UNIT。我觉得奇怪的是,SAP还没有一个简单的单位转换解决方案。懒惰已经够多了,交通大数据,现在我已经把心思放在工作上想办法了。

在尝试了几种方法(重写两种方法都找到了AMDP,从头开始写代码)并浪费了几个小时试图找出一个合适的公式之后,我终于想到了。

SAP在示例MM41和MM42中呈现转换规则的方式不是这样的转换规则实际上是如何存储在表MARM中的。表MARM中的每个转换规则始终与基本计量单位有关。即使在打包层次结构(MARM-MESUB)中有较低级别的度量单位,

在GUI中呈现此类转换规则时,您将始终看到到MARM-MESUB的转换规则。

但是表MARM将显示一些不同的内容:

请注意GUI中CS的表示方式和它在MARM中的存储方式之间的区别:始终与基本测量单位有关。

实现了这一点,就不再是一个问题了公式:

换算数量=原始数量*((分母计量单位从/指定计量单位从)/(分母计量单位到/指定计量单位到))

现在我可以写下我非常想要的AMDP,这将给我带来与MD\ U CONVERT\ U MATERIAL\ U UNIT相同的结果,广西大数据,我很乐意分享给任何人从中获利写这个博客很有趣,我希望你能好好利用我写的AMDP。我不知道SAP是否会提供他们的标准AMDP,也会这样做。但在此之前,请将此视为一个很好的替代方案,您可以实现和使用它。

我已与函数MD\u CONVERT\u MATERIAL\u UNIT进行了多次比较,尚未发现任何差异/不正确的结果。也许有人可以破解代码,我很乐意知道,这样我就可以调整代码了。

在发布了这个博客后,我又看了一眼AMDP,决定代码的数量可以少一些。所以这里有一个更新的版本

这个版本使用T006和T006D中计量单位的换算系数。如果由于主数据中没有维护所需的计量单位而导致正常换算失败,对T006和T006D执行另一个转换。但是计量单位从和计量单位到必须是相同的尺寸,并且在主数据中至少保留1个计量单位。

示例:物料A的转换系数为1 PCE=1 KG。现在你可以用单位来计算数量了。即使对不保持。

,wap自助建站

猜你喜欢

微信公众号