d|

SMARTFORMS
MANUAL DE CREACIÓN DE SMARTFORMS

La creación de un SmartForm se divide en dos fases: Creación del programa control. Creación del SmartForm

CREACION DEL ESTILO . Entrar en la línea de comandos la transacción que se muestra en el recuadro negro

Luego definir un estilo nuevo para ser aplicado en el formulario, lo primero a realizar es colocar un nombre al estilo; en este caso se llamará ZWSEDOLLY (paso 1) y luego presionar el botón Crear (Paso 2)

Posteriormente aparecerá la siguiente ventana en donde debemos dar doble clic sobre el nodo Formatos de Párrafo, y sobre este mismo dar clic derecho y seleccionar la opción Crear Nodos como se muestra en la siguiente pantalla.

Versión: 001

Página 1 de 31

d|

SMARTFORMS

Aparecerá la siguiente ventana emergente solicitando un nombre para el formato de párrafo; para este ejemplo se creará el formato de párrafo WS.

Aparecerá la siguiente pantalla en donde se debe definir los atributos que va a tener ese párrafo tales como la fuente, el tamaño, los tabuladores, etc.

Versión: 001

Página 2 de 31

d|

SMARTFORMS

La primera pestaña “Sangrías e Interlin.” esta divida en cuatro secciones: 1. Alineación. párrafo. 2. Sangría. La alineación se refiere siempre al margen derecho e izquierdo definido para el

Margen izquierdo de un párrafo. El margen izquierdo es la distancia entre el margen
izquierdo de la ventana y el comienzo de las líneas de texto del párrafo.

Margen izquierdo de un párrafo.

El margen derecho es la distancia entre el margen derecho de la ventana y el margen derecho del texto con margen justificado.

Sangría en la primera línea del párrafo. La sangría es definida como la distancia
entre el margen izquierdo y el comienzo de la primera línea. La sangría podrá ser indicada como valor positivo o valor negativo.

3. Interlin. Espacio anterior. Es la distancia entre el espacio posterior del párrafo anterior y la primera línea
del párrafo actual.

Interlineado. Es la distancia entre la línea de base inferior de un renglón de texto y la línea de
base superior del renglón siguiente.

Espacio posterior. Es la distancia entre la última línea del párrafo actual y el espacio anterior al
párrafo siguiente Luego nos pasaremos a la pestaña Tabuladores como se muestra en la fig.

Versión: 001

Página 3 de 31

d|

SMARTFORMS

Esta pantalla consta de una tabla en donde debemos configurar nuestro tabulador.

1. Posición. La posición se indica como distancia del margen izquierdo de la ventana. 2. Unidad. Unidad de medida para definir la posición de una tabulación.
2. Alineación. Define el tipo de alineación que tendrá el párrafo. 3. Luego nos pasaremos a la pestaña Font como se muestra en la siguiente Fig.

Esta pantalla consta de una tabla en donde debemos configurar la fuente que tendrá nuestro párrafo.

1. Font. En esta lista seleccionamos la fuente que deseamos utilizar para el párrafo. 2. Altura de font. Es el tamaño que tendrá la fuente. 3. Sección de font. En esta lista seleccionamos el tipo de letra existente.
Luego de haber realizado los pasos anteriores debemos dar doble clic en parte izquierda de la pantalla sobre el nodo Datos Cab. Como se muestra en el recuadro negro de la siguiente pantalla.

Versión: 001

Página 4 de 31

d|

SMARTFORMS

Para poder seleccionar el párrafo creado en el paso anterior.

Activar y Guardar , nos pedirá una clase de desarrollo (Paquete); para este caso se selecciono el paquete $TMP y presionar el botón guardar.

CREACIÓN DEL FORMULARIO Existen dos funciones necesarias para el funcionamiento de un formulario SmartForm: SSF_FUNCTION_MODULE_NAME Variable

Versión: 001

Página 5 de 31

d|

SMARTFORMS

La función “variable” es una función que se genera en el momento de la creación del SmartForm. Entrar en la línea de comando la transacción SMARTFORMS y presionar la tecla INTRO.

En esta pantalla debemos seleccionar la opción Estilos y escoger el estilo creado en el paso anterior llamado WSEDOLLY, luego seleccionar la primera opción Formulario y dar un nombre a nuestro formulario; en este caso se llamará ZFORMULARIO y presionar el botón Crear.

Aparecerá la siguiente pantalla con dos pestañas:

Propiedades Generales. Sobre esta pestaña debemos colocarle una breve descripción sobre
nuestro formulario, como además, el autor, el idioma, etc. Ver Fig. A

