[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    Oct 2001
    Beiträge
    15

    STRQMQRY mit OVRPRTF läuft auf Fehler

    Hallo Forum,

    ich habe ein CL-Programm, dass via STRQMQRY eine Abfrage ausführt. Das Abfrageergebnis soll als PDF im IFS ausgegeben werden. Dazu ändere ich das Printerfile entsprechend mit einem OVRPRTF - so wie ich das an anderer Stelle auch tue.

    Wenn ich es ausführe, bekomme ich einen Programmabbruch.

    Hier das CL:
    PGM
    DCL VAR(&PARFIR) TYPE(*CHAR) LEN(3) VALUE('001')
    DCL VAR(&PDFTIME) TYPE(*CHAR) LEN(20)
    DCL VAR(&PDFSTMF) TYPE(*CHAR) LEN(255)
    RTVSYSVAL SYSVAL(QDATETIME) RTNVAR(&PDFTIME)
    CHGVAR VAR(&PDFSTMF) VALUE('/FIBUORDNER/RGLISTE' +
    *CAT &PARFIR *CAT &PDFTIME *CAT '.PDF')
    OVRPRTF FILE(QPQXPRTF) DEVTYPE(*AFPDS) PAGESIZE(48 +
    120) ALIGN(*YES) TOSTMF(&PDFSTMF) WSCST(*PDF)
    STRQMQRY QMQRY(RGSEPABALI) OUTPUT(*PRINT)
    ENDPGM

    Die Einträge im Jobprotokoll sind:
    call rgsepatest
    Datei ist vorhanden. (CPE3457)
    Datei QPQXPRTF in QSYS nicht geöffnet. (CPF4208)
    -> 6 -- Angegebene Datenstromdatei ist bereits vorhanden.
    Ausdruck des Berichts fehlgeschlagen.

    Da der Dateiname unter Nutzung eines Timestamps erzeugt wird, kann es eigentlich nicht vorkommen, dass die Datei vorhanden ist.

    Ich habe Folgendes noch versucht:
    - Festen Dateiname im OVRPRTF - gleiche Meldung, Datei ist mit WKRLNK nicht zu finden.
    - Ausführung ohne OVRPRTF - funktioniert, dann SCS-Ausgabe (Standard)
    - PDF-Angaben manuell im PRTF geändert - funktioniert

    Hat jemand eine Idee, warum der OVRPRTF anscheinend zu dem Fehler führt?
    System läuft unter V7R4.
    Danke.

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.873
    Auf welcher Ebene erfolgt denn der Override? OVRSCOPE *JOB oder Default *ACTGRP?
    ggf. mal mit Override Scope *JOB versuchen.
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  3. #3
    Registriert seit
    Oct 2001
    Beiträge
    15
    Der Override erfolgte auf Ebene Default *ACTGRP. Änderung auf *JOB führt leider nachwievor zum Fehler, ebenso wie *CALLLVL.

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Der einzige Hinweis bzgl. des Fehlers den ich finde ist die Ausgabe in QDLS. QDLS unterstützt nur 8.3-Namen.
    Ist FIBUORDNER ggf. ein Link ins QDLS? Ältere Fibu-Programme haben damit gearbeitet.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Oct 2001
    Beiträge
    15
    Nein, das ist ein IFS-Ordner.

  6. #6
    Registriert seit
    Apr 2008
    Beiträge
    72
    Arbeitet ihr mit mehreren ASPs?

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Dann schau dir mal genau den gebildeten Namen der IFS-Datei an.
    Du verwendets unbesehen den Wert QDATETIME. Allerdings enthält dieser den Doppelpunkt als Uhrzeittrenner und das ist ein ungültiges Zeichen im IFS-Pfad.
    Die interne Fehlerid wäre eigentlich "Invalid path- or filename".
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  8. #8
    Registriert seit
    Oct 2001
    Beiträge
    15
    Nein, wir arbeiten nur mit einer ASP.

  9. #9
    Registriert seit
    Oct 2001
    Beiträge
    15
    QDATETIME und Doppelpunkt:
    Das scheint dann automatisch "bereinigt" zu werden, jedenfalls nutze ich dieses noch an anderen Stellen genauso. Ich habe auch in der Dumpausgabe geschaut, der Wert für die Variable &PDFSTMF lautet dort z.B. /FIBUORDNER/RGLISTE00120240108181328513946.PDF
    Ich bin jetzt gestern hergegangen und habe die Query-Ausgabe als normale Druckausgabe ausgegeben, anschließend mit CPYSPLF in eine Datei geschrieben und diese dann mit CPYF in ein Printerfile kopiert. Die entsprechenden OVRPRTF habe ich mit den gleichen Variablen vorgenommen - läuft tadellos, ist m. E. aber eigentlich unnötig. Den "Umweg" wollte ich eigentlich vermeiden, da das Programm aber kritisch ist, habe ich mir jetzt nur so zu helfen gewusst.

  10. #10
    Registriert seit
    Oct 2001
    Beiträge
    15
    Nachtrag: Ich hatte das auch mit einem fixen Namen ohne Timestamp probiert, das schlug ebenfalls fehl.

  11. #11
    Registriert seit
    Apr 2017
    Beiträge
    7
    Ist der Report breiter als 120 Zeichen und es werden mehrere QPQXPRTF erzeugt.

  12. #12
    Registriert seit
    Oct 2001
    Beiträge
    15
    Der Report ist 120 Zeichen breit. Eigentlich wird nur ein QPQXPRTF erzeugt, da der Job aber interaktiv läuft, kann es natürlich schon sein, dass vorher ein Programm eine QPQXPRTF erzeugt hat. Wenn das nicht passieren darf, dann erklärt das schon den Fehler, weil ich zu dem Zeitpunkt wegen Anpassungen mehrere Querys habe laufen lassen.

Similar Threads

  1. PDF Erzeugzng mit OVRPRTF DEVTYPE(*AFPDS) WSCST(*PDF)
    By Frank21 in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 17-05-18, 16:48
  2. Problem mit AS400-Befehl OVRPRTF
    By hartmuth in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 29-03-17, 12:05
  3. Problem mit OVRPRTF und QCMDEXEC
    By Stefan_Sk in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 24-05-05, 12:40
  4. OVRPRTF im laufenden Programm
    By Skipper in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 28-06-02, 10:36
  5. OVRPRTF (SECURE, OVRSCOPE)
    By Detlev Kramer in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 22-08-01, 14:48

Tags for this Thread

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •