Sie sind auf Seite 1von 38

ABAP/4

Smart Forms

SMART FORMS

Pgina 1 de 38

ABAP/4

Smart Forms

INDICE. SMART FORMS ....................................................................................................................................................... 1 CARACTERISTICAS: .......................................................................................................................................... 3 Ventajas: ............................................................................................................................................................ 3 Creacin de un smart form..................................................................................................................................... 4 Tipos de nodos. ...................................................................................................................................................... 6 reas salida........................................................................................................................................................ 6 Salida Tabla. ...................................................................................................................................................... 6 Flow control. ...................................................................................................................................................... 6 Otros nodos. ....................................................................................................................................................... 6 Ejecucin de los nodos........................................................................................................................................... 7 Parametrizaciones globales.................................................................................................................................... 7 Interface Formulario: ......................................................................................................................................... 8 Definiciones globales......................................................................................................................................... 9 Para crear una pgina nueva ........................................................................................................................... 10 Ventanas ......................................................................................................................................................... 12 Para crear un Texto de una ventana: .............................................................................................................. 13 Para mostrar los datos de una tabla interna ..................................................................................................... 16 Table Painter: ................................................................................................................................................... 18 Forma de imprimir Ttulos y datos en la tabla................................................................................................. 21 Loop sobre la tabla a imprimir: ................................................................................................................. 25 Objeto ALTERNATIVE................................................................................................................................ 30 Objeto COMMAND....................................................................................................................................... 30 Objeto Program Line. .................................................................................................................................... 31 Smart Styles. ........................................................................................................................................................ 32 Migracin de Sapscript a Smart forms................................................................................................................. 33 System Field......................................................................................................................................................... 34 Formatos de Campos............................................................................................................................................ 35 CODIGO PROGRAMA IMPRESOR. ................................................................................................................ 36

Pgina 2 de 38

ABAP/4

Smart Forms

Smart Forms es la nueva herramienta de sap para la creacin de formularios y su posterior mantenimiento . Igual Sapscript se va a mantener en el futuro pudiendo elegir utilizar uno u otro.

CARACTERISTICAS:
Soporta salidas a impresoras, fax, email e internet (generando archivos xml). Ventajas: menos tiempo de creacin y mantenimiento. Interfase de usuario grafica Publicacin web

Para imprimir un formulario se necesita un programa impresor y el smart form. Pero a diferencia de sapscript la lgica puede estar dentro del smart form; esto es lo que lo hace inteligente. El programa impresor solo pasa los datos, luego las condiciones, el filtrado de datos, ordenamiento, etc; se realiza a travs de la lgica del smart form.

Pgina 3 de 38

ABAP/4

Smart Forms

Creacin de un smart form. Elija la transaccin SMARTFORMS. Ingrese en Form el nombre del objeto y presione el botn Create.

Tambin se puede realizar una copia de un smart form estndar y trabajar sobre la copia.

Pgina 4 de 38

ABAP/4

Smart Forms

El Form Builder aparece en la pantalla. Cualquier objeto se puede seleccionar o ampliar en el men de navegacin que se encuentra a la izquierda.

Navigation Menu: recorrer los distintos objetos (nodos). Maintenance Frame: propiedades y atributos de los objetos. Desde ac se setean todas las caractersticas. Form Painter: se utiliza para disear el Layout del smartform. Se pueden incorporar ventanas y grficos determinando sus posiciones y eligiendo sus tamaos. La lgica del formulario es representada por una estructura en forma de rbol que consiste en nodos individuales, como seteo global, textos, tablas de salida, grficos, etc.

Pgina 5 de 38

ABAP/4

Smart Forms

Tipos de nodos.
reas salida. PAGE. Una pagina de un formulario (sucesores: Windows, grficos, direcciones). WINDOWS. rea de salida en una pagina (todos menos Windows y page nodes). Nodos elementales. TEXT. Para imprimir cualquier texto o contenido de tablas. GRAPHIC. Para imprimir grficos. ADDRESS. Para incluir una direccin Salida Tabla. TEMPLATE. Salida de una tabla conteniendo datos estticos (todos menos Windows, page, table, y template) TABLE. Salida de una tabla conteniendo datos de aplicacin. (igual). Flow control. COMMAND. Ejecuta comandos especiales, next page, numeracin de prrafos, printer control) LOOP. Procesa el nodo sucesor repetidamente. (todos menos Windows y page ) ALTERNATIVE. Control de flujo dependiente de condicin (todos menos Windows y page). Otros nodos. FLDER. Combina nodos sucesores en grupos lgicos (todos menos Windows y page). COMPLEX SECTION. Combina todos los atributos de los nodos tipos template, table, loop, flder (dem). PROGRAM LINES. Ejecuta cdigo abap (por ejemplo rutinas de conversin).

