‎2011 Feb 07 6:01 AM
Moderator message: please use more descriptive subject lines for your posts.
Dear Experts, I hv written following code. there is no error in query but still no data is getting fetched into internal table. Can any one provide guidance pls.
TYPES : BEGIN OF t_data,
EBAN_BANFN TYPE BANFN,
EBAN_BSART TYPE BBSRT,
EBAN_BNFPO TYPE BNFPO,
EBAN_MATNR TYPE MATNR,
EBAN_WERKS TYPE EWERK,
EBAN_LGORT TYPE LGORT_D,
EBAN_MENGE TYPE BAMNG,
* EBAN_MEINS_0106 TYPE EBAN-MEINS, " EBAN_MEINS-0106 TYPE EBAN-MEINS,
EBAN_FRGZU TYPE FRGZU,
EBAN_MEINS TYPE BAMEI,
EBAN_EBELN TYPE BSTNR,
EBAN_EBEKP TYPE BSTPO,
EBAN_TXZ01 TYPE TXZ01,
EBAN_BEDAT TYPE BEDAT,
EBAN_BADAT TYPE BADAT,
EBAN_FRGDT TYPE FRGDT,
EBAN_BSMNG TYPE BSMNG,
* EBAN_MEINS_0207 TYPE EBAN-MEINS, " EBAN_MEINS-0207 TYPE EBAN-MEINS,
EBAN_KZFME TYPE KZWSO,
EBAN_AFNAM TYPE AFNAM,
EBAN_ADRNR TYPE ADRNR_MM,
EKPO_EBELN TYPE EBELN,
EKPO_EBELP TYPE EBELP,
EKPO_MATNR TYPE MATNR,
EKPO_TXZ01 TYPE TXZ01,
EKPO_MENGE TYPE BSTMG,
* EKPO_MEINS_0401 TYPE EKPO-MEINS, " EKPO_MEINS-0401 TYPE EKPO-MEINS,
EKPO_MEINS TYPE BSTME,
EKPO_BANFN TYPE BANFN,
EKPO_BNFPO TYPE BNFPO,
EKBE_BELNR TYPE MBLNR,
EKBE_BUZEI TYPE MBLPO,
EKBE_MENGE TYPE MENGE_D,
* EKPO_MEINS TYPE EKPO-MEINS, " EKPO_MEINS-0502 TYPE EKPO-MEINS,
EKBE_BUDAT TYPE BUDAT,
EKBE_BWART TYPE BWART,
EKBE_EBELN TYPE EBELN,
EKBE_EBELP TYPE EBELP,
END OF t_data.
DATA : it_data TYPE STANDARD TABLE OF t_data, " WITH HEADER LINE,
wa_data TYPE t_data.
***&---------------------------------------------------------------------*
*** ALV INTERNAL TABLE & WORK AREA DECLARATIONS
***&---------------------------------------------------------------------*
DATA : i_fcat type slis_t_fieldcat_alv with header line.
DATA : wa_fcat type slis_t_fieldcat_alv.
DATA : w_repid TYPE sy-repid.
SELECTION-SCREEN : BEGIN OF BLOCK b1 WITH FRAME.
SELECT-OPTIONS : s_banfn FOR eban-banfn.
SELECTION-SCREEN : END OF BLOCK b1.
INITIALIZATION.
w_repid = sy-repid.
*&---------------------------------------------------------------------*
* START-OF-SELECTION
*&---------------------------------------------------------------------*
START-OF-SELECTION.
PERFORM get_data.
PERFORM display_data.
*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
FORM GET_DATA .
select EBAN~ADRNR EBAN~AFNAM EBAN~BADAT EBAN~BANFN EBAN~BEDAT EBAN~BNFPO EBAN~BSART EBAN~BSMNG EBAN~EBELN EBAN~EBELP
EBAN~FRGDT EBAN~FRGZU EBAN~KZFME EBAN~LGORT EBAN~MATNR EBAN~MEINS EBAN~MENGE EBAN~TXZ01 EBAN~WERKS EKPO~BANFN
EKPO~BNFPO EKPO~EBELN EKPO~EBELP EKPO~MATNR EKPO~MEINS EKPO~MENGE EKPO~TXZ01 EKBE~BELNR EKBE~BUDAT EKBE~BUZEI
EKBE~BWART EKBE~EBELN EKBE~EBELP EKBE~MENGE
INTO CORRESPONDING FIELDS OF TABLE it_data
from ( ( EBAN
inner join EKPO
on EKPO~BANFN = EBAN~BANFN
and EKPO~BNFPO = EBAN~BNFPO
and EKPO~EBELN = EBAN~EBELN
and EKPO~EBELP = EBAN~EBELP )
inner join EKBE
on EKBE~EBELN = EKPO~EBELN
and EKBE~EBELP = EKPO~EBELP )
where EBAN~BANFN in S_BANFN.
CHECK sy-subrc = 0.
ENDFORM. " GET_DATA
Edited by: Thomas Zloch on Feb 7, 2011 10:21 AM
‎2011 Feb 07 6:14 AM
Hi,
please check 1st with left outer join both times instead of inner join to see, what data you will get.
Regards,
Klaus
‎2011 Feb 07 6:35 AM
Assuming the fields in your internal table is arranged the same as your query, try removing the 'corresponding fields of'.
Edited by: jhaear on Feb 7, 2011 7:36 AM
‎2011 Feb 07 6:38 AM
Yes, jhaear is right, but then you need the same field order as in your structure above! Now the field names are not matching, no corresponding is possible!
Edited by: Klaus Babl on Feb 7, 2011 7:38 AM
‎2011 Feb 07 7:11 AM
Move-corresponding will fail to work for your type of internal table declaration.
Regards,