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

PROBLEM IN ALV

Former Member
0 Likes
1,286

HI,

im not able to get the interactive list ..im attaching the code for this..pls have a look.

report demo.

type-pools:slis.

tables: bsid.

data: gv_fcat type slis_t_fieldcat_alv.

----


  • T Y P E D E C L A R A T I O N S *

----


types: begin of ty_s_output,

belnr type bsid-belnr,

buzei type bsid-buzei,

budat type bsid-budat,

wrbtr type bsid-wrbtr,

waers type bsid-waers,

end of ty_s_output,

ty_t_ouput type standard table of ty_s_output with key belnr.

----


  • G L O B A L D A T A D E C L A R A T I O N S *

----


data: gt_fieldcat type slis_t_fieldcat_alv,

gt_output type ty_t_ouput,

gt_repid like sy-repid.

----


  • S E L E C T I O N S C R E E N *

----


selection-screen begin of block b1.

parameters: p_bukrs type bsid-bukrs,

p_kunnr like bsid-kunnr.

select-options: s_budat for bsid-budat,

s_bschl for bsid-bschl.

selection-screen end of block b1.

----


  • A T S E L E C T I O N S C R E E N *

----


----


  • S T A R T O F S E L E C T I O N *

----


PERFORM fill_output_table.

----


  • E N D O F S E L E C T I O N *

----


END-OF-SELECTION.

IF gt_output IS INITIAL.

  • Display 'No records found for the selection criteria'.

MESSAGE E001 WITH 'NO RECORDS FOUND FOR THE SPECIFIED CRITERIA'.

ELSE.

  • Display the ALV Report with the Selected data

PERFORM display_alv_report.

ENDIF.

----


  • S U B R O U T I N E S *

----


&----


*& Form fill_output_table

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM fill_output_table .

select belnr

buzei

budat

wrbtr

waers

from bsid into table gt_output

where bukrs eq p_bukrs and

kunnr eq p_kunnr and

budat in s_budat and

bschl in s_bschl.

ENDFORM. " fill_output_table

&----


*& Form display_alv_report

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM display_alv_report .

PERFORM fill_fieldcatalog USING gt_fieldcat[].

perform report_alv_display.

ENDFORM. " display_alv_report

&----


*& Form fill_fieldcatalog

&----


  • text

----


  • -->P_GT_FIELDCAT[] text

----


FORM fill_fieldcatalog USING P_GT_FIELDCAT type slis_t_fieldcat_alv. .

DATA: lv_fieldcat TYPE slis_fieldcat_alv.

CLEAR: lv_fieldcat,p_gt_fieldcat.

lv_fieldcat-col_pos = 1.

lv_fieldcat-tabname = 'gt_output'.

lv_fieldcat-fieldname = 'BELNR'.

lv_fieldcat-seltext_l = 'FI Document Number'.

lv_fieldcat-hotspot = 'x'.

lv_fieldcat-key = 'x'.

APPEND lv_fieldcat TO p_gt_fieldcat.

CLEAR lv_fieldcat.

lv_fieldcat-col_pos = 2.

lv_fieldcat-tabname = 'gt_output'.

lv_fieldcat-fieldname = 'BUZEI'.

lv_fieldcat-seltext_l = 'Line Item'.

APPEND lv_fieldcat TO p_gt_fieldcat.

CLEAR lv_fieldcat.

lv_fieldcat-col_pos = 3.

lv_fieldcat-tabname = 'gt_output'.

lv_fieldcat-fieldname = 'BUDAT'.

lv_fieldcat-seltext_l = 'Posting Date'.

APPEND lv_fieldcat TO p_gt_fieldcat.

CLEAR lv_fieldcat.

lv_fieldcat-col_pos = 4.

lv_fieldcat-tabname = 'gt_output'.

lv_fieldcat-fieldname = 'WRBTR'.

lv_fieldcat-seltext_l = 'AMOUNT'.

lv_fieldcat-do_sum = 'x'.

APPEND lv_fieldcat TO p_gt_fieldcat.

CLEAR lv_fieldcat.

lv_fieldcat-col_pos = 5.

lv_fieldcat-tabname = 'gt_output'.

lv_fieldcat-fieldname = 'WAERS'.

lv_fieldcat-seltext_l = 'CURRENCY'.

APPEND lv_fieldcat TO p_gt_fieldcat.

CLEAR lv_fieldcat.

ENDFORM. " fill_fieldcatalog

&----


*& Form report_alv_display

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM report_alv_display .

gt_repid = sy-repid.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = gt_repid

  • I_CALLBACK_PF_STATUS_SET = ' '

