lunes, enero 21, 2008

SMARTFORM - Imprimir formulario Smartform sin preview

Tenemos la necesidad de imprimir un formulario de Smartform sin preview, es decir, sin la necesidad que el usuario tenga que seleccionar la impresora. Para ello debemos de informar correctamente los campos del módulo de función que llama al smartform.

Hay que recordar que cada smartform genera un módulo de función, y que su nombre sólo es conocido en tiempo de ejecución (llamando a otro módulo de función pasándole el nombre del formulario a SSF_FUNCTION_MODULE_NAME y retornando el nombre del MF). Después se realiza la llamada CALL FUNCTION variable_nombre_mf.

Se debe informar unos campos en concreto para realizar la operación requerida (impresión directa). Los campos son :

ls_output_options-tdcopies = '001'.
ls_output_options-tddest = 'ZWIN'.
ls_output_options-tdprinter = 'SAPWIN'.
ls_output_options-bcs_langu = sy-langu.
ls_output_options-tdimmed ='X'.
ls_control_parameters-preview = ''.
ls_control_parameters-no_dialog = 'X'.

Además debemos indicar al MF que utilice eston campos con los nuevos valores para ello también es necesario poner:

user_settings = ''

Para descubrir cuales son los valores correctos de nuestra impresora, podemos activar el preview (ls_control_parameters-preview = 'X') para que se seleccionen los datos correctos y visualizar el campo de salida
es_job_output_info que retorna los valores que el ususario ha seleccionado. Una vez conocido los datos hay que volver a deshabilitar preview.

Configuración de impresora local en SAP

Lo que se pretende es que a la hora de imprimir documentos en SAP, el sistema detecte nuestra impresora local. De esta manera no es necesario configurar todas las impresoras dentro de SAP sino que se utilizará la que tenga el usuario en windows por defecto. Para ello se llama a la transacción SPAD y se realiza la siguiente configuración:
1) Crear una impresora nueva.

2) Informar los campos de la pestaña 'Atributos Dispositivo'

3) Informar los campos de la pestaña 'Acoplamiento SPOOL host'.