#1
|
|||
|
|||
Problema con los rangos
Buenos días señores del foro...
Tengo la siguiente consulta... Existe alguna sentencia que me indique si es un rango está contenido dentro de otro rango del mismo tipo??? Saludos...
__________________
Miguel Ángel Garcés Ramírez |
#2
|
||||
|
||||
los dos rangos pueden tener intervalos o elementos excluir?
__________________
Sebastián Chiavia |
#3
|
|||
|
|||
El rango esta definido contra un campo que supongo que tendra valores de una tabla, yo haria lo siguiente
Vamos a suponer que tengo un rango de materiales types: begin of ty_matnr, matnr type matnr, end of ty_matnr. data: lt_rango1 type range of matnr, lt_rango2 like lt_rango1, lt_matnr1 type table of ty_matnr, lt_matnr2 like lt_matnr1, lv_lineas1 type i, lv_lineas2 type i. Supongamos que lt_rango1 y lt_rango2 ya estan rellenos con valores select matnr into table lt_matnr1 from mara where matnr in lt_rango1. select matnr into table lt_matnr2 from mara where matnr in lt_rango2. describe table lt_matnr1 lines lv_lineas1. append lines of lt_matnr2 to lt_matnr1. sort lt_matnr1. delete adjacent duplicates from lt_matnr1. describe table lt_matnr1 lines lv_lineas2. if lv_lineas2 > lv_lineas1. "lt_rango2 tiene valores que no tiene lt_rango1 else. "todos los valores de lt_rango2 estan incluidos en lt_rango1 endif. |
#4
|
|||
|
|||
Rango_tablainterna
Hola, segun tengo entendido los rangos se consideran tipos especiales de tablas internas:
Te muestro un ejemplo: types: begin of ty_matnr, matnr type matnr, end of ty_matnr. data: lt_rango1 type range of matnr with header line, lt_rango2 type range of matnr with header line, lt_matnr1 type table of ty_matnr, lt_matnr2 like lt_matnr1. lt_rango1-SIGN = 'I'. lt_rango1-OPTION = 'EQ'. lt_rango1-LOW = '121212'. APPEND LT_RANGO1. lt_rango2-SIGN = 'I'. lt_rango2-OPTION = 'EQ'. lt_rango2-LOW = '121212'. APPEND LT_RANGO2. lt_rango2-SIGN = 'I'. lt_rango2-OPTION = 'BT'. lt_rango2-LOW = '1212'. lt_rango2-HIGH = '1215'. APPEND LT_RANGO2. break-point. IF lt_rango1[] = lt_rango2[]. " Contienen los mismos valores. ELSE. " No contiene los mismos valores ENDIf. En este caso ambos rangos serán diferentes. Saludos, espero haber ayudado. Úlima edición por ekim68 fecha: 17/07/10 a las 04:42:49. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|