SAP接口編程之 NCo3.0系列(07) : 異常處理

基類:RfcBaseException

nco3.0中異常的基類是RfcBaseException, 繼承自ApplicationException。其他一些重要的異常類說明如下:

其他常見異常類

RfcCommunicationException

  • 繼承自RfcBaseException
  • 與后臺SAP系統(tǒng)通訊失敗時,引發(fā)此異常,比如網(wǎng)絡(luò)問題,SAP服務(wù)器沒有啟動等。

RfcLogonException

  • 繼承自RfcBaseException
  • SAP系統(tǒng)拒絕用戶登錄,比如密碼錯誤等引發(fā)的異常。

RfcInvalidParameterException

  • 繼承自RfcBaseException
  • 如果參數(shù)不存在,或者參數(shù)名不正確,會引發(fā)該異常。

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函數(shù)將字串中插入到TCPIC表中,函數(shù)適合做演示之用
  • 如果插入table parameter的參數(shù)有規(guī)律,可以參考本例中的代碼

NCo3.0系列的參考文檔

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • s
    Piaggi閱讀 135評論 0 0
  • 劍橋很美,劍河從城市西門進入兜了一個弧形大圈從東北流出到烏斯河,劍橋大學(xué)各個學(xué)院被城市包圍分散在不同地點,學(xué)院里環(huán)...
    吳蕙蘭閱讀 326評論 0 0
  • 1 博爾赫斯曾說,“我寫作,不是為了名聲,也不是為了特定的讀者,我寫作是為了光陰流逝使我心安。” 我很喜歡這句話。...
    兔U閱讀 554評論 1 1
  • 太累了,請假休息了一天 準備放縱一天,陳不放過我,要我?guī)某靠赐热ィ某壳皫滋焖ち耍壬嫌杏偾啵瑔査趺此さ模?..
    瞿桂林閱讀 27評論 0 0