¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Comparativa entre texto(nnn) y texto-nnn en ABAP: Resultados de un programa de prueba

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 8 Vistas
0
Cargando...

Hola.

En comentarios a otra pregunta , tanto Sandra Rossi como Matthew Billingham aconsejaron en contra de esta forma, texto-nnn, mientras que, aparentemente, se debería preferir texto(nnn). Eso captó mi atención y me desconcertó: siempre había asumido que la sintaxis más antigua era texto(nnn) mientras que texto-nnn era más reciente, pero no pude encontrar nada en ABAPDOCU al respecto, de ninguna manera, tal vez porque "texto" es una palabra clave horrible para buscar.

Así que escribí un programa de prueba mínimo en mi entorno de demostración 7.52SP04:

WRITE / 'texto traducible con número al final'(001).

* ¡Número reutilizado intencionadamente!
WRITE / 'texto diferente con número al final'(001).

WRITE / TEXTO-002.

WRITE / TEXTO-003.

En los símbolos de texto tengo las siguientes definiciones:

Luego revisé la pantalla de traducción:

(la única traducción posible es de EN a DE en este sistema)

No importa si la línea con la repetición del número está activa o no, en ambos casos la cadena no aparece en la pantalla de traducción. Hasta aquí todo bien: hay que hacer doble clic en el número de texto para crear el símbolo correspondiente, tal como recordaba.

Haz clic en la primera línea y se crea TEXTO-001 con "texto traducible con número al final".

Haz clic en la segunda línea y TEXTO-001 se actualiza con "texto diferente con número al final":

Aquí viene mi pregunta : ¿cómo se prefiere texto(nnn) como forma cuando puedo escribir un texto diferente con el mismo número y nunca saber cuál es la versión autorizada? Si el código está en un INCLUDE, potencialmente es aún peor.

Desde mi punto de vista, una posible ventaja es que ves el texto en el flujo del programa. No está mal, pero, por otro lado, si tu texto tiene que aparecer varias veces en el código, tienes que escribirlo literalmente cada vez; si quieres cambiarlo, tienes que cambiar todas las ocurrencias en lugar de solo una vez en la definición de los símbolos, de lo contrario te encontrarás con el problema que creé artificialmente arriba.

Aquí está la salida con la versión final del programa:

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Puedes utilizar el menú de ajuste a continuación para verificar de forma semiautomática la corrección de los símbolos de texto y reemplazar todos ellos (por supuesto, no es obvio, debes ser riguroso al escribir tu código ABAP y usar el ajuste de vez en cuando cuando no estés seguro del último número de símbolo de texto utilizado). No estoy seguro si es parte de las verificaciones de Code Inspector/ATC.

EDICIÓN: algunas personas quieren "mantener sincronizados los textos" porque definen el mismo texto en varios lugares. Creo que debería evitarse, sería mejor definir el texto en un solo lugar en una variable, por la misma razón por la que defines una constante en lugar de definir el mismo literal en varios lugares.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Sí, creo que podría empezar a usarlo de la misma manera.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Andrea,

La forma en que suelo manejar los textos es a través de text(nnn). De esta manera, es evidente dentro del código cuál es el texto (en inglés). Cuando creo un nuevo programa desde cero, no creo inmediatamente los text-symbols correspondientes, sino que espero hasta que el programa esté básicamente completo. Luego reviso para no tener números duplicados con textos diferentes (¡o faltantes por completo!).

Lo que me gusta hacer, ¡a menos que se me olvide!, es ejecutar la verificación disponible desde la lista de text-symbols haciendo clic derecho, ya que eso me indicará cualquier discrepancia como tu ejemplo forzado con dos textos diferentes para el mismo símbolo. También resaltará cualquier texto faltante.

Saludos

Bärbel

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Puedes utilizar el menú de ajuste a continuación para verificar semiautomáticamente la corrección de los símbolos de texto y reemplazar todos ellos (por supuesto, no es obvio, debes ser riguroso al escribir tu código ABAP y usar el ajuste de vez en cuando cuando no estés seguro del último número de símbolo de texto utilizado). No estoy seguro de si es parte de las verificaciones de Code Inspector/ATC.

EDITAR: algunas personas quieren "mantener sincronizados los textos" porque definen el mismo texto en varios lugares. Creo que se debe evitar, sería mejor definir el texto en un solo lugar en una variable, por la misma razón por la que defines una constante en lugar de definir el mismo literal en varios lugares.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?