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: 

ABAP Error Message

sumeyye_1634
Participant
0 Kudos
1,722

Good Days,

I am writing an ALV report yet receive couple errors which i cannot solve:

**Different number of parameters in FORM and PERFORM (routine:SET_FC_SUB, number of formal parameters: 6, number of actual parameters: 4).

**The data type of the component EBELP of GT_LIST is not compatible with the data type of BSART.

I take these error blocks when i chech my code. I have 6 parameters and fulfilled 6 parameters.What is wrong ?

Thanks in advance.

Warm wishes,

Sümeyye.

1 ACCEPTED SOLUTION

Jeansy
Active Contributor
0 Kudos
1,309

Hi,

I checked your coding in detail and found the reason for the described issues.

  • I changed the SELECT statement and used the additional statement INTO CORRESPONDING FIELDS OF TABLE as the defined type does not fit to the selected fields in the SELECT-statement
  • The call of the subrotines had errors as the literals had no space in between. So two parameter that are written like 'Hello''World' is interpreted by ABAP as one single parameter. That's why I added just some spaces and now the issue does not come up again.

Below you can find the updated coding which includes no sytax-errors anymore.

Please reward if helpful. Thank you.

Kind regards
Jens

REPORT z_egtm_ders_30.

*INCLUDE Z_EGTM_DERS_30_TOP.
*INCLUDE Z_EGTM_DERS_30_FORM.



START-OF-SELECTION.


PERFORM get_data.
PERFORM set_fc.
PERFORM set_layout.
PERFORM display_alv.

*& Include Z_EGTM_DERS_30_TOP
*&---------------------------------------------------------------------*




TYPES: BEGIN OF gty_list,

"EKKODAN:
ebeln TYPE ebeln,
bstyp TYPE ebstyp,
bsart TYPE esart,

"EKPODAN:

ebelp TYPE ebelp,
matnr TYPE matnr,
menge TYPE bstmg,
meins TYPE meins,

END OF gty_list.



DATA : gt_list TYPE TABLE OF gty_list,

gs_list TYPE gty_list.


DATA : gt_fieldcatalog TYPE slis_t_fieldcat_alv,
gs_fieldcatalog TYPE slis_fieldcat_alv.


DATA: gs_layout TYPE slis_layout_alv.

*&---------------------------------------------------------------------*
*& Include Z_EGTM_DERS_30_FORM
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*



FORM get_data .



SELECT

ekko~ebeln
ekpo~ebelp
ekko~bstyp
ekko~bsart
ekpo~matnr
ekpo~menge
ekpo~meins


FROM ekko
INNER JOIN ekpo ON ekpo~ebeln EQ ekko~ebeln
INTO CORRESPONDING FIELDS OF TABLE gt_list.



ENDFORM.
*&---------------------------------------------------------------------*
*& Form SET_FC
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM set_fc . "Fielcatalog oluşturulması .Benzer type ve variable lar var. Sadece değerleri farklı.

PERFORM :
set_fc_sub USING 'EBELN' 'SAS No' 'SAS Numarası' 'SAS Numarası' abap_true '0',
set_fc_sub USING 'EBELP' 'Kalem' 'Kalem' 'Kalem' abap_true '1',
set_fc_sub USING 'BSTYP' 'Belge Tipi' 'Belge Tipi' 'Belge Tipi' abap_false '2',
set_fc_sub USING 'BSART' 'Belge Türü' 'Belge Türü' 'Belge Türü' abap_false '3',
set_fc_sub USING 'MATNR' 'Malzeme' 'Malzeme' 'Malzeme' abap_false '4',
set_fc_sub USING 'MENGE' 'Miktar' 'Miktar' 'Miktar' abap_true '5',
set_fc_sub USING 'MEINS' 'Birim' 'Birim' 'Birim' abap_false '6'.


"Adım 7:

