PDA

View Full Version : Zeilenvorschub



Techniker
22-01-09, 11:51
Hi

ich habe heute ein sehr interessantes Problem:

Wir haben mehrere V5R4 Partitionen.
Auf unserem Test System haben wir eine Remoteoutque eingerichtet. Sie verfügt über ein *WSCST Objekt und überträgt uns Spoolfiles in ein Archievsystem, wo sie als PDF gespeichert werden.
Das funktioniert auch Super. Deswegen wollten wir das ganze auf unser Live System übertragen. Dort lief es sofort. Aber leider mussten wir feststellen das eine zwei oder drei Listen im Archivsystem mit jeweils einer Vorschubzeile eintreffen.

Bsp:

hallo
du
da

wird zu:
hallo

du

da

Sehr komisch. Alle andereen listen kommen normal raus.

Wie kommt so etwas.
Wir haben die Remoteoutque, das *WSCST Objekt und den Spool (Send Spoolfile) noch mal komplett vom Testsystem kopiert. Keine Änderung.

Wenn ich den Spool aber direkt auf einen IP Drucker gebe sieht er wunderbar aus.

Gibt es noch Objekte die ich Vergleichen kann?

Ich habe auch noch ein zweites Testsystem für den Test herangezogen, da kommt die Liste auch ganz normal raus.

Der Techniker

Techniker
27-01-09, 13:44
Hallo

also ich denke ich habe eine Spur.

Der einzige unterschied bei unseren Systemen liegt wohl in der art wie sie Installiert worden sind.

Leider war ich zu jener Zeit noch nicht in der Firma und kann daher nicht exakt sagen wie die System augesetzt wurden.

Ich könnte mir vorstellen das beim wechsel von einer 810 auf die aktuellen 525er ein "Fehler" beim restore gemacht wurde.

Soll heißen: Alle System, ausser das Live System haben nur spezielle Bibliotheken per Restore von Band erhalten. Wohin gegen das Livesystem viel mehr per Restore erhalten hat. Z.B. Systemobjekte in QGPL, QSYS oder QUSRSYS.

Wenn dem so war müsste ich jetzt nur noch herausfinden welche Objekte (oder Apis) mir das problem verursachen. Dann könnte ich mir die von meinen anderen Systemen Restoren und das Problem wäre beseitigt.

Der wechsel war wohl von V5R2 auf V5R4.

Ich versuche gerade per Query die Daten die ich aus meinem Wochenendlichen RTVDSKINF zu analysieren, habe aber noch nicht wirklich etwas gefunden.

Einfacher währe es glaube ich nach speziellen Objekten zu suchen.

Dazu müsste ich aber wissen welche Objekte an meinem Job beteiligt sind.

Job:

ein Spool + eine Outque + *WSCST Objekt + Bibliothek QGPl mit irgendeinem PF und LF + vileicht noch ein paar IP Objekte (mehr weiß ich nicht)

MFG
Der Techniker

Techniker
27-01-09, 14:32
Haben *PRTF auch etwas mit der Ausgabe des Spools aus einer Que zu tun?

Das Sie Etwas mit der Erstellung zu tun haben weiß ich, aber beim ausgang aus einer PrinterQue?

Denn ich kann ja einen auf dem Livesystem erzeugten Spool per sndsplf an ein anders System verschicken und dann in die Remoteoutque packen und alles ist super. Das heiß für mich der Spool wird zwar richtig erzeugt, bekommt aber einen Fehler bei senden in der Remote outq.

Ich konnte jetzt unterschiede an *prtf objekten in der QSYS feststellen, nur kann das auch mit meinen Problem zusammenhängen?

Techniker
27-01-09, 17:09
Also mein Verdacht erhärtet sich.

Muss es aber noch beweisen.

Verwende ich bei der Erstellung der Spool eine *PRTF in dem die Werte wie folgt gesetzt sind:
Schriftart: FONT
Kennung . . . . . . . . . . . *CPI
Punktgröße . . . . . . . . . .
Zeichen-ID: CHRID
Grafikzeichensatz . . . . . . *CHRIDCTL
Codepage . . . . . . . . . . .
k
ist alles OK.

Erstelle ich eine Spool mit einem *PRTF mit folgenenden Werten:
Schriftart: FONT
Kennung . . . . . . . . . . . *DEVD
Punktgröße . . . . . . . . . .
Zeichen-ID: CHRID
Grafikzeichensatz . . . . . . *DEVD
Codepage . . . . . . . . . . .

habe ich einen Zeilenvorschub.

Kann mir jemand sagen, welche Objekte die Font's enthalten?

Es gibt wohl verschiedene.

Für PSF liegen sie im IFS unter:
/QIBM/ProdData/OS400/Fonts/TTFonts

Gibt es auch noch wo anders welche, vieleicht in der QSYS oder so?

Fuerchau
27-01-09, 17:43
Es gibt zwar noch eine Lib mit Fonts, allerdings werden Fonts nur bei IPDS/AFPDS-Druckern (und eben PDF-Erstellung o.ä.) verwendet (Rasterfunktion, Fonteinbettung bzw. Download-Fonts).
Bei allem anderen wird über Ersetzungstabellen (WSCST) ein Druckerfont ermittelt.

Bei Hosttransform wird grundsätzlich ein WSCST verwendet, in dem für die Font-Id entsprechende ESC-Sequenzen hinterlegt werden müssen, ansonsten wird ein Defaultfont gewählt.

Es können daher ausschliesslich Druckerfonts verwendet werden.

Bei FONT(*CPI) wird die Schrift aus dem WSCST über die CPI gewählt (Default-FontId ist 11 = Courier, 10CPI) und Zeilepositionierung auf dieser Basis berechnet.

Bei FONT(*DEVD) weiß ich gar nicht, wie bei Hosttransform da die Schrift gewählt wird, da dies eigentlich bedeutet: Nimm die Schrift, die im Drucker gerade aktuell ist.
Eigentlich geht das nur bei SPOOL(*NO), also Direktdruck an einer DEVD.

Techniker
27-01-09, 18:11
Danke.

Ich werde noch ein paar tests mit und ohne *cpi machen und es höchstwahrscheinlich danach auf sich beruhen lassen.

Deine Antwort hilft mir auf jedenfall sehr, da ich jetzt auch einen Zusammanhang herstellen kann.

Schönen Abend noch
Der Techniker:)

Techniker
03-02-09, 11:34
Also die änderung in *cpi usw hat auch nicht geholfen!

Ich habe jetzt ein Kleines CL dazwischen geschaltet welches den Spool kopiert und dann geht es ohne Probleme.

Wenn irgendwann mal jemanden etwas dazu einfällt Antwortet ruhig. Es würde mich nämlich echt intessieren.

Vielen Dank erstmal.

Gruß, Der Techniker:)