- 浏览: 358557 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (252)
- struts1.3 (18)
- spring2.0 (6)
- html & Css (30)
- soap (0)
- hibernate3.3.2 (3)
- JQuery1.4 (11)
- wsdl (0)
- Amazon EC2 (3)
- jsp (4)
- myeclipse skill (9)
- linux (1)
- servlet (1)
- english (7)
- Ajax (5)
- 常识 (3)
- 生活 (6)
- 工具 (42)
- 期货 & 外汇 (4)
- tomcat (2)
- ext (1)
- java se (11)
- java ee (1)
- it行业知识 (6)
- plsql developer skill (2)
- apache commons logging (1)
- apache commons HttpClient (1)
- apache commons codec (1)
- windows7 skill (3)
- 数据库设计 (2)
- oracle (5)
- junit (1)
- xStream (2)
- jdom (1)
- dwr (1)
- erp (2)
- javascript (4)
- Base64 (1)
- Ant (0)
- Apache CXF (1)
- 美剧 Friends season one (1)
- 设计模式 (1)
- android (0)
- html5 (0)
- SVN Skill (2)
- FindBugs (1)
- 云计算 (1)
- SAP (35)
- 演讲 (1)
- PMP (1)
- Velocity1.7 struts2.0 (1)
- svn (1)
最新评论
-
hijackwust:
最次的方法,没有之一
让一个工程并存jar包不同版本 -
手写白:
...
让一个工程并存jar包不同版本 -
wqsmd1:
连接不会关,怎么弄
Struts2 + JasperReports4 + DB2 Demo -
tntxia:
楼主,怎么没有放keymaker.jar这个包啊
Aqua Data Studio 破解及解决乱码说明 -
mrsea2010:
楼主,按照你的方法,点击联接,我都不能显示出页面,直接报404 ...
Struts2 + JasperReports4 + DB2 Demo
症状
典型的非法字符错误的出错信息是:
BRAIN070, BRAIN060, BRAIN 290
Value ‘…’ (hex. ‘…’) of_characteristic … contains invalid_characters
No SID found for value ‘…’ of_characteristic …
等等。 总之,这类错误的错误消息都比较清楚,很容易判断是因为非法字符引起的。
什么是invalid_characteristics?
默认情况下,BW只允许以下的字符以及空格:
!"%&'()*+,-/:;<=>?_0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
除此之外的字符都会被视为非法字符。
以下列举一些比较典型的非法字符:
1. 小写字母:如果IO没有勾选Lowercase,则小写字母都是非法字符
2. 货币符号
3. #: 这个是最特殊的非法字符。首先“#”本身默认是非法字符。同时,十六进制码00-1F对应的字符也是非法字符。这些字符通常是回车,后退,TAB等特殊按键,系统无法根据codepage来找到对应的符号显示,所以都用"#"来表示。因此,当出错信息里告诉你某十六进制值有错误时,你在PSA或原系统可以看到值里面包含 "#",但这不一定是用户输入的时候输入了#,也可能是其他系统无法显示的字符。
4. 以"!"开头的字符串:SAP用!来标记被删除的记录。
5. 只有"#"的字符串:SAP用#来表示not assigned 或空值
错误发生的时机
非法字符会在系统更新Character主数据的时候,进行数据校验时引起错误。这通常发生在两个时机:
1. 激活DSO的时候:如果DSO勾选了Generate SID,则系统会去更新主数据,这时如有非法字符,会引发非法字符错误。
2. 往Cube装数的时候:往Cube装数肯定更新主数据,非法字符同样会引发校验错误。
有时会出现数据加载到DSO正常,加载到CUBE报错。这是因为DSO没有勾选Generate SID.
如何解决?
1.RSKC
通过这个T-CODE,你可以把系统需要接受的字符补充在此。表RSALLOWEDCHAR记录了这个设置。
其中,有一个很特殊的设置: ALL_CAPITAL. 在多语言环境中,这个设置非常有用,它让系统接受所有各种语言的大写字母,同时也包含了大部分的特殊字符。因此,大部分情况下,在RSKC中设置为ALL_CAPITAL就是最佳的做法,但是以下数据仍然是非法的:
· 只有#
· !开头
· HEX 00~1F
2. 通过routine处理非法字符.
具体代码网上很多,我就不写了。关键逻辑是如果原始数据含有非法字符,则对原始数据做进一步处理。 判断是否含有非法字符有两种方式:
· 使用CN(不仅包含...) 操作符。
· 使用Function RSKC_CHAVL_OF_IOBJ_CHECK (SE37搜索RSKC*你会发现几个有用同类function)
请参考网上的代码:
3. 直接在PSA修改数据。
4. 让用户修改原始数据。
具体采用何种方式,要具体情况具体分析。如果是个别的非法字符,建议让用户修改原始数据或直接修改PSA。 如果是R3那端会有大量的非法字符,建议使用routine进行处理。至于RSKC的设置,建议保持ALL_CAPITAL
另外,特别说明一下,非法字符里有"#"时,很多人会想到最省事的方法,把"#" 加入到RSKC中,但如前文所述,出现#不代表非法字符就是#,这种做法只能解决原始数据中的非法字符确实就是#而不是不可显示的16进制值的情况。
http://www.cnblogs.com/YellowD/archive/2011/05/23/2054751.html
典型的非法字符错误的出错信息是:
BRAIN070, BRAIN060, BRAIN 290
Value ‘…’ (hex. ‘…’) of_characteristic … contains invalid_characters
No SID found for value ‘…’ of_characteristic …
等等。 总之,这类错误的错误消息都比较清楚,很容易判断是因为非法字符引起的。
什么是invalid_characteristics?
默认情况下,BW只允许以下的字符以及空格:
!"%&'()*+,-/:;<=>?_0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
除此之外的字符都会被视为非法字符。
以下列举一些比较典型的非法字符:
1. 小写字母:如果IO没有勾选Lowercase,则小写字母都是非法字符
2. 货币符号
3. #: 这个是最特殊的非法字符。首先“#”本身默认是非法字符。同时,十六进制码00-1F对应的字符也是非法字符。这些字符通常是回车,后退,TAB等特殊按键,系统无法根据codepage来找到对应的符号显示,所以都用"#"来表示。因此,当出错信息里告诉你某十六进制值有错误时,你在PSA或原系统可以看到值里面包含 "#",但这不一定是用户输入的时候输入了#,也可能是其他系统无法显示的字符。
4. 以"!"开头的字符串:SAP用!来标记被删除的记录。
5. 只有"#"的字符串:SAP用#来表示not assigned 或空值
错误发生的时机
非法字符会在系统更新Character主数据的时候,进行数据校验时引起错误。这通常发生在两个时机:
1. 激活DSO的时候:如果DSO勾选了Generate SID,则系统会去更新主数据,这时如有非法字符,会引发非法字符错误。
2. 往Cube装数的时候:往Cube装数肯定更新主数据,非法字符同样会引发校验错误。
有时会出现数据加载到DSO正常,加载到CUBE报错。这是因为DSO没有勾选Generate SID.
如何解决?
1.RSKC
通过这个T-CODE,你可以把系统需要接受的字符补充在此。表RSALLOWEDCHAR记录了这个设置。
其中,有一个很特殊的设置: ALL_CAPITAL. 在多语言环境中,这个设置非常有用,它让系统接受所有各种语言的大写字母,同时也包含了大部分的特殊字符。因此,大部分情况下,在RSKC中设置为ALL_CAPITAL就是最佳的做法,但是以下数据仍然是非法的:
· 只有#
· !开头
· HEX 00~1F
2. 通过routine处理非法字符.
具体代码网上很多,我就不写了。关键逻辑是如果原始数据含有非法字符,则对原始数据做进一步处理。 判断是否含有非法字符有两种方式:
· 使用CN(不仅包含...) 操作符。
· 使用Function RSKC_CHAVL_OF_IOBJ_CHECK (SE37搜索RSKC*你会发现几个有用同类function)
请参考网上的代码:
3. 直接在PSA修改数据。
4. 让用户修改原始数据。
具体采用何种方式,要具体情况具体分析。如果是个别的非法字符,建议让用户修改原始数据或直接修改PSA。 如果是R3那端会有大量的非法字符,建议使用routine进行处理。至于RSKC的设置,建议保持ALL_CAPITAL
另外,特别说明一下,非法字符里有"#"时,很多人会想到最省事的方法,把"#" 加入到RSKC中,但如前文所述,出现#不代表非法字符就是#,这种做法只能解决原始数据中的非法字符确实就是#而不是不可显示的16进制值的情况。
http://www.cnblogs.com/YellowD/archive/2011/05/23/2054751.html
发表评论
-
SAP MM 常用表
2011-05-24 13:08 1258http://blog.csdn.net/Welbin/arc ... -
SAP 财务知识点(zt)
2011-05-24 12:48 1075http://ekzzs.blog.163.com/blo ... -
SAP SD 常用表
2011-05-24 12:25 4104一:客户主数据 基本数据KNA1里 公司代码KNB1里 ... -
SAP FI 常用表
2011-05-24 11:50 912GL部分: FAGLFLEXT ... -
转载:SAP 标准教材和自学方法
2011-05-19 01:13 0http://space.itpub.net/16683570 ... -
BW常用术语
2011-05-16 21:11 1387A Aggregate An aggregate i ... -
BW职位基本分类
2011-05-15 00:20 827BW Architect: 负责全面数据及系统的设计以及所有 ... -
查询SAP程序的增强出口和BADI
2011-05-03 22:24 1095*& Report Z_HZY*&*& ... -
(zt) Add-on Table ‘Enhancement category for table missing’ 警告解决
2011-05-03 01:53 1034http://www.cnblogs.com/lo ... -
2011/04/29 backup Bookmarks
2011-04-29 02:54 0Bookmarks 2011/04/29 back ... -
LO Extraction -- Delta Queue update Mode
2011-04-29 02:32 1131目前BWDeltaQueue支持的 ... -
(zt) SAP RFC (Remote Function Call)
2011-04-25 16:07 1716RFC RFC(远程函数 ... -
SDN论坛看到BW的问题及相关解答
2011-04-23 15:25 1254现在有一个 QUERY 运行十分慢 ... -
(zt) SAP各模块介绍
2011-04-23 00:50 1853http://blog.tianya.cn/blogger/p ... -
(zt) SAP MM -- Material Management.
2011-04-23 00:46 855http://www.erp100.com/thread- ... -
(zt) SAP FI/CO -- Financial & Controlling
2011-04-23 00:43 946http://www.erp100.com/thread-43 ... -
会计中的借与贷区别
2011-04-22 21:15 2662会计中的借贷只是个记账符号,要想记住 ... -
会计等式
2011-04-22 16:50 991http://baike.baidu.com/ ... -
(zt)SAP 名词解释 助你理解
2011-04-22 16:23 1689http://blog.csdn.net/balderzwz/ ... -
(zt) 管理会计 和 财务会计 的区别
2011-04-22 14:27 743http://zhidao.baidu.com/questio ...
相关推荐
format ' x' invalid or incompatible with argument 解决办法
protel.99 format '%x' invalid or incompatible with argument打软体报错补丁
解决protel 99 出现 format ' x' invalid or incompatible with argument这个错误时的解决方法
解决:protel 99se :format %x invalid or incompatible with argument问
NULL 博文链接:https://ruyuntao.iteye.com/blog/267105
与(一)的主要区别在于:1.SMTP的不同,2.objMailMessage.From中本方法可以随便填写,但是(一)中别随便填写那么利用ASP.NET(C#)发送邮件的核心代码如下: /核心代码开始 using System.Web.Mail; MailMessage ...
Invalid
oracle error invalid rowid
Delphi 10.3 ,程序运行到DataModule2.ClientDataSet1.ApplyUpdates(0);语句时,提示“Invalid parameter”错误
打开vs提示invalid handle 解决方法
赚点小钱,嘿嘿, 居然说要20个字
解决Invalid byte 1 of 1-byte UTF-8 sequence
唯一解决 Protel 99 SE 'Format '%x' invalid or incompatible with argument' 的方法 4核的电脑
invalid
ValueError: invalid literal for int() with base 10的错误 网上同样的错误有人建议用round(float(“1.0″)),但是解决不了我这个问题,round(float(“1.0″))是用于解决浮点数转换为整形数的, 而我这个则是因为...
invalid multibyte character sequence 870告警1
invalid syntax是什么错误
微信JS-SDK Demo代码 invalid signature错误详解在readme里面
invalid_cache.csv
一键修复 Chrome浏览器崩溃 STATUS_INVALID_IMAGE_HASH Win10中Edge浏览器此页存在问题 STATUS_INVALID_IMAGE_HASH