Hola que tal, lo pude resolver con lo siguiente, y me genera los SO que necesito dinamicamente.
* Reference variables
DATA: go_struc TYPE REF TO cl_abap_structdescr,
go_table TYPE REF TO cl_abap_tabledescr,
dref TYPE REF TO data.
DATA: gv_field TYPE fieldname VALUE 'BUKRS', "Dynamic Range Field
gt_comp TYPE cl_abap_structdescr=>component_table,
gs_comp TYPE cl_abap_structdescr=>component.
FIELD-SYMBOLS <gt_range> TYPE STANDARD TABLE.
gs_comp-name = 'SIGN'.
gs_comp-type ?= cl_abap_elemdescr=>describe_by_name('CHAR1').
APPEND gs_comp TO gt_comp. CLEAR gs_comp.
gs_comp-name = 'OPTION'.
gs_comp-type ?= cl_abap_elemdescr=>describe_by_name('CHAR2').
APPEND gs_comp TO gt_comp. CLEAR gs_comp.
gs_comp-name = 'LOW'.
gs_comp-type ?= cl_abap_elemdescr=>describe_by_name( gv_field ).
APPEND gs_comp TO gt_comp. CLEAR gs_comp.
gs_comp-name = 'HIGH'.
gs_comp-type ?= cl_abap_elemdescr=>describe_by_name( gv_field ).
APPEND gs_comp TO gt_comp. CLEAR gs_comp.
TRY.
go_struc = cl_abap_structdescr=>create( gt_comp ).
go_table = cl_abap_tabledescr=>create( go_struc ).
CATCH: cx_sy_struct_creation,
cx_sy_table_creation.
ENDTRY.
CREATE DATA dref TYPE HANDLE go_table. "Create Data Reference
ASSIGN dref->* TO <gt_range>. "Dereferencing the data reference
TRY .
SELECT COUNT(*) FROM t001 WHERE bukrs IN <gt_range>.
WRITE: / sy-dbcnt.
CATCH cx_sy_open_sql_error.
ENDTRY.
los encontré en scn de sap, en un tread de Suhas Saha.