sap web gui login

http://molgaard.consolut.eu/sap/bc/gui/sap/its/webgui

Wednesday, July 23, 2014

Download Smartform Output as PDF File

Download Smartform Output as PDF File

Follow the below steps to download Smartform output as PDF file.
1. Suppress the print dialog box by setting the NO_DIALOG flag of CONTROL_PARAMETERS
2. Get the OTF data by setting the GETOTF flag of CONTROL_PARAMETERS
3. Use function module CONVERT_OTF to convert OTF to PDF
4. Use function module GUI_DOWNLOAD to download the PDF file to presentation server

Below program converts the smartform output to PDF and downloads it to presentation server.

*&---------------------------------------------------------------------*
*& Data Declaration
*&---------------------------------------------------------------------*
DATA: gv_formname TYPE tdsfname VALUE 'ZZDEMO',
gv_fm_name TYPE rs38l_fnam.
DATA: gwa_ssfcompop TYPE ssfcompop,
gwa_control TYPE ssfctrlop.
DATA: gv_devtype TYPE rspoptype.
DATA: gv_job_output TYPE ssfcrescl.
DATA: gt_lines TYPE TABLE OF tline.
DATA: gv_size TYPE i.
*&---------------------------------------------------------------------*
*& START-OF-SELECTION
*&---------------------------------------------------------------------*
START-OF-SELECTION.

*Get the function module name using form name
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = gv_formname
IMPORTING
fm_name = gv_fm_name
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

*Get Device Type
CALL FUNCTION 'SSF_GET_DEVICE_TYPE'
EXPORTING
i_language = sy-langu
IMPORTING
e_devtype = gv_devtype
EXCEPTIONS
no_language = 1
language_not_installed = 2
no_devtype_found = 3
system_error = 4
OTHERS = 5.
gwa_ssfcompop-tdprinter = gv_devtype.

*Suppress print dialog
gwa_control-no_dialog = 'X'.
gwa_control-getotf = 'X'.

*Trigger the smartform
CALL FUNCTION gv_fm_name
EXPORTING
control_parameters = gwa_control
output_options = gwa_ssfcompop
IMPORTING
job_output_info = gv_job_output
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

*Convert OTF to PDF
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
format = 'PDF'
IMPORTING
bin_filesize = gv_size
TABLES
otf = gv_job_output-otfdata
lines = gt_lines
EXCEPTIONS
err_max_linewidth = 1
err_format = 2
err_conv_not_possible = 3
err_bad_otf = 4
OTHERS = 5.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

*Download PDF file to presentation server
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
bin_filesize = gv_size
filename = 'C:\demo.pdf'
filetype = 'BIN'
TABLES
data_tab = gt_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.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

0 comments:

Post a Comment