Boutons intelligents
Contrôles/éléments XML

If then else <ConditionalAction>

Le contrôle <ConditionalAction> (If Then Else) est l’instruction de flux la plus élémentaire. Il indique à un script d’exécuter une certaine section de code uniquement si un test particulier est évalué comme vrai.

(Si quelque chose est vrai, alors faites quelque chose ; sinon, faites autre chose).

Par exemple, vous souhaitez poser une question à l’écran à l’agent : Voulez-vous ajouter un centre de coûts ?

  • Si l’agent sélectionne Oui, une boîte de dialogue s’ouvre dans laquelle l’agent peut entrer le centre de coûts. Ce centre de coûts est ajouté au fichier de réservation en tant que remarque DI.

  • Si l’agent ne sélectionne pas Oui, le script se termine.

Copier
<ButtonConf ButtonName="ConditionalAction test" Description="" QuickCommand="">
<CheckListBox Question="Do you want to add Cost Center?" Width="100" SelectDefaultAll="False" VarName="YesNo" SingleSelect="False" IsMandatory="True">
Yes;No
</CheckListBox>
<ConditionalAction Condition="YesNo==Yes">
<True>
<TextBox VarName="CostCenter" Question="Enter Cost Center" Width="25"></TextBox>
<RunCommand>DI.FT-Cost Center: [CostCenter]</RunCommand>
</True>
<False>
<Exit />
</False>
</ConditionalAction>
</ButtonConf>

Configuration

Vous pouvez configurer ConditionalAction à l’aide du générateur XML If then Else ou de XML.

Configuration à l’aide du générateur XML If then Else

Pour configurer à l’aide de l’éditeur If Then Else :

  1. Ouvrez l’éditeur de boutons intelligents pour créer un script.

  2. Cliquez sur If then else <ConditionalAction>.

  3. Configurez les attributs.

    Attribut

    Description

    Argument de gauche/
    Argument juste

    Entrez le nom de la variable ou le texte sur lequel vous souhaitez effectuer la vérification. Par exemple, dans l’exemple au début de ce chapitre, nous voulions vérifier si la variable [YesNo] est égale à text : Yes ,donc l’argument de gauche est la variable [YesNo] et le droit est text : Yes.

    Vous voudrez peut-être laisser l’un des arguments vide. Par exemple, vous voulez vérifier si votre PNR est ouvert, vous devez donc vérifier si le numéro PNR existe, donc votre argument droit pourrait être la variable [CurrentPNRNr] et l’argument droit pourrait être vide (cela signifie : si la variable [CurrentPnrNr] est égale à vide...)

    Le code XML ressemblerait à ceci : <ConditionalAction Condition="[CurrentPnrNr]==">

    Condition

    Cliquez sur la flèche correspondant à la condition à appliquer aux arguments.

    Condition

    Description

    ==

    est égal à

    != n’est pas égale à
    > est supérieur à
    < est inférieur à
    >= est supérieur ou égal à
    <= est inférieur ou égal à
    Définir une condition complexe à l’aide des opérateurs logiques et des groupes OR et AND Sélectionnez cette option pour utiliser des conditions complexes qui incluent les opérateurs OR ou ET. Plus d’informations ci-dessous.
    La condition est convenue Entrez les contrôles (éléments XML) que vous souhaitez exécuter lorsque votre condition est acceptée (True). Vous pouvez le laisser vide, puis si votre condition est Vraie, aucune action ne sera entreprise.
    L’état n’est pas convenu Entrez les contrôles (éléments XML) que vous souhaitez exécuter lorsque votre condition n’est pas convenue (False). Vous pouvez le laisser vide, puis si votre condition est False, aucune action ne sera entreprise.
  4. Cliquez sur Soumettre.

Configuration avec XML

Pour configurer, entrez les éléments XML suivants directement dans l’éditeur de boutons intelligents Travelport.

Note: Les éléments <!-- gris sont des commentaires de code, qui peuvent être supprimés du code si vous le souhaitez.

Copier
<ConditionalAction Condition="">
<!-- for '>' sign use &gt; -->
<!-- for '<' sign use &lt; -->
<True>
<!--XML code to run when condition will resolve positive-->
</True>
<False>
<!--XML code to run when condition will NOT resolve positive-->
</False>
</ConditionalAction>
Action Conditionnelle

Le seul attribut utilisé dans l’élément XML ConditionalAction est Condition. Par exemple, dans <ConditionalAction Condition="[ABC] !=6">, la valeur de la condition est : [ABC] !=6 est :

  • [ABC] est le nom de la variable

  • != est la condition (non égale à)

  • 6 est la valeur comparée