" CLEAR GS_FIELDCATALOG." Structureımız
" GS_FIELDCATALOG-FIELDNAME = 'EBELN'.
" GS_FIELDCATALOG-SELTEXT_S = 'SAS No'.
" GS_FIELDCATALOG-SELTEXT_M = 'SAS Numarası'.
" GS_FIELDCATALOG-SELTEXT_L = 'SAS Numarası'.
" GS_FIELDCATALOG-KEY = ABAP_TRUE.
" GS_FIELDCATALOG-COL_POS = 0.
"" GS_FIELDCATALOG-OUTPUTLEN = 40.
"" GS_FIELDCATALOG-EDIT = ABAP_TRUE.
"" GS_FIELDCATALOG-HOTSPOT = ABAP_TRUE.
" APPEND GS_FIELDCATALOG TO GT_FIELDCATALOG .

" CLEAR GS_FIELDCATALOG." Structureımız
" GS_FIELDCATALOG-FIELDNAME = 'EBELP'.
" GS_FIELDCATALOG-SELTEXT_S = 'Kalem'.
" GS_FIELDCATALOG-SELTEXT_M = 'Kalem'.
" GS_FIELDCATALOG-SELTEXT_L = 'Kalem'.
" GS_FIELDCATALOG-KEY = ABAP_TRUE.
" GS_FIELDCATALOG-COL_POS = 1.
" GS_FIELDCATALOG-OUTPUTLEN = 40.
" APPEND GS_FIELDCATALOG TO GT_FIELDCATALOG .

" CLEAR GS_FIELDCATALOG." Structureımız
" GS_FIELDCATALOG-FIELDNAME = 'BSTYP'.
" GS_FIELDCATALOG-SELTEXT_S = 'Belge Tipi'.
" GS_FIELDCATALOG-SELTEXT_M = 'Belge Tipi'.
" GS_FIELDCATALOG-SELTEXT_L = 'Belge Tipi'.
" GS_FIELDCATALOG-COL_POS = 2.
" GS_FIELDCATALOG-OUTPUTLEN = 40.
" APPEND GS_FIELDCATALOG TO GT_FIELDCATALOG .

" CLEAR GS_FIELDCATALOG." Structureımız
" GS_FIELDCATALOG-FIELDNAME = 'BSART'.
" GS_FIELDCATALOG-SELTEXT_S = 'Belge Türü'.
" GS_FIELDCATALOG-SELTEXT_M = 'Belge Türü'.
" GS_FIELDCATALOG-SELTEXT_L = 'Belge Türü'.
" GS_FIELDCATALOG-COL_POS = 3.
" GS_FIELDCATALOG-OUTPUTLEN = 40.
" APPEND GS_FIELDCATALOG TO GT_FIELDCATALOG .


" CLEAR GS_FIELDCATALOG." Structureımız
" GS_FIELDCATALOG-FIELDNAME = 'MATNR'.
" GS_FIELDCATALOG-SELTEXT_S = 'Malzeme'.
" GS_FIELDCATALOG-SELTEXT_M = 'Malzeme'.
" GS_FIELDCATALOG-SELTEXT_L = 'Malzeme'.
" GS_FIELDCATALOG-COL_POS = 4.
" GS_FIELDCATALOG-OUTPUTLEN = 40.
" APPEND GS_FIELDCATALOG TO GT_FIELDCATALOG .

" CLEAR GS_FIELDCATALOG." Structureımız
" GS_FIELDCATALOG-FIELDNAME = 'MENGE'.
" GS_FIELDCATALOG-SELTEXT_S = 'Miktar'.
" GS_FIELDCATALOG-SELTEXT_M = 'Miktar'.
" GS_FIELDCATALOG-SELTEXT_L = 'Miktar'.
" GS_FIELDCATALOG-COL_POS = 5.
" GS_FIELDCATALOG-OUTPUTLEN = 40.
" GS_FIELDCATALOG-DO_SUM = ABAP_TRUE. " Bu komut sayısal ifadelere eklenir; sütunun toplamının alınmasını sağlar.
" APPEND GS_FIELDCATALOG TO GT_FIELDCATALOG .



" CLEAR GS_FIELDCATALOG." Structureımız
" GS_FIELDCATALOG-FIELDNAME = 'MEINS'.
" GS_FIELDCATALOG-SELTEXT_S = 'Birim'.
" GS_FIELDCATALOG-SELTEXT_M = 'Birim'.
" GS_FIELDCATALOG-SELTEXT_L = 'Birim'.
" GS_FIELDCATALOG-COL_POS = 6.
" GS_FIELDCATALOG-OUTPUTLEN = 40.
" APPEND GS_FIELDCATALOG TO GT_FIELDCATALOG .



