‎2013 Mar 08 11:29 AM
Hi Experts,
I have created a customer outstanding report using REUSE_ALV_HIERSEQ_LIST_DISPLAY. I am getting the dump saying "Incorrect value in the dynamic table". In debugging, the error is coming in the above function module. Please guide.
*&---------------------------------------------------------------------*
*& Report ZCUSTOUT
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZCUSTOUT.
tables: bsad, bsid.
TYPE-POOLS: slis.
types: begin of ty_bsad,
bukrs type bukrs,
kunnr type kunnr,
budat type budat,
wrbtr type wrbtr,
belnr type belnr_d,
shkzg type SHKZG,
end of ty_bsad.
types: begin of ty_bsid,
burks type bukrs,
kunnr type kunnr,
budat type budat,
wrbtr type wrbtr,
belnr type belnr_d,
shkzg type SHKZG,
end of ty_bsid.
data: it_bsad type standard table of ty_bsad,
it_bsid type standard table of ty_bsid.
data: wa_bsad type standard table of ty_bsad,
wa_bsid type standard table of ty_bsid.
DATA: w_fcat TYPE slis_fieldcat_alv.
DATA: t_fcat TYPE slis_t_fieldcat_alv.
CONSTANTS: c_bsad TYPE slis_tabname VALUE 'WA_BSAD'.
CONSTANTS: c_bsid TYPE slis_tabname VALUE 'WA_BSID'.
DATA: w_keyinfo TYPE slis_keyinfo_alv.
select-options: s_bukrs for bsad-bukrs,
s_kunnr for bsad-kunnr.
select-options: s_date for bsad-budat.
start-of-selection.
break-point.
perform get_Data.
perform build_fieldcat.
perform display_alv.
form get_Data.
select bukrs
kunnr
budat
wrbtr
belnr
shkzg
from bsad
into table it_bsad
where bukrs in s_bukrs and kunnr in s_kunnr and budat in s_date.
select bukrs
kunnr
budat
wrbtr
belnr
shkzg
from bsid
into table it_bsid
where bukrs in s_bukrs and kunnr in s_kunnr and budat in s_date.
endform.
FORM build_fieldcat .
w_keyinfo-header01 = 'BUKRS'.
w_keyinfo-item01 = 'BUKRS'.
*&---------------------------------------------------------------------*
w_fcat-col_pos = 1.
w_fcat-fieldname = 'BUKRS'.
w_fcat-seltext_m = 'COMPANY CODE'.
w_fcat-tabname = 'WA_BSAD'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 2.
w_fcat-fieldname = 'KUNNR'.
w_fcat-seltext_m = 'CUSTOMER No.'.
w_fcat-tabname = 'WA_BSAD'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 3.
w_fcat-fieldname = 'BUDAT'.
w_fcat-seltext_m = 'POSTING DATE'.
w_fcat-tabname = 'WA_BSAD'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 4.
w_fcat-fieldname = 'WRBTR'.
w_fcat-seltext_l = 'AMOUNT'.
w_fcat-tabname = 'WA_BSAD'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 5.
w_fcat-fieldname = 'BELNR'.
w_fcat-seltext_m = 'DOCUMENT No.'.
w_fcat-tabname = 'WA_BSAD'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 6.
w_fcat-fieldname = 'SHKZG'.
w_fcat-seltext_m = 'INDICATOR'.
w_fcat-tabname = 'WA_BSAD'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 7.
w_fcat-fieldname = 'BUKRS'.
w_fcat-seltext_m = 'COMPANY CODE'.
w_fcat-tabname = 'WA_BSID'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 8.
w_fcat-fieldname = 'KUNNR'.
w_fcat-seltext_m = 'CUSTOMER No.'.
w_fcat-tabname = 'WA_BSID'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 9.
w_fcat-fieldname = 'BUDAT'.
w_fcat-seltext_m = 'POSTING DATE'.
w_fcat-tabname = 'WA_BSID'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 10.
w_fcat-fieldname = 'WRBTR'.
w_fcat-seltext_l = 'AMOUNT'.
w_fcat-tabname = 'WA_BSID'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 11.
w_fcat-fieldname = 'BELNR'.
w_fcat-seltext_m = 'DOCUMENT No.'.
w_fcat-tabname = 'WA_BSID'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 12.
w_fcat-fieldname = 'SHKZG'.
w_fcat-seltext_m = 'INDICATOR'.
w_fcat-tabname = 'WA_BSID'.
APPEND w_fcat TO t_fcat.
ENDFORM. " BUILD_FIELDCAT
FORM display_alv .
CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
it_fieldcat = t_fcat
i_tabname_header = c_bsad
i_tabname_item = c_bsid
is_keyinfo = w_keyinfo
TABLES
t_outtab_header = it_bsad
t_outtab_item = it_bsid.
ENDFORM. " DISPLAY_ALV
Regards
Purnand
‎2013 Mar 08 1:41 PM
Hi,
types: begin of ty_bsid,
burks type bukrs,
kunnr type kunnr,
budat type budat,
wrbtr type wrbtr,
belnr type belnr_d,
shkzg type SHKZG,
end of ty_bsid.
change the Burks to bukrs.
Modified code
*&---------------------------------------------------------------------*
*& Report ZTEST23
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZTEST23.
tables: bsad, bsid.
TYPE-POOLS: slis.
types: begin of ty_bsad,
bukrs type bukrs,
kunnr type kunnr,
budat type budat,
wrbtr type wrbtr,
belnr type belnr_d,
shkzg type SHKZG,
end of ty_bsad.
types: begin of ty_bsid,
bukrs type bukrs,
kunnr type kunnr,
budat type budat,
wrbtr type wrbtr,
belnr type belnr_d,
shkzg type SHKZG,
end of ty_bsid.
data: it_bsad type standard table of ty_bsad,
it_bsid type standard table of ty_bsid.
data: wa_bsad type standard table of ty_bsad,
wa_bsid type standard table of ty_bsid.
DATA: w_fcat TYPE slis_fieldcat_alv.
DATA: t_fcat TYPE slis_t_fieldcat_alv.
CONSTANTS: c_bsad TYPE slis_tabname VALUE 'WA_BSAD'.
CONSTANTS: c_bsid TYPE slis_tabname VALUE 'WA_BSID'.
DATA: w_keyinfo TYPE slis_keyinfo_alv.
select-options: s_bukrs for bsad-bukrs,
s_kunnr for bsad-kunnr.
select-options: s_date for bsad-budat.
start-of-selection.
break-point.
perform get_Data.
perform build_fieldcat.
perform display_alv.
form get_Data.
select bukrs
kunnr
budat
wrbtr
belnr
shkzg
from bsad
into table it_bsad
where bukrs in s_bukrs and kunnr in s_kunnr and budat in s_date.
select bukrs
kunnr
budat
wrbtr
belnr
shkzg
from bsid
into table it_bsid
where bukrs in s_bukrs and kunnr in s_kunnr and budat in s_date.
endform.
FORM build_fieldcat .
w_keyinfo-header01 = 'BUKRS'.
w_keyinfo-item01 = 'BUKRS'.
*&---------------------------------------------------------------------*
w_fcat-col_pos = 1.
w_fcat-fieldname = 'BUKRS'.
w_fcat-seltext_m = 'COMPANY CODE'.
w_fcat-tabname = 'WA_BSAD'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 2.
w_fcat-fieldname = 'KUNNR'.
w_fcat-seltext_m = 'CUSTOMER No.'.
w_fcat-tabname = 'WA_BSAD'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 3.
w_fcat-fieldname = 'BUDAT'.
w_fcat-seltext_m = 'POSTING DATE'.
w_fcat-tabname = 'WA_BSAD'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 4.
w_fcat-fieldname = 'WRBTR'.
w_fcat-seltext_l = 'AMOUNT'.
w_fcat-tabname = 'WA_BSAD'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 5.
w_fcat-fieldname = 'BELNR'.
w_fcat-seltext_m = 'DOCUMENT No.'.
w_fcat-tabname = 'WA_BSAD'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 6.
w_fcat-fieldname = 'SHKZG'.
w_fcat-seltext_m = 'INDICATOR'.
w_fcat-tabname = 'WA_BSAD'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 7.
w_fcat-fieldname = 'BUKRS'.
w_fcat-seltext_m = 'COMPANY CODE'.
w_fcat-tabname = 'WA_BSID'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 8.
w_fcat-fieldname = 'KUNNR'.
w_fcat-seltext_m = 'CUSTOMER No.'.
w_fcat-tabname = 'WA_BSID'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 9.
w_fcat-fieldname = 'BUDAT'.
w_fcat-seltext_m = 'POSTING DATE'.
w_fcat-tabname = 'WA_BSID'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 10.
w_fcat-fieldname = 'WRBTR'.
w_fcat-seltext_l = 'AMOUNT'.
w_fcat-tabname = 'WA_BSID'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 11.
w_fcat-fieldname = 'BELNR'.
w_fcat-seltext_m = 'DOCUMENT No.'.
w_fcat-tabname = 'WA_BSID'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 12.
w_fcat-fieldname = 'SHKZG'.
w_fcat-seltext_m = 'INDICATOR'.
w_fcat-tabname = 'WA_BSID'.
APPEND w_fcat TO t_fcat.
ENDFORM. " BUILD_FIELDCAT
FORM display_alv .
CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
it_fieldcat = t_fcat
i_tabname_header = c_bsad
i_tabname_item = c_bsid
is_keyinfo = w_keyinfo
TABLES
t_outtab_header = it_bsad
t_outtab_item = it_bsid.
ENDFORM. " DISPLAY_ALV
Regards,
Suman
‎2013 Mar 08 1:41 PM
Hi,
types: begin of ty_bsid,
burks type bukrs,
kunnr type kunnr,
budat type budat,
wrbtr type wrbtr,
belnr type belnr_d,
shkzg type SHKZG,
end of ty_bsid.
change the Burks to bukrs.
Modified code
*&---------------------------------------------------------------------*
*& Report ZTEST23
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZTEST23.
tables: bsad, bsid.
TYPE-POOLS: slis.
types: begin of ty_bsad,
bukrs type bukrs,
kunnr type kunnr,
budat type budat,
wrbtr type wrbtr,
belnr type belnr_d,
shkzg type SHKZG,
end of ty_bsad.
types: begin of ty_bsid,
bukrs type bukrs,
kunnr type kunnr,
budat type budat,
wrbtr type wrbtr,
belnr type belnr_d,
shkzg type SHKZG,
end of ty_bsid.
data: it_bsad type standard table of ty_bsad,
it_bsid type standard table of ty_bsid.
data: wa_bsad type standard table of ty_bsad,
wa_bsid type standard table of ty_bsid.
DATA: w_fcat TYPE slis_fieldcat_alv.
DATA: t_fcat TYPE slis_t_fieldcat_alv.
CONSTANTS: c_bsad TYPE slis_tabname VALUE 'WA_BSAD'.
CONSTANTS: c_bsid TYPE slis_tabname VALUE 'WA_BSID'.
DATA: w_keyinfo TYPE slis_keyinfo_alv.
select-options: s_bukrs for bsad-bukrs,
s_kunnr for bsad-kunnr.
select-options: s_date for bsad-budat.
start-of-selection.
break-point.
perform get_Data.
perform build_fieldcat.
perform display_alv.
form get_Data.
select bukrs
kunnr
budat
wrbtr
belnr
shkzg
from bsad
into table it_bsad
where bukrs in s_bukrs and kunnr in s_kunnr and budat in s_date.
select bukrs
kunnr
budat
wrbtr
belnr
shkzg
from bsid
into table it_bsid
where bukrs in s_bukrs and kunnr in s_kunnr and budat in s_date.
endform.
FORM build_fieldcat .
w_keyinfo-header01 = 'BUKRS'.
w_keyinfo-item01 = 'BUKRS'.
*&---------------------------------------------------------------------*
w_fcat-col_pos = 1.
w_fcat-fieldname = 'BUKRS'.
w_fcat-seltext_m = 'COMPANY CODE'.
w_fcat-tabname = 'WA_BSAD'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 2.
w_fcat-fieldname = 'KUNNR'.
w_fcat-seltext_m = 'CUSTOMER No.'.
w_fcat-tabname = 'WA_BSAD'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 3.
w_fcat-fieldname = 'BUDAT'.
w_fcat-seltext_m = 'POSTING DATE'.
w_fcat-tabname = 'WA_BSAD'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 4.
w_fcat-fieldname = 'WRBTR'.
w_fcat-seltext_l = 'AMOUNT'.
w_fcat-tabname = 'WA_BSAD'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 5.
w_fcat-fieldname = 'BELNR'.
w_fcat-seltext_m = 'DOCUMENT No.'.
w_fcat-tabname = 'WA_BSAD'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 6.
w_fcat-fieldname = 'SHKZG'.
w_fcat-seltext_m = 'INDICATOR'.
w_fcat-tabname = 'WA_BSAD'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 7.
w_fcat-fieldname = 'BUKRS'.
w_fcat-seltext_m = 'COMPANY CODE'.
w_fcat-tabname = 'WA_BSID'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 8.
w_fcat-fieldname = 'KUNNR'.
w_fcat-seltext_m = 'CUSTOMER No.'.
w_fcat-tabname = 'WA_BSID'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 9.
w_fcat-fieldname = 'BUDAT'.
w_fcat-seltext_m = 'POSTING DATE'.
w_fcat-tabname = 'WA_BSID'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 10.
w_fcat-fieldname = 'WRBTR'.
w_fcat-seltext_l = 'AMOUNT'.
w_fcat-tabname = 'WA_BSID'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 11.
w_fcat-fieldname = 'BELNR'.
w_fcat-seltext_m = 'DOCUMENT No.'.
w_fcat-tabname = 'WA_BSID'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 12.
w_fcat-fieldname = 'SHKZG'.
w_fcat-seltext_m = 'INDICATOR'.
w_fcat-tabname = 'WA_BSID'.
APPEND w_fcat TO t_fcat.
ENDFORM. " BUILD_FIELDCAT
FORM display_alv .
CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
it_fieldcat = t_fcat
i_tabname_header = c_bsad
i_tabname_item = c_bsid
is_keyinfo = w_keyinfo
TABLES
t_outtab_header = it_bsad
t_outtab_item = it_bsid.
ENDFORM. " DISPLAY_ALV
Regards,
Suman
‎2013 Mar 09 5:30 AM
Hi,
I appreciate your reply. It was really a helpful answer.
Regards
Purnand
‎2013 Mar 09 5:29 AM
Hi,
The output is completely unexpected. I fail to understand why.
tables: bsad, bsid.
TYPE-POOLS: slis.
types: begin of ty_bsad,
bukrs type bukrs,
kunnr type kunnr,
budat type budat,
wrbtr type wrbtr,
belnr type belnr_d,
shkzg type SHKZG,
end of ty_bsad.
types: begin of ty_bsid,
bukrs type bukrs,
kunnr type kunnr,
budat type budat,
wrbtr type wrbtr,
belnr type belnr_d,
shkzg type SHKZG,
end of ty_bsid.
data: it_bsad type standard table of ty_bsad,
it_bsid type standard table of ty_bsid.
data: wa_bsad type ty_bsad,
wa_bsid type ty_bsid.
DATA: w_fcat TYPE slis_fieldcat_alv.
DATA: t_fcat TYPE slis_t_fieldcat_alv.
CONSTANTS: c_bsad TYPE slis_tabname VALUE 'WA_BSAD'.
CONSTANTS: c_bsid TYPE slis_tabname VALUE 'WA_BSID'.
DATA: w_keyinfo TYPE slis_keyinfo_alv.
select-options: s_bukrs for bsad-bukrs,
s_kunnr for bsad-kunnr.
select-options: s_date for bsad-budat.
start-of-selection.
break-point.
perform get_Data.
perform build_fieldcat.
perform display_alv.
FORM display_alv .
CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
it_fieldcat = t_fcat
i_tabname_header = c_bsad
i_tabname_item = c_bsid
is_keyinfo = w_keyinfo
TABLES
t_outtab_header = it_bsad
t_outtab_item = it_bsid.
ENDFORM. " DISPLAY_ALV
form get_Data.
select bukrs
kunnr
budat
wrbtr
belnr
shkzg
from bsad
into table it_bsad
where bukrs in s_bukrs and kunnr in s_kunnr and budat in s_date.
select bukrs
kunnr
budat
wrbtr
belnr
shkzg
into table it_bsid
from bsid
* for all entries in it_bsad
* where bukrs = it_bsad-bukrs and kunnr = it_bsad-kunnr and budat =
*it_bsad-budat.
where bukrs in s_bukrs and kunnr in s_kunnr and budat in s_date.
endform.
FORM build_fieldcat .
w_keyinfo-header01 = 'BUKRS'.
w_keyinfo-item01 = 'BUKRS'.
* w_keyinfo-header01 = 'KUNNR'.
* w_keyinfo-item01 = 'KUNNR'.
*&---------------------------------------------------------------------*
w_fcat-col_pos = 1.
w_fcat-fieldname = 'BUKRS'.
w_fcat-seltext_m = 'COMPANY CODE'.
w_fcat-tabname = 'WA_BSAD'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 2.
w_fcat-fieldname = 'KUNNR'.
w_fcat-seltext_m = 'CUSTOMER No.'.
w_fcat-tabname = 'WA_BSAD'.
w_fcat-outputlen = 15.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 3.
w_fcat-fieldname = 'BUDAT'.
w_fcat-seltext_m = 'POSTING DATE'.
w_fcat-tabname = 'WA_BSAD'.
w_fcat-outputlen = 15.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 4.
w_fcat-fieldname = 'WRBTR'.
w_fcat-seltext_l = 'AMOUNT'.
w_fcat-tabname = 'WA_BSAD'.
w_fcat-outputlen = 10.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 5.
w_fcat-fieldname = 'BELNR'.
w_fcat-seltext_m = 'DOCUMENT No.'.
w_fcat-tabname = 'WA_BSAD'.
w_fcat-outputlen = 10.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 6.
w_fcat-fieldname = 'SHKZG'.
w_fcat-seltext_m = 'INDICATOR'.
w_fcat-tabname = 'WA_BSAD'.
w_fcat-outputlen = 10.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 7.
w_fcat-fieldname = 'BUKRS'.
w_fcat-seltext_m = 'COMPANY CODE'.
w_fcat-tabname = 'WA_BSID'.
w_fcat-outputlen = 10.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 8.
w_fcat-fieldname = 'KUNNR'.
w_fcat-seltext_m = 'CUSTOMER No.'.
w_fcat-tabname = 'WA_BSID'.
w_fcat-outputlen = 10.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 9.
w_fcat-fieldname = 'BUDAT'.
w_fcat-seltext_m = 'POSTING DATE'.
w_fcat-tabname = 'WA_BSID'.
w_fcat-outputlen = 15.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 10.
w_fcat-fieldname = 'WRBTR'.
w_fcat-seltext_l = 'AMOUNT'.
w_fcat-tabname = 'WA_BSID'.
w_fcat-outputlen = 10.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 11.
w_fcat-fieldname = 'BELNR'.
w_fcat-seltext_m = 'DOCUMENT No.'.
w_fcat-tabname = 'WA_BSID'.
w_fcat-outputlen = 10.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 12.
w_fcat-fieldname = 'SHKZG'.
w_fcat-seltext_m = 'INDICATOR'.
w_fcat-tabname = 'WA_BSID'.
w_fcat-outputlen = 10.
APPEND w_fcat TO t_fcat.
ENDFORM. " BUILD_FIELDCAT
Why it is coming 17 times?
‎2013 Mar 09 12:47 PM
‎2013 Mar 09 2:59 PM
Hi Raymond,
Thank you for the response. I referred another program with the same FM.
w_keyinfo-header01 = 'BUKRS'.
w_keyinfo-item01 = 'BUKRS'.
In the other program, they used the primary keys and so I did. The values are coming fine but why repeating.. Actually I thought I have to put key as its name suggests, so I have put. Please suggest where I am lacking.
Regards
Purnand
‎2013 Mar 10 11:42 AM
That is normal, actually YOU asked the program to display every item of second table with the same company code that current line in fist table.
What is your exact purpose, as BSID and BSAD are account document item table for customer, they are at same level, no hierarchical hierarchy between them. Usually their records are merged in a single internal table, with an icon appended for status cleared or not. A header would be customer (KNB1+KNA1) if hierarchical display actually required ?
Regards,
Raymond
‎2013 Mar 10 4:02 PM
Hi,
Thank you for the reply. I have to create the ALV hierarchical report with these 2 tables. Functional guys want the output of both the tables in one report.
The functional of coding you are telling is correct but I don't want that. Both the tables would have same number of records. Like in my case there are 17 records, I want the output of 17 records of bsad and bsid.
But the above report is showing 17*17 times.
Regards
Purnand
‎2013 Mar 10 6:08 PM
‎2013 Mar 11 4:49 AM
Hi,
Thank you for your precious time.
I want the format in the following form:
The functional consultant showed these 2 report outputs and told me to create like this. I checked their codings. They have used 'REUSE_ALV_HIERSEQ_LIST_DISPLAY' FM.
I checked the sample code and tried to create of my own but the output got ruined. Can you please help me?
‎2013 Mar 12 12:08 PM
Hi,
I changed the FM to reuse_alv_grid_display since there is no header and item relationship between bsad and bsid. Thank you for your valuable time.
Regards
Purnand
‎2013 Mar 09 6:27 AM
‎2013 Mar 10 10:44 AM
‎2013 Mar 11 9:38 AM
Hi,
The table IT_BSAD contains 17 records and IT_BSID contains 17 records. Whereas if you want to have only one header and 17 records corresponding to that header, then you have only one single record which will only contain WA_BSAD-BUKRS & WA_BSAD-KUNNR as header records. As there are 17 records all with different BELNR so it is displaying the records 17 * 17 times. In simple terms Header record will have all the fields which have the same values for all 17 records.
Also place a breakpoint at function module REUSE_ALV_HIERSEQ_LIST_DISPLAY and check the records in IT_BSAD & IT_BSID which will give you more clarity.
Hope this helps.
Thanks,
Tooshar Bendale
‎2013 Mar 11 9:40 AM
Hi,
The table IT_BSAD contains 17 records and IT_BSID contains 17 records. Whereas if you want to have only one header and 17 records corresponding to that header, then you have only one single record which will only contain WA_BSAD-BUKRS & WA_BSAD-KUNNR as header records. As there are 17 records all with different BELNR so it is displaying the records 17 * 17 times. In simple terms Header record will have all the fields which have the same values for all 17 records.
Also place a breakpoint at function module REUSE_ALV_HIERSEQ_LIST_DISPLAY and check the records in IT_BSAD & IT_BSID which will give you more clarity.
Hope this helps.
Thanks,
Tooshar Bendale
‎2013 Mar 12 7:31 AM
Hi,
Please check this code if it is helpful.
REPORT ztest23.
TABLES: bsad, bsid.
TYPE-POOLS: slis.
TYPES: BEGIN OF ty_bsad,
bukrs TYPE bukrs,
kunnr TYPE kunnr,
budat TYPE budat,
wrbtr TYPE wrbtr,
belnr TYPE belnr_d,
shkzg TYPE shkzg,
END OF ty_bsad.
TYPES: BEGIN OF ty_bsid,
bukrs TYPE bukrs,
kunnr TYPE kunnr,
budat TYPE budat,
wrbtr TYPE wrbtr,
belnr TYPE belnr_d,
shkzg TYPE shkzg,
END OF ty_bsid.
DATA: it_bsad TYPE STANDARD TABLE OF ty_bsad,
it_bsid TYPE STANDARD TABLE OF ty_bsid.
DATA: wa_bsad TYPE STANDARD TABLE OF ty_bsad,
wa_bsid TYPE STANDARD TABLE OF ty_bsid.
DATA: w_fcat TYPE slis_fieldcat_alv.
DATA: t_fcat TYPE slis_t_fieldcat_alv.
CONSTANTS: c_bsad TYPE slis_tabname VALUE 'WA_BSAD'.
CONSTANTS: c_bsid TYPE slis_tabname VALUE 'WA_BSID'.
DATA: w_keyinfo TYPE slis_keyinfo_alv.
SELECT-OPTIONS: s_bukrs FOR bsad-bukrs,
s_kunnr FOR bsad-kunnr.
SELECT-OPTIONS: s_date FOR bsad-budat.
START-OF-SELECTION.
* BREAK-POINT.
PERFORM get_data.
PERFORM build_fieldcat.
PERFORM display_alv.
*&---------------------------------------------------------------------*
*& Form get_Data
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM get_data.
SELECT bukrs
kunnr
budat
wrbtr
belnr
shkzg
FROM bsad
INTO TABLE it_bsad
WHERE bukrs IN s_bukrs AND kunnr IN s_kunnr AND budat IN s_date.
IF sy-subrc EQ 0.
SORT it_bsad BY bukrs kunnr.
SELECT bukrs
kunnr
budat
wrbtr
belnr
shkzg
FROM bsid
INTO TABLE it_bsid
FOR ALL ENTRIES IN it_bsad
WHERE bukrs = it_bsad-bukrs and kunnr = it_bsad-kunnr.
IF sy-subrc EQ 0.
SORT it_bsid BY bukrs.
DELETE ADJACENT DUPLICATES FROM it_bsad COMPARING bukrs.
ENDIF.
ENDIF.
ENDFORM. "get_Data
*&---------------------------------------------------------------------*
*& Form build_fieldcat
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM build_fieldcat .
w_keyinfo-header01 = 'BUKRS'.
w_keyinfo-item01 = 'BUKRS'.
*&---------------------------------------------------------------------*
w_fcat-col_pos = 1.
w_fcat-fieldname = 'BUKRS'.
w_fcat-seltext_m = 'COMPANY CODE'.
w_fcat-tabname = 'WA_BSAD'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 2.
w_fcat-fieldname = 'KUNNR'.
w_fcat-seltext_m = 'CUSTOMER No.'.
w_fcat-tabname = 'WA_BSID'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 3.
w_fcat-fieldname = 'BUDAT'.
w_fcat-seltext_m = 'POSTING DATE'.
w_fcat-tabname = 'WA_BSID'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 4.
w_fcat-fieldname = 'WRBTR'.
w_fcat-seltext_l = 'AMOUNT'.
w_fcat-tabname = 'WA_BSID'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 5.
w_fcat-fieldname = 'BELNR'.
w_fcat-seltext_m = 'DOCUMENT No.'.
w_fcat-tabname = 'WA_BSID'.
APPEND w_fcat TO t_fcat.
w_fcat-col_pos = 6.
w_fcat-fieldname = 'SHKZG'.
w_fcat-seltext_m = 'INDICATOR'.
w_fcat-tabname = 'WA_BSID'.
APPEND w_fcat TO t_fcat.
* w_fcat-col_pos = 7.
*
*
* w_fcat-fieldname = 'BUKRS'.
*
* w_fcat-seltext_m = 'COMPANY CODE'.
*
* w_fcat-tabname = 'WA_BSID'.
*
* APPEND w_fcat TO t_fcat.
*
*
* w_fcat-col_pos = 8.
*
* w_fcat-fieldname = 'KUNNR'.
*
* w_fcat-seltext_m = 'CUSTOMER No.'.
*
* w_fcat-tabname = 'WA_BSID'.
*
* APPEND w_fcat TO t_fcat.
*
*
* w_fcat-col_pos = 9.
*
* w_fcat-fieldname = 'BUDAT'.
*
* w_fcat-seltext_m = 'POSTING DATE'.
*
* w_fcat-tabname = 'WA_BSID'.
*
* APPEND w_fcat TO t_fcat.
*
*
* w_fcat-col_pos = 10.
*
* w_fcat-fieldname = 'WRBTR'.
*
* w_fcat-seltext_l = 'AMOUNT'.
*
* w_fcat-tabname = 'WA_BSID'.
*
* APPEND w_fcat TO t_fcat.
*
*
* w_fcat-col_pos = 11.
*
* w_fcat-fieldname = 'BELNR'.
*
* w_fcat-seltext_m = 'DOCUMENT No.'.
*
* w_fcat-tabname = 'WA_BSID'.
*
* APPEND w_fcat TO t_fcat.
*
*
* w_fcat-col_pos = 12.
*
* w_fcat-fieldname = 'SHKZG'.
*
* w_fcat-seltext_m = 'INDICATOR'.
*
* w_fcat-tabname = 'WA_BSID'.
*
* APPEND w_fcat TO t_fcat.
ENDFORM. " BUILD_FIELDCAT
*&---------------------------------------------------------------------*
*& Form display_alv
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM display_alv .
CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
it_fieldcat = t_fcat
i_tabname_header = c_bsad
i_tabname_item = c_bsid
is_keyinfo = w_keyinfo
TABLES
t_outtab_header = it_bsad
t_outtab_item = it_bsid.
ENDFORM. " DISPLAY_ALV
Regards,
Suman