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

Data is not getting fetched.

vicky31
Explorer
0 Likes
2,496

After debugging the code, it_ekpo is not fetching any data.
I'm very new to ABAP so, not able to understand the problem/ error/ mistake.

Help me.

REPORT Z_ALV_V4.

TYPE-POOLS: SLIS. 

TABLES: EKPO. 

TYPES: BEGIN OF ty_ekpo,
         EBELN TYPE EKPO-EBELN, 
         EBELP TYPE EKPO-EBELP, 
         MATNR TYPE EKPO-MATNR, 
         TXZ01 TYPE EKPO-TXZ01, 
         MENGE TYPE EKPO-BSTMG, 
         NETPR TYPE EKPO-BPREI, 
   END OF ty_ekpo.

DATA: it_ekpo TYPE TABLE OF ty_ekpo,
      it_fldcat TYPE SLIS_T_FIELDCAT_ALV,
      it_sort TYPE SLIS_T_SORTINFO_ALV,

      wa_ekpo TYPE ty_ekpo,
      wa_fldcat TYPE SLIS_FIELDCAT_ALV,
      wa_sort TYPE SLIS_SORTINFO_ALV.

SELECT-OPTIONS: S_EBELN FOR EKPO-EBELN.

START-OF-SELECTION.

PERFORM FETCH_DATA.
PERFORM SORT_DATA.
PERFORM SHOW_DATA.


FORM FETCH_DATA.
SELECT EBELN
       EBELP
       MATNR
       TXZ01
       MENGE
       NETPR
  FROM EKPO
INTO TABLE it_ekpo
WHERE EBELN = S_EBELN.
ENDFORM.


FORM SORT_DATA.
  wa_fldcat-fieldname = ‘EBELN’.
  wa_fldcat-tabname = ‘IT_EKPO’.
  wa_fldcat-seltext_m = ‘Purchase Order’.
  wa_fldcat-key = ‘X’.
  APPEND wa_fldcat TO it_fldcat.
  CLEAR wa_fldcat.

  wa_fldcat-fieldname = ‘EBELP’.
  wa_fldcat-tabname = ‘IT_EKPO’.
  wa_fldcat-seltext_m = ‘Item’.
  wa_fldcat-key = ‘X’.
  APPEND wa_fldcat TO it_fldcat.
  CLEAR wa_fldcat.

  wa_fldcat-fieldname = ‘MATNR’.
  wa_fldcat-tabname = ‘IT_EKPO’.
  wa_fldcat-seltext_m = ‘Material Number’.
  wa_fldcat-col_pos = 3.
  APPEND wa_fldcat TO it_fldcat.
  CLEAR wa_fldcat.

  wa_fldcat-fieldname = ‘TXZ01’.
  wa_fldcat-tabname = ‘IT_EKPO’.
  wa_fldcat-seltext_m = ‘Short Text’.
  APPEND wa_fldcat TO it_fldcat.
  CLEAR wa_fldcat.

  wa_fldcat-fieldname = ‘MENGE’.
  wa_fldcat-tabname = ‘IT_EKPO’.
  wa_fldcat-seltext_m = ‘Purchase Order Quality’.
  wa_fldcat-no_out = ‘X’.
  APPEND wa_fldcat TO it_fldcat.
  CLEAR wa_fldcat.

  wa_fldcat-fieldname = ‘NETPR’.
  wa_fldcat-tabname = ‘IT_EKPO’.
  wa_fldcat-seltext_m = ‘Net Price’.
  wa_fldcat = ‘X’.
  APPEND wa_fldcat TO it_fldcat.
  CLEAR wa_fldcat.
ENDFORM.


FORM SHOW_DATA.
  CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY’
   EXPORTING
      i-callback_program = sy-repid
      it_fieldcat = it_fldcat
      it_sort = it_sort
   TABLES
      T_OUTTAB = it_ekpo.
ENDFORM.
1 ACCEPTED SOLUTION
Read only

Sandra_Rossi
Active Contributor
2,370

It's a frequent error with SELECT based on a SELECT-OPTIONS variable.

Don't use = , use IN:

SELECT-OPTIONS: S_EBELN FOR EKPO-EBELN.

...

SELECT ... FROM EKPO ...   WHERE   EBELN   IN   S_EBELN   ... 

NB: where ebeln = s_ebeln means that you compare the column EBELN to the header line of table S_EBELN, which is a structure made of 4 character components (example: "I", "EQ", "0000056124", ""), so it's converted to a character field (example: "IEQ0000056124").

After debugging the code, it_ekpo is not fetching any data.
I'm very new to ABAP so, not able to understand the problem/ error/ mistake.

Help me.

REPORT Z_ALV_V4.

