Informations spécifiques à l'application d'objets métier

Cette section fournit des informations au niveau de l'objet, de l'attribut et du format des informations d'application des instructions pour les objets métier pris en charge par le connecteur.

Les informations spécifiques à l'application dans les définitions d'objets métier fournissent au connecteur les instructions dépendantes de l'application concernant le traitement des objets métier. Le connecteur analyse les informations spécifiques à l'application depuis les attributs ou l'instruction d'un objet métier ou depuis l'objet métier lui-même pour générer des requêtes pour les opérations de création, de mise à jour, d'extraction ou de suppression.

Le connecteur stocke quelques-unes des informations d'application de l'objet métier en mémoire cache et les utilise pour générer des requêtes pour toutes les instructions.

Si vous développez ou modifiez un objet métier spécifique à une application, vous devez veiller à ce que les informations spécifiques à l'application contenues dans la définition d'objet métier correspondent à la syntaxe attendue par le connecteur.

Remarque :
Dans un environnement InterChange Server, les performances sont plus significatives lorsque la taille des objets métier spécifiques à l'application est inférieure à 1 Mo. Ils ne doivent cependant jamais dépasser 5 Mo. Les objets métier de grande taille entraînent des incidents de performance en raison des limitations établies par la machine virtuelle Java sur laquelle InterChange Server s'exécute.

Le Tableau 10 présente la fonctionnalité disponible dans les informations spécifiques à l'application des objets métier.

Tableau 10. Présentation des informations spécifiques à l'application dans les objets métier pris en charge
Portée des informations spécifiques à l'application Fonctionnalité
Intégralité de l'objet métier Indique :
  • le nom de la table de base de données correspondante ;
  • la colonne dont le connecteur utilise la valeur dans la clause WHERE pour procéder à une suppression logique (ou logicielle) ;
  • si l'objet métier de niveau supérieur est un encapsuleur.
Attributs simples Indique :
  • le nom de colonne de la base de données d'un attribut ;
  • la relation de clé étrangère entre un attribut dans l'objet métier courant et un objet métier parent ou enfant ;
  • la génération automatique de valeurs d'ID uniques ;
  • le nom d'un autre attribut dans le même objet métier dont le connecteur doit utiliser la valeur pour définir la valeur de l'attribut courant ;
  • si l'attribut courant doit être utilisé lors du tri d'une extraction ;
  • la valeur à utiliser lorsque la valeur de l'attribut courant est null ;
  • le comportement de substitution de chaîne ;
  • l'opérateur à utiliser (LIKE ou =) lors de la comparaison de chaînes ;
  • la valeur à utiliser en tant que position des caractères génériques lorsque l'opérateur LIKE est utilisé.
Attributs contenant un enfant ou un tableau d'objets métier enfant Indique si un enfant de type cardinalité simple appartient au parent. Indique si le connecteur supprime les données enfant au cours d'une opération de mise à jour si ces données ne sont pas représentées dans l'objet métier source.
Instruction d'objet métier Utilisé uniquement pour l'instruction Retrieve, ce texte indique les attributs à inclure dans la clause WHERE lors d'une extraction. Vous pouvez également spécifier des opérateurs et des valeurs d'attribut.

Les sections suivantes traitent cette fonctionnalité plus en détail.

Informations spécifiques à l'application au niveau de l'objet métier

Les informations spécifiques à l'application au niveau de l'objet métier vous permettent :

Au niveau de l'objet métier, les informations spécifiques à l'application comportent des paramètres séparés par deux-points (:) ou un point-virgule (;) :

TN=TableName; SCN=StatusColumnName:StatusValue; WRAPPER=true|false
 

TableName identifie la table de la base de données, StatusColumnName désigne le nom de la colonne de la base de données utilisée pour réaliser les suppressions logiques et StatusValue correspond à la valeur indiquant qu'un objet métier est inactif ou supprimé.

Par exemple, supposons que la valeur suivante soit indiquée pour les informations spécifiques à l'application d'un objet métier Customer :

TN=CUSTOMER; SCN=CUSTSTATUS:DELETED
 

Supposons également que le connecteur reçoive une requête pour supprimer le client. Une telle valeur oblige le connecteur à exécuter l'instruction SQL suivante :

UPDATE CUSTOMER SET CUSTSTATUS = 'DELETED' WHERE CUSTOMER_ID = 2345
 

