abap advanced list
Download
Skip this Video
Download Presentation
ABAP Advanced List

Loading in 2 Seconds...

play fullscreen
1 / 65

ABAP Advanced List - PowerPoint PPT Presentation


  • 87 Views
  • Uploaded on

ABAP Advanced List. Control Break Report ALV Report. Types of ABAP Report. 1. 3. 1. Report Listing 2. Drill-down Report 3. Control-break Report 4. ALV Report. 4. Internal Table Processing Technique Control-Break Report. Control Break Report Technique. AT FIRST

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' ABAP Advanced List' - lowri


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
abap advanced list

ABAP Advanced List

Control Break Report

ALV Report

types of abap report
Types of ABAP Report

1

3

1. Report Listing

2. Drill-down Report

3. Control-break Report

4. ALV Report

4

control break report technique
Control Break Report Technique
  • AT FIRST
  • AT NEW <Control Break field>
  • AT END OF <Control Break field>
  • AT LAST

ENDAT

  • SUM
program structure
Program Structure

tab

LOOP AT tab.

*Print Header

AT FIRST.

ENDAT.

*Print Control Break Field

AT NEW name.

ENDAT.

*Print Normal Data

WRITE: / …

*Sub Total

AT END OF name.

ENDAT.

*Report Total

AT LAST.

ENDAT.

ENDLOOP.

example i1
Example I

LOOP AT SALES.

*Print Header

AT FIRST.

FORMAT COLOR 1.

WRITE: / \'Name\', 23 \'Qty\', 35 \' \'.

ULINE: /(35).

FORMAT COLOR OFF.

ENDAT.

*Print Control Break Field

AT NEW NAME.

WRITE: / SALES-NAME.

ULINE: /(5).

ENDAT.

*Print Normal Data

WRITE: /15 SALES-QTY.

example i2
Example I

*Print Total for each group data

AT END OF NAME.

ULINE: /(35).

SUM.

WRITE: /5 \'Total\' ,15 SALES-QTY COLOR 3.

ENDAT.

*Print Grand Total for the report

AT LAST.

ULINE: /(35).

SUM.

WRITE: /2 \'Grand Total\', 15 SALES-QTY COLOR 7.

ULINE: /(35).

ENDAT.

ENDLOOP.

example ii1
Example II

LOOP AT SALES.

AT FIRST.

FORMAT COLOR 1.

WRITE: / \'Name\', 23 \'Qty\', 35 \' \'.

ULINE: /(35).

FORMAT COLOR OFF.

ENDAT.

AT END OF NAME.

SUM.

WRITE: / SALES-NAME, 15 SALES-QTY.

ULINE: /(35).

ENDAT.

AT LAST.

SUM.

WRITE: /5 \'Total\', 15 SALES-QTY.

ULINE: /(35).

ENDAT.

ENDLOOP.

exercise i1
Exercise I

ID

Product ID Quantity

1

A1 10

A1 100

A1 50

A2 50

A2 200

------------------------------

Total 410

3

X1 90

------------------------------

Total 90

------------------------------

Grand Total 500

----------------------------------

example iii
Example III

Data flight like spfli occurs 0 with Header line.

Select * from spfli into table flight.

loop at flight.

at new carrid.

write : / flight-carrid.

endat.

write flight-connid.

at end of carrid.

uline / (25).

endat.

endloop.

LH 0400 0402

___________

SQ 0110

___________

slide16

ID Name Month Y-T-D Accumulated

  • Product No.
  • ------------------------------------------------------------------------------------
  • A
  • -----------------
  • 01 100.00 400.00 1,000.00
  • 02 50.00 100.00 100.00
  • 03 100.00 100.00 100.00
  • ----------------------------------------------------
  • 250.00 600.00 1,200.00
  • 2 B
  • -----------------
  • 02 100.00 1,000.00 2,000.00
  • 03 100.00 100.00 100.00
  • ----------------------------------------------------
  • 200.001,100.00 2,100.00
  • ----------------------------------------------------
  • Total 450.00 1,340.00 3,200.00
  • ----------------------------------------------------
abap program
ABAP Program

...

loop at tab.

at first.

write: / ‘ID’ , 10 ‘Name’, 30 ‘Month’, 50 ‘Y-T-D’ ,

70 ‘Accumulated’.

write: /5 ‘Product No’.

uline /.

endat.

on change of tab-id.

write: / tab-id, 10 tab-name.

uline: /(20).

endon.

write: /5 tab-prodno, 30 tab-month, 50 tab-ytd,

70 tab-accum.

