SAP接口编程之 NCo3.0系列(07) : 异常处理

基类:RfcBaseException

nco3.0中异常的基类是RfcBaseException, 继承自ApplicationException。其他一些重要的异常类说明如下:

其他常见异常类

RfcCommunicationException

  • 继承自RfcBaseException
  • 与后台SAP系统通讯失败时,引发此异常,比如网络问题,SAP服务器没有启动等。

RfcLogonException

  • 继承自RfcBaseException
  • SAP系统拒绝用户登录,比如密码错误等引发的异常。

RfcInvalidParameterException

  • 继承自RfcBaseException
  • 如果参数不存在,或者参数名不正确,会引发该异常。

RfcAbapBaseException

  • 继承自RfcBaseException, 是Abap异常的基类

示例

using System;
using SAP.Middleware.Connector;

namespace NCo03
{
    public class ExceptionHandlingDemo
    {
        public void WriteTCPIC()
        {
            // the folowing lines will be added to TCPIC table in SAP system
            String[] lines = new String[] { 
                "轻轻的我走了,", 
                "正如我轻轻的来,",
                "我轻轻的招手,",
                "作别西天的云彩。"};

            try {
                RfcDestination dest = NCo02.DestinationProvider.GetDestination();
                IRfcFunction fm = dest.Repository.CreateFunction("STFC_WRITE_TO_TCPIC");

                IRfcTable tcpicData = fm.GetTable("TCPICDAT");
                tcpicData.Append(lines.Length); // insert lines according to lines.Length
                for (int i = 0; i < lines.Length; i++) {
                    tcpicData[i].SetValue("LINE", lines[i]);
                }

                fm.Invoke(dest);
            }
            catch (RfcCommunicationException ex) {
                // network problem
                System.Console.WriteLine(ex.ToString());
            }
            catch (RfcLogonException ex) {
                // user could not log on
                System.Console.WriteLine(ex.ToString());
            }
            catch (RfcAbapBaseException ex) {
                // ABAP excpeption
                System.Console.WriteLine(ex.ToString());
            }
        }
    }
}

说明

  • STFC_WRITE_TO_TCPIC函数将字串中插入到TCPIC表中,函数适合做演示之用
  • 如果插入table parameter的参数有规律,可以参考本例中的代码

NCo3.0系列的参考文档

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • s
    Piaggi阅读 916评论 0 0
  • 剑桥很美,剑河从城市西门进入兜了一个弧形大圈从东北流出到乌斯河,剑桥大学各个学院被城市包围分散在不同地点,学院里环...
    吴蕙兰阅读 2,523评论 0 0
  • 1 博尔赫斯曾说,“我写作,不是为了名声,也不是为了特定的读者,我写作是为了光阴流逝使我心安。” 我很喜欢这句话。...
    兔U阅读 3,666评论 1 1
  • 太累了,请假休息了一天 准备放纵一天,陈不放过我,要我带瞿晨看腿去,瞿晨前几天摔了,腿上有淤青,问他怎么摔的,...
    瞿桂林阅读 43评论 0 0