, , Intégrer Windows dans vos applications 5250

Vous avez des possibilités en standard sur votre IBMi :
Pour générer du PDF
Pour générer du CSV
Pour Générer du TXT

Comment rendre efficace et intégrer ces fichiers sous WINDOWS ?

1 ) Le profil utilisateur propose en standard un répertoire par défaut, /home/votreuser.

Vous devez créer cette directory qui deviendra alors votre répertoire par défaut.
La prise en compte est à la prochaine connexion
Vous pouvez contrôler en faisant
==> WRKLNK

2 ) Sur l’ibmi vous devez monter un partage, s’il n’existe pas encore sur le répertoire /home

3 ) Sur votre PC il est conseillé de monter un partage windows sur /home/votreuser chez nous lettre P.

4 ) Sur votre PC vous devrez vérifier que vos associations d’extension de fichier sont bien rattachées au bon logiciel

5 ) Vous devez ensuite générer le fichier

Exemple :

Génération d’un csv par les commandes de l’IBMI

CPYTOIMPF FROMFILE(QGPL/QAUOOPT)
TOSTMF(Liste_Options_PDM.csv)
MBROPT(REPLACE) STMFCCSID(PCASCII)
RCDDLM(CRLF) STRDLM(NONE) FLDDLM(‘;’)
ADDCOLNAM(*SQL)

Le fichier produit s’appelle Liste_Options_PDM.csv

Si vous allez dans le partage windows vous le voyez

Si on voulait boucler la boucle il faudrait pouvoir le lancer directement à partir de l’interface 5250

Vous disposez de 2 commandes coté IBMi pour faire

La première (STRPCO) va démarrer l’intégrateur qui va vous permettre de passer des commmandes sur votre pc

La deuxième (STRPCCMD) va exécuter la commande windows demandée

Ci joint un petit scripte pour enchainer tout ca ici c’est un programme indépendant, mais vous pouvez facilement le glisser dans un pgm de services

Je vous ai joint une commande pour habiller, si vous voulez tester

Le programme

**free
 // Paramètres
DCL-PI *N;
  P_Commande         CHAR(1023);  // IN / COMMANDE À EXECUTER
  P_Status           CHAR(02);    // OUT/ STATUS KO ET OK
END-PI;
if %parms() < 2 ;
dsply 'Ce programme nécessite 2 paramétres' ;
  *inlr = *on ;
  return ;
endif ;
  // démarrage de PCO
  exec sql call qsys2.qcmdexc('STRPCO') ;
  // démarrage de explorer
  exec sql
  call qsys2.qcmdexc('STRPCCMD PCCMD(''' concat :P_Commande  concat ''') PAUSE(*NO)') ;
  if sqlcode = 0 ;
    P_Status = 'OK'  ;
  else ;
    P_Status = 'KO'  ;
  endif ;
// Fin de programme
*inlr = *on ;

La commande

             CMD        PROMPT('Exécution commande windows')
             PARM       KWD(COMMANDE) TYPE(*CHAR) LEN(1023) +
                          DFT(EXPLORER) PROMPT('Commande windows')
             PARM       KWD(STATUS) TYPE(*CHAR) LEN(2) +
                          PMTCTL(*PMTRQS) PROMPT('Status sur +
                          l''exécution')

Exemple :

On demande l’ouverture du fichier généré

==>EXECWIND COMMANDE(‘P:LISTE_DES_OPTIONS_DE_PDM.CSV’)
P: lettre de partage
.CSV associé à excel

Conclusion :

Simple mais efficace
Ne pas oublier de faire du ménage dans les répertoires utilisateurs