Ver Mensaje Individual
  #3  
Viejo 12/02/10, 11:40:20
Neo_25 Neo_25 is offline
Member
 
Fecha de Ingreso: jun 2009
Mensajes: 51
A ver si te sirve. Yo es lo q uso.

************************************************************* S M A R T F O R M
**********************************************************
***---------------------------------------------------------
*** Configuración y creación del smartform
***---------------------------------------------------------
**-------------------
** variables para sacar los datos del smartform
**-------------------
*DATA:
* lfm_name TYPE rs38l_fnam,
* lw_ctrlop TYPE ssfctrlop,
* lw_compop TYPE ssfcompop,
* lw_return TYPE ssfcrescl,
* li_otf TYPE itcoo OCCURS 0 WITH HEADER LINE,
* lv_len_in TYPE i,
* li_tline TYPE TABLE OF tline WITH HEADER LINE.
*
*
******
** OBTENEMOS LOS DATOS DEL SMARTFORM
******
** llamo a mi smartform ZSGCF0001
*CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
* EXPORTING
* formname = 'ZSGCF0001' "nombre del smartform
* IMPORTING
* fm_name = lfm_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.
*
** para no verlo y que se marquen solos algunos botones
** para que se mande imprimir directamente
*lw_ctrlop-getotf = 'X'. "Retorno tab.OTF. Sin imprimir, visualizar
*lw_ctrlop-no_dialog = 'X'.
*lw_compop-tddest = 'LOCA'. "impresora local
*
** variables de entrada y salida para el smartform
*CALL FUNCTION lfm_name
* EXPORTING
* control_parameters = lw_ctrlop
* output_options = lw_compop
* user_settings = ' ' "tiene q estar con el espacio para q no salga la ventanita de impresión
* e_task = pi_e_task
* e_object = pi_e_object
* i_estimation = pi_i_estimation
* i_text_detail = pi_i_text_detail
* IMPORTING
* job_output_info = lw_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.
*
*li_otf[] = lw_return-otfdata[].
*
*
******
** Obtengo el PDF en una tabla interna
******
*CALL FUNCTION 'CONVERT_OTF'
* EXPORTING
* format = 'PDF'
* max_linewidth = 132
* IMPORTING
* bin_filesize = lv_len_in
* TABLES
* otf = li_otf[]
* lines = li_tline
* 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.
Responder Con Cita