Opciones de Salida. Sobre esta pestaña definimos el formato de página, los caracteres por
pulgadas, líneas por pulgadas, y la salida del formulario. Ver Fig. B

Versión: 001

Página 6 de 31

d|

SMARTFORMS

Fig. A.

Fig.B.

Versión: 001

Página 7 de 31

d|

SMARTFORMS
CREACIÓN DE PÁGINA EN EL FORMULARIO.

La página que se va a crear para nuestro ejemplo va a contener: 1. Una ventana MAIN que será la que va a contener los datos. 2. Una ventana titulo principal del formulario. 3. Una ventana contador de páginas.

1. Páginas y Ventanas
Lo primero es definir la página de nuestro formulario. Para nuestro caso se creo una página llamada PAGINA1. Esta pantalla esta divida en tres pestañas: 1. Propiedades Generales. Sobre esta pestaña definimos la página que se mostrará después de la página principal, el contador de páginas y el modo de incrementar sus páginas. 2. Opciones de salida. Sobre esta pestaña definimos los atributos de impresión de la pagina 3. Fondo. Sobre esta pestaña definimos si queremos una imagen para nuestra pagina, por ejemplo el logo de la empresa.

Ventana MAIN.
Los formularios SMARTFORMS por defecto crean una ventana llamada MAIN, la cual la encontramos dando doble clic sobre la carpeta PAGINA1. Sobre la Ventana MAIN vamos a encontrar 3 pestañas:

Versión: 001

Página 8 de 31

d|

SMARTFORMS

1. Propiedades generales. 2. Opciones de Salida. 3. Condiciones.

En la pestaña Propiedades generales especificamos el tipo de ventana que vamos a utilizar. nuestro caso seleccionaremos como tipo de ventana M Ventana principal.

Para

En la pestaña Opciones de salida, especificamos la posición, el tamaño, y el marco de nuestra ventana.

Versión: 001

Página 9 de 31

d|

SMARTFORMS

2. Ventana del Titulo.
El segundo paso a seguir es la creación de la ventana del titulo de nuestro formulario. Para esto debemos, dar doble clic sobre PAGINA1, y luego dar clic derecho para desplegar un menú contextual en donde se debe seleccionar la opción

Crear Ventanas

Nos aparece la siguiente ventana en donde debemos darle los atributos a esa ventana. En el campo Ventanas debemos colocarle un nombre para nuestro caso Titulo, en el campo Significado le damos una descripción de lo que es la ventana para nuestro caso colocamos Titulo del Formulario. En tipo de ventana seleccionamos el tipo de ventana T ventana auxiliar.

En la pestaña Opciones de salida de la misma ventana especificamos los atributos

Versión: 001

Página 10 de 31

d|

SMARTFORMS

de esta ventana tales como su posición y tamaño, marco sombreado, etc. Los valores que se muestran en la figura son los tomados para esta ventana

Hasta este punto hemos creado la ventana mas no hemos creado el texto que va a llevar el titulo para esta ventana. Para crear el texto debemos dar doble clic sobre la ventana que acabamos de crear y luego dar clic derecho para desplegar un menú contextual en donde debemos seleccionar la opción

Crear Texto

Versión: 001

Página 11 de 31

d|

SMARTFORMS

Se nos crea una nueva pantalla con cuatro pestañas.

1.

Propiedades Generales. En esta pestaña debemos darle un nombre y una descripción breve. Y en la ventana de texto que aparece en la parte de abajo colocar el Texto que nosotros queremos que salga como titulo en el formulario. Ver Fig. 1.

2. Atributos Web 3. Opciones de Salida 4. Condiciones Fig. 1.

Versión: 001

Página 12 de 31

d|

SMARTFORMS

3 Ventana del contador de páginas.
Para crear nuestra ventana que nos enumerara las paginas que contendrá el formulario., debemos dar doble clic sobre Pagina1, luego dar clic derecho sobre esta misma, en la cual se desplegara un menú contextual en donde debemos seleccionar la opción Crear Ventanas.

Versión: 001

Página 13 de 31

d|

SMARTFORMS

Nos aparece una ventana la cual le debemos dar los atributos como se hizo con las ventanas que ya se han creado tales como, un nombre para nuestro caso contador, una descripción breve para nuestro caso contador de paginas, un tipo de ventana que para nuestro caso es t ventana auxiliar, todo esto para la pestaña Propiedades Generales. Para la pestaña Opciones de salida, configuramos el la posición, el tamaño, el marco, etc. Todo esto lo podemos ver en las dos siguiente figuras.

Versión: 001

Página 14 de 31

d|

SMARTFORMS

Hasta este punto hemos creado la ventana mas no hemos creado el texto que va a llevar el titulo para esta ventana. Para crear el texto debemos dar doble clic sobre la ventana que acabamos de crear y luego dar clic derecho para desplegar un menú contextual en donde debemos seleccionar la opción

