Codalogik inc.  |   English
     
     Pour ULTIM, les bases de données ne constituent
                                                     qu'un autre type de fichier.
 
  BASES DE DONNÉES
.....
Accueil Produits Formation Consultation Soutien technique Nous joindre
      Compilateur Langage ULTIM Interfaces BD Éditions supportées    


Particularités de DB2

Voici quelques-unes des particularités du langage ULTIM qui s'appliquent au traitement des bases de données DB2. Plusieurs de celles-ci sont illustrées dans l'exemple qu'on retrouve plus loin.
  • Possibilité de convertir automatiquement des portions ou l'ensemble du dictionnaire DB2 en dictionnaire ULTIM.
  • Sélection des éléments à traiter à partir du dictionnaire existant ou directement dans une clause SELECT du programme.
  • Sélection du sous-système lors de l'exécution par l'entremise du fichier de contrôle d'ULTIM.
  • Gestion automatique des protocoles de liaison avec les bases.
  • Accès au code de retour de l'énoncé SQL codé ou généré.


Exemple de dictionnaire codé en ULTIM, mais généralement converti à partir de DB2
          
 
 ./*    Information sur la division
 ./ DB2 DIVISION, TDIV, 30
 ./ ELEMENTS VAL,SECT
        D-VAL  (1,A,10)
        D-SECT (11,A,7)

 ./*    Information de base sur le client
 ./ DB2 CLIENT, TCLI, 30
 ./ ELEMENTS NO, SECT, DUE, LPAY
        NO-COMPTE (1, N, 7)
        SECTEUR   (8, A, 6)
        SOLDE     (14, N, 8.2, 10, @ED:$)   
        DERNIER-PAIEMENT (22, N, 8, 10, @ED:@DATE)

 ./*    Nom et adresse du client
 ./ DB2 NOMADR
, TNAM, 105
 ./ ELEMENTS NAME, ADD1, ADD2, CODE
 ./ COBOL
 ./ COPIER PDSDESC (CUSTNAME)
 ./*    Zones COBOL provenant de CUSTNAME et traduites en ULTIM
 *      NOM   (1,A,15)
 *      ADR-1 (16,A,30)
 *      ADR-2 (46,A,30)
 *      CODE  (76,N,7)




Exemple de programmation



 DEBUT    DEMO.                                                                 
 DEFINIR  VALEUR (P, 5.2, 10, @ED:$).

 *        Lecture des données
 TRAITER  CHAQUE CLIENT OU DERNIER-PAIEMENT < 20150301 ET SOLDE > 0.

 TRAITER  OBTENIR @DB2:VALEUR DONT     ; On met dans la zone VALEUR
            (SELECT VAL FROM DIVISION  ; l'élément VAL de la table DIVISION
            WHERE SECT = :SECTEUR).    ; dont SECT = SECTEUR de CLIENT
 
 CRITERES VALEUR < 125000.             ; Traiter si VALEUR < 125000

 TRAITER  OBTENIR NOMADR               ; Lire l'entrée de la table TNAM 
             DONT (CODE = :NO-COMPTE). ; 
(nom ULTIM=NOMADR) dont le CODE
                                       ; correspond à NO-COMPTE de CLIENT

 *        Rapport à produire
 OPTIONS  ENTETE=AUTO, ESPACEMENT = 5.
 TABLEAU  CLIENT:SECTEUR, NOMADR:NOM, NO-COMPTE,
          SOLDE(12,TOTAL), DERNIER-PAIEMENT.
 TITRE    COMPTES EN SOUFFRANCE DE DEUX MOIS OU PLUS AU 1 MAI 2015
 CONTROLE SOUS-TOTAUX=1.
 
 FIN




Rapport en colonnes produit par les énoncés TABLEAU, TITRE et CONTROLE




                                                5 MAI 2015    PAGE    1          
   
        COMPTES EN SOUFFRANCE DE DEUX MOIS OU PLUS AU 1 MAI 2015

 SECTEUR    ------NOM------     NO COMPTE        SOLDE        DERNIER
                                                             PAIEMENT
 
 ESTRIE     BELLE LUMIERE        843896         $360.47      2015/02/11
            BRILLANTINE         3246538         $199.00      2014/12/15
            ECLAIRAGE INC.       386660         $895.45      2015/01/12
            LUMIERE INC.        2369108          $34.94      2015/02/21

 ...........................................  $1,489.86

 MTL        DECOR SANTE         3143486          $10.00      2015/02/01
            DECORUM INC.        1071638       $2,189.10      2015/01/06
            RUSSELL & SONS      2225751         $194.90      2014/12/21
            SERVICES RAPIDO        1387       $4,189.95      2015/01/28

 ...........................................  $6,583.95
............................................  $8,073.81











Accueil Produits Formation Consultation Soutien technique Nous joindre English

© Codalogik inc.