IBM i est le nouveau nom qui remplace I5/OS. Il est livré en version 6.1 et est disponible sur POWER5 et POWER6 Parmi les nouveautés matériel, citons : -le processeur POWER6 donc,avec une puissance unitaire de 4300 CPW ou + -la possibilité d'utiliser VIOS (Virtual IO Serveur), ce dernier pouvant s'allouer toutes les ressources et les partageant par le biais de ressources virtuelles. ATTENTION, VIOS ne sait pas émuler un dérouleur de bande virtuel -la possibilité de créer une partition IBMi "hostée", c.a.d utilisant des disques virtuels offerts par une autre partition IBMi. (comme les partitions Linux, sur versions précédentes) -la possibilité d'intégrer une partition IBMi dans un Blade center |
Cette nouvelle version de l'OS possède un jeu d'opérations codées (niveau Microcode) différent . Il faut donc recréer les programmes pour cette nouvelle version, à partir des données de création contenues dans ce dernier. (comme au passage CISC/RISC) ces données de création sont automatiquement contenues dans les programmes compilés en version 5.1 et suivantes mais peuvent être absentes sur les versions précédentes, si vous avez enlevé l'observabilité (CHGPGM RMVOBS). (Depuis la V5.1, enlever l'observabilité conserve les données de création) IBM founit une commande ANZOBJCVN pour les versions 5.3 et 5.4 afin de planifier le changement de version, voyez l'APAR II14306 |
Pourquoi ce nouveau format ? * pour une meilleure intégrité des objets * pour une meilleure utilisation de la mémoire , particulièrement du Téraspace * pour apporter de nouvelles options à ILE, particulièrement *DEFER sur un programme de service lié, permettant son chargement mémoire uniquement lors de l'utilisation réelle (si elle est occasionnelle) * pour ACG (Adaptive Code Generation) qui génèra des programmes utilisant au mieux et dynamiquement le jeu d'instructions du processeur sur lequel ils s'exécutent ! |
Quand la conversion aura-t-elle lieu ? * Au passage d'une version V5 vers la version V6 (si c'est possible) o lors de la restauration suivant la sysval QFRCCVNRST o planifiée par la commande STROBJCVN o à la première utilisation, en dernier recours * Au passage d'une version V6 vers la version V5 o il y a des PTF - V5R30 : MF41354 - V5R40 : MF40520 voyez l'APAR MA32210 * lors d'un passage V6 power6 vers une V6 power5 o lors de la restauration ou à l'exécution * par contre, lors d'un passage V6 power5 vers une V6 power6 o il n'y a rien à faire |
Quelques différences entre la version 6.1 et les versions précédentes ===================================================================== Certaines commandes avec des fichiers de sortie (*OUTFILE) produisent des résultats différents (nouvelles zones) ce qui implique que vous passiez vos fichiers en LVLCHK(*NO) Vous ne devez pas placer de bibliothèque avant QSYS dans *LIBL, contenant une copie des commandes systèmes.La plupart des menus et des CL IBM utilisent QSYS directement. (ce n'est pas encore une restriction de CETTE version) La nouvelle machine virtuelle Java ne prend plus en charge les programmes Java avec adoption de droits, il faut commander le produit PRPQ 5799-AAJ Une allocation d'objets sur une DTAQ par ALCOBJ est maintenant respectée (avant le système ignorait les allocations sur une DTAQ) |
Lors des sauvegardes restaurations par SAV/RST vous pouvez désormais exclure les systèmes de fichier UDFS démontés (avant l'exclusion était ignorée) Le format interne des récepteurs de journaux change, pour les restaurer sur un système en V5R30, il faut SI27618 sur un système en V5R40, il faut SI27617 la commande CPYTOIMPF possède désormais un paramètre STMFAUT *DFT attribue au propriétaire les droits *RWX *INDIR attribue les droits du répertoire parent *FILE attribue les droits du fichier physique d'origine *INDIRFILE attribue les droits du répertoire parent, puis ceux du fichier d'origine |
les droits nécessaires pour les commandes CPYTOIMPF/CPYFRMIMPF ont changé : 1/ Vous devez avoir le droit de lecture sur la table de conversion 2/ Vous devez avoir les droits d'écriture sur le fichier cible et les droits d'ajout sur la bibliothèque SI le membre n'existe pas 3/ Vous devez en plus disposer des même droits que la commande CPY Enfin, ces commandes acceptent maintenant un CCSID plutôt qu'une page de code, cela devrait permettre une plus grande souplesse de conversion. Du coup,les CCSID attribués par défaut peuvent être différents des versions précédentes.Vous devez préférer le paramètre STMFCCSID au paramètre STMFCODPAG, qui risque de disparaitre dans une prochaine version. |
CPYSRCF possède deux nouveaux paramètres TOMBRID *GEN l'identificateur de niveau de membre est généré *FROMMBR l'identifiant est le même que le membre copié SRCCHGDATE *FROMMBR , par défaut la date de modification de source est la même que le source copié pour les membre créé ou copiés avec MBROPT(*REPLACE) pour une copie MBROPT(*ADD) la date est mise à la date du jour. *NEW la date est mise à la date du jour. La commande DSPAUTLOBJ qui liste les objets protégés par une AUTL liste aussi maintenant les objets et les répertoires de l'IFS, particulièrement dans le fichier de sortie. |
Les messages de la fonction téléservice étaient envoyés à QSYSOPR, depuis la version 6.1, ils sont envoyés à QSERVICE la commande PWRDWNSYS interactive demande une confirmation par F16 ........................................................................... : Confirmation de la mise hors tension du système : : : : Système . . . . . . . . . . . . . . . . : AS400 : : : : : : Pour confirmer la mise hors tension, appuyez sur F16. : : Pour annuler, appuyez sur F12. : :.........................................................................: il faut définir la variable d'environnement QIBM_PWRDWNSYS_CONFIRM à *NO pour l'enlever.Par exemple : ADDENVVAR ENVVAR(QIBM_PWRDWNSYS_CONFIRM) VALUE(*NO) LEVEL(*SYS) |
Le serveur CIM qui founit des informations matériel et logiciel à des clients comme IBM Director, ne fait plus partie de 5761SS1. Il est livré sous le code produit 5722UME et tourne sous PASE. Certaines informations matériel ne sont PAS retournées pour une partition "hostée". la commande WRKPTFGRP garde 2 niveaux pour chaque groupe : ..................................................... : Opt Groupe de PTF Niv Etat : : SF99610 8127 Installé : modifiable par : SF99610 8190 Installé : CHGSRVA : SF99609 13 Installé : PTFGRPLVL(000n) : SF99609 15 Installé : : SF99601 4 Installé : : SF99601 5 Non installé : :...................................................: Cela permettant de se rappeler du niveau précédent |
La commande RTVDSKINF qui collecte des informations sur l'espace disque afin de fournir des analyses imprimées par PRTDSKINF, réalise maintenant une partie du travail de la commande RCLSTG. si un objet est "perdu" (non associé à une bibliothèque), il est attaché à QRCL ou QRCLnnnnn ou un ASP indépendant. les objets endommagés ou inutilisables sont détruits A chaque fois un message est émis. ceci ne constitue qu'un sous ensemble des travaux effectués par RCLSTG. Les fichiers de sauvegarde ( SAVF ) ont maintenant une taille maxi de 2To (ils étaient limités à 1To en V5R40) |
IBMi (le nouveau nom d'I5/OS) est complètement compatible IPV6. Les fichiers QATOCHOST et QATOCTCPIP qui contiennent les adresses IP du fichier HOST et les informations de domaine et de serveurs DNS sont toujours utilisables en lecture mais ne contiennent que des adresse IP V4. Pour un accès complet utilisez les API suivantes: gethostent(), sethostent() et endhostent() pour l'accès au fichier HOST QtocRtvTCPA() pour l'accès aux adresses IP des serveurs DNS. Les fichiers physiques QATOCIFC (interfaces IP) et QATOCRTE (les routes) ont étés modifiés eux aussi et ne sont PLUS utilisables directement. Voyez les API QtocLstNetIfc et QtocLstNetRte |
Le message TCP2617, "Connexion TCP/IP au système éloigné &2 fermée ..." n'est plus envoyé à QSYSOPR mais uniquement à QTCP et dans la log système. La taille des buffers (TCPRCVBUF et TCPSNDBUF) passent, par défaut, de 8192 à 65535 Octets. les travaux TCP/IP changent : le nouveau travail QTCPCTL arrête et démarre les interfaces le nouveau travail QTCPWRK, gère TCP/IP Ils ne s'exécutent plus dans un sous-système. avant les travaux QTCPIP et QTCPMONITR, réalisaient le même job, mais étaient dans QSYSWRK et donc "tombaient" lors d'un passage en mode restreint (ENDSYS) ou simplement un arrêt de QSYSWRK. |
la description de texte de commandes avec TEXT(*CMDPMT) est extraite dynamiquement, de ce fait il n'y a plus de commande dans les bibliothèques QSYS29xx, elles sont toutes dans QSYS. la commande DSPPGMREF sur un Query (*QRYDFN) créé en V6R1 donne des informations sur les fichiers manipulés les Query non modifiés en V6R10 n'affichent aucune référence croisée le paramètre OBJTYPE admet *QRYDFN et *ALL inclus les Query. La commande STRDBMON admet en plus des paramètres : FTRFILE : filtrer sur le nom de fichier FTRUSER : filtrer sur le nom d'utilisateur FTRINTNETA : filtrer par adresse Internet les paramètres suivants, nouveaux en V6 FTRLCLPORT : filtrer suivant le port IP local FTRQRYGOVR : filtrer suivant les limites de Query Governor |
Vous pouviez déjà fixer une limite aux requêtes par CHGQRYA (en V5) - QRYTIMLMT : limite de temps - QRYSTGLMT : limite en mémoire temporaire Un message CPA4259 (interrogation) sera envoyé à moins que vous ayez défini un programme sur le point d'exit QIBM_QQQ_QUERY_GOVR Si la réponse au message d'interrogation CPA4259 est 'Cancel' ou la réponse retournée par le pgm d'exit annule la demande (2 ou 3), ET que vous indiquez FTRQRYGOVR(*COND) alors la requête est écrite. Si vous indiquez FTRRYGOVR(*ALL), alors la requête est toujours écrite. Un nouveau point d'exit QIBM_QMH_HDL_INQEXT + la PTF SI29311 gèrent l'appel à un programme chargé de répondre aux messages d'interrogation envoyés à l'External (*EXT). |
JDBC : Plusieurs modification faites à l'interface java.sql.database.Metadata dont le fait que "localhost", ne soit plus accepté en tant que catalogue. Le driver JDBC natif possède une nouvelle propriété QueryCloseImplicit qui permet un CLOSE implicite lors de la lecture de la dernière ligne Cette nouvelle propriété est active par défaut et doit améliorer les temps de réponse Journal : le niveau de verrouillage obligatoire pendant le démarrage de la journalisation d'un fichier passe de *EXCL (V5) à *EXCLRD en V6 la journalisation peut se faire pour une bibliothèque entière par STRJRNLIB, cela remplace la Dataarea QDFTJRN et n'impose plus de droits sur le journal au créateur du fichier APYJRNCHG sait faire la même chose que APYJRNCHGX qui va disparaitre. |
DB2 et SQL (nous ne voyons ici que les différences, pas les nouveautès) les fonctions LEFT et RIGHT extraient des caractères et non des Octets, vous devez donc founir un 2eme argument un nbr de caractères à extraire (important pour UNICODE et DBCS, transparent pour EBCDIC) la valeur de IGNORE_DERIVED_INDEX dans QAQQINI est par défaut à *YES permettant d'ignorer les index dérivés des tables qui en possèdent. la fonction RRN est interdite sur les vues utilisant des tables UDTF les paramètres de type caractère des fonctions SQL (UDF) avec le style de paramètre GENERAL, sont cadrés à droite. si vous déclarez un paramètres de 15 de long et que la fonction retourne 16 vous verrez les 15 derniers et non les 15 premiers.Si la fonction retourne la bonne longueur vous ne verrez pas de différence. |
les fonctions ADD_MONTHS et LAST_DAY retournent un horodatage si le paramètre en entrée est un horodatage, sinon une date comme avant. la fonction NEXT_DAY retourne une date si le paramètre est une date, sinon un horodatage comme avant. Enfin, l'utilisation de la clause USING lors d'une jointure change l'ordre des colonnes retournées Soit : Select * from T1 join T2 USING(z1) cela retourne Z1, puis les zones de T1 sauf Z1 et celles de T2 sauf Z1 ET l'utilisation d'une correllation pour les zones USING est interdite. Select A.Z1, A.Z2 from T1 A join T2 B USING(z1) retourne SQL0205 "La colonne Z1 ne se trouve pas dans la table T1 de *LIBL" il faut écrire : Select Z1, A.Z2 from T1 A join T2 B USING(z1) |
Vous ne pouvez plus utiliser dans les critères de jointure réalisées par JOIN, des variables qui viennent d'une jointure simple (réalisée par , ) par exemple : SELECT * FROM T1, T2 JOIN T3 on t2.cle = t3.cle , fonctionne SELECT * FROM T1, T2 JOIN T3 ON t2.cle = t3.cle AND t3.autrecle = t1.autrecle et SELECT * FROM T1, T2 JOIN T3 ON t2.cle = t3.cle AND t3.autrecle = t1.autrecle WHERE t1.cle = t2.cle ==> ne fonctionnent pas : SQL0338 il faut écrire SELECT * FROM T1 CROSS JOIN T2 JOIN T3 ON t2.cle = t3.cle AND t3.autrecle = t1.autrecle et SELECT * FROM T1 JOIN T2 on t1.cle = t2.cle JOIN T3 ON t2.cle = t3.cle AND t3.autrecle = t1.autrecle |
SQL devient moins permissif sur les assignations de valeur de type différent à la variable (CHAR dans du VARCHAR par exemple) le nombre de mots-réservés augmente, voici les nouveaux mots-réservés : DECFLOAT, SNAN, NAN, INFINITY NCHAR, NVARCHAR, NCLOB, NATIONAL VOLATILE LOCKED FINAL GROUPING, SETS , CUBE, ROLLUP RDI, ASCII, CHR CLIENT_ACCTNG, CLIENT_USERID, CLIENT_APPLNAME, CLIENT_PROGRAMID, CLIENT_WRKSTNNAME |
Quelques nouveautés CL de cette version ======================================= Nouvelles commandes A/ utilisables en CL CLOSE, ferme un fichier ouvert dans un pgm CL (RCVF l'ouvre à nouveau) INCLUDE, inclus (copie) un autre membre source CL. DCLPRCOPT permet de stocker dans le source des options de compilation comme LOG() , ALWRTVSRC() ou USRPRF() la commande CMD, permet la même chose pour les objets commandes (*CMD) particulièrement le paramètre *PMTFILE(msgf *STATIC|*DYNAMIC) permettant d'indiquer que le texte est à récupérer dans un fichier message (msgf) de manière statique(à la compilation) ou dynamique (à l'exécution) le CL supporte les variables *CHAR (et *PNAME) en UNICODE |
B/ du système d'exploitation toutes les commandes CLU de gestion de cluster font partie du produit "Systemi HASM" et non plus du système d'exploitation. toutes les commandes liées aux protocole OSPF sont nouvelles (voir http://fr.wikipedia.org/wiki/OSPF ), GO CMDOSPF pour les lister toutes les commandes de gestion des clé KERBEROS enregistrées, équivalente à "keytab" sous shell, sont nouvelles. GO CMDKRB les commandes CPYTOLDIF (DB2LDIF) et CPYFRMLDIF (LDIF2DB) exportent et importent le contenu du serveur LDAP. de nouvelles fonctionnalités de surveillance : "disk watcher" (STRDW) "job watcher" (STRJW), utilisables aussi sous la nouvelle interface iSeries Navigator Director , apportent de nouvelles commandes. CHGJOBQ permet de modifier les caractéristiques d'une JOBQ WRKJOBQD permet de voir les caractèristiques d'une JOBQ |
WRKJVMJOB donne la liste des travaux utilisant une JVM et permet d'en voir les caractèristiques. WRKPTFORD liste les commandes de PTF DSPSSTUSR affiche la liste des utilisateurs SST sans lancer SST DMPUSRPRF "Dump" les caractéristiques d'un profil utilisateur DSPFMWSTS affiche les niveaux actuels du processeur de service (FSP) Afficher l'état du microprogramme Partition de maintenance . . . . . . . . . : Non Règles de mise à jour du microprogramme . . : *HMC Source de l'IPL du serveur . . . . . . . . : Temporaire ID/Edition du microprogramme . . . . . . . : 5733906 V1R1M0 --Microprog. serveur--- Groupe de ID Copie correctifs PTF *ACTIVE EL320_076 MH01107 ==> donne le niveau en mémoire *TEMP EL320_076 MH01107 ==> le niveau temporaire "bootable" *PERM EL320_061 MH01098 ==> le niveau permanent "bootable" |
Nouveauté bien pratique ANZCMDPFR Vous lancez cette commande avec le paramètre CMD() contenant UNE commande ou le paramètre CMDFILE() faisant référence à un source contenant plusieurs commandes et vous obtenez (dans la JOBLOG) des informations de performance dans le texte d'aide du message CPCC711 ANZCMDPFR command completed successfully Cause . . . . . : The request to measure the performance of a single CL command or a set of CL commands has completed. Total Time Used . . . . . . . . . . . : 2,476 Total CPU time Used . . . . . . . . . : 1,383 Synchronous Database Reads . . . . . : 2 Synchronous Non Database Reads . . . : 106 Synchronous Database Writes . . . . . : 0 Synchronous Non Database Writes . . . : 129 Asynchronous Database Reads . . . . . : 40 Asynchronous Non Database Reads . . . : 1 ###### ... etc... |
De nouvelles informations sont associés au profil utilisateur et affichées par DSPUSRPRF Profil utilisateur - Informations générales Profil utilisateur . . . . . . . . . . . . : CM Dernière ouverture de session . . . . . . : 02/09/08 18:21:15 Vérifications du mot de passe infructueuses: 0 Etat . . . . . . . . . . . . . . . . . . . : *ENABLED Date dernière modif du mot de passe . . . : 24/06/08 08:47:08 > Le mot de passe est *NONE . . . . . . . . : *NO Durée de validité du mot de passe . . . . : *SYSVAL > Mot de passe arrivé à expiration par la commande . . . . . . . . . . . . . . . . : *NO (CHGUSRPRF PWDEXP) > Bloquer la modification du mot de passe . : *SYSVAL (cf ci-dessous) Gestion locale du mot de passe . . . . . . : *YES Classe d'utilisateur . . . . . . . . . . . : *PGMR > Date/Heure de création . . . . . . . . . . : 24/08/99 18:12:40 > Date/Heure de modification . . . . . . . . : 02/09/08 18:07:44 > Date de la dernière utilisation . . . . . : 03/09/08 > Date/Heure de restauration . . . . . . . . : 18/06/08 17:47:43 A Suivre ... |
Nouvelles commandes liées au serveur DNS NSUPDATE pour mettre à jour le serveur DNS sans éditer les fichiers (voyez http://linux.yyz.us/nsupdate/nsupdate-man.html pour les commandes) RNDC pour envoyer des commandes (start | halt, etc.) au serveur DNS (voyez http://pwet.fr/man/linux/administration_systeme/rndc ) DIG pour debuger un serveur DNS (voyez http://fr.wikipedia.org/wiki/Dig_%28programme_informatique%29 ) HOST pour interroger un serveur DNS (alternative à NSLOOKUP) |
C/ nouvelles valeurs système QPWDCHGBLK temps mini (en jours) avant de pouvoir changer de mot de passe QPWDEXPWRN temps (en jours) avant envoi d'un avertissement indiquant que le mot de passe va arriver à expiration. QPWDRULES règles pour les mots de passe *PWDSYSVAL on utilise les valeurs système de la V5R40 *CHRLMTAJC deux caractères identiques adjacents sont interdits *CHRLMTREP deux caractères identiques sont interdits *DGTLMTAJC deux chiffres adjacents sont interdits *DGTLMTFST le premier caractère ne peut pas être un chiffre *DGTLMTLST le dernier caractère ne peut pas être un chiffre *DGTMAXn le mot de passe ne peut pas contenir plus de n chiffres (par exemple *DGTMAX3 : 3 chiffres maxi) *DGTMINn le mot de passe doit contenir au moins n chiffres *LMTSAMPOS caractère(s) identique(s) à la même position que l'ancien mot de passe, interdit (comme QPWDPOSDIF) |
*LMTPRFNAM le mot de passe ne peut pas contenir le profil *LTRLMTAJC deux lettres identiques adjacentes sont interdites *LTRLMTFST le premier caractère ne peut pas être une lettre *LTRLMTLST le dernier caractère ne peut pas être une lettre *LTRMAXn le mot de passe ne peut pas contenir plus de n lettres *LTRMINn le mot de passe doit contenir au moins n lettres *MAXLENnnn lg maxi (nnn) du mot de passe, comme QPWDMAXLEN avant. *MINLENnnn lg mini (nnn) du mot de passe, comme QPWDMINLEN avant. *MIXCASEn le mot de passe doit contenir au moins n minuscules et n majuscules (valide avec QPWDLVL à 2 ou 3) *REQANY3 le mot de passe doit contenir au moins trois des ces quatre types : - une minuscule - une majuscule - un chiffre - un caractère spécial *SPCCHRLMTAJC le mot de passe ne peut pas contenir 2 caractères spéciaux adjacents *SPCCHRLMTFST le premier caractère ne peut pas être un caractère spécial *SPCCHRLMTLST le dernier caractère ne peut pas être un caractère spécial *SPCCHRMAXn le mot de passe ne peut pas contenir plus de n car.spéciaux *SPCCHRMINn le mot de passe doit contenir au moins n car.spéciaux |
QSSLPCL protocole(s) SSL supportés.le défaut est *OPSYS QSSLCLS liste des algorithmes de cryptage supportés QSSLCSLCTL indique si QSSLCLS est modifiable(*USRDFN) ou non(*OPSYS/dft) QLMTDEVSSN 0 = les utilisateurs ne sont pas limités en sessions 1 à 9 , indique le nombre de sessions maxi par utilisateur QAUDLVL niveau d'audit, propose 3 nouvelles valeurs *JOBBAS : les fonctions de base des travaux sont auditées *JOBCHGUSR : le changement dynamique de profil est audité. *JOBDTA : l'équivalent des deux valeurs précédentes QACTJOB/QTOTJOB Les valeurs par défaut passent à 200 QADLACTJ/QADLTOTJ Les valeurs par défaut passent à 30 |
D/ sauvegarde/restauration Le paramètre DFRID permet de mieux restaurer les objets dépendants. Par objets dépendant, comprendre LF ou MQT, dépendant d'un PF, par exemple Vous restaurez la bibliothèque BIB1 avec DFRID(RST1), par exemple si BIB1 contient des logiques, ils sont placés dans un cache si BIB1 contient des MQT, elles sont restaurées, inutilisables Puis vous restaurez BIB2 avec le même DFRID(RST1), BIB2 contenant les PF les objets de BIB1 mis en différés sont automatiquement restaurés ou validés, lors de la restauration de BIB2, si : a/ ils sont restaurés dans leur bibliothèque d'origine b/ les restauration utilisent le même DFRID [par défaut *DFT=QRSTLIB] Si la restauration de la 2ème bibliothèque ne suffit pas, utiliser : RSTDFROBj DFRID(RST1) la commande RMVDFRID,élimine les informations du cache, sans RSTDFROBJ. |
la nouvelle commande STRSAVSYNC permet de démarrer un point de contrôle commun à plusieurs commandes de sauvegarde. ceci concerne la fonctionnalité SAVACT et permet de marier dans un même point de contrôle, par exemple, une commande SAVLIB et une commande SAV à condition qu'elle utilisent le même SYNCID. les deux commandes de sauvegarde doivent débuter dans le délai indiquer par STRSAVWAIT (600 S. par défaut) Exemple : STRSAVSYNC SYNCID(MASYNCHRO) NUMSYNC(2) STRSAVWAIT(1800) puis SAVLIB LIB(CLIENTS) DEV(TAP01) SAVACT(*SYNCLIB) SYNCID(MASYNCHRO) SAV DEV('/QSYS.LIB/TAP01.DEVD') OBJ('/clients/*') SAVACT(*SYNC) SYNCID(MASYNCHRO) |
La commande de sauvegarde peut maintenant sauvegarder les droits privés de l'objet en même temps que l'objet lui même (paramètre PVTAUT à *YES) les commandes de restauration RSTOBJ et RSTLIB possèdent un paramètre FRCOBJCVN indiquant si la conversion au nouveau format microcode doit avoir lieu : FRCOBJCVN(*SYSVAL) ==> voir QFRCOBJCVN FRCOBJCVN(*NO) la conversion aura lieu à la première utilisation FRCOBJCVN(*YES *RQD) la conversion aura lieu si elle est obligatoire FRCOBJCVN(*YES *ALL) la conversion aura lieu systèmatiquement Cette notion est directement liée à la nouvelle fonctionnalité ACG (Adaptive Code Generation), permettant à un programme d'utiliser une nouvelle instruction microcode, sans tenir compte du fait que cette instruction n'existe peut-être pas sur tous les modèles pgm compilé sur un POWER6 et restauré sur POWER5 par ex. Cette conversion peut donc avoir lieu sur un même niveau de version ! (machines de processeurs différents) |
E/ nouveau produit 5761TS1 IBM Transform Services for i5/OS et particulièrement l'option 1 : Transformation AFP/PDF Ce produit est livré gratuitement (pour l'instant ?) et implique que vous ayez installé 5761SS1/option3 et 33 (PASE) il utilise deux nouvelles fonctions associées aux PRTF : 1/ le paramètre TOSTMF( ) demandant à ce que le PRTF génère non pas un spool, mais un fichier stream dans l'IFS. Vous pouvez préciser un répertoire et le nom de fichier est généré automatiquement Vous pouvez préciser un nom de fichier, il ne doit pas exister quand le fichier stream est généré. vous devez aussi indiquer DEVTYPE(*AFPDS) |
2/ le paramètre WSCST (non obligatiore) proposant une transformation par objet de personnalisation lors de l'écriture du fichier stream il propose, particulièrement, la valeur *PDF, qui génère ....un PDF. Ces deux paramètres sont accessibles sur les commandes CHGPRTF et OVRPRTF Par exemple -OVRPRTF QPDSPLIB DEVTYPE(*AFPDS) TOSTMF('/tmp/') puis DSPLIB xxx *PRINT génère un fichier QPDSPLIB@Dt013.afp -OVRPRTF QPDSPLIB DEVTYPE(*AFPDS) TOSTMF('/tmp/') WSCST(*PDF) génère un fichier QPDSPLIBk3w5pz.pdf -OVRPRTF QPDSPLIB DEVTYPE(*AFPDS) TOSTMF('/tmp/test.pdf') WSCST(*PDF) génère un fichier test.pdf |