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

OOPS ALV

Former Member
0 Likes
392

i need to display 3 diffrent tables in a single alv

1st table is header (i need to display 9 fields)

2nd talbe is details (i need to display 15 fields)

3rd table is foot (here 2 fields)

if we click on header then corresponding from details_table should be displayed along with corresponding foot_table (batch is common in these table from this only we need to select the corresponding records)

is there any standard ALV for displaying 3 table of difftrent structure

2 REPLIES 2
Read only

Former Member
0 Likes
367

hi u want programming in alv or alv with oops concept

i have alv program

Read only

Former Member
0 Likes
367

this is total programming with check boxs and interactive list also

i have used spfli,sflight,sbook.

<b>please create set pf-status</b>

REPORT YH624_BASIC_LIST_VIEW3.

type-pools:

slis.

data: fs_fieldcat type slis_t_fieldcat_alv.

DATA: W_NAME LIKE SY-REPID.

data: fs_layout type slis_layout_alv.

DATA: BEGIN OF FS_TAB,

CARRID TYPE SPFLI-CARRID,

CONNID TYPE SPFLI-CONNID,

END OF FS_TAB.

DATA: T_TAB LIKE STANDARD TABLE OF FS_TAB.

DATA: BEGIN OF FS_TAB1,

CARRID TYPE SFLIGHT-CARRID,

CONNID TYPE SFLIGHT-CONNID,

FLDATE TYPE SFLIGHT-FLDATE,

END OF FS_TAB1.

DATA: T_TAB1 LIKE STANDARD TABLE OF FS_TAB1.

DATA: BEGIN OF FS_SPFLI,

ROW(4),

BOX(1),

CARRID TYPE SPFLI-CARRID,

CONNID TYPE SPFLI-CONNID,

COUNTRYFR TYPE SPFLI-COUNTRYFR,

CITYFROM TYPE SPFLI-CITYFROM,

AIRPFROM TYPE SPFLI-AIRPFROM,

COUNTRYTO TYPE SPFLI-COUNTRYTO,

CITYTO TYPE SPFLI-CITYTO,

AIRPTO TYPE SPFLI-AIRPTO,

FLTIME TYPE SPFLI-FLTIME,

DEPTIME TYPE SPFLI-DEPTIME,

ARRTIME TYPE SPFLI-ARRTIME,

DISTANCE TYPE SPFLI-DISTANCE,

DISTID TYPE SPFLI-DISTID,

FLTYPE TYPE SPFLI-FLTYPE,

PERIOD TYPE SPFLI-PERIOD,

END OF FS_SPFLI.

DATA: T_SPFLI LIKE

STANDARD TABLE

OF FS_SPFLI.

DATA: BEGIN OF FS_SFLIGHT,

ROW(4),

BOX(1),

CARRID TYPE SFLIGHT-CARRID,

CONNID TYPE SFLIGHT-CONNID,

FLDATE TYPE SFLIGHT-FLDATE,

PLANETYPE TYPE SFLIGHT-PLANETYPE,

SEATSMAX TYPE SFLIGHT-SEATSMAX,

SEATSOCC TYPE SFLIGHT-SEATSOCC,

PAYMENTSUM TYPE SFLIGHT-PAYMENTSUM,

SEATSMAX_B TYPE SFLIGHT-SEATSMAX_B,

SEATSOCC_B TYPE SFLIGHT-SEATSOCC_B,

SEATSMAX_F TYPE SFLIGHT-SEATSMAX_F,

SEATSOCC_F TYPE SFLIGHT-SEATSOCC_F,

END OF FS_SFLIGHT.

data: t_sflight like

standard table

of fs_sflight.

DATA: T_SBOOK LIKE

SBOOK OCCURS 0 WITH HEADER LINE.

FS_LAYOUT-BOX_FIELDNAME = 'BOX'.

FS_LAYOUT-INFO_FIELDNAME = 'ROW'.

SELECT *

FROM SPFLI

INTO CORRESPONDING FIELDS OF TABLE T_SPFLI.

W_NAME = SY-REPID.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = W_NAME

I_CALLBACK_PF_STATUS_SET = 'DEMO'

I_CALLBACK_USER_COMMAND = 'SEC_LIST'

I_STRUCTURE_NAME = 'SPFLI'

IS_LAYOUT = FS_LAYOUT

  • IT_FIELDCAT =

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

  • IT_EVENTS = FS_EVENT

  • 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

  • IR_SALV_LIST_ADAPTER =

  • IT_EXCEPT_QINFO =

  • I_SUPPRESS_EMPTY_DATA = ABAP_FALSE

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = T_SPFLI

  • 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. " IF SY-SUBRC <> 0.

