MakionDocs ← makion.dev

Cómo funciona el cleaner

El ABAP cleaner es el formateador y normalizador de código propio de Makion. Es determinista y preserva el comportamiento: solo cambia espacios, mayúsculas/minúsculas, saltos de línea y modernizaciones seguras de tokens, y nunca cambia lo que hace el código. El cleaner se ejecuta a través de la herramienta de SAP durante una tarea, antes de que el agente escriba o active un objeto.

Configúralo en la pestaña ABAP cleaner, visible para un administrador del proyecto. Todo lo que ajustes aquí se aplica solo a este proyecto.

Lo que el cleaner hace — y lo que no hace#

El cleaner reescribe la forma del ABAP, nunca su significado. Puede reindentar sentencias, normalizar el uso de mayúsculas/minúsculas en las palabras clave, ordenar el espaciado y las líneas en blanco, alinear las columnas de declaración y aplicar modernizaciones seguras (por ejemplo, convertir MOVE src TO tgt. en tgt = src.). Cada regla preserva el comportamiento por diseño — consulta el catálogo completo en la referencia de reglas del cleaner.

El cleaner nunca se ejecuta sobre objetos CDS / DDLS / DDLX / SRVD. Reformatearlos destrozaría sus anotaciones. Se aplica únicamente al fuente ABAP.

Activar el cleaner#

La casilla maestra Clean code before activation es el interruptor de encendido/apagado de todo el cleaner en este proyecto. Está DESACTIVADA por defecto.

Cuando está ACTIVADA, aparece una casilla por tarea Clean this task en el compositor del Chat, de modo que puedes decidir ejecutar el cleaner para una sola tarea. Con el interruptor maestro apagado, el cleaner nunca se ejecuta y esa casilla queda oculta.

Controles de la pestaña#

Control What it does
Clean code before activation Casilla maestra. DESACTIVADA por defecto. Cuando está ACTIVADA, habilita el cleaner para este proyecto y muestra Clean this task en el compositor del Chat.
Target ABAP release Entrada numérica (p. ej. 757; rango 700799). Condiciona las reglas de modernización — algunas reescrituras necesitan una release mínima de ABAP y no se activarán en un objetivo inferior.
Rules El catálogo de reglas, agrupado por categoría. Cada regla tiene una casilla, un nombre, una descripción, un ejemplo antes → después y un id de regla. Deshabilitado salvo que el interruptor maestro esté activado.
Save Guarda la configuración del cleaner para este proyecto.

Target ABAP release#

Algunas modernizaciones solo existen a partir de una release determinada de ABAP — por ejemplo, las expresiones de constructor como NEW necesitan 7.40, y las asignaciones compuestas como x += n necesitan 7.54. El valor de Target ABAP release le indica al cleaner qué release estás usando como objetivo para que solo aplique las reescrituras que tu sistema puede compilar. Configúralo con la release de tu sistema.

Rules#

El catálogo de Rules está agrupado por categoría — Casing, Declarations, Layout, Spacing, Alignment, Comments, Whitespace, Modernize y Readability. Cada regla es activable individualmente y configurable a través del perfil del proyecto. Sin un perfil, se aplica el valor por defecto integrado de cada regla. Los controles de reglas están deshabilitados salvo que el interruptor maestro esté activado.

Para la lista completa de las 45 reglas — qué hace cada una, su valor por defecto y su grupo — consulta la referencia de reglas del cleaner.

Ejecutarlo para una tarea#

  1. En la pestaña ABAP cleaner, activa Clean code before activation y elige las reglas que quieras.
  2. Configura Target ABAP release con la release de tu sistema.
  3. Haz clic en Save.
  4. En el Chat, marca Clean this task en la tarea que quieras limpiar. El cleaner se ejecuta antes de que el agente escriba o active el objeto.

Como el cleaner preserva el comportamiento, es seguro dejarlo activado — ordenará y modernizará el código que produce el agente sin cambiar lo que hace. Ajusta reglas individuales para adaptarlo al estilo de tu equipo.