ENDFORM.
*&---------------------------------------------------------------------*
*& Form SET_LAYOUT
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM set_layout .



gs_layout-window_titlebar = 'Sümeyye REUSE ALV Örnek Çalışması'.
gs_layout-zebra = abap_true.
gs_layout-colwidth_optimize = abap_true.
"GS_LAYOUT-EDIT = ABAP_TRUE.


ENDFORM.
*&---------------------------------------------------------------------*
*& Form DISPLAY_ALV
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM display_alv .

"Adım 2:


CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
* I_CALLBACK_PROGRAM = ' '
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_CALLBACK_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME =
* I_BACKGROUND_ID = ' '
* I_GRID_TITLE =
* I_GRID_SETTINGS =
is_layout = gs_layout
it_fieldcat = gt_fieldcatalog
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
* IT_EVENTS =
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* I_HTML_HEIGHT_TOP = 0
* I_HTML_HEIGHT_END = 0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* O_PREVIOUS_SRAL_HANDLER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = gt_list
* EXCEPTIONS
* PROGRAM_ERROR = 1
* OTHERS = 2
.
IF sy-subrc <> 0.
* Implement suitable error handling error here
ENDIF.

ENDFORM.
*&---------------------------------------------------------------------*
*& Form SET_FC_SUB
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM set_fc_sub USING p_fieldname
p_seltext_s
p_seltext_m
p_seltext_l
p_key
p_col_pos.

CLEAR : gs_fieldcatalog.



gs_fieldcatalog-fieldname = p_fieldname .
gs_fieldcatalog-seltext_s = p_seltext_s .
gs_fieldcatalog-seltext_m = p_seltext_m .
gs_fieldcatalog-seltext_l = p_seltext_l .
gs_fieldcatalog-key = p_key .
gs_fieldcatalog-col_pos = p_col_pos .
APPEND gs_fieldcatalog TO gt_fieldcatalog.

ENDFORM.
11 REPLIES 11

Jeansy
Active Contributor
1,309

Hi,

can you please provide your coding? Otherwise it's hard to analyse.

KR
Jens

sumeyye_1634
Participant
0 Kudos
1,309

Hi,jzaehringer

REPORT Z_EGTM_DERS_30.

INCLUDE Z_EGTM_DERS_30_TOP.
INCLUDE Z_EGTM_DERS_30_FORM.



START-OF-SELECTION.


PERFORM get_data.
PERFORM set_fc.
PERFORM set_layout.

PERFORM display_alv.

*& Include Z_EGTM_DERS_30_TOP
*&---------------------------------------------------------------------*




TYPES: BEGIN OF GTY_LIST,

"EKKODAN:
EBELN TYPE EBELN,
BSTYP TYPE EBSTYP,
BSART TYPE ESART,

"EKPODAN:

EBELP TYPE EBELP,
MATNR TYPE MATNR,
MENGE TYPE BSTMG,
MEINS TYPE MEINS,

END OF GTY_LIST.



DATA : GT_LIST TYPE TABLE OF GTY_LIST,

GS_LIST TYPE GTY_LIST.


DATA : GT_FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV,
GS_FIELDCATALOG TYPE SLIS_FIELDCAT_ALV.


DATA: GS_LAYOUT TYPE SLIS_LAYOUT_ALV.

*&---------------------------------------------------------------------*
*& Include Z_EGTM_DERS_30_FORM
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*



FORM GET_DATA .



SELECT

EKKO~EBELN
EKPO~EBELP
EKKO~BSTYP
EKKO~BSART
EKPO~MATNR
EKPO~MENGE
EKPO~MEINS


FROM EKKO
INNER JOIN EKPO ON EKPO~EBELN EQ EKKO~EBELN
INTO TABLE GT_LIST.



ENDFORM.
*&---------------------------------------------------------------------*
*& Form SET_FC
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM SET_FC . "Fielcatalog oluşturulması .Benzer type ve variable lar var. Sadece değerleri farklı.

