Tema: Programa
Ver Mensaje Individual
  #3  
Viejo 16/05/12, 19:22:46
Mari.Sole Mari.Sole is offline
Senior Member
 
Fecha de Ingreso: nov 2010
Localización: Argentina
Mensajes: 121
Hola Amam2605,
Si no entendí mal tu necesidad, debes obtener los datos comerciales de los clientes que tengan:
VKORG = '1000'.
VTWEG = '10' o '11'
SPART = '67'.

Y para todos estos clientes obtener luego su Nombre (NAME1).

Yo haría algo así:

* Obtener los datos comerciales de los clientes

SELECT KUNNR VKORG VTWEG SPART
FROM KNVV
INTO TABLE TABLA1
WHERE VKORG EQ '1000'
AND ( VTWEG EQ '10' OR VTWEG EQ '11')
AND SPART EQ '67'.

*Obtener el Nombre para todos los clientes

SELECT KUNNR NAME1
FROM KNA1
INTO TABLE TABLA2
FOR ALL ENTRIES TABLA1
WHERE KUNNR EQ TABLA1-KUNNR.


* Armo tabla FINAL a mostrar

LOOP AT TABLA1 INTO R_TABLA1
READ TABLE TABLA2 INTO R_TABLA2 WITH KEY KUNNR = R_TABLA1-KUNNR.

IF SY-SUBRC IS INITIAL.

MOVE R_TABLA1-KUNNR TO R_TABLA_FINAL-KUNNR.
MOVE R_TABLA2-NAME1 TO R_TABLA_FINAL-NAME1.
MOVE R_TABLA1-VKORG TO R_TABLA_FINAL-VKORG.
MOVE R_TABLA1-VTWEG TO R_TABLA_FINAL-VTWEG.
MOVE R_TABLA1-SPART TO R_TABLA_FINAL-SPART.

APPEND R_TABLA_FINAL TO TABLA_FINAL.
CLEAR R_TABLA_FINAL.

ENDIF.
ENDLOOP.

Luego sólo restaría imprimir en pantalla la TABLA_FINAL con Write o un ALV.

Espero te sirva,

Saludos.
Responder Con Cita