Abap advanced list
Download
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 i
Example I

sales


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 ii
Example II

sales


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 i
Exercise I

ZSALES


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

___________



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

...

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 Accumulated

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 Accumulated

ZCUSTOMERS

ZSALES


Exercise ii1
Exercise II Accumulated

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 Accumulated

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) Accumulated

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.


Exercise iii
Exercise III Accumulated

ZSALES


Exercise iii1
Exercise III Accumulated


Alv report

ALV Report Accumulated


Alv report1
ALV Report Accumulated

  • ALV Report Listing using Function Module

  • ALV Report using Control (ABAP Object)


Alv grid listing
ALV Grid Listing Accumulated

  • Call function ‘REUSE_ALV_GRID_DISPLAY’


Alv grid listing example
ALV Grid Listing Example Accumulated

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 example i list grid display

ALV Example I AccumulatedList/Grid Display


Alv list grid display
ALV List/Grid Display Accumulated

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 example ii using field catalog

ALV Example II AccumulatedUsing Field Catalog


Alv field catalog
ALV Field Catalog Accumulated

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 Accumulated

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 Accumulated

*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 Accumulated

*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 Accumulated

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 catalog5
ALV Field Catalog Accumulated



Alv example iii using field catalog add derived column

ALV Example III AccumulatedUsing Field Catalog (Add Derived Column)


Alv field catalog add field
ALV Field Catalog Accumulated– 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 Accumulated– 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 add field2
ALV Field Catalog Accumulated– Add Field



Alv example iv using field catalog select inner join

ALV Example IV AccumulatedUsing Field Catalog (SELECT … INNER JOIN…)


Alv field catalog select inner join
ALV Field Catalog Accumulated– 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 Accumulated

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 Accumulated

ZCUSTOMERS

ZSALES

ZPRODUCTS


Alv report exercise iv
ALV Report : Exercise IV Accumulated

zsales-sale_date

zcustomers-id

zcustomers-name

zproducts-prod_name

zsales-qty


Alv technique

ALV Technique Accumulated


Alv variant
ALV : Variant Accumulated


Alv variant1
ALV : Variant Accumulated

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 Accumulated

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 zebra
ALV : Zebra Accumulated


Alv zebra1
ALV : Zebra Accumulated

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 Accumulated

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 title
ALV : Title Accumulated


Alv title1
ALV : Title Accumulated

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 Accumulated

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

Exercise Accumulated


Exercise sale order
Exercise Accumulated: Sale Order

KNA1

VBAK

VBAP


Exercise control break report
Exercise : Control-break Report Accumulated

vbak-audat

vbap-matnr

vbak-vbeln

vbak-kunnr

kna1-name1

vbap-netwr


Exercise alv report
Exercise Accumulated: ALV Report

vbak-audat

vbap-matnr

vbap-netwr

vbak-vbeln

vbak-kunnr

kna1-name1


ad