ColdFusion で ODBC 経由のSAP Netweaver Gateway のデータをリアルタイムにインポートしてアプリケーションを構築
Adobe ColdFusion は、Web およびモバイルアプリケーションの開発プラットフォームです。独自のスクリプト言語である ColdFusion Markup Language(CFML)を使用して、データ駆動型の Web サイトを作成したり、REST などのリモートサービスを生成したりできます。ColdFusion を CData ODBC Driver for SAP Netweaver Gateway と組み合わせることで、ColdFusion の Web およびモバイルアプリケーションとSAP Netweaver Gateway のライブデータを連携できます。これにより、アプリケーションをより堅牢で完全なものにすることができます。この記事では、ODBC ドライバーを使って、ColdFusion マークアップファイル内でSAP Netweaver Gateway のデータを取得してテーブルを作成する方法を説明します。
このチュートリアルを進めるには、CData ODBC Driver for SAP Netweaver Gateway と Adobe ColdFusion をインストールする必要があります。
接続の設定
まだ設定していない場合は、ODBC DSN(データソース名)で接続プロパティを指定します。これはドライバーインストールの最終ステップです。Microsoft ODBC データソースアドミニストレーターを使って ODBC DSN を作成・設定できます。
SAP Gateway 接続プロパティの取得・設定方法
SAP Gateway のテーブルにアクセスするには、次の接続プロパティを設定します。
- URL = お使いの環境のURL、またはサービスの完全URL。例えば、完全URL は次のようになります:https://sapes5.sapdevcenter.com/sap/opu/odata/IWBEP/GWSAMPLE_BASIC/。この例では、環境URL は次のようになります:https://sapes5.sapdevcenter.com。CustomUrlParams プロパティを使用して、追加プロパティを追加します。
- Namespace = 適切なService Namespace。先ほどの例では、IWBEP が名前空間です。サービスへの完全URL が指定されている場合は任意です。
- Service = データを取得するサービス。先ほどの例では、サービスはGWSAMPLE_BASIC です。完全URL が指定されている場合は必須ではありません。
- CustomUrlParams = HTTP リクエストに含まれる必要のある追加プロパティ;例えばsap-client=001&sap-language=EN。
SAP Gateway への認証
SAP Gateway はBasic 認証、OAuth 2.0 認証、SAP BTP Destination 認証を許可します。
Basic 認証
Basic 認証を有効にするには、以下のプロパティを設定します。
- AuthScheme = Basic。
- User = SAP Gateway へのログインに使用するユーザー名。
- Password = SAP Gateway へのログインに使用するパスワード。
上記のプロパティを設定したら、接続の準備は完了です。ローカルデータにアクセスするには、個人の認証情報を使用します。
他の認証方法については、ヘルプドキュメントの「接続の確立」セクションを参照してください。
データソースの追加とテーブルの作成
DSN を作成したら、以下の手順に従って、新しいデータソースを追加し、接続をテストし、ColdFusion マークアップファイルを作成し、最後にSAP Netweaver Gateway のデータをインポートして ColdFusion でテーブルに表示します。
-
ColdFusion 管理インターフェースから、Data & Services を選択します。
-
ここで「Add New Data Source」をクリックします。データソース名は、ColdFusion の変数命名規則に準拠していれば任意の名前で構いません。ODBC ドライバーの場合は「ODBC Socket」を選択し、「Add」ボタンをクリックします。
-
ODBC DSN ドロップダウンメニューから CData SAP Netweaver Gateway Sys を選択します。Advanced Settings セクションでは、Connection String は空白のままにしておきます。なお、この入力フィールドで指定されたプロパティは、DSN 設定で指定されたものを上書きします。
-
次に、先ほど作成した CDataSAP Netweaver GatewayODBC データソースの左側にあるチェックマークを押して、接続をテストします。データソースが「OK」ステータスを報告したら、使用する準備ができています。
-
次に、新しい ColdFusion マークアップファイル(.cfm)を作成し、ColdFusion の wwwroot ディレクトリ(「C:\ColdFusion2021\cfusion\wwwroot」)に配置します。
以下のコードでデータソースをクエリします:
<cfquery name="SAP Netweaver GatewayQuery" dataSource="CDataSAP Netweaver GatewayODBC"> SELECT * FROM SalesOrderLineItems </cfquery>CFTable を使用すると、HTML でテーブルを簡単に出力できます:<cftable query = "SAP Netweaver GatewayQuery" border = "1" colHeaders colSpacing = "2" headerLines = "2" HTMLTable maxRows = "500" startRow = "1"> <cfcol header="<b>ProductID</b>" align="Left" width=2 text="ProductID"/> <cfcol header="<b>Quantity</b>" align="Left" width=15 text="Quantity"/> ... </cftable>HTML 部分を含む完全なコードは以下のとおりです:<html> <head><title>CData Software | SAP Netweaver Gateway SalesOrderLineItems Table Demo </title></head> <body> <cfoutput>#ucase("SAP Netweaver Gateway SalesOrderLineItems Table Demo")#</cfoutput> <cfquery name="SAP Netweaver GatewayQuery" dataSource="CDataSAP Netweaver GatewayODBC"> SELECT * FROM SalesOrderLineItems </cfquery> <cftable query = "SAP Netweaver GatewayQuery" border = "1" colHeaders colSpacing = "2" headerLines = "2" HTMLTable maxRows = "500" startRow = "1"> <cfcol header="<b>ProductID</b>" align="Left" width=2 text="ProductID"/> <cfcol header="<b>Quantity</b>" align="Left" width=15 text="Quantity"/> ... </cftable> </body> </html> -
最後に、ブラウザでコードを実行します。SAP Netweaver Gateway のデータを含むテーブルが表示されます。
なお、CData ODBC ドライバーは cfqueryparam 要素を使用したパラメータ化クエリもサポートしています。例:
SELECT * FROM Account WHERE name =
おわりに
CData ODBC Driver for SAP Netweaver Gateway の 30日間無償トライアルをダウンロードして、Adobe ColdFusion でSAP Netweaver Gateway 連携アプリケーションの構築を始めましょう。ご不明な点がございましたら、サポートチームまでお問い合わせください。