Tema: Programa
Ver Mensaje Individual
  #1  
Viejo 16/05/12, 15:57:36
amam2605 amam2605 is offline
Senior Member
 
Fecha de Ingreso: ene 2009
Mensajes: 150
Programa

Hola a Todos !!!

Tengo un caso a ver si me puedes por favor ayudar, tengo que seleccionar informacion donde solo se imprima cuando tenga unicamente las areas 1000-10-67 y 1000-11-67 si esta acompaņada por otra area no se debe imprimir.

Por ejemplo el codigo 42867 si se debe imprimir por que solo tiene esas dos areas.

Codigo Organizacion Canal Sector
42867 1000 10 67
42867 1000 11 67


Este codigo 18273 no se debe imprimir ya que aparte de las areas 1000-10-67 y 1000-11-67 tambien tiene el area 1000-10-11.

Codigo Organizacion Canal Sector
18273 1000 10 11
18273 1000 10 67
18273 1000 11 67

En el programa seleccione de la tabla knvv todas los codigos que esten en el area 1000 pero como extraer que solo sean los que tengan 1000-10-67 y 1000-11-67 unicamente. Si coloco que traiga los que tengan SPART = 67 tambien me trae los que tengan el SPART = 10.


El codigo que tengo actualmente es:


TABLES: KNVV,
KNA1.


*--------------------- PROGRAMA PRINCIPAL -----------------------------*

DATA: BEGIN OF TABLA OCCURS 0,
KUNNR LIKE KNVV-KUNNR,
VKORG LIKE KNVV-VKORG,
VTWEG LIKE KNVV-VTWEG,
SPART LIKE KNVV-SPART,
END OF TABLA.


DATA: BEGIN OF TABLA2 OCCURS 0,
KUNNR LIKE KNVV-KUNNR,
VKORG LIKE KNVV-VKORG,
VTWEG LIKE KNVV-VTWEG,
SPART LIKE KNVV-SPART,
END OF TABLA2.


START-OF-SELECTION.

WRITE: / 'Codigo',
013 'Nombre',
050 'Organizacion',
065 'Canal',
074 'Sector'.

SELECT KUNNR VKORG VTWEG SPART INTO (TABLA-KUNNR, TABLA-VKORG, TABLA-VTWEG, TABLA-SPART)
FROM KNVV
WHERE VKORG = '1000'
AND VTWEG IN ('10','11').

MOVE TABLA TO TABLA2.
IF TABLA2-SPART NE '67'.
DELETE TABLA2 WHERE KUNNR = TABLA-KUNNR.
CONTINUE.
ENDIF.

APPEND TABLA2.
SELECT SINGLE * FROM KNA1
WHERE KUNNR = TABLA-KUNNR.

WRITE: / TABLA2-KUNNR,
013 KNA1-NAME1,
050 TABLA2-VKORG,
065 TABLA2-VTWEG,
074 TABLA2-SPART.

ENDSELECT.

Si me pueden orientar ya que asi no esta respetando que traiga solo los codgos que tengan unicamnete las areas 1000-10-67 o 1000-11-67.

Gracias

Saludos

AMAM
Responder Con Cita