Si le paramètre SCN n'est pas inclus ou qu'aucune valeur n'est spécifiée pour ce paramètre, le connecteur supprime physiquement l'objet métier de la base de données. En d'autres termes, si l'objet métier doté de l'instruction Delete inclut le paramètre SCN dans ses informations spécifiques à l'application, le connecteur procède à une suppression logique. Si l'objet métier doté de l'instruction Delete n'inclut pas le paramètre SCN dans ses informations spécifiques à l'application, le connecteur procède à une suppression physique.

Les opérations de mise à jour et de suppression peuvent utiliser la valeur de la propriété SCN :

Au niveau de l'objet métier, les informations spécifiques à l'application peuvent être utilisées pour spécifier un encapsuleur :

WRAPPER=true|false
 

Si le paramètre de l'encapsuleur a la valeur true, l'objet métier de niveau supérieur est un objet encapsuleur. L'objet encapsuleur n'est pas représenté par une table de base de données ou une vue. Un encapsuleur est utilisé en tant que conteneur pour les objets métier non associés. Le connecteur ignore l'objet de niveau supérieur et traite uniquement les enfants. L'objet encapsuleur peut contenir les entités de cardinalité N et/ou N-1.

Informations spécifiques à l'application au niveau de l'attribut

Les informations spécifiques à l'application pour les attributs diffèrent selon que l'attribut est un attribut simple ou un attribut représentant un enfant ou un tableau d'objets métier enfant. Les informations spécifiques à l'application pour un attribut représentant un enfant diffèrent également selon que la relation parent-enfant est stockée dans l'enfant ou dans le parent. Pour plus d'informations sur les informations spécifiques à l'application pour les attributs représentant un enfant ou un tableau d'objets métier enfant, voir Spécification de la clé étrangère d'un attribut.

Informations spécifiques à l'application pour les attributs simples

Pour les attributs simples, le format des informations spécifiques à l'application comprend onze paramètres nom-valeur, chacun incluant le nom du paramètre et sa valeur. Chaque ensemble de paramètres est séparé par deux-points (:).

Le format des informations spécifiques à l'application est indiqué ci-dessous. Les crochets ([ ]) entourent un paramètre facultatif. Une barre verticale (|) sépare les membres d'un jeu d'options. Réservez aux deux-points la fonction de délimiteur.

CN=col_name:[FK=[fk_object_name.]fk_attribute_name]:
 [UID=[AUTO|uid_name| schema_name.uid_name[=UseIfMissing]|CW.uidcolumnname
 [=UseIfMissing]]]:
 [PH=true|false]:[CA=set_attr_name| ..set_attr_name]:[OB=[ASC|DESC]]:[UNVL=value]:
 [ESC=true|false]:[FIXEDCHAR=true|false]:
 [BYTEARRAY=true|false]:[USE_LIKE=true|false:
 [WILDCARD_POSITION=non-negative number|NONE|BEGIN|END|BOTH]:
 [CLOB=true]:
 {TS=true|false]]
 

Le seul paramètre requis pour un attribut simple que le connecteur doit traiter est le nom de colonne. Par exemple, pour indiquer uniquement le nom de colonne, utilisez le format suivant :

CN=customer_id
 

Le Tableau 11 décrit chaque paramètre nom-valeur.

Tableau 11. Paramètres nom-valeur dans les informations d'application d'un attribut
Paramètre Description
CN=col_name
 
Nom de la colonne de base de données pour cet attribut.
FK=[fk_object_name.]fk_attribute_name
 
La valeur de cette propriété diffère selon que la relation parent-enfant est stockée dans l'objet métier parent ou dans l'enfant. Si un attribut n'est pas une clé étrangère, n'incluez pas ce paramètre dans les informations spécifiques à l'application. Pour plus d'informations, voir "Spécification de la clé étrangère d'un attribut".
UID=AUTO
 

UID=uid_name| schema_name.uid_name
 [=UseIfMissing]
 

UID=CW.uidcolumnname[=UseIfMissing]
 
Le connecteur utilise ce paramètre pour générer l'ID unique de l'objet métier. Si un attribut ne requiert pas la création d'un ID unique, n'incluez pas ce paramètre dans les informations spécifiques à l'application. Pour plus d'informations sur la conservation de l'ID unique au cours du traitement de l'objet métier, voir la description de la propriété PreserveUIDSeq. Pour plus d'informations, voir "Génération d'un ID unique d'objet métier".
Remarque :
CW est un mot-clé utilisé pour représenter le type d'UID et ne représente pas le nom de la table.
PH=true|false
 
