[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jul 2010
    Beiträge
    59

    Problem mit AS400-Befehl OVRPRTF

    Hallo, zusammen

    Ich habe eine Anwendung, die eigentlich für wenige Fälle gedacht war, wo eben eine Spool-Datei in ein PDF konvertiert wird und auch mit OVRPRTF die Daten auf bestimmten Drucker gelenkt und CPI verändert werden.
    Dabei wird Druck-Datei überschrieben und dann die betroffenen Daten aus einer Datenbank-datei in QSYSPRT kopiert.

    Seit einiger Zeit , die Anwendung ist viel umfangreicher geworden als eben gedacht, passiert es fallweise , dass Befehl aus vorigen Aufruf "nachwirkt".

    Wenn ich also z.b. aus interaktiver Sitzung eine Rg. drucke, passt es im allgemeinen.
    Wenn ich hinterher noch eine drucke, kann es passieren, dass dort wo Fettdruck gewünscht, die Zeile tatsächlich doppelt kommt (über die Steuerzeichen sollte normalerweise dann beim Abbild ein Fettdruck entstehen). Auch kann es sein, dass die folgende Druck-Ausgabe auf jenem Drucker erfolgt, der bei der ersten Ausgabe gewählt wurde.
    Alle Versuche mit div. Parametern haben nichts gefruchtet. Auch das Löschen DLTOVR hat zumindest bei den gestrigen Versuchen nicht das gewünschte ERgebnis gebracht.

    Da Rechnungen häufig gedruckt werden müssen, und ich mit dem Problem schon mittlerweile zwei Wochen kämpfe, liegen überall schon die Nerven blank.

    Abhilfe schafft nur, jede Rg. aus einer neuen Sitzung aufzurufen. Die erste Rg. funktioniert doch im allgemeinen wie vorgesehen.

    Kann mir da jemand helfen. OVRPRTF enthält ja eine Fülle von Parametern. Irgendwo ist da etwas nicht stimmig.

    Vielen Dank im Voraus

  2. #2
    Registriert seit
    Nov 2004
    Beiträge
    325
    Moin,

    zeig doch mal Dein OVRPRTF.

    mfg

    DKSPROFI

  3. #3
    Registriert seit
    Aug 2006
    Beiträge
    2.072
    Alternativ die Jobs mit sbmjob laufen lassen. Dann hast Du immer wieder eine saubere Umgebung

    GG 4812

  4. #4
    Registriert seit
    Jul 2010
    Beiträge
    59
    Es gibt mehrere, wie gesagt, leider
    Ein "typischer" sieht so aus.

    Mit OVRSCOPE(*JOB) wollte ich eigentlich die "Nachwirkungen" auf nächsten Programm-Aufruf verhindern

    OVRPRTF FILE(QSYSPRT) DEV(HP2055OPT) CPI(15) +
    OVRFLW(62) DRAWER(3) CTLCHAR(*FCFC) +
    OUTQ(*DEV) FORMTYPE(*STD) COPIES(1) OVRSCOPE(*JOB)

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Der OVRPRTF ist Ebenenbezogen als auch ACTGRP-relevant.
    Die Parameter für die Druckausgabe selber spielen da keine Rolle.

    OVRSCOPE

    *ACTGRPDFN = die ACTGRP des Aufrufers
    *JOB = Global, erklärt sich von selbst
    *CALLLVL = nur ab dieser Ebene

    Nun hängts halt davon ab, wie du den OVRPRTF aktivierst:
    CLP = Ein CLP läuft immer in der *DFTACTGRP und kann daher keine Überschreibung auf *ACTGRP einer anderen ACTGRP (also eines ILE-Programmes) machen.
    CLLE = alles ist möglich, wichtig ist, dass ACTGRP = *CALLER ist.
    RPGLE = Läuft in ACTGRP und per QCMDEXC funktioniert das dann auch (nicht bei C-System()-Funktion!).

    Problematisch ist da dann schon *CALLLVL, da häufig ein OVRPRTF aus dem Druckprogramm initiert wird und somit nach dem OVR der CALLLVL schon wieder verlassen wird.
    Hier ist die Reihenfolge CLLE mit OVR->CALL RPGLE mit Druck schon wichtig.

    Passend zum OVRPRTF muss natürlich auch der DLTOVR in der selben Ebene durchgeführt werden, sonst wird er nicht gefunden bzw. nicht gelöscht.

    Passend dazu ist auchmit OPNSCOPE ggf. umzugehen.

    Da OVR's generell mit übergeordneten Ebenen gemischt werden können, ist die Angabe SECURE ggf. erforderlich:
    *YES = OVR's höherer Ebenen werden ignoriert
    *NO = OVR's höherer Ebenen werden kombiniert

    Per DSPJOB, Auswahl 15 können die Ebenen und Kombinationen von OVR's betrachtet werden.
    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

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Nachtrag:

    a) Wieso arbeitest du mit QSYSPRT?
    b) Wieso arbeitest du mit *FCFC?

    Meist wird das doch nur nach einem CPYSPLF zur Wiederherstellung von Spools benötigt.
    Zum Erstellen von PDF's und sonstigen Drucken würde ich dir auf jeden Fall eigene PRTF's (bei PDF mit der Art *AFPDS) empfehlen. Du hast dann viel mehr Möglichkeiten.
    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

  7. #7
    Registriert seit
    Jul 2010
    Beiträge
    59
    Wie gewohnt eine perfekte Antwort. Vielen DANK schon mal. Jetzt sollte es selbst mir gelingen die funktionierende Anwendung zu schaffen.

Similar Threads

  1. OVRPRTF FILE(QPDSPSFA) HOLD(*YES)
    By Robi in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 26-02-14, 09:33
  2. FTP auf AS400 Problem: SATZLÄNGE
    By sarlt in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 16-08-02, 09:36
  3. OVRPRTF im laufenden Programm
    By Skipper in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 28-06-02, 11:36
  4. AS400 adv 36 cnfigssp Problem
    By pal in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 06-12-01, 13:32
  5. OVRPRTF (SECURE, OVRSCOPE)
    By Detlev Kramer in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 22-08-01, 15:48

Berechtigungen

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