ich habe ein Webdynpro, indem der User verschiedene Datensätze auswerten kann.
Diese können in Excel oder als PDF exportiert werden.
Wenn das Ganze als PDF exportiert wird, wird pro Datensatz ein extra PDF erstellt. Dieses besteht aus mehreren Informationen und zum Teil auch aus mehreren Seiten (meistens zwischen einer und drei Seiten).
Aus allen PDFs generiere ich eine ZIP-Datei, damit der User per Popup entscheiden kann, wo er die Zip Datei speichern möchte. Bisher klappt das Ganze auch wunderbar.
Wir haben heute aber einne Test mit mehreren hundert Datensätzen gemacht, und ich bekomme folgenden Fehler:
"Unable to fulfil request for 1522663510 bytes of memory space".
Das Problem jetzt ist, dass auf dem P-System bis zu 1500 Datensätze vorhanden sind, die alle automatisiert in einer Zip Datei zur archivierung abgelegt werden sollen.
Gibt es eine Möglichkeit das Ganze zu komprimieren, oder auszulagern? Oder muss ich mehrere Zip-Files erstellen?
Anbei der Code:
- Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
- CLEAR lt_report_data_tmp.
- " Call smartforms
- CALL FUNCTION lv_fnam
- EXPORTING
- control_parameters = ls_ssfctrlop
- output_options = ls_output_options
- IMPORTING
- job_output_info = ls_job_output_info
- job_output_options = ls_job_output_options
- rep_changedoc_cplx = lt_report_data_tmp
- EXCEPTIONS
- formatting_error = 1
- internal_error = 2
- send_error = 3
- user_canceled = 4
- OTHERS = 5.
- " Convert to PDF
- CALL FUNCTION 'CONVERT_OTF'
- EXPORTING
- IMPORTING
- bin_filesize = lv_bytecount
- otf = ls_job_output_info-otfdata
- lines = lt_lines
- EXCEPTIONS
- err_conv_not_possible = 1
- err_bad_otf = 2.
- lv_string = ls_line.
- "Add file
- EXPORTING name = lv_filename
- content = l_pdfstring ).
- lr_zip->save( RECEIVING zip = lv_zip_xstring ).
- "Attach zip file to response
- cl_wd_runtime_services=>attach_file_to_response(
- EXPORTING i_filename = lv_zip_name
- i_mime_type = 'application/x-zip-compressed'
- i_content = lv_zip_xstring
- i_in_new_window = abap_true ).
- GeSHi ©