FORM DEMO USING TAB TYPE SLIS_T_EXTAB.

SET PF-STATUS 'STATUS' .

ENDFORM. " FORM DEMO

FORM SEC_LIST USING UCOMM LIKE SY-UCOMM

SELFIELD TYPE SLIS_SELFIELD.

READ TABLE T_SPFLI INDEX SELFIELD-TABINDEX INTO FS_SPFLI.

LOOP AT T_SPFLI INTO FS_SPFLI.

IF FS_SPFLI-BOX = 'X'.

MOVE FS_SPFLI-CARRID TO FS_TAB-CARRID.

MOVE FS_SPFLI-CONNID TO FS_TAB-CONNID.

APPEND FS_TAB TO T_TAB.

FS_SPFLI-ROW = 'C610'.

FS_SPFLI-BOX = '0'.

MODIFY T_SPFLI FROM FS_SPFLI TRANSPORTING ROW BOX.

ENDIF. " IF FS_SPFLI-BOX = 'X'.

ENDLOOP. " LOOP AT T_SPFLI

IF T_TAB IS INITIAL.

MESSAGE 'POSITION ON CHECK BOX ' TYPE 'E'.

ENDIF.

SELFIELD-REFRESH = 'X'.

select carrid

connid

fldate

planetype

seatsmax

seatsocc

seatsmax_b

seatsocc_b

seatsmax_f

seatsocc_f

paymentsum "up to 100 rows

from sflight

into corresponding fields of table t_sflight

FOR ALL ENTRIES IN T_TAB

WHERE CARRID EQ T_TAB-CARRID

AND CONNID EQ T_TAB-CONNID.

REFRESH T_TAB.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = W_NAME

I_CALLBACK_PF_STATUS_SET = 'DEMO2'

I_CALLBACK_USER_COMMAND = 'THIRD_LIST'

I_STRUCTURE_NAME = 'SFLIGHT'

IS_LAYOUT = fs_layout

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

  • IR_SALV_LIST_ADAPTER =

  • IT_EXCEPT_QINFO =

  • I_SUPPRESS_EMPTY_DATA = ABAP_FALSE

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

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. " IF SY-SUBRC <> 0.

ENDFORM. " LIST_SECOND

FORM DEMO2 USING TAB TYPE SLIS_T_EXTAB.

SET PF-STATUS 'STATUS1' .

ENDFORM. " DEMO2

FORM THIRD_LIST USING UCOMM1 LIKE SY-UCOMM

SELFIELD TYPE SLIS_SELFIELD.

READ TABLE T_SFLIGHT INDEX SELFIELD-TABINDEX INTO FS_SFLIGHT.

LOOP AT T_SFLIGHT INTO FS_SFLIGHT.

IF FS_SFLIGHT-BOX = 'X'.

MOVE FS_SFLIGHT-CARRID TO FS_TAB1-CARRID.

MOVE FS_SFLIGHT-CONNID TO FS_TAB1-CONNID.

MOVE FS_SFLIGHT-FLDATE TO FS_TAB1-FLDATE.

APPEND FS_TAB1 TO T_TAB1.

FS_SFLIGHT-ROW = 'C610'.

FS_SFLIGHT-BOX = '0'.

MODIFY T_SFLIGHT FROM FS_SFLIGHT TRANSPORTING ROW BOX.

ENDIF. " IF FS_SFLIGHT-BOX = 'X'.

ENDLOOP. " LOOP AT T_SFLIGHT...

IF T_TAB1 IS INITIAL.

MESSAGE 'POSITION ON CHECK BOX ' TYPE 'E'.

ENDIF.

SELFIELD-REFRESH = 'X'.

SELECT *

FROM SBOOK

INTO CORRESPONDING FIELDS OF TABLE T_SBOOK

FOR ALL ENTRIES IN T_TAB1

WHERE CARRID EQ T_TAB1-CARRID

AND CONNID EQ T_TAB1-CONNID

AND FLDATE EQ T_TAB1-FLDATE.

REFRESH T_TAB1.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE = ' '

  • I_CALLBACK_PROGRAM = ' '

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

I_STRUCTURE_NAME = 'SBOOK'

  • IS_LAYOUT = FS_LAYOUT

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

  • IR_SALV_LIST_ADAPTER =

  • IT_EXCEPT_QINFO =

  • I_SUPPRESS_EMPTY_DATA = ABAP_FALSE

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = T_SBOOK

  • 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. " IF SY-SUBRC <> 0.

ENDFORM. " FORM THIRD_LIST

reward if it helps u

vijay pawar<b></b><b></b>