I_CALLBACK_USER_COMMAND = 'CLICK'

  • 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 =

IT_FIELDCAT = gt_fieldcat

  • 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 =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = gt_output

  • EXCEPTIONS

  • PROGRAM_ERROR = 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.

ENDFORM. " report_alv_display

&----


*& Form click

&----


  • text

----


  • -->R_UCOMM text

  • -->RS_SELFIELD text

----


form CLICK using r_ucomm like sy-ucomm

rs_selfield type slis_selfield.

data: l_belnr type bsid-belnr,

l_gt_output like gt_output with header line,

flag TYPE c LENGTH 1,

wa type c length 10.

case r_ucomm.

when '&IC1'.

read table l_gt_output index rs_selfield-tabindex.

*READ current LINE FIELD VALUE flag l_belnr INTO wa.

if sy-subrc eq 0.

l_belnr = l_gt_output-belnr.

set parameter id 'BLN' field l_belnr.

call transaction 'FB03' and skip first screen.

else.

leave list-processing.

endif.

endcase.

rs_selfield-refresh = 'x'. "List Refresh

endform. "click

thanks n regards,

jay

13 REPLIES 13
Read only

Former Member
0 Likes
1,246

Hi Jay

put a break point and tell us

first do debugging and tell me what is u r problem....

form CLICK using r_ucomm like sy-ucomm

rs_selfield type slis_selfield.

data: l_belnr type bsid-belnr,

l_gt_output like gt_output with header line,

flag TYPE c LENGTH 1,

wa type c length 10.

case r_ucomm. -


>break-point

when '&IC1'.

read table l_gt_output index rs_selfield-tabindex.

*READ current LINE FIELD VALUE flag l_belnr INTO wa.

if sy-subrc eq 0.

l_belnr = l_gt_output-belnr.

set parameter id 'BLN' field l_belnr.

call transaction 'FB03' and skip first screen.

else.

leave list-processing.

endif.

endcase.

rs_selfield-refresh = 'x'. "List Refresh

endform. "click

Read only

0 Likes
1,246

hi kiran,

i have done with breakpoint also,,

as and when u click on one of the fi document number..it is not going to fbo3 transaction.. that is my problem..

even u can check that since i have given my code..

thanks n regards,

jay

Read only

Former Member
0 Likes
1,246

hi,

Find the following code for ypur example.

this part i have written in my user_command form.


*&---------------------------------------------------------------------*
*&      Form  my_user_command
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*

FORM my_user_command USING r_ucomm LIKE sy-ucomm
                           rs_selfield TYPE slis_selfield.

  DATA: rspar_tab  TYPE TABLE OF rsparams,
        rspar_line LIKE LINE OF rspar_tab.
  DATA: indx TYPE i.


  CASE r_ucomm.


    WHEN '&IC1'.                    " DOUBLE CLICK


      READ TABLE itab INDEX rs_selfield-tabindex.
      indx = rs_selfield-tabindex.
      pspnr_log = itab-pspnr.

      IF itab-log_person = 'X'.

        PERFORM log_person USING indx pspnr_log .

      ELSEIF itab-log_partner = 'X'.
        PERFORM log_partner USING indx pspnr_log.
      ELSEIF itab-log_date = 'X'.
        PERFORM log_date USING indx pspnr_log.


*      IF sy-subrc EQ 0.

      ELSE.
        REFRESH bdcdata.
        PERFORM bdcupload.
        CALL TRANSACTION 'CJ20N' USING bdcdata AND SKIP FIRST SCREEN
        MODE 'E'.
        CLEAR bdcdata[].
      ENDIF.

    WHEN '&DATA_SAVE'.                      " CLICK ON SAVE

      READ TABLE itab INDEX rs_selfield-tabindex.
      indx = rs_selfield-tabindex.

      IF itab-vernr1 IS NOT INITIAL.                  " for person responsible
        PERFORM change_per_res USING indx.

      ELSEIF itab-parnr1 IS NOT INITIAL.

        REFRESH bdcdata.                              "for change partner
        PERFORM change_partner USING indx.

        CALL TRANSACTION 'CJ20N' USING bdcdata AND SKIP FIRST SCREEN MODE 'E'.
        CLEAR bdcdata[].


    



********** SOC FOR REFRESH **********************************
  rs_selfield-refresh = 'X'.



  CALL TRANSACTION '<tcode>' AND SKIP FIRST  SCREEN.


********** EOC FOR REFRESH ********************************

  ENDCASE.

ENDFORM.    

<i><b>Regards

Debjani

Reward point for helpfu;l answers</b></i>

Read only

Former Member
0 Likes
1,246

Hi Jay,

