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…

parámetros de un método en abap

Parámetros en métodos de ABAP

Cuando defines un método en ABAP, una de las decisiones más importantes que tomarás es cómo va a comunicarse con el exterior. ¿Qué datos necesita recibir? ¿Qué datos va a devolver? ¿Cómo gestionará los errores? Los parámetros son el mecanismo…

Tipos de vistas CDS

Tipos de CDS views

Antes de entender los tipos, hay que entender qué es una CDS View. Una CDS View es una forma de definir modelos de datos directamente en la base de datos (HANA), usando SQL extendido y anotaciones. Los tipos de CDS…

concepto de programacion cardinalidad: que es la cardinalidad y tipos

Cardinalidad en SAP: qué es, tipos y ejemplos

Cuando empiezas a trabajar con asociaciones entre entidades, ya sea en CDS Views, en SEGW (Gateway Service Builder) o simplemente modelando relaciones entre tablas, te encuentras con este concepto de la cardinalidad Y es normal que al principio cueste entenderlo.…

que es un factory en programacion

Factory Method en ABAP OO

Si llevas un tiempo trabajando con ABAP Objects, es muy probable que hayas oído hablar de los Factory o del Factory Method Pattern. Es un concepto muy utilizado en diseño de software, pero también uno de los peor entendidos al…

Introducción oData

Introducción a OData

Si estás empezando en el mundo de SAP y quieres entender cómo se comunican las aplicaciones modernas (Fiori, móviles, sistemas externos) con tu sistema SAP, hay un concepto que tienes que dominar sí o sí: oData. Entender bien OData es…

Visibilidad en ABAP OOP

Visibilidad en ABAP OO: Public, Protected y Private

Cuando empiezas a trabajar con clases en ABAP, no solo defines atributos y métodos, también decides quién puede acceder a ellos. Y aquí es donde entran en juego los niveles de visibilidad. Si no controlas esto correctamente, puedes acabar con…

constructor de una clase en abap

El constructor de una clase en ABAP

Cuando empiezas a trabajar con clases en ABAP, tarde o temprano aparece este concepto: 👉 El constructor Y con él, varias dudas muy comunes: En este artículo vamos a responder a todo eso de forma clara, precisa y con enfoque…

ABAP Naming Rules

Guía de nomenclatura en ABAP: convenciones técnicas

Cómo nombrar correctamente variables, objetos y desarrollos SAP Una buena nomenclatura en ABAP no es solo una cuestión estética. Es clave para que el código sea legible, mantenible, escalable y fácil de entender, tanto para ti como para cualquier persona…

Obtener los valores fijos de un dominio

Cómo obtener los valores de un dominio

En SAP ABAP es muy habitual trabajar con dominios. Un dominio define qué valores son válidos para un campo, por ejemplo: estados, tipos, indicadores, flags, etc. Muchas veces esos valores no solo se usan a nivel técnico, sino que también…

Que son las background units

Background Units en ABAP: Qué son y cómo utilizarlas

En proyectos ABAP es muy común encontrarse con procesos que consumen tiempo: generación de documentos, envío de correos, integraciones, cálculos masivos… Si estos procesos se ejecutaran en la misma transacción, el usuario tendría que esperar hasta que todo termine, lo…

Sistemas, entornos, instancias y mandantes en SAP

Cuando empiezas a trabajar con SAP, es normal confundirse con palabras como sistema, instancia, entorno y mandante. Son conceptos básicos en SAP, pero hasta que los entiendes, parece que todos significan lo mismo. El sistema en SAP Un sistema SAP…

Proceso de implementación de un proyecto en SAP

Proceso de implementación de un proyecto de SAP

Implementar SAP es un proyecto de gran magnitud que no solo implica instalar un software, sino también adaptar procesos de negocio, migrar datos, capacitar usuarios y transformar la manera en que la empresa opera en el día a día. Por…

Cómo crear una transaccion para un cluster o sm34

Cómo crear una transacción para un cluster (sm34/se54)

Cuando creas un cluster (SM30/SM34) y quieres que el usuario acceda directamente sin tener que escribir la transacción SM34 o recordar el nombre, lo ideal es crear una transacción Z/Y personalizada. Vamos a ver cómo hacerlo paso a paso: Paso…

Cómo debuguear en SAP

Cómo debuguear en SAP

El debugger en ABAP es una de las herramientas más útiles para cualquier programador SAP. Gracias a él podemos detener la ejecución de un programa y entender qué está ocurriendo, por qué salen errores o de dónde vienen ciertos datos.…

Módulos de SAP

Módulos de SAP: funcionales y técnicos

Los módulos de SAP son componentes que cubren diferentes áreas de negocio o aspectos técnicos del sistema. Cada empresa puede implementar solo los que necesita, de acuerdo con sus procesos. En términos generales, se dividen en dos grandes grupos: Módulos…

Arquitectura de SAP

La arquitectura de SAP

Cuando empiezas a aprender ABAP o a trabajar con SAP, todo puede sonar muy complicado: instancias, entornos, mandantes, NetWeaver, HANA… 😵‍💫Pero la base para entender cómo funciona SAP es muy sencilla: se organiza en tres capas.Y si entiendes esas tres…

AMDP en ABAP

AMDP en ABAP: qué son, para qué sirven y cuándo usarlas

Cuando trabajas con SAP ABAP y bases de datos modernas como SAP HANA, a veces necesitas ejecutar complejas sobre grandes cantidades de datos sin que tu programa se vuelva lento. Aquí es donde entran las AMDP (ABAP Managed Database Procedures).…

síncrono vs asícrono

Síncrono vs. Asíncrono en SAP ABAP

Cuando trabajas con SAP ABAP, es muy importante entender cómo se ejecutan tus procesos. Algunos necesitan completarse antes de pasar al siguiente paso, mientras que otros pueden ejecutarse en segundo plano, sin bloquear el flujo del programa. Esta es la…