- 浏览: 368260 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (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 1302http://blog.csdn.net/Welbin/arc ... -
SAP 财务知识点(zt)
2011-05-24 12:48 1124http://ekzzs.blog.163.com/blo ... -
SAP SD 常用表
2011-05-24 12:25 4239一:客户主数据 基本数据KNA1里 公司代码KNB1里 ... -
SAP FI 常用表
2011-05-24 11:50 961GL部分: FAGLFLEXT ... -
转载:SAP 标准教材和自学方法
2011-05-19 01:13 0http://space.itpub.net/16683570 ... -
BW常用术语
2011-05-16 21:11 1508A Aggregate An aggregate i ... -
BW职位基本分类
2011-05-15 00:20 872BW Architect: 负责全面数据及系统的设计以及所有 ... -
查询SAP程序的增强出口和BADI
2011-05-03 22:24 1142*& Report Z_HZY*&*& ... -
(zt) Add-on Table ‘Enhancement category for table missing’ 警告解决
2011-05-03 01:53 1073http://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 1161目前BWDeltaQueue支持的 ... -
(zt) SAP RFC (Remote Function Call)
2011-04-25 16:07 1776RFC RFC(远程函数 ... -
SDN论坛看到BW的问题及相关解答
2011-04-23 15:25 1308现在有一个 QUERY 运行十分慢 ... -
(zt) SAP各模块介绍
2011-04-23 00:50 1895http://blog.tianya.cn/blogger/p ... -
(zt) SAP MM -- Material Management.
2011-04-23 00:46 893http://www.erp100.com/thread- ... -
(zt) SAP FI/CO -- Financial & Controlling
2011-04-23 00:43 989http://www.erp100.com/thread-43 ... -
会计中的借与贷区别
2011-04-22 21:15 2709会计中的借贷只是个记账符号,要想记住 ... -
会计等式
2011-04-22 16:50 1038http://baike.baidu.com/ ... -
(zt)SAP 名词解释 助你理解
2011-04-22 16:23 1762http://blog.csdn.net/balderzwz/ ... -
(zt) 管理会计 和 财务会计 的区别
2011-04-22 14:27 793http://zhidao.baidu.com/questio ...
相关推荐
### "format ' x' invalid or incompatible with argument" 解决办法 在进行电子设计自动化(EDA)软件Protel 99 SE的操作过程中,用户可能会遇到一个常见的错误提示:“format ' x' invalid or incompatible with ...
NULL 博文链接:https://ruyuntao.iteye.com/blog/267105
### 错误解析与解决方案:Format ' x' Invalid or Incompatible with Argument 在使用Protel 99进行PCB设计时,可能会遇到“format ' x' invalid or incompatible with argument”这样的错误提示。这一错误通常出现...
标题中的问题“protel 99se :format %x invalid or incompatible with argument”是一个常见的错误提示,通常在尝试运行或安装Protel 99SE软件时出现。这个错误表明程序在处理某种格式化字符串(%x)时遇到了不兼容...
invalid conversion from type1 to type2 (解决方案).md
标题中的“protel.99 format '%x' invalid or incompatible with argument打软体报错补丁.rar”指的是Protel 99软件在运行时遇到了一个格式错误,具体表现为使用`%x`格式化字符串与传入的参数不兼容。这通常出现在C/...
- `From`:发送者的邮件地址。 - `To`:接收者的邮件地址。 - `Subject`:邮件的主题。 - `Priority`:邮件的优先级(有效值包括 High、Low 和 Normal)。 - `Attachments`:返回一个集合,表示邮件的附件。 -...
InvalidSignature-The signature is invalid(解决方案).md
在IT领域,遇到“打开vs提示invalid handle”的问题并不罕见,这通常意味着Visual Studio(简称VS)在尝试访问某些资源或执行特定操作时遇到了错误。此类问题可能源于多种因素,包括但不限于权限问题、系统资源冲突...
要解决"Format '%x' invalid or incompatible with argument"的问题,你可以尝试以下步骤: 1. **更新兼容性设置**:右键点击Protel 99 SE的可执行文件,选择“属性”,然后转到“兼容性”选项卡。尝试勾选“以兼容...
然而,在使用过程中,用户可能会遇到一些问题,比如“Format '%x' invalid or”这样的错误提示,这通常是由于软件内部格式处理的问题或者与自定义库的兼容性引起的。为了解决这个困扰用户的难题,我们可以深入探讨这...
标题 "解决Invalid byte 1 of 1-byte UTF-8 sequence" 涉及的问题是关于字符编码不匹配引发的错误,通常在处理包含非ASCII字符的文本文件时出现。UTF-8是一种广泛使用的字符编码标准,能表示世界上大部分语言的字符...
sm2解密出Invalid point encoding问题的解决办法
Delphi 10.3 ,程序运行到DataModule2.ClientDataSet1.ApplyUpdates(0);语句时,提示“Invalid parameter”错误
invalid interface type(解决方案).md
Invalid Multibyte Character Sequence 警告解析 在编程中,特别是在嵌入式系统开发中,我们经常会遇到Invalid Multibyte Character Sequence 警告。这个警告通常来自于编译器,告知我们存在非法的多字节字符序列。...
Invalid HTTP version(解决方案).md
在Oracle数据库系统中,"invalid rowid"错误通常表示尝试访问的数据行的引用已经失效或者不存在。RowID是Oracle数据库中用于唯一标识表中每一行的一个物理地址,它由数据库内部生成并存储在数据块中。当遇到"invalid...
- "Invalid ROM Table":这个提示是与ROM相关的错误信息,可能是因为ROM中的表格信息不正确或损坏导致的。ROM(Read-Only Memory)是一种只能读取不能写入的存储器,通常用于存储程序、数据等,其特点是断电后信息不...
INVALID_USER_KEY(解决方案).md