Pause-Café Volubis

pause-café

rendez-vous technique
Pause-Café est une réunion technique
destinée aux informaticiens sur plateforme IBM i.
Elle a lieu 3 à 4 fois par an : en Bretagne et sur internet.

Pause-café #63

Janvier 2013

Outils orientés sécurité


Tout d'abord, Guy nous l'a présenté, le Menu SECTOOLS


Page principale :

 SECTOOLS                        SECURITY TOOLS 
                                                             SYSTEM:   S44R7480 
 SELECT ONE OF THE FOLLOWING: 

   WORK WITH PROFILES        1. CHECK PROFILES FOR DEFAULT PASSWORDS 
      2. DISPLAY ACTIVE PROFILE LIST        3. CHANGE ACTIVE PROFILE LIST       ..................................       4. PROCESS INACTIVE PROFILES    <---:pour désactiver les profils     :                                           : non utilisés pendant x jours.  :       5. DISPLAY ACTIVATION SCHEDULE <--  :  [l'option 3 permet d'indiquer :       6. SCHEDULE PROFILE ACTIVATION   !  :  une liste de type "tout sauf"]:                                        !  :................................:       7. DISPLAY EXPIRATION SCHEDULE   !       8. SCHEDULE PROFILE EXPIRATIONS  !   ................................                                        !---:pour indiquer, pour certains  :                                            : profils, une plage horaire   :                                            : de validité (ouverture de    :   SELECTION OR COMMAND                      : session impossible en dehors):  ===>                                    :..............................:  F1=HELP   F3=EXIT   F4=PROMPT   F9=RETRIEVE   F12=CANCEL 

Page suivante :
 SECTOOLS                        SECURITY TOOLS 
                                                             SYSTEM:   S44R7480 
 SELECT ONE OF THE FOLLOWING: 

   WORK WITH AUDITING       10. CHANGE SECURITY AUDITING       11. DISPLAY SECURITY AUDITING 
   REPORTS       20. SUBMIT OR SCHEDULE SECURITY REPORTS TO BATCH  <-  menu SECBATCH 
     21. ADOPTED OBJECT INFORMATION       <---   ........................      22. AUDIT RECORD REPORT                 !   :                      :      23. AUTHORIZATION LIST AUTHORITIES      !   : Liste les programmes :      24. COMMAND AUTHORITY                   !---:  compilés en *OWNER  :      25. COMMUNICATIONS INFORMATION              :                      :      26. DOCUMENT AUTHORITY                      :......................:      27. FILE AUTHORITY                                                                      A suivre...   SELECTION OR COMMAND   ===>   F1=HELP   F3=EXIT   F4=PROMPT   F9=RETRIEVE   F12=CANCEL 


........................................................................... :                                                                      : le menu SECBATCH propose les mêmes options (de liste uniquement),       ::                                                                        :  mais les commandes sont soumises (à préférer donc ! )                  :
:.........................................................................:

 

System i Navigator propose de nombreuses options

 

L'option sécurité permet de définir les principales options de sécurité

  • Liste d'autorisation, vous affiche tous les objets *AUTL de votre système (édition des droits possible)
  • Stratégies, les principales valeurs système ayant trait à la sécurité (ouverture de session particulièrement)

un clic droit sur Sécurité propose "Configuration".

Vous appelez un assistant (un mini audit sécurité)



etc...

 

On vous affiche ici les modifications qu'il serait souhaitable de faire :

Puis vous pouvez sauvegarder ces recommandations ainsi que les explications associées

  • Rapport d'informations administrateur : rapport technique destiné à l'administrateur sécurité.
  • Rapport d'informations utilisateurs : comment présenter les modifications aux utilisateurs.

et enfin LES APPLIQUER

ATTENTION, la valeur par défaut "application immédiate", modifie immédiatement vos valeurs système.
Prenez plutôt l'option "sauvegarde des modifications"

 


 En V5R20, L'option 7 du menu STRSST, permet de fixer certaines options de sécurité :