Si PH=true, l'attribut simple correspondant est un attribut d'espace réservé. Un attribut simple est également un espace réservé si les informations spécifiques à l'application qui lui sont associées sont vides ou de valeur null.
CA=set_attr_name| ..set_attr_name 
 
Si set_attr_name est défini par le nom d'un autre attribut dans l'objet métier individuel courant, le connecteur utilise la valeur de l'attribut spécifié pour définir la valeur de cet attribut avant d'ajouter l'objet métier à la base de données au cours d'une opération de création. La valeur du paramètre set_attr_name ne peut pas faire référence à un attribut dans un objet métier enfant mais il peut faire référence à un attribut dans l'objet métier parent si le paramètre set_attr_name est précédé de deux points. Si vous n'incluez pas ce paramètre dans les informations spécifiques à l'application, le connecteur utilise la valeur de l'attribut courant sans copier la valeur de l'attribut (CA) depuis un autre attribut.
OB=[ASC|DESC] 
 
Si une valeur est spécifiée pour ce paramètre et que l'attribut se trouve dans un objet métier enfant, le connecteur utilise la valeur de l'attribut dans la clause ORDER BY des requêtes d'extraction. Le connecteur peut extraire les objets métier enfant dans l'ordre croissant ou décroissant. Utilisez le paramètre ASC pour spécifier une extraction dans l'ordre croissant. Utilisez le paramètre DESC pour spécifier une extraction dans l'ordre décroissant. Si vous n'incluez pas ce paramètre dans les informations spécifiques à l'application, le connecteur n'utilise pas cet attribut lors de la spécification de l'ordre d'extraction.
UNVL=value
 
Indique la valeur utilisée par le connecteur pour représenter une valeur null lors de l'extraction d'un objet métier avec des attributs de valeur null. Si vous n'incluez pas ce paramètre dans les informations spécifiques à l'application, le connecteur insère la valeur CxIgnore pour l'attribut.
ESC=[true|false]
 
Détermine si le connecteur remplace toutes les instances de chaque caractère identifié dans la propriété ReplaceAllStr par les chaînes de substitution spécifiées également dans la propriété ReplaceStrList. Si ce paramètre ne contient aucune valeur, le connecteur utilise la valeur de la propriété ReplaceStrList pour prendre sa décision.
Remarque :
Le paramètre ESC et les propriétés ReplaceAllStr et ReplaceStrList fournissent une prise en charge de la fonction du caractère d'échappement dans la base de données (par exemple, guillemets simples d'échappement). Dans la mesure où cette même fonction est également disponible dans les instructions préparées fournies par le pilote JDBC, ces propriétés seront déconseillées dans les éditions ultérieures du connecteur. Le connecteur prend actuellement en charge l'utilisation des instructions préparées du pilote JDBC.
FIXEDCHAR=true|false
 
Indique si la longueur de l'attribut est fixe lorsque les colonnes de la table sont de type CHAR, et non VARCHAR. Par exemple, si un attribut spécifique est lié à une colonne de type CHAR, le connecteur s'attend à ce que la valeur de sa longueur soit FIXEDCHAR. Pour les informations d'application de cet attribut, indiquez FIXEDCHAR=true. Veillez à ce que la propriété MaxLength de l'attribut ait la valeur de longueur CHAR, comme indiqué dans la base de données. Par défaut, FIXEDCHAR=false.
BYTEARRAY=true|false
 
Si BYTEARRAY=true, le connecteur lira et écrira des données binaires dans la base de données et enverra ces données sous forme de chaîne à InterChange Server ou WebSphere MQ Integrator Broker. BYTEARRAY=false est la valeur par défaut. Pour plus d'informations, voir "Utilisation de données binaires".
USE_LIKE=true|false
 
Indique si le connecteur compare les chaînes au moyen de l'opérateur = ou LIKE. Si USE_LIKE a la valeur true, les requêtes de caractères génériques peuvent être exécutées en définissant le paramètre WILDCARD_POSITION. Si USE_LIKE a la valeur false, l'opérateur = est utilisé.
WILDCARD_POSITION=non-negative
 

number|NONE|BEGIN|END|BOTH
 
