--------------- ! TRI 38 / AS ! --------------- Le tri est un utilitaire hérité de l'IBM 34. Cet utilitaire n'est pas du tout orienté 38/AS, mais il permet une conversion rapide des procédures d'origine 34/36 en 38/AS400. Le tri sert à classer des fichiers différemment, le résultat du tri sera placé dans un nouveau fichier. Exemple: supposons un fichier CLIENT classé par N° je veux créer un nouveau fichier classé par NOM. Sur l'AS j'utiliserais un fichier logique. Mais malheureusement la procedure qui effectue ce traitement vient du 34, le tri est effectué grâce à l'utilitaire. Ce cours a pour but de vous familiariser avec les instructions TRI pour pouvoir intervenir dans des procedures provenant de l'ancien ordinateur. |
Il existe 2 types de tri ,le tri d'enregistrement qui créera un fichier composé des enregistrements du fichier trié dans un ordre différent, et le tri d'adresses qui créera un fichier contenant uniquement les adresses des enregistrements. Ex: tri d'adresse. Un fichier PRODUITS composé de 4 zones COPROD,DESI,QTE,PU il est trié par DESI, j'effectue un tri d'adresse par CODPROD. ------------------------------------------------- ! num. enreg.! CODPROD ! DESI ! QTE ! PU ! !------------!----------------------------------! ! 1 ! A10 ! CLOU 15 ! 10 ! 1 ! ! 2 ! Z20 ! CLOU 20 ! 15 ! 1 ! ! 3 ! B1 ! ECROU 15 ! 5 ! 2 ! ! 4 ! X23 ! ECROU 20 ! 5 ! 2 ! ! 5 ! C10 ! VIS 18 ! 25 ! 2 ! ------------------------------------------------- |
Le fichier constitué contiendra les adresses des enregistrement trié par CODPROD. -------------- ! num. enreg.! !------------! ! 1 ! ! 3 ! ! 5 ! ! 4 ! ! 2 ! -------------- Si je veux lire le fichier PRODUITS par désignation j'utiliserai les 2 fichiers en lecture. Ex: tri d'enregistrements. Le fichier crée contiendra les enregistrements de PRODUITS triés par CODPROD. |
------------------------------------------------- ! num. enreg.! CODPROD ! DESI ! QTE ! PU ! !------------!----------------------------------! ! 1 ! A10 ! CLOU 15 ! 10 ! 1 ! ! 3 ! B1 ! ECROU 15 ! 5 ! 2 ! ! 5 ! C10 ! VIS 18 ! 25 ! 2 ! ! 4 ! X23 ! ECROU 20 ! 5 ! 2 ! ! 2 ! Z20 ! CLOU 20 ! 15 ! 1 ! ------------------------------------------------- L'utilitaire de TRI se trouve dans la bibliothèque QS3E pour le 38 sur l'AS/400 cet utilitaire est intégré au système d'exploitation Il nécessite un source qui devra être créé dans le fichier source QFMTSRC de votre bibliothèque, et d'une commande FMTDTA qui exécutera le tri. |
1 LE SOURCE. ------------ Le langage source du tri est composé de 4 spécifications. spécif H I O F Une spécification est une ligne ou chaque position signifie une action ou indique un renseignement. 1.1 SPECIFICATION H. -------------------- Cette spécification est unique par source. Elle indique le type de tri la longueur totale des zones à trier l'ordre croissant ou décroissant etc.. tous les renseignements généraux du tri elle a le format suivant: Colonne 1 à 5 :-des blancs |
6 :-H 7 à 10 :-FILE tri d'enregistrements -RAF tri d'adresses (RECORD ADRESS FILE) 11 à 14 : -des blancs 15 à 17 : -longueur totale des zones à trier 18 : -A ordre croissant (ascendant) -D ordre décroissant (descendant) 19 à 27 : -des blancs 28 : -X tri DROP (si FILE en col 7 à 12) les zones servant de critère ne seront pas placées dans l'enregistrement du fichier créé. -blanc tri non DROP les zones servant de critères seront placées dans l'enregistrement du fichier crée. |
29 à 39 : -blancs 40 à 72 : -commentaires Exemple de spécification H: 1 2 3 4 5 6 7 123456789012345678901234567890123456789012345678901234567890123456789012 HFILE 008A EXEMPLE DE SPECIF H Qu'indique cette carte. |
1.2 SPECIFICATION F. -------------------- Cette spécification est multiple par source. Elle permet de définir les critères de tri par leurs positions dans le fichier d'entrée et le format d'enregistrement du fichier de sortie. Nous allons avoir 2 types de spécification F: - celle pour les critères de tri qui contiendra soit N ou O en colonne 7. - celle pour le format d'enregistrement du fichier de sortie qui contiendra D en colonne 7. |
1.2.1 CRITERE DE TRI -------------------- Colonne 1 à 5 :-des blancs 6 :-F 7 :-N normal identique à celui défini dans la carte H. -O opposé à celui défini dans la carte H si A (croissant) défini en col. 18 dans la carte H le tri sera décroissant. 8 :- C D U P Type des caractères servant de critère de tri. C type caractère. D type numérique étendu non signé U type numérique étendu signé P type numérique packé |
9 à 12 :- position de début de la zone servant de critère de tri. 13 à 16 :- position de fin de la zone servant de critère de tri. 17 à 39 :- blanc 40 à 72 :- commentaires Supposons un fichier ARTICLE ayant les zones suivantes. numéro article : 6 numérique packé 1 à 4 type article : 3 alphanum. 5 à 7 libellé : 25 alphanum. 8 à 32 quantité : 5 numérique packé 33 à 35 prix unitaire : 9 numérique packé dont 2 déc. 36 à 40 1 2 3 4 5 6 7 123456789012345678901234567890123456789012345678901234567890123456789012 FNC00060007 EXEMPLE DE SPECIF F FOP00360040 EXEMPLE DE SPECIF F |
1.2.1 FORMAT D'ENREGISTREMENT ----------------------------- Colonne 1 à 5 :-des blancs 6 :-F 7 :-D pour indiquer données 8 :- C D U P Type des caractères à place dans l'enregistrement en sortie. C type caractère. D type numérique étendu non signé U type numérique étendu signé P type numérique packé |
9 à 12 :- position de début de la zone dans le fichier d'entrée à placer dans le fichier de sortie. 9 à 12 :- position de fin de la zone dans le fichier d'entrée à placer dans le fichier de sortie. 17 à 39 :- blanc 40 à 72 :- commentaires Cette spécification indique par leurs positons les zones ou parties de zone à pla cer dans l'enregistrement de sortie. Par défaut si vous spécifiez un tri NON DROP blanc en col. 28 de la spécif. F les zones critères de tri seront placées automatiquement dans l'enregistrement de sortie. 1 2 3 4 5 6 7 |