Etape Comparer

L'étape d'importation aboutit à la création d'un ou plusieurs objets de migration, En général, un enregistrement de migration est créé pour chaque enregistrement sélectionné dans l'export en fonction de la requête de migration de l'export et de sa configuration. Les objets associés sont regroupés dans des transactions de migration.

Lors de l'importation d'un ensemble de données à volume élevé d'entités métier, l'utilisateur peut demander à importer des entités en masse à des fins d'amélioration des performances. Dans ce mode, un seul enregistrement d'objet de migration peut contenir plusieurs entités provenant du fichier. Pour plus d'informations, voir Mode d'importation en masse.

L'étape suivant du processus d'importation est celle de comparaison. Au cours de cette étape, les données capturées par le fichier d'importation de chaque objet sont comparées à la vue de cet objet dans l'environnement cible.

Dans la perspective de traiter un haut volume d'objets, la comparaison s'effectue par l'intermédiaire d'un moniteur de batch. Pour faciliter l'exécution du processus, le moniteur agit sur les objets de migration, de manière à pouvoir être exécuté en mode multithread. Une fois que les objets en ont terminé avec la comparaison, les transactions de migration et le jeu de données de migration doivent être mis à jour à un état global approprié avant le passage à l'étape suivante. En conséquence, la comparaison s'effectue en fait en trois étapes : Comparaison de l'objet de migration, mise à jour de l'état de la transaction de migration et mis à jour de l'état d'exportation du jeu de données de migration. Ces étapes sont expliquées en détail dans les sections suivantes.

Remarque :
Pour plus d'informations sur la rationalisation des différentes étapes dans le processus, voir Exécuter des traitements batch.

Comparaison de l'objet de migration

C'est l'étape principale de la comparaison Le moniteur d'objet de migration (F1–MGOPR) sélectionne les enregistrements d'objets de migration en attente et les fait passer à l'état Comparaison. Il s'agit d'un état transitoire qui inclut l'algorithme qui exécute la tâche de comparaison. Les résultats obtenus sont divers, en fonction de la logique de l'algorithme. Le diagramme suivant illustre la partie du cycle de vie de l'objet de migration concernant la comparaison.

Remarque :
Lorsque vous utilisez des processus en mode batch distincts pour les données métier, le processus Moniteur d'objet de migration (données métier) (F1-MGOPB) fonctionne de la même manière pour appliquer des objets métier de migration.
Cycle de vie de comparaison d'un objet de migration

Les points suivants décrivent le cycle de vie.

  • Lorsque des enregistrements en attente sont sélectionnés par le traitement batch de surveillance, ils passent à l'état Comparaison. Si l'objet de migration fait référence à des algorithmes de pré-comparaison, ceux-ci sont exécutés pour ajuster les données avant la comparaison. L'algorithme détermine ensuite l'état suivant approprié en comparant les données source aux données cible.

  • Notes liées à l'entité :
    • Si l'enregistrement de l'objet de migration est trouvé dans l'environnement cible et que les données sont exactement identiques, l'enregistrement passe à l'état Inchangé (la valeur de l'action d'objet passant également à Inchangé).

    • Si l'enregistrement de l'objet de migration est trouvé dans l'environnement cible et que les données sont différentes, l'algorithme attribue à l'action d'objet la valeur Modifier et génère le SQL qu'il faudra utiliser plus tard, dans l'étape Appliquer, pour mettre à jour l'enregistrement. L'enregistrement passe ensuite à l'état Approuvé, Vérification requise ou Rejeté selon la valeur du paramètre Etat par défaut pour modification capturé dans le jeu de données.

    • Si l'enregistrement de l'objet de migration n'est pas trouvé dans l'environnement cible, l'algorithme attribue à l'action d'objet la valeur Ajouter et génère le SQL qu'il faudra utiliser plus tard, dans l'étape Appliquer, pour insérer l'enregistrement. L'enregistrement passe ensuite à l'état Approuvé, Vérification requise ou Rejeté selon la valeur du paramètre Etat par défaut pour ajout capturé dans le jeu de données.

    • Lorsque l'importation est effectuée en mode en masse, chaque entité incluse est comparée séparément mais l'état global de l'enregistrement est défini comme suit :
      • Si toutes les entités incluses sont inchangées, l'enregistrement d'objet de migration passe à Non modifié (la valeur d'action d'objet également définie sur Non modifié).

      • Si toutes les entités incluses sont inchangées ou modifiées, l'action d'objet prend la valeur Modifier), les instructions SQL correspondantes sont générées pour les entités modifiées uniquement et l'objet de migration est modifié en fonction du paramètre Etat par défaut pour modification capturé dans l'ensemble de données.

      • Si toutes les entités incluses sont inchangées ou nouvelles, l'action d'objet prend la valeur Ajouter), les instructions SQL correspondantes sont générées pour les entités nouvelles uniquement et l'objet de migration est modifié en fonction du paramètre Etat par défaut pour ajout capturé dans l'ensemble de données.

      • Si certaines des entités incluses sont nouvelles et d'autres modifiées, l'action d'objet prend la valeur Actions mixtes), les instructions SQL correspondantes sont générées pour chaque entité et l'objet de migration est modifié en fonction du paramètre Etat par défaut pour modification capturé dans l'ensemble de données.

  • En cas de problème lors de la tentative d'analyse des données d'objet à partir de l'importation, l'enregistrement passe à l'état Erreur de comparaison.

  • Si, pour une raison quelconque, l'objet importé n'est pas valide pour l'importation, l'enregistrement passe à l'état Application impossible. Le journal est mis à jour avec l'erreur qui a provoqué le passage de l'enregistrement à cet état. Par exemple, il se peut que l'enregistrement ait été exporté dans une version différente du produit et qu'il contienne des éléments supplémentaires qui ne sont pas reconnus dans cette version.

