Créer une carte de transformation ETL
Centre d’intégration ETL fournit une configuration guidée qui vous guide dans l’exécution de toutes les tâches nécessaires à la création d’une carte de transformation ETL pour une intégration spécifique.
Configuration guidée
Guided Setup organise toutes les tâches dans le bon ordre, suit leur achèvement et renforce toutes les dépendances de tâches. Les tâches qui dépendent de l’achèvement d’autres tâches sont activées ou désactivées à mesure que vous parcourez l’outil et que vous terminez les tâches.
Utilisez la configuration guidée sur la page Assistant de carte de transformation ETL pour effectuer les tâches suivantes.
Importer des données sources et spécifier les détails de base
Fournissez les détails de base pour l’intégration, tels que la source des données que vous souhaitez intégrer à la CMDB, et importez les données sources.
Avant de commencer
La source de données que vous envisagez de sélectionner pour la carte de transformation ETL doit exister dans le même périmètre de l’application que celui utilisé dans la session active.
Lorsque vous ouvrez une carte de transformation ETL, par défaut, la carte n’est pas validée. Vous pouvez activer cette étape de validation en ajoutant la propriété système sn_int_studio.validation.enabled à la table Propriétés système [sys_properties], puis en la définissant sur vrai. Une fois la validation terminée, vous choisissez comment gérer les erreurs de validation.
Rôle requis : cmdb_inst_admin
Procédure
Prévisualiser et préparer les données
Examinez les exemples d’enregistrements de données sources brutes, qui seront intégrés dans la CMDB. Transformez et préparez les données pour qu’elles s’alignent sur les classes et attributs cibles, si nécessaire.
Avant de commencer
Le nombre d’enregistrements dans les exemples de données est déterminé globalement par la propriété sn_int_studio.preview.sizesystème , définie sur 100 par défaut. Le nombre maximal d’enregistrements dans les exemples de données qu’IntegrationHub ETL peut traiter est de 10 000. Si vous définissez cette propriété au-dessus de la limite de 10 000, Centre d’intégration ETL ne traite que 10 000 enregistrements maximum et un message s’affiche à cet effet.
À partir d’IntegrationHub ETL v3.2, vous pouvez remplacer la valeur de la sn_int_studio.preview.size propriété en définissant le champ Remplacement de la taille de l’aperçu sur le formulaire Importer des données sources et fournir des détails de base, par carte.
Pour traiter les données imbriquées à partir d’une charge utile imbriquée, la source de données respective doit être définie avec l’option Données dans une seule colonne .
Rôle requis : cmdb_inst_admin
Pourquoi et quand exécuter cette tâche
Les colonnes des données imbriquées s’affichent à côté du reste des données, avec une notation Objets imbriqués dans l’en-tête de colonne de données. Le nombre d’éléments de données imbriqués par objet s’affiche avec un lien qui vous permet d’explorer des niveaux plus profonds des données imbriquées. Pour afficher la structure des données imbriquées dans un panneau séparé, activez l’option Afficher la structure des données .
Le panneau Structure des données propose deux options pour afficher les données imbriquées :
- Arborescence : données imbriquées regroupées par objets, où chaque nœud d’objet correspond à une entrée d’enregistrement dans les données sources. Développez les nœuds d’objets pour afficher toutes les données imbriquées de l’enregistrement.
- Collection : données imbriquées regroupées par objet de niveau supérieur (par défaut), puis par éléments de données imbriqués tels que des logiciels. Développez un nœud, par exemple Logiciel, pour afficher quel logiciel est installé sur chaque ordinateur.
Pour une démonstration sur l’utilisation des données de charges utiles imbriquées, regardez la vidéo de démonstration de la fonctionnalité de charge utile imbriquée Integration Hub - ETL sur la chaîne YouTube de ServiceNow.
Procédure
Résultats
À propos du mappage des colonnes de données aux classes et attributs CMDB
Il existe plusieurs exigences et directives pour le mappage des données sources sur les classes et attributs CMDB cibles. De plus, il est possible de désactiver les mappages de classe tout en préservant les paramètres pour une réactivation facile. Passez en revue ces concepts pour vous assurer qu’ils sont correctement traités par le moteur Identification et Réconciliation (IRE).
Mappages requis
- Clé native de la source
- IRE est utilisé pour identifier de façon unique un enregistrement et pour établir des relations et des références. Améliore également les performances des opérations d’insertion et de mise à jour. Lors du traitement d’une charge utile, IRE génère une erreur si ce champ est vide.
- Horodatage de la récence de la source
IRE permet d’identifier les enregistrements qui sont plus anciens que l’enregistrement actuel et qui peuvent donc être ignorés, afin de résoudre les valeurs d’attribut conflictuelles. Si une valeur est fournie, elle n’est utilisée que si elle est ultérieure à la valeur actuellement stockée dans la CMDB. Si aucune valeur n’est fournie, IRE met à jour l’attribut avec l’horodatage actuel.
Les propriétés système suivantes vous permettent de modifier la façon dont IRE utilise la valeur d’une source_recency_timestamp charge utile pour mettre à jour l’attribut last_scan dans la table Source [sys_object_source] :
Classe conditionnelle
Une classe conditionnelle vous permet de mapper différents ensembles d’enregistrements de données à différentes classes cibles en fonction de valeurs de colonne spécifiques ou de l’état d’un module d’extension spécifique.
Par exemple, si un nom d’affichage contient « Windows », « Windows Server » est sélectionné comme classe cible. Cependant, si le nom d’affichage contient « Linux », « Serveur Linux » est sélectionné comme classe cible. Pour les enregistrements qui ne remplissent aucune de ces conditions (le nom d’affichage ne contient ni « Windows » ni « Linux »), « Serveur » est sélectionné comme classe cible.
Classe associée
Une classe associée vous permet de sélectionner la classe CMDB à associer à une table cible non CMDB. La définition d’une classe associée est requise pour le traitement IRE si la table non CMDB n’est pas configurée pour le traitement IRE. Pour une table non CMDB prise en charge et configurée pour le traitement IRE, la définition d’une classe associée est facultative. Consultez Prise en charge IRE pour les tables non CMDB pour en savoir plus.
L’instance logicielle est une classe non-CMDB, mais aucune règle IRE ne lui est associée. Donc, les choses que nous avons dites à ce sujet ici avant l’Utah sont toujours valables. Toutefois, pour les classes non CMDB avec des règles IRE, il n’est pas obligatoire d’avoir une association. Par exemple, « Si la classe cible pour le mappage est une classe non CMDB avec une référence à une classe CMDB, vous devez sélectionner la classe CMDB à laquelle associer la classe cible non CMDB » classe non-CMDB avec des règles IRE Au lieu de « vous devez », cela devrait être. « C’est possible ». Idem pour l’exemple, il n’est pas valide pour les non-CMDB avec règles IRE.
Si la classe cible pour le mappage est une classe non CMDB avec une référence à une classe CMDB, vous devez sélectionner la classe CMDB à laquelle associer la classe cible non CMDB. Une classe non CMDB fait référence à une classe, telle que Numéro de série [cmdb_serial_number], qui n’étend pas la classe Élément de configuration [cmdb_ci]. La classe Entrée connexe [cmdb_related_entry] peut contenir plusieurs associations de classes CMDB pour la même classe non CMDB. Par conséquent, sélectionnez l’association appropriée pour permettre aux processus IRE de mettre à jour la classe cible non CMDB.
Par exemple, la classe Entrée connexe [cmdb_related_entry] possède un enregistrement qui associe la classe Instance logicielle non CMDB [cmdb_software_instance] à la classe Package logiciel CMDB [cmdb_ci_spkg]. Si vous sélectionnez Instance logicielle comme classe cible, vous devez associer la classe Instance logicielle à la classe Package logiciel [cmdb_ci_spkg].
Désactivation des mappages de classes
Lorsque vous modifiez une carte de transformation ETL, fournie par un connecteur du graphe de services par exemple, vous pouvez supprimer un mappage de classe pour empêcher le remplissage de la classe lors de l’exécution de l’intégration. Toutefois, si vous décidez ultérieurement de remplir cette classe, vous devez la rajouter et reconfigurer tous les mappages de classe. Au lieu de cela, vous pouvez désactiver un mappage de classe pour ignorer temporairement la classe pendant l’exécution de l’intégration, tout en préservant toute sa configuration de mappage. Une classe que vous choisissez de désactiver est grisée dans l’interface utilisateur, mais vous pouvez continuer et modifier les mappages de classe. Plus tard, vous pouvez réactiver un mappage de classe pour activer le remplissage de la classe, sans avoir besoin de reconfigurer les mappages de classe.
- apparaissent en gris clair dans l’interface utilisateur et vous ne pouvez pas les réactiver.
- Sont automatiquement réactivés lorsque vous réactivez :
- La classe que vous avez initialement désactivée et qui a déclenché la désactivation automatique
- Toutes les classes dont dépend la classe désactivée
Toutes les classes pour lesquelles vous désactivez directement les mappages et les mappages de classes qui en résultent et qui sont automatiquement désactivés ne sont pas renseignées lors de l’exécution de l’intégration. En outre, les tables de recherche et les relations associées à ces classes ne sont pas renseignées lors de l’exécution de l’intégration.
- Désactivez une classe dont aucune classe ne dépend et qui n’a pas de classes associées :
Déclenche une désactivation automatique de toutes les règles de recherche et relations associées à la classe désactivée.
- Désactivez une règle de recherche, telle qu’un numéro de série, dans un mappage de classes :
Ne déclenche aucune désactivation automatique.
- Désactivez une classe CMDB associée à une classe non CMDB :
- Déclenche une désactivation automatique de la classe non-CMDB associée.
- La désactivation de la classe non CMDB n’affecte pas la classe CMDB associée.
- Désactivez une classe ayant des relations dépendantes (s’applique uniquement si la relation dépendante existe dans Centre d’intégration ETL) :
- Déclenche une désactivation automatique de toute classe qui a une relation dépendante unique avec la classe désactivée.
Si une classe a plusieurs relations dépendantes, elle est automatiquement désactivée uniquement lorsque vous désactivez toutes les classes dépendantes.
Par exemple, un scénario dans lequel la classe File System a des relations dépendantes à la fois avec la classe Computer et la classe Server. Si vous désactivez la classe Computer, la classe File System n’est pas automatiquement désactivée. La classe File System est automatiquement désactivée uniquement si vous désactivez également la classe Server.
- Désactivez une classe conditionnelle ou un mappage de classe dans une classe conditionnelle :
- La désactivation ou l’activation d’une classe conditionnelle déclenche une désactivation ou une activation automatique de tous les mappages de classe conditionnelle au sein de la classe conditionnelle.
Désactivation d’un mappage de classe dans une classe conditionnelle : empêche le renseigné de la classe désactivée pendant les exécutions d’intégration. Toutefois, les conditions « If », « Else if » ou « Else » associées restent elles-mêmes en vigueur dans la condition de la classe conditionnelle. Par exemple, si vous désactivez le mappage de classes suivant :
[Si] [operating_system] [contient] [Linux] Alors [Classe] [est] [Serveur Linux].
Ensuite, la classe Linux Server n’est pas renseignée, mais la condition [If] [operating_system] [contains] [Linux] est appliquée.
Mapper les colonnes de données aux classes et attributs CMDB
Choisissez les classes et attributs cibles dans la CMDB auxquels mapper les colonnes de données sources. Vous pouvez mapper une colonne de données à une classe cible spécifique ou ajouter des conditions afin que le choix de la classe cible dépende de valeurs de données spécifiques.
Avant de commencer
Pourquoi et quand exécuter cette tâche
Les colonnes de données que vous mappez peuvent être soit des colonnes de données sources qui n’ont pas été transformées, soit des colonnes de données transformées. Par exemple, pour intégrer une colonne de données dans les classes Computer and Software Package (Ordinateur) et Software Package, sélectionnez ces classes en tant que classes cibles, puis mappez les colonnes de données dans des attributs spécifiques de ces classes.
Lorsque vous configurez le mappage pour une classe, une relation ou une règle de recherche, ces éléments sont toujours initialement définis comme activés. Pour plus d’informations sur les résultats de la désactivation des mappages, consultez Désactivation des mappages de classes.
Procédure
Ajouter des relations
Ajoutez des relations qui existent parmi les classes CMDB cibles pour une intégration.
Avant de commencer
- Une classe que vous souhaitez ajouter à la relation doit être dans un état activé.
- Une relation de base ou une relation au sein d’une relation conditionnelle, que vous souhaitez modifier, doit être dans un état activé.
- Dans une relation conditionnelle que vous souhaitez modifier, au moins une condition de relation doit être dans un état activé. Sinon, le bouton Modifier la relation est grisé.
Rôle requis : cmdb_inst_admin
Pourquoi et quand exécuter cette tâche
Lors de la création de relations avec des données imbriquées, vous ne pouvez pas créer de relation entre des objets frères à partir des données imbriquées. Si vous prenez l’exemple de payload pour les données imbriquées comme exemple, vous ne pouvez pas créer de relation entre les interfaces et le logiciel.
Visibilité ITOM, s’il est disponible, utilise des modèles de détection améliorés pour identifier et ajouter des relations CI à la table Relations suggérées dans le système de base. Le cas échéant, utilisez la table Relations suggérées pour sélectionner les relations conformes aux Modèle de données de services de base normes (CSDM).
Procédure
Prévisualiser les résultats du mappage
Prévisualisez les résultats de l’intégration des exemples de données.
Avant de commencer
Pourquoi et quand exécuter cette tâche
Une fois que vous avez affiché les détails dans la page de résumé, vous pouvez revenir à n’importe quelle étape pour effectuer des ajustements, puis réexécuter l’intégration.
Procédure
Fournir le calendrier d’intégration
Configurez un calendrier pour l’importation de données vers CMDB à l’aide de cette carte de transformation ETL.
Avant de commencer
Procédure
Types de transformation dans Centre d’intégration ETL
Utilisez diverses transformations dans Centre d’intégration ETL pour convertir et préparer les données sources pour le mappage à la CMDB.
Les transformations de l’application de stockage Integration Commons for CMDB sont également disponibles dans Centre d’intégration ETL.
Concaténation
Combine les valeurs des champs d’entrée en une seule chaîne, en les joignant dans le champ facultatif joining_string .
| Détails | |
|---|---|
| Table | sys_rte_eb_concat_operation |
| Champs d'entrée | source_sys_rte_eb_fields |
| Champ de sortie | target_sys_rte_eb_field |
| Champs supplémentaires | joining_string (Facultatif) |
| Exemple | |
|---|---|
| Entrée | « input_1 », « input_2 », « input_3 » |
| Champs supplémentaires | joining_string = ", " |
| Résultat | « input_1, input_2, input_3 » |
Convertir en booléen
Convertit la valeur entrante en booléen. Les valeurs Vraiet 1 sont converties en Vrai (sans respect de la casse) et toutes les autres valeurs sont converties en Faux.
| Détails | |
|---|---|
| Table | sys_rte_eb_to_boolean_operation |
| Champs d'entrée | source_sys_rte_eb_field |
| Champ de sortie | target_sys_rte_eb_field |
- Toutes les entrées suivantes renvoient « vrai » :
- VRAI
- 1
- Toutes les entrées suivantes renvoient « faux » :
- « input_1 »
- ""
- 0
- 11
Convertir en date
Tente de convertir la valeur entrante en GlideDateTime valeur en appliquant la date_format valeur à la valeur entrante. Tente de convertir directement à l’aide GlideDateTime de si le date_format est incorrect.
| Détails | |
|---|---|
| Table | sys_rte_eb_to_date_operation |
| Champs d'entrée | source_sys_rte_eb_field |
| Champ de sortie | target_sys_rte_eb_field Renvoie une valeur vide s’il ne peut pas du tout analyser. |
| Champs supplémentaires | date_format (format de date simple Java) |
| Exemple | |
|---|---|
| Entrée | « 2018/09/20 11 :21 :00 HE » |
| Champs supplémentaires | date_format = « aaaa/MM/jj hh :mm :ss a z » |
| Résultat | "2018-09-20 16:21:00" |
| Exemple | |
|---|---|
| Entrée | « 2018/09/20 13 :21 :00 HNE » |
| Champs supplémentaires | date_format = « aaaa/MM/jj hh :mm :ss a z » |
| Résultat | "2018-09-20 18:21:00" |
| Exemple | |
|---|---|
| Entrée | « 20/09/18 » |
| Champs supplémentaires | date_format = « aaaa/MM/jj hh :mm :ss a z » |
| Résultat | "0018-09-20 00:00:00" |
Convertir en numérique
Convertit la valeur entrante en nombre.
| Détails | |
|---|---|
| Table | sys_rte_eb_to_numeric_operation |
| Champs d'entrée | source_sys_rte_eb_field |
| Champ de sortie | target_sys_rte_eb_field Si la valeur entrante n’est pas numérique, la sortie est vide. |
| Exemple | |
|---|---|
| Entrée | 1.23 |
| Résultat | 1.23 |
| Exemple | |
|---|---|
| Entrée | 1.00 |
| Résultat | 1 |
| Exemple | |
|---|---|
| Entrée | input_1 |
| Résultat | null |
| Exemple | |
|---|---|
| Entrée | deux |
| Résultat | null |
Copier
Copie la valeur du champ source dans tous les champs cibles.
| Détails | |
|---|---|
| Table | sys_rte_eb_copy_operation |
| Champs d'entrée | source_sys_rte_eb_field |
| Champ de sortie | target_sys_rte_eb_fields |
| Champs supplémentaires | overwrite_existing_value (facultatif, booléen) : si la valeur est vrai, les valeurs des champs cibles sont remplacées. Sinon, les valeurs non vides ne sont pas remplacées. |
Extraire les valeurs numériques de début
Définit le champ cible comme étant la première valeur numérique trouvée dans le champ source.
| Détails | |
|---|---|
| Table | sys_rte_eb_extract_numeric_operation |
| Champs d'entrée | source_sys_rte_eb_field |
| Champ de sortie | target_sys_rte_eb_field |
| Champs supplémentaires |
|
| Exemple | |
|---|---|
| Entrée | « 100 Mo » |
| Résultat | « 100 » |
| Exemple | |
|---|---|
| Entrée | « 100.123 mb » |
| Résultat | « 100.123 » |
| Exemple | |
|---|---|
| Entrée | « 100.123 mb » |
| Champs supplémentaires | decimal_places = 2 |
| Résultat | "100.12" |
| Exemple | |
|---|---|
| Entrée | « 100 Mo » |
| Champs supplémentaires | decimal_places = 2 |
| Résultat | "100.00" |
| Exemple | |
|---|---|
| Entrée | « 100 Mo » |
| Champs supplémentaires | remainder_target_field = <champ> |
| Résultat | « 100 » et <field> = « mb » |
Recherche Glide
Effectue une recherche dans la base de données sur le target_table.
| Détails | |
|---|---|
| Table | sys_rte_eb_glide_lookup_operation |
| Champs d'entrée | source_sys_rte_eb_fields |
| Champ de sortie | target_sys_rte_eb_fields |
| Champs supplémentaires |
|
| Exemple | |
|---|---|
| Entrée |
|
| Champs supplémentaires |
|
| Résultat | Champ de sortie 1 : 25ab9c4d0a0a0bb300f7dabdc0ca7c1c |
Min/Max
Définit le champ cible sur la valeur maximale ou minimale des valeurs de tous les champs d’entrée.
| Détails | |
|---|---|
| Table | sys_rte_eb_min_max_operation |
| Champs d'entrée | source_sys_rte_eb_fields |
| Champ de sortie | target_sys_rte_eb_field |
| Champs supplémentaires |
|
| Exemple | |
|---|---|
| Entrée | "2", "-1", "0" |
| Champs supplémentaires |
|
| Résultat | "2" |
| Exemple | |
|---|---|
| Entrée | « a », « b » |
| Champs supplémentaires |
|
| Résultat | « b » |
| Exemple | |
|---|---|
| Entrée | "2", "-1", "0" |
| Champs supplémentaires |
|
| Résultat | "-1" |
| Exemple | |
|---|---|
| Entrée | « a », « b » |
| Champs supplémentaires |
|
| Résultat | « un » |
Script d'entrée multiple
Exécute un script avec plusieurs entrées, définissant la target_field sortie == pour ce script.
Chaque champ source est disponible à l’intérieur de la variable « batch » sous forme de champs JavScript. Le nom du champ JavaScript est l’attribut de champ du champ d’entité (en regardant sys_rte_eb_field.field, et non sys_rte_eb_field.name).
| Détails | |
|---|---|
| Table | sys_rte_eb_multi_in_script_operation |
| Champs d'entrée | source_sys_rte_eb_fields |
| Champ de sortie | target_sys_rte_eb_field |
| Champs supplémentaires |
|
| Enregistrement | record_type | operating_system | record_with_os |
|---|---|---|---|
| 1 | ordinateur | Windows XP | |
| 2 | ordinateur | Linux | |
| 3 | ordinateur | Windows XP |
(function(batch, output) {
for (var i = 0; i < batch.length; i++) {
// batch[i] is the unique set of inputs/individual record
// batch[i].<field> gives access to the field value
var in0 = gs.nil(batch[i].record_type) ? '' : batch[i].record_type;
var in1 = gs.nil(batch[i].operating_system) ? '' : batch[i].operating_system;
// output[i] is the output for the specific combination of inputs/individual record
output[i] = in0 + "_" + in1;
}
}
})(batch, output); /* Example Script
// In this example the script input fields are 'input_field_1', 'input_field_2' - replace these with the fields used as script inputs // There is a static field 'input' that has all the input field values concatenated with a '|' (function(batch, output) {
for (var i = 0; i < batch.length; i++) {
//step1: access the input variables
var a = batch[i].input_field_1; //Value of the first source field.
var b = batch[i].input_field_2; //Value of the second source field.
//step2: Your script/code goes here.
var c = a + b;
//step3: set the output for each elements
output[i] = b;
}
})(batch, output);
*/Remplacement de Rexeg
Remplace chaque sous-chaîne de la chaîne entrante qui correspond au , spécifié match_regexpar la valeur de chaîne spécifiée replacement_regex .
| Détails | |
|---|---|
| Table | sys_rte_eb_regex_replace_operation |
| Champs d'entrée | source_sys_rte_eb_field |
| Champ de sortie | target_sys_rte_eb_field |
| Champs supplémentaires |
|
| Exemple | |
|---|---|
| Entrée | « String&With(Special)$Characters » |
| Champs supplémentaires |
|
| Résultat | « Chaîne avec caractères spéciaux » |
Remplacer
Remplace chaque sous-chaîne de la chaîne entrante qui correspond au , spécifié match_stringpar la valeur de replacement_string chaîne.
| Détails | |
|---|---|
| Table | sys_rte_eb_replace_operation |
| Champs d'entrée | source_sys_rte_eb_field |
| Champ de sortie | target_sys_rte_eb_field |
| Champs supplémentaires |
|
| Exemple | |
|---|---|
| Entrée | « Chaîne d’origine » |
| Champs supplémentaires |
|
| Résultat | « Chaîne de remplacement » |
Numérique arrondi
Arrondit la valeur du nombre au nombre entier le plus proche. Les non-nombres sont tronqués.
| Détails | |
|---|---|
| Table | sys_rte_eb_round_numeric_operation |
| Champs d'entrée | source_sys_rte_eb_field |
| Champ de sortie | target_sys_rte_eb_field |
| Exemple | |
|---|---|
| Entrée | "1.5" |
| Résultat | « 2 » |
| Exemple | |
|---|---|
| Entrée | "1.4" |
| Résultat | « 1 » |
| Exemple | |
|---|---|
| Entrée | « Je suis une corde » |
| Résultat | "" |
Script
Exécute un script avec une entrée, définissant la sortie target_field == pour ce script.
Cette transformation a été remplacée par la transformation du script d’entrée multiple et est incluse pour la rétrocompatibilité avec les configurations existantes.
| Détails | |
|---|---|
| Table | sys_rte_eb_script_operation |
| Champs d'entrée | source_sys_rte_eb_field |
| Champ de sortie | target_sys_rte_eb_field |
| Champs supplémentaires |
|
(function(batch, output) {
for (var i = 0; i < batch.length; i++) {
// batch[i] is the unique set of inputs/individual record
// batch[i].input gives access to the field value
var in0 = gs.nil(batch[i].input) ? '' : batch[i].input;
// output[i] is the output for the specific combination of inputs/individual record
output[i] = in0 + " modified by script”;
}
}
})(batch, output); /* Example Script
(function(batch, output) {
for (var i = 0; i < batch.length; i++) {
//step1: access the input variables
var a = batch[i].input; //Value of the source field.
//step2: Your script/code goes here.
var b = a + 1;
//step3: set the output for each elements
output[i] = b;
}
})(batch, output);
*/ Définir
Définit la valeur du champ cible sur la chaîne spécifiée dans set_value.
| Détails | |
|---|---|
| Table | sys_rte_eb_set_operation |
| Champs d'entrée | source_sys_rte_eb_field |
| Champ de sortie | target_sys_rte_eb_field |
| Champs supplémentaires |
|
Division
Fractionne la valeur du champ source sur le splitting_string et affecte chaque élément résultant de la division au , dans l’ordre target_sys_rte_eb_fields.
| Détails | |
|---|---|
| Table | sys_rte_eb_split_operation |
| Champs d'entrée | source_sys_rte_eb_field |
| Champ de sortie | target_sys_rte_eb_fields |
| Champs supplémentaires | splitting_string (chaîne) |
| Exemple | |
|---|---|
| Entrée | « valeur1||valeur2||value3 », avec target_sys_rte_eb_fields {target1,target2,target3} |
| Champs supplémentaires | splitting_string = "||" |
| Résultat | target1 : value1, target2 : value2, target3 : value3 |
| Exemple | |
|---|---|
| Entrée | « valeur1||valeur2||value3 », avec target_sys_rte_eb_fields {target1} |
| Champs supplémentaires | splitting_string = "||" |
| Résultat | target1 : value1 |
| Exemple | |
|---|---|
| Entrée | « value1 », avec target_sys_rte_eb_fields {target1,target2,target3} |
| Champs supplémentaires | splitting_string = "||" |
| Résultat | target1 : value1, target2 : <null>, target3 : <null> |
Découpage
Supprime les espaces de début et de fin de la source_sys_rte_eb_field valeur et attribue le résultat à la target_sys_rte_eb_field. Cette transformation est équivalente à une String.trim() Java.
| Détails | |
|---|---|
| Table | sys_rte_eb_trim_operation |
| Champs d'entrée | source_sys_rte_eb_field |
| Champ de sortie | target_sys_rte_eb_field |
| Exemple | |
|---|---|
| Entrée | « valeur 1 » |
| Résultat | « valeur 1 » |
Majuscule
Met la valeur en majuscules source_sys_rte_eb_field et attribue le résultat à target_sys_rte_eb_field.
| Détails | |
|---|---|
| Table | sys_rte_eb_upper_case_operation |
| Champs d'entrée | source_sys_rte_eb_field |
| Champ de sortie | target_sys_rte_eb_field |
| Exemple | |
|---|---|
| Entrée | « valeur1 » |
| Résultat | « VALEUR1 » |
Découpage des majuscules
Combine à la fois les transformations Majuscule et Découpage.
| Détails | |
|---|---|
| Table | sys_rte_eb_upper_case_trim_operation |
| Champs d'entrée | source_sys_rte_eb_field |
| Champ de sortie | target_sys_rte_eb_field |
| Exemple | |
|---|---|
| Entrée | « valeur1 » |
| Résultat | « VALEUR1 » |