Parametrização > Exploração > Importação/exportação > Modelos import/export 

Esta função permite definir os formatos de ficheiros utilizados pelas funções de importação e de exportação de objeto afim de integrar os dados na base do software, ou ao contrário de os extrair.

Um ficheiro utilizável pelo módulo importação e gerado pelo módulo export está na base um ficheiro com uma estrutura de um dos tipos seguintes:

  • ficheiro liso com campos em comprimento fixo.
  • ficheiro liso com separador entre os campos (e registos).
  • ficheiro XML.

O módulo de importação / exportação utiliza a noção de objeto para permitir a atualização de dados na base. Um objeto sendo definido para um conjunto de tabelas e de ecrãs, assim que as ações standard associadas seja aos campos e à atualização, garante-se assim que o conjunto dos controlos e das ações necessárias no momento da atualização da base são efetuadas, poisque uma única descrição do objeto permite à vez gerar o código relativo a uma atualização em conversacional e a atualização por importação.

Quando um objeto não atualiza que uma só tabela, o modelo de importação descrito na lista dos campos da tabela a integrar, sabendo que um bloco de dados do ficheiro a importar ou exportar contém os dados de um registo. Quando várias tabelas são atualizadas por um objeto (por exemplo o cabeçalho e as linhas) encontrar-se-ão vários blocos de dados para uma instância de objeto a integrar (um bloco definindo o cabeçalho e N blocos definindo cada uma linha).

É de notar que é igualmente possível de importar uma tabela sem associar a uma noção de objeto. Deixa-se para tal o campo objeto vazio, e se contenta de dar no quadro do segundo separador tabela e os campos afetados. A importação se faz então sem nenhum outro controlo que aqueles induzidos para os formatos associados aos tipos de dados dos campos da tabela.

Pré-requisitos

SEEREFERTTO Consulte a docuemntação de Implementação

Gestão do ecrã

Cabeçalho

Apresentação

Um modelo de importação se identifica por um código alfanumérico Outro um intitulado, define-se, sobre dois separadores, as características técnicas do modelo.

Fechar

 

Campos

Os seguintes campos estão presentes neste separador :

Ce code identifie le modèle d'import / export.

  • Descr. (campo INTIT)

Permet de définir un intitulé associé à chaque fiche.

  • Activo (campo ENAFLG)

Sélectionnez cette case à cocher pour activer la fiche courante.

Les enregistrements non sélectionnés conservent leur contenu et paramétrage, mais ne pourront pas être utilisés en rappelant leur code dans :

  • les autres enregistrements, comme les documents et paramètres,
  • les traitements en masse.

Les habilitations sur une fonction donnée peuvent interdire la création d'une fiche active. Dans ce cas, la case est désactivée par défaut. Elle est modifiable uniquement par un utilisateur autorisé, ou via un Workflow de signature.

  • Bloquio de pré parameterização (campo AFACTORYOW)

Ce champ indique le nom du propriétaire du modèle d'import ou export.

Si le propriétaire est SAGE, vous ne pouvez pas modifier les données à l'écran.

Fechar

 

Separador Cabeçalho

Apresentação

Este separador define as características gerais do modelo, quer dizer :

  • os dados que devem estar exportados
  • a estrutura geral do ficheiro (formato, codificação, definição de grupos de dados)
  • dois parâmetros complementares

Fechar

 

Campos

Os seguintes campos estão presentes neste separador :

Geral

Ce champ définit le code de l'objet à importer ou exporter. Ce champ est optionnel pour les exports. Le bloc d'identification affiche le nom de la table principale à exporter.

Ce champ initialise le contexte et vérifie les droits d'accès. Il est utile lorsque le même objet est utilisé par plusieurs fonctions. En effet, les utilisateurs doivent avoir les droits d'accès idoines à la fonction pour pouvoir se servir du modèle.

Ce champ est obligatoire.

  • Módulo (campo MODULE)

Sélectionnez un module pour le paramétrage.

Ce champ vous permet de renseigner si l'écran doit être créé dans la base de données du dossier. Il l'est si le module auquel l'écran est rattaché est actif pour le dossier.

Un code activité vous permet de :

  • rendre optionnel un élément du dictionnaire si la valeur associée au code activité est nulle,
  • signer les éléments spécifiques dès lors qu'ils sont marqués par un code commençant par X, Y ou Z,
  • dimensionner un nombre de lignes maximum lorsque le code activité marque des éléments d'un tableau,

Si le code activité est désactivé :

  • l'élément marqué n'est pas utilisable,
  • le code associé n'est pas généré ou activé.

Ce code d'accès permet d'interdire l'accès à la fiche courante pour certains utilisateurs.

Si le champ est alimenté, seuls les utilisateurs qui ont des droits de lecture sur ce code d'accès peuvent visualiser l'enregistrement ; et seuls les utilisateurs avec des droits d'écriture peuvent le modifier.

Ce code d'accès permet d'interdire l'accès à la fiche courante pour certains utilisateurs.

Si le champ est alimenté, seuls les utilisateurs qui ont des droits de lecture sur ce code d'accès peuvent visualiser l'enregistrement ; et seuls les utilisateurs avec des droits d'écriture peuvent le modifier.

Le droit d'exécution attaché à un code utilisateur est traité de façon particulière dans le cas des modèles d'import-export : si un utilisateur n'a pas le droit d'exécution, il ne pourra pas utiliser le modèles pour importer ou exporter des données.

  • Tratamento standard (campo TRTIMP)

Ce champ définit le traitement standard dans lequel se trouvent les intitulés des actions qui sont appelées dans les traitements d'import / export.

Ces traitements permettent de faire des initialisations, des contrôles complémentaires, et des mises à jour si nécessaire. La structure de ce programme est décrite en annexe technique. Il est à noter que des traitements standards nommés en général IMPXXX, XXX étant le code de l'import, sont fournis pour un certain nombre d'imports.

Pour plus d'information sur ces actions, cf. la documentation annexe correspondante.

  • Tratamento especifico (campo SPEIMP)

Ce champ définit le traitement spécifique, qui est appelé avant le traitement standard, et qui permet de réaliser les mêmes actions en désactivant si nécessaire ce que fait le traitement standard.

Les actions possibles sont notamment des initialisations, des contrôles complémentaires, et des mises à jour si nécessaire.

