¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Comparação entre texto(nnn) e texto-nnn em ABAP: Resultados de um programa de teste

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

Olá.

Em comentários a outra pergunta , tanto Sandra Rossi como Matthew Billingham aconselharam contra essa forma, texto-nnn, enquanto aparentemente deveria ser preferido texto(nnn). Isso chamou minha atenção e me deixou perplexo: sempre assumi que a sintaxe mais antiga era texto(nnn) enquanto texto-nnn era mais recente, mas não consegui encontrar nada no ABAPDOCU a esse respeito, de jeito nenhum, talvez porque "texto" é uma palavra-chave horrível para pesquisar.

Então escrevi um programa de teste mínimo em meu ambiente de demonstração 7.52SP04:

WRITE / 'texto traduzível com número no final'(001).

* Número reutilizado intencionalmente!
WRITE / 'texto diferente com número no final'(001).

WRITE / TEXTO-002.

WRITE / TEXTO-003.

Nos símbolos de texto tenho as seguintes definições:

Depois revisei a tela de tradução:

(a única tradução possível é de EN para DE neste sistema)

Não importa se a linha com a repetição do número está ativa ou não, em ambos os casos a cadeia não aparece na tela de tradução. Até aqui tudo bem: é preciso clicar duas vezes no número do texto para criar o símbolo correspondente, conforme lembrava.

Clique na primeira linha e TEXTO-001 é criado com "texto traduzível com número no final".

Clique na segunda linha e TEXTO-001 é atualizado com "texto diferente com número no final":

Aqui vem minha pergunta : como preferir texto(nnn) como forma quando posso escrever um texto diferente com o mesmo número e nunca saber qual é a versão autorizada? Se o código está em um INCLUDE, potencialmente é ainda pior.

Do meu ponto de vista, uma possível vantagem é que você vê o texto no fluxo do programa. Não é ruim, mas, por outro lado, se seu texto tiver que aparecer várias vezes no código, você precisa escrevê-lo literalmente cada vez; se quiser mudá-lo, terá que mudar todas as ocorrências em vez de apenas uma vez na definição dos símbolos, caso contrário se deparará com o problema que criei artificialmente acima.

Aqui está a saída com a versão final do programa:

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

4 Respuestas

0
Cargando...

Você pode usar o menu de ajuste abaixo para verificar automaticamente a correção dos símbolos de texto e substituí-los (é claro, você deve ser rigoroso ao escrever seu código ABAP e usar o ajuste de vez em quando quando não tiver certeza do último número de símbolo de texto usado). Não tenho certeza se faz parte das verificações do Code Inspector/ATC.

EDIÇÃO: algumas pessoas querem "manter os textos sincronizados" porque definem o mesmo texto em vários lugares. Acredito que isso deve ser evitado, seria melhor definir o texto em um único lugar em uma variável, pela mesma razão pela qual você define uma constante em vez de definir o mesmo literal em vários lugares.

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

Sim, acho que posso começar a usá-lo da mesma forma.

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

Olá Andrea,

A maneira como costumo lidar com os textos é através do text(nnn). Desta forma, é evidente no código qual é o texto (em inglês). Quando crio um novo programa do zero, não crio imediatamente os text-symbols correspondentes, mas espero até que o programa esteja basicamente completo. Em seguida, faço uma revisão para garantir que não haja números duplicados com textos diferentes (ou faltando completamente!).

O que gosto de fazer, a menos que eu esqueça, é executar a verificação disponível na lista de text-symbols clicando com o botão direito, pois isso me indicará qualquer discrepância, como seu exemplo forçado com dois textos diferentes para o mesmo símbolo. Também destacará qualquer texto faltante.

Saudações

Bärbel

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

Você pode usar o menu de ajuste abaixo para verificar semiautomaticamente a correção dos símbolos de texto e substituí-los todos (é claro, não é óbvio, você deve ser rigoroso ao escrever seu código ABAP e usar o ajuste de vez em quando quando não estiver certo do último número de símbolo de texto utilizado). Não tenho certeza se faz parte das verificações do Code Inspector/ATC.

EDITAR: algumas pessoas querem "manter os textos sincronizados" porque definem o mesmo texto em vários lugares. Acredito que isso deve ser evitado, seria melhor definir o texto em um único lugar em uma variável, pela mesma razão pela qual você define uma constante em vez de definir o mesmo literal em vários 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?