¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

É necessário limpar o material na programação ABAP?

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

Olá Especialistas,

Pode parecer uma pergunta boba, mas realmente não encontrei uma resposta para isso em nenhum lugar.

É realmente necessário fazer isso?

LIMPAR l_material.

l_material = 'UmMaterialAleatório'.

Tenho visto o trecho acima em vários programas e até mesmo ABAPers experientes o escrevem.

Está correto considerar uma variável como um quadro-negro ou é apenas um desperdício de esforço humano ao ler e escrever o código?

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

4 Respuestas

0
Cargando...
Syed Ghulam Ali escreveu::Em vez de uma variável ao atribuir valores aos campos em uma área de trabalho.

Acredito que o termo correto seja "estrutura", não "área de trabalho".

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

Além do que jorg disse,

Em vez de uma variável ao atribuir valores aos campos na área de trabalho.

Considere que a área de trabalho possui três campos que foram usados na parte anterior do código e possuem valores em todos os campos,

e agora, ao atribuir valores apenas a dois campos sem limpar a área de trabalho, o que você acha que terá na área de trabalho? Terá valores para os três campos. Os dois campos terão os valores que você atribuiu e o terceiro terá o valor anterior.

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

Olá,

Em um exemplo como o seu, onde você atribui um valor constante, é certamente desnecessário e dificilmente você encontrará isso em um código bem escrito.

Principalmente é feito para evitar que os resíduos sejam interpretados como conteúdo real.

Ou seja, quando você atribui um valor a uma variável, por exemplo, em um loop, você quer ter certeza de que esse valor da variável l_xxx é o que você acabou de atribuir e não de algum trecho anterior.

Por isso é prática comum limpar uma variável antes de mover o conteúdo de outra variável de estado desconhecido.

Além disso, em qualquer estrutura de controle, é documentado que você está ciente e cuida de possíveis efeitos colaterais ou resíduos.

Portanto, principalmente é uma questão de estilo e segurança, não tanto de necessidade.

Cumprimentos,

Jörg

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

Como regra geral, prefiro limpar os campos antes ou depois de seu uso, para que cada execução obtenha um resultado correto, exceto para variáveis locais em forma curta ou métodos, que são reiniciados pelo sistema, é claro.

por exemplo:

CLEAR l_max.LOOP AT itab INTO wa_temp.  IF wa_temp-value GT l_max.    l_max = wa_temp-value.  ENDIF.ENDLOOP.

A resposta para sua pergunta exata é NÃO, devido à cláusula "antes de sobrescrever", mas SIM se esta cláusula é/pode ser omitida.

Saudações,

Raymond

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?