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

Display ALV Layout change button problem

Former Member
0 Likes
601

Hi,

I am changing a stnadard report program.

Its displying output as Hierachial ALV . As per stnadard program its having 4 push buttons in the report out.

I have to remove those and display the 'Change Layout' button in the output.

I have deleted the push buttons, but i am not able to get the button of 'Change Layout'.

Please provide the reason or logic.

Thanks in Advance.

1 REPLY 1
Read only

Former Member
0 Likes
394

Hi,

U have to check the PF status thats getting passed to the REUSE_ALV_GRID_DISPLAY function module.

Pass the standard ALV PF status to the function module.

Use F2CODE LIKE SY-UCOMM VALUE '&ETA',

Add code to save layout option to prog and pass following paramaters to function module.

&----


*& Form CALL_ALV

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM CALL_ALV .

IF G_VARIANT-VARIANT IS INITIAL.

G_VARIANT-VARIANT = P_VARI.

ENDIF.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = REPNAME

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

IS_LAYOUT = LAYOUT

I_GRID_TITLE = 'Material Change Log Report'

IT_FIELDCAT = FIELDCAT

I_SAVE = G_SAVE

IS_VARIANT = G_VARIANT

IT_EVENTS = EVENTS[]

TABLES

T_OUTTAB = T_CDPOS

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. " CALL_ALV

&----


*& Form F4_FOR_VARIANT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM F4_FOR_VARIANT .

CALL FUNCTION 'REUSE_ALV_VARIANT_F4'

EXPORTING

IS_VARIANT = G_VARIANT

I_SAVE = G_SAVE

IMPORTING

E_EXIT = G_EXIT

ES_VARIANT = GX_VARIANT

EXCEPTIONS

NOT_FOUND = 2.

IF SY-SUBRC = 2.

MESSAGE ID SY-MSGID TYPE 'S' NUMBER SY-MSGNO

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

ELSE.

IF G_EXIT = SPACE.

P_VARI = GX_VARIANT-VARIANT.

ENDIF.

ENDIF.

ENDFORM. " F4_FOR_VARIANT

&----


*& Form PAI_OF_SELECTION_SCREEN

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM PAI_OF_SELECTION_SCREEN .

IF NOT P_VARI IS INITIAL.

MOVE G_VARIANT TO GX_VARIANT.

MOVE P_VARI TO GX_VARIANT-VARIANT.

CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'

EXPORTING

I_SAVE = G_SAVE

CHANGING

CS_VARIANT = GX_VARIANT.

G_VARIANT = GX_VARIANT.

ELSE.

PERFORM INITIALIZE_VARIANT.

ENDIF.

ENDFORM. " PAI_OF_SELECTION_SCREEN

&----


*& Form INITIALIZE_VARIANT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM INITIALIZE_VARIANT .

G_SAVE = 'A'.

CLEAR G_VARIANT.

G_VARIANT-REPORT = REPNAME.

GX_VARIANT-VARIANT = P_VARI.

LAYOUT-GET_SELINFOS = 'X'.

LAYOUT-GROUP_CHANGE_EDIT = 'X'.

LAYOUT-CELL_MERGE = 'X'.

ALV_PRINT-NO_PRINT_SELINFOS = 'X'.

ALV_PRINT-NO_COVERPAGE = 'X'.

ALV_PRINT-NO_PRINT_LISTINFOS = 'X'.

ALV_DETAIL_FUNC = 'REUSE_ALV_LIST_DISPLAY'.

ENDFORM. " INITIALIZE_VARIANT

&----


*& Form BUILD_LAYOUT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM BUILD_LAYOUT .

LAYOUT-F2CODE = F2CODE.

LAYOUT-ZEBRA = 'X'.

LAYOUT-DETAIL_POPUP = 'X'.

ENDFORM. " BUILD_LAYOUT

Regards,

Deepak.

Edited by: Deepak Deshmukh on Jul 8, 2009 12:07 PM