Best SAP ABAP Training Institute with Placement in Pune | Aspire - PowerPoint PPT Presentation

About This Presentation
Title:

Best SAP ABAP Training Institute with Placement in Pune | Aspire

Description:

We are SAP ABAP training and placement institute in Pune. Learn ABAP programming with industry expert and start your SAP career. Attend the first lecture as Free Demo. – PowerPoint PPT presentation

Number of Views:38

less

Transcript and Presenter's Notes

Title: Best SAP ABAP Training Institute with Placement in Pune | Aspire


1
Training
By
2
Introduction To Internal Tables
www.aspireit.net
Call us 7058198728 / 8856033664
3
Report - Internal Tables
  • Internal tables fulfill the function of arrays.
  • Stores data extracted from database tables.
  • Internal tables can be nested.
  • It consists of Body and Header line.
  • Body Holds the rows of the internal
    table.
  • Header line Has same structure as row of the
    body holding a single row only.
  • Work Area
  • To change or output the contents of an internal
    table, you need a work area.
  • When processing an internal table, the system
    always fills the work area with the contents of
    the current table line.
  • You can then process the work area.
  • Header line is the default work area for internal
    tables with header line

www.aspireit.net
Call us 7058198728 / 8856033664
4
Report - Internal Tables
www.aspireit.net
Call us 7058198728 / 8856033664
5
Report - Declaring Internal Tables
TYPE typ OCCURS n Defines an internal table
without header line. Example TYPES BEGIN OF
LINE_TYPE, NAME(20) TYPE C,
AGE TYPE I, END OF LINE_TYPE. DATA
PERSONS TYPE LINE_TYPE OCCURS 20, PERSONS_WA
TYPE LINE_TYPE. PERSONS-NAME
'Michael'. PERSONS-AGE 25. APPEND PERSONS_WA
TO PERSONS.
www.aspireit.net
Call us 7058198728 / 8856033664
6
Report - Declaring Internal Tables
TYPE typ OCCURS n WITH HEADER LINE Defines an
internal table with header line. Such a table
consists of any number of table lines with the
type typ and a header line. Example TYPES
BEGIN OF LINE_TYPE, NAME(20) TYPE
C, AGE TYPE I, END OF
LINE_TYPE. DATA PERSONS TYPE LINE_TYPE OCCURS
20 WITH HEADER LINE. PERSONS-NAME
'Michael'. PERSONS-AGE 25. APPEND PERSONS.
www.aspireit.net
Call us 7058198728 / 8856033664
7
Report - Declaring Internal Tables
  • Referencing data dictionary object
  • With header line
  • DATA FLIGHT_TAB LIKE SFLIGHT OCCURS 10 WITH
    HEADER LINE.
  • Without header line
  • DATA FLIGHT_TAB LIKE SFLIGHT OCCURS 10.
  • DATA FLIGHT_TAB LIKE SFLIGHT.
  • Including structures
  • You can Include another structure into Internal
    table.
  • DATA BEGIN OF T_TAB1 OCCURS 10,
  • FIELDS1 LIKE BKPF-BELNR,
  • FIELDS2 LIKE BSEG-BUZEI,
  • END OF T_TAB1.
  • DATA BEGIN OF T_TAB2 OCCURS 10.
  • INCLUDE STRUCTURE T_TAB1.
  • DATA END OF T_TAB2.
  • In this example, T_TAB2 will also contain the
    fields FIELD1 FIELD2.

www.aspireit.net
Call us 7058198728 / 8856033664
8
Report - Filling Internal Tables
  • APPEND Statement
  • APPEND wa TO INITIAL LINE TO itab.
  • Appends a new line to the end of the internal
    table itab. If you specify wa TO, the new line is
    taken from the contents of the explicitly
    specified work area wa.
  • If you use INITIAL LINE TO, a line filled with
    the correct value for the type is added. If the
    specification before itab is omitted, the new
    line is taken from the internal table itab.
  • After the APPEND, the system field SY-TABIX
    contains the index of the newly added table
    entry.

www.aspireit.net
Call us 7058198728 / 8856033664
9
Report - Filling Internal Tables
  • INSERT Statement
  • INSERT wa INTO INITIAL LINE INTO itab
    INDEX idx.
  • Inserts a new line into an internal table. If you
    specify wa INTO , the new line is taken from the
    contents of the explicitly specified work area
    wa.
  • When using INITIAL LINE INTO , a line containing
    the appropriate initial value for its type is
    inserted into the table. If you omit the
    specification before itab , the new line is taken
    from the header line of the internal table itab.
  • INDEX idx specifies the table index before which
    the line is inserted into the table itab .

www.aspireit.net
Call us 7058198728 / 8856033664
10
Assigning internal tables
  • Internal tables without header line
  • MOVE ITAB1 TO ITAB2.
  • ITAB2 ITAB1
  • Internal tables with header line
  • MOVE ITAB1 TO ITAB2 .
  • ITAB2 ITAB1 .