........................................................................... :                     Work with System Security                           : :                                                          System:   AS400: : Type choices, press Enter.                                              : :                                                                         : :   Allow system value security changes . . . . .  1  1=Yes, 2=No         : :   Allow new digital certificates  . . . . . . .  1  1=Yes, 2=No         : :   Allow a service tools user ID with a                                  : :    default and expired password to change                               : :    its own password . . . . . . . . . . . . . .  2  1=Yes, 2=No         : :.........................................................................:
 La première option permet d'empêcher la modification de certaines valeurs   système (on dit alors qu'elles sont verrouillées)
 voici la liste des valeurs système devenant non modifiables si vous   indiquez 2 (jusqu'à ce que vous indiquez 1)




  QALWOBJRST        QDSCJOBITV        QPWDPOSDIF   QALWUSRDMN        QINACTMSGQ        QPWDRQDDGT   QAUDCTL           QLMTDEVSSN        QPWDRQDDIF   QAUDENACN         QLMTSECOFR        QPWDVLDPGM   QAUDFRCLVL        QMAXSGNACN        QRETSVRSEC   QAUDLVL           QMAXSIGN          QRMTSIGN   QAUTOCFG          QPWDEXPITV        QRMTSRVATR   QAUTORMT          QPWDLMTAJC        QSECURITY   QAUTOVRT          QPWDLMTCHR        QSHRMEMCTL   QCRTAUT           QPWDLMTREP        QUSEADPAUT   QCRTOBJAUD        QPWDLVL           QVFYOBJRST   QDEVRCYACN        QPWDMAXLEN        QPWDMINLEN   QDSPSGNINF
  lors de l'utilisation de la commande CHGSYSVAL, vous recevez CPF18C0
La valeur système &1 ne peut pas être modifiée




  • Administration d'application

 

La première chose à faire avec Client Access est de définir les droits des différents utilisateurs, option par option :

Pour cela, choisissez (avec un clic droit sur le nom du système) : "Administration d'application"

à la première utilisation ou lors d'un changement de version, vous risquez de voir :

il s'agit de nouvelles options d'op.nav, non enregistrées sur l'AS/400 (elles sont enregistrée en tant que point d'exit [WRKREGINF].)

choisir OK, vous montre les applications non encore enregistrées :

que vous devez ajouter, afin qu'elles apparaissent sur la fenêtre de droite.

Voilà !

Vous définissez, ensuite, fonction de client access (Operation navigator compris) par fonction , qui a le droit de les utiliser.

et cela à deux niveaux,

Premièrement, les droits par défaut :

vous indiquez :


1/ pour System i Navigator

  • la colonne "Utilisation par défaut" indique un droit (cochée) ou une absence de droit (non cochée) pour un profil standard.
  • la colonne "Utilisation de tous les objets" indique un droit ou une absence de droit pour un profil *ALLOBJ.
  • "Utilisation personnalisée", indique des droits spécifiques pour un ou plusieurs utilisateurs.

2/ pour les applications Client Access, les droits par défaut

3/ Il existe aussi une option équivalente pour "Gestion centralisée"
(clic droit sur Gestion centralisée à la place d'un nom de système)

pour indiquer des droits individuels, prenez l'option "utilisateurs et groupe", pour l'utilisateur concerné, choisissez "propriété".

puis fonctions

 

Indiquez alors quelles sont les fonctions pour lesquelles, cet utilisateur ne respecte pas la règle générale.

 

C'est dans ce cadre que la PTF SF99601 level 16, (c'est de base en V7) propose une administration de la base sans être *JOBCTL



    • ou WRKFCNUSG et les fonctions QIBM_DB_SQLADM et QIBM_DB_SYSMON


                        Gestion de l'utilisation de fonctions                      

    Indiquez vos options, puis appuyez sur ENTREE.
    2=Modifier l'utilisation 5=Utilisation

    Opt ID fonction Nom de la fonction
    _ QIBM_DIRSRV_ADMIN IBM Tivoli Directory Server Administrator
    _ QIBM_ACCESS_ALLOBJ_JOBLOG Accès à l'historique de travail du travail
    _ QIBM_ALLOBJ_TRACE_ANY_USER Trace any user
    _ QIBM_WATCH_ANY_JOB Watch any job
    _ -> QIBM_DB_SQLADM Administrateur de base de données
    _ -> QIBM_DB_SYSMON Informations de base de données

    Le premier fournit l'accès aux options d'administration de la base, le deuxième un accès restreint en consultation.


