各製品の資料を入手。
詳細はこちら →PowerBuilder からSAP Netweaver Gateway のデータに接続してみた
この記事ではCData ADO.NET Provider を使ってPowerBuilder からSAP Netweaver Gateway にアクセスする方法を説明します。
最終更新日:2021-06-28
この記事で実現できるSAP Netweaver Gateway 連携のシナリオ
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
CData ADO.NET providers は、PowerBuilder を含むMicrosoft .NET をサポートするあらゆるプラットフォームまたは開発テクノロジーから使用できる、使いやすい標準準拠のデータプロバイダーです。 この記事では、CData ADO.NET Provider for SAPGateway をPowerBuilder で使う方法について説明します。
CData ADO.NET Provider for SAPGateway を使ってデータを取得し読み書きを実行する基本的なPowerBuilder アプリケーションを作成する方法について説明します。
- 新規WPF Window Application ソリューションで、接続プロパティに必要なすべてのビジュアルコントロールを追加します。一般的な接続文字列は次のとおりです:
User=user;Password=password;URL=https://sapes5.sapdevcenter.com/sap/opu/odata/IWBEP/GWSAMPLE_BASIC/;InitiateOAuth=GETANDREFRESH
SAP Gateway はBasic 認証とOAuth 2.0 認証の両方を許可します。Basic 認証を使用して自分のアカウントに接続するか、OAuth を使用して他のユーザーが彼らのアカウントでサービスからデータを取得できるようにすることができます。基本となる認証情報に加え、SAP Gateway テーブルへのアクセスには以下の追加プロパティが必要です。
- Url: 環境のURL、またはサービスの完全URL に設定。例えば、完全URL は次のようになります:https://sapes5.sapdevcenter.com/sap/opu/odata/IWBEP/GWSAMPLE_BASIC/。この例では、環境URL は次のようになります:https://sapes5.sapdevcenter.com。
- Namespace: 適切なService Namespace を設定。先ほどの例では、IWBEP が名前空間です。サービスへの完全URL が指定されている場合は任意です。
- Service: データを取得するサービスに設定。先ほどの例では、サービスはGWSAMPLE_BASIC です。完全URL が指定されている場合は必須ではありません。
Basic 認証での認証
Basic 認証では、自分のログインクレデンシャルを使用して接続します。次のプロパティを設定します。
- User: これはSAP Gateway へのログインに使用するユーザー名です。
- Password: これはSAP Gateway へのログインに使用するパスワードです。
OAuth 認証での認証
ユーザー資格情報の接続プロパティを設定せずに接続できます。 接続すると、CData 製品はデフォルトブラウザでSAP Gateway OAuth エンドポイントを開きます。ログインして、CData 製品にアクセス許可を与えます。CData 製品が以下のOAuth プロセスを完了します。 他のOAuth 認証フローについては、ヘルプドキュメントの「OAuth 認証の使用」を参照してください。
- .NET コントロールからDataGrid コントロールを追加します。
-
DataGrid コントロールのカラムを設定します。Account テーブルからいくつかのカラムを以下に示します:
<DataGrid AutoGenerateColumns="False" Margin="13,249,12,14" Name="datagrid1" TabIndex="70" ItemsSource="{Binding}"> <DataGrid.Columns> <DataGridTextColumn x:Name="idColumn" Binding="{Binding Path=Id}" Header="Id" Width="SizeToHeader" /> <DataGridTextColumn x:Name="nameColumn" Binding="{Binding Path=ProductID}" Header="ProductID" Width="SizeToHeader" /> ... </DataGrid.Columns> </DataGrid>
- CData ADO.NET Provider for SAPGateway アセンブリへの参照を追加します。
DataGrid 接続
ビジュアルエレメントが設定されたら、Connection、Command、およびDataAdapter のような標準のADO.NET オブジェクトを使ってSQL クエリの結果をDataTable に表示することができます:
System.Data.CData.SAPGateway.SAPGatewayConnection conn
conn = create System.Data.CData.SAPGateway.SAPGatewayConnection(connectionString)
System.Data.CData.SAPGateway.SAPGatewayCommand comm
comm = create System.Data.CData.SAPGateway.SAPGatewayCommand(command, conn)
System.Data.DataTable table
table = create System.Data.DataTable
System.Data.CData.SAPGateway.SAPGatewayDataAdapter dataAdapter
dataAdapter = create System.Data.CData.SAPGateway.SAPGatewayDataAdapter(comm)
dataAdapter.Fill(table)
datagrid1.ItemsSource=table.DefaultView
上のコードは、指定したクエリからDataGrid にデータをバインドできます。