Beim FP_JOB_OPEN kann man den Drucker mitgeben. Natürlich muss dann auch "Sofort ausgeben" usw. angegeben werden. Der Drucker sollte ein "echter" Drucker aus der SPAD sein. Also nix mit LOCL usw. (damit gehts zwar auch, aber ist etwas kompliziert einzurichten und etwas fehleranfällig)dkast hat geschrieben:Dein Vorschlag mir das PDF zu sparen hört sich interessant an. Mir ist nur nicht ganz klar wie ich das Adobe Form dann Drucken kann. Muss ich dazu das get pdf = ' ' setzen? Und wie gebe ich ihm dann den Drucker mit wenn nciht über den Spooljob?
Was meinst du eigentlich die ganze Zeit mit "bündeln"? Ein AdobeForms wird, wenn man es überhaupt so nennen kann, höchstens "gerendert" oder "erstellt".dkast hat geschrieben:Abgesehen davon denke ich das irgendwas beim bündeln falsch sein muss da ich egal ob mit oder ohne Spooljob eine Drehung bekomme.
Also danke erstmal für deine Unterstützung bei deisem Thema .a-dead-trousers hat geschrieben:Beim FP_JOB_OPEN kann man den Drucker mitgeben. Natürlich muss dann auch "Sofort ausgeben" usw. angegeben werden. Der Drucker sollte ein "echter" Drucker aus der SPAD sein. Also nix mit LOCL usw. (damit gehts zwar auch, aber ist etwas kompliziert einzurichten und etwas fehleranfällig)dkast hat geschrieben:Dein Vorschlag mir das PDF zu sparen hört sich interessant an. Mir ist nur nicht ganz klar wie ich das Adobe Form dann Drucken kann. Muss ich dazu das get pdf = ' ' setzen? Und wie gebe ich ihm dann den Drucker mit wenn nciht über den Spooljob?Was meinst du eigentlich die ganze Zeit mit "bündeln"? Ein AdobeForms wird, wenn man es überhaupt so nennen kann, höchstens "gerendert" oder "erstellt".dkast hat geschrieben:Abgesehen davon denke ich das irgendwas beim bündeln falsch sein muss da ich egal ob mit oder ohne Spooljob eine Drehung bekomme.
Wenn du es direkt an den Drucker schickst, wird normalerweise kein "PDF" daraus sondern ein PCL 5 oder 6.
Code: Alles auswählen.
fp_outputparams-bumode = 'M'.
fp_outputparams-assemble = 'X'.
fp_outputparams-getpdf = 'M'.
fp_outputparams-nodialog = dialog. " Druckdialog
fp_outputparams-dest = dev. " Übergebener Drucker
fp_outputparams-REQIMM = 'X'. "sofort ausgeben
fp_outputparams-REQNEW = 'X'. "neuer Spoolauftrag
Was meinst du mit LOOP und einzelnen PDFs?dkast hat geschrieben:Mit bündeln meine ich den Paramater fp_outputparams-assemble = 'X'. Dieser sorgt dafür dass in meinem Loop aus den genzen einzelnen PDFs ein einziges wird (oder?).
Code: Alles auswählen.
CALL FUNCTION 'FP_JOB_OPEN'.
LOOP AT ...
CALL FUNCTION ... "Formularbaustein
ENDLOOP.
CALL FUNCTION 'FP_JOB_Close'.
Was du angegeben hast, scheint alles zu passen.dkast hat geschrieben:Momentan versuche ich den Weg den du vorgeschlagen hast. Also direkt an den Drucker schicken. Die Frage hierbei wäre nur wie ich den Job Open von den Paramtern befüllen muss.
Debuggen und nachschauen an welcher Stelle das USAGE_ERROR ausgelöst wird. Laut Deffinition ist 'M' bei GETPDF nicht erlaubt und bei ASSEMBLE gäbe es auch noch die Option 'S' für "Sehr große PDFs" was auch immer das bedeutet.dkast hat geschrieben:Du hast ja geschrieben das ich um das ganze direkt an den Drucker zu schicken den Parameter getpdf weglassen soll. Nur bekomme ich immer einen Fehler wenn ich dem getpdf Parameter was anders als das M mitgebe (ussage_error).
Jepp.dkast hat geschrieben:Und nur um sicher zu sein. Bei diesem Weg ist der Druck dann mit dem Schritt des Job close beendet oder(Datei ist dann gedruckt)?
Genau so sieht das bei mir aus.a-dead-trousers hat geschrieben:Was meinst du mit LOOP und einzelnen PDFs?dkast hat geschrieben:Mit bündeln meine ich den Paramater fp_outputparams-assemble = 'X'. Dieser sorgt dafür dass in meinem Loop aus den genzen einzelnen PDFs ein einziges wird (oder?).
Rufst du mehrere AdobeForms hintereinander auf? Sowas in der Form?Code: Alles auswählen.
CALL FUNCTION 'FP_JOB_OPEN'. LOOP AT ... CALL FUNCTION ... "Formularbaustein ENDLOOP. CALL FUNCTION 'FP_JOB_Close'.
Code: Alles auswählen.
fp_outputparams-bumode = 'M'.
fp_outputparams-assemble = 'X'.
fp_outputparams-getpdf = 'M'.
Dann ist der Drucker für den ADS falsch eingerichtet. Vermutlich werden PDFs erstellt und dann "RAW" gedruckt.dkast hat geschrieben:Lasse ich diese 3 weg dann hab ich die Datei zwar korrekt im Spool(aber nur als einzelne Dokumente) aber ausgedruckt werden nur kryptische Zeichen.
Guten Morgen erst mal,a-dead-trousers hat geschrieben:Dann ist der Drucker für den ADS falsch eingerichtet. Vermutlich werden PDFs erstellt und dann "RAW" gedruckt.dkast hat geschrieben:Lasse ich diese 3 weg dann hab ich die Datei zwar korrekt im Spool(aber nur als einzelne Dokumente) aber ausgedruckt werden nur kryptische Zeichen.
Über den Report RSPO0022 kannst du prüfen welche XDC für deinen Druckertyp (aus der SPAD) verwendet wird. Die XDC sollte "hppcl5c" sein.
https://mind-forms.de/sap-formulartechn ... ive-forms/
Ich würde trotzdem noch empfehlen zu debuggen, warum du, wenn du GETPDF leer lässt, eine Exception/Kurzdump kriegst.
Was hab ich vor einigen Einträgen gepostet?dkast hat geschrieben:ich hab die Eintellungen für den Drucker Typ (erstmal nur bei LOCL) geändert. Der Druck mit get_pdf=X funktioniert trotzdem nicht.
Probier es bitte mal mit einem physischen Drucker und ohne GETPDF, ASSEMBLE usw.a-dead-trousers hat geschrieben:Der Drucker sollte ein "echter" Drucker aus der SPAD sein. Also nix mit LOCL usw. (damit gehts zwar auch, aber ist etwas kompliziert einzurichten und etwas fehleranfällig)
Bin ich gerade dabei danke. Noch eine Frage nebenbei was genau passiert eigentlich wenn ich den Typ des Druckers auf hppcl5c.xdc umstelle? Der Drucker auf den ich es abgesehen habe hat im System momentan die Zuordnung hppcl5e.xdc. Kann ich das ohne irgend welche Folgen (eventuell auch für andere Drucker mit diesem Typ) ändern?a-dead-trousers hat geschrieben:Was hab ich vor einigen Einträgen gepostet?dkast hat geschrieben:ich hab die Eintellungen für den Drucker Typ (erstmal nur bei LOCL) geändert. Der Druck mit get_pdf=X funktioniert trotzdem nicht.Probier es bitte mal mit einem physischen Drucker und ohne GETPDF, ASSEMBLE usw.a-dead-trousers hat geschrieben:Der Drucker sollte ein "echter" Drucker aus der SPAD sein. Also nix mit LOCL usw. (damit gehts zwar auch, aber ist etwas kompliziert einzurichten und etwas fehleranfällig)
Von daher würde ich PCL 5c empfehlen.Wikipedia hat geschrieben:https://de.wikipedia.org/wiki/Printer_Command_Language
PCL 5 erschien 1990 mit dem HP LaserJet III. Der Standard wurde um die Schriftenskalierung „Intellifont“ (von Agfa entwickelt) und um die Unterstützung von HP-GL/2-(Vektor-)Grafiken erweitert.
PCL 5e (PCL 5 erweitert, „enhanced“) wurde im Oktober 1992 zusammen mit dem HP LaserJet 4 veröffentlicht. Es erweitert den Standard um bi-direktionale Kommunikation zwischen Drucker und PC und die Unterstützung von Windows-Schriften. Außerdem unterstützt PCL5e beidseitiges Drucken.
PCL 5c erschien 1992 mit der HP Color LaserJet-Familie. Es beinhaltet die Funktionalität von PCL 5e, ist jedoch um Farb- und Paletten-Befehle erweitert.