CONSTANTS: c_x VALUE ‘X’,
c_repid TYPE sy-repid VALUE sy-repid.
DATA: nombre_modulo_funcion TYPE rs38l_fnam,
g_output_options TYPE ssfcompop, » Output Options for Smartform
g_control_options TYPE ssfctrlop,
lv_ldest TYPE rspopname.
DATA: wa_tablah TYPE zst,
wa_tablad TYPE zst,
it_tablad TYPE ztt.
» se declare en diccionario de abap (se11) como tipo de datos.
*———————————————————————
*———————————————————————
FORM invocar_smartform.
* Inicializar el formulario.
CALL FUNCTION ‘SSF_FUNCTION_MODULE_NAME’
EXPORTING
formname = ‘ZSM’ «nombre del smartforms
direct_call = ‘X’
IMPORTING
fm_name = nombre_modulo_funcion
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3.
* Si hubo errores, desplegar mensaje y terminar, si se continua se produce un error de run time.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid
TYPE sy-msgty
NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
*——————————————————————
«»Control Options
g_control_options-preview = ‘X’.
g_control_options-no_open = ‘ ‘.
g_control_options-no_close = ‘ ‘.
g_control_options-no_dialog = ‘ ‘.
g_control_options-device = ‘PRINTER’.
* g_control_options-getotf = ‘X’.
«»Output Options
lv_ldest = ‘LCL’. «definicion de impresoras
«ACTIVA SELECCION DE IMPRESORA
«—————————————————-
g_output_options-tddest = lv_ldest.«Impresora
» Nota: si omites esta linea no aparecera la ventana de seleccion de impresora
«—————————————————-
g_output_options-tdimmed = ‘X’. «Inmediata
* g_output_options-tdcover = ».
* g_output_options-tdcopies = 1.
* g_output_options-TDNOPRINT = ‘X’. » Boton Imprimir
* g_output_options-tdnoprev = ‘X’. » Boton Previsualizar
* g_output_options-tdtitle = sy-title.
* g_output_options-tdnewid = ‘X’. «Nueva orden de spool
* g_output_options-tddelete = ‘X’. «Borrar tras salida
*——————————————————————
* Enviar datos al formulario e imprimirlo.
CALL FUNCTION nombre_modulo_funcion
EXPORTING
control_parameters = g_control_options
output_options = g_output_options
user_settings = ‘ ‘
gt_costosengh000 = wa_tablah
gt_costosengd000 = it_tablad
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.
* Si se produce un error, reportarlo.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid
TYPE sy-msgty
NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. «invocar_smartform
*———————————————————————
*———————————————————————
si observas en la función que invoca el smartform mando los valores de la tabla interna it_tabla y la estructura wa_tabla en la parte EXPORTING y en el smartforms se declara en la parte IMPORTING ( gt_costosengh000 y gt_costosengd000 )
«No olvides dejar tus cometarios incluye también sugerencias, con tu ayuda podre mejorar esta pagina web»