Forum Rules Remarque importante:

Lorsque vous postez un probléme en relation avec ABAL ou WABAL, merci de préciser la version utilisée, le systéme d'exploitation d'exécution, la version du CRITERIA et la version de l'executeur ainsi que toutes informations permettant de connaitre le contexte d'execution . cela evite de poster un message pour vous demander ces précisions !!!

  Reply to this topicStart new topicStart Poll

> Passer outre le verrouillage d'un article, Passer outre verrouillage ou ouvrir excl
ChV17
Posted: 02/11/20 13:00
Quote Post


Ultra User
****

Group: Membre
Posts: 396
Member No.: 1213
Joined: 18/09/06
Submissions: None Submitted
Downloads: No Files Downloaded



Bonjour,

ABAL 2.2 mode C/S sur Windows

Notre application comporte un module d'inventaire qui permet de mettre à jour les stocks sur un article.
Le stock est indiqué dans le même fichier que l'article (on l'appelle fichier ARTICLE).

Si l'un de nos collègues ouvre la ligne de l'article pour consulter ou pour modifier quelque chose sur l'article, cet article est verrouillé en modification pour les autres usager.

Le problème survient lors de l'inventaire, les articles sont traités par lots et si quelqu'un est resté sur un article, le stock ne se mets pas à jour puisque l'accès est verrouillé, par contre le stock se met à quand même à zéro ou ne change pas.

Je cherche un moyen de passer outre le verrouillage, ou, de déterminer si le fichier est déjà ouvert par quelqu'un d'autre.
Si c'est le cas, on va demander à la personne de sortir.
Si le fichier n'est pas verrouillé, l'idéal serait de l'ouvrir en exclusif pour l'application d'inventaire, puis de le refermer ensuite une fois terminé.

Je ne sais pas comment arriver à faire cela :
Déterminer si le fichier est ouvert, puis l'ouvrir en exclusif.

Les fichiers sont en multicritères.

Merci d'avance pour quelques pistes.

Cordialement

Protégez vous ainsi que vos proches.

Christian

This post has been edited by ChV17 on 02/11/20 13:01
PM
Top
biloute
Posted: 02/11/20 18:44
Quote Post


Ultra User
****

Group: Membre
Posts: 330
Member No.: 194
Joined: 10/02/03
Submissions: None Submitted
Downloads: No Files Downloaded



si tu essayes de l'ouvrir en exclusif alors que le fichier est déjà ouvert tu auras une erreur, je ne sais plus laquelle...

tu n'as donc qu'à l'ouvrir en exclusif et si tu as une erreur, c'est que le fichier est déjà ouvert.
PM
Top
ChV17
Posted: 03/11/20 08:30
Quote Post


Ultra User
****

Group: Membre
Posts: 396
Member No.: 1213
Joined: 18/09/06
Submissions: None Submitted
Downloads: No Files Downloaded



Merci

C'est une excellente suggestion effectivement.

PM
Top
agirce
Posted: 03/11/20 09:01
Quote Post


Super User
**

Group: Membre
Posts: 62
Member No.: 99
Joined: 20/11/02
Submissions: None Submitted
Downloads: 3



si tu essayes de l'ouvrir en exclusif alors que le fichier est déjà ouvert tu auras une erreur, je ne sais plus laquelle... Erreur 44
Bonne journée
PM
Top
GUIARD
Posted: 12/11/20 19:18
Quote Post


Martien User
******

Group: Membre
Posts: 1833
Member No.: 239
Joined: 25/04/03
Submissions: None Submitted
Downloads: No Files Downloaded



Sinon, il faut mémoriser un historique par id d'article, des enregistrements qui sont réservés.

Ensuite, si tu as un conflit de réservation d'un article, qu'il est reservé par une application, un utilisateur et finalement un terminal, tu lis ton fichier historique et tu découvres quel est l'utilisateur, et son terminal dans ton annuaire de configuration.

Cela impose une gestion fine des n° de processus Abal.

This post has been edited by GUIARD on 12/11/20 19:21

Attached Image
Attached Image
PMEmail PosterUsers Website
Top
ChV17
Posted: 13/11/20 08:56
Quote Post


Ultra User
****

Group: Membre
Posts: 396
Member No.: 1213
Joined: 18/09/06
Submissions: None Submitted
Downloads: No Files Downloaded



Merci

Effectivement, savoir qui bloque est intéressant, mais ça, je n'ai aucune idée de la manière à identifier qui est connecté sur l'article.
S'il faut refaire toute la programmation, autant revoir tout le système.
D'ici 2 ans, j'espère que mon patron aura une meilleure ouverture d'esprit, car il faudra changer notre gestion de production avant 2 ans (départ en retraite).

Sinon, j'ai exploré le code et j'ai vu des interceptions d'erreur sur modification d'un enregistrement, et si c'est le cas, le code article est enregistré dans un tableau de 20 éléments.
A la fin du traitement, toutes les lignes de l'inventaire sont marquées comme effectuées (positionnement d'un drapeau dans le fichier pour chaque ligne d'article).
Puis le tableau des erreurs est exploré, un test sur la première ligne du tableau pour voir s'il y a quelque chose et si, on explore les autres lignes.

Si oui, le drapeau de cet article est de nouveau placé sur 0 et le processus revient au début de traitement en avertissant l'utilisateur qu'il est nécessaire de faire sortir tout le monde avant de recommencer le traitement.

Il y avait un BUG dans ce dernier traitement, ce n'était pas la première ligne du tableau qui était testée, mais la seconde.

Le bug est d'avoir mis x=1 au lieu de x=0
Je pense que cette erreur date de l'origine du source.

CODE
x=1
g_flag=0
repeat
 x=x+1
 if tab_err(x)=space(9)
   x=20
 else
   POSIT=16,"INVART='"+tab_err(x)+"',INVDAT='"+inv_dat+"'":NEXT,ERR,A
   g_flag=1
   while err=0
     DOWN=16:NEXT,ERR,CLE_INV,152
     if err=0
       inv_flg="0"
       modif=16,cle_inv:next,err,rec_inv,128
       if err<>0
         print=1:tab(1,24),space(79)
         print=1:tab(1,24),"Erreur num‚ro : ",(n2z),err
       endif
     endif
   wend
 endif
until x=20


La détection fonctionne de nouveau.
Mais identifier l'utilisateur, je ne sais pas faire.
PM
Top
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

Topic Options Reply to this topicStart new topicStart Poll

 

webcron.org Get Firefox! prologue-community.org est monitoré par ikoula.fr Referenceur Gratuit www.prologue-community est mis en évidence sur internet grace à daubresse.fr
moteur de recherche - referencement
Conformément à l'article 34 de la loi "Informatique et Liberté" vous disposez d'un droit d'accès, de modification, de rectification et de suppression des données qui vous concernent.
Pour l'exercer, merci de nous contacter : CONTACT US

www.prologue-community.org n'est pas enregistré à la CNIL
www.prologue-community.org est hébergé sur visit.fr

www.prologue-community.org est indépendant de la société Prologue
Une grande partie des logiciels et outils cités sur www.prologue-community.org sont des produits et marques déposées par la société Prologue


MKPortal M1.1 Rc1 ©2003-2005 All rights reserved
Page generated in 0.01128 seconds with 2 queries