jueves, 28 de noviembre de 2013

ALV Report de una base de datos (I_STRUCTURE_NAME)

Cuando consultamos una base de datos, es posible que las descripciones de los campos hayan sido añadidas en los elementos de datos de cada campo, por tanto no será necesario rellenar el FIELDCAT como en el primer ejemplo ALV. Sólo hay que indicar el nombre de la estructura y la tabla interna. En este ejemplo se va a mostrar...

jueves, 21 de noviembre de 2013

Añadir un botón en un ALV Report

En la transacción SE80, visualizamos el programa SAPLKKBL. Visualizamos el programa SAPLKKBL. Navegamos en el árbol hasta la pestaña GUI Status>STANDARD. Pinchamos con el botón derecho y lo copiamos a nuestro programa. Copiamos STANDARD en la pestaña Status GUI. Añadimos el nombre de nuestro programa. Volvemos...

Top of page en un ALV Report con imagen

Para crear un encabezado a nuestro ALV Report con REUSE_ALV_GRID_DISPLAY, se necesitará crear un FORM y nombrarle en i_callback_top_of_page. Dentro del FORM, se incluirá la función REUSE_ALV_COMMENTARY_WRITE para mostrar el texto del encabezado. Además, será necesario indicar el nombre del programa en i_callback_program.  En...

miércoles, 20 de noviembre de 2013

Añadir patrón de rayas y tamaño de columna optimizado en un ALV Report (IS_LAYOUT)

Si se desea mostrar el patrón rayado y tener el ancho de columna optimizado, se tiene que recurrir a la variable IS_LAYOUT del ALV. En este caso para activar dichas opciones, sólo hay que cambiar el valor de dos variables con una X. En este ejemplo se muestran los cuatro primeros campos de la tabla SFLIGHT. REPORT z_sflight. *...

ALV Report de una tabla interna

Para poder mostrar un ALV Report de una tabla interna se necesitará como mínimo una tabla interna llamada it_fieldcat. En dicha tabla interna. se indicarán los nombres de los campos de nuestra tabla interna y una descripción del campo para mostrar en el título de la columna. En este ejemplo se van a mostrar los cuatro primeros...

martes, 19 de noviembre de 2013

Pantalla de selección dinámica

En este ejercicio va a existir un RADIOBUTTON en el que si indica búsqueda básica, se mostrarán los tres primeros campos de búsqueda del SELECT-OPTIONS de la tabla SFLIGHT, mientras que si indica búsqueda avanzada, se mostrarán los 6 primeros: Búsqueda básica de SFLIGHT. Búsqueda avanzada de SFLIGHT. El truco está en...

Deshabilitar el INPUT a un campo de SELECTION-OPTIONS

En algunos casos, se exige que unos determinados usuarios no puedan utilizar unos campos específicos en la pantalla de selección. En este ejemplo se mostrará como deshabilitar el input de un campo LOW y HIGH de un SELECTION-OPTIONS. Para empezar, tendremos los cuatro primeros campos del SELECTION-OPTIONS de la tabla...

Asignar valores iniciales al filtrado de SELECT-OPTIONS en la pantalla de selección

Si se desea que los campos de SELECT-OPTIONS tengan por defecto un valor, será necesario modificar los Por ejemplo, si se desean seleccionar los datos de la tabla SFLIGHT con las compañías AA y DL, tendremos que recurrir al evento INITIALIZATION para asignarle los valores de la búsqueda. De este modo, el usuario no tendrá que dar al botón de búsqueda avanzada, ya que los parámetros ya habrán sido introducidos. REPORT z_sflight. * Cargar la...

Filtrar datos de una base de datos con SELECT-OPTIONS y SQL

¿Quieres filtrar los datos de una base de datos? En esta entrada se explicará como copiar la base de datos a una tabla interna con una sentencia SQL. Es fundamental tener conocimiento de las sentencias SELECT-OPTIONS y SELECTION-SCREEN en este ejercicio para la pantalla de selección, y de la sentencia SQL para copiar los...

Cambiar el formato de la fecha

¿No os gusta el formato de la fecha por defecto en ABAP y queréis cambiar su formato de una manera sencilla? Aquí se explicará cómo hacerlo. Nos apoyaremos de la variable del sistema SY-DATUM y la función CONCATENATE. Si la fecha es el 19 de noviembre de 2013, el valor de la variable SY-DATUM es 20131119. Como podéis observar, sigue el siguiente formato: AAAAMMDD. Nuestro objetivo va a ser pasarlo al siguiente formato: DD/MM/AAAA con la función...

viernes, 15 de noviembre de 2013

Cargar la tabla SFLIGHT en MiniSAP (NetWeaver Trial)

¿Has instalado MiniSAP y te das cuenta que la famosa tabla SFLIGHT existe pero está vacía? En esta entrada os voy a explicar cómo rellenar la tabla. Entramos en la transacción SE38 y buscamos el siguiente programa: SAPBC_DATA_GENERATOR Programa para rellenar los datos de la tabla SFLIGHT. A continuación pulsamos...

jueves, 14 de noviembre de 2013

Copiar una tabla y estructura a partir de la declaración de variables

En este ejemplo se va a mostrar cómo copiar la estructura y la tabla en el proceso de declaración de variables para ambos métodos de declaración de tablas internas. Cabe indicar que no se copia ni el contenido de la estructura ni el de la tabla interna. Primer método (Cabecera + Tabla): * Tipos TYPES: BEGIN OF g_ty_encabezado, nombre(20) TYPE c, apellido(20) TYPE c, telefono(9) TYPE n, END OF g_ty_encabezado. TYPES: g_tt_mitabla TYPE TABLE...

Declaración de tablas internas (dos métodos)

Una tabla interna se caracteriza por tener una agrupación de datos con una misma estructura. Existen dos formas de declarar una tabla interna, para ello vamos a ver cómo se hace con esta sencilla tabla: Nombre Apellido Teléfono Juan Pérez 612345678 Lucas García 698765432 María Gutiérrez 600111222 Primera forma: REPORT z_tabla1. * Tipos TYPES: BEGIN OF g_ty_encabezado, nombre(20) TYPE c, apellido(20) TYPE c, telefono(9) TYPE...

miércoles, 13 de noviembre de 2013

Cómo instalar MiniSAP (NetWeaver Trial)

En esta entrada se va a explicar cómo instalar MiniSAP. Se recomienda instalarlo en una máquina virtual, ya que se crean cuentas de usuarios de Windows y además se evitan posibles errores de instalación que puedan dañar el sistema operativo. En este tutorial se explica cómo instalarlo en una máquina virtual de Windows 7 Professional...