abap program1
ABAP Program

at end of id.

uline /30(60).

sum.

write: /30 tab-month, 50 tab-ytd, 70 tab-accum.

skip.

endat.

at last.

sum.

uline /30(60).

write: /10 ‘Total’, 30 tab-month, 50 tab-ytd, 70 tab-accum.

uline /30(60).

endat.

endloop.

exercise ii
Exercise II

ZCUSTOMERS

ZSALES

exercise ii1
Exercise II

ID Name

____Product ID Quantity

1 John

A1 10

A1 100

A1 50

A2 50

A2 200

----------------------------

Total 410

3 Peter

X1 90

----------------------------

Total 90

----------------------------

Grand Total 500

-------------------------------

control break report 1 level
Control Break Report > 1 Level

Loop at tab.

at new f1.

endat.

at new f2.

endat.

write: / … “normal data

at end of f2.

endat.

at end of f1.

endat.

Endloop.

tab

sort tab by f1 f2.

Group Header Level 1

Group Header Level 2

Sub Total Level 2

Sub Total Level 1

example iv control break 2 levels1
Example IV (Control-break 2 Levels)

AT NEW NAME.

WRITE: / SALES-NAME.

ULINE: /(5).

ENDAT.

AT NEW DATE.

WRITE: /10 SALES-DATE.

ULINE: /10(10).

ENDAT.

WRITE: /30 SALES-QTY.

AT END OF DATE.

ULINE: /(50).

SUM.

WRITE: /15 \'Sub Total(Date)\' ,30 SALES-QTY COLOR COL_TOTAL.

ENDAT.

AT END OF NAME.

ULINE: /(50).

SUM.

WRITE: /5 \'Sub Total(Name)\' ,30 SALES-QTY COLOR COL_TOTAL.

ENDAT.

alv report1
ALV Report
  • ALV Report Listing using Function Module
  • ALV Report using Control (ABAP Object)
alv grid listing
ALV Grid Listing
  • Call function ‘REUSE_ALV_GRID_DISPLAY’
alv grid listing example
ALV Grid Listing Example

REPORT ZALV01 NO STANDARD PAGE HEADING.

* Internal table

DATA: GT_TAB LIKE SFLIGHT OCCURS 0 WITH HEADERLINE.

* Load Data from DB into internal table

SELECT * FROM SFLIGHT INTO TABLE GT_TAB.

* Call ABAP List Viewer function

CALL FUNCTION \'REUSE_ALV_GRID_DISPLAY\'

EXPORTING

I_STRUCTURE_NAME = \'SFLIGHT\'

TABLES

T_OUTTAB = GT_TAB.

alv list grid display
ALV List/Grid Display

REPORT ZALV02 NO STANDARD PAGE HEADING.

PARAMETERS: list radiobutton group grp1,

grid radiobutton group grp1.

DATA: gt_tab LIKE sflight OCCURS 0 WITH HEADER LINE.

START-OF-SELECTION.

SELECT * FROM sflight INTO TABLE gt_tab.

IF list = \'X\'.

* Call ALV List Viewer

CALL FUNCTION \'REUSE_ALV_LIST_DISPLAY\'

EXPORTING

I_STRUCTURE_NAME = \'SFLIGHT\'

TABLES

T_OUTTAB = GT_TAB.

ELSE.

* Call ALV Grid Viewer

CALL FUNCTION \'REUSE_ALV_GRID_DISPLAY\'

EXPORTING

I_STRUCTURE_NAME = \'SFLIGHT\'

TABLES

T_OUTTAB = GT_TAB.

ENDIF..

alv field catalog
ALV Field Catalog

REPORT ZALV03 NO STANDARD PAGE HEADING.

type-pools slis.

types: begin of i_structure,

carrid like sflight-carrid,

connid like sflight-connid,

fldate like sflight-fldate,

price like sflight-price,

end of i_structure.

data: gt_fieldcat type slis_t_fieldcat_alv,

gt_outtab type i_structure occurs 0 with header line.

initialization.

perform field_cat_init using gt_fieldcat[].

alv field catalog1
ALV Field Catalog

FORM field_cat_init using rt_fieldcat type slis_t_fieldcat_alv.

data: ls_fieldcat type slis_fieldcat_alv,

pos type i value 1.

clear LS_FIELDCAT.

*Column 1

ls_fieldcat-col_pos = pos.

ls_fieldcat-fieldname = \'CARRID\'.

ls_fieldcat-ref_fieldname = \'CARRID\'.

ls_fieldcat-ref_tabname = \'SFLIGHT\'.

