エラー制御¶
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 値以外が含まれている場合になります。