比較ステップ

インポート・ステップでは、1つ以上の移行オブジェクトが作成されます。通常は、エクスポートの移行要求とその構成に基づいてエクスポートで選択されたレコードごとに1つの移行レコードが作成されます。関連するオブジェクトは、移行トランザクションにグループ化されます。

ビジネス・エンティティの大規模なデータ・セットをインポートする場合、パフォーマンス上の理由から、ユーザーはエンティティを一括モードでインポートするように要求できます。このモードでは、単一の移行オブジェクト・レコードにファイル内の複数のエンティティを含めることができます。詳細は、「「一括インポート」モード」を参照してください。

インポート・プロセスの次のステップは、比較ステップです。このステップでは、各オブジェクトのインポート・ファイルによって取得されたデータが、ターゲット環境のそのオブジェクトのビューと比較されます。

オブジェクトが大量である可能性に対応するために、比較はバッチ・モニターを介して行われます。プロセスのパフォーマンス向上のために、モニターはマルチスレッドで実行できるように移行オブジェクトで実行されます。オブジェクトの比較が終了すると、移行トランザクションおよび移行データ・セットは、次のステップに進む前に適切な全体ステータスで更新される必要があります。その結果、実際には、比較には移行オブジェクト比較、移行トランザクション・ステータス更新および移行データ・セット・エクスポート・ステータス更新という3つのステップが必要になります。これらのステップについて、以降の各項で詳細に説明します。

注意: プロセス内の様々なステップを簡素化する方法の詳細は、「バッチ・ジョブの実行」を参照してください。

移行オブジェクト比較

これは、比較の主要なステップです。「移行オブジェクト・モニター」(F1-MGOPR)によって、保留中の移行オブジェクト・レコードが選択され、「比較中」に遷移されます。これは、比較機能を実行するアルゴリズムが含まれた一時的状態です。アルゴリズム内のロジックに基づいて様々な結果が発生する可能性があります。次の図に、比較に関連する移行オブジェクト・ライフサイクルの一部を示します。

注意:

ビジネス・データの別個のバッチ・プロセスを使用する場合、「移行オブジェクト・モニター(ビジネス)」プロセス(F1-MGOPB)は、ビジネス移行オブジェクトを比較するのと同じ方法で機能します。

移行オブジェクト比較ライフサイクル

次に、ライフサイクルを説明します。

  • 「保留」レコードがモニター・バッチ・ジョブによって選択されると、「比較中」に遷移します。移行オブジェクトが1つ以上の事前比較アルゴリズムを参照する場合は、これらが実行されて比較前にデータを調整します。アルゴリズムによって、ソース・データがターゲット・データと比較され、適切な次の状態が決定されます。

  • エンティティに関連する注意:
    • 移行オブジェクト内のレコードがターゲット環境で見つかり、データがまったく同じである場合、レコードは「変更なし」に遷移します(オブジェクト処理値も「変更なし」に設定されます)。

    • 移行オブジェクト内のレコードがターゲット環境で見つかり、データが異なる場合、アルゴリズムによってオブジェクト処理値が「変更」に設定され、後で適用ステップでレコードを更新するために使用される適切なSQLが生成されます。次に、データ・セットで取得された「変更のデフォルト・ステータス」設定に基づいて、「承認済」「レビュー要」または「拒否済」に遷移します。

    • 移行オブジェクト内のレコードがターゲット環境で見つからない場合、アルゴリズムによってオブジェクト処理値が「追加」に設定され、後で適用ステップでレコードを挿入するために使用される適切なSQLが生成されます。次に、データ・セットで取得された「追加のデフォルト・ステータス」設定に基づいて、「承認済」「レビュー要」または「拒否済」に遷移します。

    • インポートを一括モードで実行すると、含まれるそれぞれのエンティティは個別に比較されますが、レコードの全体的なステータスは次のように設定されます。
      • 含まれるすべてのエンティティが変更されていない場合、移行オブジェクト・レコードは「変更なし」に遷移します(オブジェクト処理値も「変更なし」に設定されます)。

      • 含まれるすべてのエンティティが変更されていないか、変更されている場合、オブジェクト処理値は「変更」に設定され、変更されたエンティティについてのみ対応するSQLが生成され、データ・セットで取得された「変更のデフォルト・ステータス」設定に基づいて移行オブジェクトが遷移します。

      • 含まれるすべてのエンティティが変更されていないか、新しい場合、オブジェクト処理値は「追加」に設定され、新しいエンティティについてのみ対応するSQLが生成され、データ・セットで取得された「追加のデフォルト・ステータス」設定に基づいて移行オブジェクトが遷移します。

      • 含まれるエンティティの一部が新しく、一部が変更されている場合、オブジェクト処理値は「処理の併用」に設定され、それぞれのエンティティについて対応するSQLが生成され、データ・セットで取得された「変更のデフォルト・ステータス」設定に基づいて移行オブジェクトが遷移します。

  • インポートのオブジェクト・データを解析しようとして問題が発生した場合、レコードは「比較中エラー」に遷移します。

  • インポートされるオブジェクトがなんらかの理由でインポートに対して有効でない場合、レコードは「適用不可」に遷移します。レコードがこの状態に遷移する原因となったエラーでログが更新されます。たとえば、レコードが別のバージョンの製品でエクスポートされたために、このバージョンでは認識されない他の要素が含まれている場合があります。

