Skip to Content
author's profile photo
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 comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

7 Answers

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

  • author's profile photo
    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 comment
    10|10000 characters needed characters exceeded

  • author's profile photo
    Former Member
    Posted on Jun 18, 2007 at 07:49 AM
    Add 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 comment
    10|10000 characters needed characters exceeded

  • author's profile photo
    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 comment
    10|10000 characters needed characters exceeded

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

    solved

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo
    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 comment
    10|10000 characters needed characters exceeded