« IBM® DB2® Web Query for IBM® i™ » (5733QU2)
Tous les noms déposés cités ici sont libres de publicité et sont la propriété de leurs marques respectives. phdconsultant est indépendant des marques citées.
Version du 26-février-2011
phdconsultant maintient toujours son cours Query pour IBM i (ex Query/400) à disposition des sociétés désirant former leur collaborateurs.
INITIATION AU QUERY400
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||
![]() | ||||
Type 2=Enregistrements concordants UNION tout le fichier primaire.
Sont retenus les enregistrements concordants ainsi que tout le fichier primaire.
Les enregs non concordants du primaire sont complétés à blanc (zones alphanumériques), à zéro (zones numériques) ou avec des valeurs par défaut.
En Access Microsoft il s’agit d’une jointure externe gauche. La jointure externe droite correspondant à l’inversion de l’ordre T01 T02.
T01 T02

Type 3=Enregistrements non concordants DU fichier primaire.
Seuls les enregistrements du fichier primaire non concordants sont retenus.
Ce type peut être utilisé pour sortir une liste des anomalies : liste des enregistrements isolés si l’architecture de la base de données ne prévoyait pas ce cas normalement.

Ce menu permet de saisir les tests de jonction de fichiers :
Jonction de fichiers
Indiquez les tests permettant l'association des fichiers, appuyez sur Entrée.
Tests possibles : EQ, NE, LE, GE, LT, GT
Zone Test Zone
T01.CODTVA____ EQ___ T02.CODTVA____
______________ _____ ______________
______________ _____ ______________
______________ _____ ______________
______________ _____ ______________
Fin
Zone Zone
T01.CODART T01.QTESTO
T01.NOMART T01.QTECOM
T01.PRIUNI T02.CODTVA
T01.CODTVA T02.TAUTVA
T01.REMISE
Fin
F3=Exit F5=Rapport F10=Entrer/Précédent F11=Texte
F12=Annuler F13=Dessin F18=Fichiers F24=Autres touches
Une jonction est définie entre 2 fichiers par un ou plusieurs tests (reliés par ET).
Chaque test est établi entre 2 zones de même type, de même longueur, mais pas obligatoirement de même nom.
Les zones des fichiers apparaissent en bas, préfixées dans l'ordre de sélection des fichiers (T01, T02, etc...). Il est obligatoire d'indiquer le préfixe lorsqu'il y a risque de confusion entre 2 fichiers.
Utiliser en principe l’opérateur de comparaison EQ (=) les autres opérateurs correspondant à des cas particuliers.
Jonction de plus de 2 fichiers
Pour N fichiers joints, il y a N-1 jonctions de fichiers.
Chaque jonction est constituée de un ou plusieurs tests.
|
|
Pour plus de 2 fichiers à joindre, la zone d’intersection déterminante pour les choix des type 1, 2, ou 3, est l’intersection de tous les fichiers, c’est à dire le sous-ensemble des enregistrements qui sont en correspondance avec tous les autres fichiers.

