Fusion traitement de textes OfficeVision avec Query.

Marche à  suivre

Le cas le plus fréquent est celui où vous avez un fichier "entête" et un
ou plusieurs fichiers "détail". Si le fichier entête ne contient qu’un seul
enregistrement et que les enregistrements des fichiers détails correspondent tous à  cet
enregistrement, alors là  pas de problème : il suffit de déclarer les zones du fichier
entête comme ci-dessous (la ligne importante ici est "Lettres ou liste" :

Zone de données . . . . . __________ Nom
Origine zone de données 1 1=A partir des options de fusion
2=*PRINT 3=*NOTE
Lettres ou liste . . . . . 1 1=Plusieurs lettres 2=Liste colonne
ID fichier pour analyse . ___
Longueur de l'instruction 1 1 à  255, Blanc=Instruction entière

Source des données à  fusionner . 3 1=Analyse
2=Document
3=Fichier

Fichier . . . . . . . . . . . __________ Nom
Bibliothèque . . . . . . . . *LIBL Nom, *LIBL
Membre . . . . . . . . . . . . *FIRST Nom, *FILE, *FIRST, *LAST

Les zones des fichier détail devront être déclarées de la même façon mais il
faudra saisir un "2" sur la ligne "Lettres ou liste". En effet le mode
"Liste colonne" est celui qui permet d’imprimer plusieurs enregistrements d’un
même fichier "en colonne" sur une même page.

Je le disais tout à  l’heure, tout ça fonctionne très bien si l’on est dans le cas
idéal où vous avez un seul enregistrement dans le fichier entête et que tous les
enregistrements des fichiers détail correspondent à  cet enregistrement entête. Mais si
votre fichier entête contient plusieurs enregistrements vous débouchez sur une impasse
car le TdT Office ne sait pas gérer ce cas de figure. Seul moyen pour s’en sortir,
utiliser des Query sur les fichiers détail. Vous trouverez dans l’exemple ci-dessous la
marche à  suivre.

Exemple : Liste des fichiers à  fusionner

FT220 : fichier entête
FT2201 : fichier détail n°1
FT2203 : fichier détail N°2

En ce qui concerne les zones du fichier FT220, pas de changement, vous les déclarez
dans votre document TdT de la même façon qu’auparavant.

Par contre, les zones des fichiers FT2201 et FT2203 doivent être déclarés de la
façon suivante :

Zone de données . . . . . __________ Nom
Origine zone de données 1 1=A partir des options de fusion
2=*PRINT 3=*NOTE
Lettres ou liste . . . . . 2 1=Plusieurs lettres 2=Liste colonne
ID fichier pour analyse . ___
Longueur de l'instruction 1 1 à  255, Blanc=Instruction entière

Source des données à  fusionner . 1 1=Analyse
2=Document
3=Fichier

Analyse . . . . . . . . . . . __________ Nom
Bibliothèque . . . . . . . . *LIBL Nom, *LIBL

Vous constatez que cette fois on ne déclare pas les zones comme étant en provenance
d’un fichier mais d’une analyse Query. De manière arbitraire, j’ai décidé d’appeler le
Query sur le fichier FT2201 en QRY2201 et celui sur le fichier FT2203 en QRY2203. Comme
ces Query sont similaires dans le principe, je ne détaillerai ci-dessous que le QRY2201.

Dans le Query QRY2201 il n’y a que deux options qui nous intéressent. Il s’agit de
"Choisir les fichiers" et "Choisir les enregistrements". Commençons
par regarder l’option "Choisir les fichiers".

Choix des fichiers

Répondez, puis appuyez sur Entrée.
Faites F9 si vous souhaitez définir un fichier supplémentaire.
Fichier . . . . . . . FT2201 Nom, ou F4 pour liste
Biblio . . . . . . . DEVFIC Nom, *LIBL, ou F4 pour liste
Membre . . . . . . . . *FIRST Nom, *FIRST, ou F4 pour liste
Format . . . . . . . . FT2201A Nom, *FIRST, ou F4 pour liste

Voyons maintenant l’option "Choisir les enregistrements" :

Choix des enregistrements

Entrez les comparaisons, appuyez sur ENTREE. Entrez OR pour un nouveau groupe.
Tests : EQ, NE, LE, GE, LT, GT, RANGE, LIST, LIKE, IS, ISNOT...
AND/OR Zone Test Valeur (zone, nombre, 'caractères', ou ...)
FTTPOS EQ :H8TPOS
AND FTNROS EQ :H8NROS

Avant d’expliquer ce qui précède, il faut savoir que les zones FTTPOS et FTNROS
correspondent au type et au numéro de commande dans le fichier FT2201 alors que les zones
H8TPOS et H8NROS correspondent aux mêmes zones dans le fichier FT220 (fichier
"maître"). On fait donc une sélection sur les identifiants des deux fichiers
en "égalité sur clé".

Le fait d’avoir saisi dans la colonne "Valeur" les variables :H8TPOS et
:H8NROS va entraîner l’affichage de l’écran complémentaire ci-dessous dans lequel on va
préciser le fichier d’origine des zones H8TPOS et H8NROS (remarquez qu’est prévue la
possibilité de faire un lien avec un autre Query).

Choix des attributs de valeur subordonnée

Indiquez vos choix, puis appuyez sur ENTREE.
Type d'attribut . . . 2 1=Analyse 2=Fichier

Analyse ou fichier . . FT220 Nom, ou F4 pour liste de fichiers
Bibliothèque . . . . DEVFIC Nom, *LIBL, ou F4 pour liste

Si vous avez choisi l'option 2=Fichier :
Membre du fichier . . *FIRST Nom, *FIRST, ou F4 pour liste

ATTENTION : Une des contraintes de ce système réside dans le fait que l’on est
obligé de préciser les bibliothèques fichier à  l’intérieur du Query ce qui obligera
à  reparamétrer le Query à  chaque fois qu’on le mettra en place dans une autre
bibliothèque fichier que celle précisée à  l’origine dans le Query. Mais c’est un
inconvénient mineur. L’autre inconvénient, plus important celui-là , réside dans le
fait que la solution présentée dans cette note est très gourmande en ressources
système et peut facilement mettre l’AS/400 "sur les genoux" si la taille des
fichiers traités est trop importante. A utiliser avec modération.

Print Friendly, PDF & Email