闲散案例分析--未取名(损益表中国家字段来源于公司的导航属性,公司有组件client,但是有固定大区权限的人可以看到其他国家信息)

事情是这样子的:
哈哈哈。????头大。算了我起名叫头大好了。
我一天到晚都头大。

1. 问题描述

有个损益表嘛,行里面有各种损益类的账户,列里面有当前值,预算值,当月,年度,预测月度等等的。
我就选了几个损益账户,看起来是这样的:
闲散案例分析--未取名(损益表中国家字段来源于公司的导航属性,公司有组件client,但是有固定大区权限的人可以看到其他国家信息)

然后呢,*特性里面肯定得有company,cost center, profit center这种跟公司架构有关的信息了。
当然,用户查看报表的权限设置呢,也是由company啊,cost center啊, profit center啊这三个的客户出口变量限定的。
闲散案例分析--未取名(损益表中国家字段来源于公司的导航属性,公司有组件client,但是有固定大区权限的人可以看到其他国家信息)
这个就暂时不管了。建用户的时候人家提供的啥权限,咱就配的啥权限,然后取的啥对应值。
也就是说,你如果是美洲的用户,那你能看到的company code就只能是美洲所有国家的company code。

company code呢,有个导航属性,是country。
country这个就是跟着company code来的。client+company code就唯一确定了这个country。因为有时候不同国家的company code吧,是一样的。只能把client作为一个组件,然后来确定这个country。

好嘛,现在问题来了。问题是,这个美洲的客户,他看美洲区域的时候,竟然看到了欧洲的国家。
闲散案例分析--未取名(损益表中国家字段来源于公司的导航属性,公司有组件client,但是有固定大区权限的人可以看到其他国家信息)
那这个德国哪里来的?权限控制没问题的。

2. 解题思路

这种要怎么分析呢?

2.1 从主数据角度分析(标题乱取的)

首先,由以上得知,country是跟着company code来的。是company code的属性。
那把company code也拉出来看下。
先看下country和company code的关系。
闲散案例分析--未取名(损益表中国家字段来源于公司的导航属性,公司有组件client,但是有固定大区权限的人可以看到其他国家信息)
看的时候又发现了,除了country是它导航属性,还有另外一个0company。

看下转换:
闲散案例分析--未取名(损益表中国家字段来源于公司的导航属性,公司有组件client,但是有固定大区权限的人可以看到其他国家信息)

这个0Company再来看下:
只有文本和层级,没有属性,那就是都是从company code过来的。
闲散案例分析--未取名(损益表中国家字段来源于公司的导航属性,公司有组件client,但是有固定大区权限的人可以看到其他国家信息)
0country呢:
也没有属性表,那也是从company code来的。
闲散案例分析--未取名(损益表中国家字段来源于公司的导航属性,公司有组件client,但是有固定大区权限的人可以看到其他国家信息)
再选定德国,展开数据来看下:
闲散案例分析--未取名(损益表中国家字段来源于公司的导航属性,公司有组件client,但是有固定大区权限的人可以看到其他国家信息)
既然country和company都是从company code的属性表来的。
那我们去看company code的主数据:
闲散案例分析--未取名(损益表中国家字段来源于公司的导航属性,公司有组件client,但是有固定大区权限的人可以看到其他国家信息)
主数据就是这样的,问题应该不在这里,我觉得权限没问题。
但是再验证下,去看company的层级。
因为用户是从Company的权限层级进来的。
就是在客户出口那里:
闲散案例分析--未取名(损益表中国家字段来源于公司的导航属性,公司有组件client,但是有固定大区权限的人可以看到其他国家信息)
很简单,就是取原先他给的权限表里的公司。我知道他的权限,然后这个0COMPANY用的哪个层级都在权限表里。
闲散案例分析--未取名(损益表中国家字段来源于公司的导航属性,公司有组件client,但是有固定大区权限的人可以看到其他国家信息)
我来看这个0COMPANY的层级,问题有了:
闲散案例分析--未取名(损益表中国家字段来源于公司的导航属性,公司有组件client,但是有固定大区权限的人可以看到其他国家信息)
017906这个company就在这个Americas的region下面。
由于这个人有的权限是region America。

那么,他来看表的时候,就会看到017906这个company的。
而在company code里面,company code对应的主数据显示017906的对应的country是德国。

行了,是ERP的问题。
让我们在company的层级里面做了修改。
但是主数据又没改。

这锅我们不背。

2.2 从交易数据角度分析

好了,这个没了。
我本来以为问题不会出现在主数据上,我以为是交易数据。因为只有一列计算值是这个不该出现的国家。
我还想分析下这个列上的值的逻辑。。。