1.3. - Construcción del formulario: Configuración general, páginas y ventanas
1.3.1. - Configuración general de un Smartform
Al acceder a la transacción “SMARTFORMS”, aparece una pantalla en la que se pueden ver varias carpetas con pestañas de configuración. La primera de ellas, es la carpeta “Parametrizaciones Globales/Global Settings”, en la que se encuentran los atributos del formulario, el interface del formulario y las definiciones globales.
En la primera de las subcarpetas, se encuentran los atributos del formulario, en el que se puede añadir una descripción al formulario. En la pestaña “Propiedades generales/General Atributtes”, se encuentra el idioma de creación del formulario, pudiendo seleccionar distintos idiomas para traducir.
En la pestaña “Opciones de salida/Output options”, se configuraran las opciones como:
1. Formato de página (Page format)
a. La opción por defecto es DINA4.
2. Caracteres por pulgada (Characters per inch)
a. Opción por defecto 10.
3. Líneas por pulgada (Lines per inch)
a. Opción por defecto 6.
4. Estilo (Style)
a. Nombre del estilo que se necesita utilizar. En este caso, se configurará “Z_PRUEBA_ESTILO”, configurado anteriormente.
5. Formato de salida (Output format)
a. El configurado por defecto
En la segunda de las subcarpetas, se encuentra el interface del formulario, en el que se puede añadir las variables, estructuras y tablas que recibe como entrada el formulario.
Para este caso, se completará la pestaña “Tablas” con la tabla “Ti_usuarios”. Para especificar el tipo de tabla, habrá que crear el “Type table” ZTT_USUARIOS, en la trx SE11, con la estructura “ZUSUARIOS”, que es igual que la tabla de usuarios pero sin el mandante.
En la tercera de las subcarpetas, se encuentran las definiciones globales, donde se añaden varios tipos de campos:
1. Datos globales (Global data)
a. Se especificarán todas las variables, constantes, estructuras, tablas internas, que se utilicen en el formulario
2. Tipos (Types)
a. Se declararán los tipos que se utilicen en el formulario.
3. Símbolos de campo (Field symbols)
a. Se declararán los Field symbols que se utilicen en el formulario.
4. Inicialización (Initialization)
a. Se declarará el código que necesite ejecutar el formulario, incluidas llamadas a subrutinas.
5. Rutinas Form (Form routines)
a. Se declarará el código de todas las subrutinas especificadas en la pestaña Initialization
6. Campos de moneda/cantidad (Currency/Quant.Fields)
a. Se declararán los campos de importe que se utilicen en el formulario.
1.3.2. - Elementos que componen a un formulario Smartform
Un formulario Smartform estará compuesto por:
1. Páginas
2. Ventanas
3. Gráficos
4. Elementos de texto
5. Módulos de texto
6. Direcciones
7. Tablas
8. Condiciones
9. Loops
10. Líneas de código
11. Comandos
12. Carpetas
1.3.3. - Páginas
Un formulario consiste en una o más páginas. La primera página es la de inicio, que ya existe cuando se crea el formulario. Hay que cambiar su nombre y descripción ya que por defecto ABAP le asigna un nombre genérico, que en este caso es “%PAGE1”. Se podrá cambiar el nombre en la pestaña “Propiedades generales/General attibutes”, de la ventana “Paginas y ventanas/Pages & Windows”.
Las páginas de un formulario difieren en su estructura. La primera página de una factura, por ejemplo, contiene las direcciones que no se quieren mostrar en la página siguiente, pero si se quieren mostrar términos generales de negocio en la última página.
Para cada página se debe especificar una página siguiente, para obtener una secuencia de páginas. También, se puede llamar a la misma página repetidamente, si se quiere una salida recursiva, por ejemplo, si la lista de los ítems de la factura es muy larga y no entra en un solo documento de página.
Cualquier corte de páginas es disparado automáticamente por la ventana principal o se puede codificar manualmente en la lógica del formulario. Muchos formularios contienen solo una página de diferente estructura, la primera, que llama a la siguiente y la siguiente, que se llama a sí misma. Si el texto no entra completamente en la segunda página, otra página es mostrada automáticamente.
En la pestaña “Opciones de salida/Output options”, se especificará el formato de la página, que puede ser formato vertical (Portrait), o formato horizontal (Landscape) y características de la impresión en la opción “Modo impresión/Print mode”.
En la pestaña “Fondo/Background picture” se puede añadir una imagen de fondo al formulario. Si no se completa la opción “Modo de salida/Output Mode” con el tipo de salida, el sistema ignorará el gráfico de fondo.
1.3.4. - Ventanas
Las ventanas son áreas de salida para los datos que se muestran dentro de las páginas en el formulario. Cuando se crea un formulario automáticamente, se genera la ventana “MAIN” dentro de la página “%PAGE1”.
Existen varios tipos de ventanas, pero solo se utilizan dos generalmente: la principal o “MAIN Window”, que puede ser una sola por página, y la secundaria o “ventana auxiliar (Secondary window)”, que pueden existir tantas como se necesiten.
Las principales características de las ventanas son:
1. Se pueden posicionar ventanas en cualquier parte de una página, aún superpuestas unas con otras.
2. Se puede utilizar la misma ventana en varias páginas de un formulario de forma tal que los mismos contenidos sean mostrados en todas las páginas.
3. Se puede elegir un tamaño distinto para cada ventana en cada página excepto en la ventana principal.
4. En la ventana principal se muestra información que puede abarcar varias páginas. Esto sucede cuando se completa la ventana principal de la primera página, entonces el sistema continua mostrando el contenido de la ventana principal en las siguientes páginas. Se produce un corte de página automáticamente. Esto no sucede con las ventanas secundarias.
5. La ventana principal puede tener el mismo ancho en cada página pero puede variar su altura.
6. Si se crean ventanas secundarias con el mismo nombre en varias páginas, el sistema muestra los contenidos de esa ventana secundaria en cada página.
Para crear una nueva ventana, se pulsa el botón derecho del ratón sobre el nombre de la página y se selecciona la opción “Crear%uF0E0Ventanas/Create %uF0E0 Window”.
Se cambia el nombre y la descripción de la ventana por el nombre “TITULO” y la descripción “Título del formulario”. Esto se configura en la pestaña “Propiedades generales/General attributes”.
En la pestaña “Opciones de salida/Output options”se especificarán las dimensiones de la ventana, la posición en la página, marcos y sombras. Marcando la opción “Lineas con/Lines with”, se generará el recuadro en las ventanas por más que no se imprima ningún contenido. Para la ventana “TITULO”, se configurará como ejemplo las dimensiones “2-7-16-2”.
También, se puede configurar de manera manual a través de la herramienta “Form painter”, que muestra la página en blanco para poder modificar las propiedades de la ventana de forma gráfica.
En la pestaña “Condiciones/Conditions”, se podrán configurar condiciones para la visualización de la ventana. También, se puede determinar imprimir la ventana en casos que se especifiquen en los “checks” de la parte inferior de la pestaña.