Also in dem String befindet sich Text und dieser soll als PDF lokal auf Deinem Rechner gespeichert werden ?Johannes9090 hat geschrieben: Ich will einen einfachen String in einer PDF lokal auf dem Rechner speichern.
Doku lesen zum ( nicht ganz so offensichtlichen ) Befehl "NEW-PAGE"Johannes9090 hat geschrieben:... Und allgemein, unabhängig davon ob es anders geht oder nicht, wie leite ich einen String in einen Spool?
Ist es ein Online-Programm und kannst du gewährleisten, dass EXCEL oder WORD auf dem Frontend des Users installiert ist?Johannes9090 hat geschrieben:Bestehen noch weitere Möglichkeiten außer über den Spooler zu gehen?
Code: Alles auswählen.
DATA: t_pdf like tline occurs 0, "with header line
.
TABLES tsp01.
DATA: spoolid LIKE tsp01-rqident,
gd_len TYPE i,
gd_index TYPE i,
gd_mod TYPE i,
gt_string TYPE stringtab,
gs_string LIKE LINE OF gt_string.
PARAMETERS: p_string TYPE string.
***in den spooler
NEW-PAGE PRINT ON
IMMEDIATELY ' '
COVER TEXT 'Übersicht'
KEEP IN SPOOL 'X'
SAP COVER PAGE ' '
LIST NAME 'PDFTEMP'
DESTINATION 'LOCL'
NO DIALOG.
***aktuelle Spoolid holen
SELECT * FROM tsp01 WHERE rqowner = sy-uname
ORDER BY rqcretime ASCENDING.
spoolid = tsp01-rqident.
ENDSELECT.
CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
EXPORTING
src_spoolid = spoolid
TABLES
PDF = t_pdf
EXCEPTIONS
ERR_NO_ABAP_SPOOLJOB = 1
ERR_NO_SPOOLJOB = 2
ERR_NO_PERMISSION = 3
ERR_CONV_NOT_POSSIBLE = 4
ERR_BAD_DESTDEVICE = 5
USER_CANCELLED = 6
ERR_SPOOLERROR = 7
ERR_TEMSEERROR = 8
ERR_BTCJOB_OPEN_FAILED = 9
ERR_BTCJOB_SUBMIT_FAILED = 10
ERR_BTCJOB_CLOSE_FAILED = 11
OTHERS = 12
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
CALL METHOD cl_gui_frontend_services=>gui_download(
EXPORTING
FILENAME = 'C:\Users\johannes.strohmer\Downloads\hadasdffllo.pdf'
FILETYPE = 'BIN'
confirm_overwrite = abap_true
CHANGING
data_tab = t_pdf
EXCEPTIONS
file_write_error = 1
no_batch = 2
gui_refuse_filetransfer = 3
invalid_type = 4
no_authority = 5
unknown_error = 6
header_not_allowed = 7
separator_not_allowed = 8
filesize_not_allowed = 9
header_too_long = 10
dp_error_create = 11
dp_error_send = 12
dp_error_write = 13
unknown_dp_error = 14
access_denied = 15
dp_out_of_memory = 16
disk_full = 17
dp_timeout = 18
file_not_found = 19
dataprovider_exception = 20
control_flush_error = 21
not_supported_by_gui = 22
error_no_gui = 23
others = 24
).
IF sy-subrc = 0.
MESSAGE 'HAT GEKLAPPT'(m01) TYPE 'I'.
ENDIF.
Code: Alles auswählen.
CALL FUNCTION 'SLVC_TABLE_PS_TO_SPOOL'
EXPORTING
i_file_length = i_lines
IMPORTING
E_SPOOLID = spoolid
tables
it_textdata = it_textdata
EXCEPTIONS
SPOOL_ERROR = 1
PARAMETERS_INVALID = 2
OTHERS = 3