Autor Tema: Reporte PM left join  (Leído 5059 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado pikard

  • Novato
  • *
  • Mensajes: 1
    • Ver Perfil
Reporte PM left join
« en: 14 de Junio de 2010, 11:12:44 pm »
Hola!!! Tengo el siguiente programa en el cual necesito hacer un reporte que contenga lo siguiente: numero de aviso, solicitud de pedido, petición oferta, pedido sin embargo si un equipo no tiene aun pedido necesito que aparezca en el listado

este es mi programa:

REPORT ZPM_CV_BIT.

TYPES: BEGIN OF struc_type,
EQUNR TYPE AFIH-EQUNR,
AUFNR TYPE AFIH-AUFNR,
* ADDAT TYPE AFIH-ADDAT,
QMNUM TYPE AFIH-QMNUM,
* STORT TYPE MCIPMIS-STORT,
* TPLNR TYPE MCIPMIS-TPLNR,
* BUKRS TYPE ANLA-BUKRS,
* ANLN1 TYPE ANLA-ANLN1,
* ANLN2 TYPE ANLA-ANLN2,
BANFN TYPE EKPO-BANFN,
ANFNR TYPE EKPO-ANFNR,
EBELN TYPE EKET-EBELN,
NETPR TYPE EKPO-NETPR,
EBELNK TYPE EKKO-EBELN,
END OF struc_type.


DATA : TI_TYPE TYPE TABLE OF struc_type,
wa_type TYPE struc_type.

SELECT A~EQUNR A~AUFNR A~QMNUM
* A~ADDAT M~STORT
* AN~BUKRS AN~ANLN1 AN~ANLN2
K~BANFN K~ANFNR T~EBELN K~NETPR
INTO CORRESPONDING FIELDS OF TABLE TI_TYPE
FROM MCIPMIS AS M
JOIN AFIH AS A ON A~EQUNR = M~EQUNR
JOIN ANLA AS AN ON AN~BUKRS = M~BUKRS AND AN~ANLN1 = M~ANLNR AND AN~ANLN2 = M~ANLUN
JOIN FLEET AS F ON F~OBJNR = M~OBJNR
JOIN EBKN AS E ON E~AUFNR = A~AUFNR
LEFT JOIN EKPO AS K ON K~BANFN = E~BANFN
LEFT JOIN EKET AS T ON T~BANFN = E~BANFN
JOIN EKKO AS KK ON K~EBELN = KK~EBELN
ORDER BY A~AUFNR.


LOOP AT TI_TYPE INTO WA_TYPE. WRITE:
WA_TYPE-EQUNR,
WA_TYPE-AUFNR,
* WA_TYPE-ADDAT,
WA_TYPE-QMNUM,
* WA_TYPE-STORT,
* WA_TYPE-TPLNR,
* WA_TYPE-BUKRS,
* WA_TYPE-ANLN1,
* WA_TYPE-ANLN2,
WA_TYPE-BANFN,
WA_TYPE-ANFNR,
* WA_TYPE-ANFNR,
WA_TYPE-EBELN,
WA_TYPE-NETPR,/
WA_TYPE-EBELNK.
endloop.

El resultado es:
AFIH-EQUNR AFIH-AUFNR AFIH-QMNUM EKPO-BANFN EKPO-ANFNR EKET-EBELN EKPO-NETPR
20001678 4000000 10000000 1700000000 6070000000 4710000315 6.00
20001678 4000000 10000000 1700000000 6070000000 6070000000 6.00
20001613 4000001 10000001 1700000001 6070000001 4710000651 7.00
20001613 4000001 10000001 1700000001 6070000001 6070000001 7.00
20001550 4000005 10000005 1700000005 6070000005 4710000268 11.00
20001550 4000005 10000005 1700000005 6070000005 6070000005 11.00
20001671 4000012 10000013 1700000012 6070000012 4710000127 5.00
20001671 4000012 10000013 1700000012 6070000012 6070000012 5.00

El resultado que necesito es:
AFIH-EQUNR AFIH-AUFNR AFIH-QMNUM EKPO-BANFN EKPO-ANFNR EKET-EBELN EKPO-NETPR
20001678 4000000 10000000 1700000000 6070000000 4710000315 6.00
20001613 4000001 10000001 1700000001 6070000001 4710000651 7.00
20001739 4000002 10000002 1700000002 6070000002
20001565 4000003 10000003 1700000003 6070000003
20001609 4000004 10000004 1700000004 6070000004
20001550 4000005 10000005 1700000005 6070000005 4710000268 11.00
20001545 4000006 10000006 1700000006 6070000006