ONYX - Utilisation

Convertisseur Texte paginé vers XML Pivot

De MappingDoc
Révision datée du 11 août 2023 à 16:11 par Jdieu (discussion | contributions) (repeated)

Introduction

L'objet du convertisseur texte paginé (PAG) vers XML Pivot (Module : PAGTOPIVOT) est de convertir un fichier texte paginé (Spooled files IBM-i, fichiers textes paginée provenant d'ERP quelquonces) en XML Pivot. Il peut avoir plusieurs intérêts à faire cela :

  • Génération de formats UBL, CII et Factu-X pour la facturation électronique
  • Besoin de repaginer un flux texte provenant par exemple d'un IBM-i (ou autres)

En effet, Efalia Compose (Anciennement MAPPING), utilise le format XML Pivot comme format standard pour les conversions de flux. De ce fait, il est très aisé de générer un flux CII, UBL ou même XML Designer afin de recomposer un document.

Le convertisseur texte paginé vers XML Pivot donne la possibilité de profiter de toutes ces sorties et fonctionnalités quand l'ERP génère un fichier texte paginé.

Prérequis

  • la clé Connect doit être activée sur le serveur Efalia Compose
  • Les valeurs présentes dans le fichier texte paginé doivent être au format attendu dans le fichier XML Pivot (pas de modification de format dans un premier temps : Possible dans une valeur ultérieure)

Principe de fonctionnement

Le convertisseur se passe en deux étapes :

  1. Exécution d'une maquette Designer générerant un XML Designer du fichier texte paginé (maquette designer respectant quelques normes)
  2. Exécution du convertisseur PAGTOPIVOT pour convertir la sortie XML Designer en XML Pivot

A ce moment là, le XML Pivot sera disponible et pourra être utilisé comme souhaité.

Principle PAGTOPIVOT.jpg


Maquette Designer

La maquette Designer doit lister les tous les champs et groupes devant être retrouvés dans le flux XML Pivot en sortie.

Champs devant être créés au niveau <doc>

Les champs hors groupe (dit en standalone), feront l'objet d'un <field> au niveau <doc>, les <field> étant dans des groupes non nommé BG-xxx ou LS-xxx seront placés également au niveau <doc>.

Champs devant être créés dans une liste

Le <field> présent dans un groupe nommé BG-xxx ou LS-xxx seront feront eux l'objet d'une liste <list> dans le fichier XML Pivot généré.

Règle de rupture d'item <item> dans les listes

_1, etc (A finir)

Gestion du DOC-BREAK

(A finir)

Fichier de paramétrage

Le convertisseur PAGTOPIVOT peut lire un fichier de paramétrage dans lequel nous pouvons :

  1. Surcharger le champ DOC-BREAK de rupure de doc <field id="DOC-BREAK">DOC-BREAK</field>
  2. Lister les groupes Designer devant donner naissance à une liste dans le fichier de sortie XML Pivot <list id="BG-1" type="continue"/>

attribut type

L'attribut type permet de spécifier quel type de groupe Designer est lié à cette liste :

continue (valeur par défaut)

L'attribut type=continue décrit un groupe continu à travers les différentes pages. Un exemple de groupe continue est par exemple la liste de détails d'une facture. La page 2 contient la suite des information de la page 1.

repeated

L'attribut type=repeated décrit un groupe se répétant de manière identique sur les différentes pages. Son contenu sera alors insérer qu'une seule fois dans le fichier XML Pivot. Un groupe repeated pourrait par exemple être la liste de TVA d'une facture. La liste de TVA peut être sur toutes les pages de la facture mais uniquement pour rappel à l'utilisateur, mais ses données identiques sur toutes les pages pourrait finalement se trouver uniquement sur une page (généralement la dernière pour la liste de TVA).

Exemple de fichier de paramétrage

<param>
  <doc type="FLUX100010">
     <field id="DOC-BREAK">DOC-BREAK</field>
     !--Si liste non présente ici alors, groupe tête-chercheuse-->
     <list id="BG-1" type="continue"/>
     <list id="BG-20" type="repeated"/>
     <list id="BG-23" type="repeated"/>
     <list id="BG-25" type="continue"/>
     <list id="BG-3" type="repeated"/>
  </doc>
</param>

Lescommandes d'exécutions associés

Conversion du fichier texte paginé en fichier XML Designer :

"C:\MAPPING\M-Processing Server\Applications\mapcpysplf" "-infile:C:\DesignerToPivot\PAG.txt" "-mapnam:FLUX1" "-xmlmapping" -xmloutfile:C:\DesignerToPivot\flux1_XML_Designer.xml -overflow:9999


Conversion du fichier XML designer en fichier XML Pivot :

"C:\MAPPING\M-Processing Server\Applications\maprunrpt" "-rptname:PAGTOPIVOT" "-param:DB.infile=C:\DesignerToPivot\DesignerToPivot\flux1_Exemple.xml" "-param:DB.param=P:\MAPPING\M-Designer\docpc\Clients\Efalia\DesignerToPivot\designertopivot_param.xml" "-outfile:C:\DesignerToPivot\DesignerToPivot\out1.xml"


Exemple

A TERMINER

Prenons pour exemple, le besoin de convertir un fichier texte paginé en XML Pivot afin de gérer un flux CII pour la facturation électronique.

Structure du fichier texte paginé

Le fichier texte paginé est un exemple de flux. N'importe quel flux pouvant être pris en charge par Designer peut être utilisé.
Ce flux d'exemple a été enrichi et modifier pour répondre aux exigences de la norme CII (flux 2) :

Paginated text file.png


Evolutions futures

  • imbrication de listes