Pour plus d'information sur ces actions, cf. la documentation annexe correspondante.

Estrutura

  • Tipo de ficheiro (campo TYPFIL)

Ce champ définit la structure utilisée pour gérer les données dans le fichier à importer ou exporter. Pour plus d'informations, cf. le paragraphe correspondant.

  • Separador de campo (campo SEPFLD)

Indiquez le caractère utilisé comme séparateur entre deux champs.

Pour saisir un caractère non imprimable, saisissez '\' (barre de slash inversée) suivi de 3 chiffres représentant le code ASCII du caractère en base décimale.

  • Separador de registo (campo SEPREC)

Indiquez le séparateur entre deux enregistrements (groupes de données).

Pour saisir un caractère non imprimable, saisissez '\' (barre de slash inversée) suivi de 3 chiffres représentant le code ASCII du caractère en base décimale.

Les séparateurs communément utilisés sont :

  • le caractère 'line feed' (\010), qui correspond à la fin de ligne dans des fichiers textes sous Unix,
  • la combinaison des deux caractères 'carriage return' (retour chariot) et 'line feed' (\013\010), qui correspond à la fin de ligne dans des fichiers textes Windows.
  • Delimitador de campo (campo FLDLIM)

Le délimiteur de champ est ajouté en première et dernière position des champs de type alphanumérique. Pour les champs numériques et le champs de date, aucun séparateur n'est requis.

Il s'agit généralement d'un des caractères suivants :

  • Guillemets simples : '
  • Guillemets doubles : '
  • Formato fich. (campo CODDBA)

Indiquez le format des caractères utilisés dans le fichier :

  • ASCII est le format classique où un caractère équivaut à un octet dans le fichier. Ce type de format permet de traiter les caractères occidentaux classiques, avec différents jeux de caractères possibles, définis dans le champ correspondant.
  • UTF-8 correspond à un format UNICODE où le nombre de caractères est variables (il va de 1 à 4, 1 correspondant au jeu de caractère latin non accentués). Ce format permet de gérer tous les types de caractères, et notamment les caractères chinois.
  • UCS-2 correspond à un format standard Microsoft, dans lequel les caractères sont systématiquement stockés sur 2 octets.

Export.

  • Export. (campo EXPORT)

Se esta zona está assinalada, será possível de utilizar este modelo em Exportação de dados.

  • Crono. export. (campo CHRNUM)

Ce champ non modifiable stocke la valeur du numéro de chrono lorsque le dernier export a eu lieu. Ceci permet, lorsqu'on réalise des exports chronologiques, de ne traiter que ce qui a été modifié depuis que le dernier export a eu lieu.

Transcodific.

  • Jogo de caracteres (campo OPTCHA)

Si vous utilisez le jeu de caractère ASCII, vous pouvez utiliser différents formats standardisés :

  • le code ISO 8859 (qui est par ailleurs le jeu interne d'Adonix lorsqu'on travaille en ASCII),
  • le code tiers IBM,
  • Le code ASCII 7-bit sans accents (les lettres accentuées sont converties en lettres minuscules sans accent).
  • Separador décimal (campo SEPDEC)

Ce champ définit le séparateur décimal utilisé pour les chiffres. Si ce champ est vide, le séparateur décimal pris en compte est le point ('.').

  • Formato das datas (campo OPTDAT)

Ce champ permet de définir le type de codage des champs de date.

Vous pouvez uniquement définir l'ordre des informations, et le nombre de caractères dans l'année. Pour l'import, tout caractère servant de séparateur entre les champs est filtré. Par exemple, des dates au format DD-MM-YY ou DD/MM/YYYY seront bien interprétées.

Le sous-programme de décodage des dates prend en compte la variable adxdcs du moteur. Cette variable est définie au niveau du paramètre général DCS permettant de définir comment les années sur deux caractères sont décodées. DCS représente une année pivot permettant de déterminer le siècle concerné.

Par exemple, si DCS est égal à '1940' et que l'année est définie sur deux caractères :

  • une valeur inférieure ou égale à 40 est considérée comme faisant partie du 21ème siècle,
  • une valeur supérieure à 40 est considérée comme faisant partie du 20ème siècle.

Il est ainsi possible d'exprimer les années entre 1940 et 2039 sur deux chiffres.

  • campo LIBDAT

Intitulé associé au code précédent

  • Formato menus locais (campo OPTMNL)

Les champs de type menu local sont stockés sous forme d'un nombre représentant leur rang dans la table.

Selon la valeur de ce champ, le modèle va exporter, ou s'attendre à trouver en import :

  • 0: 0 : Le choix est un chiffre indiquant le rang du menu dans la table. 1 pour le premier choix, 2 pour le deuxième, etc. Ceci correspond au format interne sous lequel le menu local est stocké dans la base.
  • 1 : 1 : Le choix est saisi en utilisant le code sur un caractère, associé à chaque choix de menu local. Ce code n'est pas visible en gestion des menus locaux. Il peut être défini dans les fonctions de développement, en gestion des messages, où ce code interne peut être saisi. C'est la seule utilité de ce code interne, contrairement aux anciennes versions sur caractères où il servait d'accélérateur de saisie.
  • n : (n>1) : les n premiers caractères du libellé affiché en saisie. Lorsqu'on utilise cette option, l'algorithme de reconnaissance recherche sur le premier caractère, puis sur le deuxième, et ainsi de suite, jusqu'à ce qu'un seul intitulé corresponde. Ainsi, si on cherche à reconnaître CHQ dans un menu local dont les intitulés sont Espèces, Virement, Chèque, Traite, Carte bleue, l'algorithme va reconnaître Chèque (seul intitulé dont les deux premières lettres correspondent).

Les intitulés sont les libellés affichés à l'écran. Leur rang dans la table est l'information qui est stockée dans la base de données. Il est possible de modifier l'intitulé d'un menu local lors d'un import pour que l'algorithme de recherche fonctionne correctement. Cette modification est uniquement possible en mode mono-utilisateur. Cette opération n'est pas conçue pour les transferts réguliers ou automatiques.

  • campo LIBMNL

Intitulé associé au code précédent

Importação

  • Importação (campo IMPORT)

Si ce champ est sélectionné, il est possible d'utiliser ce modèle en import de données.

  • Actualiz. autorizada (campo OPTUPD)

