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




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 11/05/09, 05:16:52
Avatar de oswaldo
oswaldo oswaldo is offline
Junior Member
 
Fecha de Ingreso: jun 2006
Mensajes: 9
Thumbs up ayuda para filtrar duplicados

HOla, estoy ordenando una tabla interna t_print_new para mostrar en un catalogo ALV que ya esta ordenado...

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-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.



**
IF T_PRINT_NEW-PERNR eq WA_FIELD-SELTEXT_L.

ELSE.

APPEND T_PRINT_NEW.

ENDIF.






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-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.

APPEND T_PRINT_NEW.



ENDLOOP.

ENDLOOP.

APPEND T_PRINT_NEW.





*respaldo para eliminar duplicados

*delete t_print_new where base_imp eq '0'.

*delete t_print_new where monto_ret eq '0'.



DELETE ADJACENT DUPLICATES FROM T_PRINT_NEW COMPARING PERNR

ENAME ICNUM CC_BASE CC_MONTO_RET LGTXT_1 LGTXT_2 BASE_IMP MONTO_RET.

lo que me interesa es que no se dupliquen ya que el append agrega una nueva linea ..

ejemplo de la tabla original:

ficha - codigo - monto
160001 /151 12
160001 /401 10

y yo estoy mostrando de manera ordenada en una sola linea.

ficha - codigo1 - descripcion_codigo1 - monto1 - codigo2 - descripción_codigo2 - monto2

el resultado esta representado en el archivo Dibujo.jpg

-como puedo capturar el valor de la ficha para hacer el filtrado.?cual seria la mejor practica para esta situación.con el wa_ no va..

Gracias por su ayuda..
Imágenes Adjuntas
Tipo de Archivo: jpg Dibujo.JPG (59.2 KB, 12 visitas)
Responder Con Cita
  #2  
Viejo 11/05/09, 06:38:02
bisonye bisonye is offline
Senior Member
 
Fecha de Ingreso: ago 2006
Mensajes: 635
No te acabo de entender. Si lo que quieres hacer es que las líneas /151 y las /401 estén juntas lo que tienes que hacer en el segundo select es leer la tabla interna t_print_new y hacer un modify en lugar de un append.

Saludos
Responder Con Cita
  #3  
Viejo 15/05/09, 01:51:40
Avatar de oswaldo
oswaldo oswaldo is offline
Junior Member
 
Fecha de Ingreso: jun 2006
Mensajes: 9
Talking solucionado...

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-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-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.

sort t_print_new.
delete adjacent duplicates from t_print_new comparing cc_monto_ret.
endloop.
append t_print_new.
Responder Con Cita
Respuesta


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 14:47:45.


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