-
Seitennummerierung
Hallo habe folgendes Problem!
Also:
Ich lese eine Subfile und gebe ausgewählte Sätze in einer Spoolfile aus!
Das funktioniert auch!
Nun will ich jeweils im Kopf auf jeder Seite die Seitenzahl ausgeben nach folgendem Muster!
Seite: 1 von: 9
die Frage ist wie kann ich ermitteln wieviele Spoolfileseiten es werden ohne den Druck vorher gemacht zu haben??
Weil es soll ja im Kopf stehen!
Hatte schon dran gedacht mit der Relativensatznummer der Subfile zu arbeiten und dann die anzahl der Sätze / anzahl der gedruckten Sätze pro Seite
Aber dann kriege ich gegebenenfalls keine ganzenZahlen!
Gibt es da die Möglichkeit aufzurunden??
Wenn ja wieder oder habt ihr noch andere Ideen??
Gruß Toschie
-
Platzhalter und Kopieren
Hallo,
die einfachste Möglichkeit ist, die Spool-Datei zu erstellen. An der Stelle, wo die Gesamt-Zahl der Seiten stehen soll druckst Du einen Platzhalter z.B. XXXXX. Anschließend kopierst Du die Spoolfile in eine Datenbankdatei, ersetzt den Platzhalter durch die tatsächliche Anzahl der Seiten und kopierst die Datei wieder zurück.
Die andere Möglichkeit wäre, das Programm 2x auszuführen. Beim ersten Mal nur die Anzahl der Seiten zählen, jedoch nicht drucken und beim zweiten Durchlauf den tatsächlichen Druck ausführen.
Die Anzahl der Zeilen in der Subfile zählen und dann dividieren halte ich nicht für so gut. Du könntest in deiner Printerfile unterschiedliche Formate mit unterschiedlichen Zeilenzahlen habe und damit könnte die Anzahl der Zeilen auf den einzelnen Seiten variieren.
Birgitta
-
Hallo Toschi,
Die höchste relative Satz-Nr. der Subfile zu verwenden, halte ich für die einfachste und beste Lösung. Das ermittelte Ergebnis, sofern keine ganze Zahl, aufrunden auf die nächste GanzZahl.
Das ständig Printerfiles mit unterschiedlicher Seitenlänge gedruckt werden für eine bestimmte Anwendung, halte ich für ein Gerücht. Die Lösung, aus dem Spoolfile eine phys. Datei zu erstellen und diese weiter zu bearbeiten würde ich nur dann verwenden, wenn evtl. je Subfile-Satz eine unterschiedliche Zahl von Ausgabe-Zeilen erstellt werden soll und ein Errechnen der Gesamtseitenzahl nicht möglich wäre.
mfg Ludger
-
Hallo Toschie,
es gibt da ein Freeware-Tool PAGEXOFY. Das macht genau das, was Birgitta in ihrer ersten Variante beschrieben hat. Wir benutzen das selbst und es funktioniert sehr gut.
Gruß,
KM
-
Zitat von loeweadolf
Hallo Toschi,
Das ständig Printerfiles mit unterschiedlicher Seitenlänge gedruckt werden für eine bestimmte Anwendung, halte ich für ein Gerücht. Die Lösung, aus dem Spoolfile eine phys. Datei zu erstellen und diese weiter zu bearbeiten würde ich nur dann verwenden, wenn evtl. je Subfile-Satz eine unterschiedliche Zahl von Ausgabe-Zeilen erstellt werden soll und ein Errechnen der Gesamtseitenzahl nicht möglich wäre.
mfg Ludger
Das mag für den "Hausgebrauch" funktionnieren, aber selbst da gibt es unterschiedliche Benutzer, die auf unterschiedlichen Druckern mit unterschiedlichem Papier drucken können oder wollen. Kann dies über eine Druckersteuerung angewählt werden, bei der die Printerfile mit einer anderen Seitenlänge überschrieben wird, sieht man schon alt aus!
Birgitta
-
Zitat von B.Hauser
Das mag für den "Hausgebrauch" funktionnieren, aber selbst da gibt es unterschiedliche Benutzer, die auf unterschiedlichen Druckern mit unterschiedlichem Papier drucken können oder wollen. Kann dies über eine Druckersteuerung angewählt werden, bei der die Printerfile mit einer anderen Seitenlänge überschrieben wird, sieht man schon alt aus!
Birgitta
Hallo Birgitta,
seit 30 Jahren bin ich in der IT beschäftigt, unter anderem jahrelang für ein Software-House mit unterschiedlichen Kunden. Anwendungen, bei denen der User die Seitenlänge auswählen kann und will, sind in der Praxis eher die Ausnahme.
Bei einer Programmerstellung sollte man auch die Effektivität (Kostenseite) im Auge haben. Nicht alles, was schön wäre, ist auch sinnvoll.
mfg. Ludger
öLunmden
-
Zitat von loeweadolf
Hallo Birgitta,
seit 30 Jahren bin ich in der IT beschäftigt, unter anderem jahrelang für ein Software-House mit unterschiedlichen Kunden. Anwendungen, bei denen der User die Seitenlänge auswählen kann und will, sind in der Praxis eher die Ausnahme.
Bei einer Programmerstellung sollte man auch die Effektivität (Kostenseite) im Auge haben. Nicht alles, was schön wäre, ist auch sinnvoll.
mfg. Ludger
öLunmden
Dann hast Du in einem anderen Software-House gearbeitet als ich. Bei uns kann und werden vom Kunden unterschiedliche Drucker mit unterschiedlichem Papier für die gleichen Listen benutzt. Beispiel: In mehreren Standorten oder unterschiedlichen Lägern werden die Picklisten auf unterschiedlichen Druckern gedruckt, z.B. einmal mit 48 Zeilen pro Seite und das andere mal mit 72 Zeilen. Der Kunde wird den Teufel tun, überall die gleichen Drucker zu installieren.
Kostenseite gut und schön, aber der Kunde ist König und solche Geschichten lassen sie mit einer ordentlichen Druckersteuerung, bei der zwar nicht unbedingt der Anwender, aber der Abteilungs-Leiter oder die IT-Abteilung, unterschiedliche Einstellungen vornehmen kann, relativ leicht zu lösen.
Birgitta
-
Zitat von B.Hauser
der Kunde ist König
Birgitta
Eben deshalb die Kostenseite beachten !
-
Hallo Toschie,
ich habe das mal über eine Tabelle gelösst. Gib die Sätze erstmal in ein Tabelle aus. Damit steht die Anzahl fest. Dann lies über die Status Datenstruktur zur Printerfile die Anzahl Zeilen pro Seite, ziehe deine Überschriften ab und du erhälst die Anzahl Positionszeilen pro Seite. Damit die Anzahl Seiten zu erechnen ist eine kKleinigkeit. Jetzt die Printerfile aus der Tabelle raus drucken und fertig ist das ganze.
Gruß Klaus
Infds:
fT4INVVGSP1o e printer INFDS(prtds)
dprtds ds
d odp_type 81 82
d file_name 83 92
d library 93 102
d spool_file 103 112
d spool_lib 113 122
d spool_num 123 124i 0
d rcd_len 125 126i 0
d key_len 127 128i 0
d member 129 138
d type 147 148i 0
d rows 152 153i 0
d collums 154 155i 0
d ov 188 189i 0
d $$zeile 367 368i 0
d $$seite 369 372i 0
-
Da kann ich Birgitta nur zustimmen.
Es gibt durchaus verschiedene Anforderungen der Formulargestaltung bis hin zu Kundenwünschen der Kunden eines Kunden.
So kann die Rechnung anders aussehen als die Gutschrift (obwohl vom gleichen Programm gedruckt) als auch der Overflow (und damit die Anzahl Positionen einer Seite) differieren. Desweiteren kann eine Positionszeile zwischen 1 und n Zeilen umfassen (z.B. variable Positionstexte) u.v.m.
Da hilft dann tatsächlich nur ein Tool, denn die Anzahl Seiten einer Liste läßt sich unter solchen Voraussetzungen nur schwierig berechnen (ausser , wie Birgitta sagt, 2x drucken, 1. Druck dann verwerfen und der 2. Druck gilt).
PS:
PC-Programme machen es da auch nicht anders. Erstmal wird alles intern seitenweise aufbereitet um anschließend tatsächlich zu drucken.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks