Équivalent en ORDA de Enregistrement verrouillé

Collègues,

J’ai peut-être une crampe au cerveau, mais je n’arrive pas, dans mes efforts de conversion de certaines méthodes en ORDA, à trouver un équivalent en ORDA à la commande Enregistrement verrouillé. Je me dois de tester seulement si une entité est verrouillée déjà.

Le contexte est un compteur de numéros de journaux comptables. J’ai donc une table de numéros de journaux éligibles à être utilisés. Il se trouve qu’un numéro de journal donné peut déjà être utilisé en transaction donc de ce fait verrouillé et supprimé en attendant la sauvegarde de la transaction. Comme la transaction n’est pas encore sauvegardée, cet enregistrement “supprimé” ne l’est pas encore et il est certainement de ce fait verrouillé.

Donc, la question de nouveau, pour ne pas utiliser ce numéro de journal marqué pour suppression, comment je fais en orda pour le repérer verrouillé?

Des idées?

Bonjour,

Il n’y a pour le moment pas d’équivalent exact à la commande Enregistrement verrouillé.

Cependant si vous appelez la member method entity.lock() et que l’enregistrement est locké vous aurez une erreur dk status locked qui vous l’indique.

Si l’enregistrement n’est pas locké par ailleurs, entity.lock() va le locker.

https://doc.4d.com/4Dv17R5/4D/17-R5/entitylock.305-4128703.fr.html

Vous avez également la possibilité de travailler en lock optimiste avec ORDA

https://doc.4d.com/4Dv17R5/4D/17-R5/Verrouillage-d-entites.300-4163773.fr.html

: Marie-Sophie LANDRIEU

Si l’enregistrement n’est pas locké par ailleurs, entity.lock() va le
locker.

Parfait et merci Marie-Sophie. J’en conclus que si je réussis à le verrouiller par entité.lock, je n’ai qu’à le déverrouiller par après.

Bonjour,

Oui, vous pouvez devérouiller ensuite avec entity.unlock().