目录
1.从flatfile加载层级的处理
2. 从ERP数据源抽取区间层级到BW
2.1 在ERP中的层级数据源
2.1.1 PSA格式和IDoc格式的区别
2.1.2 怎么查看Interval的字段
2.1.3 如何在S4里查看层级数据源结构
2.1.4 关于时间相关层级date to和date from
1.从flatfile加载层级的处理
层级文本文件已经建好了。
首先,得有个能接层级的infoobject:
创建层级类型的数据源:(或者属性类型也可以,一样能抽上来)
在extraction里面填上文件地址,数据分隔的符号。创建示例文件会有层级的结构。
Fields里面会有层级的格式:层级抬头,层级描述,层级结构,层级文本,层级区间。
创建层级header:(这里可以创建不止一个,多个层级用多个DTP来加载就行了)
在数据源里会有创建层级名和ID的。一个数据源对应一个或多个层级ID 。
创建转换和DTP。转换里会有不同的segment。
在层级抬头里,把层级名映射。这个就是我们一开始创建的层级抬头。
在层级结构里,映射层级的树形结构。NODENAME是要map到对面的Name和你的infoobject上面的。
创建DTP,需要填之前创建的层级抬头。这样就可以把层级抽进BW系统里。
2. 从ERP数据源抽取区间层级到BW
2.1 在ERP中的层级数据源
随便找两个层级看:
左边S4,右边ECC。
extractor变了。
同时这个数据源的transfer method也改了。PSA和IDOC,以前是只有IDOC。
那么PSA格式和IDoc格式有什么区别啊?
比较Node的segment:
S4的里面多了一个字段:FIELDNM
Interval的里面也多了一个字段。KOSTL 也就是cost center。 我们例子举的就是cost center的层级。
2.1.1 PSA格式和IDoc格式的区别
主要看Node的结构里面的字段是否包含FIELDNM 或 IOBJNM和NODENAME。
如果只包含FIELDNM,就是个PSA格式。
如果只包含IOBJNM和NODENAME,那就是个IDoc格式。
如果都包含,那就是例子里的支持PSA和IDoc的格式。
但是问题是,就算支持两种格式,最后我们用到BW里也只能用一种。怎么个用法呢?
IDoc格式的两个字段在node structure里需要做下面的映射。(FIELDNM就留空)
同时两个compounding的字段都是从NODENAME split出来的。那个小树的传输方式代表Hierarchy split。
而PSA格式的映射如下:
NODENAME给了HIERNODE,而FIELDNAME就给了IOBJNM。小树是获取层级对象。
两种方式,选用其一。
2.1.2 怎么查看Interval的字段
interval这个segment 5里面,S4的数据源就会多了一个字段比如,KSTAR这个就是代表的to value。
我们抽取到BW会看见是这种的:
如果你用FIELDNM这个PSA格式,那么要在structure里面搞好映射。不搞会出现错误。
在interval里也别忘了要搞映射。不搞会出现错误。
才能把数据interval提过来咯,IDoc也是同理。
那么怎么查看interval的数据呢?report:RODPS_REPL_TEST 选一个。
在$T_ELEMENTS里面,不在interval里面。
interval打了X的,是个from node。这里没有to node。to node在segment 5里面。
到这里肯定都还是稀里糊涂的。为什么要在这里看呢,怪麻烦的。
不如直接去RSA3去看。但是当你去看RSA3的segment 5, 会有个疑惑的点。
这个interval区间里,有个leaf from和leaf to,还有个最后的cost element的字段。现在我们是知道这个cost element是to value。
但是BW里面没有对应的字段:只有个NODEID。cost element是个to value。可是NODEID是个什么鬼?看起来好像leaf from 和 leaf to这两个没有被拿过来啊?
这种就是系统行为,看起来很奇怪。但是这个NODEID 其实抓取的是 source的segment 3的NODE的值。Segment 3的里面是个from value的值。
然后还有一个很常见的在IDoc格式的层级抽取中,要在start routine里面用代码:这个代码是默认带的,你要自己去uncomment: 重置interval的nodes。 把segment 5的from value拿到sement 3里面去。别跟上面的搞混了,这个是从BW的里面拿的。
回到ERP里,在RODPS_REPL_TEST里面是能看到from value的值的。如果想在BW里面看到from value的值。那么执行DTP的时候,勾选个临时存储,然后在里面看两个部分:
hierarchy structure里面能看到interval 打了X的from value。
to值在这里。这也跟上面的代码对上了。
2.1.3 如何在S4里查看层级数据源结构
不用RSA3,因为对大数据量的层级展示不友好。用report RSA1HCAT 查看BW层级抽取, 或者用 RODPS_REPL_TEST(见上节)
2.1.4 关于时间相关层级date to和date from
就不管它是不是时间相关的。即使没有给时间相关打钩。那这个字段应该是有的。
不过由于没有勾选时间相关,所以在BW里面是没有的。也别疑惑。没有就不用好了。
如果想用时间相关层级,那肯定不是用这个数据源,得找替代数据源。