Assign sy-ucomm to r_ucomm in your perform CLICK.

Hope this helps.

Reward points if helpful.

Regards,

Sandeep

Read only

Former Member
0 Likes
1,246

form CLICK using r_ucomm like sy-ucomm

rs_selfield type slis_selfield.

data: l_belnr type bsid-belnr,

l_gt_output like gt_output with header line,

flag TYPE c LENGTH 1,

wa type c length 10.

case r_ucomm.

when '&IC1'.

<b>read table gt_output INTO l_gt_output

index rs_selfield-tabindex.</b>

change the READ statement as specified above

Read only

0 Likes
1,246

hi rajesh,

i have changed the read stmt as u said..still not coming yar..

thanks

jay

Read only

0 Likes
1,246

form CLICK using r_ucomm like sy-ucomm

rs_selfield type slis_selfield.

data: l_belnr type bsid-belnr,

<b>l_gt_output type ty_s_output,</b> " Also make this change

flag TYPE c LENGTH 1,

wa type c length 10.

case r_ucomm.

when '&IC1'.

read table gt_output INTO l_gt_output

index rs_selfield-tabindex.

Read only

0 Likes
1,246

HI RAJESH,

NO YAR STILL NOT GETTING..

STILL NOT..

THANKS,

JAY

Read only

0 Likes
1,246

Check this code this is working for me, i've just changed the table name from BSID to COEP

&----


*& Report ZTEST

*&

&----


*&

*&

&----


report demo MESSAGE-ID OO.

type-pools:slis.

tables: bsid.

data: gv_fcat type slis_t_fieldcat_alv.

----


  • T Y P E D E C L A R A T I O N S *

----


types: begin of ty_s_output,

belnr type bsid-belnr,

buzei type bsid-buzei,

*budat type bsid-budat,

wrbtr type bsid-wrbtr,

*waers type bsid-waers,

end of ty_s_output,

ty_t_ouput type standard table of ty_s_output with key belnr.

----


  • G L O B A L D A T A D E C L A R A T I O N S *

----


data: gt_fieldcat type slis_t_fieldcat_alv,

gt_output type ty_t_ouput,

gt_repid like sy-repid.

----


  • S E L E C T I O N S C R E E N *

----


selection-screen begin of block b1.

parameters: p_bukrs type bsid-bukrs,

p_kunnr like bsid-kunnr.

select-options: s_budat for bsid-budat,

s_bschl for bsid-bschl.

selection-screen end of block b1.

----


  • A T S E L E C T I O N S C R E E N *

----


----


  • S T A R T O F S E L E C T I O N *

----


PERFORM fill_output_table.

----


  • E N D O F S E L E C T I O N *

----


END-OF-SELECTION.

IF gt_output IS INITIAL.

  • Display 'No records found for the selection criteria'.

MESSAGE E001 WITH 'NO RECORDS FOUND FOR THE SPECIFIED CRITERIA'.

ELSE.

  • Display the ALV Report with the Selected data

PERFORM display_alv_report.

ENDIF.

----


  • S U B R O U T I N E S *

----


&----


*& Form fill_output_table

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM fill_output_table .

select belnr

buzei

*budat

wkgbtr

*waers

from coep into table gt_output

up to 50 rows.

*where

**bukrs eq p_bukrs and

**kunnr eq p_kunnr and

*budat in s_budat and

*bschl in s_bschl.

ENDFORM. " fill_output_table

&----


*& Form display_alv_report

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM display_alv_report .

PERFORM fill_fieldcatalog USING gt_fieldcat[].

perform report_alv_display.

ENDFORM. " display_alv_report

&----


*& Form fill_fieldcatalog

&----


  • text

----


  • -->P_GT_FIELDCAT[] text

----


FORM fill_fieldcatalog USING P_GT_FIELDCAT type slis_t_fieldcat_alv. .

DATA: lv_fieldcat TYPE slis_fieldcat_alv.

CLEAR: lv_fieldcat,p_gt_fieldcat.

lv_fieldcat-col_pos = 1.

lv_fieldcat-tabname = 'gt_output'.

lv_fieldcat-fieldname = 'BELNR'.

lv_fieldcat-seltext_l = 'FI Document Number'.

lv_fieldcat-hotspot = 'x'.

lv_fieldcat-key = 'x'.

APPEND lv_fieldcat TO p_gt_fieldcat.

CLEAR lv_fieldcat.

lv_fieldcat-col_pos = 2.

lv_fieldcat-tabname = 'gt_output'.

lv_fieldcat-fieldname = 'BUZEI'.

lv_fieldcat-seltext_l = 'Line Item'.

