-
*scs/*afpds
Hallo
In einem Printerfile gebe ich auf einer Zeile zwei Felder aus. Zuerst ein Textfeld, das 7 Stellen lang ist und auf Stelle 37 beginnt; die letzte der 7 Stellen wird demnach auf Stelle 43 gedruckt. Das zweite Feld ist ein numerisches Feld mit 6 Stellen, keine Dezimalstellen. Der Inhalt ist 123456. Dieses Feld wird beginnend auf Stelle 45 ausgegeben, aufbereitet mit EDTCDE(Z).
Wenn ich das Printerfile als *scs umgewandle, erscheinen die zwei Felder auf meinem Laserdrucker (mit HPT) wie sie sollen. Wandle ich hingegen das Printerfile als *afpds um, habe ich ein Problem, wenn ich auf meinem HPT-Laser drucke. Die 6 Ziffern werden nach links verschoben, so dass das '1' zwischen die zweitletzte und die letzte Stelle des Textfeldes gedruckt werden; die zwei Felder werden also zum Teil übereinander gedruckt. Wird auf einem *ipds-Drucker gedruckt, ist es hingegen in Ordnung. Warum geht es als *afpds-Printerfile auf dem HPT-Drucker nicht?
Besten Dank im voraus
Gruss
jgv
-
Es scheint, dass ich mein Problem gelöst habe. Das Textfeld war ein Feld mit 43 Stellen, wovon die ersten 36 leer waren; das Feld wurde auf Position 1 ausgegeben. Ich habe dies nun in ein Feld mit 7 Stellen geändert, das beginnend auf Position 37 ausgegeben wird. Nun funktioniert es.
Mein Problem hang offenbar damit zusammen, wie HPT die Leerstellen berechnet.
Gruss
jgv
-
Hierzu habe ich schon mal längere Ausführungen irgendwo abgegeben:
Bei SCS wird die komplette Seite durch HPT berechnet.
Dann wird die Seite in den bedruckbaren Bereich (Margin's) verschoben.
Dies ist allerdings abhängig davon, ob Felder in Zeile 1 oder Spalte 1/2 ausgegeben werden. Ist dies nicht der Fall, erfolgt auch keine Verschiebung.
Bei AFPDS erfolgt die Verschiebung je Feld (das hat mit Leerzeichen nichts zu tun).
Also, wird eine Feld auf 1,1 ausgegeben, wird es z.B. auf 3,2 verschoben, bei einer Ausgabe >2,1 erfolgt keine Verschiebung.
Damit erklärt sich auch obiges Verhalten:
Das Feld auf Spalte 1 wurde auf Spalte 3 verschoben, das Feld auf Spalte 37 bleibt wo es ist.
Das ist übrigens das häufigste Problem bei der Umstellung von SCS auf AFPDS.
-
Vielen Dank für die interessante Ausführungen.
jgv
-
Versuchs doch mal mit dem Parameter "Schriftart Kennung (FONT) *CPI" beim CRTPRTF. Das hilft in der Regel bei solchen Verschiebungen.
Gruß
Dirk
-
Das hat mit dieser Art der Verschiebung (SCS-Seitenweise, AFPDS-Feldweise) nichts zu tun.
-
Das hat zwar nicht mit der Verschiebung der Ränder und der 1. Spalte zu tun, aber wie beschrieben beginnt er ja auch nicht in Spalte 1 mit dem drucken sonder in 37.
Schein eher an der Laufweitenberechnung der Schriftart zu liegen. Und die wird von HPT je nach der FONT-Einstellung des Printerfiles anders gemacht. *DEVD führt hier zu dem o. g. Effekt, weil die Leerzeichen schmäler berechnet werden.
Aber jgv hat sein problem ja eh schon gelöst...
Gruß
Dirk
-
Wenn ich einen FIXED-Font (011=Courier) verwende ist ein Space genausobreit wie jedes andere Zeichen.
Verwende ich einen variablen Font (z.B. Arial) kann ich mit Positionierungen nichts mehr erreichen, da leider grundsätlich linksbündig ausgeben wird.
Der rechtsbündige Tabulator fehlt da irgendwie.
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