想学FM系列(20)-SAP FM模块:派生规则推导策略(3)-派生规则推导步骤-派生规则、增强

4.1.4 派生规则

派生规则简单来讲由通过枚举条件的值来推导出目标字段的值。比如已知一个变量作为条件,枚举变量值为:V1、V2……,再枚举出目标变量对等值为:T1、T2……,非常象程序开发语言中的CASE WHEN 语句。

扩大一点来说已知变量和目标变量可以是单个变量也可是变量矩阵(多个变量形成的值矩阵)。同样在系统中派生规则也提供一个”属性”来选择系统响应。例如通过WBS来派生出基金计划程序(注:在定义此步前,需调用函数FMDT_CONVERSION_WBS_INT_TO_EXT来将WBS内部转换了外部编码,此例是将WBS内码转为外码放在字段ZZ_EX_WBS中),见下图

定义:

① 源字段:需要枚举条件字段,可以是多个字段。

② 目标字段:需要枚举目标字段,可以是多个字段。

规则值:定义完成后,可以点击

来录入枚举规则值,见下图

① 点击可把源字段按照起始范围方式来录入

② 录入源字段的值。

③ 录入目标字段的值。

最终结果就是在源记账数据当中,当WBS为X-IDES-STD-46A~X-IDES-

STD-46B时,基金计划程序派生出来为2800-2017-01。

通过例子,很自然的想到由会计科目推导出承诺项目、由成本中心推导出基金中心、由CO中的广义成本对象推导到基金中心等等,并进一步的思考通过会计科目、成本中心、资产编号、广义的成本对象其主数据上相关字段值来推导出基金中心、承诺项目、基金、基金计划程序等账户分配要素。阿基米德说“给我一个支点,我可以撬起地球”,其实我想说“给我逻辑,SAP作为支点,可以把地球推到宇宙,可以把死的推成活的”。

属性:

①-⑤:同步骤类型表格查询中的属性①-⑤的是一样意义,不再重述。

⑥:允许有效期条目维护:选上后,代表本步骤的派生规则在维护录入枚举值时,可以设定其有效的开始日期。

4.1.5 增强

增强,这是派生规则步骤类型中一种特殊的步骤,它是在推导过程中加入一个增强代码点,用户可在此加入自己的逻辑代码,来实现用户逻辑推导后的目标数据,往往在现有派生步骤类型不能正确推导出或是推导过程太复杂才会使用到。注意:不是所有的派生规则推导都提供增强步骤类型。

定义:

① 源字段:定义要传到到增强代码中的源字段。定义后该字段的值会传到增强代码中,没有定义的字段,其值不会传入到增强代码中。

② 目标字段:定义增强代码要输出的字段。定义该字段后,在增强代码通过逻辑计算后,可以将该字段的值输出返回到推导步骤中目标字段里,没有定义的字段,其值不会返回到推导步骤中去。

属性:

① -⑤:同步骤类型表格查询中的属性①-⑤的是一样意义,不再重述。

⑥用户定义的步骤ID:可以为增强步骤指定一个用户标识,此标识值用在增强

代码中,通过此标识来代表此步骤然后可以写出相应的逻辑代码。可参见下面的代码例子。

代码:

点击

,可进行增强代码的编写。需要注意在编写代码前,需要把增强步骤类型使用的增强组件激活(事务码CMOD),激活后可以看到该组件是激活状态如图

,如果为红灯,则表示增强组件没有激活。例如记账地址的派生规则策略推导,使用的组件为SAPLFMDT,激活后可以在其出口函数中EXIT_SAPLFMDT_001中的包含文件里ZXFMDTU01写入代码,例如下:

未完待续...

原文发布于微信公众号 - SAP最佳业务实践(sztunxi)

原文发表时间:2017-04-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CreateAMind

pytorch初体验

一部分的内容在2017年1月18日Facebook发行的PyTorch相比TensorFlow、MXNet有何优势? - 罗若天的回答 - 知乎 已有。

13310
来自专栏SimpleAI

令人困惑的TensorFlow【1】

我叫 Jacob,是 Google AI Resident 项目的研究学者。我是在 2017 年夏天加入该项目的,尽管已经拥有了丰富的编程经验,并且对机器学习的...

11420
来自专栏数说工作室

【SAS Says】基础篇:update、output、transpose以及相关的数据深层操作

特别说明:本节【SAS Says】基础篇:update、output、transpose以及相关的数据深层操作,用的是数说君学习《The little SAS ...

40260
来自专栏阮一峰的网络日志

贝叶斯推断及其互联网应用(三):拼写检查

(这个系列的第一部分介绍了贝叶斯定理,第二部分介绍了如何过滤垃圾邮件,今天是第三部分。) 使用Google的时候,如果你拼错一个单词,它会提醒你正确的拼法。 比...

424120
来自专栏华章科技

令人困惑的TensorFlow!谷歌大脑工程师帮你解决麻烦

导读:虽然对于大多数人来说 TensorFlow 的开发语言是 Python,但它并不是一个标准的 Python 库。这个神经网络框架通过构建「计算图」来运行,...

17630
来自专栏吉浦迅科技

DAY38:阅读存储器修饰符

11630
来自专栏swag code

编程:判断一个数是否是奇数?(93.7%的人会写错)

看似是对的,但是每执行四次(四分之一错误)便会有一个错误的结果(用数据说话)。考虑到负奇数的情况,它除以2的结果就不会是1。因此,返回值是false,而这样是不...

9540
来自专栏大数据文摘

你的数据科学python编程能力过关吗?看看这40道题你能得几分

17430
来自专栏机器之心

令人困惑的TensorFlow!

我叫 Jacob,是 Google AI Resident 项目的研究学者。我是在 2017 年夏天加入该项目的,尽管已经拥有了丰富的编程经验,并且对机器学习的...

15730
来自专栏Golang语言社区

麻将游戏数据结构和AI算法

用休息时间零零散散写完了网络麻将游戏,感觉其中有不少值得记录的东西。 基础数据结构     数据结构确定决定了程序的开发难易程度,就像是游戏的骨架,对于电脑AI...

1K20

扫码关注云+社区

领取腾讯云代金券