Tema: smartforms
Ver Mensaje Individual
  #4  
Viejo 08/10/07, 14:16:08
Avatar de ppchico
ppchico ppchico is offline
Senior Member
 
Fecha de Ingreso: oct 2006
Localización: Málaga
Mensajes: 144
Es posible imprimir directamente, sin la obligacion de pulsar el boton de imprimir. Mediante la estructura SSFCTRLOP, puedes indicarle que no muerstre la pantalla de previsualizacion, y que lo imprima directamente, mediante los campos:
ls_control_param-no_dialog = 'X'. Con eso evitas el tener que pulsar el boton de imprimir, y si le haces un clear al campo preview, entonces creo que imprime directamente, o si no, muestra el formulario directamente en caso de ponerlo a X.

Una vez rellena esa estructura, llamas a la Funcion :

SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF; } .L0S33 { color: #4DA619; } .L0S52 { color: #0000FF; } CALL FUNCTION 'WFMC_PREPARE_SMART_FORM'
EXPORTING
PI_NAST = NAST
PI_COUNTRY = IS_DLV-LAND
PI_ADDR_KEY = IS_ADDR_KEY
PI_REPID = LF_REPID
PI_SCREEN = XSCREEN
IMPORTING
PE_RETURNCODE = CF_RETCODE
PE_ITCPO = LS_ITCPO
PE_DEVICE = LF_DEVICE
PE_RECIPIENT = CS_RECIPIENT
PE_SENDER = CS_SENDER.

Esto te devuelve las estructuras para luego pasarselas a la llamada del smartforms.

Por ultimo haces la llamada al smartforms, usando las estructuras devueltas () Asegurandote de que la estructura del control param, tenga los campos anteriores con los valores deseados. Y debería de imprimirlo de manera directa.

SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF; } .L0S31 { font-style: italic; color: #808080; } .L0S32 { color: #3399FF; } .L0S52 { color: #0000FF; } CALL FUNCTION lf_fm_name
EXPORTING
archive_index = toa_dara
archive_parameters = arc_params
control_parameters = ls_control_param
mail_recipient = ls_recipient
mail_sender = ls_sender
output_options = ls_composer_param
user_settings = space
is_nast = nast
is_repeat = repeat
* Parametro a pasar
s_fini = s_fini-low
s_ffin = s_ffin-low
TABLES
ITAB_datos = itab_datos

EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.

Espero que te haya sido de ayuda.
Responder Con Cita