Crear el smartform
cargar los datos en tablas internas para enviarlas al SF.
form llamar_smartform .
data: lf_formname type tdsfname, "Nombre Smartforms
lf_fm_name type rs38l_fnam, "Nombre smartforms Generado
p_output_options type ssfcompop, "propiedades de visualizac
p_control_parameters type ssfctrlop. "Controles
lf_formname = 'ZSF_HOJAVIDA_10'.
* Propiedades de impresion:
p_output_options-xdf2outdev = 'LP01'.
p_output_options-tddest = 'LP01'. "Impresora
p_output_options-tdimmed = 'X'. "Imprimir Inmediatamente
p_output_options-tddelete = 'X'. "Borrar despues de Impresion
p_output_options-tdnewid = 'X'. "Crear una nueva orden spool
* p_output_options-tdcopies = '12'. "Nro de Copias de impresion
p_control_parameters-preview = 'X'. "Vista de previsualizacion
p_control_parameters-device = 'PRINTER'.
p_control_parameters-no_dialog = 'X'. "Sin Cuadro de dialogo
call function 'SSF_FUNCTION_MODULE_NAME'
exporting
formname = lf_formname
importing
fm_name = lf_fm_name
exceptions
no_form = 1
no_function_module = 2
others = 3.
case sy-subrc .
when 1.
message i398 with 'No se pudo cargar el formulario.'.
return.
when 2.
message i398 with 'No se pudo ejecutar el modulo de funcion.'.
return.
when 3.
message i398 with 'No se pudo cargar la hoja de vida. Error no especificado.'.
return.
endcase.
condense lf_fm_name.
* Obtener fecha en letras
data ls_fecha type string.
perform fecha_en_letras changing ls_fecha.
* Funcion que invoca al smartform
try .
call function lf_fm_name
exporting
control_parameters = p_control_parameters
output_options = p_output_options
user_settings = ' '
ps_user = sy-uname
ps_fecha = ls_fecha
tables
ptd_ztaspirante_10 = gtd_cabecera_asp
ptd_educacion = gtd_educacion
ptd_titulos = gtd_titulos
ptd_laboral = gtd_laboral
ptd_conocimientos = gtd_conocimientos
exceptions
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
others = 5.
case sy-subrc .
when 1.
message i398 with 'No se pudo cargar la hoja de vida. Error de formato.'.
when 2.
message i398 with 'No se pudo cargar la hoja de vida. Error interno.'.
when 3.
message i398 with 'No se pudo cargar la hoja de vida. Error en el envio de datos.'.
when 4.
message i398 with 'No se pudo cargar la hoja de vida. Usuario cancelo la accion.'.
when 5.
message i398 with 'No se pudo cargar la hoja de vida. Error no contemplado.'.
endcase.
catch cx_sy_dyn_call_illegal_type.
message i398 with 'No se pudo cargar la hoja de vida. Excepcion ejecutada'.
return.
endtry.
endform. " llamar_hoja_vida
No comments:
Post a Comment