-
Die Bezugszahl für Überlauf wird nach der Ausgabe gesetzt, der Druck ist also erfolgt!
Da du die Summenzeile also 2 mal ausgibst, wird sie auch 2 Mal gedruckt.
Im Extremfall kann es auch dazu kommen, dass ein automatischer Seitenwechsel innerhalb der Summenzeilen passiert.
Wenn Z.B. auf Zeile 66 (vor dem Überlauf) ein Format mit 6 Zeilen ausgegeben wird, werden eben 5 Zeilen auf der aktuellen und 1 Zeile auf der nächsten Seite ausgegeben.
Anschließend erfolgt der Kopfdruck mit einem erneuten Seitenwechsel (SKIPB).
Hier hilft nur eine INFDS (Beschreibung und Aufbau musst du suchen).
Hier gibt es eine aktuelle Info auf welcher Zeile die PRTF ist und wie der Überlauf definiert ist.
So kann man den Überlauf vorher prüfen.
Das funktioniert aber nur mit Formaten, die SKIP und SPACEx verwenden. Bei AFPDS mit POSITION wird ja frei auf der Seite positioniert.
-
Hallo und vielen Dank fuerchau, das erklärt Einiges. Manchmal sieht man den Wald vor lautere Bäumen nicht...
Das PrtF wird hier mit devtype(*SCS) überschrieben. Meine Analyse ergab jetzt auch gerade, dass sämtlich Barcodes zwar im Prg ermittelt und gefüllt werden, aber seit 2003 im Prg definiert und im PrtF ausgesternt wurden. Auch die ganzen Escape-Sequenzen scheinen keinerlei Auswirkungen mehr zu haben...
Es scheint wirklich nur noch mit SKIPB und SPACEB gearbeitet zu werden 
Ich mache mich gleich mal auf die Suche nach der INFDS und prüfe dann den ob es zu einem Überlauf kommt(neue Seite mit Summe oder ob die Summe noch auf die aktuelle Seite paßt).
Vielen Dank, dann habe ich ja evtl. doch noch 2-3 Std. von meinem "Urlaubstag" übrig...
-
INFDS
Hi,
falls es hilft hier die beiden Zeigerfelder für Seite und Zeile:
fmkublsp1 o e printer infds(prtds)
dprtds ds
d $$zeile 367 368i 0
d $$seite 369 372i 0
Klaus
-
Hallo und vielen Dank nochmals an alle Beteiligten.
Es funktioniert jetzt dank fuerchau genauso wie es soll...
@K-tippi
genauso hab ich es auch gemacht und jetzt läuft alles wie gewünscht(Lösung siehe unten).
Hier der Source-Code, falls jemand mal ein ähnliches Problem mit Sourcen aus dem letzten Jahrtausend haben sollte...
FPrtF01 O E PRINTER USROPN
f INFDS( prtfInfDs )
d #HCurLin s 2 0
d PrtFInfDS ds
d OvrFlw 188 189i 0
d CurLin 367 368i 0
C *IN26 IFEQ *ON
C eval #HCurlin = CurLin
C eval #HCurLin += 3
C #HCurLin ifge OvrFlw
C 27 eval #PageV += 1
C 27 WRITE KOPF04 BZ28(NI)
C EXSR KOPTXT
C ENDIF
C 27 WRITE SUMME BZ28(NI)
C ENDIF
-
Wenn du schon bei ILE bist gehts auch so:
if CurLin + 3 >= OvrFlw
dann sparst du dir das Hilfsfeld.
-
@ fuerchau,
wenn ich mir das heute so anschaue muss ich Dir vollkommen Recht geben. Das Hilfsfeld hätte ich mir sparen können.
Similar Threads
-
By RaMai in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 28-11-06, 08:59
-
By johann_krieg in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 07-10-06, 10:29
-
By Jump4738 in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 06-10-06, 16:08
-
By muadeep in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 03-07-06, 10:50
-
By timeless in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 24-05-06, 07:37
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