Академический Документы
Профессиональный Документы
Культура Документы
Buscar... en Teknodatips
Home SAP / ABAP AS/400 IBM i Workshops SAP Cursos IBM i BLOGS
Está aquí: Inicio SAP / ABAP Tutorial ABAP paso a paso: Cómo crear un Smartform
Lea en SAP Netweaver . . . SAP Netweaver / ABAP Notas técnicas / Tips / Tutorials
Desanudando Conceptos:
SAP HANA
Tutorial ABAP paso a paso: Cómo crear un Smartform
No hay “newsletter”, conferencia o
evento del ambiente ERP que en los Conozca cómo crear un Smartform paso a paso en base a un Layout definido y a un
últimos meses haya ahorrado detalles programa impresor creado previamente.
y especulaciones sobre el nuevo
En el tip “Cómo crear el programa impresor para la ejecución de un Smartform en SAP”
paradigma: SAP HANA.
publicado anteriormente en Teknodatips, fue detallado el procedimiento para crear el
En medio del marketing “hype”, es programa impresor necesario para ejecutar el smartform que va a ser creado en este
siempre difícil para los que estamos tip.
en el ruedo decodificar lo esencial de
IMPORTANTE: es necesaria la lectura del tip mencionado para un mejor entendimiento del
las nuevas tecnologías, así que aquí
tip presente en donde se detallará paso a paso la creación del Smartform, que será luego
va nuestro aporte para ayudar a una
ejecutado por el programa impresor creado en el tip anterior mencionado.
cabal y conceptual comprensión de
SAP HANA.
Pasos para crear un Smartform
LEER ESTE ARTICULO >>>>>
a) Pasos para configurar la lógica del Smartform
1) Acceder a la transacción: SMARTFORMS, escribir el nombre del formulario (Ej. ZPRUEBA)
que se va a crear, y luego presionar el botón Create para empezar a definir las
características del Smartform.
3) En este paso se definirán los datos de entrada. Para ello seleccionar sobre el panel de la
izquierda, Form Interface y se observará (sobre el panel derecho) que está compuesto por
las solapas: Import, Export, Tables y Exceptions.
4) Sólo se utilizarán las solapas 1 y 3. En el apartado Import (1) se detallarán aquellos
parámetros de entrada que tendrá el formulario, a excepción de las tablas que irán en
Tables (3).
5) En Tables (3) habrá que definir como parámetro de entrada una tabla interna que se
corresponde con la estructura definida como parámetro de salida en el programa
impresor (GS_SBOOK), como se muestra en la figura siguiente:
6) Seleccionar sobre la izquierda el item Global Definitions que permitirá especificar cuáles
serán las estructuras que utilizará el Smartform para almacenar la información que será
pasada como parámetro.
Para este ejemplo en particular, sólo será necesario añadir bajo la solapa Global Data una
“Work Area” del tipo de datos de la tabla interna pasada como parámetro, para luego poder
recorrerla:
7) Sobre el panel de la izquierda seleccionar Pages and Windows, que definirá el aspecto
visual del Smartform y cómo se muestran los datos en él. %PAGE1 New Page corresponde
al nombre de la página del formulario (este nombre aparece por defecto, pero puede ser
cambiado). Este ejemplo tendrá solo una página (la cantidad va a depender del
comportamiento de cada página):
NOTA: Considerar que una Window o Ventana está relacionada con cada recuadro en
color amarillo definido dentro del layout.
Será necesario en este paso para empezar a definir el diseño, lograr una estructura
jerárquica sobre el panel de la izquierda, similar a la que se muestra a continuación donde
se utilizan los nombres de esos elementos asignados por default. (Considerar la posibilidad
de cambiarlos por nombres más representantivos en cada caso):
Para lograr obtener los elementos que conforman la estructura del diseño del
Smartform, como se muestra en la imagen anterior, será necesario:
1) Para Crear una Window hacer click derecho sobre la página (por defecto %PAGE1 New
Page), luego Create y finalmente seleccionar Window.
3) Luego para Crear un Texto dentro de la Window (que será un título o datos de un
campo), hacer click derecho sobre la Window corriente (por defecto %WINDOW1 New
Window1) y luego seleccionar Text.
Así se verá un texto recién creado siguiendo el paso anterior, donde el nombre fue
cambiado a %TEXT7 New Text 7:
4) En este punto será necesario indicarle al Smartform qué contenido tendrá cada texto
definido:
5) Seleccionar sobre el panel izquierdo, %TEXT7 New Text7 (el texto creado anteriormente)
y sobre la pantalla que aparece en el panel de la derecha, hacer click en sobre el ícono
remarcado en rojo:
Tener en cuenta que si el contenido del texto es un titulo, se necesita ingresar sólo el texto
que se desee (como en el caso de Flights), en cambio si el contenido del texto es un campo
(es una variable, estructura de datos, work area, tabla interna, etc), se lo deberá ingresar
entre signos ampersand (&).
7) Por lo tanto, se deberá crear un Template . Para ello, hacer click derecho sobre la
ventana (%WINDOW2 New Window2), luego sobre Create y finalmente seleccionar
Template:
Con todos los pasos anteriormente especificados, se debería obtener una estructura
jerárquica similar a la siguiente (algunos nombres pueden variar):
NOTA: El Template contenido en la ventana 3 del layout (Date como título y Field 3 como
campo), NO será ejemplificado en este caso.
Hacer doble click sobre la Ventana a modificar, y luego seleccionar “Output Options”
9) Considerar los siguientes datos, para el tamaño y la ubicación de la ventana:
10) Para configurar el template, hacer doble click sobre el template a modificar y
seleccionar el icono (lápiz) para dibujar dos lineas (una vertical y una horizontal), como se
muestra en la siguiente figura:
11) En este paso deberá crearse un texto por cada título o campo que deba ser ingresado
al template (de acuerdo con la jerarquía definida en la figura), de la misma manera que fue
creado para una Window, además de ingresar el título o el mapeo para el campo
correspondiente.
Se hará click en cada uno de los textos que se desprenden del template:
Y a cada uno de ellos se le asignará una fila y una columna según corresponda:
12) Finalmente, se detallará cómo trabajar con un tipo de ventana especial llamada MAIN
(definida en el layout de color gris), que contendrá a la tabla interna pasada como
parámetro. Una vez definidos los pasos que se detallarán a continuación , la estructura
jerárquica de la ventana MAIN deberá quedar de la siguiente manera:
2) Dentro de la ventana MAIN será necesario crear una tabla. Para ello: Botón derecho
sobre MAIN, luego Create y finalmente seleccionar Table:
7) Cambiar %LTYPE por LINEA que indica el ancho de la fila (siempre recordar en cada paso
es necesario grabar y activar para comprobar que no hay errores)
Se desplegarán tanto Header, Main Area como Footer y de cada uno de ellos se
desprenderán sus celdas (llamadas Cell) que son creadas automáticamente:
10) Dentro de cada “CELL” se colocarán los textos correspondientes (realizar el mismo
procedimiento ya explicado anteriormente para las Ventanas). A modo de ejemplo, en la
CELL correspondiente al Header, se colocará un texto llamado %TEXT 9 New Text 9 (Botón
derecho → Create → Text )
11) En este caso, el texto agregado llamado %TEXT 9 New Text 9, llevará los títulos de la
tabla que se mostraron anteriormente en el layout. La forma de ingresar información
dentro del texto es igual a la detallada anteriormente, salvo que en este caso si fuese
necesario dejar espacios entre campos y textos, se hará utilizando doble comas ( ,, ). Tener
en cuenta que dos comas corresponden a un tabulador:
La imagen siguiente muestra la estructura con los textos que fueron agregados a cada
componente (Header, Main Area, Footer)
12) En la estructura jerárquica, Main Area contendrá los campos que se corresponden con
los campos de la tabla en el layout. Tener en cuenta que como son campos tiene que ir
entre signos "&" (ampersand).
1) Para ello, será necesario acceder a la transacción SE80, selecionar el programa impresor
ya creado en el tip anterior que se lo denominó en el ejemplo ZIMPRESOR.
Especialista ABAP
Copyright 2012 - Teknoda S.A.
IMPORTANTE:
“Notas técnicas de SAP ABAP" se envía con
SAP. Contiene notas/tutoriales/artículos técni
Teknoda es una organización de servicios de
otros productos.
Si desea suscribir otra dirección de e-mail pa
mensaje desde esa dirección a sapping@te
suscriptor.
Anterior Siguiente