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

alv prob

Former Member
0 Likes
1,337

hi,

i am writing a prog in abaphr which displays the list in alv.

i declared everything

but data is not displaying in alv

could some one tell me where could be the problem

thanx

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,299

hi vidya,

its just above the 'form alv'

hi,

i am writing a prog in abaphr which displays the list in alv.

i declared everything

but data is not displaying in alv

could some one tell me where could be the problem

thanx

9 REPLIES 9
Read only

Former Member
0 Likes
1,299

Hi sandeep,

1. there might be minor mistake in the code

2. just have a look at this.

3. just copy paste

4.

report abc.

*----


TYPE-POOLS : slis.

DATA : alvfc TYPE slis_t_fieldcat_alv.

DATA : alvfcwa TYPE slis_fieldcat_alv.

*----


data : begin of itab occurs 0.

include structure usr02.

data : end of itab.

*----


START-OF-SELECTION.

select * from usr02

into table itab.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

i_program_name = sy-repid

i_internal_tabname = 'ITAB'

i_inclname = sy-repid

CHANGING

ct_fieldcat = alvfc

EXCEPTIONS

inconsistent_interface = 1

program_error = 2

OTHERS = 3.

*----


IMPORTANT

LOOP AT ALVFC INTO ALVFCWA.

IF ALVFCWA-FIELDNAME = 'USTYP'.

ALVFCWA-NO_CONVEXT = 'X'.

MODIFY ALVFC FROM ALVFCWA.

ENDIF.

ENDLOOP.

*----


Display

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

it_fieldcat = alvfc

TABLES

t_outtab = itab

EXCEPTIONS

program_error = 1

OTHERS = 2.

regards,

amit m.

Read only

Former Member
0 Likes
1,299

hi amit,

thanx for the reply

can u pl have a luk at my code and tell me the mistake

REPORT: zhrrepo333 LINE-SIZE 255

LINE-COUNT 65

NO STANDARD PAGE HEADING.

TABLES : pernr,

pcl1,

pcl2.

INFOTYPES: 0007.

DATA: num TYPE pc261-seqnr,

dat1 TYPE pc261-paydt,

dat2 TYPE pc261-paydt.

TYPE-POOLS: SLIS.

DATA:

GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

gt_layout TYPE slis_layout_alv.

DATA: begin of itab occurs 0,

pernr like pernr-pernr,

sname like pernr-sname,

anzhl like pc207-anzhl,

bh_anzhl like pc207-anzhl,

bv_betrg like pc207-betrg,

eni like pc207-betrg,

overtv like pc208-betrg,

tot like pc207-betrg,

end of itab.

INCLUDE rpclst00.

INCLUDE rpc2rx09.

INCLUDE rpc2rxx0.

INCLUDE rpc2rgg0.

INCLUDE rpcfdcg0.

INCLUDE rpcdatg0.

INCLUDE rpc2cd00.

INCLUDE rpc2ps00.

INCLUDE rpc2pt00.

INCLUDE rpcfdc10.

INCLUDE rpcfdc00.

INCLUDE rpppxd00.

INCLUDE rpppxd10.

INCLUDE rpcfvp09.

INCLUDE rpcfvpg0.

INCLUDE rpppxm00.

START-OF-SELECTION.

PERFORM FIELDCAT_INIT USING GT_FIELDCAT[].

PERFORM bulid_layout.

GET pernr.

CALL FUNCTION 'CU_READ_RGDIR'

EXPORTING

persnr = pernr-pernr

  • BUFFER =

  • NO_AUTHORITY_CHECK = ' '

  • IMPORTING

  • MOLGA =

TABLES

in_rgdir = rgdir

  • EXCEPTIONS

  • NO_RECORD_FOUND = 1

  • OTHERS = 2

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

dat1 = '18000101'.

dat2 = '99991231'.

CALL FUNCTION 'CD_READ_LAST'

EXPORTING

begin_date = dat1

end_date = dat2

IMPORTING

out_seqnr = num

TABLES

rgdir = rgdir

EXCEPTIONS

no_record_found = 1

OTHERS = 2.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

rx-key-pernr = pernr-pernr.

rx-key-seqno = num.

rp-imp-c2-rg.

  • clear itab.

