IM-ERP Real Connect for Accel Platform プログラミングガイド 初版 2013-02-01

エラー制御

SAP リアルタイム連携 API における BAPI 実行後の成功・失敗の標準の基準は、各 API での BAPI 実行後にRETURN パラメータの TYPE 値を取得して、S(正常終了)または空文字以外が1つでも存在するかどうかです。
失敗の場合、以下の例外やエラーコードが返却されます。
スクリプト開発モデル エラーコード JAVAEE 開発モデル 例外 概要
6 SAPAccountingAppException 財務会計業務系アプリケーションエラー
8 SAPPurchaseAppException 経費購買業務系アプリケーションエラー
10 SAPFinancialAppException 管理会計業務系アプリケーションエラー
12 SAPSalesAppException 販売管理業務系アプリケーションエラー
RETURN パラメータの TYPE 値は、一般的に以下になります。
RETURN-TYPE 値 概要
S 正常終了
W 警告
I 情報
E エラー
たとえば、「警告」の場合も例外やエラーコードが返却されずに登録処理を行いたいという場合もあります。
その場合、各プロパティファイルにてこれを柔軟に設定することができます。
プロパティファイルに、以下のようにignoreErrMsgReturnTypes に W を追加することで、「警告」時に例外やエラーコードが返却されずに処理を終了させることができます。
### エラーメッセージを無視する RETURN-TYPE の設定 
# カンマ区切りで指定。一般的に、RETURN-TYPE は以下のようになる。 
#  S:正常終了/W:警告/I:情報/E:エラー 
#  デフォルト値: S 
ignoreErrMsgReturnTypes=S,W 
# 空文字を含めるかどうか(true/false) 
# デフォルト値: true 
ignoreErrMsgReturnTypes.includeBlank=true 
またこのプロパティの設定は、以下のメソッドに影響します。
„
  • BapiController#getErrMessage()

    ignoreErrMsgReturnTypes の TYPE 値以外のエラーメッセージをすべて取得します。
    各業務向けAPI はこのメッセージが存在している場合に、上記の例外やエラーコードを返却します。
„
  • BapiController#getMessage()

    ignoreErrMsgReturnTypes の TYPE 値のメッセージをすべて取得します。
„
  • BapiController#isSuccess()

    BAPI 実行が正常に行われたか判断します。
    正常とは、実行結果に ignoreErrMsgReturnTypes のTYPE 値以外が含まれている場合になります。