Bonjour à tous!
Je cherche à savoir (sans grand succès) à quel moment ou quelles conditions se termine un OVRPRTF.
Plus précisément, je travaille sur une application qui crée des rapports dans le spool et/ou l'IFS et les envoie par courriel. Tout fonctionne bien à part un truc. Si j'essaie d'imprimer dans le spool après l'avoir fait dans l'IFS j'obtiens l'erreur suivante sur l'instruction OPEN suivant le nouvel OVRPRTF (désolé pour l'anglais):
Message . . . . : Message d'erreur CPF4208 reçu pendant OPEN.
Cause . . . . . : La procédure RPG monPGM du programme maBibli/monPGM a
reçu le message CPF4208 lors d'une opération explicite OPEN sur le fichier
monFichier. Le fichier réel est monFichier.
Ce qui m'amène à:
Message . . . . : File monFichier in maBibli not opened.
Cause . . . . . : The open operation of file monFichier in library maBibli
failed because of reason code 6:
6 -- Specified stream file already exists.
Pour comprendre un peu mieux, voici la démarche plus en détail du programme qui plante:
Appelé la première fois pour un envoi de courriel (IFS);
OVRPRTF FILE(monFichier) DEVTYPE(*AFPDS) TOSTMF(monSTMF) WSCST(*PDF) OVRSCOPE(*JOB)
OPEN monFichier
Écriture dans le fichier...
CLOSE monFichier
DLTOVR FILE(monFichier) LVL(*JOB)
Fin du programme.
Le programme appelant fait un RCLRSC.
Appelé la seconde fois pour une impression (spool):
OVRPRTF FILE(monFichier) (il me manque peut-être certains détails sur cet OVRPRTF...)
OPEN monFichier --> et BANG! Ça plante!!
Pitié-au-secours-s'il-vous-plait-aidez-moi-merci-d'avance!
Partager