Bonjour,
je rencontre des problèmes de verrouillage d'enregistrement
dans un programme utilisant le controle de validation
sur des fichiers en carte F et des mises à jour par sql ne sont
plus possibles sur ces enregistrements dans ce programme.
je ne sais pas pourquoi la mise à jour par sql devient impossible.
Si vous avez une idée ou rencontré le meme probleme,
merci par avance pour vos réponses.
sqlrpgle, exec sql update et carte f en mise à jour comité
-
- Site Admin
- Messages : 813
- Enregistré le : mer. 14 févr. 2007, 18:00:03
- Localisation : Nantes
- Contact :
code erreur SVP
Pouvez vous nous donner :
1/ le code erreur
2/ un extrait du code concerné
PS: je ne comprend pas, vous parlez de mise à jour SQL et de carte F, vous faites les deux en même temps ?
1/ le code erreur
2/ un extrait du code concerné
PS: je ne comprend pas, vous parlez de mise à jour SQL et de carte F, vous faites les deux en même temps ?
Christian Massé (Volubis.fr)
(sans texte)
apparemment apres analyse,
le probleme reside sur le fait que les enregs créés sous controle validation reste tenu en mise a jour( c'est normal je pense !).
lorsqu'un autre utlisateur parcourt le fichier si la selection n'est pas assez fine, il tombe sur ces fameux enregistrements.
d'ou un plantage si c'est en rpgle(read) sinon rien en sql si on ne teste pas le sqlcod.
est ce que cela vous semble une explication envisageable ?
sinon je vois pas trop !!???
le probleme reside sur le fait que les enregs créés sous controle validation reste tenu en mise a jour( c'est normal je pense !).
lorsqu'un autre utlisateur parcourt le fichier si la selection n'est pas assez fine, il tombe sur ces fameux enregistrements.
d'ou un plantage si c'est en rpgle(read) sinon rien en sql si on ne teste pas le sqlcod.
est ce que cela vous semble une explication envisageable ?
sinon je vois pas trop !!???
-
- Site Admin
- Messages : 813
- Enregistré le : mer. 14 févr. 2007, 18:00:03
- Localisation : Nantes
- Contact :
COMMIT
Avez vous validé (COMMIT) les insertions et les mises à jour ?
si vous êtes avec COMMIT(*CHG), c'est impératif !
si vous êtes en format libre
si vous êtes avec COMMIT(*CHG), c'est impératif !
Code : Tout sélectionner
C/EXEC SQL
C+ COMMIT
C/END-EXEC
Code : Tout sélectionner
EXEC SQL
COMMIT ;
Christian Massé (Volubis.fr)
(sans texte)
Bonjour,
Tout va bien, on a enfin trouvé LE POURQUOI.
On avait le code suivant par endroit
setll ( x1: x2 : x3 ) format;
reade (x1: x2: x3) format;
le probleme de ce code en plus d'etre faux peut faire planter (allocation impossible de l'enregistrement) en lisant des enregs avec reade ( c'etait notre cas...).
On l'a remplacé par le code suivant
setll ( x1: x2 : x3 ) format;
if %equal;
reade (x1: x2: x3) format;
endif;
Cordialement.
Tout va bien, on a enfin trouvé LE POURQUOI.
On avait le code suivant par endroit
setll ( x1: x2 : x3 ) format;
reade (x1: x2: x3) format;
le probleme de ce code en plus d'etre faux peut faire planter (allocation impossible de l'enregistrement) en lisant des enregs avec reade ( c'etait notre cas...).
On l'a remplacé par le code suivant
setll ( x1: x2 : x3 ) format;
if %equal;
reade (x1: x2: x3) format;
endif;
Cordialement.