データ移行のエンティティの開発
このチュートリアルでは、Microsoft Visual Studio でデータ エンティティを開発し、データ移行に使用する方法を示します。
このチュートリアルは、2 つのセクションと 4 つの演習に分かれています。 最初のセクションでは、Visual Studio でプロジェクト カテゴリ エンティティを構築します。 次に、このエンティティを使用して、データをエクスポートします。 2 番目のセクションで、新しいデータのインポート/エクスポート フレームワークを使用することで、顧客グループおよび顧客エンティティを使用して複数のセットのファイルをインポートします。
注意
このチュートリアルは、 データ エンティティの構築と使用よりも少し難しく設計されています。 ステップ バイ ステップのガイドを提供するのではなく、シナリオ練習を設けて、期待される結果を示します。 エンティティをすでに理解していることを前提としています。
前提条件
このチュートリアルでは、リモート デスクトップを使用して環境にアクセスする必要があります。 インスタンスに管理者としてプロビジョニングする必要があります。
基準 URL
このチュートリアルでは、「ベース URL」はインスタンスのベース URL を指します。
- クラウド環境では、ベース URL は Microsoft Dynamics Lifecycle Services (LCS) から取得されます。
- ローカル仮想マシン (VM) の、基準 URL は
https://usnconeboxax1aos.cloud.onebox.dynamics.com
です。
Visual Studio でエンティティを開発し、データをエクスポートできるようにする
ビジネスの問題
プロジェクト モジュールの新しいソリューションを開発しています。 実装の一環として、このデータをシステムにインポートするか、システムからエクスポートできるようにプロジェクト カテゴリのデータを表す必要があります。 この目標を達成するには、まずプロジェクト カテゴリのエンティティを作成し、エクスポート機能を使用してデータ抽出をテストします。
手順 1: プロジェクト カテゴリのエンティティを構築
この練習では、プロジェクト カテゴリというエンティティを構築し、ProjCategory テーブルをプライマリ データ ソースとして使用します。 このエンティティには、次のプロパティがあります。
プロパティ | 先頭値 |
---|---|
エンティティ AOT の名前 | ProjectCategoryEntity |
ラベル | プロジェクト カテゴリ |
エンティティ カテゴリ | 参照 |
パブリック名 | ProjectCategory |
グループ名 | ProjectCategories |
パブリック API の有効化 | 有 |
データ管理の有効化 | 有 |
エンティティには、次のフィールドもあります。
- ActiveInJournals
- CategoryGroup
- カテゴリ
- TransactionType
- CategoryName
- ワーカー
- CustomerPaymentRetention
- IndirectCostComponent
- ItemSalesTaxGroup
- ServiceCode
- 休暇
ステップ
Visual Studio で、新しいアプリケーション プロジェクトを作成します。
ソリューション エクスプローラーで、プロジェクトを選択してからプロパティを右クリックします。
次のプロジェクト プロパティを指定し、OK をクリックします。
プロパティ 先頭値 モデル Application Suite 法人 USSI ビルド上にデータベースを同期 はい プロジェクトから、追加 > 新しい品目を右クリックします。
データ モデル > データ エンティティを新しい項目として選択します。
名前を入力し、次に追加をクリックするとデータ エンティティ ウィザードが開始されます。
ウィザードの最初のページで、この練習の前の表を使用して、エンティティのプロパティのセットを指定します。 次へ をクリックします。
次のページで、プライマリ データ ソースからフィールドを追加します。 フィールド名ごとに、パブリック契約が反映されていることを確認します (この練習では前の表を参照してください)。 フィールドのラベルをフィールド名として使用するには、ラベルをフィールド名に変換 オプションを選択します。 エンティティに必須ではないフィールドのオプションをクリアします。
ウィザードを完了し、エンティティとそのコンポーネントをプロジェクトに追加するには、完了をクリックします。
エンティティの使用を開始できるように、プロジェクトをビルドします。
予想される結果
Visual Studio で、データ エンティティ ウィザードを完了すると、次のコンポーネントがプロジェクトに表示されます。
データ エンティティを右クリックし、テーブル ブラウザーを開く を選択します。
注意
会社が USSI に設定されていることを確認してください。
手順 2: サンプル ファイル マッピングおよびフィルターを使用して限られたデータ セットをエクスポート
この練習では、データをエクスポートするために構築したプロジェクト カテゴリ エンティティを使用します。 データのサブセットのみをエクスポートするには、サンプル ファイルのマッピングとフィルターを使用します。 エクスポートされたデータは XML 形式です。
ステップ
プロジェクト カテゴリ エンティティを作成した後、クライアントを開始します。
会社を USSI に変更します。
データ管理ワークスペースで、エクスポートをクリックしてデータの抽出を開始します。
エンティティ名およびターゲット データ形式などのエクスポートの詳細を入力します。
テキスト エディタでこのファイルを開き、XML ファイルとして保存します。 サンプル ファイル マッピングが無効の場合、エンティティに不適切なフィールド名があります。 続行するため、エンティティまたはサンプル ファイルのいずれかを修正します。
フィルターをクリックし、フィルター条件としてプロジェクトを指定すると、限定されたデータのみがエクスポートされます。
エクスポート ダイアログ ボックスで、OK をクリックします。
予想される結果
- 15 のレコードは正常にエクスポートされます。
データのインポート/エクスポート フレームワークを使用した複数のファイルのデータの移行
ビジネスの問題
新しい環境を実装しています。 この実装の一環として、レガシ顧客データを移行する必要があります。 データは 2 つのファイル セットに含まれ、各ファイルには顧客および顧客顧客グループのエンティティのデータが含まれています。 データ ファイルの一部の列がエンティティに直接マップされないため、この移行はやや複雑です。 また、ファイルには、インポート処理中に修正する必要がある検証エラーがあります。
手順 3: データ プロジェクトを作成し、複数のファイルをインポート
この練習では、新しいデータのインポート/エクスポート フレームワークを使用して、2 つのファイルを USRT という会社にインポートします。 これらのファイルは、単一のデータ プロジェクトを使用して順番にインポートする必要があります。 顧客 エンティティには、顧客グループ エンティティへの参照があります。 Customers1 ファイルが顧客エンティティに正しくマップされないため、ファイルをアップロードするときにエラーが表示されます。 したがって、インポート プロセスを完了するには、Customers エンティティに正しい列マッピングを提供する必要があります。
ステップ
Microsoft Excel で以下のファイルを開いて、ローカル ディレクトリ内に CSV ファイルとして保存する:
クライアントで、会社を USRT に変更します。
ユーザーダッシュ ボードから、データ管理ワークスペースを開きます。
新しいデータ プロジェクトを設定するには、インポートをクリックします。
名前およびファイルの形式などのプロジェクト詳細を入力します。
各ファイルについては、エンティティを選択し、次にデータ ファイルをアップロードします。
Customer1.csv ファイルが顧客エンティティに正しくマップされないため、ファイルをアップロードするときにエラーが表示されます。 ファイルがアップロードされた後、マッピングの表示をクリックし、顧客エンティティ列のマッピングを修正します。
ヒント
CustomerAccount インポート中にエンティティで必要になるアカウントです。 ソース ファイルで AccountNum からマップされます。 住所フィールドは、インポートのオプションです。
完了したら、ブラウザの 戻る ボタンをクリックして、データ プロジェクトに戻ります。
データ プロジェクトページで、今すぐインポートをクリックします。
予想される結果
4 つの更新および 23 の挿入が正常にインポートされ、実行の要約ページが結果を表示します。
手順 4: 既存のデータ プロジェクトを使い再インポートし、ステージングでデータを管理
この練習では、新しいファイルのセットを使用して、既存のデータ プロジェクトからデータをインポートします。 Customers2 は顧客エンティティの新規および更新されたデータを含みます。 CustomerGroups2 は顧客グループ エンティティの更新されたデータを含みます。 Customers2 には、いくつかのエラー レコードが含まれています。 ステージングでのこれらのエラーを修正し、データを検証し、それをターゲットに送って、インポートを実行します。
ステップ
- データ管理ワークスペースで、既存のデータ プロジェクトを選択し、再インポートをクリックします。 再インポート機能を使用することにより、データ プロジェクトの以前の設定を保持し、インポートに新しいファイルを使用することができます。 ただし、データ プロジェクトの再読み込みをクリックし、代わりに新しいファイルをアップロードする場合、以前のマッピングが上書きされます。
- Excel で以下のファイルを開いて、ローカル ディレクトリ内の CSV ファイルとして保存する:
各エンティティの新しいファイルをアップロードし、今すぐインポート をクリックします。
ステータスページで、実行ログの表示をクリックしてエラーを調査します。
ステータスページで、ステージングの表示をクリックして、ステージング テーブルのデータを表示します。 このビューには、エラーのあるレコードも表示されます。
エラーが発生したレコードを修正するには、編集をクリックします。 (DM10221 および DM1022 レコードの顧客グループ値は無効です。)
修正したレコードを選択し、検証 をクリックします。 ページを更新し、レコードのステータスが 検証済み であることを確認します。
データをターゲットにコピーをクリックします。
実行するジョブ ID の選択ダイアログ ボックスの実行フィールドで基準を選択して、ユーザーによって選択された行をはいに設定します。 OK をクリックします。
ターゲット データ実行ページで、実行をクリックします。
実行が完了したら、ページを更新して、最新のステージングの状態を確認します。
予想される結果
- 最初の試行で、顧客グループエンティティのインポートが成功し、顧客エンティティでは部分的に成功します。
- 実行の概要 ページには、5 つのレコードが作成され、3 つのレコードが更新され、2 つのレコードにエラーがあることが表示されます。
- ステージング ビューでは、2 つのレコードにエラーがあります。
- レコードを修正し再度インポートを実行すると、ステージング ビューにすべてのレコードが完了したことが表示されます。