cancel
Showing results for 
Search instead for 
Did you mean: 

How to create ALV report with List Display?

0 Kudos

I am trying to create an ALV report with list display but some of the contents are not displaying in the output list. I created a classical report and an ALV report with grid display and I was successful. But this list display is creating a problem.

I've included the REUSE_ALV_LIST_DISPLAY function, with the right internal table name. I've debugged and all my data is coming in the final internal table correctly but it is not displaying in output list:

REPORT zinr_prs_dt_al.
TABLES: zint_prs_tm, zint_prs_mst, zint_dsg_mst, zint_qual_mst.

TYPE-POOLS slis.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS emp_code FOR zint_prs_tm-zzemp_cd OBLIGATORY.
SELECT-OPTIONS date FOR zint_prs_tm-zzdt OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b1.

TYPES: BEGIN OF ty_final,
zzemp_cd TYPE zint_prs_tm-zzemp_cd,
zzdt TYPE zint_prs_tm-zzdt,
zzintime TYPE zint_prs_tm-zzintime,
zzoutime TYPE zint_prs_tm-zzoutime,
zzfirst_nm TYPE zint_prs_mst-zzfirst_nm,
zzlast_nm TYPE zint_prs_mst-zzlast_nm,
zzint_de_dsg_cd TYPE zint_prs_mst-zzint_de_dsg_cd,
zzdesc TYPE zint_dsg_mst-zzdesc,
zzql TYPE zint_prs_mst-zzql,
zzpl TYPE zint_prs_mst-zzpl,
zzsl TYPE zint_prs_mst-zzsl,

END OF ty_final.
DATA: wa_f TYPE ty_final,
it_f TYPE TABLE OF ty_final,
it_fcat TYPE slis_t_fieldcat_alv,
wa_fcat LIKE LINE OF it_fcat,
l_layout TYPE slis_layout_alv.


TYPES : BEGIN OF ty_zint_prs_tm,
zzemp_cd TYPE zint_prs_tm-zzemp_cd,
zzdt TYPE zint_prs_tm-zzdt,
zzintime TYPE zint_prs_tm-zzintime,
zzoutime TYPE zint_prs_tm-zzoutime,
END OF ty_zint_prs_tm.
DATA: wa1 TYPE ty_zint_prs_tm,
it1 TYPE TABLE OF ty_zint_prs_tm.

TYPES : BEGIN OF ty_zint_prs_mst,
zzemp_cd TYPE zint_prs_mst-zzemp_cd,
zzfirst_nm TYPE zint_prs_mst-zzfirst_nm,
zzlast_nm TYPE zint_prs_mst-zzlast_nm,
zzint_de_dsg_cd TYPE zint_prs_mst-zzint_de_dsg_cd,
zzql TYPE zint_prs_mst-zzql,
zzpl TYPE zint_prs_mst-zzpl,
zzsl TYPE zint_prs_mst-zzsl,
END OF ty_zint_prs_mst.
DATA: wa2 TYPE ty_zint_prs_mst,
it2 TYPE TABLE OF ty_zint_prs_mst.

TYPES: BEGIN OF ty_zint_dsg_mst,
zzdesc TYPE zint_dsg_mst-zzdesc,
zzdsg TYPE zint_dsg_mst-zzdsg,
END OF ty_zint_dsg_mst.
DATA: wa3 TYPE ty_zint_dsg_mst,
it3 TYPE TABLE OF ty_zint_dsg_mst.


TYPES: BEGIN OF ty_zint_qual_mst,
zzdesc TYPE zint_qual_mst-zzdesc,
END OF ty_zint_qual_mst.
DATA: wa4 TYPE ty_zint_qual_mst,
it4 TYPE TABLE OF ty_zint_qual_mst.

START-OF-SELECTION.

SELECT zzemp_cd zzdt zzintime zzoutime FROM zint_prs_tm INTO TABLE it1
WHERE zzemp_cd IN emp_code
AND zzdt IN date.

IF it1 IS NOT INITIAL.

SELECT
zzemp_cd
zzfirst_nm
zzlast_nm
zzint_de_dsg_cd
zzql
zzpl
zzsl
FROM zint_prs_mst INTO TABLE it2
FOR ALL ENTRIES IN it1
WHERE zzemp_cd = it1-zzemp_cd.

IF it2 IS NOT INITIAL.
SELECT zzdesc zzdsg FROM zint_dsg_mst INTO TABLE it3
FOR ALL ENTRIES IN it2
WHERE zzdsg = it2-zzint_de_dsg_cd.
ENDIF.

ENDIF.

END-OF-SELECTION.


LOOP AT it1 INTO wa1.
wa_f-zzemp_cd = wa1-zzemp_cd.
wa_f-zzdt = wa1-zzdt.
wa_f-zzintime = wa1-zzintime.
wa_f-zzoutime = wa1-zzoutime.

