Documente Academic
Documente Profesional
Documente Cultură
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
impresornecesario 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.
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.
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
lasestructuras 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
visualdel 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).
Será necesario en este paso para empezar a definir el diseño, lograr una estructura
jerárquicasobre 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:
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:
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:
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):
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”
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:
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:
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:
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:
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.:
8) Luego click derecho sobre Header bajo GS_BOOK, en la estructura jerárquica de la izquierda,
seleccionar Create y finalmente Table Line:
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.
2) Al presionar F8 (Ejecutar) aparecerá la imagen siguiente, mostrando las opciones de
impresiónpara 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 ….