Si USE_LIKE a la valeur true, le paramètre WILDCARD_POSITION est utilisé pour préciser la position du caractère générique. Cette valeur peut correspondre à n'importe quel nombre non négatif, NONE, BEGIN, END ou BOTH. Par exemple, l'utilisation de la valeur BEGIN place le caractère générique en première position dans la chaîne (%chaîne). L'utilisation de la valeur END place le caractère générique en dernière position dans la chaîne (chaîne%). L'utilisation de la valeur BOTH place les caractères génériques en première et en dernière position dans la chaîne (%chaîne%).
CLOB=true
 
Uniquement applicable aux attributs de type String. Indique si les données de la colonne de base de données correspondant à cet attribut sont de type CLOB.
Remarque :
Un type de données CLOB est défini comme suit :
  • L'attribut CLOB est de type String et sa longueur est utilisée pour définir la longueur de l'objet CLOB.
  • L'attribut CLOB a la valeur ASI=CN=xyz ; CLOB=true.
  • Tout autre type d'attribut en référence à l'objet CLOB dans les informations spécifiques à l'application génère une erreur.
  • La valeur CLOB=false génère une erreur.

Un type String classique est identique et sans référence à l'objet CLOB dans les informations spécifiques à l'application. Les types de données CLOB de 4k ou plus peuvent être insérés ou mis à jour. Cependant, ils ne peuvent être utilisés qu'avec Oracle et requièrent le dernier pilote Thin avec prise en charge de l'objet CLOB. L'utilisation d'un autre pilote peut générer des erreurs.

TS=true|false
 
Pour les attributs de type DATE, lorsque le paramètre TS=false est spécifié dans les informations d'application de l'attribut, ce dernier est considéré en tant que type DATE. Lorsque le paramètre TS=true, l'attribut est considéré en tant que type TIMESTAMP. La valeur par défaut du paramètre TS est true.

Remarque :
Si aucune des informations d'application des attributs d'un objet métier n'oblige le connecteur à générer ou à exécuter une requête, le connecteur consigne un message d'avertissement et poursuit le traitement. Il n'émet aucune exception et ne renvoie aucun message d'échec.

Spécification de la clé étrangère d'un attribut

La valeur de cette propriété diffère selon que la relation parent-enfant est stockée dans l'objet métier parent ou dans l'enfant :

Si la valeur du paramètre fk_object_name ne correspond pas au type de l'objet métier enfant et que la valeur du paramètre fk_attribute_name ne correspond pas au nom de l'attribut dans le parent ou l'enfant (selon le cas), le connecteur ne peut pas traiter cet attribut en tant que clé étrangère. La casse du nom de l'objet métier et de l'attribut a une importance.

Par exemple, supposons que l'objet métier Customer contienne l'attribut Addr[1], qui représente l'objet métier enfant Address, et l'attribut AID, qui stocke la clé primaire de l'objet métier enfant en tant que clé étrangère. Dans ce cas, les informations d'application de l'attribut de clé étrangère du parent doivent contenir le type de l'objet métier enfant (Address) ainsi que le nom de son attribut de clé primaire (ID). Dans cet exemple, les informations d'application de l'attribut AID doivent inclure FK=Address.ID.

Appellation d'un attribut de clé étrangère

Plusieurs objets métier parent peuvent contenir le même objet métier enfant, que l'enfant soit stocké avec un type de cardinalité simple ou multiple et que la relation parent-enfant soit stockée sur le parent ou sur l'enfant. Toutefois, tous les objets métier parent qui stockent la relation parent-enfant doivent utiliser des attributs ayant un nom identique pour contenir la clé primaire de l'enfant. De plus, tous les objets métier enfant qui stockent la relation parent-enfant doivent utiliser des attributs ayant un nom identique pour contenir la clé primaire du parent. La Figure 5 illustre ces relations.

Figure 5. Exemple de relations entre les objets métier


La Figure 5 illustre les relations suivantes :

Génération d'un ID unique d'objet métier

Le connecteur utilise le paramètre UID pour générer l'ID unique de l'objet métier. Le connecteur génère des ID uniques au moyen de séquences (comme Oracle) ou de compteurs (structurés sous forme de tables), puis exécute l'instruction INSERT.

Le connecteur utilise une séquence ou un compteur pour générer l'ID puis exécute l'instruction INSERT :

Pour plus d'informations sur la conservation d'une séquence d'ID uniques au cours du traitement, voir la propriété PreserveUIDSeq.

Informations spécifiques à l'application pour les attributs représentant des enfants

