Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Inner join

former_member355168
Participant
0 Likes
778

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

4 REPLIES 4
Read only

Former Member
0 Likes
651

Hi,

please check 1st with left outer join both times instead of inner join to see, what data you will get.

Regards,

Klaus

Read only

Former Member
0 Likes
651

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

Read only

0 Likes
651

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

Read only

0 Likes
651

Move-corresponding will fail to work for your type of internal table declaration.

Regards,