问题描述:由于十六进制字符导致数据加载失败症状:在标准DSO中激活失败根本原因/调查(说明调查和复制的步骤):
BW/BI系统有多源系统。因此,如果在源系统中维护数据时,用户可能会输入特殊字符以突出显示特定字段或本地语言单词,那么在SAP
解决方法(如果有)中,这些字符将被解释为特殊/未识别或十六进制字符:在源系统中维护正确的数据
关于十六进制字符的神话
通常从事此类ETL的顾问认为#是十六进制字符。但事实是十六进制字符是不允许的本地语言/特殊字符。这些字符在PSA中以#的格式可见。请注意#和十六进制字符都是不同的。
#有十六进制值23,但本地语言中的其他特殊字符将有不同的十六进制值。现在,内部优惠券,如果您正在编写代码来解决这个问题,那么请注意您必须考虑十六进制值而不是"#"。我看到很多顾问都在编写代码来消除#并导致解决方案无法克服的情况。
1。更正源系统中的数据
我们可以与用户共享允许字符列表,大数据是什么概念,并要求用户在维护描述或主数据的同时使用列出的字符。我们还可以改变源数据,积分返现,以便在BW中提取正确版本的数据。更改PSA中的数据
修复激活故障的另一种方法是从流中删除特殊字符。DSO激活时不允许使用特殊字符。不会为此类记录分配SID。在DSO–
PSA–持久暂存区是包含源数据副本的临时存储区,通过以下3个步骤加载数据。我已经提到了源数据的副本,轻淘客旗舰版,因为这是BI中的第一级存储,BW中还没有对这些数据执行ETL操作。PSA允许在我们进一步加载之前编辑每个单独的记录。
3.字段例程
在转换中编写字段例程以从流中排除特殊或十六进制字符
a.转到转换
b.选择字段例程
编写例程以替换特殊字符。
编写代码的逻辑–
循环{
如果STRLEN times CN'字符列表'#查找不允许字符的条件
用空格替换字符。
结束if。
}结束循环
#循环计数器将基于字符串长度
4。维护RSKC Tcode中的特殊字符
我们可以在适当的业务批准后维护RSKC Tcode中所有必需的字符。
请注意–我们只能维护RSKC中的特殊字符,云服务器购买,不能在RSKC中维护十六进制字符,因为十六进制字符不能通过标准查询键盘输入。
如果您在RSKC中维护#这并不意味着你保持了十六进制字符的值。十六进制字符在PSA中仅解释为"#"。
结论–
取决于个人选择方法来克服BW ETL中的特殊字符问题。