Validation de champ complète (Global)
Si une validation incomplète d'un champ n'est pas acceptable ou souhaitable, il est possible de configurer MapForce afin d'effectuer une validation de champ complète. Une validation incomplète peut entraîner des données invalides dans la sortie. Pour cette raison, une validation incomplète est recommandée à la place. Cette approche exige des fichiers .Codelist personnalisés en plus de ceux.
Le rôle des fichiers .Codelist personnalisés est de fournir des valeurs de code qui ne sont pas définies dans le standard EDI et pas présentes dans les fichiers de configuration MapForce. Cela s'applique généralement à des valeurs de code qui sont définies dans des standards et des recommandations externes. Un fichier personnalisé .Codelist doit inclure toutes les valeurs de code définies dans une norme externe.
Validation de champ entier de l’élément de données 4405 de UN/EDIFACT
L’exemple ci-dessous explique comment réaliser une validation de champ entier de l’élément de données 4405 UN/EDIFACT qui peut utiliser des valeurs de code externes de la Recommandation 24 UN/ECE. Le processus consiste en deux étapes : (i) créer la structure d’un fichier personnalisé .Codelist er (ii) référencer le nouveau fichier .Codelist dans les fichiers de configuration. Vous pouvez utiliser la même approche pour d’autres standards EDI.
Créez un fichier .Codelist personnalisé
Pour créer la structure d’un fichier .Codelist personnalisé, suivez les instructions ci-dessous :
1.Créer une collection EDI personnalisée. Bien qu'il soit possible de définir des listes de code externes en éditant le fichier .Codelist fourni avec MapForce, cela n'est pas recommandé. En revanche, il est recommandé de toujours définir les listes de code externes dans les fichiers personnalisés et d'éviter d'effectuer des modifications dans les fichiers de configuration par défaut de MapForce.
2.Dans votre répertoire de collection EDI personnalisée, trouvez le fichier .Codelist que vous souhaitez utiliser en tant que modèle. Dans notre exemple, nous avons utilisé UNCL.Codelist comme modèle.
3.Copiez UNCL.Codelist et modifiez le nom du fichier copié. Ce fichier sera référencés par d'autres fichiers de configuration MapForce. Dans notre exemple, le fichier copié est appelé UNECE24.Codelist.
4.Ouvrez UNECE24.Codelist dans un éditeur (par ex., Altova XMLSpy) et supprimez tout le contenu de l’élément <Codelist>.
5.Ajoutez une structure <Field> pour F4405 (voir ci-dessous). Vous pouvez trouver le nom correct, la longueur et le type de chaque champ dans le fichier par défaut .Codelist fourni avec MapForce (dans cet exemple, UNCL.Codelist).
<?xml version="1.0" encoding="UTF-8"?>
<Config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="5" xsi:noNamespaceSchemaLocation="../EDIConfig5.xsd">
<Codelist>
<Field Name="F4405" Length="3" Type="Alphanumeric">
<Title>Trade and transport status codes</Title>
<Description>Code specifying a status.</Description>
<Values>
<...>
<Values>
</Field>
</Codelist>
</Config>
6.Pour chaque code externe, ajoutez un nouvel élément <Value> comme enfant de l’élément <Values>. Dans cet exemple, nous ajoutons les premiers deux codes définis dans UN/ECE Recommendation 24.
<?xml version="1.0" encoding="UTF-8"?>
<Config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="5" xsi:noNamespaceSchemaLocation="../EDIConfig5.xsd">
<Codelist>
<Field Name="F4405" Length="3" Type="Alphanumeric">
<Title>Trade and transport status codes</Title>
<Description>Code specifying a status.</Description>
<Values>
<Value Code="1">
<Title>Arrival, completed</Title>
<Description>The goods/consignment/equipment/means of transport has arrived.</Description>
</Value>
<Value Code="2">
<Title>Loading, authorized</Title>
<Description>Authorization to load has been given.</Description>
</Value>
<Values>
</Field>
</Codelist>
</Config>
Référence du fichier personnalisé
À cette étape, le fichier UNECE24.Codelist personnalisé est prêt mais pas encore lié à MapForce. Pour que MapForce reconnaisse le fichier .codelist personnalisé, suivez les étapes suivantes :
1.Puisque Data Element 4405 n’a plus de validation incomplète, MapForce doit recevoir les instructions pour exécuter une validation complète : Supprimez l’attribut Incomplete="1" pour ce champ du UNCL.codelist ou définissez la valeur de cet attribut à 0. La seconde option est affichée ci-dessous :
<Field Name="F4405" Length="3" Type="Alphanumeric" Incomplete="0">
<Title>Status description code</Title>
<Description>Code specifying a status.</Description>
<Note>1 For transport status, use UN/ECE Recommendation 24.</Note>
<...>
</Field>
2.Référence UNECE24.Codelist dans UNCL.Codelist (mis en surbrillance jaune ci-dessous). En alternative, vous pouvez référencer votre fichier personnalisé .Codelist dans le fichier Envelope.Config.
<?xml version="1.0" encoding="UTF-8"?>
<Config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="5" xsi:noNamespaceSchemaLocation="../EDIConfig5.xsd">
<Include href="UNECE24.Codelist"/>
<Codelist>
<...>
</Codelist>
Les instructions ci-dessus affichent comment rélaiser une validation globale pour tous les messages dans lesquels le champ 4405 est utilisé. Dans certains cas, vous allez vouloir appliquer les listes de code personnalisé uniquement à certains messages (par ex., , localement). Pour plus d'informations concernant l' de l'approche locale, voir Validation au niveau du message.