ls_fieldcat-key = \'X\'.

append ls_fieldcat to rt_fieldcat.

clear ls_fieldcat.

pos = pos + 1.

alv field catalog2
ALV Field Catalog

*Column 2

ls_fieldcat-col_pos = pos.

ls_fieldcat-fieldname = \'CONNID\'.

ls_fieldcat-ref_fieldname = \'CONNID\'.

ls_fieldcat-ref_tabname = \'SFLIGHT\'.

ls_fieldcat-key = \'X\'.

append ls_fieldcat to rt_fieldcat.

clear ls_fieldcat.

pos = pos + 1.

*Column 3

ls_fieldcat-col_pos = pos.

ls_fieldcat-fieldname = \'FLDATE\'.

ls_fieldcat-ref_fieldname = \'FLDATE\'.

ls_fieldcat-ref_tabname = \'SFLIGHT\'.

ls_fieldcat-key = \'X\'.

append ls_fieldcat to rt_fieldcat.

clear ls_fieldcat.

pos = pos + 1.

alv field catalog3
ALV Field Catalog

*Column 4

ls_fieldcat-col_pos = pos.

ls_fieldcat-fieldname = \'PRICE\'.

ls_fieldcat-ref_fieldname = \'PRICE\'.

ls_fieldcat-ref_tabname = \'SFLIGHT\'.

append ls_fieldcat to rt_fieldcat.

clear ls_fieldcat.

pos = pos + 1.

endform.

alv field catalog4
ALV Field Catalog

START-OF-SELECTION.

SELECT carrid connid fldate price

FROM SFLIGHT

INTO TABLE GT_OUTTAB.

CALL FUNCTION \'REUSE_ALV_GRID_DISPLAY\'

EXPORTING

I_STRUCTURE_NAME = \'I_STRUCTURE\'

IT_FIELDCAT = gt_fieldcat[]

TABLES

T_OUTTAB = gt_outtab.

alv field catalog add field
ALV Field Catalog – Add Field

types: begin of i_structure,

carrid like sflight-carrid,

connid like sflight-connid,

fldate like sflight-fldate,

price like sflight-price,

avail_seat like SFLIGHT-SEATSOCC,

end of i_structure.

START-OF-SELECTION.

select * from sflight.

move-corresponding sflight to gt_outtab.

gt_outtab-avail_seat = sflight-seatsmax - sflight-seatsocc.

append gt_outtab.

endselect.

alv field catalog add field1
ALV Field Catalog – Add Field

form field_cat_init using rt_fieldcat type slis_t_fieldcat_alv.

*Column 4

ls_fieldcat-col_pos = pos.

ls_fieldcat-fieldname = \'PRICE\'.

ls_fieldcat-ref_fieldname = \'PRICE\'.

ls_fieldcat-ref_tabname = \'SFLIGHT\'.

append ls_fieldcat to rt_fieldcat.

clear ls_fieldcat.

pos = pos + 1.

*Column 5

ls_fieldcat-col_pos = pos.

ls_fieldcat-fieldname = \'AVAIL_SEAT\'.

ls_fieldcat-SELTEXT_L = \'Available Seat\'.

ls_fieldcat-DDICTXT = \'L\'.

*ls_fieldcat-ref_fieldname = \'SEATSOCC\'.

*ls_fieldcat-ref_tabname = \'SFLIGHT\'.

append ls_fieldcat to rt_fieldcat.

clear ls_fieldcat.

pos = pos + 1.

endform.

alv field catalog select inner join
ALV Field Catalog – Select … Inner Join …

types: begin of i_structure,

carrid LIKE spfli-carrid,

connid LIKE spfli-connid,

fldate LIKE sflight-fldate,

cityto LIKE spfli-cityto,

price LIKE sflight-price,

end of i_structure.

START-OF-SELECTION.

SELECT spfli~carrid spfli~connid sflight~fldate

spfli~cityto sflight~price

INTO TABLE gt_outtab

FROM spfli INNER JOIN sflight

ON spfli~carrid = sflight~carrid AND

spfli~connid = sflight~connid.

alv field catalog6
ALV Field Catalog

form field_cat_init using rt_fieldcat type slis_t_fieldcat_alv.

*Column 4

ls_fieldcat-col_pos = pos.

ls_fieldcat-fieldname = \'CITYTO\'.

ls_fieldcat-ref_fieldname = \'CITYTO\'.

ls_fieldcat-ref_tabname = \'SPFLI\'.

APPEND ls_fieldcat TO rt_fieldcat.