PERFORM : SET_FC_SUB USING 'EBELN''SAS No' 'SAS Numarası''SAS Numarası'ABAP_TRUE '0',
SET_FC_SUB USING 'EBELP''Kalem' 'Kalem''Kalem' ABAP_TRUE '1',
SET_FC_SUB USING 'BSTYP''Belge Tipi' 'Belge Tipi''Belge Tipi'ABAP_FALSE '2',
SET_FC_SUB USING 'BSART''Belge Türü' 'Belge Türü' 'Belge Türü' ABAP_FALSE '3',
SET_FC_SUB USING 'MATNR''Malzeme' 'Malzeme' 'Malzeme' ABAP_FALSE '4',
SET_FC_SUB USING 'MENGE' 'Miktar' 'Miktar''Miktar' ABAP_TRUE '5',
SET_FC_SUB USING 'MEINS' 'Birim' 'Birim' 'Birim' ABAP_FALSE '6'.


"Adım 7:

" CLEAR GS_FIELDCATALOG." Structureımız
" GS_FIELDCATALOG-FIELDNAME = 'EBELN'.
" GS_FIELDCATALOG-SELTEXT_S = 'SAS No'.
" GS_FIELDCATALOG-SELTEXT_M = 'SAS Numarası'.
" GS_FIELDCATALOG-SELTEXT_L = 'SAS Numarası'.
" GS_FIELDCATALOG-KEY = ABAP_TRUE.
" GS_FIELDCATALOG-COL_POS = 0.
"" GS_FIELDCATALOG-OUTPUTLEN = 40.
"" GS_FIELDCATALOG-EDIT = ABAP_TRUE.
"" GS_FIELDCATALOG-HOTSPOT = ABAP_TRUE.
" APPEND GS_FIELDCATALOG TO GT_FIELDCATALOG .

" CLEAR GS_FIELDCATALOG." Structureımız
" GS_FIELDCATALOG-FIELDNAME = 'EBELP'.
" GS_FIELDCATALOG-SELTEXT_S = 'Kalem'.
" GS_FIELDCATALOG-SELTEXT_M = 'Kalem'.
" GS_FIELDCATALOG-SELTEXT_L = 'Kalem'.
" GS_FIELDCATALOG-KEY = ABAP_TRUE.
" GS_FIELDCATALOG-COL_POS = 1.
" GS_FIELDCATALOG-OUTPUTLEN = 40.
" APPEND GS_FIELDCATALOG TO GT_FIELDCATALOG .

" CLEAR GS_FIELDCATALOG." Structureımız
" GS_FIELDCATALOG-FIELDNAME = 'BSTYP'.
" GS_FIELDCATALOG-SELTEXT_S = 'Belge Tipi'.
" GS_FIELDCATALOG-SELTEXT_M = 'Belge Tipi'.
" GS_FIELDCATALOG-SELTEXT_L = 'Belge Tipi'.
" GS_FIELDCATALOG-COL_POS = 2.
" GS_FIELDCATALOG-OUTPUTLEN = 40.
" APPEND GS_FIELDCATALOG TO GT_FIELDCATALOG .

" CLEAR GS_FIELDCATALOG." Structureımız
" GS_FIELDCATALOG-FIELDNAME = 'BSART'.
" GS_FIELDCATALOG-SELTEXT_S = 'Belge Türü'.
" GS_FIELDCATALOG-SELTEXT_M = 'Belge Türü'.
" GS_FIELDCATALOG-SELTEXT_L = 'Belge Türü'.
" GS_FIELDCATALOG-COL_POS = 3.
" GS_FIELDCATALOG-OUTPUTLEN = 40.
" APPEND GS_FIELDCATALOG TO GT_FIELDCATALOG .


" CLEAR GS_FIELDCATALOG." Structureımız
" GS_FIELDCATALOG-FIELDNAME = 'MATNR'.
" GS_FIELDCATALOG-SELTEXT_S = 'Malzeme'.
" GS_FIELDCATALOG-SELTEXT_M = 'Malzeme'.
" GS_FIELDCATALOG-SELTEXT_L = 'Malzeme'.
" GS_FIELDCATALOG-COL_POS = 4.
" GS_FIELDCATALOG-OUTPUTLEN = 40.
" APPEND GS_FIELDCATALOG TO GT_FIELDCATALOG .

