Para construir una tabla rango en base el contenido de un campo de una tabla interna en ABAP 7.5 el procedimiento es sencillo:
1. Identifique un tipo tabla rango en el diccionario de datos apto para crear una tabla rango. En este caso utilizaremos el tipo de datos WRF_PBAS_EBELN_RTTY. Este tipo tabla rango debe poseer el mismo elemento de datos que posee el campo de la tabla interna con cuyo contenido se quiere construir el rango
2. Identifique la tabla interna que posee el campo con los valores que ud desea pasar a la tabla rango. En este caso utilizaremos la tabla interna GTI_BSEG
3. Utilice la siguiente sintaxis para generar la tabla rango:
DATA(lr_ebeln) = VALUE wrf_pbas_ebeln_rtty( FOR les_bseg_aux IN me->gti_bseg WHERE ( ebeln IS NOT INITIAL ) ( sign = 'I' option = 'EQ' low = les_bseg_aux-ebeln ) ).
Donde:
LR_EBELN -> Será la tabla rango creada en tiempo de ejecución tomando como base el tipo tabla rango WRF_PBAS_EBELN_RTTY pasado justo después de la adición VALUE
LES_BSEG -> Será una estructura creada en tiempo de ejecución (NO es necesario declararla antes) para que se recorra la tabla interna GTI_BSEG
WHERE ( ebeln IS NOT INITIAL ) es la condición que la sentencia tendrá en cuenta para recorrer la tabla interna. Si no existe WHERE, la tabla interna se recorre completamente
( sign = 'I' option = 'EQ' low = LES_BSEG-EBELN ) es la manera como se arma la estructura para que la sentencia pueda realizar el append de cada uno de los registros a la tabla rango.