L’application SHIPTORPG est plutôt simple. Elle demande à l’utilisateur un numéro de commande, vérifie que la commande existe par un lien vers le fichier ORDER et, si la commande est trouvée, charge un sous-fichier contenant les articles de chaque ligne de la commande. Ce sous-fichier, plus l’information de commande
L’application SHIPTORPG
telle que le nom du contact et l’adresse de livraison, est alors affiché. Si la commande n’existe pas, un message le signale par l’indicateur 50. L’utilisateur peut examiner plusieurs commandes, une à une, et, quand il a fini, la touche de commande 3 permet de sortir de l’application.
Pour charger des données exemples pour une commande numéro 1, vous pouvez utiliser le programme RPG LOADORDS de la figure 7. Pour exécuter LOADORDS :
- Créez le fichier physique ORDER en utilisant CRTPF FILE(ORDER)
- Créez le fichier physique ORDDET en utilisant CRTPF FILE(ORDDET)
- Créez le fichier physique INVEN en utilisant CRTPF FILE(INVEN)
- Créez le fichier écran SHIPTODSPF en utilisant CRTDSPF FILE(SHIPTODSPF) SRCFILE(QDDSSRC)
- Créez le programme LOADORDS en utilisant CRTBNDRPG PGM(LOADORDS)
- Exécutez LOADORDS avec CALL PGM(LOADORDS)
Pour exécuter l’application SHIPTORPG :
- Créez le programme SHIPTORPG en utilisant CRTBNDRPG PGM(SHIPTORPG)
- Exécutez SHIPTORPG avec CALL PGM(SHIPTORPG)
A l’invite de SHIPTORPG, utilisez un numéro de commande 1 : vous voyez les détails de la commande. En utilisant la commande DSPPFM FILE(ORDER), vous pouvez voir le nom de la société, le nom du contact et autres, dans le fichier ORDER.
On en arrive à la question suivante : que faut-il pour que cette simple application soit validée Unicode ? Dans le cas précis de cette application, la réponse est : pas grand chose. Comme toutes les définitions de données sont fondées sur les fichiers physiques sous-jacents, en raison de l’utilisation de REFFLD dans le DDS pour les fichiers, il nous faut seulement changer les définitions de fichiers physiques pour qu’elles soient Unicode plutôt qu’alphanumériques, recompiler le SHIPTODSPF *DSPF, puis recompiler le programme applicatif SHIPTORPG. Je souligne au passage que toutes les applications ne seront pas aussi facilement changées en Unicode.
La figure 8 montre la nouvelle source des trois fichiers physiques. Les seuls changements de source effectués sont les suivants :
-
Utilisation d’un type de données « G » (Graphic) pour les champs textuels qui doivent être validés Unicode. A noter que le champ order status (ORDSTS) a été laissé alphanumérique. Ce champ est utilisé dans l’application pour indiquer l’état (O pour Open, H pour Held, etc.) et il n’y avait aucune raison de le changer en Unicode. Il est donc clair que vous pouvez choisir quels champs de votre base de données doivent être codés au moyen d’Unicode.
- Spécification du mot-clé CCSID DDS pour les champs textuels avec le premier paramètre mis à la valeur 13488 – parce que 13488 est l’Unicode CCSID supporté par iSeries Access for Web et est souvent désigné sous le nom de UCS-2. Le second paramètre, 20, sert à définir le nombre de positions d’affichage que nous voulons utiliser pour le champ validé Unicode. Ce second paramètre est explicité dans la discussion Information Center du mot-clé CCSID.
Pour changer les fichiers physiques ORDER, ORDDET et INVEN que nous avons créés précédemment pour utiliser Unicode, nous pouvons utiliser la commande CHGPF. Après avoir changé le source DDS pour qu’il ressemble à celui de la figure 8, vous pouvez :
- CHGPF FILE(ORDER) SRCFILE(QDDSSRC)
- CHGPF FILE(ORDDET) SRCFILE(QDDSSRC)
- CHGPF FILE(INVEN) SRCFILE(QDDSSRC)
En exécutant ces commandes CHGPF, le système appliquera les nouvelles définitions à ces fichiers et convertira automatiquement les données dans ces fichiers en Unicode. Si vous utilisez la commande DSPPFM FILE(ORDER), vous verrez que les données ont été changées. La société et les noms des contacts ne sont plus stockés en utilisant EBCDIC. Si vous utilisez SQL DDL plutôt que DDS pour définir vos tables/fichiers, notez l’encadré de cet article, « SQL DDL for the ORDER Table », qui fournit les instructions CREATE TABLE et ALTER TABLE qui correspondent (là où c’est possible) aux définitions DDS précédentes.
A ce stade, nous devons recompiler le fichier écran SHIPTODSPF et le programme applicatif SHIPTORPG. Nous allons changer les définitions de bases de données sous-jacentes et ces objets doivent être recréés pour qu’ils s’approprient ces changements. Pour les recréer :
- CRTDSPF FILE(SHIPTODSPF) SRCFILE(QDDSSRC)
- CRTBNDRPG PGM(SHIPTORPG)
En exécutant l’application SHIPTORPG, vous pouvez vérifier que l’information pour le numéro de commande 1 continue à s’afficher correctement bien que les données soient à présent codées en Unicode. Le moment est venu de charger des données en chinois et en russe pour la commande numéro 2.
Téléchargez cette ressource
Guide inmac wstore pour l’équipement IT de l’entreprise
Découvrez les dernières tendances et solutions IT autour des univers de Poste de travail, Affichage et Collaboration, Impression et Infrastructure, et notre dossier Green IT sur les actions engagés par inmac wstore pour réduire son impact environnemental