Crear Texto

Versión: 001

Página 15 de 31

d| Se

SMARTFORMS
muestra la siguiente pantalla generales y Opciones de salida. la cual debemos configurar las pestañas Propiedades

En la pestaña Propiedades generales debemos colocar y el texto y el comando necesario para realizar el conteo de páginas cada vez que exista una pagina nueva. Los comandos utilizados fueron:

&SFSY-PAGE& &SFSY-FORMPAGES(Z4.0)&
Si deseas ver mas comandos de SAPSCRIPT, tendrás que ir a la ultima pagina de este manual.

Versión: 001

Página 16 de 31

d|

SMARTFORMS
Pestaña Opciones de salida

PASAR INFORMACIÓN ENTRE UN PROGRAMA ABAP Y EL SMARTFORMS REPORT ZHR_SMARTFORMS. TABLES: pa0002. * Variable que guardará el nombre del modulo de función generado al momento de * crear el formulario SMARTFORMS. DATA: nombre_modulo_funcion TYPE rs38l_fnam. * Definicion de tabla interna. DATA: BEGIN OF aux_pa0002 OCCURS 0. INCLUDE STRUCTURE pa0002. DATA: END OF aux_pa0002. PERFORM cargar_datos_demo. invocar_smartform. EXIT. PERFORM

* Rutina que carga los datos a mostrar en el SMARTFORM. FORM cargar_datos_demo. CLEAR aux_pa0002. REFRESH aux_pa0002. SELECT * UP TO 10 ROWS

Versión: 001

Página 17 de 31

d|

SMARTFORMS

FROM pa0002. MOVE-CORRESPONDING pa0002 TO aux_pa0002. APPEND aux_pa0002. ENDSELECT. ENDFORM. * Inicializar el formulario. FORM invocar_smartform. CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME' EXPORTING formname = 'ZFORMULARIO' IMPORTING fm_name = nombre_modulo_funcion EXCEPTIONS no_form = 1 no_function_module = 2 OTHERS = 3. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. * Ejecuta el modulo de funcion que muestra los datos en el formulario. CALL FUNCTION nombre_modulo_funcion TABLES WS_PA0002 = aux_PA0002 EXCEPTIONS formatting_error = 1 internal_error = 2 send_error = 3 user_canceled = 4 OTHERS = 5. IF sy-subrc <> 0. MESSAGE ID symsgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. ENDFORM.

Interfase formulario En esta sección se define la tabla interna que va a recibir la información enviada
desde el programa control „ZHR_SMARTFORMS‟. En este caso la tabla será llamada „WS_PA0002‟. Dar doble clic sobre Interfase formulario. Luego seleccionar la pestaña Tablas

Versión: 001

Página 18 de 31

d|

SMARTFORMS

Definiciones globales. En esta sección se definen: - Datos globales. - Tipos - Símbolos de Campo

Versión: 001

Página 19 de 31

d| Inicialización Rutinas FORM Campos moneda/cantidad

SMARTFORMS

En este caso fue creada una estructura llamada „AUX_WS_PA0002‟, que servirá como puente para colocar la información en la ventana MAIN del formulario.

Versión: 001

Página 20 de 31

d|

SMARTFORMS
Se nos visualiza la siguiente pantalla con 5 pestañas: 1. 2. 3. 4. 5. Tabla Datos Cálculos Opciones de salida Condiciones.

Pestaña Tabla

Dar doble clic sobre la pestaña Datos y en esta opción se crea la rutina LOOP que llevara los datos de la tabla WS_PA0002 a la estructura puente AUX_WS_PA0002. Además, se puede utilizar condiciones WHERE para la selección de los datos. Ver la figura siguiente para mirar la configuración realizada para el ejemplo

Versión: 001

Página 21 de 31

d|

SMARTFORMS

Dar clic sobre el botón Details para obtener más opciones sobre el diseño del marco:

Pestaña Tabla

Versión: 001

Página 22 de 31

d|

SMARTFORMS

El nombre de tipo de línea es una clave con la cual es posible hacer referencia a la disposición de líneas que se desee en los nodos subordinados de la tabla (etiqueta "Opciones de salida" en nodos subordinados). El nombre de un tipo de línea debe comenzar con una letra y debe ser unívoco dentro de una tabla. Un tipo de línea de la tabla describe el ancho de la celda. Las celdas indicadas pueden completarse en los nodos subordinados del nodo de tabla. Cada entrada en tabla editada debe asignarse a un tipo de línea. Esto permite al desarrollador diseñar las tablas complejas. Nota: El ancho total del tipo de línea debe coincidir con el ancho de la tabla.