www.aspireit.net
Call us 7058198728 / 8856033664
11
Extracting data from database table
  • SELECT c1 c2 cn FROM ltdbtablegt
  • INTO TABLE ltitabgt
  • WHERE ltconditiongt.
  • dbtable Name of the database table
  • c1,c2,cn columns in the database table
  • itab Internal table that holds the data
  • condition WHERE clause condition

www.aspireit.net
Call us 7058198728 / 8856033664
12
Report - Retrieving Internal Tables
  • LOOP AT Statement
  • LOOP AT itab.
  • LOOP AT itab INTO wa.
  • Processes an internal table (DATA) in a loop
    which begins with LOOP and ends with ENDLOOP.
    Each of the internal table entries is sent to the
    output area in turn.
  • When LOOP AT itab. is used, the header line of
    the internal table itab is used as output area.
  • In the case of LOOP AT itab INTO wa , there is an
    explicitly specified work area wa.
  • If the internal table is empty, all the
    statements between LOOP and ENDLOOP are ignored.
  • In each loop pass, SY-TABIX contains the index of
    the current table entry. After leaving a LOOP,
    SY-TABIX has the same value as it had before.

www.aspireit.net
Call us 7058198728 / 8856033664
13
Report - Retrieving Internal Tables
  • READ Statement
  • READ TABLE itab INDEX idx INTO WA.
  • READ TABLE itab WITH KEY ltk1gt ltf1gt
  • ltk2gt ltf2gt
  • ltkngt ltfngt INTO wa
  • BINARY SEARCH.
  • Reads an internal table entry. An entry can be
    chosen using a key or its index idx.
  • With "READ TABLE itab.", the header line of the
    internal table itab is used as the output area
    with "READ TABLE itab INTO wa." the explicitly
    specified work area wa is used for this purpose.
  • For BINARY SEARCH, the internal table itab should
    be sorted by the keys k1,k2kn.

www.aspireit.net
Call us 7058198728 / 8856033664
14
Report - Modifying Internal Tables
  • MODIFY Statement
  • MODIFY itab FROM wa INDEX idx.
  • Changes an entry in the internal table itab .
  • If you specify FROM wa , the line is replaced by
    the explicitly specified work area wa . If the
    FROM specification is omitted, the line is
    replaced by the header line from itab .
  • With INDEX idx, you can specify the table index
    of the line to be changed. The index
    specification can be omitted in a LOOP on an
    internal table.
  • The INDEX specification can also appear before
    the FROM specification.
  • Note
  • The counting of table entries begins with 1.

www.aspireit.net
Call us 7058198728 / 8856033664
15
Report - Deleting Internal Tables
  • DELETE Statement
  • DELETE itab.
  • The current entry of the internal table itab is
    deleted in a LOOP loop.
  • Return code value is set to 0.
  • DELETE itab INDEX idx.
  • Deletes the idx entry from the internal table
    itab .
  • The return code value is set as follows
  • SY-SUBRC 0 The entry was deleted.
  • SY_SUBRC 4 The entry does not exist.

www.aspireit.net
Call us 7058198728 / 8856033664
16
Report - Deleting Internal Tables
  • DELETE Statement
  • DELETE itab FROM idx1 TO idx2.
  • Deletes the line area from index idx1 to idx2
    from internal table itab. At least one of the two
    parameters FROM idx1 or TO idx2 should be
    specified.
  • If parameter FROM is missing, the area from the
    start of the table to line idx2 is deleted.
  • If parameter TO is missing, the area from line
    idx1 to the end of the table is deleted.
  • Start index idx1 must be greater than 0. The
    return code value is set as follows
  • SY-SUBRC 0 At least one entry was deleted.
  • SY_SUBRC 4 None of the entries were deleted.

www.aspireit.net
Call us 7058198728 / 8856033664
17
Report - Sorting Internal Tables
  • SORT Statement
  • SORT itab DESCENDING.
  • SORT itab ASCENDING.
  • SORT itab BY f1 f2 ... fi.
  • Sorts the entries of the internal table itab in
    ascending order. The default key is used as the
    sort key for internal tables.
  • Sorts itab by the sub-fields f1, f2 , ..., fi
    which form the sort key. These fields can be any
    type (even number fields or tables).
  • Unless you specify otherwise, the sort is in
    ascending order. You can also use additions 1 and
    2 before BY if you want all sub-fields to apply.
  • To change the sort sequence for each individual
    field, specify DESCENDING or ASCENDING after each
    of the sub-fields f1 , f2 , ..., fi .

www.aspireit.net
Call us 7058198728 / 8856033664
18
CLEAR/REFRESH
  • CLEAR ITAB.
  • If ITAB is an internal table without a header
    line, the entire table is deleted together with
    all its entries.
  • If, however, ITAB is an internal table with a
    header line, only the subfields in the table
    header entry are reset to their initial values.
  • To delete the entire internal table together with
    all its entries, you can use CLEAR ITAB or
    REFRESH ITAB.
  • NOTE
  • CLEAR f.
  • Clears the field contents