READ TABLE it2 INTO wa2 WITH KEY zzemp_cd = wa1-zzemp_cd.
IF sy-subrc = 0.
wa_f-zzfirst_nm = wa2-zzfirst_nm.
wa_f-zzlast_nm = wa2-zzlast_nm.
wa_f-zzint_de_dsg_cd = wa2-zzint_de_dsg_cd.
wa_f-zzql = wa2-zzql.
wa_f-zzpl = wa2-zzpl.
wa_f-zzsl = wa2-zzsl.

READ TABLE it3 INTO wa3 WITH KEY zzdsg = wa2-zzint_de_dsg_cd.
IF sy-subrc = 0.
wa_f-zzdesc = wa3-zzdesc.

ENDIF.
APPEND wa_f TO it_f.
CLEAR: wa_f, wa3, wa2, wa1.
ENDIF.


ENDLOOP.

wa_fcat-tabname = 'ZINT_PRS_TM'.
wa_fcat-fieldname = 'ZZEMP_CD'.
wa_fcat-seltext_l = 'Employee Code'.
wa_fcat-col_pos = '1'.
wa_fcat-outputlen = '20'.
APPEND wa_fcat TO it_fcat.
CLEAR :wa_fcat.

wa_fcat-tabname = 'ZINT_PRS_TM'.
wa_fcat-fieldname = 'ZZDT'.
wa_fcat-seltext_l = 'Record Date'.
wa_fcat-col_pos = '2'.
wa_fcat-outputlen = '20'.
APPEND wa_fcat TO it_fcat.
CLEAR :wa_fcat.

wa_fcat-tabname = 'ZINT_PRS_TM'.
wa_fcat-fieldname = 'ZZINTIME'.
wa_fcat-seltext_l = 'IN Time'.
wa_fcat-col_pos = '3'.
wa_fcat-outputlen = '20'.
APPEND wa_fcat TO it_fcat.
CLEAR :wa_fcat.

wa_fcat-tabname = 'ZINT_PRS_TM'.
wa_fcat-fieldname = 'ZZOUTIME'.
wa_fcat-seltext_l = 'OUT Time'.
wa_fcat-col_pos = '4'.
wa_fcat-outputlen = '20'.
APPEND wa_fcat TO it_fcat.
CLEAR :wa_fcat.

wa_fcat-tabname = 'ZINT_PRS_MST'.
wa_fcat-fieldname = 'ZZFIRST_NM'.
wa_fcat-seltext_l = 'First Name'.
wa_fcat-col_pos = '5'.
wa_fcat-outputlen = '30'.
APPEND wa_fcat TO it_fcat.
CLEAR :wa_fcat.

wa_fcat-tabname = 'ZINT_PRS_MST'.
wa_fcat-fieldname = 'ZZLAST_NM'.
wa_fcat-seltext_l = 'Last Name'.
wa_fcat-col_pos = '6'.
wa_fcat-outputlen = '30'.
APPEND wa_fcat TO it_fcat.
CLEAR :wa_fcat.

wa_fcat-tabname = 'ZINT_PRS_MST'.
wa_fcat-fieldname = 'ZZINT_DE_DSG_CD'.
wa_fcat-seltext_l = 'Designation Code'.
wa_fcat-col_pos = '7'.
wa_fcat-outputlen = '30'.
APPEND wa_fcat TO it_fcat.
CLEAR :wa_fcat.

wa_fcat-tabname = 'ZINT_DSG_MST'.
wa_fcat-fieldname = 'ZZDESC'.
wa_fcat-seltext_l = 'Description'.
wa_fcat-col_pos = '8'.
wa_fcat-outputlen = '30'.
APPEND wa_fcat TO it_fcat.
CLEAR :wa_fcat.

wa_fcat-tabname = 'ZINT_PRS_MST'.
wa_fcat-fieldname = 'ZZQL'.
wa_fcat-seltext_l = 'Qualifiaction Code'.
wa_fcat-col_pos = '9'.
wa_fcat-outputlen = '25'.
APPEND wa_fcat TO it_fcat.
CLEAR :wa_fcat.

wa_fcat-tabname = 'ZINT_PRS_MST'.
wa_fcat-fieldname = 'ZZPL'.
wa_fcat-seltext_l = 'Paid Leave'.
wa_fcat-col_pos = '10'.
wa_fcat-outputlen = '20'.
APPEND wa_fcat TO it_fcat.
CLEAR :wa_fcat.

wa_fcat-tabname = 'ZINT_PRS_MST'.
wa_fcat-fieldname = 'ZZSL'.
wa_fcat-seltext_l = 'Sick Leave'.
wa_fcat-col_pos = '11'.
wa_fcat-outputlen = '20'.
APPEND wa_fcat TO it_fcat.
CLEAR :wa_fcat.

CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
it_fieldcat = it_fcat
i_structure_name = 'it_f'
TABLES
t_outtab = it_f.

Accepted Solutions (0)

Answers (0)