SSIS Components for Acumatica

Build 25.0.9434

接続の確立

Visual Studio 2022 でSSIS を有効化

Visual Studio 2022 を使用している場合、SSIS を使用するにはSQL Server Integration Services プロジェクト拡張機能をインストールする必要があります。

  1. 拡張機能 -> 拡張機能の管理に移動します。
  2. 拡張機能の管理ウィンドウの検索ボックスで"SQL Server Integration Services Projects 2022" を検索し、リストから拡張機能を選択します。
  3. ダウンロードをクリックします。
  4. Visual Studio を終了し、ダウンロードしたMicrosoft.DataTools.IntegrationServices.exe インストーラーを実行します。デフォルト設定でインストーラーを進めてください。
  5. Visual Studio を開きます。これで、"Integration Services Project" プロジェクトテンプレートが利用可能になるはずです。

Acumatica 接続マネージャーの追加

新しい接続マネージャーを以下のように作成します。

  1. "Integration Services Project" テンプレートを使用してVisual Studio プロジェクトを作成します。
  2. 接続マネージャーウィンドウ内で右クリックし、メニューから新しい接続を選択します。
  3. 説明カラムでCData Acumatica Connection Manager を選択し、追加...をクリックします。
  4. 次のセクションで説明するように、本製品 を設定します。

または、既存のプロジェクトがあり、CData Acumatica Source またはCData Acumatica Destination がある場合:

  1. データフローでCData Acumatica Source またはDestination コンポーネントを右クリックします。
  2. 編集...を選択し、編集ウィンドウを開きます。
  3. 接続マネージャー:の横にある新規作成...ボタンをクリックします。ドロップダウンのセレクターを使用して接続マネージャーを作成します。
  4. 次のセクションで説明するように、本製品 を設定します。

Acumatica への接続

Acumatica データソースに接続するには、次の接続プロパティを指定する必要があります。

  • URL:(必須)Acumatica ERP インスタンスのベースURL。例:https://domain.acumatica.com/
  • Schema:(オプション)異なるデータを含む2つのスキーマがあります。デフォルトはREST で、Acumatica REST 契約ベースのAPI を使用し、OData スキーマはAcumatica OData API を使用します。OData スキーマはAcumatica Generic Inquiries へのクエリに使用されます。
  • Company:(一部必須)会社名またはテナント名に設定。Schema がOData に設定されている場合は必須です。
  • EndpointVersion:(オプション)Web Services エンドポイントのバージョン。例:24.200.001。これはREST スキーマにのみ適用されます。
  • EndpointName:(オプション)Web Services エンドポイントの名前。例:Default。これはREST スキーマにのみ適用されます。

Acumatica インスタンスのEndpointVersion およびEndpointName を調べるには、Web ブラウザでAcumatica にログインし、Web Service Endpoints ページに移動します。必要に応じて、Web ブラウザのURL を編集し、ScreenId=00000000(ホームページ)を ScreenId=SM207060 に置き換えてこのページに移動してください。ホームページにリダイレクトされる場合は、ユーザーがWeb サービスにアクセスするために必要な権限を持っていないことを意味します。Endpoints プロパティで[Endpoint Name]および[Endpoint Version]を取得します。

Generic Inquiries の公開

本製品 は、Generic inquiries データをテーブルやビューとして検出することができます。ただし、それらを公開するには、まずWeb Services Endpoint を拡張する必要があります。

Generic inquiries を公開するプロセスは、Schema 接続プロパティで指定されたスキーマによって異なります。

REST スキーマ

Generic Inquiries は、デフォルトではREST 経由で公開されません。公開するには:

  1. Acumatica UI でIntegration > Show All > Web Service Endpoints に移動します。
  2. 最新のエンドポイントバージョンを使用している"Default" エンドポイントをクリックします。
  3. 利用可能なアクションボタン(ページ上部のエンドポイント名の下のボタンバー)から、EXTEND ENDPOINT をクリックします。
    • このアクションは、"..." ボタンをクリックして表示される全アクションリストから見つける必要があるかもしれません。
  4. Endpoint Name を使用して拡張エンドポイントに名前を付け、Endpoint Version でエンドポイントのバージョンを指定し、OK をクリックします。
  5. 新しい拡張エンドポイントのページで、+ Insert ボタン(ENDPOINT ツリー構造の上)をクリックします。
  6. 以下のように、新しいカスタムオブジェクトのエンティティ定義を作成します。
    • Object Name フィールドにオブジェクトの名前を付けます。
    • Object Type フィールドはデフォルトのTop-Level のままにしておきます。
    • Screen Name フィールドで、虫眼鏡アイコンをクリックして、Generic Inquiries に関連するスクリーンを検索します。Generic Inquiries のSite Map Title フィールドに一致する画面を選択します。
      • 自動入力されたScreen ID フィールドの値が、Generic Inquiries の値と一致していることを確認します。
    • OK をクリックします。
  7. 以下のように、カスタムオブジェクトの下に新しい"Results" エンティティを作成します。
    • ENDPOINT ツリー構造で新しく作成したオブジェクトを選択し、+ Insert ボタンをクリックします。
    • Field Name を"Result" に設定します。
    • Object Name でこのオブジェクトの名前を指定します。
    • Object TypeDetail に設定します。
    • OK をクリックします。
  8. ENDPOINT ツリー構造で、カスタムオブジェクトのノードを展開し、作成したばかりの新しいResults オブジェクトを選択して FIELDS > POPULATE をクリックします。
  9. Populate Field ウィンドウのObject フィールドで、"Result"(先ほど作成したオブジェクト)を選択します。
  10. Generic Inquiry から公開する各フィールドのチェックボックスを選択し、OK をクリックします。
  11. テーブルリストで公開されているGeneric Inquiry を表示するには、EndpointName を拡張エンドポイントの名前に設定し、InquiryTables を上記ステップ6のトップレベルカスタムオブジェクトの名前に設定します。