Para poder crear las filas y las columnas de la tabla debemos seleccionar en el nodo TABLA1 el subárbol

Versión: 001

Página 23 de 31

d|

SMARTFORMS

Área Principal; dar clic derecho sobre este mismo y seleccionar la opción

Crear Entrada en tabla.

Se visualizará la siguiente pantalla en la cual esta creada una fila como %ROW1. Al momento de seleccionar el tipo de línea que se creo, para nuestro caso LINEA nos mostrará las columnas que va a tener esa tabla en la salida.

Versión: 001

Página 24 de 31

d|

SMARTFORMS

Ahora el paso a seguir es crear los textos o la información que vendrá del programa de control; para esto debemos dar clic derecho sobre %CELL1

Aparecerá una nueva pantalla en la cual debemos seleccionar la pestaña Propiedades generales y colocar el comando necesario para mostrar la información en el formulario. Este proceso se realizada dando clic sobre el icono encerrado en el recuadro rojo (1 paso), insertar el comando (2 paso) y luego presionar el botón verde (3 paso).

Igualmente se debe hacer para el otro campo.

Versión: 001

Página 25 de 31

d|

SMARTFORMS

Colocar Imágenes a un SmartForm. Lo primero es dar doble clic sobre la Pagina1 y seleccionar la pestaña Fondo; Posteriormente Colocar un nombre que identifique la imagen subida en el servidor (SE78) para nuestro caso se utilizo una imagen de Súper Mario la cual fue subida como Z_MARIO. En el campo Objeto colocar GRAPHICS; En el campo ID colocar BMAP. Seleccionar la primera opción Im. Graf tramas blanco/negro(BMON), cuando la imagen no es a color. Y en los atributos de edición colocar como resolución 075 DPI. En el modo de visualización seleccionar de la lista la opción X como se muestra en la pantalla siguiente.

Versión: 001

Página 26 de 31

d| Resultado

SMARTFORMS

Como vemos en la ventana anterior no se cuenta con una cabecera para describir la información. Para poder realizar esto se debe crear un ámbito de cabecera sobre la tabla. Dar clic derecho sobre el nodo Ámbito cabecera y seleccionar la opción Crear Entrada en tabla del menú contextual que aparece.

Versión: 001

Página 27 de 31

d|

SMARTFORMS

Luego nos aparece la siguiente pantalla en la cual debemos seleccionar el tipo de línea; siguiendo nuestro ejemplo debemos seleccionar de la lista LINEA, automáticamente se visualizaran dos columnas %CELL3, %CELL4.

Versión: 001

Página 28 de 31

d|

SMARTFORMS

Una vez las columnas %CELL3, %CELL4 aparecen debemos crearle la cabecera para esas columnas. Este proceso se realiza dando clic derecho sobre cada una de estas columnas y seleccionando del menú contextual la opción Crear Texto.

Una vez el paso anterior es realizado, debemos colocar el texto en la pestaña Propiedades generales, en el editor de texto que aparece; para seguir nuestro ejemplo colocamos el texto “Nombre completo”

Versión: 001

Página 29 de 31

d|

SMARTFORMS

Activar y Guardar , nos pedirá una clase de desarrollo (Paquete); para este caso se selecciono el paquete $TMP y presionar el botón guardar.

NOTAS A través de la pestaña de máscara de edición se pueden dibujar marcos para la información de cabecera. Se cuenta con botones de diseño de línea para modelar los marcos deseados. Se puede seleccionar el botón „Detalles‟ para obtener más opciones sobre el diseño del marco: CAMPOS DEL SISTEMA PARA SMARTFORMS &SFSY-DATE& Muestra la fecha. Tú determinas el formato de fecha a mostrar en el registro maestro del usuario. &SFSY-TIME& Muestra la hora en el formato HH:MM:SS &SFSY-PAGE& Inserta el numero de la pagina actual de impresion en el texto. Tu determinas el formato del numero de pagina (por ejemplo, Arabic, Numeric) en el nodo Pagina. &SFSY-FORMPAGES& Muestra el numero total de paginas para la el actual formulario procesado. Esto permite incluir texto en el formulario tales como Pagina X de Y. &SFSY-JOBPAGES& Contiene el número total de paginas para todos los formulario

Versión: 001

Página 30 de 31

d|

SMARTFORMS

&SFSY-WINDOWNAME& Contiene el nombre de la ventana actual (Cadena en el campo Ventana) &SFSY-PAGENAME& Contiene el nombre de la pagina actual(cadena en el campo pagina)

Versión: 001

Página 31 de 31

Sign up to vote on this title
UsefulNot useful