Quelques nouveautés du dernier trimestre 2012

SQL (avec le niveau TR5 ou SF99701 level 19)

  • En V7, il est possible d'utiliser un nom en trois parties lors d'une requête SQL

    Select * from AUTREAS.MABIB.MATBALE


       Où AUTRESAS représente le nom d'une base "remote", défini par ADDRDBDIRE

       La connexion doit être implicite (ADDSVRAUTE)



    Avec le niveau 15 de SF99701 l'utilisation d'un "." ou d'un "/" est admise sous la convention d'appellation système (*SYS)

       Select * from MABIB/MATABLE join MABIB.AUTRETABLE


    Avec le niveau 18 on peut insérer dans une table locale le résultat d'un Select remote

      insert into tablelocale (
          select * from AUTREAS.AUTREBIB.AUTRETABLE where xxxx)




  • Quand vous créez une procédure cataloguée elle est enregistrée dans SYSPROCS et SYSPARMS

    Il existe un mécanisme qui l'enregistre à nouveau dans le catalogue système lors d'un RSTOBJ

    Ce mécanisme de mise à jour du catalogue est désormais aussi assuré lors de l'utilisation des commandes :

    • CRTDUPOBJ
    • CPYLIB
    • RNMOBJ
    • MOVOBJ

      simplifiant le passage en production des objets.


  • Le même niveau de correctif (19) permet de définir une valeur par défaut pour un paramètre de procédure

    CREATE OR REPLACE PROCEDURE Creation_client
    (IN NOCLI DEC( 6, 0), 
     IN DEPCLI CHAR(3) DEFAULT('44'),
     IN DATCLI DATE DEFAULT CURRENT DATE)
    LANGUAGE SQL
    BEGIN
     /* corps de la procédure */
    END;


    L'appel peut se faire ensuite sous la forme

      CALL Creation_client('123456')

      CALL Creation_client('123456', '22')

      CALL Creation_client('123456', '22', DEFAULT)


    Les paramètres peuvent être nommés, afin d'éviter de renseigner un paramètre précédent par exemple

     CALL Creation_client('123456', DATCLI=>'2013-01-17')


    Enfin, la valeur par défaut peut même être "dynamique" :

     IN DEPCLI CHAR(3) DEFAULT
        (SELECT depNum FROM departements WHERE deptNom='Morbihan')

RDP 8.5.1

  • Divers'

Il est possible maintenant de créer une connexion SSH avec un système ayant ce type de service actif
(rappel sur IBM i, il faut le lancer par STRTCPSVR *SSHD)

Chaque type de connexion peut être activé (visible) ou pas

 

On peut demander la réouverture de la perspective "explorateur de système distant" dans le même état que la dernière fois.

Si vous décidez d'utiliser les informations du cache, lors de cette réouverture, vous pouvez en préciser l'obsolescence (en heures)

 

IBM i, toujours, possibilité d'empêcher la sauvegarde des mots de passe en local, en créant un fichier connection.properties

 • Ce fichier doit être créé dans /QIBM/UserData/rse avec le CCSID 819 et les droits de lecture

 • Il doit contenir DENY_PASSWORD_SAVE = true | false

Nouvelle préférence empêchant l'expansion de l'arborescence lors de la création d'un membre

 

