IM-ERP Real Connect

jp.co.intra_mart.foundation.sap.common.general_purpose
クラス BapiController

java.lang.Object
  上位を拡張 jp.co.intra_mart.foundation.sap.common.general_purpose.BapiController
すべての実装されたインタフェース:
Serializable

public class BapiController
extends Object
implements Serializable

BAPIコントローラクラス。
機能は以下の通り。

バージョン:
8.0
関連項目:
直列化された形式

フィールドの概要
static String[] DEFAULT_IGNORE_ERR_MSG_RETURN_TYPES
          エラーメッセージを無視するRETURN-TYPEの設定。
 
コンストラクタの概要
BapiController(String propertyName)
          プロパティファイル名のメンバ変数への設定、プロパティファイルの読込と 各PropertyListの生成処理を行います。
BapiController(String propertyName, ConnectionManager connectionManager)
          コネクションマネージャのセット、プロパティファイル名のメンバ変数への設定、 プロパティファイルの読込と各PropertyListの生成処理を行います。

ConnectionManagerを使用することで、 ConnectionManagerからトランザクションを制御でき、 たとえば同一トランザクション内で複数の登録・更新処理を実行することができます。
BapiController(String propertyName, SapClient sapClient)
          サップクライアントのセット、プロパティファイル名のメンバ変数への設定、 プロパティファイルの読込と各PropertyListの生成処理を行います。

SapClientを使用することで、SapClientにて指定した SAPアプリケーションサーバ接続が可能となります。
 
メソッドの概要
 void addAutoCommitCondition(String autoCommitConditon)
          推奨されていません。 addIgnoreErrMsgReturnType(java.lang.String)に置き換えられました。
 void addIgnoreErrMsgReturnType(String ignoreErrMsgReturnType)
          エラーメッセージを無視するRETURN-TYPEを追加します。
 void clear()
           セットしたパラメータ、ストラクチャ、テーブル、BAPIの実行結果をクリアします。
 void executeBapi()
          BAPIを実行します。
 List<String> getAutoCommitConditions()
          推奨されていません。 getIgnoreErrMsgReturnTypes()に置き換えられました。
 List<BapiHash> getBapiHashList()
          BapiHashの一覧を取得します。
 List<BapiReturn> getBapiReturnList()
          BapiReturnの一覧を取得します。
 String getErrMessage()
          BAPIの実行結果のエラーメッセージを取得します。
 List<LineProperty> getExpExpList()
          プロパティ情報(export(Export))の一覧を取得します。
 String getExportParam(String propKey)
          export(Export)情報を返します。
 List<LineProperty> getExpStrList()
          プロパティ情報(structure(Export))の一覧を取得します。
 List<LineProperty> getExpTblList()
          プロパティ情報(table(Export))の一覧を取得します。
 List<String> getIgnoreErrMsgReturnTypes()
          エラーメッセージを無視するRETURN-TYPEを取得します。
 List<LineProperty> getImpImpList()
          プロパティ情報(import(Import))の一覧を取得します。
 List<LineProperty> getImpStrList()
          プロパティ情報(structure(Import))一覧を取得します。
 List<LineProperty> getImpTblList()
          プロパティ情報(table(Import))の一覧を取得します。
 String getMessage()
          設定されたエラーメッセージを無視するRETURN-TYPE情報に一致したメッセージ情報を全て返します。
 String getMessage(String type)
          引数に一致したType情報のメッセージ情報全て取得します。
 Properties getProperty()
          プロパティファイル情報を取得します。
 String getPropertyName()
          プロパティファイル名を取得します。
 BapiReturn getReturn()
          BAPI実行結果を取得します。
 Iterator<String> getReturnCodeTypes()
          BapiReturn のType情報を取得します。
 Iterator<BapiReturn> getReturnList()
          BAPI実行結果の一覧を取得します。
 Map<String,String> getStructureParam(String paramName)
          structure(Export)情報を返します。
 Iterator<Map<String,String>> getTableParam(String paramName)
          table(Export)情報を返します。
 boolean isSuccess()
          BAPI実行が正常に行われたか判定します。

