Application Development and Automation 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: 
Read only

smart forms

Former Member
0 Likes
809

i am modifying delivery note layout, where i need to convert the output to pdf and download the file to pc

so i am using convert_off and gui_download, the problem here is i am not shure what fileds i need to fill up in convert_otf and gui_download.

7 REPLIES 7
Read only

Former Member
0 Likes
736

HI,

CALL FUNCTION 'CONVERT_OTF'

EXPORTING

format = 'PDF'

max_linewidth = 132

IMPORTING

bin_filesize = v_len_in

TABLES

otf = i_otf

lines = t_pdf

EXCEPTIONS

err_max_linewidth = 0

err_format = 1

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

call function 'WS_DOWNLOAD'

exporting

bin_filesize = v_len_in

filename = 'ABC.PDF'

filetype = 'BIN'

importing

filelength = v_len_in

tables

data_tab = t_pdf

  • FIELDNAMES =

see the below blog, this is well explained with screen shots ..

/people/sap.user72/blog/2004/11/10/bsphowto-generate-pdf-output-from-a-bsp

Regards

Sudheer

Read only

Former Member
0 Likes
736

Hi,

<b>SmartForms Output to PDF</b>

There is a way to download smartform in PDF format.

Please do the following:

1. Print the smartform to the spool.

2. Note the spool number.

3. Download a PDF file (Acrobat Reader) version of the spool by running Program <b>RSTXPDFT4</b> and entering the noted spool number.

Regards

Sudheer

Read only

Former Member
0 Likes
736

hi

Observe this code... it have complete program... replace the smartform calling in this code and plave u r smartform..

then imple ment it in u r program. it is working fine. u r problem willbe solved.

<b>st_control_parameters-getotf = 'X'. is the main</b>

whuile u r using convert_otf... befor this u nedd to change the comntrol parametrs.


DATA: it_otf   TYPE STANDARD TABLE OF itcoo,
      it_docs  TYPE STANDARD TABLE OF docs,
      it_lines TYPE STANDARD TABLE OF tline,
      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_output_options-tdprinter = 'locl'.

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.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

*...........................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.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.

*.........................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.
  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 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.
  IF sy-subrc <> 0.
*     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
ENDIF.

Message was edited by:

Naresh Reddy

Read only

0 Likes
736

i have tried as per ur saying but its not converting r downloaing to pc can u help me out in this

Read only

0 Likes
736

Hi,

Use the GET_PRINT_PARAMETERS and get the print properties in an internal table and pass this internal table to the control parameters of the OTF func.module.

Regards

Subramanian

Read only

0 Likes
736

Hi,

i have modified the above code by copying the standard program, whats the problem here is i am working on ides so i dont find any data in database, i have copied the above given program and then created a new program, so can i mape the program in the nace table so that when ever i execute the purchase order data will be shown in script.

Read only

Former Member
0 Likes
736

check the link below,