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

コネクション方式

「IM-ERP Real Connect for Accel Platform セットアップガイド」にも示している通り、SAP との接続には SAP JCo を利用しており、接続方式には以下の 2 つがあります。
  • ダイレクトコネクション方式
  • プールコネクション方式
パフォーマンスではプールコネクション方式の方が優位となりますが、ダイレクトコネクション方式では SAP への接続時に接続ユーザを変更することができます。
ただし、その変更したユーザは、SAP に存在するユーザでなければなりません。
またそのユーザに適切な権限が付与されている必要があります。
以下に、intra-mart のログインユーザ ID を SAP への接続ユーザ ID として使用する簡単なサンプルを示します。
ただし、認証情報 sap_auth_info.properties に以下のような servertype が sample のダイレクトコネクション用の定義がされているとします。
  • sap_auth_info.properties

    jco.client.client.sample=250 
    jco.client.user.sample =user001 
    jco.client.passwd.sample =pass001 
    jco.client.lang.sample =ja 
    jco.client.ashost.sample =erpsv01 
    
  • sample.js

    function init() {
    
        // ログインユーザ ID を取得 
        var sessionInfo = AccessSecurityManager.getSessionInfo(); 
        var userId = sessionInfo.user; 
    
        //  そのログインユーザのパスワードを取得 
        var accountManager = new AccountManager(sessionInfo.loginGroup); 
        var account = accountManager.getAccount(userId); 
        var passwd = account.password;
    
        //  SAP クライアントを取得し、ログインユーザ ID とパスワードを設定 
        //  ※接続先 IP アドレス等その他の値はプロパティファイルの値が使用されます。 
        var sapClient = SapClientManager.getSapClient("sample");
        sapClient.setUser(userId);
        sapClient.setPasswd(passwd);
    
        //  SAP クライアントを任意のコントローラクラスのコンストラクタの引数に渡し、 
        //  インスタンス生成。これにより、SAP への接続ユーザは上記で設定した 
        //  ユーザで接続され、そのユーザで BAPI の実行を試みる。 
        var objCon = new  BankController(sapClient); 
        
    }