Ver Mensaje Individual
  #3  
Viejo 14/11/17, 10:01:01
Avatar de vic3
vic3 vic3 is offline
Member
 
Fecha de Ingreso: mar 2017
Mensajes: 33
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.
Responder Con Cita