Fonctions Table

Exemple d'utilisation des fonctions Table

Vérifier qu'un argument est présent en Table

Renvoyer la valeur correspondant à un poste donné d'une Table

Renvoyer une partie de la valeur d'un poste donné d'une Table

À propos des Fonctions Table

Vous utilisez les Fonctions Table pour accéder à des données contenues dans une Table afin de vérifier qu'un argument donné est présent dans la Table ou afin de renvoyer la valeur ou une partie de la valeur d'un poste donné de Table.

La syntaxe à utiliser varie selon la fonction :

  • contrôler qu'un argument donné est présent dans la Table par rapport à la Date d'application des Règles (DAR) ou par rapport à une Date spécifique :
    $CHECKTAB
    (nom_table; operande1)
    $CHECKTABD(
    nom_table; operande1; operande2)
  • renvoyer la valeur d'un poste donné de Table correspondant à l'argument et la Date d'application des Règles (DAR) ou une date spécifique :
    $ACCTAB
    (nom_table; operande 1)
    $ACCTABD(
    nom_table; operande1; operande2)
  • renvoyer une partie de la valeur d'un poste donné de Table en fonction de l'argument et de la Date d'application des Règles (DAR) ou d'une date spécifique :
    $EXTTAB
    (nom_table;"pppplllt"; operande1)
    $EXTTABD(
    nom_table;"pppplllt"; operande1; operande2)

Pour plus d'information sur les Tables, reportez-vous à commencez ici : Tables

Exemple d'utilisation des fonctions Table

Chaque colonne dans une Table est définie par un nom et une classe de données. Chaque ligne dans une Table est accessible par sa clé ; elle possède une date de début et une date de fin. Ces dates de début et de fin permettent de définir une période de validité pour les données de chaque ligne de la Table. Par exemple, une Table pourrait stocker des taux de change monétaires qui varient au cours du temps. Vous pouvez définir une période de validité pour chaque valeur du taux de change présent dans la table, et retrouver les différentes valeurs en fonction de la date que vous spécifiez.

Les périodes de validité correspondant à un ensemble donné de colonnes clé ne peuvent pas se chevaucher. La date de fin de la première version définit la date de début de la suivante. C'est-à-dire, date de fin + 1.

La Table suivante, "COMM_RT", contient des taux de commissions relatives à des transactions. Elle contient :

  • Trois colonnes Clé, indiquées clairement par l'icône clé , qui identifient chaque ligne de la table de manière unique.
    • TRANS : Type de Transaction (trois caractères alphanumériques)
    • SRC_CD: Code pays de l'Émetteur (dix caractères alphanumériques)
    • DEST_CD : Code du Pays de destination (dix caractères alphanumériques).
  • Deux colonnes Valeur qui identifient les colonnes qui contiennent les valeurs à retrouver :
    • RATE : Taux (trois caractères numériques)
    • COMM_FEE : Montant de la Commission minimum (trois caractères numériques).
  • Les colonnes par défaut Date de début et Date de fin qui identifient une période de validité pour les données de chaque ligne de la Table. Le format d'affichage de la date est celui défini dans votre station Windows.

Table : COMM_RT

TRANS

SRC_ID

DEST_CD

RATE

COMM_FEE Date de début Date de fin

PTM

US

UK

0,10

100

01/06/2003

31/07/2003

PTM

US

UK

0,13

110

01/08/2003

31/08/2003

PTM

US

EURO

0,15

125

01/07/2003

31/08/2003

PTM

US

JAPAN

0,13

120

01/07/2003

31/08/2003

PTM

EURO

JAPAN

0,10

100

01/07/2003

31/08/2003

PTL

US

EURO

0,17

130

01/07/2003

31/08/2003