" CLEAR GS_FIELDCATALOG." Structureımız
" GS_FIELDCATALOG-FIELDNAME = 'MENGE'.
" GS_FIELDCATALOG-SELTEXT_S = 'Miktar'.
" GS_FIELDCATALOG-SELTEXT_M = 'Miktar'.
" GS_FIELDCATALOG-SELTEXT_L = 'Miktar'.
" GS_FIELDCATALOG-COL_POS = 5.
" GS_FIELDCATALOG-OUTPUTLEN = 40.
" GS_FIELDCATALOG-DO_SUM = ABAP_TRUE. " Bu komut sayısal ifadelere eklenir; sütunun toplamının alınmasını sağlar.
" APPEND GS_FIELDCATALOG TO GT_FIELDCATALOG .



" CLEAR GS_FIELDCATALOG." Structureımız
" GS_FIELDCATALOG-FIELDNAME = 'MEINS'.
" GS_FIELDCATALOG-SELTEXT_S = 'Birim'.
" GS_FIELDCATALOG-SELTEXT_M = 'Birim'.
" GS_FIELDCATALOG-SELTEXT_L = 'Birim'.
" GS_FIELDCATALOG-COL_POS = 6.
" GS_FIELDCATALOG-OUTPUTLEN = 40.
" APPEND GS_FIELDCATALOG TO GT_FIELDCATALOG .



ENDFORM.
*&---------------------------------------------------------------------*
*& Form SET_LAYOUT
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM SET_LAYOUT .



GS_LAYOUT-WINDOW_TITLEBAR = 'Sümeyye REUSE ALV Örnek Çalışması'.
GS_LAYOUT-ZEBRA = ABAP_TRUE.
GS_LAYOUT-COLWIDTH_OPTIMIZE = ABAP_TRUE.
"GS_LAYOUT-EDIT = ABAP_TRUE.


ENDFORM.
*&---------------------------------------------------------------------*
*& Form DISPLAY_ALV
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM DISPLAY_ALV .

"Adım 2:


CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
* I_CALLBACK_PROGRAM = ' '
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_CALLBACK_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME =
* I_BACKGROUND_ID = ' '
* I_GRID_TITLE =
* I_GRID_SETTINGS =
IS_LAYOUT = GS_LAYOUT
IT_FIELDCAT = GT_FIELDCATALOG
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
* IT_EVENTS =
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* I_HTML_HEIGHT_TOP = 0
* I_HTML_HEIGHT_END = 0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* O_PREVIOUS_SRAL_HANDLER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = GT_LIST
* EXCEPTIONS
* PROGRAM_ERROR = 1
* OTHERS = 2
.
IF SY-SUBRC <> 0.
* Implement suitable error handling error here
ENDIF.

ENDFORM.
*&---------------------------------------------------------------------*
*& Form SET_FC_SUB
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM SET_FC_SUB USING P_FIELDNAME
P_SELTEXT_S
P_SELTEXT_M
P_SELTEXT_L
P_KEY
P_COL_POS.

CLEAR : GS_FIELDCATALOG.



GS_FIELDCATALOG-FIELDNAME = P_FIELDNAME .
GS_FIELDCATALOG-SELTEXT_S = P_SELTEXT_S .
GS_FIELDCATALOG-SELTEXT_M = P_SELTEXT_M .
GS_FIELDCATALOG-SELTEXT_L = P_SELTEXT_L .
GS_FIELDCATALOG-KEY = P_KEY .
GS_FIELDCATALOG-COL_POS = P_COL_POS .
APPEND GS_FIELDCATALOG TO GT_FIELDCATALOG.



ENDFORM.

Jeansy
Active Contributor
0 Kudos
1,310

Hi,

I checked your coding in detail and found the reason for the described issues.

  • I changed the SELECT statement and used the additional statement INTO CORRESPONDING FIELDS OF TABLE as the defined type does not fit to the selected fields in the SELECT-statement
  • The call of the subrotines had errors as the literals had no space in between. So two parameter that are written like 'Hello''World' is interpreted by ABAP as one single parameter. That's why I added just some spaces and now the issue does not come up again.

Below you can find the updated coding which includes no sytax-errors anymore.

Please reward if helpful. Thank you.

Kind regards
Jens

REPORT z_egtm_ders_30.

