on 10-26-2012 12:06 PM
Hi Experts,
I have a requirement to Print and download a smartform in a pdf fromat..Pls suggest some code.
Summary: Converting the smartform to PDF is process of 3 simple steps.
· Calling the Smart form, then it returns the OTF data in Return.
· Converting the OTF data into required format using the Function Module CONVERT_OTF_2_PDF.
· Download the File
· *&---------------------------------------------------------------------*
· *& Report ZTEST_PDF
· *&
· *&---------------------------------------------------------------------*
· *&
· *&
· *&---------------------------------------------------------------------*
· REPORT ZTEST_PDF.
· * Internal table declaration
· DATA: it_otf TYPE STANDARD TABLE OF itcoo,
· it_docs TYPE STANDARD TABLE OF docs,
· it_lines TYPE STANDARD TABLE OF tline.
· * Declaration of local variables.
· DATA:
· st_job_output_info TYPE ssfcrescl,
· st_document_output_info TYPE ssfcrespd,
· st_job_output_options TYPE ssfcresop,
· st_output_options TYPE ssfcompop,
· st_control_parameters TYPE ssfctrlop,
· v_len_in TYPE so_obj_len,
· v_language TYPE sflangu VALUE 'E',
· v_e_devtype TYPE rspoptype,
· v_bin_filesize TYPE i,
· v_name TYPE string,
· v_path TYPE string,
· v_fullpath TYPE string,
· v_filter TYPE string,
· v_uact TYPE i,
· v_guiobj TYPE REF TO cl_gui_frontend_services,
· v_filename TYPE string,
· v_fm_name TYPE rs38l_fnam.
· CONSTANTS c_formname TYPE tdsfname VALUE 'ZTEST'.
· CALL FUNCTION 'SSF_GET_DEVICE_TYPE'
· EXPORTING
· i_language = v_language
· i_application = 'SAPDEFAULT'
· IMPORTING
· e_devtype = v_e_devtype.
· st_output_options-tdprinter = v_e_devtype.
· st_control_parameters-no_dialog = 'X'.
· st_control_parameters-getotf = 'X'.
· *.................GET SMARTFORM FUNCTION MODULE NAME.................*
· CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
· EXPORTING
· formname = c_formname
· IMPORTING
· fm_name = v_fm_name
· EXCEPTIONS
· no_form = 1
· no_function_module = 2
· OTHERS = 3.
· *...........................CALL SMARTFORM............................*
· CALL FUNCTION v_fm_name
· EXPORTING
· control_parameters = st_control_parameters
· output_options = st_output_options
· IMPORTING
· document_output_info = st_document_output_info
· job_output_info = st_job_output_info
· job_output_options = st_job_output_options
· EXCEPTIONS
· formatting_error = 1
· internal_error = 2
· send_error = 3
· user_canceled = 4
· OTHERS = 5.
· *.........................CONVERT TO OTF TO PDF.......................*
· CALL FUNCTION 'CONVERT_OTF_2_PDF'
· IMPORTING
· bin_filesize = v_bin_filesize
· TABLES
· otf = st_job_output_info-otfdata
· doctab_archive = it_docs
· lines = it_lines
· EXCEPTIONS
· err_conv_not_possible = 1
· err_otf_mc_noendmarker = 2
· OTHERS = 3.
· *........................GET THE FILE NAME TO "STORE....................*
· CONCATENATE 'smrt' '.pdf' INTO v_name.
· CREATE OBJECT v_guiobj.
· CALL METHOD v_guiobj->file_save_dialog
· EXPORTING
· default_extension = 'pdf'
· default_file_name = v_name
· file_filter = v_filter
· CHANGING
· filename = v_name
· path = v_path
· fullpath = v_fullpath
· user_action = v_uact.
· IF v_uact = v_guiobj->action_cancel.
· EXIT.
· ENDIF.
· *..................................DOWNLOAD AS *FILE....................*
·
· MOVE v_fullpath TO v_filename.
· CALL FUNCTION 'GUI_DOWNLOAD'
· EXPORTING
· bin_filesize = v_bin_filesize
· filename = v_filename
· filetype = 'BIN'
· TABLES
· data_tab = it_lines
· 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
· OTHERS = 22.
·Collapse All Collapsing… Expanding… Expand All
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Becky,
In SAP You hav to configure a PDF printer in SPAD t. code as device type PDF1.
As work around If you have Adobe Acrobat Professional software installed at desktop then during the printing you select PDF printer then it will convert your smart form in PDF format and save it as PDF file after that you can print the same.
Regards
Ganesh Datt Tiwari
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Becky,
I think here you need not to do any coding. Sap has provided standard solution for this.
All you need to do is to write pdf! as transaction code and press enter when you are displaying your smartform in transaction code input area.
It will automatically be converted into pdf with all the options like save print etc.
Rgds,
Sandeep Katoch
User | Count |
---|---|
87 | |
10 | |
10 | |
9 | |
6 | |
6 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.