ONYX - 9.0 - Utilisation - Envoi de travaux d'impression IBM i vers ONYX par LPR

Différence entre versions

De MappingDoc
Ligne 11 : Ligne 11 :
 
Avec :  
 
Avec :  
  
* "Z:map_userdata:" : obligatoire pour indiquer à Onyx qu'il s'agit d'une métadonnée
+
*"Z:map_userdata:" : obligatoire pour indiquer à Onyx qu'il s'agit d'une métadonnée
* "KEY"  : le mot clé de votre choix
+
*"KEY"  : le mot clé de votre choix
* "VALUE" : la valeur de votre choix
+
*"VALUE" : la valeur de votre choix
  
  
Ligne 33 : Ligne 33 :
  
 
Ensuite, dans le workflow Onyx, pour récupérer la valeur "USER" par exemple, il faut mettre "USER=" dans le séparateur de début de sous chaine et ";" dans le séparateur de fin de sous chaine.
 
Ensuite, dans le workflow Onyx, pour récupérer la valeur "USER" par exemple, il faut mettre "USER=" dans le séparateur de début de sous chaine et ";" dans le séparateur de fin de sous chaine.
 +
[[Fichier:LPR DESTOPT 1.png|néant|vignette]]
 +
[[Fichier:LPR DESTOPT 2.png|néant|vignette]]
 +
<br />

Version du 10 novembre 2020 à 16:05

Le principe de cette fonctionnalité est d'utiliser la commande LPR native OS/400.

La plus grosse problématique avec l'utilisation d'une RMTOUTQ utilisant le protocole LPR pour l'envoi des spools AS/400 vers Onyx Linux/Windows est la perte des métadonnées car les attributs de spools ne sont pas transportés.

Or avec la commande LPR, il est possible de les faire transiter grâce à l'utilisation du paramètre destopt de la commande LPR.

En l'utilisant comme dans l'exemple ci-dessous à partir du robot Mapping, il est possible de transporter les métadonnées que vous souhaitez :

LPR RMTSYS(xxxxx) (…) destopt('Z:map_userdata:KEY=VALUE')

Avec :

  • "Z:map_userdata:" : obligatoire pour indiquer à Onyx qu'il s'agit d'une métadonnée
  • "KEY" : le mot clé de votre choix
  • "VALUE" : la valeur de votre choix


Sous Onyx (Windows ou Linux), les informations se retrouvent alors dans le job sous forme de Mapping User Data :

USERDATAS_KEY=VALUE

Exemple d'utilisation :

LPR RMTSYS(xxxxx) (…) destopt('Z:map_userdata:FROMAS400=&USER;&OUTORI;&SPLFNAME;&STARTPAGE;&ENDPAGE;&USRDTA;&FORMTYPE')

Avec cet exemple, il suffit ensuite de découper la chaine de caractères obtenue directement dans un workflow Mapping, à l'aide de la boite "String/Couper par champ", en précisant le délimiteur ainsi que le numéro de champ à extraire. Par contre, la position de l'élément est importante dans ce cas.

Une autre solution pourrait consister à passer également le nom des paramètres et utiliser la boite "String/Couper par séparateur".

Exemple d'utilisation :

LPR RMTSYS(xxxxx) (…) destopt('Z:map_userdata:FROMAS400=USER=&USER;OUTQ=&OUTORI;SPLFNAME=&SPLFNAME;STARTPAGE=&STARTPAGE;STOPPAGE=&ENDPAGE;USRDTA=&USRDTA;FORMTYPE=&FORMTYPE')

Ensuite, dans le workflow Onyx, pour récupérer la valeur "USER" par exemple, il faut mettre "USER=" dans le séparateur de début de sous chaine et ";" dans le séparateur de fin de sous chaine.

LPR DESTOPT 1.png
LPR DESTOPT 2.png