Les attributs qui représentent des objets métier enfant de type cardinalité simple peuvent indiquer si l'enfant appartient au parent ou s'il est partagé entre plusieurs parents.

Les attributs qui représentent un enfant de type cardinalité simple ou un tableau d'objets métier enfant peuvent indiquer le comportement du connecteur lors de la mise à jour du parent ou d'un sous-ensemble d'enfants.

Attributs représentant un objet métier enfant de type cardinalité simple

Le format des informations spécifiques à l'application pour les attributs représentant un objet métier enfant de type cardinalité simple est le suivant :

CONTAINMENT= [OWNERSHIP|NO_OWNERSHIP]
 

Affectez au paramètre CONTAINMENT la valeur OWNERSHIP pour représenter une relation à cardinalité simple dans laquelle le parent est propriétaire de l'objet métier enfant. Affectez au paramètre CONTAINMENT la valeur NO_OWNERSHIP pour représenter une relation à cardinalité simple dans laquelle le parent partage l'objet métier enfant. N'incluez pas le paramètre CONTAINMENT lorsque vous représentez une relation à cardinalité simple qui stocke la relation dans l'enfant plutôt que dans le parent.

Pour plus d'informations, voir Relations à cardinalité simple et données sans droits de propriété et Relations à cardinalité simple qui stockent la relation dans l'enfant.

Attributs représentant un enfant qui stocke la clé du parent

Pour les opérations de mise à jour sur un tableau d'objets métier qui stocke la relation parent-enfant dans l'enfant, il existe une valeur spéciale pour l'attribut représentant l'enfant : vous pouvez affecter à KEEP_RELATIONSHIP la valeur true pour empêcher le connecteur de supprimer des données enfant existantes qui ne sont pas représentées dans l'objet métier source.

Par exemple, supposons qu'un contrat existant soit associé à un site existant, comme New York. Supposons également que le connecteur reçoive une requête pour mettre à jour un objet métier Contract contenant un objet métier enfant unique auquel San Francisco est associé en tant que site. Si KEEP_RELATIONSHIP a la valeur true pour l'attribut qui représente les données du site, le connecteur met à jour le contrat pour lui ajouter une association avec San Francisco sans supprimer son association avec New York.

Toutefois, si KEEP_RELATIONSHIP a la valeur false, le connecteur supprime toutes les données enfant existantes non contenues dans l'objet métier source. Le contrat est alors uniquement associé à San Francisco.

Le format de ces informations spécifiques à l'application est :

KEEP_RELATIONSHIP=[true|false]
 

La casse est ignorée dans la vérification de ces informations spécifiques à l'application.

Utilisation de données binaires

Si BYTEARRAY=true, le connecteur lira et écrira des données binaires dans la base de données. Dans la mesure où les données binaires ne sont pas prises en charge dans la version actuelle du système WebSphere Business Integration, ces données sont converties en données de type String puis envoyées au courtier d'intégration. Le format de cette chaîne est un nombre hexadécimal composé de 2 caractères par octet. Par exemple, si les données binaires contenues dans la base de données font 3 octets avec les valeurs décimales (1, 65, 255), la chaîne sera "0141ff".

Format des informations spécifiques à l'application pour les instructions

Le connecteur utilise des informations spécifiques à l'application pour les instructions Retrieve et RetrieveByContent. Ce texte vous permet de spécifier les attributs à inclure dans la clause WHERE lors d'une extraction. Vous pouvez également spécifier des opérateurs et des valeurs d'attribut.

La syntaxe des informations spécifiques à l'application pour les instructions Retrieve et RetrieveByContent est indiquée ci-dessous :

[condition_variable conditional_operator @ [...]:[..]attribute_name [, ...]]
 

où :


condition_variable
 
Nom de la colonne de base de données.
conditonal_operator
 
Opérateur pris en charge par la base de données, par exemple =, >, OR, AND et IN (value1, value2).
@
 
Variable remplacée par la valeur extraite par getAttrValue(attribute_name). La substitution est positionnelle. En d'autres termes, le connecteur remplace le premier signe @ par la valeur de la première variable attribute_name spécifiée après le délimiteur :.
..
 
L'attribut spécifié dans la variable attribute_name appartient à l'objet métier parent immédiat. Si cette valeur est manquante, l'attribut appartient à l'objet métier courant.
attribute_name
 
Nom de l'attribut dont la valeur est utilisée par le connecteur pour remplacer @.

