#3
|
||||
|
||||
Yo haría lo siguiente:
* Definición de variables: Esto lo haces a tu gusto... Supongamos que tu tabla interna donde tienes los datos se llama GT_TABLA DATA: gt_tabla_suma LIKE gt_tabla, ..........gs_tabla_suma LIKE LINE OF gt_tabla_suma. TYPES: BEGIN OF ty_clientes, ..cliente TYPE i, END OF ty_clientes. DATA: gt_clientes TYPE STANDARD TABLE OF ty_clientes, ..........gs_clientes LIKE LINE OF gt_clientes DATA: lv_clientes TYPE i. DATA: lv_suma_saldo TYPE i. * Nº de clientes: Vamos a ver cuantos clientes diferentes hay LOOP AT gt_tabla INTO gs_tabla. ..gs_clientes-cliente = gs_tabla-cliente. ..APPEND gs_clientes TO gt_clientes. ENDLOOP. SORT gt_clientes BY cliente ASCENDING. DELETE ADJACENT DUPLICATES FROM gt_clientes COMPARING ALL FIELDS. CLEAR lv_clientes. DESCRIBE TABLE gt_clientes LINES lv_clientes. * Hacemos la suma de los saldos: Para tu caso, entiendo que solo necesitas sumar los saldos y quedarte con el nº de cliente y con la última fecha (la más reciente) SORT gt_tabla BY cliente fecha ASCENDING. (pon el nombre correcto de tus campos en GT_TABLA) DO lv_clientes TIMES. ..READ TABLE gt_clientes INTO gs_clientes WITH KEY sy-index. ..CLEAR lv_suma_saldo. ..LOOP AT gt_tabla INTO gs_tabla WHERE cliente = gs_clientes-cliente. ....gs_tabla_suma-cliente = gs_tabla-cliente. ....gs_tabla_suma-fecha = gs_tabla-fecha. ....lv_suma_saldo = lv_suma_saldo + gs_tabla-saldo. ....gs_tabla_suma-saldo = lv_suma_saldo. ..ENDLOOP. ..APPEND gs_tabla_suma TO gt_tabla_suma. ENDDO.
__________________
Consultor técnico SAP Úlima edición por vic3 fecha: 14/11/17 a las 10:11:53. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|