BAPI実行結果であるBapiReturndのType情報が 正常(デフォルト値: "S" / "")であった場合"true"をそれ以外は"false"を返します。 正常と判断させる条件はプロパティファイル、 またはsetIgnoreErrMsgReturnTypes(List)addIgnoreErrMsgReturnType(String)でカスタマイズできます。
 void putImportParam(String key, String val)
          引数に指定された条件でBapiHashオブジェクト(入力/出力区分="import", パラメタ属性="import")を生成し、一覧に格納します。
 void putStructParam(String key, String val, String structName)
          引数に指定された条件でBapiHashオブジェクト(入力/出力区分="import", パラメタ属性="structure",パラメタ名=第3引数)を生成し、一覧に格納します。
 void putTableParam(String key, String val, String tableName, int recordNo)
          引数に指定された条件でBapiHashオブジェクト(入力/出力区分="import", パラメタ属性="table",パラメタ名=第3引数,レコード番号=第4引数)を生成し、 一覧に格納します。
 void setAutoCommitConditions(List<String> autoCommitConditions)
          推奨されていません。 setIgnoreErrMsgReturnTypes()に置き換えられました。
 void setBapiHashList(List<BapiHash> bapiHashList)
          BapiHashの一覧を設定します。
 void setBapiReturnList(List<BapiReturn> bapiReturnList)
          BapiReturnの一覧を設定します。
 void setExpExpList(List<LineProperty> expExpList)
          プロパティ情報(export(Export))の一覧を設定します。
 void setExpStrList(List<LineProperty> expStrList)
          プロパティ情報(structure(Export))の一覧を設定します。
 void setExpTblList(List<LineProperty> expTblList)
          プロパティ情報(table(Export))の一覧を設定します。
 void setIgnoreErrMsgReturnTypes(List<String> list)
          エラーメッセージを無視するRETURN-TYPEを設定します。
 void setImpImpList(List<LineProperty> list)
          プロパティ情報(import(Import))の一覧を設定します。
 void setImpStrList(List<LineProperty> impStrList)
          プロパティ情報(structure(Import))の一覧を設定します。
 void setImpTblList(List<LineProperty> impTblList)
          プロパティ情報(table(Import))の一覧を設定します。
 void setProperty(Properties property)
          プロパティファイル情報を設定します。
 void setPropertyName(String propertyName)
          プロパティファイル名を設定します。
 String toString()
          デバッグ用のメソッドです。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

DEFAULT_IGNORE_ERR_MSG_RETURN_TYPES

public static final String[] DEFAULT_IGNORE_ERR_MSG_RETURN_TYPES
エラーメッセージを無視するRETURN-TYPEの設定。

エラーメッセージを無視させる BapiReturn のType情報のデフォルト値を "S" または空文字 "" とします。

コンストラクタの詳細

BapiController

public BapiController(String propertyName)
               throws SAPGeneralSystemException,
                      SAPAuthSystemException,
                      SAPGeneralAppException
プロパティファイル名のメンバ変数への設定、プロパティファイルの読込と 各PropertyListの生成処理を行います。

パラメータ:
propertyName - BAPIコントローラが使用するプロパティファイル名
例外:
SAPGeneralSystemException - 汎用系システム例外処理
SAPAuthSystemException - 認証系システム例外処理
SAPGeneralAppException - 汎用系アプリケーション例外

BapiController

public BapiController(String propertyName,
                      ConnectionManager connectionManager)
               throws SAPGeneralSystemException,
                      SAPAuthSystemException,
                      SAPGeneralAppException
コネクションマネージャのセット、プロパティファイル名のメンバ変数への設定、 プロパティファイルの読込と各PropertyListの生成処理を行います。

ConnectionManagerを使用することで、 ConnectionManagerからトランザクションを制御でき、 たとえば同一トランザクション内で複数の登録・更新処理を実行することができます。
なお、executeBapi()実行後に必ずConnectionManager.commit() またはConnectionManager.rollback()を 実行してください。
上記2メソッド内でSAPへのコネクションの開放も実行されるので確実にどちらかの メソッドを呼ぶようにコーディングする必要があります。

