Verrouillage des enregistrements
Ce document décrit comment activer la fonctionnalité de verrouillage des enregistrements et comment verrouiller et déverrouiller des enregistrements.
La fonctionnalité de verrouillage des enregistrements vous permet de contrôler l'accès à un niveau entre la Sécurité des droits d'accès aux données et la Sécurité d'accès au champ.
Avec la fonctionnalité de verrouillage des enregistrements, un enregistrement peut être verrouillé pour empêcher toute modification ou suppression dans des programmes interactifs et des API. Lorsqu'un enregistrement a été verrouillé, les options 2='Modifier' et 4='Supprimer' ne sont autorisées pour aucun utilisateur. Il en va de même s'il existe une option associée qui met à jour l'enregistrement. Si vous essayez de mettre à jour ou de supprimer un enregistrement verrouillé, un message d'erreur s'affiche indiquant que l'enregistrement est verrouillé dans le programme spécifique. Les mises à jour automatisées des enregistrements, où vous n'avez aucune interaction directe avec l'enregistrement lui-même, comme les programmes de traitement par lots et les travaux automatiques, sont exemptées de cette validation.
Voici des exemples de situations où il est utile de pouvoir verrouiller des enregistrements : lorsqu'ils sont connectés à un workflow continu dans ION ou une signature électronique en attente. Cette fonctionnalité pourrait également être utilisée pour verrouiller des enregistrements de modèles que les utilisateurs ne devraient pas être autorisés à modifier, par exemple, des modèles d'articles, de fournisseurs ou de clients.
Restrictions
Un maximum de 390 caractères peut être traité pour une chaîne de clés (KEYS).
Activer la fonctionnalité de verrouillage des enregistrements
Suivez ces étapes pour activer la fonctionnalité de verrouillage des enregistrements pour un programme :
- Démarrez le programme 'Progr de liste et imprimante. Configurer' (CMS005).
- Filtrez sur 4-'Verrouillage d'enregistrement possible'.
- Recherchez le programme que vous souhaitez activer et sélectionnez l'option 2='Modifier'.
- Cochez la case 'Activer le verrouillage d'enregistrement' et cliquez sur 'Suivant' pour enregistrer.
Tous les programmes ne peuvent pas être activés pour le verrouillage d'enregistrement. Si tel est le cas, le programme n'est pas trouvé lors du filtrage sur 4-'Verrouillage d'enregistrement possible' et la case à cocher n'est pas disponible.
Avec le filtre 5-'Verrouillage d'enregistrement activé', vous pouvez rechercher des programmes dont la fonctionnalité a déjà été activée.
Ce tableau montre des exemples de programmes et d'API où la fonctionnalité de verrouillage d'enregistrement a été implémentée :
ID programme | Nom du programme | Table | API |
---|---|---|---|
CRS610 | Client. Ouvrir | OCUSMA | CRS610MI |
CRS620 | Fournisseur. Ouvrir | (CIDMAS) | CRS620MI |
CRS624 | Fournisseur. Définir détails achat/fin | (CIDVEN) | CRS620MI |
MMS001 | Article. Ouvrir | MITMAS | MMS200MI |
MMS002 | Article. Connecter dépôt' | MITBAL | MMS200MI |
MMS003 | Article. Connecter un établissement | MITFAC | MMS200MI |
MMS200 | Article. Ouvrir boîte à outils | – | MMS200MI |
La même API peut avoir des transactions qui mettent à jour ou suppriment des enregistrements dans d'autres programmes ou tables que celles spécifiées dans la table et sont donc exclues.
Le processus de vérification des enregistrements verrouillés ajoutés dans (MMS200) est effectué lorsque vous passez directement de (MMS200) à un écran de détails (par exemple, l'écran E) dans (MMS001), (MMS002) ou (MMS003), et la fonctionnalité de verrouillage des enregistrements a été activée pour le programme applicable dans (CMS005). Cela s'applique même si (MMS200) n'existe pas dans (CMS005) et ne peut donc pas y être activé.
Définir des codes motif
Il est obligatoire de spécifier un code motif pour chaque enregistrement verrouillé. Les codes motif sont définis dans le programme 'Codes motif. Ouvrir' (CMS432). Ils sont utilisés comme critère de sélection, ainsi que dans le message d'information qui informe un utilisateur des raisons pour lesquelles un enregistrement est verrouillé contre les modifications.
Ce tableau présente les codes motif prédéfinis et leur fonction :
Transaction | Obj |
---|---|
1='Workflow' | Pour les enregistrements verrouillés par un workflow en cours dans ION. |
2='Signature électronique' | Pour les enregistrements verrouillés en raison d'une signature électronique en attente. |
3='Manuel' |
Lorsqu'une exception se produit qui vous oblige à verrouiller un enregistrement manuellement et non dans le cadre d'un processus automatisé. Pour cette alternative, l'ID utilisateur de l'utilisateur qui a verrouillé l'enregistrement est automatiquement spécifié comme référence externe connectée à l'enregistrement verrouillé. |
Il n'y a pas d'automatisation intégrée pour les workflows ou les signatures électroniques, seulement des recommandations sur la façon dont les codes de motif doivent être utilisés.
Les codes prédéfinis ne peuvent pas être modifiés ou supprimés, mais le nom et la description peuvent être spécifiés dans d'autres langues dans le programme 'Gestion des langues. Ouvrir' (CRS830) en cliquant sur 'Langue' dans (CMS432).
Les codes de motif 700 - 999 peuvent être définis par l'utilisateur si plusieurs options sont nécessaires.
Les enregistrements dans (CMS432), la table CERECD, peuvent également être gérés via l'API CMS432MI (interface Code motif).
Verrouiller et déverrouiller des enregistrements
Les enregistrements à verrouiller pour empêcher toute modification ou suppression sont spécifiés dans le programme 'Enregistrements verrouillés. Ouvrir' (CMS430). Un seul enregistrement peut exister dans (CMS430) avec la même table et la même chaîne de clés, de sorte qu'un enregistrement ne puisse être verrouillé qu'une seule fois à la fois.
Les enregistrements verrouillés sont déverrouillés en les supprimant de (CMS430), car le nombre d'enregistrements peut autrement augmenter avec le temps. Si vous ne souhaitez déverrouiller qu'un enregistrement temporairement, le paramètre 'Verrouiller' peut être réglé sur 0, puis à nouveau sur 1. Les options associées 20='Verrouiller' et 21='Déverrouiller' peuvent être utilisées à cette fin ou cela peut être fait en utilisant les transactions d'API correspondantes.
Ce tableau décrit les différents champs dans (CMS430) et comment ils sont utilisés :
Champ | Description |
---|---|
Table | Le champ indique le nom de la table dans laquelle l'enregistrement verrouillé est stocké. |
Chaîne clé | Le champ indique plusieurs paires de valeurs clés (nom de champ et une valeur) qui identifient de manière unique un enregistrement dans la table spécifiée. Dans (CMS430), les valeurs de clé d'un enregistrement sont automatiquement converties en une chaîne de clé au format encodé en URL, car c'est ainsi que les valeurs de clé sont stockées dans la table CELOCK lors de la création d'un nouvel enregistrement verrouillé. |
Code motif |
Le champ indique la raison pour laquelle un enregistrement est verrouillé et doit être spécifié lors de la création d'un enregistrement verrouillé. Les options prédéfinies sont les suivantes : 1='Workflow' 2='Signature électronique' 3='Manuel' Pour l'option 3, l'ID utilisateur de la personne qui a verrouillé ou déverrouillé l'enregistrement dans la table CELOCK est automatiquement attribué comme référence externe (EXRE). Voir la section « Définir des codes motif » pour plus d'informations. |
Référence externe | Le champ indique l'identité d'une référence connectée à l'enregistrement verrouillé. Par exemple, un ID d'un workflow démarré dans Infor ION ou un numéro de signature électronique d'un enregistrement de signature électronique. La référence pourrait également être l'ID utilisateur de l'utilisateur qui a verrouillé ou déverrouillé l'enregistrement dans (CMS430) si le code motif 3-'Manuel' a été sélectionné. |
Verrouiller |
Le champ indique si un enregistrement est verrouillé et ne peut donc pas être modifié ou supprimé dans le programme applicable. 0 = Déverrouillé 1 = Verrouillé Remarque
Le programme dans lequel cet enregistrement peut être modifié doit être activé pour le verrouillage d'enregistrement dans (CMS005) pour que ce paramètre soit effectif. |
Champ/Nom | Le champ indique le nom et la description des champs de clé, qui s'affiche en fonction de la clé primaire de la table spécifiée. |
Valeur |
Le champ indique la valeur de clé connectée à chaque champ de clé pour un enregistrement dans la table spécifiée. Les valeurs doivent correspondre à un enregistrement existant dans la table spécifiée pour créer l'enregistrement dans (CMS430). 'Division' (CONO) est défini par défaut sur la division actuelle pour l'utilisateur connecté, le cas échéant pour la table. Conseils sur la façon de spécifier différents types de valeurs :
|
Dans (CMS430), des verrouillages d'enregistrement manuels sont spécifiés. Par exemple, pour verrouiller des enregistrements de modèles.
Exemple – Verrouiller un modèle
Vous souhaitez verrouiller la modification ou la suppression d'un modèle de fournisseur dans 'Fournisseur. Ouvrir' (CRS620).
- Démarrez (CMS430).
- Parcourez (F4) dans le champ 'Table' de la liste et sélectionnez la table CIDMAS car c'est la table principale connectée à (CRS620).
- Sélectionnez l'option 1='Créer'.
- Dans l'écran E, sélectionnez 3-'Manuel' dans le champ 'Code motif' (s'il n'existe aucun code motif spécifique utilisé pour les modèles). Pour le code de motif 3, le champ 'Réf externe' est laissé vide, sinon une référence de votre choix peut être spécifiée dans ce champ.
- Cochez la case 'Verrouiller'.
- Indiquez le nom de votre fournisseur, par exemple TEMPSUP-US, dans le champ 'Valeur' connecté au champ 'IDSUNO'.
- Cliquez sur 'Suivant' pour sauvegarder et verrouiller l'enregistrement.
Exemple – Déverrouiller un modèle
Vous souhaitez déverrouiller un modèle de fournisseur verrouillé afin qu'il puisse être modifié ou supprimé.
- Démarrez (CMS430).
- Recherchez l'enregistrement que vous souhaitez déverrouiller.
- Sélectionnez l'option 4='Supprimer' et cliquez sur 'Suivant' pour confirmer. Si vous souhaitez uniquement un déverrouillage temporaire et conserver l'enregistrement dans (CMS430), sélectionnez plutôt l'option associée 21='Déverrouiller'.
Verrouiller et déverrouiller des enregistrements via l'API
Le verrouillage des enregistrements se fait généralement via l'API dans un processus automatisé, par exemple, un workflow dans ION. Des étapes doivent ensuite être ajoutées au workflow pour verrouiller et déverrouiller les enregistrements. L'API CMS430MI (Interface de verrouillage des enregistrements) a été créée pour gérer les enregistrements dans (CMS430), pour la table CELOCK.
Ce tableau présente les transactions disponibles dans CMS430MI :
Transaction | Description |
---|---|
AddRecordLock | Ajoute un enregistrement verrouillé |
DltMultiRecLock | Supprime plusieurs enregistrements de la table CELOCK |
DltRecordLock | Supprime un enregistrement verrouillé |
GetRecordLock | Récupère des données pour un enregistrement verrouillé |
LstRecordLock | Répertorie les données des enregistrements verrouillés |
SetLock | Définit un enregistrement sur Verrouillé |
SetUnlock | Définit un enregistrement sur Déverrouillé |
UpdRecordLock | Met à jour les données d'un enregistrement verrouillé |
Dans l'API, les valeurs de clé doivent être spécifiées dans le champ 'Chaîne de clé' en tant que chaîne de clé de signet au format encodé d'URL UTF-8.
Un seul enregistrement peut exister dans la table CELOCK avec la même table et la même chaîne de clés. Mais si un enregistrement est déverrouillé (BLOC = 0), cet enregistrement peut être repris par une autre référence externe et code motif, et défini sur Verrouillé avec la transaction 'AddRecordLock'.
Nous vous recommandons de nettoyer régulièrement les enregistrements obsolètes de la table CELOCK. La transaction API 'DltMultiRecLock' a été créée à cet effet.
Voici des descriptions de certains des champs de la transaction et de leur utilisation :
- 'Date fin de changement' est obligatoire et les enregistrements antérieurs ou contemporains à cette date sont supprimés.
- Si 'Table' n'est pas spécifiée, les enregistrements de toutes les tables sont supprimés.
- Si 'Autoriser la suppression lorsque la modification est bloquée' est laissé vide, seuls les enregistrements déverrouillés (BLOC = 0) sont supprimés.
- Si ADWB est défini sur 1, même les enregistrements verrouillés (BLOC = 1) sont supprimés.
- Le nombre de transactions supprimées est affiché en tant que résultat pour la transaction.