OData スキーマ

Generic Inquiries は、デフォルトではOData 経由で公開されません。公開するには、Acumatica UI でCustomization > Profiles > Generic Inquiry に移動し、Expose via OData チェックボックスを選択します。

Acumatica への認証

Acumatica データソースへの接続に使用できる認証方法は2つあります。Basic およびOAuth です。

ユーザー資格情報

AuthSchemeBasic に設定し、UserPassword をログイン資格情報に設定します。

OAuth

OAuth は、認証ユーザーがブラウザを使用してAcumatica と通信することを必要とするため、すべてのOAuth フローはカスタムOAuth アプリケーションを必要とします。また、すべてのフローでAuthSchemeOAuth に設定します。以下のセクションは、すでに設定済みであることを前提として書かれています。

デスクトップアプリケーション

CData は、OAuth デスクトップ認証を簡略化する埋め込みOAuth アプリケーションを提供します。代わりに、カスタムOAuth アプリケーションを作成することも可能です。カスタムアプリケーションの作成およびその理由については、カスタムOAuth アプリの作成 を参照してください。

認証に関する2つの方法の違いは、カスタムOAuth アプリケーションを使用する場合に、2つの接続プロパティを追加で設定する必要があることだけです。

次の接続プロパティを設定して、接続してください。

  • InitiateOAuthGETANDREFRESH に設定。InitiateOAuth を使うと、OAuth 交換の繰り返しや、手動でのOAuthAccessToken 設定を避けられます。
  • OAuthClientId:アプリケーション設定のクライアントId に設定。
  • OAuthClientSecret:アプリケーション設定のクライアントシークレットに設定。
  • CallbackURL:アプリケーション設定のリダイレクトURL に設定。

接続すると、本製品 はデフォルトブラウザでOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。本製品 はこれでOAuth プロセスを完了します。

  1. コールバックURL からアクセストークンを取得し、リクエストを認証します。
  2. 古いトークンの期限が切れたときは、新しいアクセストークンを取得します。
  3. OAuthSettingsLocation にOAuth 値を保存し、接続間で永続化します。

Web アプリケーション

Web アプリケーション経由で接続する場合は、Acumatica にカスタムOAuth アプリケーションを作成および登録する必要があります。カスタムアプリケーションについて詳しくは、カスタムOAuth アプリの作成 を参照してください。それから本製品 を使用してOAuth トークンの値を取得および管理します。

OAuth アクセストークンの取得

次の接続プロパティを設定し、OAuthAccessToken を取得します。

  • OAuthClientId:アプリケーション設定のクライアントId に設定。
  • OAuthClientSecret:アプリケーション設定のクライアントシークレットに設定。

続いてストアドプロシージャを呼び出し、OAuth 交換を完了します。

  1. GetOAuthAuthorizationURL ストアドプロシージャを呼び出します。CallbackURL インプットをアプリケーション設定で指定したコールバックURL に設定します。必要に応じて、Scope パラメータを設定してカスタム権限をリクエストします。

    ストアドプロシージャがOAuth エンドポイントのURL を返します。

  2. URL を開き、ログインして、アプリケーションを認可します。コールバックURL にリダイレクトされます。
  3. GetOAuthAccessToken ストアドプロシージャを呼び出します。AuthMode インプットをWEB に設定します。Verifier インプットを、コールバックURL のクエリ文字列の"code" パラメータに設定します。必要に応じて、Scope パラメータを設定してカスタム権限をリクエストします。

アクセストークンとリフレッシュトークンを取得すると、データに接続し、OAuth アクセストークンを自動または手動でリフレッシュすることができるようになります。

OAuth アクセストークンの自動リフレッシュ

ドライバーがOAuth アクセストークンを自動的にリフレッシュするようにするには、最初のデータ接続で次のように設定します。

次回のデータ接続では、OAuthAccessToken およびOAuthRefreshToken の値は、OAuthSettingsLocation から取得されます。

OAuth アクセストークンの手動リフレッシュ

データ接続時に手動でOAuth アクセストークンをリフレッシュするために必要な値は、OAuth リフレッシュトークンのみです。

GetOAuthAccessToken によって返されたExpiresIn パラメータ値が経過した後に、RefreshOAuthAccessToken ストアドプロシージャを使用し、手動でOAuthAccessToken をリフレッシュします。次の接続プロパティを設定します。

  • OAuthClientId:アプリケーション設定のクライアントId に設定。
  • OAuthClientSecret:アプリケーション設定のクライアントシークレットに設定。

次に、RefreshOAuthAccessToken を呼び出し、OAuthRefreshTokenGetOAuthAccessToken によって返されたOAuth リフレッシュトークンを指定します。新しいトークンが取得できたら、OAuthAccessToken プロパティにRefreshOAuthAccessToken によって返された値を設定し、新しい接続をオープンします。

最後に、OAuth リフレッシュトークンを保存し、OAuth アクセストークンの有効期限が切れた後に手動でリフレッシュできるようにします。

Copyright (c) 2025 CData Software, Inc. - All rights reserved.
Build 25.0.9434