Option Définir les zones résultat
Les zones résultat (inexistantes dans les fichiers) peuvent ensuite être utilisées comme n’importe quelle autre zone : figurer dans le rapport et/ou servir à la définition d'autres zones résultat (en cascade).
Définition des zones résultat
Utilisez des noms de zone (ou des constantes) et des opérateurs pour définir
les zones, puis faites ENTREE. Opérateurs : +, -, *, /, SUBSTR, !!, DATE...
Zone Expression En-tête de colonne Long Déc
__________ _________________________________ ____________________ __ __
_________________________________ ____________________
_________________________________ ____________________
__________ _________________________________ ____________________ __ __
_________________________________ ____________________
_________________________________ ____________________
Fin
Zone Zone Zone
T01.CODART T01.REMISE T02.TAUTVA
T01.NOMART T01.QTESTO
T01.PRIUNI T01.QTECOM
T01.CODTVA T02.CODTVA
Fin
F3=Exit F5=Rapport F9=Insérer F11=Texte
F12=Annuler F13=Dessin F20=Réorganiser F24=Autres touches
Le menu apparaît en 2 parties :
-en haut les formules à saisir ;
-en bas un rappel des zones des fichiers car les zones sont utilisées dans les formules par leur nom (Query ne connaissant pas les références de cellules).
à Les 2 parties sont paginables selon que le curseur est dans la partie haute ou la partie basse.
à F9 permet d’insérer par en dessous une nouvelle zone résultat.
à F11 permet comme d’habitude d’alterner l'affichage sur plusieurs colonnes ou avec les textes (indépendamment de l’emplacement du curseur).
Zone: NOM DE LA NOUVELLE ZONE = Nom de la nouvelle colonne sur la feuille Excel. choisir un nom mnémonique commençant par une lettre et limité à 10 positions : lettres ou chiffres ou caractères $ £ à _. Le blanc est interdit mais peut être remplacé par un souligné (underscore _ sur la touche 8 en minuscule).
Expression: L’expression sera appliquée sur chaque enregistrement.
Elle peut être constituée de noms de zones, de constantes, et/ou de fonctions. On peut saisir aussi une constante seule.
Demander de l'aide sur ce champ pour des exemples de formules.
Dans l’importation des données iSéries dans Excel, les noms de zone seront utilisés comme entêtes de colonnes Excel. D’où l’importance d’essayer de donner un nom explicite (toujours dans la limite de 10 caractères).
Le champ Expression peut contenir un simple de nom de zone (existant déjà dans le fichier analysé, ou préalablement définie en tant que zone résultat).
Le champ Expression est donc souvent utilisé pour renommer simplement les zones dans le fichier de sortie et la feuille Excel :
Définition des zones résultat
Utilisez des noms de zone (ou des constantes) et des opérateurs pour définir
les zones, puis faites ENTREE. Opérateurs : +, -, *, /, SUBSTR, !!, DATE...
Zone Expression En-tête de colonne Long Déc
DOSSIER___ jkh43trg6k_______________________ La zone dans le ____ __ __
_________________________________ champ Expression___
_________________________________ sera renommée DOSSIER
Ici la zone du fichier intitulée JKH43TRG6K sera renommée DOSSIER dans le fichier de sortie et donc dans la feuille Excel (à la condition bien sûr que la zone DOSSIER soit bien sélectionnée dans le Choix des zones et de leur séquence).
Si la zone fait l’objet d’un récapitulatif et en cas de sortie fichier récapitulative, le nom de la zone récapitulative sera suffixé de 2 chiffres pour indiquer la fonction récapitulative choisie. Dans ce cas choisir un nom de 8 positions maxi.
En-tête de colonne: Ce champ composé de 3 zones superposées n’a d’utilité qu’en cas de sortie imprimée iSeries.
Cependant en cas de sortie fichier (cas général désormais) le champ Entête de colonne est un espace parfait pour saisir un petit commentaire interne concernant la zone résultat. Très pratique pour votre information.
Long Déc: en principe ne pas renseigner ces zones, laisser Query les remplir automatiquement, quitte à revenir corriger par la suite. Query a tendance a prévoir large.
On vérifiera la longueur des zones calculées dans Choisir les zones et leur séquence ou Choisir le formatage des colonnes et l’on reviendra éventuellement corriger ici même.
Les expressions numériques sont constituées d’opérateurs numériques (les 4 opérations arithmétiques) et d’opérandes numériques : zones ou constantes numériques. Ces expressions créent des zones résultat numériques.
Les constantes numériques se saisissent sans apostrophe, précédées du signe – si négatives, avec la virgule comme séparateur décimal, sans autre ponctuation ni symbole (pas de symbole monétaire) ni espace.
Des parenthèses peuvent être utilisées, les opérateurs + - * / sont les mêmes que sous Excel et sont soumis aux mêmes règles de priorité :
1) Intérieur des parenthèses;
2) Divisions ou Multiplications;
3) Additions ou soustractions.
A priorité égale les calculs se font de gauche à droite dans le sens de la lecture.
Attention, le résultat d’un calcul peut être arrondi (par défaut) ou tronqué (cf. l’option Indiquer les options de traitement). Si une division par zéro est tentée elle bloquera le lancement de l’analyse.
Demander de l'aide dans le champ Expression par F1 pour obtenir des exemples d'expressions arithmétiques.
Exemple : calcul d’un prix TTC : ici, la multiplication prixht x tautva a lieu en premier, puis le résultat est divisé par 100, et enfin le résultat est additionné à prixht.
Définition des zones résultat
Utilisez des noms de zone (ou des constantes) et des opérateurs pour définir le
s zones, puis faites ENTREE. Opérateurs : +, -, *, /, SUBSTR, !!, DATE...
Zone Expression En-tête de colonne Long Déc
PRIXTTC prixht + prixht * tautva / 100
Fin
Zone Texte Long Déc
PRIXHT Prix Hors Taxe 8 2
TAUTVA Taux de TVA 4 2
Les expressions alphanumériques sont des opérations sur des opérandes alphanumériques (zones ou constantes alphanumériques) qui aboutissent à la création de zones résultat alphanumériques.
Ces expressions peuvent être comparées à du Copier/Coller puisque le résultat est collé dans la zone résultat.
Les constantes alphanumériques sont exprimées obligatoirement « entre quotes » (apostrophes), quel que soit le contenu de la constante (lettres majuscules ou minuscules, chiffres, ponctuation…)
Le Copier-coller n’est possible que sur des zones alphanumériques, une conversion numérique à alphanumérique est donc nécessaire si la zone d’origine est numérique.
Query est pauvre en fonctions comparé à Excel mais elles se saisissent sur le même principe avec des parenthèses.
|
Zone |
Expression |
Longueur Décimales |
|
Nom de la zone résultat alphanumérique |
DIGITS(Zone origine numérique) |
Par défaut la longueur de la zone résultat sera la même que celle de la zone origine. |
Correspond aux fonctions Excel TEXTE( ) et CTXT( ).
Exemple : dans le but d'extraire les 3 parties d’une date numérique, il faut d’abord la convertir en alphanumérique :
Définition des zones résultat
Utilisez des noms de zone (ou des constantes) et des opérateurs pour définir le
s zones, puis faites ENTREE. Opérateurs : +, -, *, /, SUBSTR, !!, DATE...
Zone Expression En-tête de colonne Long Déc
DATALPHA digits(datnum) Conversion numérique
en alphanumérique
Fin
Zone Texte Long Déc
DATNUM Date numérique AAAAMMJJ 8 0
SUBSTRING signifie « sous chaîne ». Une sous chaîne de caractères est copiée d’une zone alphanumérique origine vers une nouvelle zone résultat alphanumérique. La zone origine n’est pas modifiée.
|
Zone |
Expression |
Longueur Décimales |
|
Nom zone résultat alpha |
SUBSTR(Zone alpha origine, Début[, Longueur]) |
|
Dans la formule SUBSTR, saisir obligatoirement un blanc après chaque virgule.
Si la longueur de l’extraction n’est pas indiquée, l’extraction se fait du début indiqué à la fin de la zone.
Correspond à la fonction Excel STXT ( ) avec les mêmes arguments (Texte ; Position de départ ; Nombre de caractères).
Début et Longueur peuvent être des constantes ou des zones numériques.
Si la longueur n’est pas indiquée la copie va jusqu’à la fin.
Définition des zones résultat
Utilisez des noms de zone (ou des constantes) et des opérateurs pour définir le
s zones, puis faites ENTREE. Opérateurs : +, -, *, /, SUBSTR, !!, DATE...
Zone Expression En-tête de colonne Long Déc
ANNEE substr(datalpha, 1, 4) Extraction de la
partie année
MOIS substr(datalpha, 5, 2) Extraction de la
partie mois à partir
de position 5 sur 2
JOUR substr(datalpha, 7, 2) Extraction de la
partie jour à partir
de position 7 sur 2
Zone Texte Long Déc
DATALPHA Date alphanumérique AAAAMMJJ 8
Le collage est appelé CONCATENATION.
Il s’agit de coller une zone et une constante ou deux zones, toujours alphanumériques.
Correspond à la fonction Excel CONCATENER( ) ou l’opérateur Excel &.
|
Zone |
Expression |
Longueur Décimales |
|
Nom de la zone résultat alphanumérique |
Zone ou constante !! Zone ou constante |
Par défaut la longueur de la zone résultat est logiquement égale à la somme des longueurs de ses composantes. |
Les constantes alphanumériques se saisissent toujours entre apostrophes.
Exemple (suite) : composition d’une date avec insertion de caractères séparateurs :
Définition des zones résultat
Utilisez des noms de zone (ou des constantes) et des opérateurs pour définir le
s zones, puis faites ENTREE. Opérateurs : +, -, *, /, SUBSTR, !!, DATE...
Zone Expression En-tête de colonne Long Déc
DATSEP annee !! '-' !! mois !! '-' !! Composition de la
jour date au format
AAAA-MM-JJ
L’opérateur de concaténation !! doit être saisi à chaque collage.
SUBSTR et DIGITS ne sont pas autorisées avec les zones type date heure ou horodatage (voir plus loin opérations sur date).
On ne choisit que les zones dont on a besoin pour la sortie/
En terminologie Base de données il s'agit de l'opération de Projection.
La séquence est l'ordre de présentation de gauche à droite, elle se détermine par un nombre croissant.
Par défaut, toutes les zones résultats et toutes les zones des fichiers sont retenues.
Les zones résultats ont été calculées avant pour pouvoir être sélectionnées ici.
Conseils:
Ne choisir que les zones significatives (anticiper le choix des enregistrements).
"Cadrer à gauche" les zones de tri (anticiper le choix des zones de tri).
Lorsqu'un grand nombre de zones est proposé (souvent sur plusieurs pages écran), il est plus facile de partager l'opération dans les 2 phases suivantes:
A. à Choix des zones par le chiffre 1:
Choix des zones et de leur séquence
Entrez un numéro de séquence (0 à 9999) en regard des zones devant apparaître
dans le rapport (500 au maximum) et appuyez sur Entrée.
Séq Zone Séq Zone
1___ DATDAT ____ TELEPH
1___ MOIS_DEBUT ____ CHIAFF
1___ AN_DEBUT 1___ DATCRE
1___ MOIS_FINAL 1___ JJDER
1___ AN_FINAL 1___ MMDER
____ DERN_JOUR 1___ AADER
1___ CODCLI
1___ NOMCLI
____ ADRESS
____ COMPAD
____ CODPOS
____ BURDIS
Fin
F3=Exit F5=Rapport F11=Texte F12=Annuler
F13=Dessin F20=Renuméroter F21=Toutes les zones F24=Autres touches
On observe que les zones résultat sont présentées en premier. Bien sûr ce n’est pas une obligation de conserver une telle séquence.
En premier on sélectionne les zones avec le chiffre 1 sans se poser de question quant à leur séquence, en déroulant toutes les pages nécessaires. Et l’on appuie finalement sur Entrée.
Toutes les zones sélectionnées se retrouvent alors au début, précédées du chiffre 1.
Une fois que les zones sont sélectionnées on peut s’occuper de leur séquence (page suivante) en pressant F20.
B. à Choix de leur séquence:
Utiliser F20 pour renuméroter les zones de 10 en 10 et utiliser les nombres entre les dizaines pour modifier la séquence.
Presser F20 autant de fois que nécessaire au fur et à mesure du travail.
Choix des zones et de leur séquence
Entrez un numéro de séquence (0 à 9999) en regard des zones devant apparaître
dans le rapport (500 au maximum) et appuyez sur Entrée.
Séq Zone Séq Zone
10 DATDAT ____ ADRESS
20 MOIS_DEBUT ____ COMPAD
30 AN_DEBUT ____ CODPOS
40 MOIS_FINAL ____ BURDIS
50 AN_FINAL ____ TELEPH
60 CODCLI ____ CHIAFF
70 NOMCLI
80 DATCRE
90 JJDER
100 MMDER
110 AADER
____ DERN_JOUR
Fin
F3=Exit F5=Rapport F11=Texte F12=Annuler
F13=Dessin F20=Renuméroter F21=Toutes les zones F24=Autres touches
Appuyez sur ENTREE pour confirmer votre demande.
Sélection de certains enregistrements en fonction de critères. Ces critère peuvent porter sur des zones qui ne figureront pas au rapport. (Par défaut tous les enregistrements sont retenus).
Correspond aux filtres Base de données Excel.
Après le Choix des zones et de leur séquence, il s'agit de la Sélection: seconde opération de réduction par rapport au fichier d’origine.
|
|
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 ...)
______________ _____ ______________________________
____ ______________ _____ ______________________________
____ ______________ _____ ______________________________
____ ______________ _____ ______________________________
____ ______________ _____ ______________________________
____ ______________ _____ ______________________________
Fin
Zone Texte Long Déc
CODART CODE ARTICLE 3 0
NOMART NOM ARTICLE 30
PRIUNI PRIX UNITAIRE 6 2
CODTVA CODE TVA 1
REMISE CODE REMISE(O/N) 1
A suivre..
F3=Exit F5=Rapport F9=Insérer F11=Noms uniquement
F12=Annuler F13=Dessin F20=Réorganiser F24=Autres touches
Les zones sélectionnées à l’option Choix des zones et de leur séquence sont présentées en premier. Mais les autres zones (non sélectionnées) sont présentées aussi puisque, en théorie, rien n’empêche de faire de la sélection d’enregistrements à partir de critères qui n’apparaîtront pas dans le résultat.
Les enregistrements sont sélectionnés sur la base d'un ou plusieurs critères (ou tests) reliés par ET ou par OU. Le ET étant la relation par défaut.
Tous les enregistrements (retenus pour la jonction si jonction il y a) sont analysés un par un, seuls sont retenus pour le résultat ceux qui vérifient les tests.
Dans un test, une zone est comparée à une autre zone ou à une constante du même type. Demander de l'aide dans le champ Test pour avoir une liste documentée de tous les opérateurs de test disponibles.
Dans les tests alphanumériques, respecter la casse (Majuscules/Minuscules).
|
Test |
Opérateur |
Remarque sur le champ Valeur : |
|
= |
EQ |
Vocabulaire anglais d’origine |
|
Différent de |
NE | |
|
Inférieur ou égal à |
LE | |
|
Supérieur ou égal à |
GE | |
|
Inférieur à |
LT | |
|
Supérieur à |
GT | |
|
|
|
2 bornes séparées par un blanc |
|
Contenu dans la liste |
LIST |
Indiquer des valeurs discontinues séparées par un blanc. |
|
Non contenu dans la liste |
NLIST | |
|
Contient |
LIKE |
Opérateurs interne:% et _ |
|
Ne contient pas |
NLIKE | |
|
Contient la valeur NULL |
IS |
Code "Null" à ne pas cofondre avec blanc ou avec zéro, signifiant que la zone n'est pas saisie. |
|
Ne la contient pas |
ISNOT |
Dans le champ Valeur il est impossible de faire apparaître des fonctions() de zones résultat (comme SUBSTR...). Mais il est possible de passer des tests de zones résultat.
Il est possible de tester une zone commençant par xxx même si elle est suivie de blancs (opérateur % à la suite non nécessaire) ZONE EQ ‘xxx’, quelle que soit la longueur, du moment que les blancs sont à la fin.
La séquence de classement française peut être nécessaire si les zones testées contiennent des blancs et des minuscules. (Voir "Séquence de classement").
Sélection des enregistrements dont la zone AGE est comprise entre 7 et 77
(les valeurs 7 et 77 feront partie du lot).
AND/OR Zone Test Valeur (zone, nombre, 'caractères', ou ...)
AGE___________ RANGE 7 77__________________________
____ ______________ _____ ______________________________
____ ______________ _____ ______________________________
____ ______________ _____ ______________________________
____ ______________ _____ ______________________________
____ ______________ _____ ______________________________
Fin
Zone Texte Long Déc
AGE 2 0
Sélection des enregistrements dont le département fait partie de la région parisienne : exemple de liste discontinue :
AND/OR Zone Test Valeur (zone, nombre, 'caractères', ou ...)
DEPARTEMENT___ LIST '75' '77' '78' '92' '93' '94'_
____ ______________ _____ ______________________________
____ ______________ _____ ______________________________
____ ______________ _____ ______________________________
____ ______________ _____ ______________________________
____ ______________ _____ ______________________________
Fin
Zone Texte Long Déc
DEPARTEMENT 2
Il est impossible de tester des récapitulatifs (il faut générer un fichier récapitulatif qui sera, à son tour, testé).
Ces 2 test disposent des 2 caractères joker internes % et _(souligné)
|
% |
Remplace n'importe quel caractère sur n'importe quelle longueur. |
|
_ |
Remplace n'importe quel caractère sur une seule position. |
Ces 2 caractères joker ne sont disponibles QUE pour les tests LIKE et NLIKE.
LIKE et NLIKE ne fonctionnent que comparés à des zones alphanumériques.
Si la comparaison doit se faire avec une zone numérique, il est donc indispensable de créer préalablement une zone résultat alphanumérique obtenue par la fonction DIGITS () dans l’option Définir des zones résultat.
Le joker % permet de tester une chaîne de caractères n’importe où dans une zone alphanumérique. Exemple : on cherche dans un fichier Articles tous les libellés contenant le mot CUIR à n’importe quel endroit de la zone NOMART:
AND/OR Zone Test Valeur (zone, nombre, 'caractères', ou ...)
NOMART LIKE '%CUIR%'
Le joker % à gauche et à droite du mot CUIR indique que l’emplacement du mot, au début, à la fin, ou ailleurs, est sans importance.
La séquence de classement par défaut effectuera une recherche correspondant exactement à la casse (ici « CUIR » est bien écrit en majuscules et sera donc cherché en majuscules). En cas de doutes sur la casse, choisir comme séquence de classement Query for iSeries en français (cf option Choisir la séquence de classement).
Résultat de la sélection ci-dessus :
000001 33 BUREAU EMPIRE SOUS-MAIN CUIR 435,00 3
000002 7 CANAPE CUIR BUFFALO 544,00 2
000003 30 TABLE OVALE SALON REVETUE CUIR 350,00 3
000004 20 FAUTEUIL CLUB CUIR PLEINE PEAU 240,00 2
000005 21 CANAPE CLUB CUIR PLEINE FLEUR 599,00 2
000006 34 CUIR vraie peau de vache 64,00 2
000007 11 BOITE A TABAC CUIR 50,00 3
Le joker Souligné permet de faire des tests positionnels dans des chaînes de caractères. Ex tester le département dans le n° INSEE des personnes (n° dit de Sécurité sociale), le département de naissance étant aux positions 6 et 7 de la zone : ici sélection des personnes nées dans la Marne (51).
AND/OR Zone Test Valeur (zone, nombre, 'caractères', ou ...)
INSEE LIKE '_____51%'
Fin
Zone Texte Long Déc
INSEE Code INSEE 15
Le n° 51 est précédé de 5 fois le signe Souligné (touche 8 en position minuscule). Le n° sera donc testé exactement en positions 6 et 7 de la zone.
Le % en position 8 indique qu’on ne fait aucun test des caractères suivants.
Plusieurs conditions peuvent être saisies, reliées par AN (pour And) ou OR.
AN étant la relation par défaut, il est conseillé de ne pas saisir AN pour bien mettre en évidence les OR s’il y a lieu.
Le OR est inclusif (soit l'un soit l'autre soit les 2).
Dans les conditions composées, il importe de bien définir l’ensemble de conditions en langage courant avant de le transcrire.
Piège : Il arrive qu’on exprime en langage courant par ET ce qui doit être transcrit par OU. Exemple : Choisir les enregistrements des départements 93 et 95, c'est en fait tester une zone qui contient 93 OU 95.
Mauvaise pioche : la zone n’est jamais en même temps à 93 et 95.
Il n’y a pas de message d’erreur mais l’analyse est fausse :
AND/OR Zone Test Valeur (zone, nombre, 'caractères', ou ...)
DEPARTEMEN____ EQ___ 93____________________________
__ DEPARTEMEN____ EQ___ 95____________________________
____ ______________ _____ ______________________________
Zone Texte Long Déc
DEPARTEMEN Code Département 3 0
Bonne réponse:
AND/OR Zone Test Valeur (zone, nombre, 'caractères', ou ...)
DEPARTEMEN____ EQ___ 93____________________________
OR _ DEPARTEMEN____ EQ___ 95____________________________
____ ______________ _____ ______________________________
Zone Texte Long Déc
DEPARTEMEN Code Département 3 0
Autre bonne réponse (et même meilleure) :
AND/OR Zone Test Valeur (zone, nombre, 'caractères', ou ...)
DEPARTEMEN____ LIST_ 93 95_________________________
____ ______________ _____ ______________________________
En cas de conditions composées avec OR et And, on ne dispose pas ici de parenthèses. Se rappeler que Query, respectant une règle basique de la logique, place ses parenthèses « virtuelles » autour des And, le OR figurant en dehors des parenthèses.
Ainsi la condition composée ci-dessous :
Condition A And Condition B Or Condition C
S’analyse de la façon suivante:
(Condition A And Condition B) Or Condition C
Et non pas par:Condition A And (Condition B Or Condition C)ce qui change tout.
Donc si l’on veut transcrire la condition composée biffée ci-dessus,
sans parenthèses il faut répéter de part et d’autre du OR la condition qui ne change pas :
Condition A And Condition B Or Condition A And Condition C
Ce que Query analysera de la façon suivante :
(Condition A And Condition B) Or (Condition A And Condition C)
Il n'y a aucun tri des enregistrements garanti par défaut même si un tri avait été défini par l'informatique lors de la création des fichiers.
Les critères de tri ne peuvent être choisis que parmi les zones qui apparaîtront à la sortie (choix des zones et de leur séquence).
Pour une meilleure lisibilité, les zones de tri devraient être cadrées à gauche du rapport ("Choix des zones et de leur séquence").
Les futures zones de rupture doivent obligatoirement figurer comme zones de tri.
Le tri concerne la totalité du résultat (alors que sous Excel on peut ne trier qu’une partie d’une table).
Choix des zones de tri
Indiquez le niveau de priorité (0 à 999) et l'ordre A (croissant) ou D
(décroissant) en regard de 32 noms de zones au maximum, et appuyez sur Entrée.
Prio
tri A/D Zone Texte Long Déc
1__ _ NOCMDE NO DE COMMANDE 2 0
2__ _ NOLIGN NO LIGNE DE COMMANDE 2 0
___ _ CODART CODE ARTICLE 3 0
___ _ QTELIG QUANTITE LIGNE CDE 3 0
Fin
F3=Exit F5=Rapport F11=Noms uniquement F12=Annuler
F13=Dessin F18=Fichiers F20=Renuméroter F24=Autres touches
NO DE COMMANDE NO LIGNE DE COMMANDE CODE ARTICLE QUANTITE LIGNE CDE
000001 1 1 4 1
000002 1 2 5 2
000003 1 3 6 1
000004 1 4 8 3
000005 1 5 300 1
000006 1 6 38 2
000007 2 1 1 1
000008 2 2 10 1
000009 2 3 16 1
000010 2 4 22 1
A suivre..
Cette option est sans objet à moins qu’un problème rare ne se produise : la concurrence de lettres majuscules et minuscules dans les mêmes zones.
De la séquence de classement choisie dépend le fonctionnement des options suivantes lorsqu’elles portent sur des zones alphanumériques:
- Choix des fichiers en cas de jonction;
- Choix des enregistrements;
- Choix des zones de tri
- Fonctions récapitulatives Minimum et Maximum.
- Dans la séquence hexadécimale, utilisée par défaut, les minuscules et majuscules n'ont pas le même "poids".
C’est ennuyeux si des zones alphanumériques, utilisées dans les menus ci-dessus, contiennent un joyeux mélange de minuscules et de majuscules, selon l’humeur des personnes qui ont saisi les données.
- La séquence Query for iSeries en français, attribue un poids identique aux minuscules et majuscules, mais comme elle n’est pas prévue par défaut il faut la demander explicitement pour chaque Query concerné par ce problème en cochant l’option 2 du menu Choix d’une séquence de classement.
Description des séquences par "poids" croissant:
|
Séquence hexadécimale |
Query for iSeries en français |
|
Blanc | |
|
Caractères divers tels que ., +, !, $, %, etc. | |
|
Alphabet minuscule |
Alphabet sans distinction majuscule/minuscule. |
|
Alphabet majuscule | |
|
Chiffres (0 à 9). | |
Choix d'une séquence de classement
La séquence de classement choisie sera utilisée pour : le tri, le choix des
enregistrements, la jonction des fichiers, la recherche des valeurs extrêmes et
les ruptures de contrôle.
Indiquez vos choix, puis appuyez sur ENTREE.
Séquence de
classement . . . . . 1 1=Hexadécimale
2=Query for iSeries en français
3=Personnelle
4=Table de conversion
5=Séquence de tri système
Pour option 4=Table de conversion :
Table . . . . . . . __________ Nom, ou F4 pour liste
Bibliothèque . . . __________ Nom, *LIBL, ou F4 pour liste
F3=Exit F4=Invite F5=Rapport F10=Entrer/Précédent
F12=Annuler F13=Dessin F17=Séquence travail F24=Autres touches
L’option 2 n’est valable que pour l’analyse en cours.
Note : sous Excel, il n’existe qu’une seule séquence de classement, les chiffres (suivis du blanc puis des caractères spéciaux) passent avant les lettres et les Majuscules ne sont pas distinctes des minuscules.
- La séquence Query for iSeries en français peut être définie comme séquence par défaut pour le profil en cours, pour cette analyse et toutes les analyses définies par la suite et jusqu'à nouvel ordre (les analyses définies antérieurement ne sont pas concernées). Opt. 2 puis F23.
Ce menu permet d'améliorer la présentation du rapport: imprimé ou affiché par F5. Sans effet sur les sorties fichier.
F13=Dessin permet de voir une maquette du rapport. Celle-ci fournit en haut à droite une information importante: largeur totale actuelle du rapport.
-Gain de place en largeur: Réduire la largeur des entêtes de colonnes (utiliser les 3 lignes pour développer l'entête verticalement plutôt qu'horizontalement).
-Aération des colonnes: Augmenter l'espace avant les colonnes.
-Modification de la longueur des zones.
C’est une modification d’aspect seulement. Pour modifier véritablement la longueur des zones dans le fichier de sortie passer par l’option Définir les zones résultat.
-Modification de l'aspect des zones numériques par F16:
Choix du formatage des colonnes
Indiquez vos informations, puis appuyez sur Entrée.
Si vous ne voulez pas d'en-tête de colonne entrez : *NONE
Espaces
Zone avant col En-tête de colonne Long Déc Présen
NOCMDE 0 NO DE COMMANDE______ 2 0 *
____________________
____________________
NOLIGN 2 NO LIGNE DE COMMANDE 2 0
____________________
____________________
A suivre..
F3=Exit F5=Rapport F10=Entrer/Précédent F12=Annuler
F13=Dessin F16=Présentation F18=Fichiers F23=Commentaire long
L’entête de colonne est utile pour servir de commentaire dans les sorties fichier.
Utiliser F16 alors que le curseur se trouve à hauteur de la zone désirée (n'importe où en largeur) : Exemple dans le cadre ci-dessous pour la zone NOCMDE.
F16
Zone avant col En-tête de colonne Long Déc Présen
NOCMDE 0 N°__________________ 2 0 *
de__________________
cde_________________
NOLIGN 2 N°__________________ 2 0
de__________________
ligne_______________
Définition d'une présentation de zone numérique
Zone . . . . . . . . : NOCMDE
Texte . . . . . . . . : NO DE COMMANDE
En-tête 1 . . . . . . : N°
En-tête 2 . . . . . . : de
F10
En-tête 3 . . . . . . : cde
ou
Entrée
Longueur . . . . . . : 2
Nombre de décimales . : 0
Exemple . . . . . . . : 99
Entrée
Indiquez votre choix, puis appuyez sur Entrée.
Option de présentation 1 1=Zone numérique
2=Date ou heure
3=Code d'édition
4=Mot d'édition
F3=Exit F5=Rapport F10=Entrer/Précédent F11=Modifier exemple
F12=Annuler F13=Dessin F16=Enlever présentation F18=Fichiers
Description de présentation de zone numérique
Zone . . . . . . : NOCMDE
Indiquez vos choix, puis appuyez sur ENTREE.
F10
Symbole décimal . . . . . . . . 2 1=. 2=, 3=: 4=$ 5=Aucun
Séparateur de milliers . . . . 1 1=. 2=, 3=' 4=Blanc 5=Aucun
Afficher signe négatif . . . . O O=Oui N=Non
à gauche . . . ______
à droite . . . -_____
Afficher symbole monétaire . . N O=Oui N=Non
à gauche . . . F_____
à droite . . . ______
Imprimer la valeur zéro . . . . O O=Oui N=Non
Remplacer les zéros de gauche . O O=Oui N=Non
par . . . . . . . . . . . . . 1 1=Blancs
2=Astérisques
3=Symbole monétaire flottant
Zéro devant symbole décimal . N O=Oui N=Non
F3=Exit F5=Rapport F10=Entrer/Précédent F12=Annuler
F13=Dessin F16=Enlever présentation F18=Fichiers
à L’option 4=Mot d’édition, réservée aux zones numériques, est plus puissante que l’option 1 mais plus technique. Un mot d’édition est une sorte de masque défini à l’aide de caractères spéciaux.
Cf sous Excel le formatage d’une cellule par Format de Cellule à Nombre à Personnalisé.
Caractères spéciaux de l’option 4 :
|
Les caractères… |
… comptent pour | |
|
|
Blanc |
Un chiffre |
|
0 |
Zéro |
Dernier zéro non significatif à être effacé |
|
& |
Perluète |
Un blanc |
|
‘0 , &%’ |
Exemple : taux de tva de longueur 4 dont 2 : | |
|
‘ . . . . ‘ |
Exemple : n° de téléphone 10 dont 0 : | |
|
‘ 0a& m& j’ |
Exemple pour une durée en années, mois, et jours de longueur 8 dont zéro. | |
Saisir le mot d’édition entre apostrophes. Chaque digit doit être représenté (par un blanc (ou par un zéro), ajouter toute ponctuation désirée.
à L’option 2=Date ou heure ne fonctionne qu’avec une zone numérique (6 ou 8 dont zéro AAMMJJ ou AAAAMMJJ). Elle permet d’insérer les séparateurs / mais ne convertit pas l’ordre AAMMJJ en JJMMAA. Peu intéressante.
à L’option 3 nécessite de connaître les codes d’édition informatiques (cd l’aide par F1).
Fonctions récapitulatives du rapport
Les Fonctions récapitulatives sont des "opérations verticales" sur les zones, telles que la somme d'une colonne par exemple. Il y a théoriquement 5 fonctions récapitulatives différentes possibles pour chaque zone.
Correspond aux données de sous total Excel
Ce menu permet de choisir les zones concernées et les fonctions appliquées sur chacune.
Choix des fonctions récapitulatives du rapport
Indiquez vos options, puis appuyez sur Entrée.
1=Total 2=Moyenne 3=Minimum 4=Maximum 5=Comptage
---Options--- Zone Texte Long Déc
5 _ _ _ _ NOCMDE NO DE COMMANDE 2 0
_ _ _ _ _ NOLIGN NO LIGNE DE COMMANDE 2 0
_ _ _ _ _ CODART CODE ARTICLE 3 0
1 2 _ _ _ QTELIG QUANTITE LIGNE CDE 3 0
Fin
F3=Exit F5=Rapport F10=Entrer/Précédent F11=Noms uniquement
F12=Annuler F13=Dessin F18=Fichiers F23=Commentaire long
Les récapitulatifs peuvent être formatés dans l'option Formatage des colonnes, option 4=Mot d'édition.
Il y a autant de cases à remplir que d’opérations théoriques possibles devant toutes les zones. C’est bien sûr pure théorie.
Les fonctions Total et Moyenne ne passent qu’avec des zones numériques.
Les autres fonctions passent avec n’importe quel type de zone.
La fonction Comptage donne le même résultat appliquée à n’importe quelle zone.
N° N° Code Quantité
de de article commandée
cde_ ligne en ligne
000001 1 1 4 1
000002 1 2 5 2
000003 1 3 6 1
000004 1 4 8 3
000005 1 5 300 1
000006 1 6 38 2
000007 2 1 1 1
000008 2 2 10 1
000009 2 3 16 1
000010 2 4 22 1
000011 2 5 40 1
000012 2 6 41 1
000013 2 7 43 1
000014 2 8 44 1
000015 2 9 5 2
000016 2 10 8 4
000017 2 11 11 1
000018 2 12 7 1
000019 2 13 29 1
000020 2 14 31 1
000021 2 15 36 1
000022 2 16 2 1
000023 2 17 3 1
000024 2 18 4 1
000025 2 19 6 1
000026 2 20 9 1
000027 2 21 12 1
000028 2 22 13 1
000029 2 23 14 1
000030 2 24 15 2
000031 2 25 17 4
000032 2 26 18 1
000033
000034 TOTAUX FINALS
000035 TOTAL 44
000036 MOYENNE 1
000037 COMPTAGE 32
- Les ruptures permettent d'indiquer où se produisent les fonctions récapitulatives.
A défaut de rupture, ces dernières ne se produisent qu'une fois à la fin du rapport.
Les ruptures permettent donc de placer par exemple des sous totaux.
Les ruptures sont des zones dont le contenu sera comparé au précédent, enregistrement par enregistrement. En principe les zones de ruptures sont calquées sur les zones de tri (excepté le critère de tri le plus petit s'il n'y a pas de doublon).
- Accessoirement: les zones de ruptures ne sont pas répétées sur le rapport tant que leur contenu est identique.
Définition des ruptures de contrôle
Indiquez un niveau de rupture (1 à 6) pour 9 zones au maximum, et appuyez
sur Entrée. (Utilisez autant de zones que nécessaire pour chaque niveau)
Niveau Prio
rupture tri Zone Texte Long Déc
1 10 NOCMDE NO DE COMMANDE 2 0
_ 20 NOLIGN NO LIGNE DE COMMANDE 2 0
_ CODART CODE ARTICLE 3 0
_ QTELIG QUANTITE LIGNE CDE 3 0
Résultat obtenu par F5 (les zones identiques sont répétées mais sur le rapport elles ne seront pas répétées) :
N° N° Code Quantité
de de article commandée
cde_ ligne en ligne
000001 1 1 4 1
000002 1 2 5 2
000003 1 3 6 1
000004 1 4 8 3
000005 1 5 300 1
000006 1 6 38 2
000007
000008 TOTAL 10
000009 MOYENNE 2
000010 COMPTAGE 6
000011
000012 2 1 1 1
000013 2 2 10 1
A suivre..
Pour chaque niveau de rupture un menu "Formatage d'une rupture de contrôle" permet à ce niveau:
- La désactivation des fonctions récapitulatives (par défaut les récapitulatifs "ne sont pas supprimés", donc ils ont lieu);
- L'émission d'un saut de page;
- La modification de titres.
Le niveau 0 ajouté automatiquement compte pour le récapitulatif final.
Formatage d'une rupture de contrôle
Niveau de rupture . . . . . : 0
Indiquez vos choix, puis appuyez sur ENTREE.
(Indiquez &zone dans le texte pour faire insérer les valeurs de rupture)
Supprimer récapitulatifs . N O=Oui N=Non
Texte de rupture . . . . . TOTAUX FINALS___________________________
Niveau Zone
1 NOCMDE
F3=Exit F5=Rapport F10=Entrer/Précédent F12=Annuler
F13=Dessin F18=Fichiers F23=Commentaire long
Formatage d'une rupture de contrôle
Niveau de rupture . . . . . : 1
Indiquez vos choix, puis appuyez sur ENTREE.
(Indiquez &zone dans le texte pour faire insérer les valeurs de rupture)
Saut à une nouvelle page . N O=Oui N=Non
Supprimer récapitulatifs . N O=Oui N=Non
Texte de rupture . . . . . ________________________________________
Niveau Zone
1 NOCMDE
F3=Exit F5=Rapport F10=Entrer/Précédent F12=Annuler
F13=Dessin F18=Fichiers F23=Commentaire long
Choix du type et de la nature de la sortie
Indiquez vos choix, puis appuyez sur ENTREE.
Type de sortie . . . . . . . . . . . 3 1=Ecran
2=Imprimante
3=Fichier base de données
Nature de la sortie . . . . . . . . 1 1=Détaillée
2=Récapitulative
Retour à la ligne . . . . . . . . . N O=Oui N=Non
Largeur de ligne . . . . . . . . . ___ Blanc, 1 à 378
Enregistrement sur une seule page N O=Oui N=Non
F3=Exit F5=Rapport F10=Entrer/Précédent
F12=Annuler F13=Dessin F18=Fichiers
Le type généralement choisi est la sortie Fichier base de données, en vue d’une exportation ultérieure vers le PC.
La sortie imprimante a connu son époque de gloire mais c’était de l’impression en mode texte interne iSeries (les fameux spoules).
La sortie écran est un simple affichage à l'écran du résultat, identique à la fonction F5 = Rapport.
La Nature de la sortie est indépendante du type choisi:
- Détaillée: sortie de tous les enregistrements choisis au menu "Choix des enregistrements".
- Récapitulative: sortie d'un enregistrement seulement lorsqu'il est en rupture: seules les zones de ruptures et les zones récapitulatives sont générées.
Correspond au mode Plan de Excel, en association à une définition de sous totaux.
Exemple : pour connaître les différentes valeurs d’une zone dans un fichier, passer sur ce fichier une analyse récapitulative avec tri et rupture sur cette zone.
La largeur de ligne peut devoir être adaptée à la largeur du rapport (vérifier par F13).
Le paragraphe Retour à la ligne est inopérant en sortie fichier.
Les sorties imprimante sont expliquées ici pour mémoire mais elles sont de moins en moins utilisées car il s’agit de sortie au format texte iSeries.
Exemples de sorties récapitulatives sur imprimante:
Sortie récapitulative avec rupture et fonction récapitulative:
N° Quantité
de commandée
cde en ligne
000001 1
000002 TOTAL 10
000003 MOYENNE 2
000004 COMPTAGE 6
000005
000006 2
000007 TOTAL 34
000008 MOYENNE 1
000009 COMPTAGE 26
000010
000011 TOTAUX FINALS
000012 TOTAL 44
000013 MOYENNE 1
000014 COMPTAGE 32
Sortie récapitulative sans fonction récapitulative:
Seules les zones de rupture des enregistrements récapitulatifs sont générées.
N°
de
cde
000001 1
000002
000003 2
Sortie récapitulative sans fonction récapitulative ni rupture:
Un comptage général est simplement effectué.
000001 TOTAUX FINALS
000002 COMPTAGE 32
Menus spécifiques de la sortie imprimante:
Aucun des champs de ces menus n'est obligatoire et la plupart sont laissés avec leur valeur par défaut.
Le menu suivant permet de choisir l'imprimante si le rapport doit être imprimé sur une autre imprimante que celle prévue par défaut.
Lar largeur du papier peut devoir être adaptée à la largeur du rapport (vérifier par F13).
Les lignes du rapport peuvent être espacées (interligne à 2 ou 3).
La définition de l'analyse est l'ensemble des menus ayant abouti à sa création. Elle peut être imprimée avec le rapport. (Il est utile de disposer pour chaque analyse d'au moins un exemplaire "papier" de la définition).
Définition du format des sorties imprimées
Indiquez vos choix, puis appuyez sur ENTREE.
Imprimante . . . . . . . . *PRINT____ *PRINT, nom
Taille du papier :
Hauteur . . . . . . . . ___ Blanc, 1 à 255
Largeur . . . . . . . . 132 Blanc, 1 à 378
Première ligne . . . . . . ___ Blanc, 1 à 255
Dernière ligne . . . . . . ___ Blanc, 1 à 255
Interligne . . . . . . . . 1 1, 2 ou 3
Imprimer la définition . . N O=Oui N=Non
F3=Exit F5=Rapport F10=Entrer/Précédent
F12=Annuler F13=Dessin F18=Fichiers
Définition d'une sortie en spoule
Indiquez vos choix, puis appuyez sur ENTREE.
Sortie en spoule . . . _ Blanc, O=Oui N=Non
Type de papier . . . . __________ Blanc, nom, *STD
Nombre d'exemplaires . 1__ Blanc, 1 à 255
Suspendre