‎2007 Apr 24 2:58 PM
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
‎2007 Apr 24 3:01 PM
hi u want programming in alv or alv with oops concept
i have alv program
‎2007 Apr 24 3:05 PM
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>