*INCLUDE Z_EGTM_DERS_30_TOP.
*INCLUDE Z_EGTM_DERS_30_FORM.



START-OF-SELECTION.


PERFORM get_data.
PERFORM set_fc.
PERFORM set_layout.
PERFORM display_alv.

*& Include Z_EGTM_DERS_30_TOP
*&---------------------------------------------------------------------*




TYPES: BEGIN OF gty_list,

"EKKODAN:
ebeln TYPE ebeln,
bstyp TYPE ebstyp,
bsart TYPE esart,

"EKPODAN:

ebelp TYPE ebelp,
matnr TYPE matnr,
menge TYPE bstmg,
meins TYPE meins,

END OF gty_list.



DATA : gt_list TYPE TABLE OF gty_list,

gs_list TYPE gty_list.


DATA : gt_fieldcatalog TYPE slis_t_fieldcat_alv,
gs_fieldcatalog TYPE slis_fieldcat_alv.


DATA: gs_layout TYPE slis_layout_alv.

*&---------------------------------------------------------------------*
*& Include Z_EGTM_DERS_30_FORM
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*



FORM get_data .



SELECT

ekko~ebeln
ekpo~ebelp
ekko~bstyp
ekko~bsart
ekpo~matnr
ekpo~menge
ekpo~meins


FROM ekko
INNER JOIN ekpo ON ekpo~ebeln EQ ekko~ebeln
INTO CORRESPONDING FIELDS OF TABLE gt_list.



ENDFORM.
*&---------------------------------------------------------------------*
*& Form SET_FC
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM set_fc . "Fielcatalog oluşturulması .Benzer type ve variable lar var. Sadece değerleri farklı.

PERFORM :
set_fc_sub USING 'EBELN' 'SAS No' 'SAS Numarası' 'SAS Numarası' abap_true '0',
set_fc_sub USING 'EBELP' 'Kalem' 'Kalem' 'Kalem' abap_true '1',
set_fc_sub USING 'BSTYP' 'Belge Tipi' 'Belge Tipi' 'Belge Tipi' abap_false '2',
set_fc_sub USING 'BSART' 'Belge Türü' 'Belge Türü' 'Belge Türü' abap_false '3',
set_fc_sub USING 'MATNR' 'Malzeme' 'Malzeme' 'Malzeme' abap_false '4',
set_fc_sub USING 'MENGE' 'Miktar' 'Miktar' 'Miktar' abap_true '5',
set_fc_sub USING 'MEINS' 'Birim' 'Birim' 'Birim' abap_false '6'.


"Adım 7:

" CLEAR GS_FIELDCATALOG." Structureımız
" GS_FIELDCATALOG-FIELDNAME = 'EBELN'.
" GS_FIELDCATALOG-SELTEXT_S = 'SAS No'.
" GS_FIELDCATALOG-SELTEXT_M = 'SAS Numarası'.
" GS_FIELDCATALOG-SELTEXT_L = 'SAS Numarası'.
" GS_FIELDCATALOG-KEY = ABAP_TRUE.
" GS_FIELDCATALOG-COL_POS = 0.
"" GS_FIELDCATALOG-OUTPUTLEN = 40.
"" GS_FIELDCATALOG-EDIT = ABAP_TRUE.
"" GS_FIELDCATALOG-HOTSPOT = ABAP_TRUE.
" APPEND GS_FIELDCATALOG TO GT_FIELDCATALOG .

" CLEAR GS_FIELDCATALOG." Structureımız
" GS_FIELDCATALOG-FIELDNAME = 'EBELP'.
" GS_FIELDCATALOG-SELTEXT_S = 'Kalem'.
" GS_FIELDCATALOG-SELTEXT_M = 'Kalem'.
" GS_FIELDCATALOG-SELTEXT_L = 'Kalem'.
" GS_FIELDCATALOG-KEY = ABAP_TRUE.
" GS_FIELDCATALOG-COL_POS = 1.
" GS_FIELDCATALOG-OUTPUTLEN = 40.
" APPEND GS_FIELDCATALOG TO GT_FIELDCATALOG .

