OPALE - Utilisation - Ordre de priorités des règles sur le moteur de règles MAPPING IBM-i

Différence entre versions

De MappingDoc
(Détails)
 
(46 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
==Introduction==
+
<languages/>
 +
<translate>
 +
==Introduction== <!--T:1-->
 
Lorsqu’on libère un spool dans une OUTQ associée à Mapping, le programme recherche dans le paramétrage des associations entre spools et actions quelle action doit être exécutée.
 
Lorsqu’on libère un spool dans une OUTQ associée à Mapping, le programme recherche dans le paramétrage des associations entre spools et actions quelle action doit être exécutée.
  
 +
<!--T:2-->
 
Cette documentation décrit les règle d'ordre de priorités d'exécutions des règles.
 
Cette documentation décrit les règle d'ordre de priorités d'exécutions des règles.
  
==Détails==
+
==Détails== <!--T:3-->
  
#<span style="color:green">Le moteur cherche d’abord dans les règles associées '''le nom du fichier spool complet'''.</span>
+
<!--T:4-->
#: '''MATCH''' --> Insérer ici un texte non formaté</nowiki>On recherche dans les autres paramètres (utilisateur, travail, référence, formtype, etc …) les valeurs différentes de *ALL et compare les valeurs. Celle qui aura le plus de critères qui match avec pour valeur différent de *ALL sera alors exécutée.Dans le cas où plusieurs règles respectent ces même critères, la première de la liste sera alors exécutée.
+
#<span style="color:red">Le moteur cherche d’abord dans les règles associées '''le nom du fichier spool complet'''.</span>
#: '''PAS DE MATCH''' --> On passe au point 2
+
#: '''<u>MATCH</u>''' --> On recherche dans les autres paramètres (utilisateur, travail, référence, formtype, etc …) les valeurs différentes de *ALL et compare les valeurs. '''Celle qui aura le plus de critères qui match avec pour valeur différent de *ALL sera alors exécutée''' (priorité à la règle la plus sélective).Dans le cas où plusieurs règles respectent ces même critères, la première de la liste sera alors exécutée.
#<span style="color:green">Le moteur cherche ensuite dans les règles associées '''le nom du fichier spool partiel''' (avec l'utilisation des étoiles)</span>
+
#: '''<u>PAS DE MATCH</u>''' --> On passe au point 2
#: '''MATCH''' --> on recherche dans les autres paramètres (utilisateur, travail, référence, formtype, etc …) les valeurs différentes de *ALL et compare les valeurs. Celle qui aura le plus de critères qui match avec pour valeur différent de *ALL sera alors exécutée.
+
#<span style="color:red">Le moteur cherche ensuite dans les règles associées '''Si il y a un match au niveau des autres critères''' (utilisateur, travail, référence, formtype, etc …). (notez bien que les noms partiels ont le même poids que les autres critères : Exemple : FACT*) </span>
Dans le cas où plusieurs règles respectent ces même critères, la première de la liste sera alors exécutée.</span>
+
#: '''<u>MATCH</u>''' --> On recherche dans les autres critères(utilisateur, travail, référence, formtype, etc …) les valeurs différentes de *ALL et compare les valeurs. '''Celle qui aura le plus de critères qui match avec pour valeur différent de *ALL sera alors exécutée''' (priorité à la règle la plus sélective).Dans le cas où plusieurs règles respectent ces même critères, la première de la liste sera alors exécutée.
#: PAS DE MATCH --> <span>'''Passage au point 3'''</span>
+
#: '''<u>PAS DE MATCH</u>''' --> <span>La règle '''par défaut en *ALL pour tous les critères''' (si existante) sera alors '''exécutée''' (si celle-ci n'est pas existante, une erreur non visible dans la log du robot sera alors levée)</span>
#<span style="color:green">Le moteur cherche ensuite dans les règles associées '''Si il y a un match au niveau des autres critères''' (utilisateur, travail, référence, formtype, etc …).</span>
 
#: '''MATCH''' --> <span>on recherche dans les autres paramètres (utilisateur, travail, référence, formtype, etc …) les valeurs différentes de *ALL et compare les valeurs. Celle qui aura le plus de critères qui match avec pour valeur différent de *ALL sera alors exécutée. Dans le cas où plusieurs règles respectent ces même critères, la première de la liste sera alors exécutée.</span>
 
#: PAS DE MATCH --> <span>'''On passe au point 4'''</span>
 
  
 +
<!--T:5-->
 +
Lorsque la règle est trouvée, l'action définie pour cette règle sera alors exécutée.
  
 +
==Remarques== <!--T:6-->
 +
===Les noms génériques===
 +
On peut utiliser des noms génériques. Il suffit d’indiquer FAC* dans le nom du fichier spool pour correspondre à tous les fichiers spool commençant par FAC.
 +
Les noms génériques peuvent aussi être indiqués dans les autres critères, sauf la largeur du spool.
  
 +
===Les groupes=== <!--T:7-->
 +
On peut définir une règle en utilisant un groupe.
 +
Pour créer un groupe, positionner le curseur sur le champ à définir, et utiliser la touche F4.
 +
Indiquer l’option 1 pour sélectionner un groupe.
 +
Sur la fenêtre qui s’affiche, la touche F6 permet de créer un nouveau groupe et l’option 5 sur le groupe permet de définir les valeurs du groupe.
 +
Par exemple, créer un groupe COMPTA puis indiquer les différents utilisateurs du groupe.
 +
Dans le paramétrage des règles, il suffit alors d’indiquer *COMPTA pour correspondre au groupe compta. Cela évite de devoir créer une règle pour chaque utilisateur comptable.
  
 +
===sélection de la meilleure règle=== <!--T:8-->
 +
Le programme passe en revue les différentes règles. Si une valeur ne correspond pas au fichier spool, la règle est éliminée. Mais que ce passe-t-il lorsque plusieurs règles sont acceptables ? Et bien, c’est la première règle ayant le plus de critères différents de *ALL qui sera utilisée.
  
Si aucune règle ne correspond pour le fichier spool, le programme regarde les autres règles suivant le même principe. Enfin, si aucune règle n’est toujours pas trouvée, le programme utilise l’action associée à *ALL *ALL *ALL etc…, sauf pour l’outq d’origine qui est *DFT et sa bibliothèque qui est *LIBL. Si cette règle n’existe plus (clear du fichier) et que le log(*yes) a été indiqué lors du démarrage du robot, un message est généré indiquant qu’aucune règle n’a été trouvée.
+
==Exemples== <!--T:9-->
Notez que cette règle ne peut normalement pas être supprimée du paramétrage.
+
===Exemple 1===
 +
F. Spool  Utilis.   Travail    Référence  Imprimé    Action<br>
 +
FAC*      *ALL      *ALL       *ALL       *ALL       ACTION1<br>
 +
FAC*       *CPT      FACTURES  *ALL      *ALL      ACTION2<br>
 +
FACT*      *CPT      *ALL      *ALL      *ALL      ACTION3<br>
 +
FACTEXP    *ALL      FACTURES  *ALL      *ALL      ACTION4<br>
  
  
Lorsque toutes les règles sont traitées, et qu’une règle correspond, le programme exécute l’action définie pour cette règle.
+
====Cas 1==== <!--T:10-->
  
 +
<!--T:11-->
 +
Fichier spool libéré : '''FACTURE''', utilisateur '''QPGMR''', travail '''FACTURES'''.<br><br>
 +
L’action exécutée sera '''ACTION1'''<br>
  
 +
<!--T:12-->
 +
<u>Explication</u><br><br>
 +
Le programme recherche une règle FACTURE. Il n’y en a pas, il recherche dans les autres lignes.<br>
 +
La ligne 1 correspond pour 1 critère (Nom du spool)<br>
 +
La ligne 2 ne correspond pas (QPGMR ne fait pas partie du groupe CPT)<br>
 +
La ligne 3 non plus<br>
 +
La ligne 4 non plus (Nom du fichier spool)<br>
  
# un
+
====Cas 2==== <!--T:13-->
# deux
+
 
#* deux point un
+
<!--T:14-->
#* deux point deux
+
Fichier spool libéré : '''FACTURE''', utilisateur '''DUMOULIN''', travail '''FACTURES'''.<br><br>
# trois
+
L’action exécutée sera '''ACTION2'''<br>
#; trois, item un
+
 
#: trois, définition une
+
<!--T:15-->
# quatre
+
<u>Explication</u><br><br>
#: quatre, définition une
+
Le programme recherche une règle FACTURE. Il n’y en a pas, il recherche dans les autres lignes.<br>
#: cette façon de faire ressemble à une suite
+
La ligne 1 correspond pour 1 critère (Nom du spool)<br>
#: et est d'ailleurs souvent utilisé
+
La ligne 2 correspond pour 3 critères (Nom du spool, utilisateur (Dumoulin fait partie du groupe), travail)<br>
#: plutôt <br />que <nowiki><br /></nowiki>
+
La ligne 3 correspond pour 2 critères (Nom du spool, utilisateur)<br>
# cinq
+
La ligne 4 non plus (Nom du fichier spool)<br>
## cinq, sous-niveau 1
+
 
### cinq, sous-niveau 1, sous-niveau 1
+
====Cas 3==== <!--T:16-->
## cinq, sous-niveau 2
+
 
 +
<!--T:17-->
 +
Fichier spool libéré : '''FACTEXP''', utilisateur '''DUMOULIN''', travail '''FACTURES'''.<br><br>
 +
L’action exécutée sera '''ACTION4'''<br>
 +
 
 +
<!--T:18-->
 +
<u>Explication</u><br><br>
 +
Le programme a trouvé une règle pour FACTEXP. C’est elle qui prime. Les lignes FAC* et FACT* ne seront même pas traitées
 +
 
 +
<!--T:19-->
 +
Remarque : Notez que même si FACT* est plus précis que FAC*, la ligne sera analysée après les lignes FAC* et ne sera donc exécutée que si plus de critères (autres que *ALL) sont indiqués que pour FAC*.
 +
 
 +
 
 +
===Exemple 2=== <!--T:20-->
 +
F. Spool  Utilis.    Travail    Référence  Imprimé    Action
 +
'''FACTURE'''    *ALL      *ALL      *ALL      '''*STD'''      ACTION1
 +
'''FACTURE'''    *ALL      '''FACTURES'''  *ALL      *ALL      ACTION2
 +
'''FACTURE'''    '''*CPT'''      *ALL      *ALL      *ALL      ACTION3
 +
FACTEXP    *ALL      FACTURES  *ALL      *ALL      ACTION4
 +
 
 +
 
 +
<!--T:21-->
 +
Fichier spool libéré : '''FACTURE''', utilisateur '''*CPT''', travail '''FACTURES''', imprimé'''*STD'''.<br><br>
 +
L’action exécutée sera '''ACTION1'''<br>
 +
 
 +
<!--T:22-->
 +
<u>Explication</u><br><br>
 +
Nous avons 3 lignes qui correspondent, et toutes les 3 ont le même nombre de critères valides (2 critères)<br>
 +
De ce fait la première dans la liste sera exécutée, soit '''ACTION1'''<br>
 +
</translate>

Version actuelle datée du 9 juin 2020 à 19:42

Autres langues :
English • ‎français

Introduction

Lorsqu’on libère un spool dans une OUTQ associée à Mapping, le programme recherche dans le paramétrage des associations entre spools et actions quelle action doit être exécutée.

Cette documentation décrit les règle d'ordre de priorités d'exécutions des règles.

Détails

  1. Le moteur cherche d’abord dans les règles associées le nom du fichier spool complet.
    MATCH --> On recherche dans les autres paramètres (utilisateur, travail, référence, formtype, etc …) les valeurs différentes de *ALL et compare les valeurs. Celle qui aura le plus de critères qui match avec pour valeur différent de *ALL sera alors exécutée (priorité à la règle la plus sélective).Dans le cas où plusieurs règles respectent ces même critères, la première de la liste sera alors exécutée.
    PAS DE MATCH --> On passe au point 2
  2. Le moteur cherche ensuite dans les règles associées Si il y a un match au niveau des autres critères (utilisateur, travail, référence, formtype, etc …). (notez bien que les noms partiels ont le même poids que les autres critères : Exemple : FACT*)
    MATCH --> On recherche dans les autres critères(utilisateur, travail, référence, formtype, etc …) les valeurs différentes de *ALL et compare les valeurs. Celle qui aura le plus de critères qui match avec pour valeur différent de *ALL sera alors exécutée (priorité à la règle la plus sélective).Dans le cas où plusieurs règles respectent ces même critères, la première de la liste sera alors exécutée.
    PAS DE MATCH --> La règle par défaut en *ALL pour tous les critères (si existante) sera alors exécutée (si celle-ci n'est pas existante, une erreur non visible dans la log du robot sera alors levée)

Lorsque la règle est trouvée, l'action définie pour cette règle sera alors exécutée.

Remarques

Les noms génériques

On peut utiliser des noms génériques. Il suffit d’indiquer FAC* dans le nom du fichier spool pour correspondre à tous les fichiers spool commençant par FAC. Les noms génériques peuvent aussi être indiqués dans les autres critères, sauf la largeur du spool.

Les groupes

On peut définir une règle en utilisant un groupe. Pour créer un groupe, positionner le curseur sur le champ à définir, et utiliser la touche F4. Indiquer l’option 1 pour sélectionner un groupe. Sur la fenêtre qui s’affiche, la touche F6 permet de créer un nouveau groupe et l’option 5 sur le groupe permet de définir les valeurs du groupe. Par exemple, créer un groupe COMPTA puis indiquer les différents utilisateurs du groupe. Dans le paramétrage des règles, il suffit alors d’indiquer *COMPTA pour correspondre au groupe compta. Cela évite de devoir créer une règle pour chaque utilisateur comptable.

sélection de la meilleure règle

Le programme passe en revue les différentes règles. Si une valeur ne correspond pas au fichier spool, la règle est éliminée. Mais que ce passe-t-il lorsque plusieurs règles sont acceptables ? Et bien, c’est la première règle ayant le plus de critères différents de *ALL qui sera utilisée.

Exemples

Exemple 1

F. Spool   Utilis.    Travail    Référence  Imprimé    Action
FAC* *ALL *ALL *ALL *ALL ACTION1
FAC* *CPT FACTURES *ALL *ALL ACTION2
FACT* *CPT *ALL *ALL *ALL ACTION3
FACTEXP *ALL FACTURES *ALL *ALL ACTION4


Cas 1

Fichier spool libéré : FACTURE, utilisateur QPGMR, travail FACTURES.

L’action exécutée sera ACTION1

Explication

Le programme recherche une règle FACTURE. Il n’y en a pas, il recherche dans les autres lignes.
La ligne 1 correspond pour 1 critère (Nom du spool)
La ligne 2 ne correspond pas (QPGMR ne fait pas partie du groupe CPT)
La ligne 3 non plus
La ligne 4 non plus (Nom du fichier spool)

Cas 2

Fichier spool libéré : FACTURE, utilisateur DUMOULIN, travail FACTURES.

L’action exécutée sera ACTION2

Explication

Le programme recherche une règle FACTURE. Il n’y en a pas, il recherche dans les autres lignes.
La ligne 1 correspond pour 1 critère (Nom du spool)
La ligne 2 correspond pour 3 critères (Nom du spool, utilisateur (Dumoulin fait partie du groupe), travail)
La ligne 3 correspond pour 2 critères (Nom du spool, utilisateur)
La ligne 4 non plus (Nom du fichier spool)

Cas 3

Fichier spool libéré : FACTEXP, utilisateur DUMOULIN, travail FACTURES.

L’action exécutée sera ACTION4

Explication

Le programme a trouvé une règle pour FACTEXP. C’est elle qui prime. Les lignes FAC* et FACT* ne seront même pas traitées

Remarque : Notez que même si FACT* est plus précis que FAC*, la ligne sera analysée après les lignes FAC* et ne sera donc exécutée que si plus de critères (autres que *ALL) sont indiqués que pour FAC*.


Exemple 2

F. Spool   Utilis.    Travail    Référence  Imprimé    Action
FACTURE    *ALL       *ALL       *ALL       *STD       ACTION1
FACTURE    *ALL       FACTURES   *ALL       *ALL       ACTION2
FACTURE    *CPT       *ALL       *ALL       *ALL       ACTION3
FACTEXP    *ALL       FACTURES   *ALL       *ALL       ACTION4


Fichier spool libéré : FACTURE, utilisateur *CPT, travail FACTURES, imprimé*STD.

L’action exécutée sera ACTION1

Explication

Nous avons 3 lignes qui correspondent, et toutes les 3 ont le même nombre de critères valides (2 critères)
De ce fait la première dans la liste sera exécutée, soit ACTION1