Pour comprendre la syntaxe de cette propriété, supposons qu'un objet métier Item soit doté d'un attribut item_id dont la valeur est XY45 et d'un attribut Color dont la valeur est RED. Supposons également que vous spécifiiez la propriété AppSpecificInfo de l'instruction Retrieve comme suit :

Color='RED'
 

La valeur des informations spécifiques à l'application ci-dessus oblige le connecteur à générer la clause WHERE suivante lors d'une extraction :

where item_id=XY45 and Color = 'RED'
 

Voici un exemple plus complexe : supposons que l'objet métier Customer dispose de l'attribut customer_id dont la valeur est 1234 et de l'attribut creation_date dont la valeur est 01/01/90. Supposons également que le parent de l'objet métier dispose d'un attribut quantity dont la valeur est 20.

Supposons également que vous spécifiiez la propriété AppSpecificInfo de l'instruction Retrieve comme suit :

creation_date > @ OR quantity = @ AND customer_status IN 
 ('GOLD', 'PLATINUM') : creation_date, ..quantity
 

La valeur des informations spécifiques à l'application ci-dessus oblige le connecteur à générer la clause WHERE suivante lors d'une extraction :

where customer_id=1234 and creation_date > '01/01/90' 
 OR quantity = 20 AND customer_status IN ('GOLD', 'PLATINUM') 
 

Le connecteur extrait la valeur de date ('01/01/90') de l'attribut creation_date dans l'objet métier courant. Il extrait la valeur de quantité (20) de l'attribut quantity dans l'objet métier parent (comme indiqué par ..quantity dans les informations spécifiques à l'application.

Après avoir analysé les informations spécifiques à l'application pour l'instruction Retrieve, le connecteur ajoute le texte à la clause WHERE de l'instruction RETRIEVE élaborée à partir des clés primaires ou étrangères de l'objet métier. Le connecteur ajoute ensuite l'opérateur AND à la clause WHERE. La valeur des informations spécifiques à l'application doit correspondre à une syntaxe SQL valide. Dans le cas d'une instruction RetrieveByContent, les informations spécifiques à l'application sont ajoutées à la clause WHERE de l'instruction RETRIEVE élaborée à partir des attributs de l'objet métier dont les valeurs sont renseignées.

La clause WHERE peut également faire référence à des attributs d'espace réservé plutôt qu'aux attributs réels dans l'objet métier parent. Ces espaces réservés ne possèdent aucune information spécifique à l'application. Un attribut peut être un espace réservé s'il satisfait l'une des conditions suivantes pour ses informations spécifiques à l'application :

  1. attribut simple avec ASI=null ou '' ;
  2. attribut simple avec ASI=PH=TRUE.

Par exemple, un objet métier Order contient un objet métier de ligne d'articles de type cardinalité multiple et seule l'extraction de lignes d'articles spécifiques est nécessaire. Cette extraction peut être réalisée via un attribut d'espace réservé dans l'objet métier Order. Cet espace réservé est requis dans l'objet parent car les objets enfant ont tous été élagués. L'attribut d'espace réservé peut être renseigné au moment de l'exécution par le courtier d'intégration avec une liste de lignes d'articles spécifiques, séparées par une virgule (,).

Pour cet exemple, vous pouvez ajouter les informations suivantes à la clause WHERE pour l'instruction Retrieve sur l'objet métier enfant des lignes d'articles :

line_item_id in(@,@,@):..placeholder1,..placeholder2,..placeholder3
 

line_item_id désigne l'ID dans l'objet métier enfant et placeholder, l'attribut dans le parent. Si placeholder contient les valeurs 12,13,14, la requête sélectionnera les éléments suivants dans la clause WHERE :

line_item_id in(12,13,14)
 

SELECT:..FROM:..WHERE x in (1,2,3) désigne une syntaxe SQL de base de données standard.

Dans l'instruction RetrieveByContent, si la longueur de la clause WHERE est 0, le connecteur utilisera les informations spécifiques à l'application dans la clause WHERE de l'instruction RETRIEVE. Grâce à cette fonction, l'utilisateur peut envoyer un objet métier sans valeur d'attribut indiquée et spécifier les informations spécifiques à l'application pour l'instruction RetrieveByContent. Le connecteur générera alors la clause WHERE en fonction des éléments spécifiés dans les informations d'application de l'instruction uniquement.

Copyright IBM Corp. 1997, 2004