Skip to Content
author's profile photo Former Member
Former Member

Want to create a function module which will convert smartform into PDF .

Hi All ,

Requirement : I want to create a function module/report which will convert smartform into PDF .

Thanks in advance

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

7 Answers

  • Best Answer
    author's profile photo Former Member
    Former Member
    Posted on Jun 18, 2007 at 07:49 AM
    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Jun 18, 2007 at 12:42 PM

    RSTXPDFT4 use this standard program input the spool no i will convert into PDF file.

    regards

    prabhu

    reward if it is helpful

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Jun 18, 2007 at 07:49 AM
    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Jun 18, 2007 at 07:50 AM

    Sharma,

    RSTXPDF4-You can use this SAP std Program too.

    CONVERT_OTF_2_PDF-Fn Mod.

    K.Kiran.

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Jun 18, 2007 at 12:38 PM

    Hi All ,

    zsuresh_test : for converting smartform into pdf.

    when I am excuting this report(zsuresh_test) and by passing the smartform name FOPCR_STANDARD_F1

    I am getting error :

    Incorrect parameter with CALL FUNCTION

    Can you please help me out..

    *******************************************************************

    REPORT zsuresh_test.

    • Variable declarations

    DATA:

    w_form_name TYPE tdsfname VALUE 'FOPCR_STANDARD_F1',

    w_fmodule TYPE rs38l_fnam,

    w_cparam TYPE ssfctrlop,

    w_outoptions TYPE ssfcompop,

    W_bin_filesize TYPE i, " Binary File Size

    w_FILE_NAME type string,

    w_File_path type string,

    w_FULL_PATH type string.

    • Internal tables declaration

    • Internal table to hold the OTF data

    DATA:

    t_otf TYPE itcoo OCCURS 0 WITH HEADER LINE,

    • Internal table to hold OTF data recd from the SMARTFORM

    t_otf_from_fm TYPE ssfcrescl,

    • Internal table to hold the data from the FM CONVERT_OTF

    T_pdf_tab LIKE tline OCCURS 0 WITH HEADER LINE.

    • This function module call is used to retrieve the name of the Function

    • module generated when the SMARTFORM is activated

    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'

    EXPORTING

    formname = w_form_name

    • VARIANT = ' '

    • DIRECT_CALL = ' '

    IMPORTING

    fm_name = w_fmodule

    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.

    • Calling the SMARTFORM using the function module retrieved above

    • GET_OTF parameter in the CONTROL_PARAMETERS is set to get the OTF

    • format of the output

    w_cparam-no_dialog = 'X'.

    w_cparam-preview = space. " Suppressing the dialog box

    " for print preview

    w_cparam-getotf = 'X'.

    • Printer name to be used is provided in the export parameter

    • OUTPUT_OPTIONS

    w_outoptions-tddest = 'LP01'.

    CALL FUNCTION w_fmodule

    EXPORTING

    • ARCHIVE_INDEX =

    • ARCHIVE_INDEX_TAB =

    • ARCHIVE_PARAMETERS =

    control_parameters = w_cparam

    • MAIL_APPL_OBJ =

    • MAIL_RECIPIENT =

    • MAIL_SENDER =

    output_options = w_outoptions

    • USER_SETTINGS = 'X'

    IMPORTING

    • DOCUMENT_OUTPUT_INFO =

    job_output_info = t_otf_from_fm

    • JOB_OUTPUT_OPTIONS =

    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.

    t_otf[] = t_otf_from_fm-otfdata[].

    • Function Module CONVERT_OTF is used to convert the OTF format to PDF

    CALL FUNCTION 'CONVERT_OTF'

    EXPORTING

    FORMAT = 'PDF'

    MAX_LINEWIDTH = 132

    • ARCHIVE_INDEX = ' '

    • COPYNUMBER = 0

    • ASCII_BIDI_VIS2LOG = ' '

    • PDF_DELETE_OTFTAB = ' '

    IMPORTING

    BIN_FILESIZE = W_bin_filesize

    • BIN_FILE =

    TABLES

    otf = T_OTF

    lines = T_pdf_tab

    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.

    • To display File SAVE dialog window

    CALL METHOD cl_gui_frontend_services=>file_save_dialog

    • EXPORTING

    • WINDOW_TITLE =

    • DEFAULT_EXTENSION =

    • DEFAULT_FILE_NAME =

    • FILE_FILTER =

    • INITIAL_DIRECTORY =

    • WITH_ENCODING =

    • PROMPT_ON_OVERWRITE = 'X'

    CHANGING

    filename = w_FILE_NAME

    path = w_FILE_PATH

    fullpath = w_FULL_PATH

    • USER_ACTION =

    • FILE_ENCODING =

    EXCEPTIONS

    CNTL_ERROR = 1

    ERROR_NO_GUI = 2

    NOT_SUPPORTED_BY_GUI = 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.

    • Use the FM GUI_DOWNLOAD to download the generated PDF file onto the

    • presentation server

    CALL FUNCTION 'GUI_DOWNLOAD'

    EXPORTING

    BIN_FILESIZE = W_bin_filesize

    filename = w_FULL_PATH

    FILETYPE = 'BIN'

    • APPEND = ' '

    • WRITE_FIELD_SEPARATOR = ' '

    • HEADER = '00'

    • TRUNC_TRAILING_BLANKS = ' '

    • WRITE_LF = 'X'

    • COL_SELECT = ' '

    • COL_SELECT_MASK = ' '

    • DAT_MODE = ' '

    • CONFIRM_OVERWRITE = ' '

    • NO_AUTH_CHECK = ' '

    • CODEPAGE = ' '

    • IGNORE_CERR = ABAP_TRUE

    • REPLACEMENT = '#'

    • WRITE_BOM = ' '

    • TRUNC_TRAILING_BLANKS_EOL = 'X'

    • WK1_N_FORMAT = ' '

    • WK1_N_SIZE = ' '

    • WK1_T_FORMAT = ' '

    • WK1_T_SIZE = ' '

    • IMPORTING

    • FILELENGTH =

    tables

    data_tab = T_pdf_tab

    • FIELDNAMES =

    • 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.

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on May 05, 2011 at 05:08 AM

    solved

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on May 05, 2011 at 05:57 AM

    Get the splool number from SP01.

    Goto SE30--->

    Run Report RSTXPDFT4---->

    provide the spool number------->

    it ask for file path & name --- Save

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.