www.aspireit.net
Call us 7058198728 / 8856033664
19
Report - Retrieving Internal Table attributes
  • DESCRIBE Statement
  • DESCRIBE TABLE itab.
  • Returns the attributes of the internal table
    itab. You must use at least one of the additions
    listed below.
  • Additions
  • 1. ... LINES lin
  • Places the number of filled lines of the table t
    in the field lin.
  • 2. ... OCCURS n
  • Transfers the size of the OCCURS parameter from
    the table definition to the variable n.

www.aspireit.net
Call us 7058198728 / 8856033664
20
Report - Control Break With Internal Tables
  • All these structures begin with AT and end with
    ENDAT. The sequence of statements which lies
    between them is then executed if a control break
    occurs.
  • AT NEW f. / AT END OF f.
  • f is a sub-field of an internal table processed
    with LOOP.
  • The sequence of statements which follow it is
    executed if the sub-field f or a sub-field in the
    current LOOP line defined (on the left) before f
    has a different value than in the preceding (AT
    NEW) or subsequent (AT END OF) table line.
  • AT FIRST. / AT LAST.
  • Executes the appropriate sequence of statements
    once during the first (AT FIRST) or last (AT
    LAST) loop pass.

www.aspireit.net
Call us 7058198728 / 8856033664
21
Report - Control Break With Internal Tables
  • AT FIRST
  • Statements are executed before any records are
    processed while looping at Internal table.
  • Example
  • LOOP AT itab.
  • AT FIRST.
  • WRITE SY-ULINE.
  • ENDAT.
  • ENDLOOP.

www.aspireit.net
Call us 7058198728 / 8856033664
22
Report - Control Break With Internal Tables
  • AT LAST
  • Statements are executed after all records are
    processed while looping at Internal table.
  • Example
  • LOOP AT itab.
  • AT LAST.
  • WRITE SY-ULINE.
  • ENDAT.
  • ENDLOOP.

www.aspireit.net
Call us 7058198728 / 8856033664
23
Report - Control Break With Internal Tables
  • AT NEW ltField Namegt
  • Statements are executed at the beginning of a
    group of records containing the same value for
    ltField Namegt..
  • Example
  • LOOP AT itab.
  • AT NEW I_LIFNR.
  • WRITE SY-ULINE
  • ENDAT.
  • ENDLOOP.

24
(No Transcript)
25
Report - Control Break With Internal Tables
  • AT END OF ltField Namegt
  • Statements are executed at the end of a group
    of records containing the same value for ltField
    Namegt.
  • Example
  • LOOP AT itab.
  • AT END OF I_LIFNR.
  • WRITE SY-ULINE.
  • ENDAT.
  • ENDLOOP.
  • Note
  • AT NEW and AT END OF make sense only for a sorted
    table.

26
Report - Summation
  • SUM Statement
  • SUM.
  • SUM calculates the control totals of all fields
    of type I , F and P and places them in the LOOP
    output area (header line of the internal table or
    an explicitly specified work area).
  • You can use the SUM statement both at the end and
    the beginning of a control group
  • Example
  • LOOP AT itab.
  • AT LAST.
  • SUM.
  • WRITE itab-fld1.
  • ENDAT.
  • ENDLOOP.
  • Prints the sum of values of fld1 in all rows of
    itab.
  • Fld1 should be a numeric type field

27
Report - Summation
  • COLLECT Statement
  • COLLECT wa INTO itab.
  • COLLECT is used to summate entries in an internal
    table.
  • COLLECT APPEND, if no entries with the same
    key exists
  • Adds the numeric values to
    their corresponding field values, if an entry
    with same key exists
  • Used to create summarized tables.

28
Report - Summation
  • COLLECT Statement Example
  • Timesheets per employee per day
  • INT_EMPTMSHT EMPNO(char), EDATE(date),
    HOURS(integer)
  • Total time per employee for the whole period
    under consideration
  • INT_TMSHTSUM EMPNO(char),HOURS(integer)

INT_EMPTMSHT INT_EMPTMSHT INT_EMPTMSHT
1000 20040102 5
1000 20040103 7
1001 20040103 8
1001 20040106 3
INT_TMSHTSUM INT_TMSHTSUM
1000 12
1001 8
29
Report - Summation
  • COLLECT Statement Example
  • LOOP AT INT_EMPTMSHT.
  • MOVE-CORRESPONDING INT_EMPTMSHT TO INT_TMSHTSUM.
  • COLLECT INT_TMSHTSUM.
  • ENDLOOP.

INT_TMSHTSUM INT_TMSHTSUM
1000 5
INT_TMSHTSUM INT_TMSHTSUM
1000 12
INT_TMSHTSUM INT_TMSHTSUM
1000 12
1001 8
INT_TMSHTSUM INT_TMSHTSUM
1000 12
1001 11
INT_EMPTMSHT INT_EMPTMSHT INT_EMPTMSHT
1000 20040102 5
1000 20040103 7
1001 20040103 8
1001 20040106 3
30
Thank You
  • For SAP ABAP Online / Classroom Training
  • Please visit our website www.aspireit.net
  • call us on 7058198728  /  8856033664
Write a Comment
User Comments (0)
About PowerShow.com