注意: データ・セットの取消とその関連オブジェクトへの影響の詳細は、「データ・セットの取消」を参照してください。

移行トランザクション・ステータス更新

インポート・ステップの後、移行トランザクションは「保留」状態に保たれ、すべてのオブジェクトが比較ステップを完了するまでそのままです。その時点で、トランザクションのステータスはオブジェクトの結果に基づいて更新されます。移行トランザクション・モニター(F1-MGTPR)によって保留中の移行トランザクション・レコードが選択され、そのモニター・アルゴリズムが実行されます。アルゴリズム内のロジックに基づいて様々な結果が発生する可能性があります。次の図に、比較に関連する移行トランザクション・ライフサイクルの一部を示します。

移行トランザクション比較ライフサイクル

次に、ライフサイクルの「保留」後に続く次の状態を説明します。

  • 関連する移行オブジェクトのいずれかが「比較中エラー」状態の場合、トランザクションは「比較中エラー」に遷移します。

  • 関連する移行オブジェクトがすべて「変更なし」状態の場合、トランザクションは「変更なし」に遷移します。

  • それ以外の場合、トランザクションは「適用準備完了」に遷移します。これは、少なくとも1つのオブジェクトが適用可能な状態であることを意味します。

ユーザーがデータ・セットを承認して適用ステップに移動し、トランザクションの関連オブジェクトがそれら自体を適用しようとするまで、トランザクションは「適用準備完了」状態のままです。詳細は、次に説明します。

注意: データ・セットの取消とその関連オブジェクトへの影響の詳細は、「データ・セットの取消」を参照してください。

移行データ・セット・インポート・ステータス更新

前の2つのステップによってすべてのオブジェクトおよびすべてのトランザクションが更新されると、移行データ・セット・エクスポートはトランザクションの結果に基づいて更新される必要があります。「移行データ・セット・インポート・モニター」(F1-MGDIM)によって、「比較準備完了」のデータ・セットが選択され、そのモニター・アルゴリズムが実行されます。これは、「保留」のデータ・セットを選択するために使用される同じモニター・プロセスであることに注意してください。アルゴリズム内のロジックに基づいて様々な結果が発生する可能性があります。次の図に、比較に関連する移行トランザクション・ライフサイクルの一部を示します。

移行データ・セット比較ライフサイクル

次に、ライフサイクルの「比較準備完了」後に続く次の状態を説明します。

  • 関連する移行トランザクションのいずれかが「比較中エラー」状態の場合、データ・セットは「エラー」に遷移します。

  • 関連する移行トランザクションがすべて「変更なし」状態の場合、データ・セットは「変更なし」に遷移します。

  • それ以外の場合、トランザクションは「承認待ち」に遷移します。これは、エラーがなく、少なくとも1つのオブジェクトが適用可能な状態であることを意味します。

データ・セットとそのすべてのレコードについて、適用ステップに進む準備が整ったとユーザーが決定するまで、データ・セットは「承認待ち」状態のままです。

注意: ユーザーは、進行中のデータ・セットをいつでも取り消すことができます。詳細は、「データ・セットの取消」を参照してください。