Bonjour,
Me voilà à devoir corriger un problème sur un bon vieux programme en RPG ILE, avec un écran vert et ses DDS.
Ce programme étant sensible et conséquent (8000 lignes, sans compter les includes et procédures externes), je ne peux me permettre de le réécrire avec mes outils et interfaces habituels.
Cette saisie de commandes, affiche un sous-fichier des lignes, qui peut être tronqué ou non, via le mot-clé SFLDROP.
Quand on appelle une ligne en modification on lit le sous-fichier, on ouvre le format de saisie en bas d'écran, puis on met à jour le sous-fichier en conséquence quand l'utilisateur valide.
Çà fonctionne parfaitement, sauf dans un cas.
Si l'utilisateur appelle la ligne en modification, puis qu'il presse la touche liée à SFLDROP, l'écran affiche correctement le sous-fichier (tronqué ou étendu), mais à la validation, paf. CPF5011, Update sans Read préalable.
Or le SFLDROP est géré par le système, il se fait sans que le programme n'en sache rien (le contrôle n'est pas rendu, même avec une touche CF). Du coup, mon code n'est jamais au courant s'il doit relire le sous-fichier.
Quelqu'un a t-il déjà vécu la même chose, ou y aurait-il une idée de génie qui me permettrait de régler le problème ? Relire le sous-fichier avant de le mettre à jour est bien une solution, mais extrême, car il y a presque 80 champs dedans, qu'il faudrait sauvegarder avant lecture puis remettre après lecture.
Partager