Valeurs de condition

État ou
Conditions possibles

Description

Exemple

== Est égal à <ConditionalAction Condition="RecordLocator==">
!= n’est pas égale à <ConditionalAction Condition="PCC actuel !=73XV">
> est supérieur à

<ConditionalAction Condition="NumberOfTickets>=1">

Note: Les symboles Supérieur à > et Inférieur à < ne sont pas acceptés en XML, c’est pourquoi > et < sont utilisés à leur place.

&lt; est inférieur à <ConditionalAction Condition="PaxAge< 16 pouces >
>= est supérieur ou égal à <ConditionalAction Condition="TicketPrice>=6000">
&lt;= est inférieur ou égal à <ConditionalAction Condition="CustomerBalance<=450">
Affections complexes

Vous pouvez définir des conditions complexes à l’aide d’opérateurs logiques et de groupes OR et AND .

Les éléments <ConditionalAction> vous permettent d’effectuer une comparaison logique entre une variable et le résultat attendu en testant une condition et en renvoyant un résultat si cette condition est True ou False.

Cependant, s’il peut être nécessaire de tester plusieurs conditions, où :

  • Toutes les conditions doivent être vraies ou fausses (ET)

  • Une seule condition doit être Vrai ou Faux (OU)

Dans ces situations, vous pouvez ajouter de nombreuses conditions dans un élément <ConditionalAction> et les combiner avec les opérateurs OR et AND.

  • Opérateur de la salle d’opération
    L’opérateur logique conditionnel OR calcule le OU logique de ses opérandes. Le résultat de x OU y est vrai si x ou y est vrai. Sinon, le résultat est False.

  • ET opérateur
    L’opérateur logique conditionnel AND calcule le ET logique de ses opérandes. Le résultat de x ET y est vrai si x et y sont tous deux égaux à Vrai. Sinon, le résultat est False.

Par exemple, vous pouvez vérifier si le PCC actif est 73XV ou 5L4C.

Conditions de regroupement

Utilisez des parenthèses () pour modifier l’ordre d’évaluation imposé par la priorité de l’opérateur.

Par exemple, vous pouvez vérifier si :

  • Le PCC actif est l’un de ces trois PCC : 73XV, 5L4C, XYZ

  • [RecordLocator] n’est pas vide

Les mêmes ensembles de variables peuvent donner des résultats de script différents, avec ou sans parenthèses.

Par exemple, nous pouvons créer deux scripts qui remplissent tous deux les trois conditions suivantes :

  • Si la variable MNO est égale à 1 (False)

  • Si la variable ABC est égale à 1 (True)

  • Si la variable XYZ est égale à 2 (True)

Pour les deux scripts, si la condition est :

  • True, le message True s’affiche.

  • False, le message False s’affiche.

La seule différence entre le script 1 et le script 2 est l’ajout de parenthèses dans le script 2, qui regroupe la condition.

Texte 1 : Pas de regroupement (parenthèses)

<ConditionalAction Condition="[MNO]==1 ET [ABC]==1 OU [XYZ]==2">

Résultat

Texte 2 : Groupement (parenthèses)

<ConditionalAction Condition="[MNO]==1 ET ([ABC]==1 OU [XYZ]==2)">

Résultat

Exemples pour <ConditionalAction>
Exemple 1

Si un fichier PNR/Réservation doit être ouvert pour que le script fonctionne correctement, vous pouvez ajouter un morceau de code au script qui vérifie si le fichier PNR/Réservation est ouvert.

Le script suivant affiche le message Ouvrez le PNR en premier, si aucun localisateur d’enregistrements actif n’est trouvé. (Condition="PNRRecordLocator == » -La variable PNRRecordLocator est égale à null)

Copier
<ButtonConf ButtonName="test 30" Description="" QuickCommand="">
<Variable   VarName="PNRRecordLocator">%RecordLocator%</Variable>
<ConditionalAction Condition="PNRRecordLocator ==">
<True>
<ShowMessage>Open PNR first</ShowMessage>
</True>
</ConditionalAction>
</ButtonConf>
Exemple 2

Si une option de changement de réservation est offerte après avoir effectué une soumission tarifaire Best Buy (FQBB), affichez le message : VOUS POUVEZ MODIFIER VOTRE RPA.

Si la modification de la réservation n’est pas proposée, ajoutez une remarque du Bloc-notes : AUCUNE NOUVELLE RÉSERVATION N’A ÉTÉ TROUVÉE.