【注意】トランザクション処理が記述されているBAPIもあります。 その場合、executeBapi()実行後にここまでの コネクションマネージャーで実行したすべての処理がcommitまたは rollbackされます。
※ただし、コネクションはリリースされませんので、リリースされるようにConnectionManager.commit()または ConnectionManager.rollback()を実行してください。
この振る舞いを変更するには、BAPI自体をカスタマイズする必要があります。

パラメータ:
propertyName - BAPIコントローラが使用するプロパティファイル名
connectionManager - 生成したConnectionManagerオブジェクト
例外:
SAPGeneralSystemException - 汎用系システム例外処理
SAPAuthSystemException - 認証系システム例外処理
SAPGeneralAppException - 汎用系アプリケーション例外

BapiController

public BapiController(String propertyName,
                      SapClient sapClient)
               throws SAPGeneralSystemException,
                      SAPAuthSystemException,
                      SAPGeneralAppException
サップクライアントのセット、プロパティファイル名のメンバ変数への設定、 プロパティファイルの読込と各PropertyListの生成処理を行います。

SapClientを使用することで、SapClientにて指定した SAPアプリケーションサーバ接続が可能となります。

パラメータ:
propertyName - BAPIコントローラが使用するプロパティファイル名
sapClient - SAPへの接続情報が格納されたオブジェクト
例外:
SAPGeneralSystemException - 汎用系システム例外処理
SAPAuthSystemException - 認証系システム例外処理
SAPGeneralAppException - 汎用系アプリケーション例外
メソッドの詳細

putImportParam

public void putImportParam(String key,
                           String val)
                    throws SAPGeneralSystemException,
                           SAPGeneralAppException
引数に指定された条件でBapiHashオブジェクト(入力/出力区分="import", パラメタ属性="import")を生成し、一覧に格納します。

パラメータ:
key - BapiHashに設定するHashMapのキー
val - BapiHashに設定するHashMapの値
例外:
SAPGeneralSystemException - 汎用系システム例外処理
SAPGeneralAppException - 汎用系アプリケーション例外処理

putStructParam

public void putStructParam(String key,
                           String val,
                           String structName)
                    throws SAPGeneralSystemException,
                           SAPGeneralAppException
引数に指定された条件でBapiHashオブジェクト(入力/出力区分="import", パラメタ属性="structure",パラメタ名=第3引数)を生成し、一覧に格納します。

パラメータ:
key - BapiHashに設定するHashMapのキー
val - BapiHashに設定するHashMapの値
structName - BapiHashに設定するparamTypeの値
例外:
SAPGeneralSystemException - 汎用系システム例外処理
SAPGeneralAppException - 汎用系アプリケーション例外処理

putTableParam

public void putTableParam(String key,
                          String val,
                          String tableName,
                          int recordNo)
                   throws SAPGeneralSystemException,
                          SAPGeneralAppException
引数に指定された条件でBapiHashオブジェクト(入力/出力区分="import", パラメタ属性="table",パラメタ名=第3引数,レコード番号=第4引数)を生成し、 一覧に格納します。

パラメータ:
key - BapiHashに設定するHashMapのキー
val - BapiHashに設定するHashMapの値
tableName - BapiHashに設定するparamTypeの値
recordNo - BapiHashに設定するrecordNoの値
例外:
SAPGeneralSystemException - 汎用系システム例外処理
SAPGeneralAppException - 汎用系アプリケーション例外処理

executeBapi

public void executeBapi()
                 throws SAPGeneralSystemException,
                        SAPGeneralAppException,
                        SAPAuthSystemException,
                        SAPAuthAppException
BAPIを実行します。

JCO.Connectionを生成し、JCO.Functionの生成、 BAPI引渡しパラメータの生成を行いBAPI実行を行います。またBAPI実行結果から BapiHashオブジェクトの生成とBapiHashListへの追加、 BapiReturnオブジェクトの生成とBapiReturnListへの追加を行います。
なお、このクラスのコンストラクタ呼び出し時にConnectionManagerを指定した場合、 トランザクション処理は自動的に実行されません。呼び出し側で明示的にConnectionManager.commit() またはConnectionManager.rollback()を実行する必要があります。また、SAPとのコネクションも 上記2メソッド内で行われますので、確実に呼び出すように実装しなくてはなりません。