" CLEAR GS_FIELDCATALOG." Structureımız
" GS_FIELDCATALOG-FIELDNAME = 'BSTYP'.
" GS_FIELDCATALOG-SELTEXT_S = 'Belge Tipi'.
" GS_FIELDCATALOG-SELTEXT_M = 'Belge Tipi'.
" GS_FIELDCATALOG-SELTEXT_L = 'Belge Tipi'.
" GS_FIELDCATALOG-COL_POS = 2.
" GS_FIELDCATALOG-OUTPUTLEN = 40.
" APPEND GS_FIELDCATALOG TO GT_FIELDCATALOG .

" CLEAR GS_FIELDCATALOG." Structureımız
" GS_FIELDCATALOG-FIELDNAME = 'BSART'.
" GS_FIELDCATALOG-SELTEXT_S = 'Belge Türü'.
" GS_FIELDCATALOG-SELTEXT_M = 'Belge Türü'.
" GS_FIELDCATALOG-SELTEXT_L = 'Belge Türü'.
" GS_FIELDCATALOG-COL_POS = 3.
" GS_FIELDCATALOG-OUTPUTLEN = 40.
" APPEND GS_FIELDCATALOG TO GT_FIELDCATALOG .


" CLEAR GS_FIELDCATALOG." Structureımız
" GS_FIELDCATALOG-FIELDNAME = 'MATNR'.
" GS_FIELDCATALOG-SELTEXT_S = 'Malzeme'.
" GS_FIELDCATALOG-SELTEXT_M = 'Malzeme'.
" GS_FIELDCATALOG-SELTEXT_L = 'Malzeme'.
" GS_FIELDCATALOG-COL_POS = 4.
" GS_FIELDCATALOG-OUTPUTLEN = 40.
" APPEND GS_FIELDCATALOG TO GT_FIELDCATALOG .

" CLEAR GS_FIELDCATALOG." Structureımız
" GS_FIELDCATALOG-FIELDNAME = 'MENGE'.
" GS_FIELDCATALOG-SELTEXT_S = 'Miktar'.
" GS_FIELDCATALOG-SELTEXT_M = 'Miktar'.
" GS_FIELDCATALOG-SELTEXT_L = 'Miktar'.
" GS_FIELDCATALOG-COL_POS = 5.
" GS_FIELDCATALOG-OUTPUTLEN = 40.
" GS_FIELDCATALOG-DO_SUM = ABAP_TRUE. " Bu komut sayısal ifadelere eklenir; sütunun toplamının alınmasını sağlar.
" APPEND GS_FIELDCATALOG TO GT_FIELDCATALOG .



" CLEAR GS_FIELDCATALOG." Structureımız
" GS_FIELDCATALOG-FIELDNAME = 'MEINS'.
" GS_FIELDCATALOG-SELTEXT_S = 'Birim'.
" GS_FIELDCATALOG-SELTEXT_M = 'Birim'.
" GS_FIELDCATALOG-SELTEXT_L = 'Birim'.
" GS_FIELDCATALOG-COL_POS = 6.
" GS_FIELDCATALOG-OUTPUTLEN = 40.
" APPEND GS_FIELDCATALOG TO GT_FIELDCATALOG .



ENDFORM.
*&---------------------------------------------------------------------*
*& Form SET_LAYOUT
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM set_layout .



gs_layout-window_titlebar = 'Sümeyye REUSE ALV Örnek Çalışması'.
gs_layout-zebra = abap_true.
gs_layout-colwidth_optimize = abap_true.
"GS_LAYOUT-EDIT = ABAP_TRUE.


ENDFORM.
*&---------------------------------------------------------------------*
*& Form DISPLAY_ALV
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM display_alv .

"Adım 2:


CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
* I_CALLBACK_PROGRAM = ' '
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_CALLBACK_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME =
* I_BACKGROUND_ID = ' '
* I_GRID_TITLE =
* I_GRID_SETTINGS =
is_layout = gs_layout
it_fieldcat = gt_fieldcatalog
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
* IT_EVENTS =
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* I_HTML_HEIGHT_TOP = 0
* I_HTML_HEIGHT_END = 0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* O_PREVIOUS_SRAL_HANDLER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = gt_list
* EXCEPTIONS
* PROGRAM_ERROR = 1
* OTHERS = 2
.
IF sy-subrc <> 0.
* Implement suitable error handling error here
ENDIF.