Pgina 6 de 38

ABAP/4

Smart Forms

Ejecucin de los nodos


Los nodos (objetos) se ejecutan de arriba hacia abajo, uno a uno. Tener en cuenta esto cuanto se lean variables por que se puede dar que la quiera imprimir y todava no llego a el objeto que la lee.

Parametrizaciones globales
Definicin de opciones de pgina y parmetros utilizados en el formulario.

Pgina 7 de 38

ABAP/4

Smart Forms

Interface Formulario: Se define en Import o Tablas las tablas internas que se utilizaran en el formulario. Por una cuestin de funcionamiento interno el tipo referencia de las tablas que se importan debe ser un tipo tabla definido por el usuario con la transaccin SE11. En la interface Formulario se definen todos los argumentos ya sean de salida (export) como de entrada (import, tablas).

Tipo tabla definido por el usuario

Pgina 8 de 38

ABAP/4

Smart Forms

Definiciones globales Se puede utilizar cualquier objeto definido en todos los nodos del rbol jerrquico. En Definiciones Globales se definen todas las variables que se van a utilizar en el smart form. El tipo referencia puede ser cualquiera (estndar, definido por el usuario).

Es la tabla o tipo de referencia. Ej. MKPF.

Se puede ingresar cdigo en las lengetas de Inicializacin y Rutinas FORM.

Pgina 9 de 38

ABAP/4

Smart Forms

Para crear una pgina nueva


Hacer clic con el botn derecho del mouse y seleccionar Crear-> Pgina. Una nueva pgina se agrega al rbol. Si se setea solo una pagina (por ejemplo FIRST) cuando la ventana MAIN se llena, automticamente se realiza un salto de pagina pero siempre conservando la estructura de FIRST. Al crear una prxima pagina (por ejemplo NEXT) cuando se llena la ventana MAIN, se salta a esa pagina (la que corresponda) pudiendo esta pagina tener diferente estructura.

NEXT Si hay una proxima pagina. FIRST Si siempre es la misma.

Pgina 10 de 38

ABAP/4

Smart Forms

Se debe indicar en las Propiedades generales, la pgina que sigue a la actual si es que la hay(en este caso Next, de lo contrario First). De est manera se puede modificar el contenido de las pginas, como por ejemplo, imprimir la cabecera de un documento solo en la primera pgina.

Las paginas individuales de un formulario pueden diferir en su estructura. Por cada pagina se puede especificar una prxima pagina. Tambin se puede repetidamente llamar a la misma pagina (por ejemplo cuando todas las paginas a imprimir son iguales).

Pgina 11 de 38

ABAP/4

Smart Forms

Ventanas
Los smart form estn divididos en ventanas, cada una de estas se puede manejar en forma independiente siendo la nica condicin de que solo exista una ventana MAIN por pagina. Al Layout del smart form se accede seleccionando el botn Form Painter ( ).

Para crear una nueva ventana desde el smart painter botn derecho Create->ventana. Dentro de cada ventana se pueden incorporar los nodos (objetos) que se necesiten.

Pgina 12 de 38

ABAP/4

Smart Forms

Para crear un Texto de una ventana:


Hacer clic con el botn derecho del mouse y seleccionar Crear-> Texto Los textos pueden ser tanto literales, como campos.

Pgina 13 de 38

ABAP/4

Smart Forms

Se pueden agregar distintos tipos cambiando el Tipo texto: Elementos de texto Mdulos de texto (SE32) Texto desde SAPscript text

Texto Literal

Pgina 14 de 38

ABAP/4

Smart Forms

Se debe aclarar en Nodos texto, el lugar en donde se ingresaran los textos.

Para ingresar al Editor de texto hacer clic en el botn Editor txt (

Tablas y Campos a imprimir en el Smart Form.

Pgina 15 de 38

ABAP/4

Smart Forms

Para mostrar los datos de una tabla interna


Se debe crear una Seccin compleja en el Main. Este combina los atributos de distintos tipos de nodos: Table, Loop, Folder y Template. Tambin se puede crear con los objetos Table y Loop.

Pgina 16 de 38

ABAP/4

Smart Forms

Se debe aclarar la clase de salida, en este ejemplo Tabla. Tambin que se realizar un Proceso repetido para loopear la tabla Tambin se puede poner a Table sin proceso repetido loopeando la tabla con un objeto Loop dentro de table. En ese caso Table solo define el formato de la tabla a visualizar (no confundir con la tabla de datos). En caso de trabajar con objeto tabla y loop la tabla de datos se recorre en el objeto loop solamente.

Pgina 17 de 38

ABAP/4

Smart Forms

En la lengeta Tabla se define el tamao de la tabla, las tabulaciones, el marco y el layout de la tabla con el Table Painter ( )

Table Painter: Funciones: Dibujar lneas y columnas


Insertar, cortar, copiar, y borrar lneas Borrar celdas Cambiar el tamao de las celdas y mover el separador de las celdas

Separar celdas Seleccionar modelo de tablas

Pgina 18 de 38

ABAP/4

Smart Forms

Para ejecutar una funcin, seleccionar la celda y elegir la funcin en el men contextual (botn derecho del mouse).

Pgina 19 de 38

ABAP/4

Smart Forms

En la lengeta de datos se asigna la tabla interna a una tabla local para luego ser recorrida. Esta puede tener alguna condicin y algn criterio de ordenamiento.

Pgina 20 de 38

ABAP/4

Smart Forms

Forma de imprimir Ttulos y datos en la tabla Esto se realiza seleccionando en la solapa Eventos las opciones mbito Cabecera y Pie de pagina. El mbito cabecera (dentro de la tabla formato) se va a imprimir en cada salto de pagina (cuando la ventana esta completa) , al inicio, o de ambas formas dependiendo del seteo. El Pie de Pagina (tambin dentro de la tabla formato) se va a imprimir dentro de cada salto de pagina , al final (en la ultima pagina , al final de la ultima lnea mostrada en la tabla) o de ambas formas.

Para imprimir el titulo de los campos de la tabla.

Pgina 21 de 38

ABAP/4

Smart Forms

Para imprimir la cabecera y pie se crean objetos de texto dentro de estas .

Titulo para el campo.

Luego hay que definir el formato de tabulacin dentro de la tabla.

Pgina 22 de 38

ABAP/4

Smart Forms

Para la primera columna:

Pgina 23 de 38

ABAP/4

Smart Forms

Para las prximas:

Pgina 24 de 38

ABAP/4

Smart Forms

Loop sobre la tabla a imprimir:

Pgina 25 de 38

ABAP/4

Smart Forms

Tabla a loopear: Siempre se tiene que pasar la tabla importada a una tabla interna del smart form

Pgina 26 de 38

ABAP/4

Smart Forms

Dato a Imprimir: Para imprimir un campo se tiene que crear un objeto texto por cada uno.

Pgina 27 de 38

ABAP/4

Smart Forms

Primer columna:

Pgina 28 de 38

ABAP/4

Smart Forms

Prximas columnas:

Pgina 29 de 38

ABAP/4

Smart Forms

Objeto ALTERNATIVE
Los nodos en la estructura son procesados en orden descendente. En cada nodo condicin hay dos subnodos TRUE FALSE

dependiendo del resultado de la condicin se ejecutan los nodos que estn adentro de uno u otro subnodo. Otra utilizacin es la de imprimir una prxima pagina en forma dinmica.

Condicion

Objeto COMMAND.
Cuando se cumple la condicin se ejecuta algunos de estos eventos.

Pgina 30 de 38

ABAP/4

Smart Forms

Objeto Program Line.


Con este objeto se puede ingresar cdigo Abap al smart form, que se ejecuta cuando la secuencia llega al objeto. En este Objeto se tienen que definir los parmetros de entrada (variables de entrada) y los parmetros de salida (variables de salida). Ambos deben estar previamente definidos en el nodo Definiciones Globales en la solapa Datos globales.

Pgina 31 de 38

ABAP/4

Smart Forms

Smart Styles.
Con esta Transaccin se pueden crear distintos formatos de prrafos y caracteres. Luego esos formatos se incorporan al smart form.

En el Smart Form en los objetos texto se selecciona el estilo creado.

Luego se establece el prrafo a imprimir

Pgina 32 de 38

ABAP/4

Smart Forms

Migracin de Sapscript a Smart forms


Pasos que ejecuta el sistema en la migracin: 1- copia los atributos de lenguaje y opciones de salida 2- migra informacin de Layout. Incluidas paginas, ventanas, y sus atributos y posiciones. 3- Copia el texto en el formulario. 4- Despliega los campos en el texto. 5- Convierte los comandos sapscript a lneas comentadas y los despliega en texto. Lo nico que no migra es el programa impresor.

Pgina 33 de 38

ABAP/4

Smart Forms

System Field.
Field name &SFSY-DATE& &SFSY-TIME& &SFSY-PAGE& Description Displays the date. You determine the display format in the user master record. Displays the time of day in the form HH:MM:SS. Inserts the number of the current print page into the text. You determine the format of the page number (for example, Arabic, numeric) in the page node. See also: Creating Pages. Displays the total number of pages for the currently processed form. This allows you to include texts such as Page x of y into your output. See also: Creating Pages. &SFSY-JOBPAGES& Contains the total page number of all forms in the currently processed print request. See also: Creating Pages. Contains the name of the current window (string in the Window field) Contains the name of the current page (string in the Page field) Is set to ' X ' after a page break (either automatic or command-controlled) Is set as soon as processing of the main window on the current page ends

&SFSY-FORMPAGES&

&SFSY-WINDOWNAME& &SFSY-PAGENAME& &SFSY-PAGEBREAK& &SFSY-MAINEND&

Pgina 34 de 38

ABAP/4

Smart Forms

&SFSY-EXCEPTION&

Contains the name of the raised exception. You must trigger your own exceptions, which you defined in the form interface, using the user_exception macro (syntax: user_exception <exception name >). See also: Checking and Testing a Smart Form.

Formatos de Campos.
Syntax &field+<offset>& Description Skips <offset> places of the field value (character fields only). If the offset is greater than the length of the value, nothing is displayed. Sets the output length to <length>. If the field is defined by a Data Dictionary type, Smart Forms set the output length to the value specified there. Suppresses the sign Displays the sign to the left of the number Limits output of decimal places to <nat.number> Displays the field value with the fixed exponent <nat.number>. The mantissa is adapted to this exponent by shifting the decimal character and inserting zeros. Suppresses thousand indicators when displaying fields of types DEC , CURR , INT , and QUAN . Suppresses leading zeros of numbers Suppresses display of initial values

&field(<length>)& &field(*)&

&field(S)& &field(<)& &field(.<nat.number>)& &field(E<nat.number>)&

&field(T)&

&field(Z)& &field(I)&

Pgina 35 de 38

ABAP/4

Smart Forms

&field(K)& &field(R)&

Deactivates a conversion routine specified in the Data Dictionary. Right-justified display. Use this option only when specifying an output length as well. Replaces left-justified blanks in the value by the fill character <filler>. Converts and a date field to a local date and displays it. The date is then formatted using edit mask JPDAT . Since this representation uses Japanese characters, use it in the Japanese version of the SAP System only. The system takes the field value as a sequence of words separated by blanks. Option C shifts these words to the left and leaves only one blank inbetween as separator. Any leading blanks are suppressed. This effect corresponds to that of the ABAP statement CONDENSE.

&field(F<filler>)& &field(L)&

&field(C)&

CODIGO PROGRAMA IMPRESOR.


*----------------------------------------------------------------------* Programa Impresor ejemplo curso Smart Forms * LER2 * GAP1 *----------------------------------------------------------------------REPORT z_impresor_curso_sf . *----------------------------------------------------------------------* Definicion de Tablas *----------------------------------------------------------------------TABLES: bkpf, bseg. *----------------------------------------------------------------------* Parameters *----------------------------------------------------------------------DATA: fm_name TYPE rs38l_fnam. PARAMETERS: p_form TYPE tdsfname DEFAULT 'Z_SMARTFORM_CURSO', p_soci TYPE bkpf-bukrs, "sociedad p_ejer TYPE bkpf-gjahr, "ejercicio p_docu TYPE bkpf-belnr. "documento *----------------------------------------------------------------------*Declaracion de Variables *-----------------------------------------------------------------------

Pgina 36 de 38

ABAP/4

Smart Forms

DATA: t_bkpf TYPE z_bkpf_curso_sf, t_bseg TYPE z_bseg_curso_sf. *----------------------------------------------------------------------*Carga los datos *----------------------------------------------------------------------SELECT * INTO TABLE t_bkpf FROM bkpf WHERE bukrs = p_soci AND gjahr = p_ejer AND belnr = p_docu. * cargo toda la tabla para demostrar la seleccion en el SF. SELECT * INTO TABLE t_bseg FROM bseg.

************************************************************************ * CARGO DATOS PARA EL SMART FORM * ************************************************************************ CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME' EXPORTING formname = p_form * EL SF QUE VOY A LLAMAR * variant = ' ' * direct_call = ' ' IMPORTING fm_name = fm_name * ES EL PROGRAMA GENERADO POR EL SF EXCEPTIONS no_form = 1 no_function_module = 2 OTHERS = 3. IF sy-subrc <> 0. * error handling MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. EXIT. ENDIF. ************************************************************************ * now call the generated function module * ************************************************************************ CALL FUNCTION fm_name EXPORTING * archive_index = * archive_parameters = * control_parameters = * mail_appl_obj = * mail_recipient = * mail_sender = * output_options = * user_settings = 'X'

Pgina 37 de 38

ABAP/4

Smart Forms

* * * *

t_bkpf = t_bkpf t_bseg = t_bseg TABLA QUE EXPORTA AL SF importing document_output_info = job_output_info = job_output_options = EXCEPTIONS formatting_error = 1 internal_error = 2 send_error = 3 user_canceled = 4 OTHERS = 5.

IF sy-subrc <> 0. * error handling MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

Pgina 38 de 38

Das könnte Ihnen auch gefallen