importancia del orden de los elementos en un smartform

Orden de los elementos en un SmartForm

Cuando diseñas un SmartForm, el orden en que colocas los elementos dentro de una ventana o línea es crítico, especialmente si tienes texto que depende de un valor calculado o de una variable de programa. La regla es: Primero se…

Logo dinamico en un smartform paso a paso

Cómo hacer dinámico el logo de un SmartForm

Si quieres que un formulario que se imprima para varias empresas o centros, y cada uno con sus respectivos logo. En lugar de crear un SmartForm por cada caso, puedes usar el nombre de la imagen como variable. Paso 1:…

formas de copiar datos de una tabla interna a otra tabla interna

Cómo copiar datos de una tabla interna a otra

Copiar datos entre tablas internas es una operación muy común. Según lo que necesites, puedes: Copia total (misma estructura) Si ambas tablas tienen exactamente los mismos campos, usa la asignación directa: gt_copy = gt_original. Copiar con diferentes columnas (CORRESPONDING) Cuando…

Filtrar datos segun la busqueda del usuario

Cómo filtrar datos según búsqueda del usuario

Cuando el usuario introduce un texto para buscar (por ejemplo, parte del nombre de un material, cliente o proveedor), tienes dos opciones principales para filtrar los datos: Filtrar en la SELECT Aplica el patrón de búsqueda directamente en la base…

permitir la selección de filas en un ALV

Cómo permitir la selección de filas en un ALV Grid

Para que el usuario pueda seleccionar filas en un ALV (por ejemplo, para luego borrarlas, procesarlas o exportarlas), debes configurar la propiedad sel_mode en la estructura de layout (LVC_S_LAYO). El valor ‘A’ activa la selección de filas completa. Código a…

Sentencia include structure

Include structure en ABAP

INCLUDE STRUCTURE incorpora todos los campos de una estructura existente dentro de una nueva estructura o tabla interna. Dicho de otra forma, permite reutilizar una estructura ya definida como parte de otra estructura más grande. Sintaxis de INCLUDE STRUCTURE: INCLUDE…

Como poner o quitar ceros iniciales a las variables con la nueva sixtaxis

Cómo añadir o quitar los ceros iniciales de una variable

En ABAP, trabajar con campos alfanuméricos que representan números con ceros a la izquierda (como ‘000000123’) es muy común. Necesitas poner ceros para guardar datos correctamente (ej. en una tabla) y quitarlos para mostrarlos al usuario (ej. ‘123’). Aquí tienes…

cómo traducir el metadata de una cds view

Cómo traducir una Metadata Extension de CDS View

Las metadata extensions de CDS Views (EXTEND VIEW con @Metadata) contienen textos que también se pueden traducir (etiquetas de UI, tooltips, etc.). A diferencia de la CDS base, la traducción se hace en SE63 con un tipo de objeto específico:…

Crear un fieldcatalog de manera dinámica

Cómo crear un fieldcatalog dinámico

Cuando trabajas con ALV, una de las tareas más repetitivas es definir el fieldcatalog: decirle a ALV qué columnas mostrar, con qué título, etc. Hacerlo dinámico significa que el programa no necesita saber de antemano la estructura de la tabla;…

Clases

Clases en SAP ABAP

Las clases en ABAP permiten organizar tu código de manera estructurada, reutilizable y fácil de entender. En este artículo veremos: ¿Qué es una clase en ABAP? En ABAP, una clase es como una plantilla que describe cómo deben ser ciertos…

Cómo traducir una CDS View

Cómo traducir una CDS View

Las CDS Views pueden mostrar descripciones en el idioma del usuario si están traducidas. Por defecto, el texto que ves en @EndUserText.label o en el título de la vista está en el idioma de desarrollo (normalmente inglés). Para que aparezca…

Cómo contar el número de registros de una tabla

Cómo contar el número de registros de una tabla interna

Saber cuántas líneas tiene una tabla interna es una necesidad muy habitual. Pues a veces, lo necesitamos saber para controlar bucles, mostrar totales al usuario o simplemente saber si hay datos antes de procesar. En ABAP hay dos formas principales…

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…