Porqué es necesario crear un work area (wa_table)?

Buen día comunidad,

Quisiera saber que tan importante, para que sirve y si es NECESARIO crear un WorkArea en un reporte?
Y tambien si es necesario crearlo en el catalogo de campos → wa_fieldcat TYPE slis_fieldcat_alv

Gracias de ante mano.

Que tengan un magnifico día :smiley:

Hola,

Creo que eso va a depender de las necesidades de tu reporte en el caso del fieldcat no es indispensable tu puedes poner el nombre de la estructura o tabla que vas a presentar en el alv y listo, ahora si tienes que hacer modificaciones como poner alguna columna más grande o con otro titulo si lo necesitas.

Saludos.

2 Me gusta

Creo que este debate te va a servir:

Saludos.

2 Me gusta

Buen día

Siempre es mejor tener una tabla y a parte una workarea.
A nivel de utilización del propio programa no hace diferencia, pero a nivel humano si.
Piensa que luego otra persona mirará ese código, o uno mismo tiempo después. Si ambas partes están divididas, basta un vistazo rápido para saber que objeto estas mirando, si la tabla entera o una fila.
Agilita mucho la lectura de código. De hecho en sus best practice SAP hace mucho hincapié en esto y pide que se utilicen las workareas.

Saludos

1 me gusta

Exacto. SAP en los ultimos años recomienda utilizar areas de trabajo y no las cabeceras de las tablas por sencillez en el procesamiento de los datos, por mejorar la legibilidad y comprensión de los programas y su posterior mantenimiento por otros programadores. Recuerda que esta directiva debería usarse tanto en tablas internas como en tablas de diccionario. Saludos!

1 me gusta

El work area muchas veces se reemplaza por un field symbol ya que a nivel de performace es mejor, pero tiene una complicación ya que si esperas almacenarlo el valor del field symbol en una variable y este no está asignado te aparece un DUMP, en cambio para el work area te guarda como vacío. El tema del field catalog es opcional ya que depende con que función realizarás tu implementación ALV.

Este tema se cerró automáticamente 91 días después del último post. No se permiten nuevas respuestas.