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 :

  1. Démarrez le programme 'Progr de liste et imprimante. Configurer' (CMS005).
  2. Filtrez sur 4-'Verrouillage d'enregistrement possible'.
  3. Recherchez le programme que vous souhaitez activer et sélectionnez l'option 2='Modifier'.
  4. Cochez la case 'Activer le verrouillage d'enregistrement' et cliquez sur 'Suivant' pour enregistrer.
Remarque

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
Remarque

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 :

  • Si une valeur dans la clé est une date, elle doit être spécifiée au format de base de données AAAAMMJJ.
  • Si une valeur dans la clé est un champ décimal, le séparateur décimal doit être spécifié sous la forme d'un point '.'

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).

  1. Démarrez (CMS430).
  2. Parcourez (F4) dans le champ 'Table' de la liste et sélectionnez la table CIDMAS car c'est la table principale connectée à (CRS620).
  3. Sélectionnez l'option 1='Créer'.
  4. 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.
  5. Cochez la case 'Verrouiller'.
  6. Indiquez le nom de votre fournisseur, par exemple TEMPSUP-US, dans le champ 'Valeur' connecté au champ 'IDSUNO'.
  7. 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é.

  1. Démarrez (CMS430).
  2. Recherchez l'enregistrement que vous souhaitez déverrouiller.
  3. 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é
Remarque

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.