Syed Ghulam Ali escribió:En lugar de una variable cuando estás asignando valores a los campos en un área de trabajo.
Creo que el término correcto es "estructura", no "área de trabajo".
Avalados por :
Hola Expertos,
Puede que esté haciendo una pregunta tonta, pero realmente no he encontrado una respuesta para esto en ningún lugar.
¿Es realmente necesario hacer esto?
LIMPIAR l_material.
l_material = 'UnMaterialAleatorio'.
He visto el fragmento anterior en varios programas e incluso ABAPers con experiencia lo escriben.
¿Es correcto considerar un variable como una pizarra o un tablero negro o es simplemente una mera pérdida de esfuerzo humano al leer y escribir el código?
Syed Ghulam Ali escribió:En lugar de una variable cuando estás asignando valores a los campos en un área de trabajo.
Creo que el término correcto es "estructura", no "área de trabajo".
Además de lo que jorg dijo,
En lugar de una variable al asignar valores a los campos en el área de trabajo.
Considera que el área de trabajo tiene tres campos que se usaron en la parte anterior del código y tienen valores en todos los campos,
y ahora, al asignar valores solo a dos campos sin borrar el área de trabajo, ¿qué crees que habrá en el área de trabajo? Tendrá valores para los tres campos. Los dos campos tendrán los valores que has asignado y el tercero tendrá el valor anterior.
Hola,
En un ejemplo como el tuyo, donde asignas un valor constante, es ciertamente innecesario y difícilmente encontrarás esto en un código bien escrito.
Principalmente es ... hecho, para evitar que los residuos sean interpretados como contenido real.
Es decir, cuando has asignado un valor a una variable, por ejemplo, en un bucle, quieres estar seguro de que este valor de la variable l_xxx es el que acabas de asignar y no uno de algún pasaje previo.
Por eso es práctica común limpiar una variable antes de mover el contenido de otra variable de estado desconocido.
Además, en cualquier estructura de control, se documenta que estás consciente y te ocupas de posibles efectos secundarios o residuos.
Por lo tanto, principalmente es una cuestión de estilo y seguridad, no tanto de necesidad.
Saludos cordiales
Jörg
Como regla general, prefiero limpiar los campos antes o después de su uso, para que cada ejecución obtenga un resultado correcto, excepto para variables locales en forma corta o métodos, que son reiniciados por el sistema, por supuesto.
por ejemplo:
CLEAR l_max.LOOP AT itab INTO wa_temp. IF wa_temp-value GT l_max. l_max = wa_temp-value. ENDIF.ENDLOOP.
La respuesta a tu pregunta exacta es NO, debido a la cláusula "antes de sobrescribir", pero SÍ si esta cláusula es/puede ser omitida.
Saludos,
Raymond
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute