He visto dos formas de crear tablas internas, una con workarea y otra sin ella.
Me gustaría saber que diferencia hay entre ellas. Si es una cuestión de velocidad, gestión de memoria u otra cosa.
O es lo mismo y es una cuestión de gusto a ala hora de programar
Adjunto el código del ejemplo1 con workarea y el ejemplo2 sin workarea.
EJEMPLO1
TYPES: BEGIN OF typ_alumno,
nombre(50) TYPE c,
…
END OF typ_alumno
DATA: tab_alumno TYPE TABLE OF typ_alumno,
wka_alumno TYPE typ_alumno.
wka_alumno-nombre = ‘Juan’.
…
APPEND wka _alumno to tab_alumno.
CLEAR wka_alumno
EJEMPLO2
TYPES: BEGIN OF typ_alumno,
nombre(50) TYPE c,
…
END OF typ_alumno
DATA: tab_alumno LIKE typ_alumno OCCURS 0 WITH HEARDER LINE.
tab_alumno-nombre = ‘Juan’.
…
Difiero de las opiniones, por el contrario la forma obsoleta por así decirlo (por que se pueden usar todavía) seria definir las tablas sin workarea, ya que para definir una tabla en una clase no esta permitido ese modelo, toca usar workarea o sea en programación orientada a objetos.
Es cierto que puedes usar cualquier modo, para una realizar una Z pero en lo personal y si esta comenzando acostúmbrate a usar workarea, en cuanto performace no hace diferencia.