APPEND lv_fieldcat TO p_gt_fieldcat.

CLEAR lv_fieldcat.

*lv_fieldcat-col_pos = 3.

*lv_fieldcat-tabname = 'gt_output'.

*lv_fieldcat-fieldname = 'BUDAT'.

*lv_fieldcat-seltext_l = 'Posting Date'.

*APPEND lv_fieldcat TO p_gt_fieldcat.

*CLEAR lv_fieldcat.

lv_fieldcat-col_pos = 4.

lv_fieldcat-tabname = 'gt_output'.

lv_fieldcat-fieldname = 'WRBTR'.

lv_fieldcat-seltext_l = 'AMOUNT'.

lv_fieldcat-do_sum = 'x'.

APPEND lv_fieldcat TO p_gt_fieldcat.

CLEAR lv_fieldcat.

*lv_fieldcat-col_pos = 5.

*lv_fieldcat-tabname = 'gt_output'.

*lv_fieldcat-fieldname = 'WAERS'.

*lv_fieldcat-seltext_l = 'CURRENCY'.

*APPEND lv_fieldcat TO p_gt_fieldcat.

*CLEAR lv_fieldcat.

ENDFORM. " fill_fieldcatalog

&----


*& Form report_alv_display

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM report_alv_display .

gt_repid = sy-repid.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = gt_repid

  • I_CALLBACK_PF_STATUS_SET = ' '

I_CALLBACK_USER_COMMAND = 'CLICK'

  • 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 =

IT_FIELDCAT = gt_fieldcat

  • 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 =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = gt_output

  • EXCEPTIONS

  • PROGRAM_ERROR = 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.

ENDFORM. " report_alv_display

&----


*& Form click

&----


  • text

----


  • -->R_UCOMM text

  • -->RS_SELFIELD text

----


form CLICK using r_ucomm like sy-ucomm

rs_selfield type slis_selfield.

data: l_belnr type bsid-belnr,

<b>l_gt_output type ty_s_output,</b>

flag TYPE c LENGTH 1,

wa type c length 10.

case r_ucomm.

when '&IC1'.

<b>read table gt_output INTO l_gt_output

index rs_selfield-tabindex.</b>

*READ current LINE FIELD VALUE flag l_belnr INTO wa.

if sy-subrc eq 0.

l_belnr = l_gt_output-belnr.

set parameter id 'BLN' field l_belnr.

call transaction 'FB03' and skip first screen.

else.

leave list-processing.

endif.

endcase.

rs_selfield-refresh = 'x'. "List Refresh

endform. "click

Read only

0 Likes
1,246

rajesh,

im getting when im applying ur logic of coep..wats the need of using coep.?

ur commenting date and currency which i need to display in the output..

thanks

jay

Read only

0 Likes
1,246

Hello Jay,

Your code is correct.The reason you r not getting the list is becoz your select

statment is failing as below.

FORM fill_output_table .

select belnr

buzei

budat

wrbtr

waers

from bsid into table gt_output

where bukrs eq p_bukrs and

kunnr eq p_kunnr .

  • budat in s_budat and

  • bschl in s_bschl.

ENDFORM. " fill_output_table

The Gt_output table is not getting populated as per the condition.Look if records exist for the conditions specified by you

Reward points if useful

ReemZ

Read only

0 Likes
1,246

in my system there is no data available for BSID, so i've used the table COEP, i've commented the date and currency fields as they are not available in COEP.

r u able to see the ALV grid with ur original code?

I assumed that u were able to see the ALV grid and hotspot functionality is not working, if this is not the case,let us know.

Read only

Former Member
0 Likes
1,246

hi jay

try this

&----


*& Report ZSDN

*&

&----


*&

*&

&----


REPORT ZSDN message-id msgid.

type-pools:slis.

tables: bsid.

data: gv_fcat type slis_t_fieldcat_alv.

----


  • T Y P E D E C L A R A T I O N S *

----


types: begin of ty_s_output,

belnr type bsid-belnr,

buzei type bsid-buzei,

budat type bsid-budat,

wrbtr type bsid-wrbtr,

waers type bsid-waers,

end of ty_s_output,

ty_t_ouput type standard table of ty_s_output with key belnr.

----


  • G L O B A L D A T A D E C L A R A T I O N S *

----


data: gt_fieldcat type slis_t_fieldcat_alv,

gt_output type ty_t_ouput,

gt_repid like sy-repid.

----


  • S E L E C T I O N S C R E E N *

----


selection-screen begin of block b1.

parameters: p_bukrs type bsid-bukrs,

p_kunnr like bsid-kunnr.

select-options: s_budat for bsid-budat,

