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写入代码,例如下:
未完待续...