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é #35

Octobre 2004



V5r30, I5 et I5/OS

Le serveur ressemble de plus en plus à une machine Unix

(4 ports de COM,
ports USB en standard, etc..)

 

La gamme P5 (successeur des RS/6000) et Openserver (serveur à base de POWER5 dédiés à Linux) sont les mêmes boites.





Nous avons fait le choix d'une console HMC (pour faire du partitionnement) servant aussi de console 5250 (plus de twinax !)

Quelques précisions

La console HMC doit être configurée sur un des deux ports HMC réservés dans un réseau privé, non brassé.

-> ports HMC, notés
P1-C7-T1
P1-C7-T2

Les deux ports LAN, utilisables par l'OS/400, sont P1-T5 /P1- T6.

Vous pouvez même, faire un réseau de consoles HMC.

 

* Sur la console, il faudra configurez le port eth0 (nous sommes sous linux) en tant que serveur DHCP.
Vous pouvez utiliser le port eth1 sur le lan, afin de prendre la main à distance sur votre console.


* Poursuivez la config. de votre console HMC, tel qu'indiqué ICI, demandez conseil s'il le faut.

* Ensuite, et uniquement ensuite, démarrer votre I5.

* Dès le démarrage le FIRMEWARE de la carte des ports HMC doit demander une adresse DHCP à la console, qui doit reconnaitre un nouveau système, et éventuellement une nouvelle partition (si elle est configurée d'usine, sinon, il faut la créer avec un click droit sur la console HMC)


 


V5r3

Différences et nouveautés systčme, en V5R30


|

 Nouveautés et différences de la V5R30.
 + Commençons par voir ce qui n'existe plus :
   - Options de logiciels sous licence
     > 5722SS1 option 4 (migration 36/38 et l'assistant associé)
     > 5722WDS options 22 et 23 ADM / ADS  (les options 4 et 5 de PDM)
     > 5722WSV intégration avec Windows NT4(fin de support de NT4 sur FSIOP)
     > 5722RGZ Service Agent qui devient partie intégrante de l'OS
     > 5722DG1 : serveur WEB d'origine (celui d'IBM, seul reste Apache)
     > 5722JV1 option 3 (jdk 1.2) et 4 (jdk 1.1.8) et les classes RAWT.        .................................................................        : ATTENTION à modifier la configuration de TOMCAT pour jdk 1.3  :        :...............................................................:

|

   - Les protocoles ATM et RNIS, gérés directement par l'OS/400 et toutes       les commandes ou les paramètres associés (reste Frame Relay)
   - STRTCPSVR pour *DCE et *NSMI (Network Station)
   - les programmes de service QXML4C310 et QXML4PR310 (XML parser)        disparaissent au profit d'un logiciel sous licence (facturable)
   - WebSphere Host Publisher n'est plus livré avec Client Access Family
   - Operation Console ne s'installe plus sur Windows 98/Me.
 + installation de la version 
   - commander les dernières PTF, 8/10 jours avant.        (commander la SF99530 implique maintenant la dernière DATABASE           et le dernier groupe HIPER).
   - Si vous installez la mise à jour V5R30 par le biais des       catalogues d'images, installer Si10553 (V5R2) ou SI10563 (V5R1)

|

     Vous devez impérativement passer au préalable par l'option 5 du menu       LICPGM.
     1/ pour accepter les licences par avance
     2/ pour attribuer un espace supplémentaire au microcode .......................................................................... :  Opt     texte descriptif                                              : :         Gestion des logiciels sous licence - Edition cible             : :         Gestion des logiciels sous licence à supprimer                 : :         Liste des logiciels sous licence non trouvés sur le support    : :         Logiciels sous licence de l'édition cible                      : :      >  Gestion des contrats de licence logiciels                      : :         Gestion des profils utilisateur                                : :         Vérification des objets du système                             : :      >  Espace nécessaire estimé pour ASP système                      : :         Attribuer un espace supplémentaire pour le microcode           : :         Conserver configuration disque                                 : :........................................................................:


|

 + Différences importantes 
   - passer la plupart des fichiers en sortie (OUTFILE) en LVLCHK(*NO)
   - le système ne va plus utiliser *LIBL pour passer des commandes mais       *NLVLIBL (QSYS28xx) ou *SYSTEM (QSYS) pour les trouver.
     L'API QCARPLCM sur le point d'exit QIBM_QCA_CHG_COMMAND annule cela.
   - Profil en cours
     Les API QSYGETPH et QSYGENPT (la première permet de changer le profil        en cours du JOB) doivent utiliser les paramètres longueur et CCSID

     Le profil en cours est maintenant noté sur chaque message, s'il est       différent du profil du JOB, ce qui peut faire grossir les MSGQ.
     Il est noté en tant qu'émetteur pour tous les messages envoyés depuis       Opération navigator.

|

   - les routines QSPGETF/QSPPUTF, vont disparaitre à la prochaine version
   - Collectes et analyses de perf.
     Pour un système partionné, les consommations UC étaient données       sur une base de 100% du(des) processeur(s) virtuel(s).
     Ainsi,si vous aviez assigné 40% de processeur, une pseudo tâche       ( HVPLTASK) représentait les 60 % réservés aux autres partitions.
     Ceci n'est plus vrai, la V5R30 vous montre une consommation basée sur       100 % DE LA PARTITION (soit 40 % du processeur), HVPLTASK disparait.
  - Le client SNTP modifie maintenant l'heure système ainsi que les API      adjtime() et settimeofday().Pour un fonctionnement comme en V5R20      créer une DataArea " QUSRSYS/QTOTSNTP *CHAR 9 value('*SOFTWARE') "
  - SI vous utilisiez des stratégies QOS en V5R1/R2, elles doivent être      converties     (lancez l'éditeur de règle qui vous signale une mise à jour,sauvegardez)

|

  - la liste des logiciels n'est plus publiée dans le serveur LDAP.
    Ce dernier n'est plus livré avec un IBM Secure Way Directory, mais      s'administre avec un navigateur (il faut WAS Express)
    La configuration se fait toujours depuis Op.Navigator mais doit être     être actualisée (comme QOS).

  - Gestion centralisée.
    le travail QYPSSRV (un des deux travaux de Gestion centralisée) n'existe       plus. Le travail QYPSJSVR reste seul et prend tout à sa charge.

    la configuration (avant stockée dans QUSRSYS) est maintenant dans deux       bibliothèques: QMGTC et QMGTC2 (un transfert a lieu lors de l'install)
     Ces deux bibliothèques sont sauvegardées par SAVLIB *ALLUSR|*NONSYS


|

  - Sauvegarde
    SAVLIB *ALLUSR et SAVLIB *NONSYS, sauvegarde les bibliothèques dans un      nouvel ordre :  QSYS2, puis QGPL/QUSRSYS et enfin QSYS2xxx (IASP)
    si vous demandez une sortie fichier avec INFTYPE(*MBR), il sera généré      une nouvelle ligne,par fichier, où le nom du membre est à blanc.
    les sauvegardes en mise à jour SAVACT(*SYSDFN) et SAVACT(*LIB) sont       maintenant identiques. IBM préconise toujours SAVACT(*SYNCLIB) 
  - le compilateur C subit de nombreuse modifications
  - la commande CRTPGM a une nouvelle valeur par défaut pour ACTGRP( )
      *ENTMOD, indiquant de faire référence au module d'entrée :
       si celui-ci est RPG, COBOL, CLLE *SNGLVL   (V4) ==> QILE        si celui-ci est RPG, COBOL, CLLE *TERASPACE(V5) ==> QILETS !!!        sinon (compilateur C) ==> *NEW, qui était la valeur V5R2.

|

  - Fichiers IFS
    la conversion de / , /QopenSys, et des systèmes de fichiers UDFS, en      *TYPE2, qui était optionnelle en V5R2 (cde CVTDIR) est automatique      et réalisée suite à l'installation de la version.
     la commande CVTDIR OPTION(*CHECK) permet de voir si elle est en cours.      ................................................................      : Attention cette conversion risque de bloquer sur les objets  :      : *NWSD actifs, mettez les VARY OFF, pendant la conversion.    :      :..............................................................:
    il existe un nouvel attribut pour les répertoires, *RSTDRNMUNL qui      restreint le droit de renommer et "dé-linker" (détruire) au      propriétaire ou à un profil ayant *ALLOBJ.(équivalent à S_ISVTX /Unix)
    Cet attribut est mis à *YES (mais ce modifie par CHGATR) pour /var ,     /QopenSys, /QopenSys/var/preserve et /tmp.
    Sur ce dernier (/tmp) cela empèche un bon fonctionnement de l'activité       MSF et SMTP, passez le à *NO 

|

  - CPYFRMIMPF
   avant, la copie d'un fichier stream vers un ficher PF avec CCSID=65535     était possible, on assumait le fichier dans le CCSID du JOB.
     maintenant cela va provoquer une erreur (voir l'APAR II13784)
   la chaîne x'00' (zéro héxa) n'est admise lors de la copie que vers une     zone binaire (type H en SDD)
   le paramètre RCDDLM, permettant de préciser le caractère de fin de ligne     admet maintenant *ALL, qui indique la recherche des caractères    "retour chariot" et/ou "fin de ligne" dans n'importe quel ordre.
  - JVM
    La création de plusieurs JVM dans le même travail, n'est plus autorisée      par l'API JNI-createJavaVM.Cela provoque le message JVAB55C. 
    D'ailleur la nouvelle commande GENCMDDOC, envoi ce message à la      deuxième utilisation, avant la PTF SI14493.

|

  - Fonctionnement DB2.
     un DELETE SQL, sans clause WHERE, utilise maintenant CLRPFM, donc ne       génère plus qu'une ligne dans le récepteur du journal associé.

     FRCACCPTH(*YES) ne provoque plus l'écriture disque forcée de cet index       (I/O disque supplémentaires) mais rend ce chemin d'accès candidat       à une journalisation par SMAPP (EDTRCYAP).
     ce paramètre sera abandonné à la prochaine version.
  - Fonction journal
    la paramètre MNGRCV est maintenant par défaut à *SYSTEM       (pour les nouveaux journaux, uniquement)
    le changement de récepteur est fait à l'IPL ! 
    IBM conseille d'indiquer plutôt *CURCHAIN que *CURRENT au paramètre      RCVRNG des commandes du journal (DSPJRN, RCVJRNE, ...)

|

    le paramètre THRESHOLD de la commande CRTJRNRCV passe de *NONE à 1,5 Go
    l'élément Membre du paramètre OBJ de APYJRNCHG passe de *FIRST à *ALL,      le paramètre CMTBDY de *NO à *YES.
    Quand un objet ne peut être traité par la commande APYJRNCHG,      la commande ne s'arrete plus avec le NOUVEAU paramètre OBJERROPT       à *CONTINUE (val/dft), mais l'objet est exclus du traitement.       (la valeur *END, permet de fonctionner comme avant)
  - Droits
    APYJRNCHG impose les droits *OBJEXIST sur tous les objets concernés.
    pour utiliser le paramètre PWDRQD de la commande CHGDDMTCPA il faut      les droits spéciaux *IOSYSCFG + *ALLOBJ + *SECADM (avant *IOSYSCFG)     pour supprimer la Remote DataBase *LOCAL, il faut les mêmes droits.
    Toutes les commandes du menu SECTOOLS (le Security ToolKit) sont      maintenant livrées avec *PUBLIC à *USE (avant *EXCLUDE),      mais impliquent le droit spécial *AUDIT.

|

  un nouvel enregistrement "K" de type AF sera stocké dans le journal    d'AUDIT, pour chaque droit spécial non vérifié.
  les messages CPF2220, CPF2246 et CPF4AAE ne sont plus placés dans QHST.
  - Valeurs système
    QUTCOFFSET et QTIMZON
     QTIMZON indique le fuseau horaire local (nouveau type *TIMZON)        la commande WRKTIMZON les montre, CRTTIMZON en créé un nouveau.
     Cet objet indique a/ le décalage local avec GMT                        b/ les dates de changement d'heure hiver/été
     Il existe ainsi Trois objets pour l'Europe, le notre est  QP0100CET2  
    --> en cas de conflit QTIMZON prime sur QUTCOFFSET.
    dans une prochaine version QUTCOFFSET sera en lecture seule

|

  la valeur système QAUDLVL, n'est plus seule et est complétées par QAUDLVL2
   la valeur *AUDLVL2 dans QAUDLVL indique que des valeurs supplémentaires     sont indiquées dans QAUDLVL2.
  valeurs admises dans QAUDLVL2
   valeur     signification                                           *NETBAS    règles IP, connexion socket    *NETCLU    gestion des clusters    *NETFAIL   ports IP non disponibles    *NETSCK    activité sockets, DHCP; filtrage SMTP    *NETCMN    =*NETBAS + NETCLU + NETFAIL + NETSCK
   *SECCFG    modifications de sécurité    *SECDIRSRV modification de sécurité dans un annuaire [LDAP]
   *SECURITY  les deux précédents, plus quelques autres

     ( le fichier de sortie reste QASYAFJE pour DSPJRN. )



Evolution du CL en V5R30


|

La version 5.3 apporte de nombreuses avancées pour le langage CL.
 - le support direct des variables binaires (plus besoin de  %BIN)
 - le support de fichiers multiples (il est enfin possible de lire un     fichier BD et d'afficher un DSPF dans le même programme)
 - l'arrivée de nombreuses commandes de structuration DOWHILE,DOUNITL,DOFOR.

 + variables binaires
     DCL        VAR(&CPT) TYPE(*INT)
     il existe aussi le format *UINT (binaire non signé)
     la longueur est de 2 octets ou 4 octets
     la transformation de binaire en décimal ou caractère est possible        avec CHGVAR

|

 + support de fichiers multiples
   Avant la V5R30, nous ne pouvions déclarer qu'un seul fichier par pgm    ce qui fait qu'il n'était pas utile de précisier le nom lors des lectures
  La v5r30 apporte un nouveau paramètre OPNID() sur les commandes DCLF    RCVF, SNDRCVF, SNDF permettant de manipuler plusieurs fichiers.
    DCLF       FILE(ECRAN1) OPNID(ECRAN)  ........................................................................  :  ATTENTION : les variables seront préfixées par l'OPNID suivi de _   :  :                                                                      :  :   par exemple ce DSPF contient :                                     :  :                                                                      :  :   JOB -> nommée dans le pgm &ECRAN_JOB                               :  :   Indicateur 3 -> nommé &ECRAN_IN03                                  :  :......................................................................:
 l'OPNID est facultatif, mais un SEUL fichier peut ne pas en avoir,   et nous sommes limités à 5 fichiers en tout dans un même programme.

|

 les commandes de manipulation de fichier (SNDF, RCVF et SNDRCVF) doivent   utiliser la paramètre OPNID s'il a été utilisé lors de la déclaration.
  exemple :   ---------               PGM               DCLF       FILE(QADSPOBJ) OPNID(OBJD)               DCLF       FILE(ECRAN1) OPNID(ECRAN)
  BCL1:       DOWHILE    COND(*NOT &ECRAN_IN03)                 RCVF       OPNID(OBJD)                   MONMSG     MSGID(CPF0864) EXEC(LEAVE CMDLBL(BCL1))                 CHGVAR &ECRAN_ODOBNM &OBJD_ODOBNM                 CHGVAR &ECRAN_ODOBTP &OBJD_ODOBTP                 CHGVAR &ECRAN_ODOBTX &OBJD_ODOBTX
                SNDRCVF OPNID(ECRAN)
              ENDDO               ENDPGM

|

 Commandes de structuration
  les seules commandes disponbles avant la V5R30, (hors GOTO) étaient
    IF et DO/ENDDO (ces dernières utilisée avec IF et MONMSG en général)
  Nous avons maintenant
  DOWHILE COND( même test que sur un IF)    ...   ENDDO
  c'est un vrai dowhile, le test en réalisé avant (on peut ne jamais entrer)    et il s'agit de la condition pour faire
  DOUNTIL COND( même test que sur un IF)    ...   ENDDO
 pour dountil, le test en réalisé sur le ENDDO (on fait au moins une fois)   et la condition donnée est celle pour SORTIR.

|

 DOFOR VAR(&cpt) FROM(1) TO(22) BY(3)   ...  ENDDO
 pour ces trois boucles on peut forcer
 une sortie anticipée par LEAVE 
  sans paramètre, on sort de la boucle en cours (la dernière)   on peut mettre un LABEL devant le DOxxx et indiquer le label lors du LEAVE
 un saut d'un tour de boucle par ITERATE 
 et enfin, l'équivalent du CASE SQL ou du SELECT RPG :
 SELECT    WHEN COND( ) THEN( )   /* seul le premier test vrai est traité */   WHEN COND( ) THEN()   OTHERWISE CMD( )  ENDSELECT 

|
 ET enfin, une nouvelle commande est proposée GENCMDDOC

  Elle permet de générer l'aide associé à une commande
   1/ au format HTML (par défaut)
   2/ au format UIM avec GENOPT(*UIM)
 par exemple
  GENCMDDOC CMD(AF400/SLTAF4) TODIR('/tmp') TOSTMF(*cmd)
   créé un fichier AF400_SLTAF4.HTML dans /tmp
  et
  GENCMDDOC CMD(AF400/SLTAF4) TODIR('/qsys.lib/qtemp.lib/qtxtsrc.file')     TOSTMF(*cmd) GENOPT(*UIM)
   créé un membre SLTAF4 dans QTXTSRC de QTEMP
  Le programme de traitement est une classe java (assez lente)

|

 Dans tous les cas, le source produit est en anglais et à compléter : ........................................................................ : :help name='SLTAF4'.                                                 : : Sélection AF400 - Help                                               : : :p.The Sélection AF400 (SLTAF4) command <...>                        : : .* Describe the function provided by the command.                    : : :p.:hp2.Restrictions::ehp2.                                          : : :ul.                                                                 : : :li.                                                                 : : You must have <...>                                                  : : .* List all special authorities required to run the command.  <--    : :   .../...                                                            : : .*******************************************                         : : .*   Help for parameter MODULE                                       : : .*******************************************                         : : :help name='SLTAF4/MODULE'.                                          : : Module AF400 (MODULE) - Help                                         : : :xh3.Module AF400 (MODULE)                                           : : :p.Specifies <...>                                                   : : .* Describe the function provided by the parameter.           <--    : :......................................................................:

Nouveautés RPG IV en V5R30


|

 Les nouveautés RPG IV liées à la V5R30 sont assez peu nombreuses.
 + nouvelle fonction %SUBARR permettant de ne manipuler qu'une partie     d'un tableau.
    [ très pratique pour les tableaux dynamiques gérés pointeur ]
    %SUBARR(tableau : debut : nombre)
   ne manipule que "nombre" poste(s) à partir de "debut"    (nombre est facultaif, si non précisé, on traite jusqu'à la fin)
 + SORTA et XFOOT admettent %SUBARR en argument
    /free
     sorta %subarr(tbl:1:10);// ne trie que les 10 premiers postes      resultat = %xfoot(%subarr(tbl:i:5));//cumul des 5 postes à partir de i.
    /end-free

|

 + %DEC admet en premier argument date/heure/horodatage               le deuxième argument peut être le format désiré
        le résultat de la transformation est numérique
   D DATJMA          S              6  0    D DATE            S               D   DATFMT(*ISO) INZ(D'2004-09-01')
    /free      DATJMA = %dec(DATE : *DMY); // DATJMA = 010904     /end-free
 + %TRIM admet en deuxième argument le caractère à éliminer     %TRIMR et %TRIML aussi
    /free       aenlever= '*-' ;       chaine = '***a-b-c-' ;       resultat = %trim(chaine : aenlever); // chaine = 'a-b-c'     /end-free

|

 + le Mot-clé OPTIONS sur les prototypes admet une nouvelle valeur *TRIM
   D PGMA            PR    D  P1                            6  0    D  P2                           20    OPTION(*TRIM)
 le paramètre P2 sera recu sans les espaces d'extémité par PGMA
 + les variables numériques packées et numériques étendues peuvent être     définies jusqu'à 63 chiffres (avant la limite était de 31)
 + la DS résultat placée sur un ordre d'entrée/sortie peut être une DS     externe, et tous les ordres de lecture (CHAIN, READ, READE) l'admettent.
   D inputDS         DS                  qualifieds    D  decoupage1                         likercd(rcd1) overlay(input)    D  decoupage2                         likercd(rcd2) overlay(input)
    /free      read fichier inputDS;     /end-free

|

 + la variable d'environnement QIBM_RPG_JAVA_PROPERTIES peut être renseignée      avant l'appel à un pgm RPG utilisant JNI afin de paramétrer la JVM.     par exemple '-Djava.version=1.4;'
     si vous placez plusieurs valeurs le séparateur est " ; ".     par exemple '-Djava.version=1.4;-Dos400.stdout=file:monfichier.txt;'
 + la variable d'environnement QIBM_RPG_JAVA_EXP_TRACE permet d'avoir une     trace en cas d'erreur générée par la JVM, si renseignée à Y .
   la trace est affichée à l'écran, sauf à renseigner os400.stderr
 + le compilateur RPG peut être utilisé comme un pré-processeur avec      l'option PPGENOPT. IL ne génère pas un pgm mais un membre source      (renseigner PPSRCFILE, PPSRCMBR) dans lequel il aura traité les      directive /DEFINE, /IF, /COPY, éventuellement /INCLUDE (*EXPINCLUDE)      et enlever les commentaires (*RMVCOMMENT)
 + le pré-compilateur SQL admet un nouveau paramètre RPGPPOPT qui lui     permet alors d'utiliser le compilateur RPG en tant que pré-processeur.    Il supporte alors toutes les directive RPG (même /INCLUDE avec *LVL2)

 

Nouveautés sysntaxiques SQL en V5R30


|

 L'ordre SQL SELECT complet (FULL SELECT) admet maintenant les opérateurs    INTERSECT et EXCEPT en plus de l'opérateur UNION ou UNION DISTINCT

 INTERSECT (ou INTERSECT DISTINCT, qui est identique) affiche les    enregistrements qui se trouvent dans l'une ET l'autre des requêtes.
 EXCEPT (ou EXCEPT DISTINCT, qui est identique) affiche les enregistrements    qui se trouvent dans l'une ET PAS dans l'autre des requêtes.
  SELECT matricule, nom from personnel WHERE departement = 'INFO'     EXCEPT    SELECT matricule, nom from absence WHERE year(dateabs) =  year(now())            and code = 'M'
 Donne la liste des lignes qui sont dans la première requête uniquement.     ( les personnes du département INFO qui n'ont pas été absent cette       année pour cause de maladie)
    INTERSECT donne la liste des lignes qui sont dans les deux requêtes

|

 récapitulatif, soit deux fichiers f1 et f2 :
 ......   ......  : f1 :   : f2 :      UNION    UNION DISTINCT    INTERSECT   f1 EXCEPT f2   :  A :   :  A :        A           A                A           D  :  A :   :  B :        A           B                B           E  :  B :   :  B :        A           C                C             :  C :   :  C :        B           D  :  C :   :  F :        B           E  :  D :   :  F :        B           F f2 EXCEPT f1  :  E :   :....:        C F  :  E :                 C  :.....                 C                         D                         E                         E                         F                         F



|
 nouvelles fonctions 

  MULTIPLY_ALT()    alternative à l'opérateur X, travaille avec une plus                      grande précision, à utiliser avec des nombres de                      plus de 63 chiffres !
  REPEAT(c , nb)    repète le caractère 'c', nb fois
  OCTET_LENGTH      indique le nombre d'octets occupés par une colonne
  BIT_LENGTH()      indique le nombre de bits occupés par une colonne
  MONTHNAME(Date)   retourne le nom du mois (en Français) de Date
  INSERT(Z , deb, nb, chaine)                     insert 'chaine' à partir de 'début' en remplacant                      'nb' caractères (0 = insertion pure).
 sur une zone char(1) contenant '*'     Insert(zone1 , 1 , 0 , 'XX')     --> 'XX*' --on insert devant    Insert(zone1 , 1 , 1 , 'XX')     --> 'XX'  --on remplace    Insert(zone1 , 2 , 0 , 'XX')     --> '*XX' --on insert derrière

|

BINARY()  et VARBINARY(), liées aux nouveaux types de données.
  BINARY et VARBINARY sont des types proches du BLOB, les données étant    notées sans notion de CCSID, ces fonctions assurent une conversion    vers ce nouveau type.
ENCRYPT_RC2(data, pwd , hint)
  Encrypte les données founies en premier argument en utilisant le deuxième    comme clé, selon l'algorithme RC2.
  le mot de passe peut être fixé aussi par SET ENCRYPTION PÄSSWORD, avant.   l'asctuce (facultative) est un "pense-bète" mémorisé avec la donnée.
GET_HINT() retourne l'astuce (le pense-bète) permettant de se souvenir   de la clé (qui est obligatoire avec les fonctions ci-dessous)
DECRYPT_BIT() décrypte une donnée cryptée et retourne du VARCHAR /BIT DATA DECRYPT_BINARY() décrypte une donnée cryptée et retourne du BINARY DECRYPT_CHAR() décrypte une donnée cryptée et retourne du VARCHAR simple DECRYPT_DB() décrypte une donnée cryptée et retourne du Double Byte (UTF-8)

|

 SEQUENCE
  il s'agit dun nouveau type d'objet pour SQL (en fait une Data Area)    permettant de mémoriser à l'extérieur d'une table, une suite numérique.
 CREATE SEQUENCE  nom AS  type-numérique (sans décimale) ----->
 -------------------------------------------------------------->   !               ! !                 ! !               !   !-START WITH  s-! !- INCREMENT BY i-! !-MINVALUE mini-!
                      !- CYCLE --!   !--CACHE--!  !-ORDER---!  ---------------------!          !---          !--!         !--.   !                !  !-NOCYCLE--!   !-NOCACHE-!  !-NOORDER-!   !-MAX VALUE maxi-!
 STARTWITH, MINVALUE/MAXVALUE indiquent les valeurs de départ,mini et maxi.
 avec CYCLE, quand on arrive à "maxi" on boucle, sinon on génère une erreur
 avec CACHE le système garde en mémoire les dernière valeurs (conseillé)

|

 l'ordre ALTER SEQUENCE permet de modifier une séquence existante   (même paramètres que CREATE SEQUENCE)
 Une séquence (en plus de la Data Area) est enregistrée dans SYSSEQOBJECTS.
 Utilisation 
 Dans un ordre SELECT, INSERT, UPDATE, SET (programmation), utiliser :
  NEXT VALUE FOR nom-séquence   PREVIOUS VALUE FOR nom-séquence
    ex: INSERT into t1 VALUES(NEXT VALUE FOR sequence1, 'libellé', ...)
  NEXT VALUE génère une nouvelle valeur (pas de retour arrière possible,    même en cas d'erreur ou avec ROLLBACK)
  si vous placez plusieurs fois NEXT VALUE dans un même ordre SQL,    une seule valeur est générée par ligne manipulée.
  PREVIOUS VALUE retrouve la dernière valeur générée.


• Nouveautés Iseries Navigator en V5R30

 

Gestion de l'heure

ATTENTION cette nouvelle option n'apparait que si vous demander à scanner les options disponibles.
(click droit sur votre nom de système/ propriétés/ Modules d'extension/ rescannage)


  • Réglage horaire permet modifier l'heure, sans rupture
  • Fuseaux horaire de renseigner votre fuseau horaire pour la gestion de l'heure d'été.

Réglage horaire



Vous voyez le contenu de la valeur système QTIMADJ

pour réaliser un réglage horaire (modification en douceur de l'heure), cliquez sur "nouveau..."

, ici + 5 minutes

vous verrez alors (remarquez qu'il faut 10 minutes pour augmenter l'heure de 5 mns)



l'affichage des valeurs systèmes liées à la date et à l'heure, propose aussi un accès au réglage horaire

Fuseau horaire

cette option vous affiche les fuseaux horaires disponibles, pertmet de modifier QTIMZON et d'éditer un fuseau horaire

ci dessous , les caractèristiques de Qp0100cet2

 

Base de données

L'administration base de données a été complètement revue

  1. Affichage des objets par catégorie

  2. Affichage/Edition des propriétés d'une table




    Liste des colonnes


    Contraintes de clé primaire


    et de clés étrangères


  3. Définition d'une nouvelle contrainte


  4. Affichage des contraintes, comme WRKPFCST (non disponible en V5r20)


    Avec activation/ désactivation possible (CHGPFCST...)


    et liste des contraintes en erreur


  5. Accès depuis Visual Explain au débogage graphique


    Il s'agit dun produit écrit en Java, disponible déja sur la version précédente, mais à lancer "à la main"

    Il offre l'avantage de pouvoir débogger facilement les procédures cataloguées et les fonctions SQL.


    ajout d' un programme au débug

Iseries Navigator task on the web


il s'agit de certaines fonctionnalités d'Iseries Navigator (ex Operation Navigator) accessible depuis un navigateur internet.

il faut :

  • Installer WAS version 5.0 , express ou standard (pas de 5.1 pour l'instant)
  • indiquer ensuite au serveur web d'aministration (celui qui tourne sur le port 2001), d'utiliser WAS

    en mettant YES en face de "Start the system application serveur instance"

    cela va lancer un JOB (java) et créer une nouvelle instance WAS nommée ADMIN



    que vous verrez, daans la liste des intances WAS



    et en tant que travail actif


  • L'accès ensuite se fait directement par URL

    IBM vous propose uniquement une interface vous aidant à
  1. construire vos URL (copier/coller dans vos applications)
  2. générer un fichier favoris à intégrer à votre navigateur



à la première utilisation , on vous conseille d'utiliser le protocole HTTPS (sessions sécurisées par SSL)

Pour éviter cela, modifiez

\QIBM\UserData\WebASE\ASE5\SYSINST\config\cells\LOCAL\applications\iSeriesNavigatorforWeb.ear\deployments\iSeriesNavigator\iSeriesNavigator.war\WEB-INF\web.xml

recherche la chaîne httpSSL

la valeur se trouve en dessous

  • warning, vous avez un avertissement d'affiché (ce que nous venons de voir)
  • required, SSL obligatoire
  • notrequired, SSL est facultatif

revenons à URL advisor

prenons création d'une adresse URL

indiquez le système cible

Le type de tâche souhaitée (tout n'est pas encore disponible)

la tâche

on vous affiche l'URL à utiliser

 

regardons quelques tâches proposées

Gestion des files d'attente

messages de l'opérateur

Base de données

  1. Choix de la base

  2. URL


  3. Choix des éléments à afficher


  4. Actions proposées (ici, sur une liste de tables)

Vous pouvez aussi demander la créarion de favoris, à installer sur votre navigateur (ici, Netscape sous Linux)

résultat (à copier dans un fichier local et à importer)

 

Pour plus de détails; voyez http://publib.boulder.ibm.com/infocenter/iseries/v5r3/ic2924/index.htm?info/rzatg/rzatgmanage.htm


 

WDS C, nouveautés de la version 5.1.2

  • Editeur LPEX

    • Conversion des spécif C à facteur 2 étendu au format libre


      Résultat :


    • Insertion automatique des ordres de fin et Indentation automatique

      par exemple, si je tape dow
      LPEX insert ENDDO et positionne le curseur 2 caractères à droite.

    • Assistant à la création de spécifs D





    • Contrôle de syntaxe des ordres SQL
      • sur le serveur, par l'option Source/Vérifier toutes les syntaxes

      • Toujours pas d'invite pour SQL !

    • ET enfin, affichage d'une info-bulle par F2 :

  • La vue TABLE propose un choix des colonnes (préférences/systèmes distants/Vue Table)


    Ce qui vous permet ensuite (en cliquant sur )



  • Nouvelle vue "Etat du travail', lancée depuis la liste des travaux



    Une nouvelle Vue est alors ouverte affichant l'état du JOB


    L'ascenseur horizontal permet de demander une fréquence de rafraichissement automatique.


  • Recherche d'une chaine

    Il est maintenant possible de rechercher une chaine, comme avec l'option 25 de PDM

    • Soit en prenant le menu Recherche/Iseries...



    • Soit avec un clique droit, sur un fichier source ou une bibliothèque




      WDS client vous affichera une nouvelle vue contenant le résultat de la recherche


    • La même fonctionnalité est proposée pour les fichiers IFS

 




 

Copyright © 1995,2004 VOLUBIS