CLEAR ls_fieldcat.

pos = pos + 1.

*Column 5

ls_fieldcat-col_pos = pos.

ls_fieldcat-fieldname = \'PRICE\'.

ls_fieldcat-ref_fieldname = \'PRICE\'.

ls_fieldcat-ref_tabname = \'SFLIGHT\'.

APPEND ls_fieldcat TO rt_fieldcat.

CLEAR ls_fieldcat.

pos = pos + 1.

ENDFORM. "field_cat_init

exercise iv
Exercise IV

ZCUSTOMERS

ZSALES

ZPRODUCTS

alv report exercise iv
ALV Report : Exercise IV

zsales-sale_date

zcustomers-id

zcustomers-name

zproducts-prod_name

zsales-qty

alv variant1
ALV : Variant

REPORT ZALV06 NO STANDARD PAGE HEADING.

type-pools slis.

types: begin of i_structure,

carrid like sflight-carrid,

connid like sflight-connid,

fldate like sflight-fldate,

price like sflight-price,

end of i_structure.

data: gt_fieldcat type slis_t_fieldcat_alv,

isvariant like DISVARIANT. "ADD

gt_outtab type i_structure occurs 0 with header line.

initialization.

perform field_cat_init using gt_fieldcat[].

isvariant-report = \'ZALV06\'. "ADD

alv variant2
ALV : Variant

START-OF-SELECTION.

SELECT carrid connid fldate price

FROM SFLIGHT

INTO TABLE GT_OUTTAB.

CALL FUNCTION \'REUSE_ALV_LIST_DISPLAY\'

EXPORTING

I_STRUCTURE_NAME = \'I_STRUCTURE\'

IT_FIELDCAT = gt_fieldcat[]

IS_VARIANT = isvariant "ADD

I_SAVE = \'A\' "ADD

“ A = user&Global,U = user,X = global

TABLES

T_OUTTAB = gt_outtab.

alv zebra1
ALV : Zebra

REPORT ZALV2 NO STANDARD PAGE HEADING.

type-pools slis.

types: begin of i_structure,

carrid like sflight-carrid,

connid like sflight-connid,

fldate like sflight-fldate,

price like sflight-price,

end of i_structure.

data: gt_fieldcat type slis_t_fieldcat_alv,

GT_LAYOUT TYPE SLIS_LAYOUT_ALV, "ADD

gt_outtab type i_structure occurs 0 with header line.

initialization.

perform field_cat_init using gt_fieldcat[].

GT_LAYOUT-ZEBRA = \'X\'. "ADD

alv zebra2
ALV : Zebra

START-OF-SELECTION.

SELECT carrid connid fldate price

FROM SFLIGHT

INTO TABLE GT_OUTTAB.

CALL FUNCTION \'REUSE_ALV_LIST_DISPLAY\'

EXPORTING

I_STRUCTURE_NAME = \'I_STRUCTURE\'

IT_FIELDCAT = gt_fieldcat[]

IS_LAYOUT = GT_LAYOUT "ADD

TABLES

T_OUTTAB = gt_outtab.

alv title1
ALV : Title

REPORT ZALV2 NO STANDARD PAGE HEADING.

type-pools slis.

types: begin of i_structure,

carrid like sflight-carrid,

connid like sflight-connid,

fldate like sflight-fldate,

price like sflight-price,

end of i_structure.

data: gt_fieldcat type slis_t_fieldcat_alv,

GT_GID_TITLE TYPE LVC_TITLE, "ADD

gt_outtab type i_structure occurs 0 with header line.

initialization.

perform field_cat_init using gt_fieldcat[].

concatenate \'Flight Information\' \' for ALV Report\' into GT_GID_TITLE. "ADD

alv title2
ALV : Title

START-OF-SELECTION.

SELECT carrid connid fldate price

FROM SFLIGHT

INTO TABLE GT_OUTTAB.

CALL FUNCTION \'REUSE_ALV_LIST_DISPLAY\'

EXPORTING

I_STRUCTURE_NAME = \'I_STRUCTURE\'

IT_FIELDCAT = gt_fieldcat[]

I_GRID_TITLE = GT_GID_TITLE "ADD

TABLES

T_OUTTAB = gt_outtab.

exercise control break report
Exercise : Control-break Report

vbak-audat

vbap-matnr

vbak-vbeln

vbak-kunnr

kna1-name1

vbap-netwr

exercise alv report
Exercise: ALV Report

vbak-audat

vbap-matnr

vbap-netwr

vbak-vbeln

vbak-kunnr

kna1-name1

ad