2020 Oct 10 9:35 PM
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.
2020 Oct 10 10:09 PM
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").
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").
2020 Oct 10 10:09 PM
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").
2020 Oct 10 10:57 PM
2020 Oct 11 1:50 AM
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.
2020 Oct 11 8:01 AM
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |