Abap advanced list
This presentation is the property of its rightful owner.
Sponsored Links
1 / 65

ABAP Advanced List PowerPoint PPT Presentation


  • 57 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

ABAP Advanced List

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


Abap advanced list

Internal Table Processing TechniqueControl-Break Report


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 data for example iii

Example Data for Example III

spfli


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

___________


Internal table processing example

Internal Table Processing Example

tab(internal table)


Abap advanced list

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

Example IV (Control-break 2 Levels)

sales


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.


Exercise iii

Exercise III

ZSALES


Exercise iii1

Exercise III


Alv report

ALV Report


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

ALV Example IList/Grid Display


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 report exercise i

ALV Report : Exercise I


Alv example ii using field catalog

ALV Example IIUsing Field Catalog


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 catalog5

ALV Field Catalog


Alv report exercise ii

ALV Report : Exercise II


Alv example iii using field catalog add derived column

ALV Example IIIUsing Field Catalog (Add Derived Column)


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 add field2

ALV Field Catalog – Add Field


Alv report exercise iii

ALV Report : Exercise III


Alv example iv using field catalog select inner join

ALV Example IVUsing Field Catalog (SELECT … INNER JOIN…)


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


Alv report example iv

ALV Report : Example IV


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 technique

ALV Technique


Alv variant

ALV : Variant


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 zebra

ALV : Zebra


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 title

ALV : Title


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

Exercise


Exercise sale order

Exercise: Sale Order

KNA1

VBAK

VBAP


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


  • Login