Operaciones con tablas internas en ABAP

Operaciones más importantes con tablas internas en ABAP

Las tablas internas son una de las estructuras más utilizadas en ABAP. Gran parte de la lógica de negocio consiste en leer, modificar, ordenar, filtrar y procesar datos almacenados en ellas. Aunque muchos desarrolladores conocen las operaciones básicas, ABAP ofrece…

Cómo referenciar el campo moneda y cantidad en un ALV

Cómo referenciar un campo de precio con su moneda en ALV

Cuando muestras importes en un ALV, es fundamental que el sistema sepa qué moneda aplica a cada cantidad. Si no, el ALV no podrá formatear correctamente los números (decimales, separadores de miles) ni mostrar el símbolo de moneda adecuado. En…

User exits en sap

¿Qué son los user exits en SAP ABAP?

Uno de los retos más habituales en SAP es adaptar el estándar a las necesidades de una empresa sin modificar el código original. Las User Exits permiten añadir lógica personalizada en puntos concretos del estándar SAP sin necesidad de modificar…

Cómo eliminar registros duplicados

Eliminar registros duplicados en ABAP

Cuando tienes una tabla interna con registros repetidos, necesitas quedarte solo con los únicos. En ABAP, la forma clásica de hacerlo es con DELETE ADJACENT DUPLICATES. Pero atención: solo elimina duplicados adyacentes. Es decir, los repetidos tienen que estar uno…

Que es un function import

Function Imports en SAP Gateway

Cuando desarrollas servicios OData en SAP, a menudo necesitas hacer algo que no es crear, leer, actualizar o borrar un registro. Por ejemplo: aprobar un pedido, calcular el total de ventas o enviar un correo. Para esos casos, OData tiene…

Diferencia entre initial y null

Diferencia entre INITIAL y NULL

En ABAP, NULL e INITIAL no significan lo mismo. Y aunque muchas veces parezca que sí, entender la diferencia es importante cuando trabajas con Open SQL, CDS Views, HANA, APIs o integraciones externas. Porque en ABAP clásico normalmente trabajamos con…

filtrar en AMDP usando SELECT-OPTIONS

Cómo filtrar en AMDP usando SELECT-OPTIONS

Uno de los problemas más comunes cuando empiezas con AMDP es intentar usar un SELECT-OPTIONS directamente en la consulta a base de datos, y no funciona. La razón es que SELECT-OPTIONS es una característica de ABAP, no de SQLScript. Por…

Happy indentation

Happy indentation en ABAP

Uno de los problemas más comunes en ABAP (y en cualquier lenguaje) es el exceso de indentación. Empiezas con un IF, luego otro dentro, luego otro más… y acabas con código que parece una escalera. Difícil de leer, difícil de…

Buenas practicas en abap dentro de un LOOP

No hagas esto nunca dentro de un LOOP

Una de las malas prácticas más conocidas en ABAP —y también una de las más comunes cuando empiezas— es hacer consultas a base de datos dentro de un LOOP. Al principio parece algo lógico e incluso cómodo. Necesitas un dato…

Diferencia entre clear, refresh y free

Diferencia entre CLEAR, REFRESH y FREE

Cuando empiezas en ABAP, es muy común ver código con CLEAR, REFRESH y FREE usados casi como si fueran lo mismo, pero no lo son. Los tres sirven para limpiar datos, aunque su comportamiento respecto a memoria y reutilización cambia…

Inline Declaration - ABAP Syntax

Declaración en línea (Inline Declaration)

Cómo escribir código más limpio y moderno desde ABAP 7.40 Si llevas tiempo trabajando con ABAP clásico, seguramente estás acostumbrada a declarar variables al inicio del programa con DATA… incluso antes de saber si realmente las vas a usar. Con…

cond operator

COND Operador: Condiciones en una sola línea (sin IF)

En ABAP clásico, cuando necesitas asignar un valor diferente según una condición, usas un IF: IF lv_edad >= 18. lv_categoria = ‘Adulto’. ELSE. lv_categoria = ‘Menor’. ENDIF. Son 4 líneas para algo muy sencillo. Con el operador COND puedes escribir…

que es s/4 hana

¿Qué es SAP S/4 Hana?

Antes de entender S/4HANA, primero hay que entender qué es HANA. SAP HANA (High-Performance Analytic Appliance) es una base de datos desarrollada por SAP. HANA no es una base de datos cualquiera. Sus características clave son: HANA es una base…

Popup de confimacion en abap

POPUP_TO_CONFIRM en ABAP

En desarrollo clásico con dynpros en ABAP, hay una situación crítica que debes controlar siempre, y es que el usuario puede salir de la pantalla y perder datos. Para evitarlo y mejorar la experiencia de usuario, SAP proporciona una solución…

Diferencia entre datos maestros y datos transaccionales

Diferencia entre datos maestros y datos transaccionales

Cuando empiezas a trabajar con SAP (y especialmente con ABAP), hay un concepto fundamental que debes entender desde el primer día y es la diferencia entre datos maestros y datos transaccionales. Esta distinción influye en: Comprenderlo marca la diferencia entre…