Pour retrouver les valeurs stockées dans la table COMM_RT, utilisez les paramètres suivants :

  • nom de la table
    Identifie la Table. Dans cet exemple, le nom de la table est COMM_RT.
  • clé de la Table
    Représente la concaténation des colonnes "clé" définies dans l'interface.
    Par exemple, PTLUSEURO.
  • valeur de Table
    Représente la concaténation des colonnes "valeur" définies dans l'interface.
    Par exemple, "0.17130" représente les valeurs du taux et du montant de la commission correspondant à la clé "PTLUSEURO".
  • expression de type Date
    Définit la date utilisée pour rechercher dans la table l'entrée associée à la clé spécifique dont la période de validité contient la date donnée.
    Par exemple, vous pouvez inclure la fonction $SYSDATE dans l'expression de la date pour récupérer la date système et l'utiliser ensuite comme critère de recherche.

Spécifier la clé d'une Table

Dans chacune des Fonctions Table, AccountingIntegrator Enabler utilise le paramètre opérande1 pour effectuer la recherche sur la clé de la Table. L'opérande1 est une expression qui renvoie une valeur avec un type de données compatible avec le type de données de la clé définie dans la Table.

  • Exemple avec un champ de <Business-Document>
    Par exemple, si vous avez auparavant défini 3 champs dans le <Business-Document> TRANS, pour le type de transaction, SRC_ID pour le code pays source et DEST_CD pour le code pays destinataire, utilisez la syntaxe suivante pour rechercher le poste de la table COMM_RT qui correspond à la clé :
    $ACCTAB
    (COMM_RT ;TRANS&PC_ID&DEST_CD)
    Dans cet exemple, chaque champ correspond à une colonne de la table.
  • Exemple avec une valeur constante
    Par exemple, pour rechercher l'entrée de la Table COMM_RT correspondant à la clé PTLUSEURO, utilisez la syntaxe suivante :
    $ACCTAB
    (COMM_RT;PTLUSEURO)
  • Exemple avec une valeur de Table value
    Par exemple, pour rechercher dans la Table COMM_RT l'entrée correspondant à la clé donnée par la valeur d'un poste de la table COUNTRIES, utilisez la syntaxe suivante :
    $ACCTAB
    (COMM_RT; $ACCTAB (COUNTRIES;"JAPAN")
  • Exemple avec un Pré-Calcul
    Par exemple, si vous avez précédemment défini un Pré-calcul appelé PCC1 contenant l'expression PTLUSEURO, utilisez la syntaxe suivante pour rechercher dans la table COMM_RT l'entrée correspondant à la valeur de la clé PTLUSEURO :
    $ACCTAB
    (COMM_RT;PCC1)
  • Exemple avec une Variable
    Par exemple, si vous avez donné précédemment à une variable TRANSACTION la valeur PTLUSEURO, utilisez la syntaxe suivante pour rechercher l'entrée de la table COMM_RT qui correspond à cette clé :
    $ACCTAB(ACCOUNT;@TRANSACTION)

$CHECKTAB

Description

$CHECKTAB vérifie qu'un argument donné est présent dans la Table par rapport à la Date d'application des Règles (DAR) ou par rapport à une date spécifiée.

Syntaxe

$CHECKTAB(nom_table; operande1)

Valeur de retour

Si le poste de Table existe, $CHECKTAB renvoie la valeur de la clé.

Si la valeur n'existe pas, le Rule Engine AccountingIntegrator Enabler rejette le CRE.

Paramètres

nom_table
Entrez le nom de la Table.

operande1 est une expression dont la valeur sert de clé de recherche dans la Table.

Vous pouvez spécifier ce paramètre avec toute expression qui renvoie une valeur dont le type de données est compatible avec le type de données de la clé définie dans la Table.

[DÉTAILS : Spécifier la clé de la Table]

Exemples

Champ cible

Garnissage

ZONEOUTEV1

IF $CHECKTAB ( COMM_RT ; ZONEINPEV1 ) = ZONEINPEV1 THEN ZONEINPEV1&VALDEFINPEV

Si la valeur de ZONEINPEV1 existe en tant qu'argument dans la tableCOMM_RT, le Rule Engine AccountingIntegrator donne au champ cible ZONEOUTEV1 le résultat de la concaténation de ZONEINPEV1 et VALDEFINPEV.

Sinon, le Rule Engine AccountingIntegrator Enabler rejette le CRE.

Par exemple, si la valeur de ZONEINPEV1 est "PTMUSUK", ceci correspond effectivement à une entrée de la Table et la fonction ne renvoie aucune erreur. Toutefois, si la valeur de ZONEINPEV1 est "XXX USFRANCE", cette clé n'existe pas dans la table et le Rule Engine AccountingIntegrator Enabler  rejette le CRE.

ZONEOUTEV2

$CHECKTAB ( COMM_RT ; REFA&REFB )

Si la valeur REFA&REFB existe comme poste dans la Table COMM_RT, le Rule Engine AccountingIntegrator Enabler utilise cette valeur pour compléter le champ ZONEOUTEV2.

Sinon, le Rule Engine AccountingIntegrator Enabler rejette le CRE.

$CHECKTABD

Description

$CHECKTABD contrôle qu'un poste est présent dans une Table pour la date spécifiée par le paramètre opérande2

Syntaxe

$CHECKTABD(nom_table; operande1; operande2)

Valeur de retour

Si l'entrée existe dans la Table pour une période de validité qui inclut la date donnée, la valeur renvoyée est la valeur de la clé de la Table.

Si la valeur n'existe pas, le Rule Engine AccountingIntegrator Enabler rejette le CRE.

Paramètres

nom_table

opérande1

opérande2

Vous pouvez spécifier ce paramètre en utilisant n'importe quel objet de la liste pour opérande1
Le type de données utilisé pour operande2 doit être l'un des suivants :

  • Date
  • Numérique (de longueur compatible avec une date c'est-à-dire N(6), N(7) or N(8)) Dans ce cas, seul des champs <Business-Document> ou des Pré-Calculs sont autorisés.

Exemple

$CHECKTABD(COMM_RT;ZONEINPEV1;$SYSDATE)

La fonction recherche si la valeur de clé ZONEINPEV1 existe dans la Table COMM_RT, avec une période de validité qui englobe la date système courante. Dans cet exemple, aucune entrée de la Table ne vérifie ce critère puisque toutes les périodes de validité ne s'étendent pas plus loin que le 31/08/2003.

$ACCTAB

Description

$ACCTAB recherche dans une Table la ligne spécifiée par le paramètre clé (opérande1), et ensuite renvoie la valeur correspondante.

Syntaxe

$ACCTAB(nom_table; opérande1)

Valeur de retour

Si l'entrée existe dans la table, la fonction renvoie la concaténation des colonnes clé associées.

Si le poste de Table n'existe pas et que vous n'avez pas spécifié de valeur par défaut, le Rule Engine AccountingIntegrator Enabler rejette le CRE en appliquant les règles de rejet des CRE que vous avez spécifiées dans l'onglet Général.

Paramètres

nom_table

opérande1

Exemples

Un champ est défini en utilisant l'expression $ACCTAB(COMM_RT;ZONEINPEV1).

  • Si la zone ZONEINPEV1 correspond à une clé valide pour la Table COMM_RT, par exemple, "PTLUSEURO", la valeursera 0.17130.
  • Si ZONEINPEV1 ne correspond pas à une clé existante et que vous n'avez pas défini de valeur par défaut, le rejet du CRE dépend des options que vous avez définies dans l'onglet Général.

$ACCTABD

Description

$ACCTABD renvoie le contenu de la colonne Valeur en fonction de la date spécifiée par opérande2

Syntaxe

$ACCTABD(nom_table; opérande1; opérande2)

Valeur de retour

Si le poste de Table existe pour la période de validité donnée, la valeur renvoyée est le résultat de la concaténation des colonnes clé associées.

Si le poste de Table n'existe pas et que vous n'avez pas défini de valeur par défaut, le Rule Engine AccountingIntegrator Enabler rejette le CRE en appliquant les règles de rejet de CREque vous avez spécifiées dans l'onglet Général.

Paramètres

nom_table

opérande1

opérande2

Exemples

Un champ est défini en utilisant l'expression  $ACCTAB(COMM_RT;ZONEINPEV1;08112000)

  • Si la zone ZONEINPEV1 correspond à une clé valide pour la Table COMM_RT (par exemple,  "PTMUSUK" qui a une période de validité qui englobe la date du 11/08/2003), la valeur du garnissage vaudra 013110.
  • Si la zone ZONEINPEV1 ne correspond pas à une clé valide, et que vous n'avez pas défini de valeur par défaut, le rejet du CRE dépendra des options que vous aurez définies dans l'onglet Général.

$EXTTAB

Description

$EXTTAB renvoie une partie de la colonne Valeur spécifiée d'une Table donnée.

Syntaxe

$EXTTAB(nom_table;"pppplllt"; opérande1)

Valeur de retour

Si l'entrée existe dans la table, la valeur renvoyée est une partie des colonnes clé associées ; la partie renvoyée est calculée d'après la valeur du paramètre pppplllt.

Si le poste de Table n'existe pas et que vous n'avez pas défini de valeur par défaut, le Rule Engine AccountingIntegrator Enabler rejette le CRE en appliquant les règles de rejet de CRE que vous avez spécifiées dans l'onglet Général.

Paramètres

nom_table

pppplllt

  • pppp représente la position dans la valeur de la Table à partir de laquelle la valeur à renvoyer devra être extraite (quatre caractères numériques)
  • lll représente la longueur à extraire (trois caractères numériques)
  • t représente le type de données à extraire (Alphanumérique, Numérique, Date).

pppp + lll ne doivent pas être plus grands que la longueur totale qui a été définie pour la valeur dans la structure de la Table.

t doit être compatible avec le type de données défini pour la valeur dans la structure de la Table.

opérande1

Exemple

Reprenant l'exemple utilisé dans $ACCTAB, un garnissage est défini par l'expression $EXTTAB(COMM_RT;"0001003N";ZONEINPEV1).

  • Si la zone ZONEINPEV1 correspond à une clé valide pour la Table COMM_RT, par exemple, "PTLUSEURO", la valeur du garnissage en utilisant $ACCTAB est 017130. Toutefois en utilisant la fonction $EXTTAB, la valeur extraite est numérique, démarrant à la position 1 et d'une longueur de 3 caractères : elle vaudra donc 017.
  • Pour la même valeur de la clé, si l'expression vaut  $EXTTAB(COMM_RT;"0004003N";ZONEIE1), le résultat vaut 130.
  • Si la zone ZONEINPEV1 ne correspond pas à une clé valide, et que vous n'avez pas défini de valeur par défaut, le rejet du CRE dépendra des options que vous avez définies dans l'onglet Général.

$EXTTABD

Description

$EXTTABD renvoie une partie de la colonne Valeur spécifiée dans une Table correspondant à une date donnée, fournie par l'opérande2

Syntaxe

$EXTTABD(nom_table;"pppplllt"; opérande1; opérande2)

Valeur de retour

Si l'entrée existe pour une période de validité qui inclut la date donnée, la partie renvoyée est calculée d'après la valeur du paramètrepppplllt.

Si le poste de Table n'existe pas et que vous n'avez pas défini de valeur par défaut, le Rule Engine AccountingIntegrator Enabler rejette le CRE en appliquant les règles de rejet de CREque vous avez spécifiées dans l'onglet Général.

Paramètres

nom_table

pppplllt

opérande1

opérande2

Exemple

Reprenant l'exemple utilisé dans $ACCTABD, un garnissage est défini par l'expression $EXTTABD(COMM_RT;"0001003N";ZONEINPEV1;08112003).

  • Si la zone ZONEINPEV1 correspond à une clé valide pour la Table COMM_RT (par exemple,  "PTMUSUK" qui a une période de validité qui englobe la date du 11/08/2003), la valeur du garnissage vaudra 013110. Toutefois en utilisant la fonction $EXTTABD, la valeur extraite est numérique, démarrant à la position 1 et d'une longueur de 3 caractères : elle vaudra donc 013.
  • Si la zone ZONEINPEV1 ne correspond pas à une clé valide et que vous n'avez pas défini de valeur par défaut, le rejet du CRE dépendra des options que vous avez spécifiées dans l'onglet Général.

Retour

Related Links