OPALE - 10.0 - Utilisation - MAPRMTPROC

Différence entre versions

De MappingDoc
imported>Admin
(Cette version a été marquée pour être traduite)
 
(61 révisions intermédiaires par 5 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
== Généralité ==
+
<languages />
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.
+
<translate>
 +
==Généralités== <!--T:1-->
 +
Le Workflow Mapping est le nouveau moteur de règles disponible à partir de Onyx Server et Mapping UNIX 7.0.36. En termes de fonctionnalités et de performances, le Workflow Mapping est bien plus puissant que le Robot Mapping sur IBM i.
 +
Le programme est compatible Apache 2.2 et '''Apache 2.4 depuis OPALE 10.3.0'''
  
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.
+
<!--T:89-->
 +
Un connecteur IBM i Workflow a donc été développé de manière à pouvoir bénéficier des fonctionnalités du Workflow Mapping sur les documents IBM i. Pour cela, nous utilisons le MapSOAPServer connecté au Workflow sur la partie hôte (UNIX ou Onyx) ainsi que la commande MAPRMTPROC sur la partie client (IBM i). 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.
+
<!--T:3-->
 +
Lorsque les fichiers spool IBM i 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'IBM i avec des messages log.
  
[[Fichier:MAPRMTPROC GENERALITE.png|centré|vignette|700x700px]]
+
<!--T:4-->
 +
[[Fichier:MAPRMTPROC GENERALITE.png|centré|837x837px|alt=|sans_cadre]]
  
== Pré-requis ==
+
==Pré-requis== <!--T:5-->
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  
+
Veuillez vérifier que la communication réseau entre l'IBM i 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
+
<!--T:6-->
 +
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.
  
détaillée du MapSOAPServer dans la documentation sur les Services Web Mapping.
+
==Boites de Workflow utiles== <!--T:7-->
  
[null 3.  Différentes boites de workflow pouvant être utiles]
+
===Convert from iSeries=== <!--T:8-->
 +
La commande “Convert from iSeries” (dans le groupe Mapping) permet de convertir un fichier spool EBCDIC en Unicode.  
 +
Cette boite est souvent utilisé dans le cas d'envois de spools depuis l'IBM-i vers Onyx afin de convertir le flux EBCDIC en flux ASCII Unicode.
  
[null 3.1.       Convert from iSeries]
+
<!--T:9-->
 +
(Voir documentation « WorkFlow_ConvertFromISeries.pdf » pour plus d’informations)
  
La commande “Convert from iSeries” (dans le groupe Mapping) permet de convertir un fichier spool
+
===iSeries Response=== <!--T:10-->
 +
La commande « iSeries Response » (dans le groupe Web Interactivity) permet d'envoyer une réponse à la commande iSeries. La réponse est un fichier *USERASCII ou un message (entrée JOBLOG ou mise à jour d'une DTAARA QTEMP/MAPRMTPROC).
 +
Une vidéo détaillé explicative est disponible à la demande.
  
EBCDIC en Unicode.  
+
<!--T:90-->
 +
Depuis la version 10.5.1 d'Onyx, il est possible de paramétrer le USRDFNDTA du spool créé par la boite iSeries Response.
 +
(soit avec une valeur en dur, soit en reprenant la valeur du fichier d'origine envoyé via le MAPRMTPROC en utilisant le paramètre HTTP_ISERIES_USER_DFN_DATA.
  
(Voir documentation « WorkFlow_ConvertFromISeries.pdf » pour plus d’informations)
 
  
[null 3.1.                  ISeries Response]
+
<!--T:92-->
 +
<u>Réponses reçues par la commande</u>
  
La commande « iSeries Response » (dans le groupe Web Interactivity) permet d'envoyer une réponse à
+
<!--T:93-->
 
+
Le type de réponse dépend des paramètres configurés dans le workflow. La réponse peut être :
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)
+
<!--T:94-->
 +
*Un fichier spool (*USERASCII ou *AFPDS)
 +
*Un message dans la JOBLOG actuelle (*INFO ou *MESSAGE)
 +
*Des données dans la DTAARA MAPRMTPROC dans QTEMP
  
[null 4.  MAPRMTPROC]
+
<!--T:95-->
 +