ENDFORM.
*&---------------------------------------------------------------------*
*& Form SET_FC_SUB
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM set_fc_sub USING p_fieldname
p_seltext_s
p_seltext_m
p_seltext_l
p_key
p_col_pos.

CLEAR : gs_fieldcatalog.



gs_fieldcatalog-fieldname = p_fieldname .
gs_fieldcatalog-seltext_s = p_seltext_s .
gs_fieldcatalog-seltext_m = p_seltext_m .
gs_fieldcatalog-seltext_l = p_seltext_l .
gs_fieldcatalog-key = p_key .
gs_fieldcatalog-col_pos = p_col_pos .
APPEND gs_fieldcatalog TO gt_fieldcatalog.

ENDFORM.

0 Kudos
1,309

Good Morning,

First of all my code works without any error,thanks for that.

***If the columns of the table we want to add do not match exactly with the data we have drawn, there is a logic to add "CORRESPONDING FIELD" to the "INTO TABLE" section.

But in order to be more efficient, the table name is written as ~ field name in the SELECT section.

I have read this kind of information. Why using the ~ sign completely didnt fix the problem in my code?

*** Also may i learn where exactly you added an extra space?

Thank you so much,

Kind Regards.

Jeansy
Active Contributor
1,309

Hi,

this is the part where I added the spaces:

  PERFORM :
set_fc_sub USING 'EBELN' 'SAS No' 'SAS Numarası' 'SAS Numarası' abap_true '0',
set_fc_sub USING 'EBELP' 'Kalem' 'Kalem' 'Kalem' abap_true '1',
set_fc_sub USING 'BSTYP' 'Belge Tipi' 'Belge Tipi' 'Belge Tipi' abap_false '2',
set_fc_sub USING 'BSART' 'Belge Türü' 'Belge Türü' 'Belge Türü' abap_false '3',
set_fc_sub USING 'MATNR' 'Malzeme' 'Malzeme' 'Malzeme' abap_false '4',
set_fc_sub USING 'MENGE' 'Miktar' 'Miktar' 'Miktar' abap_true '5',
set_fc_sub USING 'MEINS' 'Birim' 'Birim' 'Birim' abap_false '6'.

Regarding the SELECT-statement:

You mentioned these fields to be selected from the table:

  ekko~ebeln
ekpo~ebelp
ekko~bstyp
ekko~bsart
ekpo~matnr
ekpo~menge
ekpo~meins

The target structure is defined like that:

  TYPES: BEGIN OF gty_list,

"EKKODAN:
ebeln TYPE ebeln,
bstyp TYPE ebstyp,
bsart TYPE esart,

"EKPODAN:

ebelp TYPE ebelp,
matnr TYPE matnr,
menge TYPE bstmg,
meins TYPE meins,

END OF gty_list.

So in the end, SAP tries to fill the fields in the target structure based by index.

EKKO~EBELN --> EBELN
EKPO~EBELP --> BSART ---> Type og BSART does not match TO EBELP, that's why it did not work

If you use the addition INTO CORRESONDING FIELDS TO TABLE the order of the fields is not relevant anymore, SAP just checks for the same fieldnames.

Kind regards
Jens

1,309

That is so explaning. Thanks a lot for your time.

Have a nice day!

Jeansy
Active Contributor
0 Kudos
1,309

Thank you 🙂 You're welcome.

Have a nice day too!

0 Kudos
1,309

jzaehringer

Btw, we have an other report that extracts the data about weighing the vehiches.

The dates of the entering and leaving of vehiches has columns on the report yet it doesnt show any data from 2019 and 2020.

When i examine the code there is no year restriction in such related fields. What is wrong about the report may i consult?

Best Regards.

Jeansy
Active Contributor
0 Kudos
1,309

Hi,

I propose to create a new posting/question for this new topic.

Can you please provide some sample coding? Otherwise it's hard to analyse.

Kind regards
Jens

Sandra_Rossi
Active Contributor
0 Kudos
1,309

Please edit your question, select your code and press the button [CODE], which makes the code appear colored/indented, it will be easier for people to look at it. Thank you!

sumeyye_1634
Participant
0 Kudos
1,309

Oh thanks for the new info. I will do that from now on.sandra.rossi

Have a nice day!