READ TABLE rgdir WITH KEY seqnr = num.

  • LOOP AT rt WHERE lgart = '1027'.

  • WRITE:/ pernr-pernr,pernr-sname,rt-anzhl,rt-betrg.

  • ENDLOOP.

read table rt with key lgart = '1027'.

  • WRITE:/ pernr-pernr,pernr-sname,rt-anzhl,rt-betrg.

itab-pernr = pernr-pernr.

itab-sname = pernr-sname.

itab-bh_anzhl = rt-anzhl.

itab-bv_betrg = rt-betrg.

  • LOOP AT rt WHERE lgart = '/852'.

  • WRITE: rt-anzhl.

  • ENDLOOP.

read table rt with key lgart = '/852'.

itab-anzhl = rt-anzhl.

  • LOOP AT rt WHERE lgart = '/301'.

  • WRITE: rt-betrg.

  • ENDLOOP.

read table rt with key lgart = '/301'.

itab-eni = rt-betrg.

  • LOOP AT crt where lgart = '1500'.

  • WRITE: CRT-BETRG.

  • ENDLOOP.

read table rt with key lgart = '2001'.

itab-overtv = rt-betrg.

  • LOOP AT rt where lgart = '/101'.

  • write: rt-betrg.

*

  • ENDLOOP.

read table rt with key lgart = '/101'.

itab-tot = rt-betrg.

APPEND itab.

&----


*& Form FIELDCAT_INIT

&----


  • text

----


  • -->RT_FIELDCATtext

----


FORM FIELDCAT_INIT

USING RT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.

DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.

DATA: POS TYPE I VALUE 1.

clear ls_fieldcat.

LS_FIELDCAT-COL_POS = POS.

LS_FIELDCAT-FIELDNAME = 'pernr'.

ls_fieldcat-seltext_m = 'Emp num'.

LS_FIELDCAT-KEY = 'X'.

APPEND LS_FIELDCAT TO RT_FIELDCAT.

clear ls_fieldcat.

POS = POS + 1.

LS_FIELDCAT-COL_POS = POS.

LS_FIELDCAT-FIELDNAME = 'sname'.

ls_fieldcat-seltext_m = 'Emp Name'.

APPEND LS_FIELDCAT TO RT_FIELDCAT.

clear ls_fieldcat.

POS = POS + 1.

LS_FIELDCAT-COL_POS = POS.

LS_FIELDCAT-FIELDNAME = 'anzhl'.

ls_fieldcat-seltext_m = 'Basic Hours'.

APPEND LS_FIELDCAT TO RT_FIELDCAT.

clear ls_fieldcat.

POS = POS + 1.

LS_FIELDCAT-COL_POS = POS.

LS_FIELDCAT-FIELDNAME = 'bh_anzhl'.

ls_fieldcat-seltext_m = 'Basic value'.

APPEND LS_FIELDCAT TO RT_FIELDCAT.

clear ls_fieldcat.

POS = POS + 1.

LS_FIELDCAT-COL_POS = POS.

LS_FIELDCAT-FIELDNAME = 'bv_betrg'.

ls_fieldcat-seltext_m = 'Overtime hours'.

APPEND LS_FIELDCAT TO RT_FIELDCAT.

clear ls_fieldcat.

POS = POS + 1.

LS_FIELDCAT-COL_POS = POS.

LS_FIELDCAT-FIELDNAME = ''.

ls_fieldcat-seltext_m = 'Overtime value'.

APPEND LS_FIELDCAT TO RT_FIELDCAT.

clear ls_fieldcat.

POS = POS + 1.

LS_FIELDCAT-COL_POS = POS.

LS_FIELDCAT-FIELDNAME = ''.

ls_fieldcat-seltext_m = 'Holiday value'.

APPEND LS_FIELDCAT TO RT_FIELDCAT.

clear ls_fieldcat.

POS = POS + 1.

LS_FIELDCAT-COL_POS = POS.

LS_FIELDCAT-FIELDNAME = ''.

ls_fieldcat-seltext_m = 'Sick value'.

APPEND LS_FIELDCAT TO RT_FIELDCAT.

clear ls_fieldcat.

POS = POS + 1.

LS_FIELDCAT-COL_POS = POS.

LS_FIELDCAT-FIELDNAME = ''.

ls_fieldcat-seltext_m = 'Other value'.

APPEND LS_FIELDCAT TO RT_FIELDCAT.

clear ls_fieldcat.