Utilisez ce champ pour modifier un enregistrement existant pendant l'import

  • Sas (campo AOWSTA)

Lorsque cette case est cochée, l'import de données alimente le sas d'import-export avec les données erronées. Le fait d'alimenter le sas n'empêche pas par ailleurs de créer un fichier d'erreur.

  • Import. especial (campo OPTSPE)

Ce champ indique que l'intégration des données dans la base se fait en utilisant des actions spécifiques définies dans le traitement dont le nom est donné dans la rubrique Traitement import. Ce traitement spécifique possède un nombre restreint de points d'entrée et nécessite donc d'écrire un traitement incluant tous les contrôles que l'on, souhaite faire.

Son intérêt réside dans le fait qu'on peut ainsi regrouper des contrôles afin d'optimiser le programme d'import. La structure des imports personnalisés est décrite en annexe. Les actions suivantes sont disponibles :

  • $RAZCRE directement appelée par l'import,
  • $SAIMSK directement appelée par l'import à chaque enregistrement lu, et remplace l'appel SAIMSK standard (affectation et contrôle des champs de l'écran à partir de la classe [F])
  • Workflow (campo ENAWRK)

Si cette case est désactivée, les événements de workflow relatifs aux opérations de base (création ou modification en gestion d'objet) ne sont plus appelés. Si des imports sont lancés et qu'ils génèrent des mises à jour en masse, cette option permet ainsi d'éviter de déclencher une multitude d'événements. En effet, cela pourrait avoir un impact sur les performances de l'import et causer un envoi massif de messages.

Pour autant, les événements de workflow relatifs au déclenchement de l'import ne sont pas désactivés.

Quadro Identificadores

  • Nr. (campo NUMFLG)

Ligne courante du tableau.

  • Nível (campo FLGLEV)

Ce champ définit le niveau d'imbrication du groupe. Le niveau 1 est le niveau principal. Un niveau N+1 définit un sous-détail du niveau N qui le précède.

  • Indicador (campo FLGREC)

Ce champ identifie le groupe par un code constitué de 5 caractères au maximum. Ce code est repris dans le tableau des champs de la section suivante, et dans le fichier lui-même, comme en-tête de groupe.

Ce tableau des indicateurs définit la structure des groupes d'enregistrements. Cf le paragraphe correspondant.

  • Chave (campo FLGKEY)

Ce champ définit la clé de la table liée utilisée pour accéder au détail des enregistrement du groupe, à partir de valeurs de champs des tables de niveau supérieur utilisées dans l'expression de lien.

  • Ligação (campo FLGLNK)

Ce champ définit l'expression de lien. Cette expression est une suite de valeurs, séparées par un point-virgule, qui donne les valeurs de clé qui lient la table de détail à l'enregistrement d'en-tête.

  • Comprim. (campo RECLEN)

Dans le cas d'un type de fichier de longueur fixe, vous devez indiquer nombre de caractères de chaque enregistrement.

Fechar

 

Separador Campos

Apresentação

Neste quadro, definem-se os diferentes campos a importar, organizar em grupos identificados pela coluna Código, na qual se encontram um dos códigos definidos no quadro dos indicadores do primeiro separador (o campo pode restar vazio se nenhuma tabela foi definida).

Este separador contém o quadro definindo a estrutura detalhada a grupos existentes no primerio separador. É de notar :

  • Que não é obrigatório de definir os campos em todos os grupos (com efeito, alguns podem não ser que grupos "técnicos" definindo as relações). Imaginemos por exemplo que se pretende exportar os campos de cabeçalho de encomenda e os campos emitidos da ficha do cliente pagador, e este num grupo de dados (não se deseja ter separador de grupo de dados). Será apropriado neste caso leva a definir dois grupos (o primeiro definindo o percurso sobre as encomendas, o segundo associado ao cliente com a ligação apropriada). Colocar-se-á, por outro lado, no separador campo, que as linhas associadas ao segundo grupo. Estas linhas poderão incluir à vez as informações extraidas do cliente de cabeçalho da encomenda (poisque os dois estão em linha).
  • Que é imperativo de definir para cada grupo a posição onde se encontra o separador de grupo desde logo que se trata de um modelo utilizável em importação e que tem vários grupos. É o pseudo campo / (barra) que permite definir este.
  • Que os blocos devem ser arrumados de maneira sequencial : quando um bloco de nível inferior existe, deve seguir o bloco ao qual está ligado.

Fechar

 

Campos

Os seguintes campos estão presentes neste separador :

Quadro Campos

  • Nr. (campo NUMLIG)

Ligne courante du tableau.

  • Indicador (campo TYP)

Cette zone, n'est saisie que si le tableau des identificateurs de groupes de l'onglet précédent n'est pas vide. Elle permet de rattacher l'information à exporter ou importer à un groupe de données.

Ce champ indique la table de base de données où sont définies les données à importer ou exporter. Remarques :

  • Ce champ est obligatoire, même s'il n'est pas nécessairement utilisé. Si une expression du calcul est indiquée sur le modèle d'export, elle peut faire référence à des champs de différentes tables.
  • La table concernée n'est pas nécessairement la table principale du groupe. Il peut s'agir d'une table liée à la table principale de ce groupe ou d'un des groupes précédents de niveau supérieur. Si aucun lien n'est trouvé, une message d'avertissement est affiché : Lien automatique non géré. Cela signifie qu'il est du ressort du traitement d'import ou d'export, saisi dans la première section, de réaliser ce lien manuellement. Par exemple, en déclarant la table dans l'action IMP_OUVRE, et la lecture de la table dans l'action IMP_LIENS.
  • Campo (campo FLD)

Ce champ permet d'indiquer le nom du champ de la table à importer ou exporter. Différentes syntaxes sont admises pour définir les informations à extraire ou intégrer :

  • Le slash (/) signifie qu'un indicateur de groupe est écrit à l'export ou recherché lors de l'import. Dans un modèle permettant l'import, lorsque plusieurs groupes existent, ce séparateur est obligatoire pour chaque groupe. Le séparateur de groupe est censé être un champ normal, encadré par des séparateurs de champs et des délimiteurs si un modèle de type Délimité est utilisé.
  • La syntaxe la plus simple est FIELD(index), lorsqu'un champ issu de la table déclarée dans la colonne précédente est importé ou exporté. Une fenêtre de sélection affiche alors les choix possibles.
  • Si on saisit ici une constante chaîne de caractères encadrée entre des guillemets doubles ('), le champ sera écrit tel quel dans le fichier en export, et ignoré en import.
  • Si on ne saisit rien, ceci signifie qu'il y aura un champ vide dans le fichier exporté, encadré par des délimiteurs de champ si le modèle est de type Délimité. En import, cela signifie que le champ correspondant doit être ignoré.
  • La syntaxe *N, où N est un nombre compris entre 1 et 99, est également possible. Ceci permet d'affecter (en import) ou de lire (en export) la variable GIMP(N). GIMP est une variable globale constituée d'une chaîne de caractères avec une longueur maximum de 100. Vous devez l'affecter à un processus personnalisé associé à l'import ou à l'export.
  • La dernière possibilité, utilisable uniquement en export, consiste à définir une expression calculée quelconque, précédée du signe égal (=). Cette expression permet d'appeler des constantes, des fonctions, des variables, des opérateurs ou des champs provenant d'autres tables. La syntaxe est vérifiée lors de la saisie. Le contrôle du contexte, permettant par exemple de vérifier que des variables existent, ne peut pas être vérifié.
  • Descr. (campo COM)

Ajoutez un commentaire qui permette de comprendre plus facilement votre configuration.

  • Limite (campo SEL)

Trois choix sont possibles dans ce champ :

  • Non saisie signifie qu'aucune borne de début-fin pour ce champ ne sera saisie au lancement de l'export.
  • Saisie signifie qu'une borne de début-fin pour ce champ pourra être saisie au lancement de l'export.
  • Non transférée signifie qu'une borne de début-fin pourra être saisie pour ce champ au lancement de l'export, mais que le champ ne sera pas transféré lors d'un import ou d'un export.
  • Posição (campo LOC)

Cette colonne est uniquement utilisée pour les formats à longueur fixe. Dans ce cas, la position donne le décalage par rapport au début du bloc ou de l'enregistrement. Les positions sont données en nombre d'octets, '1' signifiant que l'on se trouve au début du bloc ou de l'enregistrement. Les positions doivent être compatibles avec la taille de l'enregistrement.

  • Comprim. (campo LNG)

Esta zona determina o comprimento do campo sobre o ficheiro sequêncial.

  • Formato (campo FMT)

Cette colonne n'est saisie que si le format est en longueur fixe. Pour les montants numériques, le format saisi est défini sous la forme nnn ou nnn.mmm, sachant que ces chiffres peuvent être :

  • préfixés par < ou >. Cadrage gauche ou droite en complétant avec des zéros (le formatage droit étant utilisé par défaut),
  • préfixés ou post-fixés par le caractère +. Ce signe obligatoire avant ou après le chiffre,
  • préfixés par le caractère *. Le séparateur décimal ne doit pas apparaître. Le tableau ci-dessous montre des exemples, de formatage pour un montant donné. Les espaces sont ici remplacés par des #  :

Format

Montant

Résultat du formatage

7.2

123.456

####123.45

7.2

-123.456

### -123.45

>7.2

123.456

0000123.45

>7.2

-123.456

-000123.45

<7.2

123.456

123.45####

<7.2

-123.456

- 123.45###

6.2+

123.456

###123.45+

>6 .2+

123.456

000123.45+

<6.2+

-123.456

123.45-###

Pour un format alphanumérique, les seules directives de formatage possibles sont < ou > (cadrage à droite ou à gauche, sachant que les chaînes de caractères sont complétées par des espaces).

  • Pattern (campo PATTERN)

Ce champ est utilisé lorsqu'on réalise des imports/exports au format XML.

Lorsqu'un fichier XML est créé, davantage d'informations sont requises. C'est le cas notamment si vous souhaitez créer un fichier XSD décrivant la structure du fichier XML et ainsi contrôler sa validité avec des outils de vérification de syntaxe intégrés aux différents logiciels ETL.

Ce champ définit si un modèle doit être associé à la description saisie pour le fichier XSD.

Si ce champ est renseigné, le fichier XSD contiendra une spécification de type :
pattern value='value_entered_in_the_pattern_field'

Des tutoriels comme celui-ci sont disponibles en ligne pour en savoir plus sur la syntaxe des schémas ou 'patterns'.

  • Baliza (campo BAL)

Ce champ est utilisé lorsqu'on réalise des imports/exports au format XML.

Lorsqu'un fichier XML est créé, davantage d'informations sont requises. C'est le cas notamment si vous souhaitez créer un fichier XSD décrivant la structure du fichier XML et ainsi contrôler sa validité avec des outils de vérification de syntaxe intégrés aux différents logiciels ETL.

Ce champ définit le code de la balise décrivant le champ exporté dans le modèle, telle qu'elle apparaîtra dans le fichier XML.

  • Obrigatório (campo OBL)

Ce champ est utilisé lorsqu'on réalise des imports/exports au format XML.

Lorsqu'un fichier XML est créé, davantage d'informations sont requises. C'est le cas notamment si vous souhaitez créer un fichier XSD décrivant la structure du fichier XML et ainsi contrôler sa validité avec des outils de vérification de syntaxe intégrés aux différents logiciels ETL.

Ce champ définit si le champ est obligatoire ou non. Si la valeur de ce champ est égal à Oui, le fichier XSL contiendra une spécification de type minOccurs='1'.

Ce numéro, s'il existe, fait référence à une table de transcodage utilisable pour transcoder le champ lu et le rendre conforme au format attendu.

Geração do ficheiro

  • campo TYPEXP

Sélectionnez le type d'export que vous souhaitez effectuer. Les options possibles sont :

  • client,
  • serveur.
  • Ficheiro de dados (campo FILEXT)

Ce champ définit le chemin du fichier de données par défaut, suggéré au lancement du processus d'export ou d'import. Ce fichier de données est utilisé en mode automatique dans le cas d'un enchaînement d'imports ou d'exports. Ce chemin peut être relatif. Dans ce cas, le répertoire de base de données est le répertoire d'installation du logiciel.

Ce chemin peut inclure le caractère #. Dans ce cas, la gestion des numéros séquentiels (chronos) s'applique :

  • En import : Tous les fichiers dont le modèle correspond au chemin sont parcourus, et # représente 5 chiffres. Les fichiers sont intégrés dans l'ordre croissant, selon leur numéro.
  • En export : Un fichier est créé avec la valeur formatée du chrono [C]EXPORT sur 5 chiffres. Cela implique que la case à cocher Gestion chrono soit sélectionnée lors du lancement de la fonction d'export.

Par exemple, si le chrono d'export est égal à 156, /u/tmp/fic# permet de générer le fichier /u/tmp/fic00156.

  • Directório final (campo REPFIN)

Ce champ permet d'imposer un répertoire final dans lequel le fichier va être transféré après avoir été importé. En l'absence de valeur, on utilise le répertoire donné dans les paramètres généraux de l'import / export.

Fechar

 

Funções acessíveis por clique direito no quadro

Seleção de campo

Campos

Os seguintes campos estão presentes nesta janela :

Bloco número 1

Ce champ définit la table dont on veut sélectionner les champs à insérer.

Quadro

  • Nr. (campo NUMLIG)

Ligne courante du tableau.

  • Zona (campo CODZONE)

Indiquez le nom du champ dans la table, en suivant la syntaxe interprétable par le logiciel. Par exemple, le nom de champ FIELDNAME, défini dans la table des abréviations ABV, sera accessible en suivant la syntaxe [F:ABV]FIELDNAME.

Le nom des champs personnalisés commence par X_, Y_ ou Z_.

Dans la base de données, chaque zone correspond à un ou plusieurs champs. (selon que la zone est dimensionnée ou non). Les champs correspondants s'appellent FIELDNAME_0, FIELDNAME_1, FIELDNAME_2.

Pour saisir et afficher le champ correspondant à l'écran, son nom doit être le même dans le dictionnaire des écrans. L'écran et la table seront alors utilisés en simultané dans la gestion des objets.

  • Descr. (campo INTITCOURT)

Intitulé associé au code précédent

  • Seleção (campo SELECT)

Si le champ est égal à Oui, il est inséré dans le tableau principal. Par défaut, il est suggéré de définir :

  • les champs non inclus dans la table principale à Oui,
  • les champs inclus dans la table principale à Non.

Fechar

Permite inserir globalmente um conjunto de campos emitidos de uma tabela num modelo, a partir da linha corrente do quadro.

Recálculo posições indicador

Esta função não está apresentada que para os modelos com um tipo de ficheiro em comprimento fixo. Ela permite recalcular a posição de cada um dos campos do grupo de dados corrente (tendo o mesmo indicador da linha). O recálculo se faz em partindo da posição 1 sobre o primeiro campo do grupo, e em acrescentando o comprimento de cada campo para obter a posição do campo seguinte.

 

Fechar

 

Listagens

Por defeito, os seguintes listagens estão associados à função :

 PRTSCR : Impressão ecran

Mas pode ser alterado por parametrização.

Botões específicos

Os seguintes campos estão presentes na janela aberta por este botão :

Bloco número 1

  • campo OBJET

 

  • campo CLES

 

Bloco número 2

  • A partir do dossier (campo DOSORG)

Use this field to define the folder from which the record will be copied. The possible syntaxes are described in the Dedicated appendix.

  • Todos dossiers (campo TOUDOS)

Use this option to copy the record to all the folders defined in the dictionary (ADOSSIER table of the current solution).

  • Para o dossier (campo DOSDES)

Use this field to define the folder to which the record will be copied. The possible syntaxes are described in the Dedicated appendix.

Fechar

Este botão permite de recopiar a definição da transação depois ou versus um outro dossier.

Os seguintes campos estão presentes na janela aberta por este botão :

Quadro Limites

  • Zona (campo BNOM)

Ce champ définit le nom du champ pour lequel une borne peut être saisie.

  • Valor de início (campo BDEB)

Saisissez des bornes de début et de fin pour chaque champ défini comme critère saisi ou non affiché dans le tableau des champs. Si un champ vide est saisi, on considère qu'il n'y a pas de bornes. Ces bornes seront proposées par défaut lors de l'export.

  • Valor de fim (campo BFIN)

 

Quadro Critérios

Les tables mises en œuvre dans le modèle d'import / export sont listées ici, afin de permettre de définir un filtrage éventuel des données exportées.

  • Critério (campo FLGEXP)

Ce champ permet de définir une condition logique mettant en œuvre les champs de la table. Seules les lignes répondant à cette condition pourront être exportées.

Fechar

Dá acesso a um ecrã no qual se pode definir os valores por defeito de critérios para filtrar os dados exportados. Quando se lança a exportação, os critérios são afixados e podem ser modificados; quando se lança um encadeamento de exportações, os critérios são automaticamente aplicados sem registo, sobre cada um dos modelos para os quais foram definidos.

Barra de menu

Opções / Export esquema de um modelo

Esta função, acessível quando o formato de exportação é XML, permite produzir um ficheiro XSD descrevendo a estrutura do ficheiro criado pelo modelo. Este ficheiro foi criado no sub-diretório seguinte do diretório onde se encontram os dossiers sobre o servidor de aplicação :

 X3_PUB/DOSSIER/GEN/ALL/WEBS    (onde DOSSIER é o nome do dossier corrente)

O nome deste ficheiro é WWIMPMODELE.xsd  (MODELE sendo o nome do modelo de importação-exportação).

Este ficheiro XSD define o formato dos dados afim de permitir um controlo preliminar de validade sintáxica por utilitários de tipo ETL. A sintaxe obtida integra (outro dos cabeçalhos standard) das linhas do tipo :

  • Linhas descrevendo os grupos e as linhas (aqui um modelo ADI e os campos CODE e NUMTAB, cujos limites são ADI_CODE e ADI_NUMTAB).

<xs:complexType name="ADI">

<xs:sequence>

<xs:element name="ADI_NUMTAB" type="ADI_NUMTAB" minOccurs="1" maxOccurs="1"/>

<xs:element name="ADI_CODE" type="ADI_CODE" minOccurs="0" maxOccurs="1"/>

...

<xs:sequence>

</xs:complexType>

  • Linhas descrevendo os tipos de dados :

<xs:simpleType name="ADI_NUMTAB">

<xs:restriction base="xs:int">

<xs:minExclusive value="-32768"/>

<xs:maxExclusive value="32767"/>

</xs:restriction>

</xs:simpleType>

<xs:simpleType name="ADI_CODE">

<xs:restriction base="xs:string"/>

<xs:maxLength value="5"/>

<xs:pattern value="{[A-Z]}*"/>

</xs:restriction>

</xs:simpleType>

Veem-se aqui os exemplos de campos de tipo numérico, depois alfabético. Alguns comentários a propósito da maneira cuja está gerada nesta sintaxe :

  • O nome de cada campo (aqui, ADI_CODE e ADI_NUMTAB) corresponde ao conteúdo da coluna "limite" do modelo.
  • A rubrica padrão está diretamente emitida da coluna "padrão" no modelo (aqui, a sintaxe proposta corresponde a um número qualquer de caracteres alfabéticos maiúsculas).
  • As rubricas minOccurs e maxOccurs estão preenchidas em tendo a conta da coluna "obrigatória" do modelo.
  • Os tipos de dados, que podem ser, segundo o caso, "xs:string", "xs:int", "xs:decimal", "xs:date", "xs:base64Binary","xs:boolean", são emitidos do tipo de dados X3 correspondentes, assim que a rubrica maxLength, e as rubricas maxExclusive, minExclusive, maxInclusive, minInclusive segundo o caso.

Documentação / Parágrafos

Esta função permite aceder à gestão da documentação, sobre o primeiro parágrafo da documentação (se ela existe) associada à ficha corrente.

Documentação / Ligações

Esta função permite aceder à gestão das ligações. Ela permite definir as relações entre a ficha corrente e de outras fichas (por exemplo das ligações entre funções e parâmetros). Estas ligações, puramente documentários, permitindo alimentar o mecanismo de geração dos esqueletos de documentação.

Documentação / Geração

Apresentação

Este menu permite lançar uma geração de documentação. A geração pode-se lançar igualmente a partir do botão [Génération] em baixo da janela.

Três tipo de geração podem ser lançadas, separadamte ou simultaneamente :

  • a geração do esqueleto de documentação a partir do dicionário (tabelas ADOCUMENT, ADOCBLB, ADOCCLB).
  • a geração da documentação a partir das tabels precedentes.
  • a geração da documentação sobre campo.

Os limites propostos por defeito têm em conta da ficha em curso, mas elas podem ser modificados ao lançamento.

Fechar

 

Campos

Os seguintes campos estão presentes neste separador :

Selecções

  • Todas as línguas existentes (campo ALLLAN)

Se esta check box está assinalada, todas as línguas são tomadas em conta pela operação.

Se a check box não foi assinalada, tomar-se-á segundo o caso :

  • A língua por defeito do utilizador, se nenhum código língua não foi registado.
  • A língua registada por outro lado senão.

Permite de definir a língua de geração (quando a check box permitindo de gerar em todas as línguas não foi assinalada).

  • Todos os tipos (campo ALLTYP)

Se esta check box está assinalada, todos os tipos de documentação são tomados em conta para a geração. Deve-se referir que, neste caso, limita-se a geração às documentações standard (apenas as documentações de código inferior a X são tomados em conta).

Permite definir o tipo de documentação a tomar em conta no tratamento (quando não se assinalou a check box para os tomar todos em conta).

  • Desde códigos documentos (campo FUNDEB)

Permite de dar um limite sobre os códigos a ter em conta para a geração de documentação.

  • Cód. documentação fim (campo FUNFIN)

 

Geração ADOCUMENT

  • campo GENDOC

Este botão redondo permite criar/atualizar a parametrização da documentação (hierarquia dos parágrafos) a partir dos elementos técnicos encontrados no dicionário dos dados. Pode-se escolher de retomar unicamente as documentações existentes ou criar novas documentações se necessário

As relações de documentação são igualmente tomados em conta. Os parágrafos susceptíveis de serem criados são definidos no anexo técnico correspondante.

  • Para todos os grupos (campo ALLCREGRP)

Este campo permite escolher entre :

  • Tratar todas as documentações ou ajudas sobre campo indeferentemente do grupo de pertença de utilizador.
  • Tratar unicamente as documentações ou ajudas sobre campos cujo grupo de utilizador é equivalente ao grupo criador da documentação encontrada na tabela AOBJGRPDEV

Geração documento final

  • campo GENFIN

Este botão redondo permite gerar a documentação final a partir do conteúdo dos parágrafos de documentação. Esta documentação foi criada em diferentes sub-directórios do directório definido pelo parâmetro utilizador DIRDOC.

A geração "Completa" trata o conjunto das documentações não tendo código de atividade mas também aquelas tendo os códigos atividades standards (código atividade < "X")

Falta utilizar a geração "segundo o código atividade" para obter a geração das documentações das funções tendo os códigos atividades ativos (quer sejam standards ou específicos).

  • Somente as documentações validadas (campo HLPVLD)

Permite gerar o documento final unicamente para as documentações válidas.

  • Ajudas sobre campos ligados às documentações (campo HLPLNKFLD)

Si cette case est cochée, sont traitées spécifiquement les aides sur champs relatives aux documentations sur fonction ou objet traitées par ailleurs. Pour savoir quelles sont les aides sur champ à traiter, explorez les écrans associés aux paragraphes de documentation correspondants.

  • Outras ajudas sobre campos (campo HLPFLD)

Se esta check box assinalada, cria-se a documentação final a partir do conteúdo dos parágrafos de documentação. Esta documentação foi criada em diferentes sub-directórios FLD do directório definido pelo parâmetro utilizador DIRDOC.

  • Códigos ajuda campos inicio (campo HLPDEB)

Permite de dar um limite sobre os códigos a ter em conta para a geração de documentação.

  • Cód. ajuda campos fim (campo HLPFIN)

 

  • Directorio de geração (campo REPERT)

 

Fechar

 

Mensagens de erro

Para além das mensagens genéricas, as seguintes mensagens de erro podem aparecer durante o reg. :

Importação impossível sobre este objeto

O objeto não foi definido como importável (check box a assinalar Importação não assinalada no separador Diversos).

Código já existente em linha nnn

Regista-se duas vezes o mesmo código associado a grupos diferentes.

ZZZ zona inexistente (XXXXXX, YYYYY, ... )

Esta mensagem está afixada quando se exprime uma ligação no quadro dos grupos em utilizando um campo ZZZ que não está referenciado em nenhuma das tabelas (XXXXX, YYYYY, ...) definidas nas linhas precedentes.

G separador (/) não referenciado nos campos. Interdito sobre um modelo de importação

No quadro dos campos, para o grupo G, não se tem linha indicando o local onde se encontra o identificador de grupo (sintaxe /).

Ligação impossível Interdito sobre um modelo de importação

Tentou-se, nas linhas decrevendo os campos, de inserir um campo emitido numa tabela que não pode ser ligada à tabela principal do grupo.

Comprimento incorrecto nnn<>mmm

O comprimento definido pelo formato numérico (mmm) é diferente do comprimento do campo definido na coluna precedente (nnn).

Observação :

Nenhum teste de existência do diretório está feito sobre o caminho definido por defeito no modelo (o diretório pode bem ainda não existir : este controlo não será feito que no lançamento de importação ou de exportação).

Tabelas consideradas

SEEREFERTTO Consulte a docuemntação de Implementação

Conselhos de colocação em obra

Principios de base

Quando se parametriza um modelo de importação, falta ter no espírito de quaisquer principios :

  • A importação permite as ações de criação e de modificação.
  • Para determinar a ação leva sobre um registo importado, o sistema efetua um teste de existência de objeto a tratar Este teste se efetua em carregando a chave primária do objeto com as informações de registo importado.
  • Por consequente, se a chave principal não está parametrizada, todos os registos passaram em modo criação (e não funciona que se a chave de objeto a criar pode ser afetada automaticamente, por exemplo pelo meio de um contador).
  • Uma importação corresponde a uma simulação de registo de todos os ecrãs ligados ao objeto importado.
  • Trata todas as zonas de ecrã em efetuando os mesmos controlos que um registo interativo.
  • Não toma em conta as zonas não registáveis no ecrã. (excepto casos particulares e referenciais). Por consequente, as zonas parametrizadas num modelo corespondente a uma zona não registável não são importadas.
  • A ordem na qual são parametrizadas as zonas no interior de um registo não têm importância. A importação carrega todas as zonas do ficheiro depois a importação na ordem dos campos nos ecrãs.

Modelos standard fornecidos

Tanto a exportação de dados é sempre possivel que seja o objeto, tanto a importação não o está sempre. Os mecanismos automáticos de descodificação dos fluxos de dados e chamada dos controlos ligados ao objeto automatiza grandemente a importação, mas não é suficiente para permitir uma importação automática sobre os objetos complexos. Assim, todo o objeto não é importável.

No dossier de referência, um modelo de importação (modificável) está fornecido para cada objeto cuja importação é possível. Pode todavia haver específicos ligados a esta importação : isto está definido na ajuda em linha associada ao modelo de importações para as quais as particularidades existem (esta ajuda está acessível por Alt + F1 quando o modelo está carregado).

Encontrar-se-á a lista das ajudas correspondentes (classificadas por módulo) a partir da ligação seguinte.

Quadro dos identificadores

A escolha da estrutura dos ficheiros a importar ou exportar depende das possibilidades de extração ou da integração que se encontra no software com o qual se pretende dialogar.

Em todos os casos, os dados devem estar organizados em grupos lógicos de linhas, que podem ser de tipos diferentes (em cabeçalho, detalhe, sub-detalhe, por exemplo), ou de um tipo único. A organização destes grupos está definida no quadro dos identificadores situado sobre o primeiro separador do modelo.

Cada grupo está associado a uma das tabelas da base de dados (a primeira está forçosamente a tabela principal do objeto, as seguintes são definidas por ligações a partir dos precedentes). Quando se utiliza o modelo para realizar uma exportação de objeto, é possível definir as ligações com não importa qual tabela de base sobre a qual uma ligação teórica existe, afim de extrair os dados ligados. Por outro lado, para um modelo de importação, apenas a atualização por objeto são efetivamente utilizáveis : é por exemplo inútil de esperar importar simultâneamente a encomenda e o cliente, o objeto encomenda não foi previsto para tal.

É importante notar que este quadro pode estar vazio se uma estrutura de dados a importar ou exportar está baseado sobre o percurso da única tabela principal (neste caso, a coluna Código da página seguinte restará a vazia). Não é mais necessário de fazer vários grupos de dados se várias tabelas ligadas devem estar exportadas simultâneamente. Com efeito, se faz aparecer, num mesmo grupo de dados, zonas extraidas de diferentes tabelas, o tratamento de exportação vai tentar de resolver as ligações entre tabelas em utilizando a estrutura das ligações descrita no dicionário. Isto supõe bem evidentemente que se não teve que uma ligação possível da tabela principal do grupo versus a tabela descrita (senão, a primeira ligação encontrada vai ser utilizada, e se pode que não seja o bom).

Existe um caso particular onde é necessário de criar ao menos um grupo : se o modelo está definido em comprimento fixo (neste caso, é com efeito necessário que se defina qualquer parte um comprimento de registo, e isto se faz na tabela dos grupos). Se não se deseja que o indicador de grupo seja obrigatoriamente presente na lista dos campos, é suficiente de definir este grupo com um código vazio : Apenas um grupo poderá então ser definido, e a coluna Código não será mais registado no separador seguinte.

O quadro dos identificadores não está acessível em registo que se o objeto é de tipo simples. Se define os identificadores de grupo, associa-se a cada identificador um nível, uma tabela, e as condições de ligações que permitem religar as linhas entre elas.

O nível vale 1 para a tabela principal a importar ou exportar (que não está em registo no quadro, mas deduzindo do objeto associado ao modelo).

Para toda a tabela ligada à tabela precedente, o nível é igual ao nível da tabela precedente se uma ligação biunivoca existe entre as duas tabelas, e vale este nível mais se vários registos são ligados a um registo da tabela precedente. A ligação está caracterizada pela chave destino a ler, e para a expressão dos segmentos das chaves cujo valor define as linhas ligadas.

Imaginemos por exemplo que se definem grupos segundo o exemplo a seguir:

Nível

Grupo

1

A

2

B

2

C

3

D

Obter-se-á então a imbrificação seguinte de informações:

Grupo A registo 1

 

 

 

Grupo B registo 1,1

 

 

Grupo B registo 1.2

 

 

...

 

 

Grupo B registo 1.N

 

 

Grupo C registo 1,1

 

 

 

Grupo D registo 1.1.1

 

 

Grupo D registo 1.1.2

 

 

...

 

 

Grupo D registo 1.1.M

 

Grupo C registo 1.2

 

 

 

Grupo D registo 1.2.1

 

 

...

 

Grupo C registo 1.Q

 

 

 

Grupo D registo 1.Q.1

 

 

...

 

 

Grupo D registo 1.Q.R

Grupo A registo 2

 

 

 

Grupo B registo 2,1

 

 

...

 

Exemplo de grupos

Para ilustrar esta parametrização, pode tomar o exemplo de um modelo (de exportação unicamente) colocando em jogo as sociedades e estabelecimentos :

  • A tabela principal, que se chama COMPANY, está ao nível 1.
  • Imaginemos que se deseja integrar as informações ligadas à divisa contabilística (campo ACCCUR) no ficheiro exportado. Neste caso, é possível de não definir novo grupo ligado à tabela sociedade, mas simplesmente de definir os campos da tabela TABCUR no grupo. O motor de exportação vai então percorrer o dicionário para pesquizar uma ligação da tabela COMPANY e a tabela TABCUR. Como existem várias, é o primeiro que vai ser utilizado (no nosso caso, é esta ligação que nos interessa).
  • Se temos querido exportar as informações ligadas à divisa do capital social (campo RGCCUR), Faltou criar um segundo grupo de dados, de nível 1 igualmente, baseado sobre a tabela TABCUR, em dando RGCCUR na coluna ligação. É igualmente o que será levado a fazer se a ligação não está explicita, por exemplo, o campo CREUSR, que corresponde ao código do utilizador tendo criado a ficha, utiliza-se um tipo genérico (A) que não permite fazer a ligação de maneira automática. Se então temos querido fazer figurar as informações relativas ao utilizador tendo criado a ficha, dever-se-á definir a ligação por um grupo.
  • Supomos que em seguida se queira fazer aparecer a lista dos estabelecimentos anexados à sociedade. Vai-se então criar um grupo de nível 2, utilizando a tabela FACILITY, com uma ligação baseada sobre o índice FCY0 tomando o valor campo CPY da tabela principal.
  • Enfim, se deseja extrair os valores de parâmetros diretamente anexados a cada sociedade, vai-se criar um segundo grupo de dados de nível 2, utilizando a tabela ADOVAL, com uma ligação baseada sobre o indice ADW0 tomando como valor CPY da tabela principal.

O quadro abaixo resume o quadro dos Identificadores tais que será registado :

Nível

Código

Tabela

Chave

Ligação

1

CPY

COMPANY

CPY0

 

registo principal do grupo

1

CUR

TABCUR

TCU0

[CPY]RGCCUR

1 registo ligado

2

FCY

FACILITY

FCY1

[CPY]CPY

N registos ligados

2

ADP

ADOVAL

ADW0

[CPY]CPY

M registos ligados

Os diferentes formatos de ficheiro

Os formatos de ficheiro são determinados pelo tipo, que pode tomar um dos valores aqui em baixo

Separador de campo

Trata-se de um ficheiro em comprimento variável, cujos campos são separados por um separador (o separador de campo notado SC).

Campo 1 registo 1

SC

Campo 2 registo 1

SC

...

Campo N registo 1

SC

Campo 1 registo 2

SC

Campo 2 registo 2

SC

...

Campo N registo 2

SC

Separador de registo

Trata-se de um ficheiro em comprimento variável, cujos campos são separados por um separador (o separador de campo). Quando um registo está terminado, um outro separador (o separador de linha notado SL) vêm de substituir o separador de campo

Campo 1 registo 1

SC

Campo 2 registo 1

SC

...

Campo N registo 1

SL

Campo 1 registo 2

SC

Campo 2 registo 2

SC

...

Campo N registo 2

SL

Formato Delimitado

Trata-se de um ficheiro em comprimento variável de mesmo tipo que o ficheiro "separador de registo" (dois separadores distintos) Mas em baixo, os campos de tipo cadeia de caracteres são enquadrados por um delimitador de campo (notado DC, no exemplo a seguir, o segundo campo é de tipo alfanumérico).

Campo 1 registo 1

SC

DC

Campo 2 registo 1

DC

SC

...

Campo N registo 1

SL

Campo 1 registo 2

SC

DC

Campo 2 registo 2

DC

SC

...

Campo N registo 2

SL

Formato em comprimento fixo

Trata-se de um ficheiro cujos campos são definidos em comprimento fixo, sem separador de campo. O comprimento total do registo deve então ser dado em parâmetro, Pode existir um separador de linha. Se este é o caso, o comprimento não deve ser descontado no comprimento do registo.

Define-se de mesmo comprimento de cada grupo quando os grupos de dados são definidos no quadro dos indicadores

Camp 1 reg 1

< ---------Campo 2 registo 1------------------ >

...

< --Campo N registo 1-- >

SL

Camp 1 reg 2

< ---------Campo 2 registo 2------------------ >

...

< --Campo N registo 2-- >

SL

Formato XML

Trata-se de um formato onde os dados são definidos nas balisas ao formato XML.

Na exportação, encontra-se um conjunto de informações importantes ligados à vez ao modelo e na extração. O menu Opções / Export esquema de um modelo permite por outro lado de exportar um ficheiro XSD descrevendo a estrutura do ficheiro criado para o modelo.
A importação, os dados úteis são restritos, pode-se então limitar aqueles no ficheiro que se deseja pesquisar a importar.

Formato A liso

Este formato é o formato variável "Separador de registo" ou o formato delimitado (se o campo delimitador de campo está registado).

Se no modelo de importação/exportação vários níveis são definidos, uma única linha está gerada.

Indicador nível 1

Campo 1 registo 1

SC

DC

Campo 2 registo 1

DC

SC

...

Indicador nível 2

Campo 1 registo 2

 

SC

DC

Campo 2 registo 2

SL

No momento da importação, a utilização deste tipo de formato tem por consequência um reagrupamento de todas as linhas de detalhe de um nível dado sob o mesmo cabeçalho desde logo que os campos repetidos no cabeçalho são estritamente idênticos.

Formato cabeçalho

Este formato tem o mesmo formato que o formato "A liso" mais uma linha cabeçalho suplementar correspondente aos intitulados dos campos do modelo.

Este formato é nomeadamente utilizado na Alemanha, para os ficheiro de tipo GDPDU.

Anexo técnico

Encontrar-se-á as informações complementares nos anexos técnicos seguntes :