
Hay que tener en cuenta que en la declaración en línea de variables que no sean tablas, es el sistema quien decide el tipo de la variable.
En el caso de las tablas tomará como referencia los tipos de los campos.
Esto:
DATA: v_texto TYPE string.
vtexto = 'Hola mundo'.
y esto:
DATA(v_texto) = 'Hola mundo'.
No es lo mismo.
Si cambiamos el valor por 'Mi primer programa en ABAP':
En la primera definición quedará bien: 'Mi primer programa en ABAP'.
Pero en la segunda quedará como 'Mi primer p'.
DEBUG y haz la prueba.
Y es que en la definición en línea crea la variable como de tipo C y longitud 10, lo que imposibilita su reutilización salvo que sepamos a priori que la longitud del texto nunca será superior a 10.
Así que, es lo mismo, pero no es igual.
Si se llaman variables es por eso, porque varían.
ABAP no recomienda el uso del tipo string, asi que utiliza el tipo C para la declaración en línea.
Mi experiencia como programador, no de ABAP sino de otros lenguajes, me dice que primero hay que analizar antes de programar, y quien analiza sabe todo aquello que va a trabajar en el programa.
Espero que este aporte te sea de utilidad.