✒️ABAP La construcción del formulario: configuración general, páginas y ventanas
ABAP La construcción del formulario: configuración general, páginas y ventanas
CONFIGURACION GENERAL DE UN SMARTFORM
Cuando ingresamos a la transaccion smartforms, lo primero que vemos dentro de la carpeta parametrizaciones globales (global settings) los atributos del formulario
Aqui podremos asignar una descripcion a nuestro formulario. En este caso escribiremos "Formulario de usuarios"
En la solapa propiedades generales (general attributes) vemos el idioma de creacion del formulario, que sera es (español) y podremos seleccionar los distintos idiomas en los que traduciremos el formulario
Uno de los puntos mas fuertes de los formularios smartforms es que pueden ser traducidos a varios idiomas con un minimo de trabajo
En la solapa opciones de salida (output options) configuramos las opciones:
En formato de pagina dejarmeos la opcion por defecto que es dina4 que es el formato de pagina correspondiente a una hoja de tamaño a4.
En caracteres por pulgada dejaremos la opcion por defeco que es 10,00.
En lineas por pulgada la opcion por defecto que es 6,00.
En estilo escribiremos el nombre del estilo Z_PRUEBA_ESTILO
El formato de salida sera el que venga por defecto
El segundo item dentro de la carpeta parametrizaciones globales es el Interfase formulario (form interface).
Aqui especificarmeos las variables, estructuras y tablas que recibe como entrada el fornulario.
En nuestro caso completarmeos la solapa tablas con la tabla ti_usuarios. Para especificar el tipo de la tabla tendremos que crear el type table ztt_usuarios, en la transaccion se11, con la estructura zusuarios, que es igual a la tabla ztabla_usuarios pero sin el mandante.
Luego presionamos crear y marcamos la opcion tipo tabla.
Ingresamos una descripcion y la estructura zusuarios que previamente creamos de iguales campos que la tabla ztabla_usuarios a excepcion del mandante. Finalmente activamos.
Por ultimo, utilizamos el tipo tabla en la declaracion de la tabla ztabla_usuarios.
El tercer item dentro de la carpeta parametrizaciones globales son las definiciones globales.
Aqui vemos las solapas datos globales, tipos, simboos de campo, inicializacion, rutinas form y campos moneda/cantidad.
Veamos el objetivo de cada una de ellas:
Datos globales (global data): aqui especificaremos todas las variables, constantes, estructuras, tablas internas, etc, que utilicemos en el formulario.
Tipos (types): aqui declararemos los tipos que utilicemos en el formulario.
Simbolos de campo (field symbols): aqui declararemos los field symbol que utilemos en el formulario.
Inicializacion (initialization): aqui declararemos el codigo que necesite ejecutar el formulario, incluidas llamadas a subrutinas, para por ejemplo obtenrr determnados datos de tablas SAP. Recordaremos que en lo posible debemos concnetrar toda la seleccion de datos en el programa impresor.
Rutinas form (form routines): aqui declaremos el codigo de todas las subrutinas que hayamos especificado en la solapa initialization.
Campos moneda/cantidad (currency/quant. fields): aqui especificarmeos los campos de importe que utilicemos en el formulario.
Los smartforms deben activarse.
-------------------------------------------------------------------------------
ELEMENTOS QUE COMPONENE A UN FORMULARIO SMARTFORM
Esta compuesto por:
Paginas
ventanas
graficos
elementos de texto
modulos de texto
direcciones
tablas
condiciones
loops
lineas de codigo
comandos
carpetas
-------------------------------------
Paginas
Un formulario consiste en una o mas paginas. La priemra pagina es la de inicio que ya existe cuando se crea el formulario. Debemos cambiar su nombre y descripcion ya que por defecto ABAP le asigna un nombre generico que este caso es %PAGE1. Lo cambiaremos por PRIMERA con la descripción "Primera pagina".
En la solapa propiedades generales (genral attributes) podremos esecificar cual sera la siguinete pagina, en caso de existir una, luego de la PRIMERA. Si no existe otra pagina dejamos la principal como la siguiente.
Las paginas de un formulario difieren en su estructura la priemr pagina de una factura por ej contiene las direcciones que no se quieren mostrar en la pagina siguiente pero si se quiere mostrar terminos generales de negocio en la ultima pagina, para cada pagina se debe especificar una pagina siguiente para obtener una secuencia de paginas tambien se puede llamar a la misma pagina repetidamente si se quiere una salida recursiva por ej si la lista de los items abarca mas de una pagina cualquier corte de pagina es disparado automaticamente por la ventana principal o se puede codificar manualemente en la logica del formulario muchos formularios contienen una pagina de diferente estructura la primera que llama a la siguiente y la siguiente que se llama a si misma si el texto no entra completamente en la segunda pagina otra pagina es mostrada automaticamente.
En la solapa opciones de salida (output options) especificarmeos el formato de la pagina, que puede ser formato vertical (portrait) o formao apaisado (landscape) y caracteristicas de la impresion en la opcion mode impresion (print mode).
En la solapa fondo (background picture) podremos agregar una imagen de fondo al formulario.
Si no completmaos la opcion modo de salida (output mode) con el tipo de salida e sistema ignorará el gráfico de fondo.
Para agregar imagenes de fondo al formulario debemos subir el archivo a sap.
Este procedimiento lo veremos en detalle cuando describamos los graficos en los formularios smartform.
--------------------------------------------
Ventanas
Las ventanas son areas de salida para los datos que mosramos dentro de las paginas en el formulario. Cuando creamos un formulario nuevo automaticamente se bgenerara la ventana MAIN de la pagina %PAGE1.
Existen varios tipos de ventanas pero se utilizan dos generalmente: la pricipal o MAIN WINDOW que puede ser una sola por pagina y la secundarias o ventana auxiliar (SECONDARY WINDOW) que pueden existir tantas como necesitemos.
Las principales caracterisiticas de las ventanas son:
Se pueden posicionar ventnas en cualquier parte de una pagina, aun superpuestas unas con otras.
Se pueden utilizar la misma ventana en varias paginas de un formulario de forma tal que los mismos contenidos sean mostrados en todas paginas.
Se puede elegir un tamaño distinto para cada ventana en cada pagina excepto en la ventana principal.
En la ventana principal se muestra informacion que puede abarcar varias paginas. Esto sucede cuando se completa la ventana principal de la primera pagina entonces el sistema continua mostrando el conteniso de la ventna principal en las siguientes paginas. En conclusion se produce un corte de pagina automaticamente. Esto no sucede con las ventanas secundarias.
La ventana principal puede tener el mismo ancho en cada pagina pero puede variar su altura.
Si se crean ventanas secundarias con el mismo nombre en varias paginas, el sistema muestra los contenidos de esa ventana secundaria en cada pagina.
Para crear una ventana, presionamos el boton derecho del mouse sobre el nombre de la pagina y seleccionamos la opcion crear/ventanas
Cambiamos el nombre y descripcion genericos de la ventana por el nombre titulo con la descripcion titutlo del formulario. En la solapa propiedades generales (general attributes) configuramos el tipo de ventana.
En la solapa opciones de salida (output options) especificaremos las dimensiones de la ventana, posicion en la pagina, marcos y sombras.
Marcando la opcion lineas con (lines with) se generara el recuadro en las ventanas por mas que no se imprima ningun contenido. para la ventana TITULO que acabamos de crear los valores de las dimensiones seran los siguientes:
lineas, distancia, color, grosor, sombreado, dibujar simepre marco y sombreado.
Para configurar las dimensiones y posicion de la ventnana en la pagina tambien podremos utilizar el form painter (boton form painter) para cambiar las propiedades de las ventanas en forma sencilla.
Para configurar el form painter en forma detallada accedemos al menu: utilidades-opciones-form painter.
En la solapa condiciones (conditions) podremos configurar condiciones para la visualizacion de la ventana. Las condiciones las especificaremos en la pantalla donde aparece nombre del campo, operador relacional, valor de comparacion.
Tambien podremos determinar de imprimir la ventana solo en los casos que se especifican en los siguinetes checks:
y momento adicional que contiene opciones:
solo en primera pagina, solo tras fin de ventana principal, solo antes de fin ventana principal, solo en pagina (se da la opcion para digitar ej: primera).
 
 
 
Sobre el autor
Publicación académica de Oscar Guillermo Rodriguez Villate, en su ámbito de estudios para la Carrera Consultor ABAP.
Oscar Guillermo Rodriguez Villate
Profesión: Ingeniero de Sistemas - Colombia - Legajo: WM49P
✒️Autor de: 103 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Certificación Académica de Oscar Rodriguez