【注意】ConnectionManagerを指定した場合の注意点

トランザクション処理が記述されているBAPIもあります。 その場合、本メソッド実行後にここまでのコネクションマネージャーで実行したすべての処理がcommitまたはrollbackされます。
※ただし、コネクションはリリースされませんので、リリースされるようにConnectionManager.commit()または ConnectionManager.rollback()を実行してください。
この振る舞いを変更するには、BAPI自体をカスタマイズする必要があります。

例外:
SAPGeneralSystemException - 汎用系システム例外処理
SAPAuthSystemException - 認証系システム例外処理
SAPGeneralAppException - 汎用系アプリケーション例外処理
SAPAuthAppException - 認証系アプリケーション例外処理

isSuccess

public boolean isSuccess()
                  throws SAPGeneralSystemException
BAPI実行が正常に行われたか判定します。

BAPI実行結果であるBapiReturndのType情報が 正常(デフォルト値: "S" / "")であった場合"true"をそれ以外は"false"を返します。 正常と判断させる条件はプロパティファイル、 またはsetIgnoreErrMsgReturnTypes(List)addIgnoreErrMsgReturnType(String)でカスタマイズできます。

戻り値:
bapiSuccess BAPI実行結果
例外:
SAPGeneralSystemException - 汎用系システム例外処理

getErrMessage

public String getErrMessage()
                     throws SAPGeneralSystemException
BAPIの実行結果のエラーメッセージを取得します。

BAPI実行結果であるBapiReturnのType情報が正常(デフォルト値: "S" / "")以外のBapiReturn オブジェクトのメッセージ情報を全て返します。 全て正常の場合はnullが返却されます。 正常と判断させる条件はプロパティファイル、 またはsetIgnoreErrMsgReturnTypes(List), addIgnoreErrMsgReturnType(String)でカスタマイズできます。

戻り値:
buffer BAPI実行結果エラーとなった全てのメッセージ情報
例外:
SAPGeneralSystemException - 汎用系システム例外処理

getMessage

public String getMessage()
                  throws SAPGeneralSystemException
設定されたエラーメッセージを無視するRETURN-TYPE情報に一致したメッセージ情報を全て返します。

BAPI実行結果であるBapiReturnのType情報が正常(デフォルト値: "S" / "")と 判断されたType情報のメッセージ情報を全て返します。 メッセージが存在しない場合はnullが返却されます。 正常と判断させる条件はプロパティファイル、 またはsetIgnoreErrMsgReturnTypes(List), addIgnoreErrMsgReturnType(String)でカスタマイズできます。

戻り値:
buffer オートコミット条件に一致したType情報のメッセージ情報
例外:
SAPGeneralSystemException - 汎用系システム例外処理

getMessage

public String getMessage(String type)
                  throws SAPGeneralSystemException
引数に一致したType情報のメッセージ情報全て取得します。

BAPIの実行結果において、引数に一致するType情報のメッセージ情報を全て返します。 メッセージは、以下のように、一致したType情報の各メッセージが MESSAGE1, MESSAGE2と改行文字で区切られた形式になります。

MESSAGE1 : メッセージ1
MESSAGE2 : メッセージ2
:
メッセージがない場合、nullが返却されます。

引数に指定するType情報は、一般に以下のようになります。 ※上記のType情報は、BAPIに依存します。

パラメータ:
type - エラーコードタイプ
戻り値:
BAPI実行時の全てのメッセージ情報
例外:
SAPGeneralSystemException - 汎用系システム例外処理

getExportParam

public String getExportParam(String propKey)
                      throws SAPGeneralSystemException
export(Export)情報を返します。入力/出力区分、パラメータ属性、パラメータ名、 プロパティファイルのキー情報で一覧から該当するBapiHashオブジェクト を検索して、値を返します。

パラメータ:
propKey - 検索条件となるPropertyKey
戻り値:
rtnVal 引数のキーに対応する値
例外:
SAPGeneralSystemException - 汎用系システム例外処理

getStructureParam

public Map<String,String> getStructureParam(String paramName)
                                     throws SAPGeneralSystemException
