✒️ABAP La ejecución y el debug de un formulario Smartform
ABAP La ejecución y el debug de un formulario Smartform
VIDEO - EJECUCION DE UN FORMULARIO SMARTFORM
En el video veremos: ¿COMO EJECUTAR UN FORMULARIO SMARTFORM?.
PARA EJECUTAR UN FORMULARIO SMARTFORM tendremos, que ejecutar el programa impresor del formuario, para ello:
Entramos en el programa impresor y colocamos un BREAK-POINT para analizar su comportamiento
- Ejecutamos el programa
- Ahora entramos en la subrutina CARGAR DATOS, que es la que recupera los datos de la tabla Base de Datos ztabla_usuarios.
- Aqui comprobamos que se recuperan 4 registros de la tabla ztabla_usuarios, y se almacenan en la tabla interna ti_usuarios.
Ahora veamos la subrutina que invoca al formulario Smartform:
Lo que primero hacemos es ejecutar la funcion standar SSF_FUNCTION_MODULE_NAME con el nombre de nuestro formulario Smartform como parametro de entrada y recuperamos en la variable v_nombre_form, el nombre del modulo de funcion que ejecuta el Smartform.
Luego ejecutamos el modulo de funcion contenido en la variable v_nombre_form pasando como parametro de entrada a la tabla interna de usuarios ti_usuarios
A continuacion, vemos la pantalla de impresion del formulario, aqui podemos configurar los diferentes aspectos de la impresion, podemos poner un titulo a la impresion
En las opciones del SPOOL CONTROL, marcando el CHECK PRINT IMMEDIATELY logramos que la impresion no se almacene en el SPOOL y que se ejecute directamente, de lo contrario tendremos que ir a buscarla en la TRANSACCION SP01
Podemos determinar la cantidad de copias a imprimir en la opcion STORAGE MODE podemos determinar si queremos solo imprimir o almacenar la impresion en el SPOOL. En la opcion SAP COVER PAGE podemos determinar si queiremos imprimir ne la misma hoja la portada de sap
Finalmente deteminamos la impresora donde se realizara la impresion, por mas que solo deseemos previsualizar el formulario y no imprimir en papel, tendremos que seleccionar una impresora.
Elegimos la impresora LP01 que es el nombre con el que se designa a la impresora local de WINDOWS de la PC en donde estamos trabajando, y previsualizamos para ver la impresion, aqui vemos el formulario Smartform
Veamos ahora como DEBUGGEAR un formulario Smartform, para ello vamos a la transaccion SMARTFORMS:
- Seleccionamos el formulario, la opcion change, y creamos dentro de la ventana de direccion un objeto de lineas de codigo, para ello:
- Seleccionamos la opcion CREATE - FLOWLOGIC - PROGRAM LINES, escribimos la sentencia BREAK-POINT y activamos, ahora volvemos a ejecutar el programa impresor, seleccionamos la impresora local (LP01), y previsualizamos,
- Finalmente vemos que la ejecution del formulario BREAK-POINTSmartform se detuvo en el lugar donde situamos el BREAK-POINT.
Para depurar un formulario smartform, podemos utilizar la transaccion estandar SMARTFORM_TRACE, al ejecutar la transacción en la pantalla de selección deberemos 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 ejecutamos el programa impresor de nuestro formulario smartform el cual imprimirá el formulario en la pantalla
Volvemos a visualizar la transacción SMARTFORM_TRACE, particularmente veremos la tabla que se muestra en la parte inferior de la pantalla, la cual abra registrado la fecha actual de la traza, la hora, el usuario, el nivel de la traza, y demas datos.
Al visualizar la traza correspondiente a nuestro formulario, verificamos que el sistema nos informa los detalles de los errores que contiene el formulario smartform que acabos de programas.
 
 
 
Sobre el autor
Publicación académica de Ixhel Magai Lopez Valencia, en su ámbito de estudios para la Carrera Consultor ABAP.
Ixhel Magai Lopez Valencia
Mexico - Legajo: PM62E
✒️Autor de: 134 Publicaciones Académicas
🎓Egresado de los módulos:
- Máster ABAP for HANA
- Máster ABAP Orientado a Objetos
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: PartTime
Presentación:
Soy ingeniera en telematica, estoy interesada en aprender programacion en sap, solo tengo conocimientos basicos en java
Certificación Académica de Ixhel Lopez