MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Agrupar datos en tabla interna... (foro/showthread.php?t=30714)

oswaldo 15/06/09 15:21:55

Agrupar datos en tabla interna...
 
Hola a todos estoy agrupando datos en una tabla interna, pero dato a la complejidad de las fichas tengo algunos problemas.

Actualmente se puede presentar así:

(pernr) (inper) (icnum) (lgart) (BETRG)
ficha - periodo - cedula - cc base - CC Monto
160001 01.04.2008 123456 /151 186,41
160001 01.04.2008 123456 /401 500,00

160002 01.04.2008 187657 /401 700,00
160002 01.04.2008 187657 /151 100,00
160002 01.04.2008 187657 /401 500,00

160004 01.04.2008 234567 /151 600,00


yo necesito mostrar así en una sola línea los conceptos /151 /401 y sumados mientras sean del mismo periodo

ficha cedula cc-base ccmonto ccbase ccmonto
(/151) XXXXX,00 (/401) XXXXX,00



sort t_print_new by inper.

*WP recoremos la tabla donde estan todas las fichas
loop at t_print where lgart eq '/151'.
move: t_print-pernr to t_print_new-pernr,
t_print-ename to t_print_new-ename,
t_print-icnum to t_print_new-icnum,
t_print-inper to t_print_new-inper,
t_print-lgart to t_print_new-cc_base,
t_print-lgtxt to t_print_new-lgtxt_1,
t_print-betrg to t_print_new-base_imp.
endloop.

loop at t_print where lgart eq '/401'.
move: t_print-pernr to t_print_new-pernr,
t_print-ename to t_print_new-ename,
t_print-icnum to t_print_new-icnum,
t_print-inper to t_print_new-inper,
t_print-lgart to t_print_new-cc_monto_ret,
t_print-lgtxt to t_print_new-lgtxt_2,
t_print-betrg to t_print_new-monto_ret.
endloop.
append t_print_new.

delete adjacent duplicates from t_print_new comparing inper.

Problemas es no puedo usar comparing inper porque tengo registros de la misma ficha en el mismo periodo, el append agrega una línea creado mucha duplicidad.

delete adjacent duplicates ...es muy útil pero con la data tan corrupta por el append es un problema hay que tener mucho cuidado.

Que es lo mas recomendado para este problema???
Gracias a todos por ayuda...

DavidXD_XD 15/06/09 15:32:04

Hola, creo q lo mas sencillo es crearte una tabla interna con los campos de tu ficha y el monto, y recorrer tu tabla realizando un COLLECT para que asi no tengas que usar el APPEND y peor aun un algoritmo adicional

jcflores 15/06/09 15:41:20

Si deseas imprimer solo lineas de totales.

Porque no haces un Loop At Valor.
Luego un evento AT Last.
Realizas la sumatoria, y en el ultimo registro, simplemente un write a alguna variable de salida.


Husos Horarios son GMT. La hora en este momento es 09:44:11.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web