OPALE - 10.0 - Utilisation
MAPRMTPROC
1. GENERALITE
Le Workflow Mapping est le nouveau moteur de règles disponible à partir de Mapping Windows et Mapping UNIX 7.0.36. En termes de fonctionnalités et de performance, le Workflow Mapping est bien plus puissant que le Robot Mapping sur iSeries.
Un connecteur iSeries Workflow a donc été développé de manière à pouvoir bénéficier des fonctionnalités du Workflow Mapping sur les documents iSeries. Pour cela, nous utilisons le MapSOAPServer connecté au Workflow sur la partie hôte (UNIX ou Windows) ainsi que la commande MAPRMTPROC sur la partie client (iSeries). Par conséquent, Mapping doit être installé des deux côtés.
Lorsque les fichiers spool iSeries sont envoyés au serveur Mapping, une règle Workflow exécute une série de commandes et génère l'output. Si nécessaire, l'output peut ensuite être renvoyé à l'iSeries avec des messages log.
2. PRE-REQUIS
Veuillez vérifier que la communication réseau entre l'iSeries et le serveur Mapping distant sur lequel tourne le Workflow puisse être établie par l'intermédiaire du protocole HTTP – vérifier adresses IP, pare-feu, antivirus, etc
Le MapSOAPServer doit être configuré correctement. Vous trouverez les paramètres de configuration détaillée du MapSOAPServer dans la documentation sur les Services Web Mapping.
3. DIFFERENTES BOITES DE WORKFLOW POUVANT ETRE UTILES
3.1. CONVERT FROM ISERIES
La commande “Convert from iSeries” (dans le groupe Mapping) permet de convertir un fichier spool EBCDIC en Unicode. (Voir documentation « WorkFlow_ConvertFromISeries.pdf » pour plus d’informations)
3.1. ISERIES RESPONSE
La commande « iSeries Response » (dans le groupe Web Interactivity) permet d'envoyer une réponse à la commande iSeries. La réponse peut être un fichier (*USERASCII ou *AFPDS) ou un message (entrée JOBLOG ou mise à jour d'une DTAARA). (Voir documentation « WorkFlow_ISeriesResponse.pdf » pour plus d’informations)
4. MAPRMTPROC
Cette commande AS400 permet d’envoyer un spool file de l’AS400 vers le moteur de règles (Workflow) de M-Processing Server. 4.1. PARAMETRES DE LA COMMANDE SUR AS400:
Spooled File Nom du fichier spool (SPLF) Alpha Spooled File Number Numéro du fichier spool (SPLNUM) Alpha Job Name Nom du job (JOB) Alpha Numéro du job Numéro du job Num. User Nom de l'utilisateur Alpha Login Utilisateur du Workflow Mapping Alpha Password Mot de passe du Workflow Mapping Alpha Remote Server Adresse IP du Workflow Mapping Alpha Move to Queue OUTQ de destination du fichier d'entrée. Laisser vide si N/A Alpha Library Bibliothèque de l'OUTQ de destination. Alpha Delete File Suppression du fichier d'entrée. Y(O) ou N. Alpha Workflow Name Nom de la règle du workflow à exécuter (laisser vide si workflow root) Alpha Protocol Type de protocole de la connexion : http ou https Alpha Remote Port Port de connexion au Workflow Mapping Num. Remote Backup Server Adresse IP du Workflow Mapping de back-up Alpha Remote Backup Port Port de connexion au Workflow Mapping de back-up Alpha Advanced Parameter Commande HTTP pour traitement spécifique Alpha Timeout Délai de connexion exprimé en secondes Num.
4.2. PARAMETRES REÇUS PAR LE WORKFLOW
Les paramètres de fichier spool suivants sont envoyés avec le fichier spool et sont à disposition dans le Workflow. • HTTP_HOST= adresse IP de l'hôte • HTTP_ISERIES_CONTENT= type de données envoyées (spool_data) • HTTP_ISERIES_JOB_NAME= nom du job • HTTP_ISERIES_USR_NAME= nom de l'utilisateur • HTTP_ISERIES_JOB_NUMBER= numéro du job • HTTP_ISERIES_SPLF_NAME= nom du fichier spool • HTTP_ISERIES_FORM_TYPE= type de formulaire • HTTP_ISERIES_USR_DATA= données utilisateur • HTTP_ISERIES_OUTQ_NAME= outq du fichier d'entrée • HTTP_ISERIES_OUTQ_LIB= bibliothèque de l'outq • HTTP_ISERIES_PGM_NAME= programme qui a ouvert le fichier • HTTP_ISERIES_PGM_LIB= bibliothèque du programme • HTTP_ISERIES_COUNT_CODE= code compta • HTTP_ISERIES_USER_TEXT= données spécifiques utilisateur • HTTP_ISERIES_PRINTER_DEVICE_TYPE= type de device imprimante • HTTP_ISERIES_SPLF_NUMBER= numéro du fichier spool • HTTP_ISERIES_PAGE_LENGTH= longueur de la page • HTTP_ISERIES_PAGE_WIDTH= largeur de la page • HTTP_ISERIES_CCSID= CCSID • HTTP_ISERIES_TOTAL_COPIES= nombre total de copies • HTTP_ISERIES_LINES_PER_INCH= lignes par inch • HTTP_ISERIES_CHAR_PER_INCH= caractères par inch • HTTP_ISERIES_OUTPUT_PRIORITY= priorité d'output • HTTP_ISERIES_DEV_FILE_NAME= nom du fichier device • HTTP_ISERIES_DEV_FILE_LIB= bibliothèque du fichier device • HTTP_ISERIES_TIME_FILE_OPEN= temps pendant lequel le fichier a été ouvert • HTTP_ISERIES_DATE_FILE_OPEN= date à laquelle le fichier a été ouvert • HTTP_ISERIES_PRINT_TEXT= impression texte • HTTP_ISERIES_SOURCE_DRAWER= bac source • HTTP_ISERIES_OUTPUT_BIN= bac de sortie • HTTP_ISERIES_JOB_SYSTEM_NAME= nom système du job
4.3. REPONSES REÇUES PAR LA COMMANDE
Le type de réponse dépend des paramètres configurés dans le workflow. La réponse peut être :
- Un fichier spool (*USERASCII ou *AFPDS) - Un message dans la JOBLOG actuelle (*INFO ou *MESSAGE) - Des données dans la DTAARA MAPRMTPROC dans QTEMP
5. EXEMPLES
5.1. ENVOI D’UN SPOOL VERS M-PROCESSING SERVER
Le but est d’envoyer le spool file ayant les informations suivantes vers le workflow MAPRMTPROC.rules.xml de M-Processing serveur :
Spooled file . . . . . . . . . . > OLP Spooled file number . . . . . . > 237 Job Name . . . . . . . . . . . . > QPRTJOB Job number . . . . . . . . . . . > 109341 User . . . . . . . . . . . . . . > QTMPLPD
Différents points à réaliser :
1. Sur M-Processing Serveur, créer un workflow : Ici appelé MAPRMTPROC 2. Remarque : Pas besoin de créer un point d’entrée 3. Sur AS400, exécuter la commande MAPRMTPROC :
a) Spécifier les attributs du spool file à envoyer
b) Login et mot de passe pour le webservice (Apache)
c) Remote Server : L’adresse de ton Mapping windows
d) Move to Queue : Pas obligatoire, cela dépend si on veut sauvegarder le spool dans une outqueue ou pas
e) Workflow name : Nom du workflow a exécuter sur Mapping Windows (si vide alors root sera utilisé)
f) Time out de connexion éventuel
L’envoi se fait via webservice, du coup il ne faut pas s’attendre à avoir un spool dans le spooler. Le fichier arrive simplement dans le workflow. Pour le récupérer il faut, par exemple, utiliser une boite de copie, pour avoir les variables récupérées, on peut faire un set qui est rediriger vers un fichier.
Voici les variables récupérées :
CONTENT_TYPE=text/plain CONTENT_LENGTH=16324 HTTP_HOST=192.168.217.16 HTTP_ACCEPT_ENCODING=gzip HTTP_ISERIES_CONTENT=spool_data HTTP_ISERIES_JOB_NAME=QPRTJOB HTTP_ISERIES_USR_NAME=QTMPLPD HTTP_ISERIES_JOB_NUMBER=109341 HTTP_ISERIES_SPLF_NAME=OLP HTTP_ISERIES_FORM_TYPE=SJJI HTTP_ISERIES_USR_DATA=OWABSOC022 HTTP_ISERIES_OUTQ_NAME=FMERCIER HTTP_ISERIES_OUTQ_LIB=QGPL HTTP_ISERIES_PGM_NAME=OWABSOC022 HTTP_ISERIES_PGM_LIB=DIPOBJ HTTP_ISERIES_COUNT_CODE= HTTP_ISERIES_USER_TEXT= HTTP_ISERIES_PRINTER_DEVICE_TYPE=*SCS HTTP_ISERIES_SPLF_NUMBER=237 HTTP_ISERIES_PAGE_LENGTH=48 HTTP_ISERIES_PAGE_WIDTH=136 HTTP_ISERIES_CCSID=1027 HTTP_ISERIES_TOTAL_COPIES=1 HTTP_ISERIES_LINES_PER_INCH=6,00 HTTP_ISERIES_CHAR_PER_INCH=10,00 HTTP_ISERIES_OUTPUT_PRIORITY= HTTP_ISERIES_DEV_FILE_NAME=QPRINT HTTP_ISERIES_DEV_FILE_LIB=QGPL HTTP_ISERIES_TIME_FILE_OPEN=111007 HTTP_ISERIES_DATE_FILE_OPEN=1140425 HTTP_ISERIES_PRINT_TEXT= HTTP_ISERIES_SOURCE_DRAWER=1 HTTP_ISERIES_OUTPUT_BIN=0 HTTP_ISERIES_JOB_SYSTEM_NAME=S65C7FEE
Toutes ces variables peuvent être utilisées dans le workflow. (Pour des conditions, nommage, ou autres)
5.2. RENVOI DU FICHIER GENERE PAR LE WORKFLOW VERS UNE OUTQ ISERIES
Le but est de renvoyer à l’I-Series un fichier provenant du workflow.
Le workflow ci-dessous reçoit un spool de l’AS400, le converti en Unicode et renvoi le fichier unicode vers l’AS400 via la boite « ISeries Response »
Détail de la boite « ISeries Response » :
Résultat sur l’I-Series (dans l’Outq FMERCIER) :
Remarque : On pourrait de la même façon renvoyer un fichier XPS vers l’I-Series afin de l’imprimer à travers l’OutQ de l’AS400 et non du spooler M-Processing Server. 6. CAS DE PROBLEMES DE CONNEXIONS
En cas de problème de connexion entre l’I-Series et M-PS, le job MAPRMTPROC va continuer à envoyer le spool jusqu’à ce que le timeout de connexion soit atteint. (si un time out est indiqué) Si pendant ce temps plusieurs MAPRMTPROC sont réalisés, ils seront tous en processing sur le serveur jusqu’à ce que la connexion soit établie ou alors jusqu’à ce que le time out soit atteint.