POS = POS + 1.

LS_FIELDCAT-COL_POS = POS.

LS_FIELDCAT-FIELDNAME = ''.

ls_fieldcat-seltext_m = 'NI Eer'.

APPEND LS_FIELDCAT TO RT_FIELDCAT.

clear ls_fieldcat.

POS = POS + 1.

LS_FIELDCAT-COL_POS = POS.

LS_FIELDCAT-FIELDNAME = ''.

ls_fieldcat-seltext_m = 'NI Employer'.

APPEND LS_FIELDCAT TO RT_FIELDCAT.

clear ls_fieldcat.

ENDFORM. "fieldcat_init

&----


*& Form bulid_layout

&----


  • text

----


FORM bulid_layout .

gt_layout-no_input = 'X'.

gt_layout-colwidth_optimize = 'X'.

ENDFORM. " bulid_layout

END-OF-SELECTION.

perform alv.

&----


*& Form alv

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM alv .

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

  • I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

IS_LAYOUT = gt_layout

IT_FIELDCAT = gt_fieldcat[]

TABLES

T_OUTTAB = itab.

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • OTHERS = 2

ENDFORM. " alv

Read only

Former Member
0 Likes
1,299

Hey,

Form alv

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM alv .

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

  • I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

IS_LAYOUT = gt_layout

IT_FIELDCAT = <b>gt_fieldcat</b>

TABLES

T_OUTTAB = itab.

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • OTHERS = 2

ENDFORM. " alv

regards,

vidya

Read only

0 Likes
1,299

Please make sure to capitalize all field names in your field catalog, also, you may see a problem with these columns as well, because you are not assigning a field name.



  clear ls_fieldcat.
  pos = pos + 1.
  ls_fieldcat-col_pos = pos.
  ls_fieldcat-fieldname = 'bv_betrg'.
  ls_fieldcat-seltext_m = 'Overtime hours'.
  append ls_fieldcat to rt_fieldcat.
  clear ls_fieldcat.
  pos = pos + 1.
  ls_fieldcat-col_pos = pos.
<b>  ls_fieldcat-fieldname = ''.</b>
  ls_fieldcat-seltext_m = 'Overtime value'.
  append ls_fieldcat to rt_fieldcat.
  clear ls_fieldcat.

  pos = pos + 1.
  ls_fieldcat-col_pos = pos.
<b>  ls_fieldcat-fieldname = ''.</b>
  ls_fieldcat-seltext_m = 'Holiday value'.
  append ls_fieldcat to rt_fieldcat.
  clear ls_fieldcat.

  pos = pos + 1.
  ls_fieldcat-col_pos = pos.
<b>  ls_fieldcat-fieldname = ''.</b>
  ls_fieldcat-seltext_m = 'Sick value'.
  append ls_fieldcat to rt_fieldcat.
  clear ls_fieldcat.

  pos = pos + 1.
  ls_fieldcat-col_pos = pos.
<b>  ls_fieldcat-fieldname = ''.</b>
  ls_fieldcat-seltext_m = 'Other value'.
  append ls_fieldcat to rt_fieldcat.
  clear ls_fieldcat.
  pos = pos + 1.
  ls_fieldcat-col_pos = pos.
<b>  ls_fieldcat-fieldname = ''.</b>
  ls_fieldcat-seltext_m = 'NI Eer'.
  append ls_fieldcat to rt_fieldcat.
  clear ls_fieldcat.

  pos = pos + 1.
<b>  ls_fieldcat-col_pos = pos.
  ls_fieldcat-fieldname = ''.</b>
  ls_fieldcat-seltext_m = 'NI Employer'.
  append ls_fieldcat to rt_fieldcat.
  clear ls_fieldcat.

Regards,

Rich Heilman

Read only

Former Member
0 Likes
1,300

hi vidya,

its just above the 'form alv'

Read only

0 Likes
1,299

hi sandeep,

LS_FIELDCAT-COL_POS = POS.

LS_FIELDCAT-FIELDNAME = <b>'PERNR'</b>.( IN CAPS)

ls_fieldcat-seltext_m = 'Emp num'.

LS_FIELDCAT-KEY = 'X'.

APPEND LS_FIELDCAT TO RT_FIELDCAT.

clear ls_fieldcat.

POS = POS + 1.

LS_FIELDCAT-COL_POS = POS.

