MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
 
 
Herramientas Buscar en Tema Desplegado
Prev Mensaje Previo   Próximo Mensaje Próx
  #1  
Viejo 03/06/10, 16:03:06
andresf02 andresf02 is offline
Senior Member
 
Fecha de Ingreso: nov 2009
Mensajes: 190
Problema con AT NEW y AT END OF - Urgente pls

buenos Dias

Tengo el siquiente codigo que me esta presentando problemas con el "AT END OF" especificamente:

*****************************************************
SORT it_tabcont BY carac04.
LOOP AT it_tabcont INTO wa_tabcont.

AT NEW carac04.
CLEAR wa_variedad.
sum_prop = 0.
sum_arre = 0.
sum_part = 0.
sum_mdir = 0.
sum_prov = 0.
sum_area = 0.
wa_variedad-varied = wa_tabcont-carac04.
ENDAT.

IF wa_tabcont-carac18 EQ 'PROPIA'.
sum_prop = sum_prop + wa_tabcont-carac02.
ELSEIF wa_tabcont-carac18 EQ 'ARRENDAMIENTO'.
sum_arre = sum_arre + wa_tabcont-carac02.
ELSEIF wa_tabcont-carac18 EQ 'CUENTAS EN PARTICIPACION'.
sum_part = sum_part + wa_tabcont-carac02.
ELSE.
sum_prov = sum_prov + wa_tabcont-carac02.
ENDIF.

AT END OF carac04.
wa_variedad-propia = sum_prop.
wa_variedad-arrend = sum_arre.
wa_variedad-partic = sum_part.
wa_variedad-mdirect = sum_prop + sum_arre + sum_part.
wa_variedad-proveed = sum_prov.
wa_variedad-tot_an = wa_variedad-mdirect + wa_variedad-proveed.
APPEND wa_variedad TO it_variedad.
ENDAT.
ENDLOOP.
****************************************************

La tabla interna it_tabcont tiene datos de esta manera:
--------------------------------------------------------------
Linea..Objeto.........CARAC02...CARAC04........CARAC18
--------------------------------------------------------------
1.......1044-040.......6.58.......CC 84-75.......ARRENDAMIENTO
2.......2050-052.......2.00.......CC 84-75.......ARRENDAMIENTO
3.......1043-011.......1.32.......CC 84-75.......ARRENDAMIENTO
4.......1043-010.......1.16.......CC 84-75.......ARRENDAMIENTO
5.......1040-011.......1.16.......CC 90-00.......PROPIA
6.......1040-010.......6.16.......CC 90-00.......PROPIA
7.......2286-112.......8.63.......CC 90-00.......PROVEEDORES
8.......2053-010.......1.48.......CC 70-02.......ARRENDAMIENTO
***************************************************


El problema esta en que al leer el primer registro, el carac04 = CC 84-75. Por ser el primero, obviamente entra en el AT NEW carac04. Pero, tambien esta entrando al AT END OF carac04 y NO deberia entrar ya que el siguiente registro a leer tendria el mismo valor CC 84-75.


Lo que quiero al final es obtener para cada CARAC04, cual es el valor total (CARAC02) para ARRENDAMIENTO, para PROPIA y para PROVEEDORES


Ojala me puedan ayudar ya que he trabajado con los AT NEW y AT END OF en casos similares pero solo hasta ahora no me sigue la logica.


Gracias!
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 17:18:52.


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