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
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.
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.
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!
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.