Configuration du schéma pour générer la requête de relation parent-enfant

Salesforce

author
Talend Documentation Team
EnrichVersion
6.4
EnrichProdName
Talend Open Studio for Data Integration
Talend Big Data
Talend Data Management Platform
Talend Open Studio for ESB
Talend Real-Time Big Data Platform
Talend Open Studio for Big Data
Talend Data Services Platform
Talend MDM Platform
Talend Big Data Platform
Talend Data Fabric
Talend ESB
Talend Data Integration
Talend Open Studio for MDM
task
Qualité et préparation de données > Systèmes tiers > Applications métier > Composants Salesforce
Gouvernance de données > Systèmes tiers > Applications métier > Composants Salesforce
Création et développement > Systèmes tiers > Applications métier > Composants Salesforce
EnrichPlatform
Studio Talend

Cette section explique comment configurer le nom du module et les colonnes du schéma pour générer une requête de relation parent-enfant.

Les deux exemples suivants de requête de relation parent-enfant seront utilisés à des fins de démonstration dans les étapes suivantes :

  • SELECT Name, Owner.Name (SELECT CreatedBy.Name FROM Notes) FROM Account, une requête de relation parent-enfant avec un élément et des champs standards et

  • SELECT LastName__c, (SELECT FirstName__c FROM Daughters__r) FROM Mother__c, une requête de relation parent-enfant avec un élément et des champs personnalisés.

    Notez que vous devez utiliser ici un nom de relation avec __r au lieu de __c. Pour plus d'informations, consultez Understanding Relationship Names, Custom Objects, and Custom Fields (en anglais).

Procédure

  1. Configurez le nom du module avec le nom de l'objet spécifié dans la requête extérieure (clause FROM), Account et Mother__c dans les exemples ci-dessus.
  2. Créez une colonne pour chaque champ (y compris les champs dans la sous-requête) après SELECT dans la fenêtre de schéma.

    Pour le premier exemple, vous devez créer trois colonnes pour les trois champs, y compris les deux champs Name et Owner.Name après la clause extérieure SELECT et un champ CreatedBy.Name après la sous-requête SELECT.

    Pour le second exemple, vous devez créer deux colonnes pour les deux champs, y compris le champ LastName__c après la clause extérieure SELECT et le champ FirstName__c après la sous-requête SELECT.

  3. Pour les champs dans la clause extérieure SELECT, qui sont hors des parenthèses, configurez le nom de chaque colonne avec le nom de chaque champ et remplacer tous les points du nom de colonne par des tirets bas.

    Pour le premier exemple, les noms de colonnes des deux champs Name et Owner.Name dans la clause extérieure SELECT sont définis comme Name et Owner_Name.

    Pour le second exemple, il n'y pas de "." dans le nom du fichier, afin que le nom de la colonne soit le même que le nom du champ.

  4. Pour les champs dans la sous-requête SELECT, construisez les noms de colonnes en utilisant le modèle <$XXX>_records_<$YYY>, où <$XXX> correspond au nom de l'objet spécifié dans la sous-requête (clause FROM) et <$YYY> sera le nom du champ, une fois les points remplacés par des tirets bas.

    Pour le premier exemple, le nom de la colonne pour le champ CreatedBy.Name dans la sous-requête est défini comme Notes_records_CreatedBy_Name.

    Pour le second exemple, le nom de la colonne pour le champ FirstName__c dans la sous-requête est défini à Daughters__r_records_FirstName__c.

  5. Configurez le type de chaque colonne.

    Le schéma pour le premier exemple doit être défini comme suit :

    Le schéma pour le second exemple doit être défini comme suit :

    Le caractère tiret bas '_' est utilisé en tant que séparateur entre le nom de la relation et le nom du champ dans le schéma Talend. Seul le tiret bas '_' après '__r' ou '__c' sera remplacé par le caractère point '.' lors de la génération de la requête. Si le tiret bas '_' fait partie d'un nom personnalisé dans le schéma, par exemple, Contact_custom_field__c, devrait être Contact.custom_field__c dans la requête, vous devez remplacer '_' dans la requête générée par '.', manuellement.