ONYX - 9.0 - Utilisation
Workflows General User Guide
Sommaire
Valorization of input fields
In all types of Workflow objects, fields or input zones are used, whether to define a condition, a command or parameters. The fields can be the operands of a condition, the execution parameters of a command or the names and values assigned to a parameter.
Two families of fields can appear in Workflows: free text boxes and drop-down lists. Text fields accept free entry while drop-down lists are limited to a selection of values (yes/no, file type, etc.).
Input fields have a default type that can be changed as needed using the right mouse button (context menu). Depending on the type of field chosen, entry aids are offered to correctly structure the field value.
Functions on fields
Functions are available on fields (text or list type) to retrieve values automatically. Field functions allow you to define the value of the fields of a command, a condition or a parameter using variables, the content of a file or the result of commands.
Some fields are predefined with a function such as the list of users, the list of M-Designer formats, etc. while others are not.
To call a function, right-click on a field and choose the desired function from the context menu:
Note:
To modify the value given to a field, only the first two types above (parameter and free text) can be edited directly in the input zone. For all others, you should go through the function immediately.
Fields specific to ONYX Server
Some fields have a particular typing and benefit from predefined input assistance. Their possible values are then limited to a list of elements defined in ONYX Server. As this typing is independent of the functions on the fields, it is therefore possible to have two possibilities for helping to fill in a field.
Environment Settings
Fields of type Parameter dynamically take the value of the application's environment parameters.
The parameter function allows you to use all the parameters available when executing the file:
- attributes of the file being processed: user ( MAP_USER ), file name ( MAP_FILE), ..
- parameters linked to the current processing: processing input connector ( MAP_PRINTER , MAP_SOAP , SCANFOLDER_NAME...), date of submission ( MAP_DATE), ...
- personalized parameters: userdata, passing workflow parameters, etc.
- system environment variables: temporary directory ( TEMP), system name ( COMPUTERNAME),
- session variables:
- current box input/output files: MAP_FILE_IN / MAP_FILE_OUT
- ID of the last spool inserted for the current session (execution): LAST_SPOOL_ID
- date, time, current date and time, evaluated by Mapping when the variable is called (the information retrieval syntax is controlled by the corresponding Mapping environment variables): MAP_CURRENT_DATE / MAP_CURRENT_TIME / MAP_CURRENT_TIMESTAMP
“DIRECT” value
Value type fields statically take the value entered in the field:
But the values entered can also be dynamic using the same environment variables as previously with the particular Mapping syntax:
[% PARAMETER %]. They are widely used for constructing full paths or file names where several parameters can be used at once:
For certain specific processes (sorting, splitting or merging of documents, etc.), it is finally possible to use document indexing criteria values (XPS) in a field value with the specific Mapping syntax: [[ CRITERIA ]]. So for example, from a single XPS document, to create a PDF per output client, in the To PDF Command box, we will use:
RuleFile
Fields of type Rulefile take the value of information read from a file (example: the input file MAP_FILE_IN or a other). Several methods of reading the source file are proposed and detailed below.
POINT OF ATTENTION: the different methods for retrieving a value from a file are optimized by loading only a small part of the data file. This is done via the maxsize parameter. Its default value (20000) limits loading to the first 20000 bytes of the file. Thus, if the desired value is further away, it will be impossible to reach it without modifying the value of this parameter. It is indeed a number of bytes and not characters. Also, for a UCS or UTF-16 file, it will be appropriate to multiply this value by 2 in relation to the number of characters that must actually be loaded.
Keyword: Search by keyword
Reading is done in text mode and the value retrieved from the source file is identified by searching for a keyword:
- Value: Value of the keyword to search for
- Skip: Number of characters to skip after the keyword
- Len: Number of characters to return
- maxsize: Maximum buffer size for reading the source file
- charset: Code page of the source file
- trim: Deletion of any spaces at the end of the returned string (0 or 1)
- file: Source file
Noticed : To use the keyword search, right-click on a field and choose the rulefile function in the context menu, after clicking on the magnifying glass.
Line: Search by position
To search by position, simply click on the drop-down list and choose line.
Reading is done in text mode and the value retrieved from the source file is located by its position (line/column) and its length:
- line: Line number
- pos: Starting column number in the line
- len: Number of characters to return
- maxsize: Maximum buffer size for reading the source file
- charset: Code page of the source file
- trim: Removal of any spaces at the end of the returned string
- file: Source file
XML: Direct reading in an XML file
To search by position, simply click on the drop-down list and choose xml:
Reading is done in XML mode and the value retrieved from the source file is identified by the XPath query provided.
- xpath: xpath query allowing you to select the desired value, with the syntax "SELECTML.... FROM ...."
- default: default value if no value is found
- maxsize: Maximum buffer size for reading the source file
- file: Source file
Examples of XML search with the following file:
- Search for the name of the page tag:
SELECTXML @name FROM /doc/page
- Search for the value of the field named id_lang:
SELECTXML . FROM /doc/page/field[@name=id_lang]
- Search for the value of the first SRLNBR field:
SELECTXML . FROM /doc/page/group[@name=Items]/line[@name=item]/field[@name=SRNLBR] SELECTXML . FROM /doc/page/group[@name=Items]/line/field[@name=SRNLBR] SELECTXML . FROM /doc/page/group[@name=Items]/line/field[@title=Serial Number]
- Search for the value of the second SRLNBR field:
SELECTXML . FROM /doc/page/group[@name=Items]/line[2]/field[@name=SRNLBR] SELECTXML . FROM /doc/page/group[@name=Items]/line[2]/field[@title=Serial Number]
Command
Command type fields take the value returned by the execution of a predefined ONYX Server command. All the predefined commands are detailed below.
Warning: not all predefined Mapping commands are likely to return a usable value in a field.
CMD
CMD type fields take the value returned by the execution of a user command (a script for example).
SQL
SQL type fields take the value returned by executing an SQL query (SELECT).
Resolution table
Resolve type fields take the value returned by searching in an ONYX Server Resolution table.
Their XML files can be found in /rules/workflow/resolve
RulefileMultiple
Fields of type Rulefile_multiple allow several parameters to be defined at once, valued by information read at different locations in the same file (for example, the input file MAP_FILE_INor another). Available only in XML reading for the moment, it is an optimization of the definition of several parameters of type "rulefile", reducing to a single opening and closing of file.
- (1) Selection of reading type (XML only for now)
- (2) Maximum buffer size for reading the source file
- (3) Name of the source file to read
- (4) Deleting a parameter
- (5) Added a new parameter
Then definition of n parameters, with for each:
- Param : Parameter name
- XPath : XPath request to read information in the source XML file
- Default : Default value (optional) if the information is not found in the file
Predefined commands
To display the list of predefined commands, simply right-click on a field, choose "Command" from the context menu, click on the lightning bolt icon and finally choose the desired group of commands (Spooler, String, File ... )
Spooler command group
Hold a Queue
- Action: suspend a spooler queue
- Parameter: name of the M-Processing Server queue to suspend
- Return: none.
Release a Queue
- Action: release a queue from the spooler
- Parameter: name of the M-Processing Server queue to release
- Return: none.
Hold a job
Note: action not applicable on the current job.
- Action: suspend a job in the ONYX Server Spooler
- Parameter: the number (ONYX Server identifier) of the job to suspend (numeric value)
- Return: none.
Delete a job
Note: action not applicable on the current job.
- Action: delete a job in the ONYX Server Spooler
- Parameter: the number (ONYX Server identifier) of the job to delete (numeric value)
- Return: none.
Release a job
Note: action not applicable on the current job.
- Action: release a job in the ONYX Server Spooler
- Parameter: the number (ONYX Server identifier) of the job to be released (numeric value)
- Return: none.
Suspend current work
- Action: suspend the currently running job
- Parameter: none
- Return: none.
Action: send a job to an ONYX Server Spooler queue
Standard Parameters:
- Destination queue name
- Full name of the file to send
- Title given to the job in the destination queue
- Send job in suspended state: Yes / No (default)
- Keep the job in the destination queue after processing: Yes / No (default)
- Transport attributes from the current job to the destination job: Yes (default) / No
- Add the current session parameters to the destination job: Yes (default) / No
Pages Settings:
- Start page (1 by default)
- End page (0 by default, meaning the end of the current job)
- Number of copies (1 by default)
Security Settings:
- Destination job owner (MAP_USER by default)
- Access rights of the destination job in the file system (777 by default, i.e. read/write for everyone)
- Accounting code (alphanumeric value)
Userdata Settings: ability to add up to 10 additional custom attributes
Advanced settings:
- Priority of output work
- Number of days of retention of output work
- Number of days before compression of output work
- Paper media type
- Loyalty
- Spool file name
Return: None. A new job is created in the destination queue and its ONYX Server ID is stored in the session variable LAST_SPOOL_ID
Send to queue and return
- Action: interrupt current processing, send the current job to another ONYX Server queue, wait for the correct one
processing the job in the destination queue and then resume current processing.
- Parameter: destination queue name
- Return: none.
Define a job attribute
- Action: Set or modify the value of an attribute of a job in a spooler queue.
Standard Parameters:
- Unique ONYX Server identifier of the job
- ONYX Server queue name
- Attribute name
- Value given to the attribute
- Return: none.
File command group
Rename a file
- Action: rename a file
Standard Settings:
- Full name of the original file
- Name of the destination file (the destination directory being the current directory)
Advanced Settings:
- Overwrite the destination file if it already exists: Yes / No (default)
- Return: none.
Copy/move a file
- Action: Copy a file, renaming it or not, deleting the original or not.
Paramètres Standard :
- Nom complet du chemin d’origine
- Nom complet du fichier de destination
Paramètres Avancés :
- Ecraser le fichier de destination s’il existe déjà : Oui / Non (par défaut)
- Supprimer le fichier d’origine : Oui / Non (par défaut)
- Retour : aucun.
Copier dans un dossier
- Action : copier un fichier dans un dossier de destination, en supprimant l’original ou non.
Paramètres Standard :
- Nom complet du chemin d’origine
- Chemin du dossier de destination (le nom du fichier étant conservé de l’original)
Paramètres Avancés :
- Ecraser le fichier de destination s’il existe déjà : Oui / Non (par défaut)
- Supprimer le fichier d’origine : Oui / Non (par défaut)
- Retour : aucun.
Copie sécurisée
Action : copier un fichier sur un server SFTP.
Paramètres Standard :
- Nom du fichier d’entrée.
- IP du serveur.
- Port.
- Identifiant.
- Mot de passe (à laisser vide en cas d’utilisation d’une clé privée).
- Chemin sur le serveur.
- Nom du fichier sur le serveur.
- Permissions du fichier après copie.
- Nombre de tentative de copie avant échec.
- Ecraser le fichier de destination s’il existe déjà : Oui / Non (par défaut)
Paramètres Avancés :
- Utiliser une clé privée : Oui / Non (par défaut).
- Chemin vers le fichier contenant la clé privée.
- Mot de passe de la clé privée.
Variables : Cette commande stocke également un certain nombre de variables.
- Timestamp begin : date du début de la copie.
- Timestamp end : date de la fin de la copie.
- Filename : nom du fichier copié.
- File Size (local) : taille du fichier local.
- File Size (remote) : taille du fichier après copie.
- Return Code : code retour du serveur SFTP.
Ajout de texte dans un fichier
Action : Ajouter du texte dans un fichier.
Paramètres Standard :
- Nom du fichier d’entrée.
- Page de code du fichier en sortie.
- Contenu du fichier.
Supprimer un fichier
- Action : supprimer un fichier
- Paramètre : le nom complet du fichier à supprimer
- Retour : aucun.
Remplacer une chaine dans un fichier
Action : Remplacer une chaine de caractères par une autre dans un fichier de données. Le fichier en entrée peut être Unicode ou non. Les chaines à remplacer et de remplacement peuvent être ASCII, hexadécimales, ou un mixe des deux.
Paramètres Standard :
- Nom du fichier d’entrée.
- Nom du fichier de sortie.
- Chaine de caractères à remplacer.
- Chaine de caractères de remplacement.
Retour : aucun. Un nouveau fichier est créé en sortie.
Exemple 1: Remplacement d'une chaine ASCII
Exemple 2 : Remplacement d'ue chaine HEXA(pour ajouter un saut de page avant un mot clé par exemple)
Nettoyer un dossier
Action : Supprimer les fichiers d’un répertoire, en fonction des filtres utilisés.
Paramètre Standard : Nom du répertoire à nettoyer
Paramètres Avancés:
- Filtre sur le nom des fichiers à supprimer (ex : *[%MAP_JOBNUM%]*)
- Filtre sur l’extension des fichiers à supprimer (ex : *.tmp)
Retour : Aucun.
Existence d'un fichier
Remarque : Ne s’utilise pas en mode commande seule mais dans une condition ou pour définir un paramètre.
- Action : vérifier l’existence d’un fichier.
- Paramètre : nom complet du fichier
- Retour : chaine de caractère « yes » ou « no ».
Groupe de commandes String
Aucune des fonctions de cet ensemble ne s’utilise en mode commande seule. Elles sont à exécuter dans des conditions ou pour définir des paramètres.
Découper par position
Action : extraire une partie d’une chaine de caractèr
es en se basant sur la position de l’information à extraire.
Paramètres Standard :
- Chaine de caractères d’origine (de laquelle l’information doit être extraite)
- Valeur par défaut à retourner si l’information n’est pas trouvée
- Position de début de l’information à extraire (valeur numérique)
- Position de fin de l’information à extraire (valeur numérique)
Paramètre Avancés : nombre de caractères à ignorer à partir de la position de début (valeur numérique)
Retour : chaine de caractères alphanumériques.
Découper par séparateur
Action : extraire une partie d’une chaine de caractères en se basant sur des séparateurs de sous-chaines.
Paramètres Standard :
- Chaine de caractères d’origine (de laquelle l’information doit être extraite)
- Valeur par défaut à retourner si l’information n’est pas trouvée
- Séparateur de début de l’information à extraire (valeur alphanumérique)
- Séparateur de fin de l’information à extraire (valeur alphanumérique)
Retour : chaine de caractères alphanumériques.
Découper par champ
Action : Extraire une partie d’une chaine de caractères, en se basant sur un séparateur de sous-chaines (chaines de type CSV).
Paramètres Standard :
- Chaine de caractères d’origine (de laquelle l’information doit être extraite)
- Valeur par défaut à retourner si l’information n’est pas trouvée
- Séparateur de champs (valeur alphanumérique)
- Numéro du champ à retourner (valeur numérique)
Retour : chaine de caractères alphanumériques.
BASENAME
- Action : extraire le nom de fichier à partir d’un chemin complet.
- Paramètre : chemin complet d’un fichier
- Retour : chaine de caractères alphanumériques.
DIRNAME
- Action : extraire le chemin du fichier à partir d’un chemin complet, sans le nom.
- Paramètre : chemin complet d’un fichier
- Retour : chaine de caractères alphanumériques
Remplacer une chaine par une autre
Action : dans une chaine de caractères, remplacer récursivement une sous-chaine par une autre.
Paramètres Standard :
- Chaine de caractères d’origine
- Sous-chaine à remplacer (valeur alphanumérique)
- Sous-chaine de remplacement (valeur alphanumérique)
Retour : chaine de caractères alphanumériques.
Supprimer les espaces significatifs
Action : supprimer les espaces en début et/ou en fin d’une chaine de caractères.
Paramètres Standard :
- Chaine de caractères d’origine
- Supprimer les espaces en début : Oui (par défaut) / Non
- Supprimer les espaces en fin : Oui (par défaut) / Non
Retour : chaine de caractères alphanumériques.
Mettre en majuscules
- Action : mettre une chaine de caractères en majuscules.
- Paramètre : chaine de caractère d’origine.
- Retour : chaine de caractères alphanumériques.
Mettre en minuscules
- Action : mettre une chaine de caractères en minuscules.
- Paramètre : chaine de caractère d’origine.
- Retour : chaine de caractères alphanumériques.
Capitaliser
Action : mettre une majuscule en début d’une chaine de caractères ou au début de chaque mot d’une chaine de caractères.
Paramètres Standard :
- Chaine de caractère d’origine.
- Au début de chaque mot : Oui / Non (par défaut)
Retour : chaine de caractères alphanumériques.
Inverser la casse
- Action : inverser la casse (majuscule / minuscule) d’une chaine de caractères.
- Paramètre : chaine de caractère d’origine.
- Retour : chaine de caractères alphanumériques.
Groupe de commandes Mapping
Conversion de page de code
Action : convertir un fichier d’une page de code dans une autre. Cette commande est usuellement employée pour convertir un fichier en Unicode (UTF-16, ou page de code 1200).
Paramètres Standard :
- Nom du fichier source (à convertir)
- Nom du fichier de destination (converti)
- Page de code d’origine (valeur alphanumérique à sélectionner par la fonction d’aide à la saisie)
- Page de code de destination (valeur alphanumérique à sélectionner par la fonction d’aide à la saisie, 1200 par défaut)
Paramètres Avancés :
- Convertir les chiffres en chiffres arabes : Oui / Non (par défaut)
- Remplacer les caractères inconnus par des espaces : Oui / Non (par défaut)
Retour : aucun. Un fichier est créé en sortie.
Conversion de spool ISERIES
Remarque : les valeurs par défaut reprennent les attributs du fichier émis par l’iSeries distant.
Action : convertir un fichier EBCDIC en ASCII Unicode. Cette commande est usuellement employée pour convertir les spools produits sur iSeries puis traités dans ONYX Server version Unix ou Windows.
Paramètres Standard :
- Nom du fichier source (à convertir)
- Nom du fichier de destination (converti)
- Page de code d’origine (valeur alphanumérique à sélectionner par la fonction d’aide à la saisie)
Paramètres Avancés :
- Type des données issues de l’iSeries (*SCS, *AFPDS, …)
- Nombre de lignes par page (valeur numérique)
- Largeur en sortie (valeur numérique)
- Option pour conserver les informations de SO/SI pour les fichiers DBCS
Retour : aucun. Un fichier est créé en sortie.
Exécution M-CONNECT, sortie TXT
Action : exécuter un format M-Connect produisant une sortie texte.
Paramètres Standard :
- Nom du format M-Connect (valeur à sélectionner par la fonction d’aide à la saisie)
- Nom du fichier de sortie
Paramètres Avancés :
- Activation du mode debug : Oui / Non (par défaut)
- Numéro du port si fonctionnement en mode persistant (valeur numérique)
- Nom du journal des erreurs si fonctionnement en mode persistant (valeur alphanumérique)
- Type des données en sortie (agit sur le calcul des sauts de page automatiques)
Paramètres Custom : paramètres d’entrée pour l’exécution du format M-Connect de type DB.PARAM=value.
Retour : aucun. Un fichier est créé en sortie.
Exécution M-CONNECT, sortie XML
Action : exécuter un format M-Connect produisant une sortie XML.
Paramètres Standard :
- Nom du format M-Connect (valeur à sélectionner par la fonction d’aide à la saisie)
- Nom du fichier de sortie
- Schéma XML à utiliser pour produire la sortie
Paramètres Avancés :
- Activation du mode debug : Oui / Non (par défaut)
- Numéro du port si fonctionnement en mode persistant (valeur numérique)
- Nom du journal des erreurs si fonctionnement en mode persistant (valeur alphanumérique)
Paramètres Custom : paramètres d’entrée pour l’exécution du format M-Connect, de type DB.PARAM=value.
Retour : aucun. Un fichier est créé en sortie.
Exécution M-CONNECT, sortie XLSX
Action : Exécuter un format M-Connect produisant une sortie XLSX.
Paramètres Standard :
- Nom du format M-Connect (valeur à sélectionner par la fonction d’aide à la saisie)
- Nom du fichier de sortie
Paramètres Avancés :
- Activation du mode debug : Oui / Non (par défaut)
- Numéro du port si fonctionnement en mode persistant (valeur numérique)
- Nom du journal des erreurs si fonctionnement en mode persistant (valeur alphanumérique)
Paramètres Custom : Paramètres d’entrée pour l’exécution du format M-Connect, de type DB.PARAM=value.
Retour : Aucun. Un fichier est créé en sortie.