Subido por aguerra.chile

Tutorial ABAP paso a paso Cómo crear un Smartform

Anuncio
10/31/2019
Tutorial ABAP paso a paso: Cómo crear un Smartform
top-menu
Sobre Teknoda
Contacto
Buscar... en Teknodatips
Home
Está aquí: Inicio
SAP / ABAP
SAP / ABAP
AS/400 IBM i
Workshops SAP
Cursos IBM i
BLOGS
Tutorial ABAP paso a paso: Cómo crear un Smartform
SAP Netweaver / ABAP
Notas técnicas / Tips / Tutorials
Tutorial ABAP paso a paso: Cómo crear un Smartform
Conozca cómo crear un Smartform paso a paso en base a un Layout definido y a un programa impresor creado
previamente.
En el tip “Cómo crear el programa impresor para la ejecución de un Smartform en SAP” publicado anteriormente en
Teknodatips, fue detallado el procedimiento para crear el programa impresor necesario para ejecutar el smartform que va
a ser creado en este tip.
IMPORTANTE: es necesaria la lectura del tip mencionado para un mejor entendimiento del tip presente en donde se
detallará paso a paso la creación del Smartform, que será luego ejecutado por el programa impresor creado en el tip
anterior mencionado.
Desanudando Conceptos:
Pasos para crear un Smartform
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.
2) Se llega a la pantalla principal de la transacción SMARTFORMS. Se observa que la pantalla está dividida en dos “paneles”:
sobre la izquierda se presenta una estructura de árbol y sobre la derecha se posibilita realizar modificaciones y visualizar
opciones según lo seleccionado sobre el panel izquierdo. Es conveniente en este punto Guardar el formulario para asignarlo
a un Paquete y asociarlo ya a una Orden de Transporte:
SAP HANA
No hay “newsletter”, conferencia o
evento del ambiente ERP que en los
últimos meses haya ahorrado detalles
y especulaciones sobre el nuevo
paradigma: SAP HANA.
En medio del marketing “hype”, es
siempre difícil para los que estamos
en el ruedo decodificar lo esencial de
las nuevas tecnologías, así que aquí
va nuestro aporte para ayudar a una
cabal y conceptual comprensión de
SAP HANA.
LEER ESTE ARTICULO >>>>>
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.
www.teknodatips.com.ar/sap-netweaver/227-tutorial-abap-paso-a-paso-como-crear-un-smartform.html
1/12
10/31/2019
Tutorial ABAP paso a paso: Cómo crear un Smartform
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).
Los parámetros de entrada se corresponderán con los parámetros de salida definidos en el programa impresor: FLDATE
(DATE1), CARRIER(CARRIER1) y CONNECTION (CONNECTION1) con su correspondiente tipo de dato.
En Export (2) y en Exceptions (4) no será necesario hacer modificaciones.
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):
b) Pasos para definir el diseño del Smartform
En los pasos anteriores se definió la lógica que maneja el Smartform, los próximos pasos servirán para entender y definir
el diseño del Smartform. Para ello será necesario crear diferentes elementos que conformarán el diseño Ventanas
(Windows), textos (Texts) y Plantillas (Templates).
www.teknodatips.com.ar/sap-netweaver/227-tutorial-abap-paso-a-paso-como-crear-un-smartform.html
2/12
10/31/2019
Tutorial ABAP paso a paso: Cómo crear un Smartform
Tener en cuenta que el Layout a definir se corresponderá con el ya especificado y utilizado en el programa impresor
definido en el tip anterior "Cómo crear el programa impresor para la ejecución de un Smartform en SAP, representado como
sigue:
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.
2) Aparecerá la siguiente pantalla, donde se definirán los atributos de esa Window:
www.teknodatips.com.ar/sap-netweaver/227-tutorial-abap-paso-a-paso-como-crear-un-smartform.html
3/12
10/31/2019
Tutorial ABAP paso a paso: Cómo crear un Smartform
NOTA: tener en cuenta el uso de la herramienta Form Painter para asistir al diseño del “Layout” de las ventanas:
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:
Como ejemplo, se asignará el título Flights al texto %TEXT7 New Text7.
Se hará de la siguiente manera:
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:
www.teknodatips.com.ar/sap-netweaver/227-tutorial-abap-paso-a-paso-como-crear-un-smartform.html
4/12
10/31/2019
Tutorial ABAP paso a paso: Cómo crear un Smartform
6) Al presionar el ícono anterior indicado, aparece la pantalla para ingresar el contenido del texto, en este caso para el
título Flights, se escribe como se muestra en la siguiente imagen:
Una vez escrito el texto, habrá que volver hacia atrás
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 (&).
Volviendo a referenciar el layout del ejemplo, para definir la segunda ventana:
es necesario ingresar más de un campo, por lo tanto es conveniente introducir el concepto de “Template” que básicamente
permite ingresar campos o títulos en filas y/o columnas dentro de una misma ventana (en forma de matriz o grilla).
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:
Como resultado aparecerá la pantalla con el Template creado:
Con todos los pasos anteriormente especificados, se debería obtener una estructura jerárquica similar a la siguiente
(algunos nombres pueden variar):
Recordar siempre guardar los cambios y activar el Smartform
Se ejemplificará sólo cómo configurar el Template de la ventana que contiene Carrier y Connection Id y sus respectivos
campos, es decir cuatro textos en total, dos corresponden a los titulos y los otros dos a los campos.
www.teknodatips.com.ar/sap-netweaver/227-tutorial-abap-paso-a-paso-como-crear-un-smartform.html
5/12
10/31/2019
Tutorial ABAP paso a paso: Cómo crear un Smartform
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.
Es importante destacar que el template o cualquier otro elemento definido en el
smartform, no podrá ser más grande que la ventana que los contiene (ni en alto ni en
ancho), por eso en el paso siguiente se configurarán las dimensiones y ubicación de la
ventana ya definida en pasos anteriores, con el objetivo de vincular la ventana con el
template contenido en la misma de acuerdo a lo esperado y así evitar errores.
8) La ventana que contendrá al template ejemplificado se configurará de la siguiente manera:
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:
Luego se hará click en en el botón details:
y aparecerá la pantalla siguiente, y luego completar de
acuerdo a los valores presentados en la siguiente pantalla:
www.teknodatips.com.ar/sap-netweaver/227-tutorial-abap-paso-a-paso-como-crear-un-smartform.html
6/12
10/31/2019
Tutorial ABAP paso a paso: Cómo crear un Smartform
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:
En el ejemplo, este texto va en la Fila 2 (Line 2) y en la Columna 1(Column 1).
Para las ventanas restantes que contengan templates, el proceso será el mismo que el detallado en los pasos
anteriores.
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:
Definición de la ventana MAIN
Para lograr el diseño de esa estructura de MAIN, será necesario seguir los siguientes pasos:
1) MAIN siempre aparece por defecto en la estructura al crear el Smartform, y se visualizará 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:
www.teknodatips.com.ar/sap-netweaver/227-tutorial-abap-paso-a-paso-como-crear-un-smartform.html
7/12
10/31/2019
Tutorial ABAP paso a paso: Cómo crear un Smartform
3) Luego, aparecerá la pantalla siguiente en donde, para el ejemplo, se deberá cambiar el nombre de la tabla (campo Tabla),
a GS_BOOK y presionar Enter.:
4) Posteriormente, seleccionar la solapa “Data”:
5) En Data se deberán colocar: la tabla interna recibida como parámetro (GS_BOOK) y luego de INTO, escribir la “Work Area”
que fue definida en Global Definitions (AUX_GS_SBOOK) como se muestra en la siguiente imagen:
6) Luego, al seleccionar la solapa TABLE, aparecerá en la parte inferior de la pantalla un recuadro, que por defecto contiene
%LTYPE1. Hacer click sobre el rectángulo (pasará a color negro) y luego presionar el botón "Details":
www.teknodatips.com.ar/sap-netweaver/227-tutorial-abap-paso-a-paso-como-crear-un-smartform.html
8/12
10/31/2019
Tutorial ABAP paso a paso: Cómo crear un Smartform
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)
8) Luego click derecho sobre Header bajo GS_BOOK, en la estructura jerárquica de la izquierda, seleccionar Create y
finalmente Table Line:
9) Posteriormente, al desplegar Header aparecerá la “Table Line” recientemente creada. Cambiar el nombre por HEADER y
en Line Type seleccionar LINEA:
Se deberán repetir los pasos detallados anteriormente tanto para Main Area como para Footer, también visualizados sobre
la estructura jerárquica (sólo variará el nombre de cada uno)
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 )
www.teknodatips.com.ar/sap-netweaver/227-tutorial-abap-paso-a-paso-como-crear-un-smartform.html
9/12
10/31/2019
Tutorial ABAP paso a paso: Cómo crear un Smartform
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).
13) Finalmente, la sección de Footer (Field 7 en el Layout representado), se ingresará unicamente un nombre o un texto a
elección, de la misma manera que se ingresa cualquier elemento de texto.
Probando el funcionamiento del Smartform
Luego de haber creado el Smartform (siguiendo todos los pasos detallados en el presente tip), y contando con el
programa impresor (ya creado en el tip anterior: Cómo crear el programa impresor para la ejecución de un Smartform en
SAP), es posible finalmente testear su funcionamiento, ejecutándolo.
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.
www.teknodatips.com.ar/sap-netweaver/227-tutorial-abap-paso-a-paso-como-crear-un-smartform.html
10/12
10/31/2019
Tutorial ABAP paso a paso: Cómo crear un Smartform
2) Al presionar F8 (Ejecutar) aparecerá la imagen siguiente, mostrando las opciones de impresión para imprimir el
Smartform creado:
3) Sobre la imagen anterior, al Hacer click en “Print Preview”, se desplegará la imagen siguiente, que refleja la salida de la
ejecución del smartform. Considerar que la disposición de las ventanas en la salida aquí obtenida puede variar, en
consecuencia de lo que no se definió detalladamente en el tip presente, y dependerá en ese caso de lo que el desarrollador
haya especificado para completar la definición del Smartform.
Para tener en cuenta ….
Es importante considerar la utilización de la herramienta Form Painter que ayuda a defnir la ubicación y el tamaño de
las ventanas. Se recomienda utilizarlo con criterio, porque un mal uso del mismo puede llevar a errores en el
www.teknodatips.com.ar/sap-netweaver/227-tutorial-abap-paso-a-paso-como-crear-un-smartform.html
11/12
10/31/2019
Tutorial ABAP paso a paso: Cómo crear un Smartform
funcionamiento de Smartforms. Debido a esto en el presente tip se colocaron específicamente las medidas de una de
las ventanas.
Una buena práctica es utilizar un mismo patrón de medida para definir todos los elemento del smartform.
Especialista ABAP
Copyright 2012 - Teknoda S.A.
IMPORTANTE:
“Notas técnicas de SAP ABAP" se envía con frecuencia variable y sin cargo como se
SAP. Contiene notas/tutoriales/artículos técnicos desarrollados en forma totalmente o
Teknoda es una organización de servicios de tecnología informática y NO comerciali
otros productos.
Si desea suscribir otra dirección de e-mail para que comience a recibir las Notas Técn
mensaje desde esa dirección a [email protected], aclarando nombre, empresa
suscriptor.
SAP, Netweaver, R/3, Fiori,S4/HANA y ABAP son marcas registradas de SAP AG. SA
publicación y no es responsable de la misma en ningún aspecto. La información conte
ha sido generada por nuestros especialistas a partir de fuentes consideradas confiabl
profesional cotidiano. No obstante, por la posibilidad de error humano, mecánico, cam
Teknoda no garantiza la exactitud o completud de la misma.
COPYRIGHT TEKNODA S.A. PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL
DE TEKNODA
Anterior
Siguiente
Cambio Pantalla iPhone y ipad - Cambio de batería
Smart Electrónica
Copyright © 2019 Teknoda Tech Portal & Training.
Todos los derechos reservados.
Joomla! es software libre, liberado bajo la GNU
General Public License.
©2019 Teknoda Tech Portal & Training | Designed by Hurricane Media
www.teknodatips.com.ar/sap-netweaver/227-tutorial-abap-paso-a-paso-como-crear-un-smartform.html
12/12
Descargar