sqlrpgle, exec sql update et carte f en mise à jour comité

RPG (3 et 4, free), CL, SQL, etc...
Répondre
manae
Messages : 58
Enregistré le : mar. 21 juin 2011, 07:08:24

sqlrpgle, exec sql update et carte f en mise à jour comité

Message par manae »

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.

cmasse
Site Admin
Messages : 813
Enregistré le : mer. 14 févr. 2007, 18:00:03
Localisation : Nantes
Contact :

code erreur SVP

Message par cmasse »

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 ?
Christian Massé (Volubis.fr)

manae
Messages : 58
Enregistré le : mar. 21 juin 2011, 07:08:24

(sans texte)

Message par manae »

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 !!???

cmasse
Site Admin
Messages : 813
Enregistré le : mer. 14 févr. 2007, 18:00:03
Localisation : Nantes
Contact :

COMMIT

Message par cmasse »

Avez vous validé (COMMIT) les insertions et les mises à jour ?

si vous êtes avec COMMIT(*CHG), c'est impératif !

Code : Tout sélectionner

C/EXEC SQL
C+   COMMIT
C/END-EXEC
si vous êtes en format libre

Code : Tout sélectionner

  EXEC SQL
             COMMIT ;
Christian Massé (Volubis.fr)

manae
Messages : 58
Enregistré le : mar. 21 juin 2011, 07:08:24

(sans texte)

Message par manae »

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.

Répondre