Ayuda SAP

Tabla dinámica con field symbol

Hola @abapers

Tengo una duda que me urge para poder entregar un proyecto, por lo que les pide su colaboración. El problema es lo que se sigue…

He creado un código el cual luego de llamar unas clases y generando unas consultas dinámicas y hacer ciertos procedimientos obtengo una tabla dinámica declarada con field symbol <fs_table>.

Hasta aquí ya tengo mi información en dicha tabla, pero el código que realizo necesito ponerlo en un modulo de función y por ende la tabla <fs_table> debe ser el retorno (Export o Table) a partir de unos parámetros de entrada (import) los cuales si son estáticos.

Mas concretamente, ¿se puede declarar el parámetro de un modulo de función de manera dinámica?.. De lo contrario, que me podrían aconsejar hacer.

Nota: La tabla <fs_table> debe ser dinámica, ya que al leer un modelo de datos está tabla puede cambiar la cantidad y nombre de sus campos.

Muchas gracias!!

Declaras en la pestaña tables:

El tipo standard table y así ya te debería valer para algo dinámico como yo he utilizado.

Un saludo,

1 me gusta

Muchas gracias @borja87 , voy a intentar y les voy comentando.

Saludos !!

@borja87 Me sale un “error al generar el marco del test”.

Esta tabla dinámica se asigna dentro del bloque de código, un saludo y gracias

Una duda, donde declaras el tipo de tabla, dentro de la función o fuera en el programa que llama a la función. Entiendo que dentro del módulo de funciones no?

¿has probado a definir la tabla con “ANY TABLE”?

Hola,

Yo haria algo mas simple…

Declararia una tabla con dos o tres campos char

POSICION (CHAR6) NOMBRE_CAMPO (CHAR20) VALOR_CAMPO (CHAR80)

Y eso es lo que pasaria en ‘TABLES’

dentro de la función, recorreria la tabla dinamica, sean los campos que sean
y voy poniendo la posicion, si hace falta, el nombre del campo y el valor para devolver en la funcion

Saludos.

Buenas, saludos a todos

Leyendo el planteamiento supongo que el escenario es declarar en el mf un parametro tables generico que acepte cualquier tabla sin importar su estructura.

Esto lo puedes hacer bien sea declarando el parametro como STANDAR TABLE como indica el amigo @borja87 o bien colocando solo el nombre del parametro sin especificar tipo.

Con estas 2 opciones te funciona, solo que no vas a poder probarlo desde la SE37, que es lo que estas haciendo y te salta ese error. Para probarlo tienes que hacerlo desde un programa, invocando el mf y pasandole la tabla.

Yo el único problema que le veo ahí es si donde quiere definir el tipo de la tabla sea dentro del modulo de función entonces ahí si lo veo complicado pero hasta que nos responda a eso quedaré con la duda.

1 me gusta

Muchas gracias @marciano, precisamente esto fue lo que hice.

Saludos y gracias a todos.
Felices fiestas de navidad.

1 me gusta