Accéder au contenu principal Passer au contenu complémentaire

Définir le flux de consolidation

Procédure

  1. Double-cliquez sur le tRuleSurvivorship pour ouvrir sa vue Component.
  2. Sélectionnez GRP_ID dans la liste Group Identifier et GRP_SIZE dans la liste Group size.
  3. Dans le champ Rule package name, remplacez le nom par défaut, org.talend.survivorship.sample par le nom de votre choix, si nécessaire.
    Le flux de validation de consolidation est généré et sauvegardé sous son nom, dans la vue Repository de la perspective Integration.
  4. Dans la table Rule table, cliquez sur le bouton [+] pour ajouter une ligne par règle.
    Dans cet exemple, définissez une règle et complétez-la comme suit :

    Ordre

    Nom de la règle

    Colonne de référence

    Fonction

    Valeur

    Colonne cible

    Sequential

    "Rule1"

    Fichier

    Expression

    .equals("1")

    Acctname

    Une règle, "Rule1", est générée et exécutée par le composant tRuleSurvivorship. Cette règle valide les enregistrements dans la colonne File qui correspondent à l'expression saisie dans la colonne Value de la table Rule table. Le composant sélectionne la valeur correspondante comme étant la meilleure de la colonne cible Acctname.
  5. A côté du champ Generate rules and survivorship flow, cliquez sur l'icône pour générer l'ensemble de règles selon les conditions définies.
    L'ensemble de règles est généré et sauvegardé sous les nœuds Metadata > Rules Management > Survivorship Rules dans la vue Repository de la perspective Integration.
  6. Dans la vue Repository, parcourez votre système jusqu'au dossier Survivorship Rules et double-cliquez sur "Rule1" pour l'ouvrir.
    Cette règle sélectionne les valeurs provenant du fichier 1. Cependant, vous pouvez également consolider des enregistrements selon des critères spécifiques, par exemple, si Acctname a une valeur dans le premier fichier, vous pouvez utiliser cette valeur ou utiliser celle du fichier 2. Pour ce faire, vous devez modifier le code manuellement dans le fichier de règle.
  7. Modifiez la règle avec le code Drools suivant :
    package org.talend.survivorship.sample 
    
    rule "ExistInFile1"
        no-loop true
        dialect "mvel"
        ruleflow-group "Rule1Group"
    when
        $input : RecordIn( file.equals("1"), acctname!= null, !acctname.trim().equals("") )  
    then
        System.out.println("ExistInFile1 fired\t" + $input.record_id);
        dataset.survive( $input.TALEND_INTERNAL_ID, "Acctname" );
        dataset.survive( $input.TALEND_INTERNAL_ID, "File" );
    end
    
    rule "NotExistFile1"
        no-loop true
        dialect "mvel"
        ruleflow-group "Rule1Group"
    when
        $input : RecordIn( file.equals("2"), acctname!= null && !acctname.trim().equals("") )  
        (not (exists (RecordIn( file.equals("1") ))) 
        or exists( RecordIn( file.equals("1"), acctname== null || acctname.trim().equals("") ) ))
    then
        System.out.println("NotExistFile1 fired\t" + $input.record_id);
        dataset.survive( $input.TALEND_INTERNAL_ID, "Acctname" );
        dataset.survive( $input.TALEND_INTERNAL_ID, "File" );
    end
    Note InformationsAvertissement :

    Après avoir modifié le fichier de règle, vous ne devez pas cliquer sur l'icône . Sinon, vos modifications seront remplacées par la nouvelle génération de l'ensemble de règles.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !