Beruflich Dokumente
Kultur Dokumente
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
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).
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).
Pgina 9 de 38
ABAP/4
Smart Forms
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
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
Pgina 15 de 38
ABAP/4
Smart Forms
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 ( )
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.
Pgina 21 de 38
ABAP/4
Smart Forms
Pgina 22 de 38
ABAP/4
Smart Forms
Pgina 23 de 38
ABAP/4
Smart Forms
Pgina 24 de 38
ABAP/4
Smart Forms
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
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.
Pgina 32 de 38
ABAP/4
Smart Forms
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&
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(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)&
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