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 d'IDMS

Voici quelques-unes des particularités du langage ULTIM qui s'appliquent au traitement des bases de données IDMS. 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 IDD en dictionnaire ULTIM.
  • Relations entre enregistrements ou entre enregistrements et index décrites dans les énoncés PARENTS codés ou générés.
  • Gestion automatique des protocoles de liaison avec les bases. 
  • Mots-clés supplémentaires dans l'énoncé TRAITER pour reprendre la lecture d'un type d'enregistrement à partir d'une occurrence particulière, de l'avant ou à reculons (PREMIER,  DERNIER, SUIVANT ou PRECEDENT).
  • Possibilité de traitement selon l'ordre de l'un des ensembles décrits pour un type d'enregistrement (paramètre SELON), incluant les index SPF et les index intégrés.
  • Lecture des enregistrements fils faite automatiquement selon l'ensemble qui les lie à l'enregistrement parent déjà lu. Ainsi, dans l'exemple, seuls seront lus les enregistrements secondaires RECNAME appartenant à l'enregistrement principal RECCUST.
  • Possibilité de retrouver des enregistrements parents (PARENT DE) selon les différents ensembles décrits au dictionnaire.
  • Possibilité d'accéder directement à un enregistrement principal ou à un enregistrement fils par sa clé CALC ou sa "DB-KEY".
  • Accès à la "DB-KEY" de l'enregistrement traité, de même qu'au code de retour de l'opération.


Exemple de dictionnaire codé ou généré automatiquement à partir du dictionnaire IDD
          


 ./ OPTIONS DB-NAME=PROD                    ; Base de données de production

 ./*     Information sur les divisions
 ./ IDMS DIVISION, SCHDIV, AREAGEN, RECDIV, 102, DIVKEY
        VALEUR     (79, N, 8.2, 10, @ED:$)

 ./*     Information de base sur le client
 ./ IDMS CLIENT, SCHBASE, AREAINFO, RECCUST, 102, CUSTKEY
 ./ PARENTS RECDIV(SETDIV), RECDIV(SETSECT,SECTEUR)    
        NO-COMPTE (16, N, 7)               
        SECTEUR   (73, A, 6)
        SOLDE     (79, N, 8.2, 10, @ED:$)   
        DERNIER-PAIEMENT (87, N, 8, 10, @ED:@DATE)

 ./*     Nom et adresse du client
 ./ IDMS NOMADR
, SCHBASE, AREAINFO, RECNAME, 105, CUSTNAME
 
./ PARENTS RECCUST (SETCUST)   
 ./ COBOL
 ./ COPIER DESC (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.                                                                 

 *        Lecture des données
 TRAITER  CHAQUE CLIENT OU DERNIER-PAIEMENT < 20150301 ET SOLDE > 0.
 TRAITER  OBTENIR DIVISION PARENT DE CLIENT SELON SETSECT.
 CRITERES VALEUR < 125000.    ; Traiter si valeur inférieure à 125000
 TRAITER  OBTENIR NOMADR.     ; Nom et adresse correspondant à CLIENT seulement

 *        Rapport à produire
 OPTIONS  ENTETE=AUTO, ESPACEMENT = 5.
 TABLEAU  SECTEUR, 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.