Remarque :
Pour plus d'informations sur l'annulation d'un jeu de données et son impact sur ses objets associés, voir Annuler un jeu de données.

Mise à jour de l'état d'une transaction de migration

Après l'étape d'importation, la transaction demeure à l'état En attente jusqu'à ce que l'étape de comparaison soit finalisée sur tous les objets. A ce stade, l'état des transactions doit être mis à jour à partir des résultats de leurs objets. Le moniteur de transactions de migration (F1–MGTPR) sélectionne les enregistrements de transaction de migration en attente et exécute ses algorithmes de surveillance. Les résultats obtenus sont divers, en fonction de la logique des algorithmes. Le diagramme suivant illustre la partie du cycle de vie de la transaction de migration concernant la comparaison.

Cycle de vie de comparaison d'une transaction de migration

Les points suivants décrivent les états possibles du cycle de vie à la suite de l'état En attente.

  • Si un objet de migration associé est à l'état Erreur de comparaison, la transaction passe à l'état Erreur de comparaison.

  • Si tous les objets de migration associés sont à l'état Inchangé, la transaction passe à l'état Inchangé.

  • Sinon, la transaction passe à l'état Prêt pour application. Cela signifie qu'au moins un objet est dans un état applicable.

La transaction demeure à l'état Prêt pour application jusqu'à ce qu'un utilisateur ait approuvé le jeu de données pour passer à l'étape Appliquer et que les objets associés de la transaction aient tenté de s'appliquer eux-mêmes. Cette procédure est décrite plus en détail ci-dessous.

Remarque :
Pour plus d'informations sur l'annulation d'un jeu de données et son impact sur ses objets associés, voir Annuler un jeu de données.

Mise à jour de l'état d'importation d'un jeu de données de migration

Lorsque tous les objets et toutes les transactions ont été mis à jour à la suite des deux étapes précédentes, l'exportation du jeu de données de migration doit être mise à jour en fonction des résultats des transactions. Le Moniteur d'importation de jeu de données de migration (F1-MGDIM) sélectionne les jeux de données prêts pour comparaison et exécute ses algorithmes de surveillance. Notez qu'il s'agit du même processus de surveillance que celui utilisé pour sélectionner les jeux de données en attente. Les résultats obtenus sont divers, en fonction de la logique des algorithmes. Le diagramme suivant illustre la partie du cycle de vie de la transaction de migration concernant la comparaison.

Cycle de vie de comparaison d'un jeu de données de migration

Les points suivants décrivent les états possibles du cycle de vie à la suite de l'état Prêt pour comparaison.

  • Si une transaction de migration associée est à l'état Erreur de comparaison, le jeu de données passe à l'état Erreur.

  • Si toutes les transactions de migration associées sont à l'état Inchangé, le jeu de données passe à l'état Inchangé.

  • Sinon, la transaction passe à l'état En attente d'approbation. Cela signifie qu'il n'y a aucune erreur et qu'au moins un objet est dans un état applicable.

Le jeu de données demeure dans l'état En attente d'approbation jusqu'à ce qu'un utilisateur décide que le jeu de données et tous ses enregistrements sont prêts à passer à l'étape Appliquer.

Remarque :
Un utilisateur peut opter pour annuler un jeu de données à tout moment pendant que celui-ci est en cours. Pour plus d'informations, voir Annuler un jeu de données.