.NET 调用 SAP RFC 乱码问题解决方法!
来源:互联网 发布:美洲文明落后知乎 编辑:程序博客网 时间:2024/06/06 08:41
根据梦心的文章,我原来的程序只需要加入 CodePage 这句就行了。
SapLogin.codePage = "8400"
以下为转载 梦心的文章:
上周TW总公司的IT按照董事长的指示,但凡杂项请购单里面内部订单号如果没有开立开发执行单的需做卡控,限制开单。于是TW IT就在系统画面ME51N里面做了用户出口开发,如果系统检测到内部订单没有开发执行单,则提示并不继续往下。因为TW那边的卡控文字说明是繁体的,所以OA调用了RFC申请开立请购单之后就会返回这个错误信息,而且是乱码,如下图:
看到这个乱码我还以为是出了什么异常,因为系统抛出异常类是:RfcCommunicationException,到处找原因,搞得满头包。后面只好到正式环境试着用OA的数据开立请购单试试,结果系统提示开发执行单不存在,这才知道原因所在,因此对这个乱码感到很费劲,于是解决之。
我们在调用RFC前的配置信息里面可以规定编码,如下红字所示:
public class MyBackendConfig : IDestinationConfiguration { public RfcConfigParameters GetParameters(String destinationName) { if ("PRD_000".Equals(destinationName)) { RfcConfigParameters parms = new RfcConfigParameters(); parms.Add(RfcConfigParameters.AppServerHost, "192.168.1.3"); parms.Add(RfcConfigParameters.SystemNumber, "00"); parms.Add(RfcConfigParameters.User, "MENGXIN"); parms.Add(RfcConfigParameters.Password, "×××"); parms.Add(RfcConfigParameters.Client, "888"); parms.Add(RfcConfigParameters.Language, "ZH"); parms.Add(RfcConfigParameters.PoolSize, "5"); parms.Add(RfcConfigParameters.MaxPoolSize, "10"); parms.Add(RfcConfigParameters.IdleTimeout, "60"); parms.Add(RfcConfigParameters.Codepage, "8300"); return parms; } else return null; } public bool ChangeEventsSupported() { return false; } public event RfcDestinationManager.ConfigurationChangeHandler ConfigurationChanged; }
这样规定了这个编码为8300(繁体),于是系统正确提示了信息:
关于这个Codepage的代码含义,如下表:
至此,乱码问题完全解决~
- .NET 调用 SAP RFC 乱码问题解决方法!
- VS.NET调用SAP RFC
- C# 调用 SAP RFC 方法
- C# 调用 SAP RFC 方法
- .NET连接SAP系统专题:C#调用RFC中文乱码解决办法(十二)
- asp.Net 调用 SAP RFC, 取得SAP数据
- VB.NET通过SAP.Connector调用SAP的RFC
- asp.net 调用SAP RFC(基于sap.connector.dll和sap.connector.rfc.dll)
- RFC调用sap接口
- VBA调用SAP RFC
- Net 调用SAP RFC接口来读取数据实战纪实
- Net 调用SAP RFC接口来读取数据
- .Net智遥工作流中调用SAP RFC实例演示
- VB.NET中SAP RFC调用接口封装
- .Net 调用SAP RFC接口来读取数据实战纪实
- .Net 调用SAP RFC接口来读取数据实战纪实
- .net 4.0通过sap connector 4.0调用RFC
- java后台调用 SAP RFC 第二种方法
- ubuntu的dos2unix
- c++ class does not name a type
- Perl useage
- 多线程记录
- osg视点跟随
- .NET 调用 SAP RFC 乱码问题解决方法!
- OpenSSL-0.9.8g 安装与配置指南
- 移动WEB测试工具 Adobe Edge Inspect
- 連接池中參數的配置
- yahoo前端优化34条规则——JavaScript和CSS篇
- Q21 Q22 字符串操作相关
- svn的更新、合并、提交
- linux C经典面试题六
- 关于layout()->setSizeConstraint(QLayout::SetFixedSize)的问题