structure(Export)情報を返します。入力/出力区分、パラメータ属性、パラメータ名 で一覧から該当するBapiHashオブジェクトを検索して返します。

パラメータ:
paramName - 検索条件となるParamName
戻り値:
retMap 検索結果となるBapiHash
例外:
SAPGeneralSystemException - 汎用系システム例外処理

getTableParam

public Iterator<Map<String,String>> getTableParam(String paramName)
                                           throws SAPGeneralSystemException
table(Export)情報を返します。入力/出力区分、パラメータ属性、パラメータ名 で一覧から該当するBapiHashオブジェクトを検索し、一覧に格納して返します。

パラメータ:
paramName - 検索条件となるParamName
戻り値:
retMap 検索結果となるBapiHash
例外:
SAPGeneralSystemException - 汎用系システム例外処理

getReturnList

public Iterator<BapiReturn> getReturnList()
BAPI実行結果の一覧を取得します。(Table用)

戻り値:
bapiReturnList

getReturn

public BapiReturn getReturn()
BAPI実行結果を取得します。(Structure用)

戻り値:
bapiRet

getBapiHashList

public List<BapiHash> getBapiHashList()
BapiHashの一覧を取得します。

戻り値:
bapiHashList

getProperty

public Properties getProperty()
プロパティファイル情報を取得します。

戻り値:
property

getPropertyName

public String getPropertyName()
プロパティファイル名を取得します。

戻り値:
propertyName

getImpImpList

public List<LineProperty> getImpImpList()
プロパティ情報(import(Import))の一覧を取得します。

戻り値:
impImpList

getImpStrList

public List<LineProperty> getImpStrList()
プロパティ情報(structure(Import))一覧を取得します。

戻り値:
impStrList

getImpTblList

public List<LineProperty> getImpTblList()
プロパティ情報(table(Import))の一覧を取得します。

戻り値:
impTblList

getExpExpList

public List<LineProperty> getExpExpList()
プロパティ情報(export(Export))の一覧を取得します。

戻り値:
expExpList

getExpStrList

public List<LineProperty> getExpStrList()
プロパティ情報(structure(Export))の一覧を取得します。

戻り値:
expStrList

getExpTblList

public List<LineProperty> getExpTblList()
プロパティ情報(table(Export))の一覧を取得します。

戻り値:
expTblList

getBapiReturnList

public List<BapiReturn> getBapiReturnList()
BapiReturnの一覧を取得します。

戻り値:
bapiReturnList

setBapiHashList

public void setBapiHashList(List<BapiHash> bapiHashList)
BapiHashの一覧を設定します。

パラメータ:
bapiHashList - BapiHashList

setProperty

public void setProperty(Properties property)
プロパティファイル情報を設定します。

パラメータ:
property - Property

setPropertyName

public void setPropertyName(String propertyName)
プロパティファイル名を設定します。

パラメータ:
propertyName - propertyName

setImpImpList

public void setImpImpList(List<LineProperty> list)
プロパティ情報(import(Import))の一覧を設定します。

パラメータ:
list - impImpList

setImpStrList

public void setImpStrList(List<LineProperty> impStrList)
プロパティ情報(structure(Import))の一覧を設定します。

パラメータ:
impStrList - impStrList

setImpTblList

public void setImpTblList(List<LineProperty> impTblList)
プロパティ情報(table(Import))の一覧を設定します。

パラメータ:
impTblList - impTblList

setExpExpList

public void setExpExpList(List<LineProperty> expExpList)
プロパティ情報(export(Export))の一覧を設定します。

パラメータ:
expExpList - expExpList

setExpStrList

public void setExpStrList(List<LineProperty> expStrList)
プロパティ情報(structure(Export))の一覧を設定します。

パラメータ:
expStrList - expStrList

setExpTblList

public void setExpTblList(List<LineProperty> expTblList)
プロパティ情報(table(Export))の一覧を設定します。

パラメータ:
expTblList - expTblList

setBapiReturnList

public void setBapiReturnList(List<BapiReturn> bapiReturnList)
BapiReturnの一覧を設定します。

パラメータ:
bapiReturnList - bapiReturnList

toString

