REPORT zrich_0001.
DATA: lv_spool LIKE tsp01-rqident.
DATA: lt_pdf TYPE TABLE OF tline.
DATA: ls_pdf LIKE LINE OF lt_pdf.
DATA: lv_url TYPE char255.
DATA: lv_buffer TYPE string.
DATA: lv_content TYPE xstring.
DATA: lt_data TYPE STANDARD TABLE OF x255.
DATA: lo_dialog_container TYPE REF TO cl_gui_dialogbox_container.
DATA: lo_docking_container TYPE REF TO cl_gui_docking_container.
DATA: lo_html TYPE REF TO cl_gui_html_viewer.
FIELD-SYMBOLS TYPE x.
PARAMETERS: p_check.
AT SELECTION-SCREEN OUTPUT.
* Run the report program, in this program you need to export the
* spool id to memory.
SUBMIT zrich_0002 TO SAP-SPOOL
WITHOUT SPOOL DYNPRO
DESTINATION space
COVER TEXT ' Your Report Title'
NEW LIST IDENTIFICATION 'X'
IMMEDIATELY space
AND RETURN.
* import spool number from memory
IMPORT lv_spool = lv_spool FROM MEMORY ID 'ZRICH_0002_SPONO'.
* Convert the spool request to PDF format.
CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
EXPORTING
src_spoolid = lv_spool
TABLES
pdf = lt_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.
* convert pdf to xstring string
LOOP AT lt_pdf INTO ls_pdf.
ASSIGN ls_pdf TO CASTING.
CONCATENATE lv_content INTO lv_content IN BYTE MODE.
ENDLOOP.
CREATE OBJECT lo_docking_container
EXPORTING
repid = sy-repid
dynnr = sy-dynnr
side = lo_docking_container->dock_at_right
extension = 1200.
CREATE OBJECT lo_html
EXPORTING
parent = lo_docking_container.
* Convert xstring to binary table to pass to the LOAD_DATA method
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
buffer = lv_content
TABLES
binary_tab = lt_data.
* Load the HTML
lo_html->load_data(
EXPORTING
type = 'application'
subtype = 'pdf'
IMPORTING
assigned_url = lv_url
CHANGING
data_table = lt_data
EXCEPTIONS
dp_invalid_parameter = 1
dp_error_general = 2
cntl_error = 3
OTHERS = 4 ).
* Show it
lo_html->show_url( url = lv_url in_place = 'X' ).
REPORT ZRICH_0002 line-count 65 LINE-SIZE 80. DATA: lv_spool LIKE tsp01-rqident. data: lv_value type i. START-OF-SELECTION . * Write the report. DO 20 TIMES. lv_value = sy-index * 10. WRITE:/ sy-index, at 20 lv_value. ENDDO. * Export this spool number to memory lv_spool = sy-spono. EXPORT lv_spool = lv_spool TO MEMORY ID 'ZRICH_0002_SPONO'.
沒有留言:
張貼留言