-
Drucken und Heften
Hallo,
wir wollen von der AS400 aus Belege drucken und diese automatisch vom Drucker, mit Hefteinheit (HP-Drucker), heften lassen. Gibt es hierzu schon Lösungen wie man diese Funktion von der AS400 aus ansteuern kann?
Danke.
Gruß, Karo
-
Siehe CRTPRTF/OVRPRTF ... CORNERSTPL... EDGESTITCH... SADLSTITCH...
Ggf. sind noch die passenden ESC's ins WSCST zu übernehmen.
-
oder wer es druckerunabhängig mag, in PCL innerhalb der Spoolfile mitgeben.
Gruß Proggi
-
Gerade wenn man es druckerunabhängig machen will, dann kein PCL innerhalb des Spools verwenden, da eben nicht jeder PCL kann und ggf. die ESC's unterschiedlich sind.
Dafür ist ja das WSCST da.
-
Das DDS-Keyword STAPLE kann auch zur Steuerung verwendet werden.
-
Liebe Forumsmitglieder,
ich beschäftige mich gerade mit dem STAPLE-Befehl.
Ich habe eine Druckdatei SHARE(*YES) mit der ich von 2 Programmen aus arbeiten möchte.
Aus Programm 1 wird eine Art Deckblatt erzeugt, dann ein callP auf ein 2. Programm in der die Detailseiten gedruckt werden sollen. Diese sollen mit dem Deckblatt zusammengeheftet werden.
Arbeite ich nur mit einem Programm mit der Printerfile, klappt das heften ohne Probleme, aber mit den 2 Programmen klappt es nicht.
Das Deckblatt wird ungeheftet ausgedruckt und die Detailseiten zusammengeheftet.
Hier die Quellcodes meiner 2 Test-Programme:
Masterprogramm:
Code:
FTEST71213 O E PRINTER OFLIND(Overflow01)
*
Dj S 2S 0 inz(0)
Dausgabe PR extpgm('TEST71213')
*
/free
for j = 1 to 2;
write STAPLEOFF;
write STAPLEON;
write DECKBLATT;
write NEUESEITE;
callP ausgabe();
endfor;
*Inlr = *On;
/end-free
Slave-Programm:
Code:
FTEST71213 O E PRINTER OFLIND(Overflow01)
*
Di S 2S 0 inz(0)
*
/free
for i = 1 to 3;
if i = 1;
write STAPLEOFF;
write STAPLEON;
endif;
write TEXT;
write NEUESEITE;
if i = 3;
write KLAMMERN;
endif;
endfor;
*Inlr = *On;
/end-free
Printerfile:
Code:
A*--- PAGESIZE(72 80)
A*--- OVRFLW(63)
A*--- FOLD(*NO)
A*--- CORNERSTPL(*TOPLEFT)
A*--- DEVTYPE(*AFPDS)
A*--- HOLD(*YES)
A*--- OUTQ(PRT71213)
A*--- SHARE(*YES)
A*--- UOM(*CM)
A R DECKBLATT
A 10 24'Deckblatt'
A R TEXT
A 10 24'Seite'
A I 2S 0 10 30
A R NEUESEITE
A ENDPAGE
A R STAPLEON
A STAPLE(*ON)
A R STAPLEOFF
A STAPLE(*OFF)
A R KLAMMERN
A STAPLE
-
Wird denn nur 1 Spool erzeugt ?
Prüfe mal, ob die Druckerdatei wirklich SHARE geöffnet wird.
-
Zitat von Fuerchau
Wird denn nur 1 Spool erzeugt ?
Ja.
Zitat von Fuerchau
Prüfe mal, ob die Druckerdatei wirklich SHARE geöffnet wird.
Wie mache ich das denn
-
SHARE kann man beim DSPJOB->14 sehen.
Das Problem bei O-Dateien ist häufig die Pufferung (siehe Compiler-Liste).
Das heißt, dass die Daten noch nicht an das Spool weitergegeben werden sondern noch im internen Dateipuffer stehen. Dieser wird erst bei Close dann vollständig ausgegeben.
SHARE hilft da nicht weiter, da RPG einen eigenen Programmpuffer anlegt.
Schau mal in den Spool, ob die Reihenfolge deiner Seiten auch stimmt.
Ich weiß aber im Moment nicht, wie man das Blocken abschaltet bzw. eine Dateiausgabe (flush) erzwingt.
-
Zitat von Fuerchau
Schau mal in den Spool, ob die Reihenfolge deiner Seiten auch stimmt.
Die Reihenfolge stimmt. Aber ich kriege es nicht hin, daß ich die erste Seite aus dem ersten Programm und die folgenden Seiten aus dem 2. Programm zusammen geklammert sind. ich habe etwas rumgespielt, ich komme aber immer nur zu den beiden ERgebnissen: Entweder ist gar nichts geklammert oder die erste Seite allein und die folgenden geklammert....
-
Zitat von Fuerchau
Gerade wenn man es druckerunabhängig machen will, dann kein PCL innerhalb des Spools verwenden, da eben nicht jeder PCL kann und ggf. die ESC's unterschiedlich sind.
Dafür ist ja das WSCST da.
Hm, mein Wissensstand scheint da wohl alt zu sein, aber wenn ich mich nicht ganz täusche können eigentlich alle Drucker PCL5 oder jetzt mittlerweile PCL6. Korrigiert mich, wenn ich mich irre
Gruß Proggi
-
Habs nach ca. 5 weiteren Test hinbekommen, so läufts:
Masterprogramm:
Code:
FTEST71213 O E PRINTER OFLIND(Overflow01)
*
Dj S 2S 0 inz(0)
Dausgabe PR extpgm('TEST71213')
*
/free
for j = 1 to 2;
write STAPLEOFF;
write STAPLEON;
write DECKBLATT;
write NEUESEITE;
callP ausgabe();
write KLAMMERN;
endfor;
*Inlr = *On;
/end-free
Slave-Programm:
Code:
FTEST71213 O E PRINTER OFLIND(Overflow01)
Di S 2S 0 inz(0)
/free
for i = 1 to 3;
write TEXT;
write NEUESEITE;
endfor;
*Inlr = *On;
/end-free
Na ja, die logik kann ich zwar nicht ganz nachvollzieehn (warums erst nicht lief, und jetzt aber bei dieser), aber hauptsache es läuft.
Similar Threads
-
By bechert in forum NEWSboard Drucker
Antworten: 3
Letzter Beitrag: 06-01-07, 10:57
-
By kug in forum NEWSboard Drucker
Antworten: 4
Letzter Beitrag: 23-09-06, 07:40
-
By dino in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 03-07-06, 10:44
-
By horni in forum NEWSboard Drucker
Antworten: 8
Letzter Beitrag: 29-05-06, 11:32
-
By Joe in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 27-04-06, 08:50
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