L'option "Source/Vérifier (Invite)", permet :

  1. De définir sir vous utilisez ALWNULL(*USRCTL) pour la vérification
  2. De positionner des options DEFINE et un chemin des sources à inclure pour cette vérification

  3. De sauvegarder ces préférences, par "Paramètres d'enregistrement"
  4. De générer le PCML du programme.


La définition d'un point d'entrée de service (Debug) peut maintenant se faire directement sur le membre source (avant il fallait le faire depuis l'objet *PGM)


LPEX


Nouvelle option pour mettre en commentaire les lignes sélectionnées (ctrl + /, ctrl + \ pour défaire)

Résultat ->


vous pouvez d'ailleurs, paramétrer la manière dont doivent apparaître les commentaires.

 

Nous avions déjà F3 pour aller sur une déclaration (sous programme par exemple)

Quand la touche "ctrl" est enfoncée, vous pouvez cliquer sur tout élément et aller à sa déclaration (variable, procédure, etc...)

touche "ctrl" enfoncée :


La fenêtre structure est mise à jour temps réel, pour les déclarations de variable et de procédure
(sauf paramétrage contraire, voir plus haut le paramétrage de LPEX)

Pour les déclarations de fichier, ce dernier est ajouté, il faut faire F5 pour aller "chercher" la liste des zones

>

Ceci entraînant automatiquement une mise à jour des suggestions faites par l'assistant de code (ctrl + espace)

, qui affiche maintenant les décimales pour une variable numérique

 

Enfin, LPEX signale temps réel les erreurs de syntaxe, en proposant une solution (ici FOR sans ENDFOR)

 

Concepteur d'écran

Screen designer et Report designer deviennent les éditeurs par défaut des DSPF et PRTF, plus besoin d'utiliser l'option "Ouvrir Avec ..."

Les noms (format et zones) sont automatiquement placés en MAJUSCULES dans le source (enfin !)

La vue structure permet de choisir l'élément actif, particulièrement pour activer les mots-clé niveau fichier (DSPSIZ) par exemple

L'option trier est admise niveau format (permet de trier le source en fonction des positions), avant ce n'était possible qu'au niveau zone

 

Enfin, sur la vue table

•Pour la liste des objets vous pouvez faire apparaître une colonne date de dernière utilisation,
•Pour la liste des membres vous pouvez faire apparaître une colonne bibliothèque et fichier source

et vous avez maintenant le choix du format des dates (création, modification et dernière utilisation)


IBM i Access Client Solution

La version 1.1.1 (25 Octobre 2012) apporte un certain nombre d'améliorations

une utilisation plus simple du produit en environnement IBM i, évitant le login quand on est déjà sur IBM i.

Pour utiliser le transfert de fichier depuis IBM i :

  1. Après avoir fait un transfert depuis votre PC, téléchargez
    • le répertoire contenant le produit, particulièrement
      • acsbundle.jar
      • AcsConfig.properties
    • le fichier .dtfx, contenant la définition du transfert

  2. Modifiez le fichier .dtfx
    • paramètre ClientFile, indiquez le fichier résultat
    • paramètre FDFFile, indiquez la localisation du fichier décrivant la liste des zones.

  3. lancez une première fois le transfert depuis QSH
    Par ( si vous avez mis acsbundle dans /ACS et le fichier dtfx dans /MesTransferts)

        java -jar /ACS/acsbundle.jar -Dos400.class.path.security.check=0
        /PLUGIN=download /file=/MesTransferts/le-fichier.dtfx


    Au premier lancement (pour l'utilisateur) acceptez la licence

    cette phase d'acceptation en mode caractère n'est disponible que depuis la version 1.1.1, avant il fallait monter une session X11 avec VNC

    Si tout ce passe bien, vous verrez:


  4. Vous pourrez ensuite lancer cela directement avec la commande RUNJVA (depuis un CL ou un job soumis)


    Résultat

  5. Si vous ne souhaitez pas voir les messages résultat


  6. Le fichier Excel est bien généré, ainsi que le fichier de description .fdfx


  7. Bien sur vous pouvez modifier le fichier .dtfx
    • Quant au format à obtenir (.csv par exemple)
    • mais aussi la partie requête SQL


  8. Enfin, vous pouvez lancer directement l'option cldownlaod, qui exporte la totalité d'un fichier,
    le format du fichier résultat étant déduit de l'extension
    RUNJVA CLASS('/IBMACS/acsbundle.jar') 
     PARM('/PLUGIN=cldownload' '/SYSTEM=as400'
          '/hostfile=BDVIN1/PRODUCTEUR' '/clientfile=/tmp/prod.xls')


    L'utilisation d'une vue dans la paramètre /hostfile étant tout à fait admise !

 

Autres nouveautés



Connexion

  • Utilisation possible de kerberos (EIM)
  • Possibilité de partager les identifiants de connexion entre systèmes
  • D'utiliser toujours le même login ou de se connecter à chaque fois (comme sur Windows)

  • nouveau gestionnaire de certificats (pour SSL)


Sessions 5250

  • importation des fichiers .ws et .kmp de Client Access pour Windows
  • Utilisation possible de kerberos
  • possibilité de saut de signon
  • paramétrage de la barre d'outils et du clavier

 

Une nouvelle fonction , Printer Output, permettant une gestion des spools

Edit/préférence

Choisissez :

  • le répertoire de téléchargement (attention, par défaut c'est le bureau)
  • si vous transformez les spools en PDF
    • Si oui , vous pourrez voir tous les spools, la visualisation lancera Acrobat Reader
    • Si non, vous ne pourrez voir que les spools de type texte, notepad sera lancé pour l'affichage

 

View/Set Filter

Vous permet de définir vos critères de constitution de la liste des spools

  • par utilisateur
  • par OUTQ

Ensuite, lancez une action (téléchargement et/ou visualisation)

Ci-dessus affichage en PDF d'un spool Unicode.


Comment attirer (et conserver) de jeunes recrues

 

Historiquement, nous avons beaucoup réalisé de formations d'accompagnement aux nouveautés des équipes en place :

  • Passage au RPG-IV / ILE
  • Syntaxe et évolutions SQL
  • Monde Web (Apache sur IBM i , Web services, ...)
  • Nouveautés des versions
  • Outils graphiques :
    • System i Navigator
    • WDSc puis RDI enfin RDP
    • DB2 Web Query

 

Même si nous continuons à réaliser ce type de formations, vous nous demandez de plus en plus de former de jeunes recrues, car vous ne trouvez plus de développeurs sur le marché.


Les stagiaires, pour ce type de cours, sont aujourd'hui le plus souvent :

  • De jeunes développeurs ayant un cursus universitaire
  • Ayant un parcours sur des langages comme .Net, Java, PHP
  • Sont parfaitement à l'aise avec SQL

  • Utilisent souvent pour la première fois un langage procédural (non objet)
  • Sont assez retors au mode terminal et au mode commande.


Pour continuer , nous allons donc regarder notre support de cours (développement sur IBM i / 12 jours)

que nous avons ouvert : 3 fois en 2011, 4 fois en 2012, déjà une session prévue en Février 2013.

VOLUBIS
Conseil et formation sur AS/400
Tel : 02.40.30.00.70

5 rue du Tertre
44477 CARQUEFOU
Fax : 02.40.30.39.22

 

Développement sur serveur IBM i - (12 jours, 84 heures)



 

But :   Acquérir les connaissances permettant de programmer sur un serveur System i

Mise en œuvre :   
               Les stagiaires utilisent des PC connectés à un serveur Iseries / System i
                   La formation est  accompagnée de travaux pratiques.

Evaluation :
               La formation est validée par une attestation de fin de stage et une feuille d'évaluation.

 

Contenu de la formation :      


Architecture AS400 - Synthèse générale (2 jours)

JOUR 1 :

·      NOTIONS FONDAMENTALES
                Mémoire virtuelle - Espace Adressable Unique
                 - pagination/cadres de page /adressage virtuel.
                Notion d'objet sur AS/400
                 - définition
                 - encapsulation (description - autorisations)
                 - types d'objets - attributs
                         Bibliothèque, *LIBL, QSYS
                 - unicité/qualification
                 - liste de bibliothèques (structure/manipulation)

·      Langage de contrôle, commandes
                  Syntaxe des commandes.
                       - (verbes - sujets)
                      Mots-clés/paramètres
                      Invite, aide.
                  Les différents systèmes d'aide, les sites web.
                  Comment retrouver une commande (Menus)

·      Organisation générale
                 Sous systèmes.
                 - Définition/attachements
                 - unités, entrées.
                 - Gestion des sous-systèmes
                 -IPL/PWRDWNSYS

                  Notion de travail
                    - Ressources / historique
                    -initialisation - JOBD (définition - rôle).
                 Travaux interactifs / batchs
                       JOBQ,OUTQ.
                       Retrouver un travail
                       System i Navigator


JOUR 2:

       Editeur/Spools

OUTQ (détermination de l'OUTQ)
                        - Editeur (définition / gestion)
                        - retrouver un spool                                            

- manipulation de spools
   mode commande
   System i Navigator

- messages

 

·      SECURITE
                        
                 Profils et Sécurité sur AS/400
                        Profils/profils de groupe
                           - classes d'utilisateurs - droits spéciaux
                           - les profils standards
                 Autorisations,
                        objet/bibliothèque/liste d'autorisations
                        Mécanisme de recherche.
       

Recouvrement

                         Notion de sauvegarde
                         - les élements à sauvegarder
                         - SAVLIB / SAVOBJ / SAV

                         - les différentes méthodes de recouvrement automatique
                                         Fonction journal
                                         ASP
                                         Remote journal

          Réseau
                         Introduction aux réseaux SNA
                         TCP/IP
                                Adressage sur IBM i
                                 Gestion des serveurs
                                 utilitaires mode caractère/ System i Navigator

RDP

                         Nouvelle génération d’utilitaires



Base de données sur AS/400 (3 jours)

 

JOUR 3 :

DEFINITIONS GENERALES
    Définition des fichiers PF et LF
                - description de fichiers.
                - notion de membres
                Répertoire

Conception d’un fichier physique
 Syntaxe du langage SDD
   Bases du langage
           Définition d'un fichier physique
  Conception avec SQL
               
logiciels associés (DFU/QUERY)
importation/exportation
Conception avec Iseries Navigator

         Fichiers logiques
                 Index (définition de clés)
                 redéfinition de format
                         jointure

JOUR 4:

       Evolutions

Intégrité référentielle
Nouveaux types de données
SQL : création
         d'index
         de vues
principe des triggers
principe des procédures cataloguées
Autres évolutions de la syntaxe au fil de l’eau
  V7 -> XML

Administration / supervision avec Iseries Navigator

JOUR 5:

      Les requêtes
             Syntaxe SQL/400 de base
             jointure, types de jointure
             gestion de dates

             requêtes complexes
                   Sous sélections
                   Fonctions OLAP (row_number() / ROLLUP/CUBE)
                   WITH

 

Programmation RPG 4 (6 jours)

JOUR 6 &7 :

FICHIERS EXTERNES
                 Rappel sur la base de données
                    - Spécif H
                  Déclaration de fichiers en externes
                    - Spécifs F
                  Spécif D

La logique libre
                         Les ordres d'entrée/sortie
                         - lecture (CHAIN,READ,READE,....)
                         - autres (UPDATE,DELETE,...)
         Programmation structurée
                         - IF/ELSE/ENDIF
                         -Dow/Dou
                         - etc. ...

Le format libre

liste des fonctions intégrées

JOUR 8:

principe des PRTF, Report  DESIGNER
       
Les fichiers écrans (DSPF)
                 Principes
                 Définition SDD
                 Utilitaire Screen DESIGNER
                         utilisation en RPG

 

JOUR 9 :

Les sous fichiers
                 Principes
                 - format d'enregistrement
                 - format de contrôle
                 Définition SDD
                         Mise en œuvre RPG
                         Les différentes méthodes de chargement
                 - statique
                 - page à page
                 Lecture d'un sous fichier

JOUR 10:

Les appels de pgm
               CALL / CALLB
                Passage de paramètres
                   *ENTRY PLIST

        Les appels en format libre/ prototypes

Introduction aux fonctions

        Compléments
                 Le mode DEBUG avec RDP
                                        


JOUR 11:

      Inclure du SQL dans le RPG

 
        Evolutions                       
                        Transformer un pgm RPG existant en procédure cataloguée                 
                        Transformer un pgm RPG existant en Web service      

Programmation en langage de contrôle (1 jour)

JOUR 12 :

·      PRESENTATION / SYNTAXE
                         Présentation générale
                 - Interprété - compilé (structure).

                         Variables
                 - déclaration
                 - manipulation de variables
                 - traitement de chaînes de caractères (concaténation/extraction)
                         - variables numériques
                 IF / GOTO / DO-ENDDO
                 V5R30 : DOWHILE / DOUNITL/ DOFOR, sous/pgm

·      Extraction d'informations
                  notion de valeurs systèmes.
                 - principe
                 - principales valeurs systèmes
                         Les différentes commandes RTV...

·      Gestion des erreurs / Messages
                 MONMSG.
                 - Principe
                 - niveau commande/niveau programme
                 Introduction aux messages
                 - SNDMSG
                 - SNDPGMMSG

·      Utilisation de fichiers

                  Fichiers BD
                 - principe des fichiers de sortie
                 - lecture
                 - les commandes de substitution
                         Introduction aux fichiers écrans
                 - utilisation en CL

Le jour 7 nous réalisons un programme en RPG Chargé de remplir un fichier INFOCENTRE (PF)

Structure du fichier INFOCENTRE

Le but est à partir d'une base vinicole de lire tous les producteurs et de charger des informations les concernant dans un fichier de sortie

Un producteur peut faire plusieurs vins (fichier des vins à lire)

Certains de ces vins sont dans le fichier cave, on peut alors dire que ce producteur est en cave.

Chaque vins est composé de cépages (jusqu'à 4), il faut noter

  1. Le nombre de cépage différents utilisés par ce producteur
  2. Le cépage le plus utilisé

Ceci nous permettant de voir la notion de tableau en RPG

(voir le source complet)



Le jour 8 le programme écrit dans un PRTF les mêmes informations

Le jour 11 ce programme devient une procédure cataloguée (que nous lançons depuis System i Navigator)
   et nous voyons comment il aurait pu devenir un Service WEB

 

Quelques remarques et retours pour amorcer la discussion

  • Ils perçoivent assez vite la stabilité des systèmes Power, sont surpris de ne jamais en avoir entendu parlé pendant leurs études
    (ou alors comme d'un système moribond !)

  • Quand je montre System i Navigator et RDP, les stagiaires sont souvent "rassurés"

  • L'utilisation de SQL, de l'intégrité référentielle leur semble naturelle
     (A l'inverse, l'utilisation du séquentiel indexé est une difficulté)

  • Ils ont souvent une assez mauvaise image du RPG, le format libre les "libère" .... ;-)

  • la transformation, assez simple, des programmes historiques en procédures stockées ou en web services, les bluffe

  • Nos formations ont lieu du Lundi au Jeudi, parfois le retour sur site le Vendredi est une douche froide !!!

    • Aidez moi !

 


Copyright © 1995,2013 VOLUBIS