¿Debo crear un listado en ABAP?

lunes, 28 de enero de 2013

¿Debo crear un listado en ABAP?

Ahora que ya tenemos una idea de cómo hacer un listado en SAP voy a explicar por qué creo yo que no siempre deberíamos utilizar esta herramienta para extraer datos de la base de datos. Parece un poco incongruente que si he explicado cómo crear un listado ahora os explique por qué no crear listados con ABAP. Bueno, aquí van mis razones:

¿Por qué no debo crear un listado ABAP?


1. Las queries o quickviewers son métodos mucho más rápidos para crear listados de información. Mucho más que el que nos proporciona un programa ABAP. Estos métodos nos permiten hacer enlaces directos de unas tablas con otras de una forma gráfica, no son necesarios conocimientos de programación ABAP y permiten gestionar todos nuestros listados desde un único repositorio en la transacción SQ01.


2. Los listados estándar que SAP provee para diferentes módulos. Antes de empezar a programar un listado ABAP deberíamos preguntarnos si no tenemos ya dentro de nuestro sistema algún report estándar que cubre nuestros requerimientos. Incluso si alguno de estos listados no concuerda al 100% con nuestras necesidades es muy posible que SAP nos dé la opción de utilizar una user exit en alguno de ellos que amplíe los campos mostrados.

3. El browser de tablas (transacción SE16N). Si tienes una necesidad puntual y sólo tienes que extraer un listado de información un día, pero ese listado ya no prevés que lo vayas a volver a necesitar, no malgastes tu tiempo creando un report en ABAP. Con el browser puedes buscar la información dentro de la base de datos SAP directamente, te permite bajarte esa información a Excel y trabajarla como tú deseas. Todo sea dicho, trabajar datos sobre Excel es mucho más fácil que hacerlo directamente sobre SAP.

4. Haz la query aunque necesites un listado ABAP. Es posible que tu cliente te pida que haya una transacción detrás de cada uno de los listados de SAP que tenga. Por lo tanto, piensas que no puedes utilizar queries, ya que todas ellas se gestionan desde una sola transacción. En ese caso, te propongo que crees la query igual y sigas unos pasos sencillos:
  • Crea tu query.
  • Visualiza el nombre de tu report a través de Query / Otras funciones / Visualizar nombre de report. Generalmente, el nombre será del tipo AQA0(NOMBRE_DEL_GRUPO_DE_USUARIO)====(NOMBRE_DE_LA_QUERY)=======
  • Crea un report como copia del report AQA0(NOMBRE_DEL_GRUPO_DE_USUARIO)====(NOMBRE_DE_LA_QUERY)======= a un report propio.
  • Asigna una transacción a este report mediante la transaccción SE93.

5. Sistemas de información en SAP. No sólo las queries, los listados ABAP y los listados estándar de SAP nos proporcionan la información. También tenemos sistemas de información que nos permiten agrupar gran cantidad de datos y recopilarlos de forma histórica. Y si tienes además algún sistema de Business Intelligence, pues todavía puedes llegar a un nivel superior.


¿Por qué debo crear un listado ABAP?


Éstas son las razones por las que no necesitamos programar en ABAP para listar datos. Aunque es cierto que hay circunstancias en las que reconozco que sí que es imprescindible.

1. Si necesitamos extraer información de tablas complejas tipo cluster. Este tipo de tablas como la tabla BSEG (apuntes contables) en finanzas o la KONV (condiciones de precios) en ventas no pueden ser incluidas en una query. Entonces, la programación ABAP es necesaria.

2. Si necesitas recoger información de muchas tablas a la vez de una forma compleja y transformarla. En este caso no es recomendable el uso de queries. El uso de múltiples conexiones en queries puede dar lugar a efectos indeseados si no se tiene mucho cuidado. Y aún así, en una query no podremos transformar los datos, una query nos muestra la información tal y como la encuentra en las tablas (a menos que introduzcamos programación ABAP en nuestra query, lo cual también es posible).

Imagen inicial | @boetter

Si crees que este artículo es útil ayúdame a compartirlo a través de alguno de los botones sociales

No hay comentarios:

Publicar un comentario en la entrada