Esta es una entrada rápida (podría considerarse mi hola mundo!), hace algunas semanas he comenzado a jugar con ABAP y como en todo lenguaje, algunas operaciones comienzan a hacerse recurrentes, por ello, en lugar de estar viendo anteriores desarrollos, dejare esos ejemplos como entradas en este blog.
En este caso puntual, ejemplificaré la creación de rangos, y dos formas de hacerlos, considérense los ejemplos:
"Aca tenemos la creción de un rango que se forma a partir de la lectura
"a tablas con posiciones, donde vale la pena solo agrupar lo que queremos
CLEAR: sl_objnr, r_objnr[].
sl_objnr-sign = c_i.
sl_objnr-option = c_eq.
LOOP AT tg_aufk_tall ASSIGNING <fs_aufk>.
sl_objnr-low = <fs_aufk>-objnr.
CLEAR sl_objnr-high.
COLLECT sl_objnr INTO r_objnr.
ENDLOOP.
endif.
"Si la lectura es directamente a una tabla donde sabemos los registros
"son unicos, segun el campo que deseamos dejar en el rango, solo usamos
LOOP AT tg_covp INTO sl_covp.
sl_belnr-sign = c_i.
sl_belnr-option = c_eq.
sl_belnr-low = sl_covp-belnr.
APPEND sl_belnr TO r_belnr.
ENDLOOP.
Como podemos ver, en el segundo caso evitamos el uso del field symbol, pero tenemos la desventaja de que si hay entradas repetidas en la tabla que estamos leyendo, estas se incorporaran como nuevos valores en el rango, lo cual nos puede hacer trabajar de más en el momento en que se ocupe el mismo.
Sin más dejo un saludo a mi mismo y quien sea que llegue a leer esto.