0% found this document useful (0 votes)
95 views4 pages

ALV - Total e Subtotal

This document defines code for displaying flight data in an ALV grid with subtotals and totals. It includes forms to fetch the flight data, build text for subtotals and totals, build the field catalog, layout and sorting. The data is then displayed in an ALV grid, which can be navigated via user commands.

Uploaded by

Henrique Orçati
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
95 views4 pages

ALV - Total e Subtotal

This document defines code for displaying flight data in an ALV grid with subtotals and totals. It includes forms to fetch the flight data, build text for subtotals and totals, build the field catalog, layout and sorting. The data is then displayed in an ALV grid, which can be navigated via user commands.

Uploaded by

Henrique Orçati
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

OO ALV WITH SUBTOTAL AND TOTAL TEXT

TYPES : BEGIN OF tab,
carrid TYPE sflight-carrid,
connid TYPE sflight-connid,
fldate TYPE sflight-fldate,
price TYPE sflight-price,
text1(20), ” FOR TOTAL TEXT
text2(20), ” FOR SUBTOTAL TEXT
END OF tab.

DATA : it_flight TYPE TABLE OF tab,
wa_flight TYPE tab,
it_fcat  TYPE lvc_t_fcat,
wa_fcat TYPE lvc_s_fcat,
wa_layo TYPE lvc_s_layo,
it_sort TYPE lvc_t_sort,
wa_sort TYPE lvc_s_sort,
o_cust TYPE REF TO cl_gui_custom_container,
o_alv TYPE REF TO cl_gui_alv_grid,
ok_code TYPE sy-ucomm.

START-OF-SELECTION.
PERFORM fetch_data.
PERFORM build_text.
PERFORM build_fieldcat.
PERFORM build_layout.
PERFORM build_sort.

END-OF-SELECTION.
CALL SCREEN 100.
*———————————————————————-*
FORM fetch_data .
SELECT carrid
connid
fldate      price FROM sflight INTO CORRESPONDING FIELDS OF TABLE it_flight.
SORT it_flight BY carrid ASCENDING.
ENDFORM.                    ” FETCH_DATA

*———————————————————————-*
FORM build_text .
DATA : carr TYPE sflight-carrid,
txt TYPE char20.
LOOP AT it_flight INTO wa_flight.
wa_flight-text1 = ‘Total Price = ‘.
IF wa_flight-carrid NE carr.
carr = wa_flight-carrid.
CONCATENATE ‘Subtotal (‘ carr ‘) =’ INTO txt SEPARATED BY space.
ENDIF.
wa_flight-text2 = txt.
MODIFY it_flight FROM wa_flight.
ENDLOOP.
ENDFORM.                    ” BUILD_TEXT

*———————————————————————-*
FORM build_fieldcat .
wa_fcat-col_pos  = 1.
wa_fcat-fieldname = ‘TEXT1’.
wa_fcat-tech = ‘X’.
wa_fcat-no_out = ‘X’.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.

wa_fcat-col_pos  = 2.
wa_fcat-fieldname = ‘TEXT2’.
wa_fcat-tech = ‘X’.
wa_fcat-no_out = ‘X’.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.

wa_fcat-col_pos  = 3.
wa_fcat-fieldname = ‘CARRID’.
wa_fcat-tabname = ‘IT_FLIGHT’.
wa_fcat-scrtext_m = ‘CARRID’.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.

wa_fcat-col_pos  = 4.
wa_fcat-fieldname = ‘CONNID’.
wa_fcat-tabname = ‘IT_FLIGHT’.
wa_fcat-scrtext_m = ‘CONNID’.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.

wa_fcat-col_pos  = 5.
wa_fcat-fieldname = ‘FLDATE’.
wa_fcat-tabname = ‘IT_FLIGHT’.
wa_fcat-scrtext_m = ‘FLIGHT DATE’.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.

wa_fcat-col_pos  = 6.
wa_fcat-fieldname = ‘PRICE’.
wa_fcat-tabname = ‘IT_FLIGHT’.
wa_fcat-scrtext_m = ‘PRICE’.
wa_fcat-do_sum = ‘X’.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.

ENDFORM.                    ” BUILD_FIELDCAT
*————————————————————*
FORM build_layout .
wa_layo-cwidth_opt = ‘X’.
wa_layo-zebra = ‘X’.
wa_layo-no_totline = ‘X’.
ENDFORM.                    ” BUILD_LAYOUT
*————————————————————-*
FORM build_sort .
wa_sort-spos = 1.
wa_sort-fieldname = ‘TEXT1’.
wa_sort-up = ‘X’.
wa_sort-subtot = ‘X’.
APPEND wa_sort TO it_sort.
CLEAR wa_sort.

wa_sort-spos = 2.
wa_sort-fieldname = ‘TEXT2’.
wa_sort-up = ‘X’.
wa_sort-subtot = ‘X’.
APPEND wa_sort TO it_sort.
CLEAR wa_sort.
ENDFORM.                    ” BUILD_SORT
*————————————————————-*
MODULE status_0100 OUTPUT.
SET PF-STATUS ‘STATUS’.
ENDMODULE.                 ” STATUS_0100  OUTPUT
*————————————————————*
MODULE display_alv_grid OUTPUT.
IF o_cust IS NOT BOUND.
CREATE OBJECT o_cust
EXPORTING 

 container_name = ‘CONT’.”CREATE A CUSTOM CONT WITH NAME ‘CONT’


ENDIF.
IF o_alv IS  NOT BOUND.
CREATE OBJECT o_alv
EXPORTING
i_parent = o_cust.
ENDIF.
CALL METHOD o_alv->set_table_for_first_display
EXPORTING
is_layout       = wa_layo
CHANGING
it_outtab       = it_flight
it_fieldcatalog = it_fcat

      it_sort         = it_sort.

ENDMODULE.                 ” DISPLAY_ALV_GRID  OUTPUT
*———————————————————–*
MODULE user_command_0100 INPUT.
CASE  ok_code.
WHEN ‘BACK’.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE.                 ” USER_COMMAND_0100  INPUT

*————————————————————*

  SCREEN 100 FLOW LOGIC

PROCESS BEFORE OUTPUT.

  MODULE status_0100.

  MODULE display_alv_grid.

PROCESS AFTER INPUT.

  MODULE user_command_0100. 

You might also like