Pour plus d'informations, se référer à la vidéo de formation.
  
Cette commande AS400 permet d’envoyer un spool file de l’AS400 vers le moteur de règles (Workflow) de M-Processing Server.
+
==MAPRMTPROC== <!--T:12-->
 +
Cette commande IBM i permet d’envoyer un spool file de l’IBM i vers le moteur de règles (Workflow) de M-Processing Server.
  
[null 4.1.       Paramètres de la commande sur AS400:]
+
===Paramètres de la commande sur IBM i=== <!--T:13-->
 
{| class="wikitable"
 
{| class="wikitable"
|Spooled File  
+
|Spooled File
|Nom du fichier spool (SPLF)  
+
|Nom du fichier spool (SPLF)
 
|Alpha
 
|Alpha
 
|-
 
|-
|Spooled File Number  
+
|Spooled File Number
|Numéro du fichier spool (SPLNUM)  
+
|Numéro du fichier spool (SPLNUM)
 
|Alpha
 
|Alpha
 
|-
 
|-
|Job Name  
+
|Job Name
|Nom du job (JOB)  
+
|Nom du job (JOB)
 
|Alpha
 
|Alpha
 
|-
 
|-
|Numéro du job  
+
|Numéro du job
|Numéro du job  
+
|Numéro du job
 
|Num.
 
|Num.
 
|-
 
|-
|User  
+
|User
|Nom de l'utilisateur  
+
|Nom de l'utilisateur
 
|Alpha
 
|Alpha
 
|-
 
|-
|Login  
+
|Login
|Utilisateur du Workflow Mapping  
+
|Utilisateur du Workflow Mapping
 
|Alpha
 
|Alpha
 
|-
 
|-
|Password  
+
|Password
|Mot de passe du Workflow Mapping  
+
|Mot de passe du Workflow Mapping
 
|Alpha
 
|Alpha
 
|-
 
|-
|Remote Server  
+
|Remote Server
|Adresse  IP du Workflow Mapping  
+
|Adresse  IP du Workflow Mapping
 
|Alpha
 
|Alpha
 
|-
 
|-
|Move to Queue  
+
|Move to Queue
 
|OUTQ de destination du fichier d'entrée. Laisser vide si
 
|OUTQ de destination du fichier d'entrée. Laisser vide si
  
 +
<!--T:14-->
 
N/A
 
N/A
 
|Alpha
 
|Alpha
 
|-
 
|-
|Library  
+
|Library
|Bibliothèque de l'OUTQ de destination.  
+
|Bibliothèque de l'OUTQ de destination.
 
|Alpha
 
|Alpha
 
|-
 
|-
|Delete File  
+
|Delete File
|Suppression du fichier d'entrée. Y(O) ou N.  
+
|Suppression du fichier d'entrée. Y(O) ou N.
 
|Alpha
 
|Alpha
 
|-
 
|-
|Workflow Name  
+
|Workflow Name
 
|Nom de la règle du workflow à exécuter (laisser vide si
 
|Nom de la règle du workflow à exécuter (laisser vide si
  
 +
<!--T:15-->
 
workflow root)
 
workflow root)
 
|Alpha
 
|Alpha
 
|-
 
|-
|Protocol  
+
|Protocol
|Type de protocole de la connexion : http ou https  
+
|Type de protocole de la connexion : http ou https
 
|Alpha
 
|Alpha
 
|-
 
|-
|Remote Port  
+
|Remote Port
|Port de connexion au Workflow Mapping  
+
|Port de connexion au Workflow Mapping
 
|Num.
 
|Num.
 
|-
 
|-
|Remote Backup Server  
+
|Remote Backup Server
|Adresse  IP du Workflow Mapping de back-up  
+
|Adresse  IP du Workflow Mapping de back-up
 
|Alpha
 
|Alpha
 
|-
 
|-
|Remote Backup Port  
+
|Remote Backup Port
|Port de connexion au Workflow Mapping de back-up  
+
|Port de connexion au Workflow Mapping de back-up
 
|Alpha
 
|Alpha
 
|-
 
|-
|Advanced Parameter  
+
|Advanced Parameter
|Commande HTTP pour traitement spécifique  
+
|Commande HTTP pour traitement spécifique
 
|Alpha
 
|Alpha
 
|-
 
|-
|Timeout  
+
|Timeout
|Délai de connexion exprimé en secondes  
+
|Délai de connexion exprimé en secondes
 
|Num.
 
|Num.
 
|}
 
|}
[null 4.2.      Paramètres 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.
+
===Paramètres reçus par le workflow=== <!--T:16-->
 +
Les paramètres de fichier spool suivants sont envoyés avec le fichier spool et sont à disposition dans le Workflow.
  
 +
<!--T:17-->
 
• HTTP_HOST= adresse IP de l'hôte
 
• HTTP_HOST= adresse IP de l'hôte
  
 +
<!--T:18-->
 
• HTTP_ISERIES_CONTENT= type de données envoyées (spool_data)
 
• HTTP_ISERIES_CONTENT= type de données envoyées (spool_data)
  
 +
<!--T:19-->
 
• HTTP_ISERIES_JOB_NAME= nom du job
 
• HTTP_ISERIES_JOB_NAME= nom du job
  
 +
<!--T:20-->
 
• HTTP_ISERIES_USR_NAME= nom de l'utilisateur
 
• HTTP_ISERIES_USR_NAME= nom de l'utilisateur
  
 +
<!--T:21-->
 
• HTTP_ISERIES_JOB_NUMBER= numéro du job
 
• HTTP_ISERIES_JOB_NUMBER= numéro du job
  
 +
<!--T:22-->
 
• HTTP_ISERIES_SPLF_NAME= nom du fichier spool
 
• HTTP_ISERIES_SPLF_NAME= nom du fichier spool
  
 +
<!--T:23-->
 
• HTTP_ISERIES_FORM_TYPE= type de formulaire
 
• HTTP_ISERIES_FORM_TYPE= type de formulaire
  
 +
<!--T:24-->
 
• HTTP_ISERIES_USR_DATA= données utilisateur
 
• HTTP_ISERIES_USR_DATA= données utilisateur
  
 +
<!--T:25-->
 
• HTTP_ISERIES_OUTQ_NAME= outq du fichier d'entrée
 
• HTTP_ISERIES_OUTQ_NAME= outq du fichier d'entrée
  
 +
<!--T:26-->
 
• HTTP_ISERIES_OUTQ_LIB= bibliothèque de l'outq
 
• HTTP_ISERIES_OUTQ_LIB= bibliothèque de l'outq
  
 +
<!--T:27-->
 
• HTTP_ISERIES_PGM_NAME= programme qui a ouvert le fichier
 
• HTTP_ISERIES_PGM_NAME= programme qui a ouvert le fichier
  
 +
<!--T:28-->
 
• HTTP_ISERIES_PGM_LIB= bibliothèque du programme
 
• HTTP_ISERIES_PGM_LIB= bibliothèque du programme
  
 +
<!--T:29-->
 
• HTTP_ISERIES_COUNT_CODE= code compta
 
• HTTP_ISERIES_COUNT_CODE= code compta
  
 +
<!--T:30-->
 
• HTTP_ISERIES_USER_TEXT= données spécifiques utilisateur
 
• HTTP_ISERIES_USER_TEXT= données spécifiques utilisateur
  
• HTTP_ISERIES_PRINTER_DEVICE_TYPE= type de device imprimante
+
<!--T:31-->
 +
• HTTP_ISERIES_PRINTER_DEVICE_TYPE= type de système d'impression
  
 +
<!--T:32-->
 
• HTTP_ISERIES_SPLF_NUMBER= numéro du fichier spool
 
• HTTP_ISERIES_SPLF_NUMBER= numéro du fichier spool
  
 +
<!--T:33-->
 
• HTTP_ISERIES_PAGE_LENGTH= longueur de la page
 
• HTTP_ISERIES_PAGE_LENGTH= longueur de la page
  
 +
<!--T:34-->
 
• HTTP_ISERIES_PAGE_WIDTH= largeur de la page
 
• HTTP_ISERIES_PAGE_WIDTH= largeur de la page
  
 +
<!--T:35-->
 
• HTTP_ISERIES_CCSID= CCSID
 
• HTTP_ISERIES_CCSID= CCSID
  
 +
<!--T:36-->
 
• HTTP_ISERIES_TOTAL_COPIES= nombre total de copies
 
• HTTP_ISERIES_TOTAL_COPIES= nombre total de copies
  
 +
<!--T:37-->
 
• HTTP_ISERIES_LINES_PER_INCH= lignes par inch
 
• HTTP_ISERIES_LINES_PER_INCH= lignes par inch
  
 +
<!--T:38-->
 
• HTTP_ISERIES_CHAR_PER_INCH= caractères par inch
 
• HTTP_ISERIES_CHAR_PER_INCH= caractères par inch
  
 +
<!--T:39-->
 
• HTTP_ISERIES_OUTPUT_PRIORITY= priorité d'output
 
• HTTP_ISERIES_OUTPUT_PRIORITY= priorité d'output
  
 +
<!--T:40-->
 
• HTTP_ISERIES_DEV_FILE_NAME= nom du fichier device
 
• HTTP_ISERIES_DEV_FILE_NAME= nom du fichier device
  
 +
<!--T:41-->
 
• HTTP_ISERIES_DEV_FILE_LIB= bibliothèque du fichier device
 
• HTTP_ISERIES_DEV_FILE_LIB= bibliothèque du fichier device
  
 +
<!--T:42-->
 
• HTTP_ISERIES_TIME_FILE_OPEN= temps pendant lequel le fichier a été ouvert
 
• HTTP_ISERIES_TIME_FILE_OPEN= temps pendant lequel le fichier a été ouvert
  
 +
<!--T:43-->
 
• HTTP_ISERIES_DATE_FILE_OPEN= date à laquelle le fichier a été ouvert
 
• HTTP_ISERIES_DATE_FILE_OPEN= date à laquelle le fichier a été ouvert
  
 +
<!--T:44-->
 
• HTTP_ISERIES_PRINT_TEXT= impression texte
 
• HTTP_ISERIES_PRINT_TEXT= impression texte
  
 +
<!--T:45-->
 
• HTTP_ISERIES_SOURCE_DRAWER= bac source
 
• HTTP_ISERIES_SOURCE_DRAWER= bac source
  
 +
<!--T:46-->
 
• HTTP_ISERIES_OUTPUT_BIN= bac de sortie
 
• HTTP_ISERIES_OUTPUT_BIN= bac de sortie
  
• HTTP_ISERIES_JOB_SYSTEM_NAME= nom système du job  
+
<!--T:47-->
 +
• HTTP_ISERIES_JOB_SYSTEM_NAME= nom système du job
  
[null 4.3.      Réponses reçues par la commande]
+
<!--T:91-->
 +
• HTTP_ISERIES_USER_DFN_DATA= Donnée définie par l'utilisateur  '''(depuis Version 10.5.1)'''
  
Le type de réponse dépend des paramètres configurés dans le workflow. La réponse peut être :
+
===Passage de paramètres personnalisées=== <!--T:84-->
 +
En plus des paramètres HTTP_XXX envoyés, il est possible d'en envoyer d'autres. Pour ce faire, on utilisera le paramètre "Paramètre avancé" en indiquant le nom du paramètre et sa valeur sous la forme :&key=MYPARAM&value=MYVALUEPARAM  (avec key et value en minuscule)
 +
 
 +
====Exemple==== <!--T:85-->
 +
Nous prenons pour exemple le passage de la valeur de l'attribut PARAM1.
 +
Voici la commande a mettre dans l'action exécutée par le robot MAPPING :
  
- Un fichier spool (*USERASCII ou *AFPDS)
+
<!--T:86-->
 +
MAPRMTPROC SPLF(&SPLF) SPLNUM(&SPLNUM) JOB(&JOB) JOBNUM(&JOBNUM) USER(&USER) LOGIN(mapadmin) PASSWD(mapadmin) SERVER('192.168.217.32')
 +
WORKFLOW(MAPRMTPROC) '''ADVANCEPAR('&key=PARAM1&value=VALUEPARAM1')'''
  
- Un message dans la JOBLOG actuelle (*INFO ou *MESSAGE)
+
<!--T:87-->
 +
Onyx recevra alors, en plus de tous les paramètres HTTP_XXX, le paramètre PARAM1 ayant pour valeur la valeur VALUEPARAM1.
  
- Des données dans la DTAARA MAPRMTPROC dans QTEMP
+
<!--T:88-->
 +
Remarques :
 +
Noter bien les paramètres &key et &value devant obligatoirement être en minuscule et noter bien le &TRIM ayant pour effet de supprimer les blancs non significatifs après la valeur. Si tag &TRIM n'est pas mis, alors la valeur aura une longueur défini par la valeur passée (exemple : &USRDFNDTA serait de 35 caractères)
  
[null 5.  Exemples]
+
==Exemples== <!--T:50-->
  
[null 5.1.       Envoi d’un spool vers M-Processing Server]
+
===Envoi d’un spool vers ONYX Server=== <!--T:51-->
  
Le but est d’envoyer le spool file ayant les informations suivantes vers le workflow MAPRMTPROC.rules.xml de M-Processing serveur :
+
<!--T:52-->
 +
Le but est d’envoyer le spool file ayant les informations suivantes vers le workflow MAPRMTPROC.rules.xml de ONYX Server :
  
 +
<!--T:53-->
 
Spooled file . . . . . . . . . . >          OLP
 
Spooled file . . . . . . . . . . >          OLP
  
 +
<!--T:54-->
 
Spooled file number  . . . . . . >    237
 
Spooled file number  . . . . . . >    237
  
 +
<!--T:55-->
 
Job Name . . . . . . . . . . . . >          QPRTJOB
 
Job Name . . . . . . . . . . . . >          QPRTJOB
  
 +
<!--T:56-->
 
Job number . . . . . . . . . . . >          109341
 
Job number . . . . . . . . . . . >          109341
  
 +
<!--T:57-->
 
User . . . . . . . . . . . . . . >               QTMPLPD
 
User . . . . . . . . . . . . . . >               QTMPLPD
  
 +
<!--T:58-->
 
Différents points à réaliser :  
 
Différents points à réaliser :  
# Sur M-Processing    Serveur, créer un workflow : Ici appelé MAPRMTPROC
 
# '''Remarque :    Pas besoin de créer un point d’entrée'''
 
# 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)
+
<!--T:59-->
 +
#Sur ONYX, créer un workflow : Ici appelé MAPRMTPROC
 +
#'''Remarque : Inutile de créer un point d’entrée'''
 +
#Sur IBM i, exécuter la commande MAPRMTPROC :   
  
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
+
<!--T:60-->
 +
a)     Spécifier les attributs du spool file à envoyer
  
e)    Workflow name : Nom du workflow a exécuter sur Mapping Windows (si vide alors root sera utilisé)
+
<!--T:61-->
 +
[[Fichier:1A.png|centré|771x771px|alt=|sans_cadre]]<br />[[Fichier:2A.png|centré|795x795px|alt=|sans_cadre]]
  
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. 
+
<!--T:62-->
 +
b)   Login et mot de passe pour le webservice (Apache)
  
 Voici les variables récupérées :
+
<!--T:63-->
 +
c)    Remote Server : L’adresse du serveur Onyx
  
CONTENT_TYPE=text/plain
+
<!--T:64-->
 
+
d)   Move to Queue : Pas obligatoire, cela dépend si on veut sauvegarder le spool dans une outqueue ou pas
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=
+
<!--T:65-->
 +
e)    Workflow name : Nom du workflow a exécuter sur Onyx (si vide alors root sera utilisé)
  
HTTP_ISERIES_DEV_FILE_NAME=QPRINT
+
<!--T:66-->
 +
f)     Timeout de connexion éventuel 
  
HTTP_ISERIES_DEV_FILE_LIB=QGPL
+
<!--T:67-->
 +
L’envoi se fait via web service. Par conséquent, 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 obtenir les variables récupérées, on peut faire un set qui est redirigé vers un fichier. 
  
HTTP_ISERIES_TIME_FILE_OPEN=111007
+
===Renvoi du fichier généré par le workflow vers une outq IBM i=== <!--T:71-->
  
HTTP_ISERIES_DATE_FILE_OPEN=1140425
+
<!--T:72-->
 +
Le but est de renvoyer à l’IBM i un fichier provenant du workflow.
  
HTTP_ISERIES_PRINT_TEXT=
+
<!--T:73-->
 +
Le workflow ci-dessous reçoit un spool de l’IBM i, le convertit en Unicode et renvoie le fichier unicode vers l’IBM i via la boite « iSeries Response »
  
HTTP_ISERIES_SOURCE_DRAWER=1
+
<!--T:74-->
 +
[[Fichier:3A.png|centré|alt=|sans_cadre|360x360px]]
  
HTTP_ISERIES_OUTPUT_BIN=0
+
<!--T:75-->
 +
Détail de la boite « iSeries Response » :
  
HTTP_ISERIES_JOB_SYSTEM_NAME=S65C7FEE 
+
<!--T:76-->
 +
[[Fichier:4A.png|centré|1076x1076px|alt=|sans_cadre]]
  
Toutes ces variables peuvent être utilisées dans le workflow. (Pour des conditions, nommage, ou autres) 
 
  
[null 5.2.      Renvoi du fichier généré par le workflow vers une outq ISeries]
+
<!--T:77-->
 +
Résultat sur l’IBM i (dans l’Outq JDIEU_OUTQ) :
  
Le but est de renvoyer à l’I-Series un fichier provenant du workflow.
+
<!--T:78-->
 +
[[Fichier:5A.png|centré|1054x1054px|alt=|sans_cadre]]
  
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) :
+
<!--T:79-->
 +
Remarques :
  
'''Remarque :'''
+
<!--T:80-->
 +
*On pourrait de la même façon renvoyer un fichier XPS vers l’IBM i afin de l’imprimer à travers l’OutQ de l’IBM i et non du spooler ONYX Server.
  
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.
+
<!--T:96-->
 +
*Le USRDFNDTA est encodé de deux manière différentes possibles :
 +
**Dans le cas de récupération du USRDFNDTA du spool envoyé, on garde le même encodage que le spool d'origine
 +
**Si la valeur est mise en dur, alors l'encodage est 037 (non modifiable)
  
6.  Cas de problèmes de connexions
+
==En cas de problème de connexion== <!--T:81-->
  
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é)
+
<!--T:82-->
 +
En cas de problème de connexion entre OPALE et ONYX , le job MAPRMTPROC va continuer à envoyer le spool jusqu’à ce que le timeout de connexion soit atteint (si un timeout 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.
+
<!--T:83-->
 +
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 timeout soit atteint.
 +
<!-- Envoi spool AS400 // Migration AS400 Windows -->
 +
</translate>

Version actuelle datée du 10 janvier 2022 à 09:04

Autres langues :
English • ‎français

Généralités

Le Workflow Mapping est le nouveau moteur de règles disponible à partir de Onyx Server et Mapping UNIX 7.0.36. En termes de fonctionnalités et de performances, le Workflow Mapping est bien plus puissant que le Robot Mapping sur IBM i. Le programme est compatible Apache 2.2 et Apache 2.4 depuis OPALE 10.3.0

Un connecteur IBM i Workflow a donc été développé de manière à pouvoir bénéficier des fonctionnalités du Workflow Mapping sur les documents IBM i. Pour cela, nous utilisons le MapSOAPServer connecté au Workflow sur la partie hôte (UNIX ou Onyx) ainsi que la commande MAPRMTPROC sur la partie client (IBM i). Par conséquent, Mapping doit être installé des deux côtés.

Lorsque les fichiers spool IBM i 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'IBM i avec des messages log.

Pré-requis

Veuillez vérifier que la communication réseau entre l'IBM i 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.

Boites de Workflow utiles

Convert from iSeries

La commande “Convert from iSeries” (dans le groupe Mapping) permet de convertir un fichier spool EBCDIC en Unicode. Cette boite est souvent utilisé dans le cas d'envois de spools depuis l'IBM-i vers Onyx afin de convertir le flux EBCDIC en flux ASCII Unicode.

(Voir documentation « WorkFlow_ConvertFromISeries.pdf » pour plus d’informations)

iSeries Response

La commande « iSeries Response » (dans le groupe Web Interactivity) permet d'envoyer une réponse à la commande iSeries. La réponse est un fichier *USERASCII ou un message (entrée JOBLOG ou mise à jour d'une DTAARA QTEMP/MAPRMTPROC). Une vidéo détaillé explicative est disponible à la demande.

Depuis la version 10.5.1 d'Onyx, il est possible de paramétrer le USRDFNDTA du spool créé par la boite iSeries Response. (soit avec une valeur en dur, soit en reprenant la valeur du fichier d'origine envoyé via le MAPRMTPROC en utilisant le paramètre HTTP_ISERIES_USER_DFN_DATA.


Réponses 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

Pour plus d'informations, se référer à la vidéo de formation.

MAPRMTPROC

Cette commande IBM i permet d’envoyer un spool file de l’IBM i vers le moteur de règles (Workflow) de M-Processing Server.

Paramètres de la commande sur IBM i

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.

Paramètres 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 système d'impression

• 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

• HTTP_ISERIES_USER_DFN_DATA= Donnée définie par l'utilisateur (depuis Version 10.5.1)

Passage de paramètres personnalisées

En plus des paramètres HTTP_XXX envoyés, il est possible d'en envoyer d'autres. Pour ce faire, on utilisera le paramètre "Paramètre avancé" en indiquant le nom du paramètre et sa valeur sous la forme :&key=MYPARAM&value=MYVALUEPARAM (avec key et value en minuscule)

Exemple

Nous prenons pour exemple le passage de la valeur de l'attribut PARAM1. Voici la commande a mettre dans l'action exécutée par le robot MAPPING :

MAPRMTPROC SPLF(&SPLF) SPLNUM(&SPLNUM) JOB(&JOB) JOBNUM(&JOBNUM) USER(&USER) LOGIN(mapadmin) PASSWD(mapadmin) SERVER('192.168.217.32') 
WORKFLOW(MAPRMTPROC) ADVANCEPAR('&key=PARAM1&value=VALUEPARAM1')

Onyx recevra alors, en plus de tous les paramètres HTTP_XXX, le paramètre PARAM1 ayant pour valeur la valeur VALUEPARAM1.

Remarques : Noter bien les paramètres &key et &value devant obligatoirement être en minuscule et noter bien le &TRIM ayant pour effet de supprimer les blancs non significatifs après la valeur. Si tag &TRIM n'est pas mis, alors la valeur aura une longueur défini par la valeur passée (exemple : &USRDFNDTA serait de 35 caractères)

Exemples

Envoi d’un spool vers ONYX Server

Le but est d’envoyer le spool file ayant les informations suivantes vers le workflow MAPRMTPROC.rules.xml de ONYX Server :

Spooled file . . . . . . . . . . >          OLP

Spooled file number  . . . . . . >    237

Job Name . . . . . . . . . . . . >          QPRTJOB

Job number . . . . . . . . . . . >         109341

User . . . . . . . . . . . . . . >               QTMPLPD

Différents points à réaliser :

  1. Sur ONYX, créer un workflow : Ici appelé MAPRMTPROC
  2. Remarque : Inutile de créer un point d’entrée
  3. Sur IBM i, 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 du serveur Onyx

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 Onyx (si vide alors root sera utilisé)

f)     Timeout de connexion éventuel 

L’envoi se fait via web service. Par conséquent, 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 obtenir les variables récupérées, on peut faire un set qui est redirigé vers un fichier. 

Renvoi du fichier généré par le workflow vers une outq IBM i

Le but est de renvoyer à l’IBM i un fichier provenant du workflow.

Le workflow ci-dessous reçoit un spool de l’IBM i, le convertit en Unicode et renvoie le fichier unicode vers l’IBM i via la boite « iSeries Response »

Détail de la boite « iSeries Response » :


Résultat sur l’IBM i (dans l’Outq JDIEU_OUTQ) :


Remarques :

  • On pourrait de la même façon renvoyer un fichier XPS vers l’IBM i afin de l’imprimer à travers l’OutQ de l’IBM i et non du spooler ONYX Server.
  • Le USRDFNDTA est encodé de deux manière différentes possibles :
    • Dans le cas de récupération du USRDFNDTA du spool envoyé, on garde le même encodage que le spool d'origine
    • Si la valeur est mise en dur, alors l'encodage est 037 (non modifiable)

En cas de problème de connexion

En cas de problème de connexion entre OPALE et ONYX , le job MAPRMTPROC va continuer à envoyer le spool jusqu’à ce que le timeout de connexion soit atteint (si un timeout 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 timeout soit atteint.