[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    May 2009
    Beiträge
    15

    Query nur drucken, wenn Ergebnissätze vorhanden sind?

    Hallo zusammen,

    vielleicht gibt es da eine Möglichkeit.

    Ich habe hier mehrere Querys, die immer montags zu Kontrollzwecken gedruckt werden. Allerdings enthalten sie häufig keine Sätze, und da ist es eigentlich Papierverschwendung, das Ergebnis wirklich zu drucken.

    Gibt es denn eine Möglichkeit, das Drucken eine Querys zu unterbinden, wenn es keine Ergebnissätze liefert?

    Wenn mir da jemand helfen würde, wäre das echt gut.

    Danke und Grüße
    Daniel

  2. #2
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    Auf reiner Query ebene ist mir da nix bekannt.
    Druck halt nicht, sondern schau dir die Ergebnisse im Spool an.
    Vielleicht kannst du es so hinmanipulieren, das dein Ergebnis s auf Seite 2 gedruckt wird. Dann kannst du einseitige spools ohne anzusehen löschen. oder das sogar automatisieren.
    Gruß
    Robi

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Wie wärs mit einem vorherigen OVRPRTF ... HOLD(*YES) ?
    Dann wird erst nach expliziter Freigabe gedruckt.

    Altenrativ:
    1. Aufruf mit Ausgabe in Datei, wenn per RTVMBRD NBRCURRCD (oder so) Sätze vorhanden, dann 2. Aufruf mit Druckausgabe.
    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

  4. #4
    cbe is offline [professional_User]
    Registriert seit
    May 2005
    Beiträge
    392
    Hallo Daniel,

    Vorschlag: anstatt direkt zu drucken schreib das Ergebnis des Queries in eine Datei und frag dann ab, ob Sätze drin sind.
    Wenn ja, kannst Du entweder das Query nochmal ausführen als Druck oder die Tempdatei ausgeben, je nachdem, wie laufzeitaufwendig das Query ist.
    Code:
    DCL        VAR(&NBRCURRCD) TYPE(*DEC) LEN(10 0) 
    ...
    RTVMBRD    FILE(QTEMP/FTP1000P) NBRCURRCD(&NBRCURRCD) 
    IF         COND(&NBRCURRCD > 0) THEN(DO)
    ...
    So machen wir es, nur dass wir die Queries dann per eMail versenden. (Listen mag ich nicht so gern, die kann ich z.B. vom homeOffice sclecht lesen ...)


    Gruß,
    Christian

  5. #5
    Registriert seit
    Jan 2004
    Beiträge
    24
    Hier die Lösung von CBE noch einmal etwas ausführlicher:

    /* Wenn durch die 1. Query mindestens ein Satz gespeichert wird: */
    /* Aufrufen der 2. Query */

    RUNQRY QRY(QRY01) OUTTYPE(*OUTFILE) +
    OUTFILE(QTEMP/QRY01P *FIRST *RPLFILE)

    RTVMBRD FILE(QTEMP/QRY01P) NBRCURRCD(&NBRCURRCD)

    IF COND(&NBRCURRCD *NE 0) THEN(DO)
    RUNQRY QRY(QRY01)
    ENDDO

Similar Threads

  1. QueryManager / Query ---> Aufruf mit Variablen
    By Kaufmann in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 29-11-06, 18:07
  2. ASCII drucken
    By kug in forum NEWSboard Drucker
    Antworten: 4
    Letzter Beitrag: 23-09-06, 07:40
  3. Query Manager -_-
    By Azubiiiiii in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 03-08-06, 09:44
  4. negative Rückmeldung mit Prüfdaten beim Drucken
    By horni in forum NEWSboard Drucker
    Antworten: 8
    Letzter Beitrag: 29-05-06, 11:32
  5. Query und Datum
    By Hubert Brethauer in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 05-05-06, 12:37

Berechtigungen

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