Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

SMARTFORMS TO PDF

Former Member
0 Kudos
544

Hi all,

can anyone tell me the steps for converting a smartform output to a pdf file

Nagesh

1 ACCEPTED SOLUTION

Former Member
0 Kudos
127

Hi,

Here is a sample code for converting smartforms to pdf.

https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/8fd773b3-0301...

Regards,

Anjali

4 REPLIES 4

Former Member
0 Kudos
127

try with this

data: l_pdf_xstring type xstring,

lt_lines type table of tline,

ls_line type tline,

l_pdf_len type i,

itab type TSFOTF,

witab type ITCOO,

tmp_line type STRING,

tmp_header type STRING.

tmp_header = 'smarforms to PDF'.

tmp_line = file_content.

CONCATENATE

tmp_header

tmp_line

INTO tmp_line IN CHARACTER MODE.

APPEND tmp_line TO itab.

call function 'CONVERT_OTF'

exporting

format = 'PDF'

importing

bin_filesize = l_pdf_len

bin_file = l_pdf_xstring

tables

otf = itab

lines = lt_lines

exceptions

err_max_linewidth = 1

err_format = 2

err_conv_not_possible = 3

err_bad_otf = 4

others = 5

Former Member
0 Kudos
128

Hi,

Here is a sample code for converting smartforms to pdf.

https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/8fd773b3-0301...

Regards,

Anjali

Former Member
0 Kudos
127

Hi Nagesh

You can try changing the default format (OTF) to PDF using transaction SCOT

Regards

Ashish Jain

jayanthi_jayaraman
Active Contributor
0 Kudos
127

Hi,

Here is the sample code.

DATA: i_otf TYPE itcoo OCCURS 0 WITH HEADER LINE,

i_tline TYPE TABLE OF tline WITH HEADER LINE,

  • Work Area declarations

w_ctrlop TYPE ssfctrlop,

w_compop TYPE ssfcompop,

w_return TYPE ssfcrescl,

  • Variables declarations

v_form_name TYPE rs38l_fnam,

v_len_in LIKE sood-objlen,

v_len_out LIKE sood-objlen,

v_len_outn TYPE i.

Step 1:

call function 'SSF_FUNCTION_MODULE_NAME'

exporting

formname = 'ZZZ_TEST2'

importing

fm_name = v_form_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.

w_ctrlop-getotf = 'X'.

w_ctrlop-no_dialog = 'X'.

w_compop-tdnoprev = 'X'.

Step 2:

CALL FUNCTION v_form_name

EXPORTING

control_parameters = w_ctrlop

output_options = w_compop

user_settings = 'X'

IMPORTING

job_output_info = w_return

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.

Step 3:

i_otf[] = w_return-otfdata[].

Step 4:

CALL FUNCTION 'CONVERT_OTF'

EXPORTING

format = 'PDF'

max_linewidth = 132

IMPORTING

bin_filesize = v_len_in

TABLES

otf = i_otf

lines = i_tline

EXCEPTIONS

err_max_linewidth = 1

err_format = 2

err_conv_not_possible = 3

OTHERS = 4.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

Hope this helps.

If so,kindly reward points.If you need clarifications,kindly get back.