LS_FIELDCAT-FIELDNAME = <b>'SNAME'.</b>

ls_fieldcat-seltext_m = 'Emp Name'.

APPEND LS_FIELDCAT TO RT_FIELDCAT.

clear ls_fieldcat.

POS = POS + 1.

LS_FIELDCAT-COL_POS = POS.

LS_FIELDCAT-FIELDNAME = 'ANZHL'.

ls_fieldcat-seltext_m = 'Basic Hours'.

APPEND LS_FIELDCAT TO RT_FIELDCAT.

clear ls_fieldcat.

POS = POS + 1.

LS_FIELDCAT-COL_POS = POS.

LS_FIELDCAT-FIELDNAME = <b>'BH_ANZHL'</b>.

ls_fieldcat-seltext_m = 'Basic value'.

APPEND LS_FIELDCAT TO RT_FIELDCAT.

clear ls_fieldcat.

POS = POS + 1.

LS_FIELDCAT-COL_POS = POS.

LS_FIELDCAT-FIELDNAME = 'bv_betrg'.

ls_fieldcat-seltext_m = 'Overtime hours'.

APPEND LS_FIELDCAT TO RT_FIELDCAT.

clear ls_fieldcat.

POS = POS + 1.

LS_FIELDCAT-COL_POS = POS.

LS_FIELDCAT-FIELDNAME = ''.

ls_fieldcat-seltext_m = 'Overtime value'.

APPEND LS_FIELDCAT TO RT_FIELDCAT.

clear ls_fieldcat.

POS = POS + 1.

LS_FIELDCAT-COL_POS = POS.

LS_FIELDCAT-FIELDNAME = ''.

ls_fieldcat-seltext_m = 'Holiday value'.

APPEND LS_FIELDCAT TO RT_FIELDCAT.

clear ls_fieldcat.

POS = POS + 1.

LS_FIELDCAT-COL_POS = POS.

LS_FIELDCAT-FIELDNAME = ''.

ls_fieldcat-seltext_m = 'Sick value'.

APPEND LS_FIELDCAT TO RT_FIELDCAT.

clear ls_fieldcat.

POS = POS + 1.

LS_FIELDCAT-COL_POS = POS.

LS_FIELDCAT-FIELDNAME = ''.

ls_fieldcat-seltext_m = 'Other value'.

APPEND LS_FIELDCAT TO RT_FIELDCAT.

clear ls_fieldcat.

POS = POS + 1.

LS_FIELDCAT-COL_POS = POS.

LS_FIELDCAT-FIELDNAME = ''.

ls_fieldcat-seltext_m = 'NI Eer'.

APPEND LS_FIELDCAT TO RT_FIELDCAT.

clear ls_fieldcat.

POS = POS + 1.

LS_FIELDCAT-COL_POS = POS.

LS_FIELDCAT-FIELDNAME = ''.

ls_fieldcat-seltext_m = 'NI Employer'.

APPEND LS_FIELDCAT TO RT_FIELDCAT.

clear ls_fieldcat.

ENDFORM. "fieldcat_init

.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

  • I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

IS_LAYOUT = gt_layout

IT_FIELDCAT = gt_fieldcat

TABLES

T_OUTTAB = itab.

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • OTHERS = 2

OK GOT IT

THANX RICH

Message was edited by: Priya

Message was edited by: Priya

Read only

0 Likes
1,299

Priya, here is passing the fieldcat thru the signature of the FORM, so RT_FIELDCAT refers to GT_FIELDCAT.

Regards,

Rich Heilman

Read only

Former Member
0 Likes
1,299

THANX priya

solved it

Read only

Former Member
0 Likes
1,299

hi again,

1. just add these 4 lines (bold)

and it will work fine.

2.

FORM alv .

<b> DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.</b>

<b>*----


IMPORTANT UPPER CASE

LOOP AT GT_FIELDCAT INTO LS_FIELDCAT.

TRANSLATE LS_FIELDCAT-FIELDNAME TO UPPER CASE.

MODIFY GT_FIELDCAT FROM LS_fIELDCAT.

ENDLOOP.</b>

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

  • I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

IS_LAYOUT = gt_layout

IT_FIELDCAT = gt_fieldcat[]

TABLES

T_OUTTAB = itab.

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • OTHERS = 2

ENDFORM. " alv

regards,

amit m.