s_bschl for bsid-bschl.

selection-screen end of block b1.

----


  • A T S E L E C T I O N S C R E E N *

----


----


  • S T A R T O F S E L E C T I O N *

----


PERFORM fill_output_table.

----


  • E N D O F S E L E C T I O N *

----


END-OF-SELECTION.

IF gt_output IS INITIAL.

  • Display 'No records found for the selection criteria'.

MESSAGE E001 WITH 'NO RECORDS FOUND FOR THE SPECIFIED CRITERIA'.

ELSE.

  • Display the ALV Report with the Selected data

PERFORM display_alv_report.

ENDIF.

----


  • S U B R O U T I N E S *

----


&----


*& Form fill_output_table

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM fill_output_table .

select belnr

buzei

budat

wrbtr

waers

from bsid into table gt_output

where bukrs eq p_bukrs and

kunnr eq p_kunnr and

budat in s_budat and

bschl in s_bschl.

ENDFORM. " fill_output_table

&----


*& Form display_alv_report

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM display_alv_report .

PERFORM fill_fieldcatalog USING gt_fieldcat[].

perform report_alv_display.

ENDFORM. " display_alv_report

&----


*& Form fill_fieldcatalog

&----


  • text

----


  • -->P_GT_FIELDCAT[] text

----


FORM fill_fieldcatalog USING P_GT_FIELDCAT type slis_t_fieldcat_alv. .

DATA: lv_fieldcat TYPE slis_fieldcat_alv.

CLEAR: lv_fieldcat,p_gt_fieldcat.

lv_fieldcat-col_pos = 1.

lv_fieldcat-tabname = 'gt_output'.

lv_fieldcat-fieldname = 'BELNR'.

lv_fieldcat-seltext_l = 'FI Document Number'.

lv_fieldcat-hotspot = 'x'.

lv_fieldcat-key = 'x'.

APPEND lv_fieldcat TO p_gt_fieldcat.

CLEAR lv_fieldcat.

lv_fieldcat-col_pos = 2.

lv_fieldcat-tabname = 'gt_output'.

lv_fieldcat-fieldname = 'BUZEI'.

lv_fieldcat-seltext_l = 'Line Item'.

APPEND lv_fieldcat TO p_gt_fieldcat.

CLEAR lv_fieldcat.

lv_fieldcat-col_pos = 3.

lv_fieldcat-tabname = 'gt_output'.

lv_fieldcat-fieldname = 'BUDAT'.

lv_fieldcat-seltext_l = 'Posting Date'.

APPEND lv_fieldcat TO p_gt_fieldcat.

CLEAR lv_fieldcat.

lv_fieldcat-col_pos = 4.

lv_fieldcat-tabname = 'gt_output'.

lv_fieldcat-fieldname = 'WRBTR'.

lv_fieldcat-seltext_l = 'AMOUNT'.

lv_fieldcat-do_sum = 'x'.

APPEND lv_fieldcat TO p_gt_fieldcat.

CLEAR lv_fieldcat.

lv_fieldcat-col_pos = 5.

lv_fieldcat-tabname = 'gt_output'.

lv_fieldcat-fieldname = 'WAERS'.

lv_fieldcat-seltext_l = 'CURRENCY'.

APPEND lv_fieldcat TO p_gt_fieldcat.

CLEAR lv_fieldcat.

ENDFORM. " fill_fieldcatalog

&----


*& Form report_alv_display

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM report_alv_display .

gt_repid = sy-repid.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = gt_repid

  • I_CALLBACK_PF_STATUS_SET = ' '

I_CALLBACK_USER_COMMAND = 'CLICK'

  • 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 =

IT_FIELDCAT = gt_fieldcat

  • 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 =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = gt_output

  • EXCEPTIONS

  • PROGRAM_ERROR = 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.

ENDFORM. " report_alv_display

&----


*& Form click

&----


  • text

----


  • -->R_UCOMM text

  • -->RS_SELFIELD text

----


form CLICK using r_ucomm like sy-ucomm

rs_selfield type slis_selfield.

data: l_belnr type bsid-belnr,

l_gt_output like gt_output with header line,

flag TYPE c LENGTH 1,

wa type c length 10.

case r_ucomm.

when '&IC1'.

read table l_gt_output index rs_selfield-tabindex.

*READ current LINE FIELD VALUE flag l_belnr INTO wa.

if sy-subrc eq 0.

l_belnr = l_gt_output-belnr.

set parameter id 'BLN' field l_belnr.

call transaction 'FB03' and skip first screen.

else.

leave list-processing.

endif.

endcase.

rs_selfield-refresh = 'x'. "List Refresh

endform. "click