各製品の資料を入手。
詳細はこちら →製品をチェック
JRuby からSAP にデータ連携
リアルタイムSAP に連携するシンプルなJRuby アプリケーションを作成します。
加藤龍彦デジタルマーケティング
最終更新日:2022-10-23
この記事で実現できるSAP 連携のシナリオ
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
JRuby はRuby プログラミング言語の高性能で安定した、完全にスレッド化されたJava 実装です。CData JDBC Driver for SAPERP を使用すると、JRuby からリアルタイムSAP へのデータ連携を簡単に実装できます。ここでは、SAP に接続し、クエリを実行して結果を表示する簡単なJRuby アプリを作成する方法を説明します。
SAP のデータにJDBC で接続
アプリを作成する前に、JDBC Driver のJAR ファイルのインストール場所をメモします。 (通常はC:\Program Files\CDatat\CData JDBC Driver for SAPERP\libにあります。)
JRuby は、JDBC をネイティブにサポートしているため、簡単にSAP に接続してSQL クエリを実行できます。java.sql.DriverManager クラスのgetConnection 関数を使用してJDBC 接続を初期化します。
CData 製品はSAP system にJCo JAR ファイルで接続します。Jco JAR ファイルの使い方は、ヘルプドキュメントの「はじめに」を参照してください。
また、SAP システムにSOAP Web service で接続することが可能です。SOAP アクセスには、Client、RFCUrl、User、Password の接続プロパティを入力します。
詳細情報はobtaining the connection properties を参照してください。
ビルトイン接続文字列デザイナー
JDBC URL の構成については、SAP JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.saperp.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。

以下はSAP の一般的なJDBC 接続文字列です。
jdbc:saperp:Host=sap.mydomain.com;User=EXT90033;Password=xxx;Client=800;System Number=09;ConnectionType=Classic;Location=C:/mysapschemafolder;
SAP のデータへの接続性を持つJRuby アプリを作成
新しいRuby ファイル(例: SAPERPSelect.rb) を作成してテキストエディタで開き、次のコードをファイルにコピーします。
require 'java'
require 'rubygems'
require 'C:/Program Files/CData/CData JDBC Driver for SAPERP 2018/lib/cdata.jdbc.saperp.jar'
url = "jdbc:saperp:Host=sap.mydomain.com;User=EXT90033;Password=xxx;Client=800;System Number=09;ConnectionType=Classic;Location=C:/mysapschemafolder;"
conn = java.sql.DriverManager.getConnection(url)
stmt = conn.createStatement
rs = stmt.executeQuery("SELECT MANDT, MBRSH FROM MARA")
while (rs.next) do
puts rs.getString(1) + ' ' + rs.getString(2)
end
ファイルが完成したら、コマンドラインからファイルを実行するだけでJRuby でSAP を表示できるようになります。
jruby -S SAPERPSelect.rb
SQL-92 クエリをSAP に書き込むと、SAP を独自のJRuby アプリケーションに素早く簡単に組み込むことができます。今すぐ無料トライアルをダウンロードしましょう。