预算结构简单来讲就是预算和预算消耗间的映射关系。之前已经讲过,预算生成和预算消耗都需要使用账户分配元素来组合进行表达,我们把这叫地址,因此在预算结构里预算生成对应的地址就是预算地址,预算消耗对应的地址就叫记账地址,预算控制对应的地址就叫控制地址。预算结构决定了预算地址和记账地址的映射关系,并提供其地址的有效性检查。
首先充分理解下面这张图:
(1)预算结构维护
在进行预算结构的维护时,先进行预算地址的维护,预算地址维护后,可对记账地址进行维护。记账地址维护时会启动映射的预算地址派生(把这个地址叫索引预算地址,感觉叫这个比较贴切一点),形成记账地址和索引预算地址N:1的关系。当映射的预算地址派生规则没有被配置或是为空,那就形成了记账地址和索引预算地址1:1关系。
索引预算地址在预算结构设置中配置了检查,会启动索引预算地址在已经存在的预算地址中是否存在,如果不存在,则报错。索引预算地址生成后,系统会同时保存记账地址和它的索引预算地址并记录两者关系。
(2)预算生成
预算生成记账时,如果没有预算结构或是有预算结构但版本不检查预算地址,则直接作为预算控制地址(预算源),如果预算地址检查配置为检查时(事务码FMBOSTAT),则会检查该地址是否在预算地址中存在,不存在则报错。在后一种情况下,预算地址中存在的条目,才允许生成预算。
(3)预算消耗记账业务
在预算消耗记账业务发生时(比FI记账、采购订单创建),首先会启动记账地址的派生推导,推导后的记账地址,在无预算结构存在的情况下,记账地址不会被检查,记账地址直接形成预算控制地址(消耗类)。
在有预算结构存在的情况下,预算结构配置为检查记账地址,推导出的记账地址必须在现有记账地址中存在(不存在则会报错),找到现有记账地址后,使用记账地址对应的索引预算地址作为预算控制地址(消耗类)。
在有预算结构存在的情况下,预算结构配置不检查记账地址,如果记账地址不存在,会启第(1)点中的记账地址维护过程,然后将记账地址对应的索引预算地址作为作为预算控制地址(消耗)。
注:关于预算控制地址会在后续的预算控制(AVC)当中展示。
未完待续...