Skip to Content
0
Former Member
Sep 14, 2007 at 06:38 AM

alv

44 Views

hi everone ,

this code doesn't work anyone help me please?

*&----


*

*& Report ZDENEME_43

*&

*&----


*

*&

*&

*&----


*

REPORT zdeneme_43.

TABLES : sflight,spfli.

*type-pools

TYPE-POOLS : slis.

*data

DATA : BEGIN OF itab1 OCCURS 0,

carrid LIKE sflight-carrid,

connid LIKE sflight-connid,

fldate LIKE sflight-fldate,

price LIKE sflight-price,

planetype LIKE sflight-planetype,

seatsmax LIKE sflight-seatsmax,

seatsocc LIKE sflight-seatsocc,

END OF itab1 .

DATA : BEGIN OF itab2 OCCURS 0,

carrid TYPE sflight-carrid,

connid TYPE sflight-connid,

countryfr TYPE spfli-countryfr,

countryto TYPE spfli-countryto,

fltime TYPE spfli-fltime,

deptime TYPE spfli-deptime,

fltype TYPE spfli-fltype,

END OF itab2 .

DATA:layout TYPE slis_layout_alv.

DATA:eve TYPE slis_t_event WITH HEADER LINE.

DATA:eve1 TYPE slis_t_event WITH HEADER LINE.

DATA:head TYPE slis_t_listheader WITH HEADER LINE.

DATA:fcat TYPE slis_t_fieldcat_alv.

DATA:fcat1 TYPE slis_t_fieldcat_alv.

layout-zebra = 'X'.

layout-colwidth_optimize = 'X'.

eve1-name = 'TOP_OF_PAGE'.

eve1-form = 'TOP_OF_PAGE1'.

APPEND eve1.

SELECTION-SCREEN BEGIN OF BLOCK blok1 WITH FRAME TITLE text-001.

PARAMETERS : p_carrid TYPE sflight-carrid,

p_connid TYPE sflight-connid.

SELECTION-SCREEN END OF BLOCK blok1 .

SELECTION-SCREEN BEGIN OF BLOCK blok2 WITH FRAME TITLE text-002.

SELECT-OPTIONS :s_fldate FOR sflight-fldate MODIF ID a.

SELECTION-SCREEN END OF BLOCK blok2.

SELECTION-SCREEN BEGIN OF BLOCK blok3 WITH FRAME TITLE text-003.

PARAMETERS : radio1 RADIOBUTTON GROUP g1 DEFAULT 'X' USER-COMMAND a.

PARAMETERS : radio2 RADIOBUTTON GROUP g1.

SELECTION-SCREEN END OF BLOCK blok3.

AT SELECTION-SCREEN OUTPUT.

LOOP AT SCREEN.

IF screen-group1 = 'A'.

IF radio1 = 'X'.

screen-input = 0.

ELSE.

screen-input = 1.

ENDIF.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

start-of-selection.

perform event.

perform alv1.

perform alv2.

end-of-selection.

*&----


*

*& Form get_data1

*&----


*

  • text

*----


*

FORM get_data1.

SELECT carrid connid fldate price planetype seatsmax seatsocc FROM sflight

INTO TABLE itab1

WHERE carrid EQ p_carrid

AND connid EQ p_connid

AND fldate IN s_fldate.

ENDFORM. "get_data1

*&----


*

*& Form get_data2

*&----


*

  • text

*----


*

FORM get_data2.

SELECT carrid connid countryfr countryto fltime deptime fltype FROM spfli

INTO TABLE itab2

WHERE carrid EQ itab1-carrid

AND connid EQ itab1-connid.

ENDFORM. "get_data2

*&----


*

*& Form event

*&----


*

  • text

*----


*

FORM event.

eve1-name = 'TOP_OF_PAGE'.

eve1-form = 'TOP_OF_PAGE1'.

APPEND eve1.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

i_list_type = 0

IMPORTING

et_events = eve[]

EXCEPTIONS

list_type_wrong = 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.

READ TABLE eve WITH KEY name = 'TOP_OF_PAGE'.

eve-form = 'TOP_OF_PAGE'.

MODIFY eve TRANSPORTING form WHERE name = 'TOP_OF_PAGE'.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'

EXPORTING

i_callback_program = sy-repid

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • IT_EXCLUDING =

.

ENDFORM. "event

*&----


*

*& Form alv1

*&----


*

  • text

*----


*

FORM alv1.

PERFORM get_data1.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

i_program_name = sy-repid

i_internal_tabname = 'ITAB1'

  • I_STRUCTURE_NAME =

  • I_CLIENT_NEVER_DISPLAY = 'X'

  • I_INCLNAME =

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

CHANGING

ct_fieldcat = fcat

  • EXCEPTIONS

  • INCONSISTENT_INTERFACE = 1

  • PROGRAM_ERROR = 2

  • OTHERS = 3

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

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

ENDIF.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'

EXPORTING

is_layout = layout

it_fieldcat = fcat

i_tabname = 'ITAB1'

it_events = eve[]

  • IT_SORT =

  • I_TEXT = ' '

TABLES

t_outtab = itab1

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • MAXIMUM_OF_APPENDS_REACHED = 2

  • OTHERS = 3

.

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

*&----


*

*& Form alv1

*&----


*

  • text

*----


*

FORM alv2.

PERFORM get_data2.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

i_program_name = sy-repid

i_internal_tabname = 'ITAB2'

  • I_STRUCTURE_NAME =

  • I_CLIENT_NEVER_DISPLAY = 'X'

  • I_INCLNAME =

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

CHANGING

ct_fieldcat = fcat1

  • EXCEPTIONS

  • INCONSISTENT_INTERFACE = 1

  • PROGRAM_ERROR = 2

  • OTHERS = 3

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

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

ENDIF.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'

EXPORTING

is_layout = layout

it_fieldcat = fcat

i_tabname = 'ITAB2'

it_events = eve[]

  • IT_SORT =

  • I_TEXT = ' '

TABLES

t_outtab = itab2

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • MAXIMUM_OF_APPENDS_REACHED = 2

  • OTHERS = 3

.

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

*&----


*

*& Form top_of_page

*&----


*

  • text

*----


*

FORM top_of_page.

REFRESH head.

head-typ = 'H'.

head-info = 'UÇU&#350; B&#304;LG&#304;LER&#304;'.

APPEND head.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

it_list_commentary = head[]

  • I_LOGO =

  • I_END_OF_LIST_GRID =

.

ENDFORM. "TOP_OF_PAGE

*&----


*

*& Form top_of_page

*&----


*

  • text

*----


*

FORM top_of_page1.

REFRESH head.

head-typ = 'H'.

head-info = 'UÇU&#350; DETAYLARI'.

APPEND head.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

it_list_commentary = head[]

  • I_LOGO =

  • I_END_OF_LIST_GRID =

.

ENDFORM. "TOP_OF_PAGE