TYPE-POOLS: SLIS. 

TABLES: EKPO. 

TYPES: BEGIN OF ty_ekpo,
         EBELN TYPE EKPO-EBELN, 
         EBELP TYPE EKPO-EBELP, 
         MATNR TYPE EKPO-MATNR, 
         TXZ01 TYPE EKPO-TXZ01, 
         MENGE TYPE EKPO-BSTMG, 
         NETPR TYPE EKPO-BPREI, 
   END OF ty_ekpo.

DATA: it_ekpo TYPE TABLE OF ty_ekpo,
      it_fldcat TYPE SLIS_T_FIELDCAT_ALV,
      it_sort TYPE SLIS_T_SORTINFO_ALV,

      wa_ekpo TYPE ty_ekpo,
      wa_fldcat TYPE SLIS_FIELDCAT_ALV,
      wa_sort TYPE SLIS_SORTINFO_ALV.

SELECT-OPTIONS: S_EBELN FOR EKPO-EBELN.

START-OF-SELECTION.

PERFORM FETCH_DATA.
PERFORM SORT_DATA.
PERFORM SHOW_DATA.


FORM FETCH_DATA.
SELECT EBELN
       EBELP
       MATNR
       TXZ01
       MENGE
       NETPR
  FROM EKPO
INTO TABLE it_ekpo
WHERE EBELN = S_EBELN.
ENDFORM.


FORM SORT_DATA.
  wa_fldcat-fieldname = ‘EBELN’.
  wa_fldcat-tabname = ‘IT_EKPO’.
  wa_fldcat-seltext_m = ‘Purchase Order’.
  wa_fldcat-key = ‘X’.
  APPEND wa_fldcat TO it_fldcat.
  CLEAR wa_fldcat.

  wa_fldcat-fieldname = ‘EBELP’.
  wa_fldcat-tabname = ‘IT_EKPO’.
  wa_fldcat-seltext_m = ‘Item’.
  wa_fldcat-key = ‘X’.
  APPEND wa_fldcat TO it_fldcat.
  CLEAR wa_fldcat.

  wa_fldcat-fieldname = ‘MATNR’.
  wa_fldcat-tabname = ‘IT_EKPO’.
  wa_fldcat-seltext_m = ‘Material Number’.
  wa_fldcat-col_pos = 3.
  APPEND wa_fldcat TO it_fldcat.
  CLEAR wa_fldcat.

  wa_fldcat-fieldname = ‘TXZ01’.
  wa_fldcat-tabname = ‘IT_EKPO’.
  wa_fldcat-seltext_m = ‘Short Text’.
  APPEND wa_fldcat TO it_fldcat.
  CLEAR wa_fldcat.

  wa_fldcat-fieldname = ‘MENGE’.
  wa_fldcat-tabname = ‘IT_EKPO’.
  wa_fldcat-seltext_m = ‘Purchase Order Quality’.
  wa_fldcat-no_out = ‘X’.
  APPEND wa_fldcat TO it_fldcat.
  CLEAR wa_fldcat.

  wa_fldcat-fieldname = ‘NETPR’.
  wa_fldcat-tabname = ‘IT_EKPO’.
  wa_fldcat-seltext_m = ‘Net Price’.
  wa_fldcat = ‘X’.
  APPEND wa_fldcat TO it_fldcat.
  CLEAR wa_fldcat.
ENDFORM.


FORM SHOW_DATA.
  CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY’
   EXPORTING
      i-callback_program = sy-repid
      it_fieldcat = it_fldcat
      it_sort = it_sort
   TABLES
      T_OUTTAB = it_ekpo.
ENDFORM.
4 REPLIES 4
Read only

Sandra_Rossi
Active Contributor
2,371

It's a frequent error with SELECT based on a SELECT-OPTIONS variable.

Don't use = , use IN:

SELECT-OPTIONS: S_EBELN FOR EKPO-EBELN.

...

SELECT ... FROM EKPO ...   WHERE   EBELN   IN   S_EBELN   ... 

NB: where ebeln = s_ebeln means that you compare the column EBELN to the header line of table S_EBELN, which is a structure made of 4 character components (example: "I", "EQ", "0000056124", ""), so it's converted to a character field (example: "IEQ0000056124").

Read only

2,370

Thank you.

Read only

Former Member
0 Likes
2,370

Hi,

Just change your select statement where condition. Instead of '=' use 'IN' as shown below. Since select options are range tables

SELECT EBELN
       EBELP
       MATNR
       TXZ01
       MENGE
       NETPR
  FROM EKPO
INTO TABLE it_ekpo
WHERE EBELN in S_EBELN.

Read only

0 Likes
2,370

Thank you.