[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    May 2004
    Beiträge
    470

    Anzahl Druckzeilen vor Druck des Satzformats ermitteln

    Hallo zusammen,

    gibt es eine Möglichkeit (vielleicht auch über ein API) herauszufinden wieviele Zeilen gedruckt werden wenn ich einen WRITE auf ein Satzformat einer Druckerdatei mache.

    Also während der Laufzeit natürlich. Vor dem Write erkennen wieviele Zeile für den Write gedruckt werden. Auch unter Berücksichtigung eventueller Bezugszahlen

    Danke für Eure Mühe

    Viele Grüße Harald

  2. #2
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    Hi,
    nicht das ich wüsste, hier ist eher Handarbeit angesagt.
    erfass dir 2 Tabellen, eine mit Satzformatname und Anzahl Zeilen und eine mit Satzformat concat Bezugszahl und (je nach Mengengerüst) + oder - Zeilen. Das ganze möglichst extern und dann lässt du dir von einer Funktion die Druckzeilen geben

    eval AnzZei = getDrkZei(satzformat:*in) oder ähnlich

    gruß
    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Da du das Druckformat in deinem Programm doch sowieso kennst und per Bezugszahlen die Zeilen steuerst, kannst du diese auch ganz leicht selber ausrechnen:

    AnzZeil = 1; // Default
    if *in51 = *on;
    AnzZeil += 1;
    endif;
    if *in52 = *on;
    AnzZeil += 1;
    endif;
    if *in53 = *on;
    AnzZeil += 1;
    endif;
    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
    Registriert seit
    Apr 2005
    Beiträge
    385
    Du kannst das auch über eine INFDS auf dem PRTF herausfinden.

    Dort findest du die aktuelle Zeilen-Nr. und die die Anz. Zeilen der PRTF.

    D.h. du kannst bei einem Mehrfachausdruck eines Satzformates bei erstem mal ermittlen auf welcher Zeile das Programm steht und nach dem WRITE wieder die aktuelle Zeile geben lassen.

    EVAl ZEILE1 = AKTZEI
    WRITEFORMAT1
    EVAL ZEILE2 = AKTZEI
    ANZZEI = ZEILE2 - ZEILE1

    Sicherlich keine Musterlösung ab in 80% der Fälle müsste es gehen. Sobal aber ein SKIPB/SKIPA oder aber es erfolgte gerade ein Seitenwechel ist sicherlich etwas mehr rechnerrei angesagt!

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Die Aufgabe war:

    Vor dem write !
    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
    Mar 2002
    Beiträge
    5.365
    ... sowas vermisse ich in meinem Auto, eine Anzeige, die mir vor Antritt der Fahrt anzeigt ob der Sprit noch reicht...


    Zitat Zitat von Fuerchau Beitrag anzeigen
    Die Aufgabe war:

    Vor dem write !
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Meins gibt da auch nur eine Schätzung ab (Reichweite).

    Interessant wäre noch der Status, ob das Papier denn noch reicht und die Tinte voll ist.
    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
    Mar 2002
    Beiträge
    5.365
    ... bei ÖKO-COBOL-2010 kann man ja wenigstens den Druck mit READ FROM PRINTER wieder rückgängig machen, wenns nicht mehr drausgepasst hat, oder mit WRITE BACKSIDE auf der Rückseite weiterdrucken...


    Zitat Zitat von Fuerchau Beitrag anzeigen
    Meins gibt da auch nur eine Schätzung ab (Reichweite).

    Interessant wäre noch der Status, ob das Papier denn noch reicht und die Tinte voll ist.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  9. #9
    Registriert seit
    May 2006
    Beiträge
    88
    Wir haben so etwas für die Ausgabe von Postscript im Einsatz. Statt der max. Seite eines Dokuments wird ein Platzhalter eingefügt und bei der Ausgabe durch den Wert der später ermittelten Seitenanzahl ersetzt.
    Vielleicht kannst Du dies ähnlich gestallten.

  10. #10
    Registriert seit
    May 2004
    Beiträge
    470
    Erstmal Danke für alle Antworten.

    Aber eigentlich sollte es darauf hinauslaufen dass man ja normalerweise vor dem Drucken abfragt

    z.B.

    if Zeile > 66
    write Kopf
    endif
    write Pos

    Jetzt kann es aber sein dass das Pos Format mal eine Zeile hat oder mal 3 oder mal 5.

    Die Zahlen möchte ich aber nicht fix im Programm angeben sondern irgendwas liefert mir diesen Wert (API, INFDS) was auch immer damit ich z.B. es so angeben kann

    If Zeile + "ermittelterWert" > 66
    write Kopf
    endif
    write Pos

    Aber wahrscheinlich gibts da wohl eher nix und ich muss mein "ermittelterWert" wieder selbst füllen.

Similar Threads

  1. OPNQRYF Anzahl Datensätze ermitteln
    By timeless in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 04-05-10, 12:33
  2. SQL zumThema Arbeitstage des Monats ermitteln
    By Anderer, Ludwig in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 16-07-08, 14:49
  3. Arbeitstage des Monats ermitteln
    By Anderer, Ludwig in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 15-07-08, 15:04
  4. Parameter des aurufenden Programms ermitteln
    By GreatEMU in forum NEWSboard Programmierung
    Antworten: 10
    Letzter Beitrag: 29-03-07, 10:39
  5. Größe des IFS, wie ermitteln?
    By Spirou in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 17-04-02, 09:54

Berechtigungen

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