Sie sind auf Seite 1von 5

Highlighting the visited record on the basic list (ALV) on pressing BACK button in the secondary

list using 'REUSE_ALV_LIST_DISPLAY'.


By Haritha
REPORT ZALV_LIST3.
TABLES:
SPFLI,
SFLIGHT,
SBOOK.
TYPE-POOLS:
SLIS.
DATA:
BEGIN

OF

T_SPFLI

INCLUDE

OCCURS

0,
CHECKBOX,
COLOR(3).
SPFLI.

OCCURS

0,
CHECKBOX,
COLOR(3).
SFLIGHT.

OCCURS

0.
SBOOK.

STRUCTURE

DATA: END OF T_SPFLI.


DATA:
T_SSPFLI LIKE STANDARD TABLE OF T_SPFLI .
DATA:
FS_SPFLI LIKE LINE OF T_SSPFLI.
DATA:
BEGIN

OF

T_SFLIGHT

INCLUDE
DATA: END OF T_SFLIGHT.

STRUCTURE

DATA:
T_SSFLIGHT LIKE STANDARD TABLE OF T_SFLIGHT.
DATA:
FS_SFLIGHT LIKE LINE OF T_SSFLIGHT.
DATA:
BEGIN

OF
INCLUDE
DATA: END OF T_SBOOK.

T_SBOOK
STRUCTURE

DATA:
FS_LAYOUT
W_PROGRAM TYPE SY-REPID.

TYPE

SLIS_LAYOUT_ALV,

SELECT

*
SPFLI

FROM
INTO CORRESPONDING FIELDS OF TABLE T_SPFLI.
FS_LAYOUT-INFO_FIELDNAME
FS_LAYOUT-BOX_FIELDNAME = 'CHECKBOX'.

'COLOR'.

W_PROGRAM = SY-REPID.
CALL
EXPORTING

FUNCTION
I_CALLBACK_PROGRAM
I_CALLBACK_PF_STATUS_SET

'REUSE_ALV_LIST_DISPLAY'
=
=

W_PROGRAM
'FLIGHT'

I_CALLBACK_USER_COMMAND
I_STRUCTURE_NAME
IS_LAYOUT

'SPFLI_INFO'
'SPFLI'
FS_LAYOUT
TABLES
T_SPFLI

=
=

T_OUTTAB

EXCEPTIONS
PROGRAM_ERROR
OTHERS
IF
*
MESSAGE
*
WITH
ENDIF.

ID

SY-SUBRC
SY-MSGID
SY-MSGV1

1
2
.
0.
SY-MSGNO
SY-MSGV4.

=
<>
TYPE
SY-MSGTY
NUMBER
SY-MSGV2
SY-MSGV3

*&--------------------------------------------------------------------*
*&
Form
*&--------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
*
-->RT_EXTAB
*---------------------------------------------------------------------*
FORM

FLIGHT

SET
ENDFORM.

USING
PF-STATUS
"FLIGHT

FLIGHT
text
text

RT_EXTAB
'FLIGHT'

TYPE
EXCLUDING

*&--------------------------------------------------------------------*
*&
Form
*&--------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
*
-->UCOMM
*
-->SELFIELD
*---------------------------------------------------------------------*
FORM
SPFLI_INFO
USING
UCOMM
SELFIELD TYPE SLIS_SELFIELD.
SELFIELD-REFRESH
CASE
WHEN
LOOP
AT
IF
T_SPFLI-CHECKBOX
T_SPFLI-CHECKBOX
=
T_SPFLI-COLOR
MODIFY
T_SPFLI
TRANSPORTING
FS_SPFLI
=
APPEND
FS_SPFLI

SLIS_T_EXTAB..
RT_EXTAB.

SPFLI_INFO
text
text
text
LIKE

SY-UCOMM

=
'
=
CHECKBOX
TO

'X'.
UCOMM.
'FLIGHT'.
T_SPFLI.
'X'.
'.
'C51'.
COLOR.
T_SPFLI.
T_SSPFLI.
ENDIF.

ENDLOOP.
LOOP

AT

T_SSPFLI
SELECT
FROM
APPENDING
CORRESPONDING
FIELDS
WHERE
CARRID
AND
CONNID
ENDLOOP.

INTO

FS_SPFLI.
*
SFLIGHT
TABLE
T_SFLIGHT
FS_SPFLI-CARRID
FS_SPFLI-CONNID.

OF
EQ
EQ

ENDCASE.
T_SSPFLI.

REFRESH
CLEAR FS_SPFLI.
FS_LAYOUT-INFO_FIELDNAME
FS_LAYOUT-CONFIRMATION_PROMPT
FS_LAYOUT-KEY_HOTSPOT = 'X'.

=
=

'COLOR'.
'X'.

CALL

'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM
=
W_PROGRAM
I_STRUCTURE_NAME
=
'SFLIGHT'
IS_LAYOUT
=
FS_LAYOUT
TABLES
T_OUTTAB
=
T_SFLIGHT
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.
REFRESH T_SFLIGHT.
ENDFORM.

FUNCTION

"SPFLI_INFO

The Basic List will be as follows.

If we check any of the flights and click on the flight icon present on the application toolbar as displayed
above, the Secondary List will be displayed as follows.

When we press back button it will ask for confirmation whether to exit that screen or not.

When we go back to the Basic list, the list would appear as follows.

Das könnte Ihnen auch gefallen