Verouiller un journal pendant insertion

Cette section est consacrée aux développements d'applications interfacées avec les logiciels Sage.

Modérateurs: Super-Apogea, Super Modérateur

Verouiller un journal pendant insertion

de chapi » Jeu 3 Juil 2008 11:45

Bonjour,

Je souhaiterais pouvoir verouiller un ou des journaux lors d'un insert vers la comptabilité.

Je sais vérifier si un journal est bloqué par un utilisateur...mais pas le bloquer.

Merci
Posteur habitué
Posteur habitué
 
Messages: 27
Inscription: Lun 9 Oct 2006 09:06

de vrp2 » Jeu 3 Juil 2008 14:53

bonjour,
je n'ai pas de reponse à la question
en revanche comment sais tu si un journal est bloqué et par quel utilisateur?
Super Contributeur
Super Contributeur
 
Messages: 222
Inscription: Sam 5 Mai 2007 20:13

de chapi » Lun 7 Juil 2008 10:48

Bonjour, je ne sais pas dire quel utilisateur bloque le journal.

Par contre, pour savoir si un journal est bloqué il faut que tu t'intéresses à la fonction CB_FntIsRecordLock :wink:
Posteur habitué
Posteur habitué
 
Messages: 27
Inscription: Lun 9 Oct 2006 09:06

de vrp2 » Lun 7 Juil 2008 11:06

je l'a voit bien (cela fait longtemps que cela m'intrigue) en revanche c'est une dll donc je ne sais pas lire le contenu de ce qu'elle fait. as tu trouvé un moyen ou un éditeur pour le lire le contenu de ces dll?
Super Contributeur
Super Contributeur
 
Messages: 222
Inscription: Sam 5 Mai 2007 20:13

de chapi » Lun 7 Juil 2008 11:16

:shock:

Non, la fonction que je t'indique est une fonction SQL Server.

Tu l'appelles avec une procedure stockée par exemple
Posteur habitué
Posteur habitué
 
Messages: 27
Inscription: Lun 9 Oct 2006 09:06

de vrp2 » Lun 7 Juil 2008 12:45

bonjour,
si je ne me trompe pas cela te permet de bloquer ou debloquer le journal mais pas de connaitre si il est bloqué .
je suis persuadé que les enregistrements bloqués doivent etre consignés dans une table (sur master je suppose) avec le spid,la table et le cbmarq mais apres j'ai beau chercher je ne trouve rien.
si tu as une idee
?
Super Contributeur
Super Contributeur
 
Messages: 222
Inscription: Sam 5 Mai 2007 20:13

de chapi » Lun 7 Juil 2008 18:27

Bien sur que si, cette fonction te permet de connaitre si un journal est bloqué.


Exemple :


Code: Tout sélectionner
IF EXISTS(SELECT 'a' FROM F_JMOUV
WHERE F_JMOUV.cbJO_Num = 'OD' AND F_JMOUV.JM_Date ='01/07/2008'
AND dbo.CB_FntIsRecordLock('F_JMOUV',F_JMOUV.cbMarq) = 1)
select 'JOURNAL BLOQUE !'
Posteur habitué
Posteur habitué
 
Messages: 27
Inscription: Lun 9 Oct 2006 09:06

de vrp2 » Mar 8 Juil 2008 14:28

exact.
en analyseur de requete il ne me mettait que commande reussi.

le fin du fin serait donc de connaitre où il stock ces enregistrements bloqués.il doit bien interroger une table quelques part dans sql?
Super Contributeur
Super Contributeur
 
Messages: 222
Inscription: Sam 5 Mai 2007 20:13


Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités