2017-02-22 4 views
4

私はABAPプログラミングに関する経験がなく、SAPアプリケーション内からCプログラミング言語のインターフェイスを使用してサードパーティのライブラリを呼び出すことが可能かどうかを知りたいと思います。ABAP内から呼び出せるライブラリ(Cプログラミング言語インタフェースあり)はありますか?

より正確には、SAPアプリケーション内でIBM CPLEX Optimizer(ローカルマシン上で実行)を使用することです。 Optimizerはライブラリであり、C++、Java、および.NET(C#、VB.NET)に適合したAPIを備えています。私はそれがDLLファイルだと思います。

したがって、ABAPアプリケーション内からDLLの関数を呼び出すことができるかどうかを教えてください。

+0

CPLEXオプティマイザをクライアントマシンまたはサーバで実行しますか? – vwegert

答えて

7

あなたは次のように直接外部DLLを使用することができます。

DATA: cmp_dll TYPE ole2_object. 
CREATE OBJECT cmp_dll 'COMPANY.STOCK_DLL'. 
CALL METHOD OF cmp_dll 'check_order' = order 
EXPORTING p_num = 'number' 
      p_date = 'date' 
      p_vendor = 'vendor'. 

前あなたはSOLEトランザクションであなたのDLLを登録する必要があること、それがクライアント上、またはアプリケーション・サーバー上のいずれかに登録(およびからこれにアクセスすることができますに任意のクライアント)。

より良いオプションは、Trixxで示されるRFCラッパーです。
SXPG_COMMAND_EXECUTE経由でAS上で直接Cコードを実行することもできますが、これはあなたの質問の範囲外です。

+0

しかし、このソリューションではDLLにCOMインターフェイスをエクスポートする必要がありますか?任意のDLLでうまくいかないでしょうか? – Lanzelot

4

はい、可能ですが、外部側で独自の開発をした場合のみ可能です。 たとえば、SAPのRFCプロトコルを使用してABAPから外部プログラムを呼び出すことができます。このようなリモートファンクションコールを受信するには、外部プログラムがSAP Connector SDKを使用する必要があります。それであなた自身のプログラムはあなたが望むものであれば何でもできますが、もちろん他のプログラムやライブラリを使うこともできます。 .NETのためのSAP Javaコネクタ(JCoの)

  • Java用
    • :SAP .NETコネクタ(NCO)
    • SAPは、さまざまなプログラミング言語とランタイム環境のためにこれらのRFCのコネクタのSDKを提供していますC/C++のための

    • :SAP NetWeaverのRFC SDK(NW RFC SDK)

    さらなる情報についてはhttp://service.sap.com/connectorsを参照してください。

  • 関連する問題