public String toString()
デバッグ用のメソッドです。

オーバーライド:
クラス Object 内の toString
戻り値:
value すべての属性の値

clear

public void clear()

セットしたパラメータ、ストラクチャ、テーブル、BAPIの実行結果をクリアします。

BapiControllerを複数回使用する場合、一度putImportParam()などを実行した後に 同じパラメータをセットする前に実行する必要があります。

実行例は次のようになります。

 BapiController bapiController = new BapiController(...);
 bapiController.putImportParam(...);
 bapiController.putStructParam(...);
 ...
 executeBapi();

 //クリア
 bapiController.clear();

 //BapiControllerを再利用する
 bapiController.putImportParam(...);
 bapiController.putStructParam(...);
 ...
 executeBapi();
 


getAutoCommitConditions

public List<String> getAutoCommitConditions()
推奨されていません。 getIgnoreErrMsgReturnTypes()に置き換えられました。

オートコミットさせる条件を取得します。

BapiReturn のType情報に対して、オートコミットさせる文字列からなる条件を取得します。

戻り値:
オートコミットさせる条件(String型の要素からなるListオブジェクト)
導入されたバージョン:
5.1.5

addAutoCommitCondition

public void addAutoCommitCondition(String autoCommitConditon)
推奨されていません。 addIgnoreErrMsgReturnType(java.lang.String)に置き換えられました。

オートコミットさせる条件を追加します。

BapiReturn のType情報に対して、オートコミットさせる文字列の条件を設定します。

パラメータ:
autoCommitConditon - オートコミットさせる条件
導入されたバージョン:
5.1.5

setAutoCommitConditions

public void setAutoCommitConditions(List<String> autoCommitConditions)
                             throws SAPGeneralSystemException
推奨されていません。 setIgnoreErrMsgReturnTypes()に置き換えられました。

オートコミットさせる条件を指定します。

BapiReturn のType情報に対して、オートコミットさせる文字列条件を設定します。 List の要素は文字列 String で登録します。

パラメータ:
autoCommitConditions - オートコミットさせる条件リスト
例外:
SAPGeneralSystemException - 引数にString型以外の要素が 含まれている場合にスローされます。
導入されたバージョン:
5.1.5

getIgnoreErrMsgReturnTypes

public List<String> getIgnoreErrMsgReturnTypes()
エラーメッセージを無視するRETURN-TYPEを取得します。

BapiReturn のType情報に対して、エラーメッセージを無視するRETURN-TYPEを取得します。

戻り値:
エラーメッセージを無視するRETURN-TYPE値のリスト
導入されたバージョン:
6.0

addIgnoreErrMsgReturnType

public void addIgnoreErrMsgReturnType(String ignoreErrMsgReturnType)
エラーメッセージを無視するRETURN-TYPEを追加します。

BapiReturn のType情報に対して、エラーメッセージを無視するRETURN-TYPEを設定します。

パラメータ:
ignoreErrMsgReturnType - エラーメッセージを無視するRETURN-TYPE値
導入されたバージョン:
6.0

setIgnoreErrMsgReturnTypes

public void setIgnoreErrMsgReturnTypes(List<String> list)
                                throws SAPGeneralSystemException
エラーメッセージを無視するRETURN-TYPEを設定します。

BapiReturn のType情報に対して、エラーメッセージを無視するRETURN-TYPEを設定します。 この設定を変更することで、たとえば警告時にもコミットさせることができます。 List の要素は文字列 String で登録します。

パラメータ:
list - エラーメッセージを無視するRETURN-TYPE値のリスト
例外:
SAPGeneralSystemException - 引数にString型以外の要素が 含まれている場合にスローされます。
導入されたバージョン:
6.0

getReturnCodeTypes

public Iterator<String> getReturnCodeTypes()
BapiReturn のType情報を取得します。

BapiReturn のType情報をString型の要素からなる Iteratorオブジェクトを取得します。
BapiReturn のType情報は、一般的に以下となります。 ※上記のBapiReturn のType情報は、BAPIに依存します。

戻り値:
BapiReturn のType情報

IM-ERP Real Connect

Copyright (c) 2013 NTT DATA INTRAMART CORPORATION.