✒️ABAP La ejecución y el debug de un formulario Smartform
ABAP La ejecución y el debug de un formulario Smartform
Ejecución de un formulario smartform:
Para ejecutar un formulario Smartform, se tendrá que ejecutar el programa impresor del formulario, donde se desarrolla todo el código en la transacción SE38.
Los registros de la tabla se alamacenan en la tabla interna.
La subrutina que invoca al formulario smartform. Primero se ejcuta la función estándar SSF_FUNCTION_MODULE_NAME con el nombre del formulario smartform como parámetro de entrada y en la variable v_nombre_form recuperamos el nombre de función que ejecuta el smartform. Luego ejecutamos la función v_nmabre_form pasanso como parámetros la tabla interna. En la pantalla de impresión del Smartform, se pueden configurar las opciones de salida del formulario. En la ventana “Control de cola”, marcando la opción “Imprimir inmediatamente”, se consigue que la impresión no se almacene en el spool y que se ejecute inmediatamente, por lo contrario, se debería acceder a la transacción sp01 para buscarla. La opción “Modo de almacenaje”, se puede determinar si solo se quiere imprimir o almacenar la impresión en el spool. En la opción “SAP cover page”, situada en la ventana “Cover page settings”, se puede determinar si se quiere imprimir en la misma hoja la portada de SAP. También, es necesario determinar la impresora donde se va a realizar la impresión.
Para debugear un Smartform, hay que acceder a la transacción Smartform, creando dentro de una de las ventanas un objeto de líneas de código “Create -> Flow Logic -> Program lines”. Dentro del objeto, se escribe la sentencia, “break-point” y activamos. Si ejecutamos y seleccionamos la impresora local y previsualizamos se puede ver como se detendrá en el lugar donde se puso el breakpoint.
Para depurar un formulario Smartform, se puede utilizar la transacción “Smartform_trace”. Al ejecutar la transacción, en la pantalla de selección se deberá activar la traza mediante el botón activar y definir el nivel de la traza, el cual puede ser advertencia o error, información de documento, paginas, ventanas, etc. Luego hay que ejecutar el programa impresor del formulario Smartform el cual imprimirá el formulario en la pantalla. Si se vuelve a visualizar la transacción “Smartform_trace”. Se verá la tabla que se encuentra en la parte inferior de la pantalla, habrá registrado la fecha actual de la traza, la hora, el usuario, el nivel de la traza, etc. Al visualizar la traza nos informa de los detalles de los errores que contiene el formulario
Para ejecutar un SmartForm tenemos que ejecutar el programa impresor del formulario.
Marcaremos un BreakPoint para analizar su comportamiento en el PERFORM carga_datos.
Veremos que se recuperan algunos registros y se almacenan en la TI de usuarios.
Ahora veremos la subrutina que invoca al formulario. PERFORM invocar_smartform.
Primero se inicializa el Formulario mediante la función SSF_FUNCTION_MODULE_NAME con el nombre del formulario como parámetro de entrada, y en la variable v_nombre_form recuperamos el nombre de función que ejecuta el SmartForm.
Luego ejecutamos el módulo de función contenido en la variable w_nombre_form pasando como parámetro la tabla de usuarios.
En la pantalla de impresión podemos configurar distintos aspectos de la impresión.
- Print immediately, hace que se imprima directamente. Podemos especificar el número de copias a imprimir.
- Storage Mode, especificamos si sólo imprimimos, sólo almacenamos en el spool o si hacemos ambas cosas.
- SAP cover page, decidimos si se imprime en la misma hoja la portada de SAP.
- Output Device, determinamos la impresora (LP01: impr. local de Windows).
Podemos previsualizar la impresión para ver el contenido de la orden de impresión.
Podemos poner un BreakPoint dentro del SmartForm insertando líneas de código en un nodo u objeto y escribiendo BreakPoint.
Para Debuggear un SmartForm lo hacemos desde la TX SMARTFORM_TRACE.
Se deberá activar en la pantalla de selección la traza, y definir el nivel de la traza que puede ser de advertencia o error, info del documento, páginas, ventanas, etc.
Ejecutamos el programa impresor.
Acedemos de nuevo a la TX SMARFORM_TRACE y comprobamos el cuadro inferior, donde visualizaremos la fecha, hora, usuario y nivel de la traza.
 
 
 
Agradecimiento:
Ha agradecido este aporte: Francisco Ortega Aguilar
Favorito:
Está publicación ha sido agregada a sus favoritos por: Francisco Ortega Aguilar
Sobre el autor
Publicación académica de Felipe Estepa Quintero, en su ámbito de estudios para la Carrera Consultor ABAP.
Felipe Estepa Quintero
Profesión: Tecnologo en Gestion Logistica - Colombia - Legajo: QH16V
✒️Autor de: 118 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Certificación Académica de Felipe Estepa