Code: Alles auswählen.
CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'
EXPORTING
i_name = 'FORMNAME'
IMPORTING
e_funcname = w_form.
check sy-subrc = 0.
if w_bundle = 'X'.
fp_outputparams-bumode = 'M'.
fp_outputparams-assemble = 'X'.
fp_outputparams-getpdf = 'M'.
endif.
CALL FUNCTION 'FP_JOB_OPEN'
CHANGING
ie_outputparams = fp_outputparams
EXCEPTIONS
cancel = 1
usage_error = 2
system_error = 3
internal_error = 4
OTHERS = 5.
check sy-subrc = 0.
fp_docparams-langu = 'X'.
fp_docparams-country = 'DE'.
* fp_docparams-fillable = ''.
h_Sernr = yserie.
CLEAR: v_bgrup.
fp_outputparams-nodialog = w_dialog.
fp_outputparams-device = 'PRINTER'.
fp_outputparams-dest = i_dev.
fp_outputparams-REQIMM = 'X'. "sofort ausgeben
* fp_outputparams-REQDEL = 'X'. "Löschen nach Ausgabe
loop at iapl where masch in w_platz.
CALL FUNCTION w_form
EXPORTING
/1bcdwb/docparams = fp_docparams
/1bcdwb/docxml = fp_docxml
MASCH = iapl-masch
Bereich = iapl-berei
ktext = crhd_v1-ktext
sernr = h_sernr
mnummer = v_bgrup
importing
/1bcdwb/formoutput = ls_output.
endloop.
CALL FUNCTION 'FP_JOB_CLOSE'
EXCEPTIONS
usage_error = 1
system_error = 2
internal_error = 3
OTHERS = 4.
DATA: lt_pdf TYPE tfpcontent.
data: ls_pdf type FPCONTENT.
CALL FUNCTION 'FPCOMP_GET_PDF_TABLE'
IMPORTING
e_pdf_table = lt_pdf.
Guten Morgen Ralf,ralf.wenzel hat geschrieben:Ich sitze gerade nicht am System, aber guck dir mal die Flags in outputparams an, da kann man das steuern.
Ralf
Der Loop kann nicht schuld sein. Wir mach das (zwar ohne Loop) genau gleich, sprich das PDF wird erst zur Laufzeit erstellt und das funktioniert auch in Hintergrundjobs. Ich vermute eher, das etwas anderes schuld ist.dkast hat geschrieben:Ich vermute mein Problem liegt darin, dass das PDF im Loop schritt für schritt zusammengebaut wird.
Doch local aber eben momentan zu Testzwecken ist extra ein pdf drucker hinterlegt(funktioniert auch wenn das pdf nicht gebündelt ist). Und in welchem Paket liegt der Report?a-dead-trousers hat geschrieben:Der Loop kann nicht schuld sein. Wir mach das (zwar ohne Loop) genau gleich, sprich das PDF wird erst zur Laufzeit erstellt und das funktioniert auch in Hintergrundjobs. Ich vermute eher, das etwas anderes schuld ist.dkast hat geschrieben:Ich vermute mein Problem liegt darin, dass das PDF im Loop schritt für schritt zusammengebaut wird.
Welchen Drucker bzw. Druckertyp verwendest du in der Ausgabe? Doch wohl hoffentlich nicht LOCL?
Welche XDC ist für den Druckertyp hinterlegt? Zu finden im Report RSPO0022
lg ADT
Paket SASP. Ruf ihn einfach über die Transaktion SA38 auf.dkast hat geschrieben:Und in welchem Paket liegt der Report?
Hallo,a-dead-trousers hat geschrieben:Verwende besser einen echten, in SAP per Name bekannten Drucker für den Hintergrundjob. Der LOCL hat bei uns auch immer nur Probleme gemacht.
Wenn du den ADS verwendest, wird (normalerweise) kein PDF für den Ausdruck am Drucker generiert, sondern eine PCL Datei. Die PDF-Anzeige in der SP01 ist nur ein zusätzliches File, das nicht gedruckt wird.
Wo die Dateien für die ADS Spooljobs abgelegt werden, kannst du über den FuBa ADS_GET_PATH abfragen.
Theoretisch wäre es möglich auch ein fertiges PDF an den Drucker zu schicken, nur muss dieser dann auch tatsächlich eine PDF-Datei nativ drucken können.
Hier ist eine Anleitung wie du das unter Windows testen kannst:
https://superuser.com/questions/420149/ ... ed-printer
Wenn das geht müsstest du es nur noch irgendwie schaffen die PDF-Datei als RAW von SAP aus direkt an den Drucker zu schicken. Das hab ich schon ein paarmal versucht aber nie so wirklich hinbekommen.
Paket SASP. Ruf ihn einfach über die Transaktion SA38 auf.dkast hat geschrieben:Und in welchem Paket liegt der Report?