Cuando diseñas un SmartForm, el orden en que colocas los elementos dentro de una ventana o línea es crítico, especialmente si tienes texto que depende de un valor calculado o de una variable de programa. La regla es:
Primero se coloca el elemento que genera o modifica el valor (código, variable), y luego el texto que lo muestra.
Si inviertes el orden, el texto puede quedar vacío o mostrar un valor obsoleto porque el código aún no se ha ejecutado cuando se procesa la línea.
¿Por qué importa el orden?
En un SmartForm, los elementos se procesan en el orden en que aparecen en la ventana (de arriba abajo, de izquierda a derecha). Si tienes:
- Un código ABAP (por ejemplo, una línea dinámica con
%CODE) que asigna un valor a una variable o campo de texto. - Un texto o celda que muestra el resultado de esa variable.
El código debe ir antes que el texto. De lo contrario, cuando el texto intente mostrarse, la variable aún no ha sido actualizada.
Imagina que quieres mostrar la fecha de vencimiento de una factura (AGING_LINED). Para ello tienes:
- Una celda de código (
%CODE1) que calcula la fecha dinámicamente (p. ej.,AGING_DUE_DATE = SY-DATUM + 30). - Una celda de texto (
%TEXT24) que muestra esa fecha.
El orden correcto en la ventana sería:

Si pusieras el texto antes, el programa intentaría mostrar AGING_DUE_DATE antes de que se haya calculado, y verías un valor vacío.
El orden de los elementos en un SmartForm no es estético, es funcional. Si un texto depende de un cálculo o variable que se genera en otro elemento, ese elemento debe aparecer antes en la secuencia.



