Skip to Content
author's profile photo Former Member
Former Member

Std Internal Tables

Hi, what are Standard Internal Tables and Standard reports, and can I have names of some 'Standard Internal Tables' and 'Standard Reports' plz ?

Thnx.

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

8 Answers

  • Best Answer
    author's profile photo Former Member
    Former Member
    Posted on Feb 18, 2008 at 02:35 PM

    Standard tables have an internal linear index. From a particular size upwards, the indexes of

    internal tables are administered as trees. In this case, the index administration overhead

    increases in logarithmic and not linear relation to the number of lines. The system can access

    records either by using the table index or the key. The response time for key access is

    proportional to the number of entries in the table. The key of a standard table is always

    non-unique. You cannot specify a unique key. This means that standard tables can always be filled

    very quickly, since the system does not have to check whether there are already existing entries.

    List of Standar Tables:

    DBCON

    Description of database connections (including password)

    DD02V

    Date dictionary tables

    DD03L

    Date dictionary tables and fields

    DD07T

    Texts for Domain Fixed Values

    T100

    Table of message ( mesage class and message number )

    TRDIR

    Table of programs

    TRMAC

    Table of macros

    TSTC

    Table of transaction codes

    TADIR

    Directory of R/3 repository objects

    TFACD

    Factory calender definition

    THOCI

    Public holiday calendar index

    TPARA

    Table of PID's

    DEVACCESS

    Table of development users including registered Developer access key

    USR02

    Logon data

    USR04

    User master authorization (one row per user)

    UST04

    User profiles (multiple rows per user)

    USR10

    Authorisation profiles (i.e. &_SAP_ALL)

    UST10C

    Composit profiles (i.e. profile has sub profile)

    USR11

    Text for authorisation profiles

    USR12

    Authorisation values

    USR13

    Short text for authorisation

    USR40

    Table for illegal passwords

    OBJT

    Authorisation objetc table

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Feb 18, 2008 at 02:37 PM

    ABAP program that reads and analyzes the data in database tables and sometimes also makes updates.

    ABAP report programs have the program type "executable program" and are often linked to a particular logical database.

    When you execute an ABAP report program, you can display the resulting output list - also known as a report - on the screen or send it to a printer. You can also save the output list and display it later.

    BALVBT01

    Example SAP program for displying multiple ALV reports on one page

    BCALV_GRID_DEMO

    ALV Dialog grid demo (4.6)

    SHOW_COLO

    Displays all colours available

    SHOW_ICON

    Displays all icon available

    RGUGBR00

    Substitution/Validation and rules utility

    RKCTSEAR

    Search source code of various programs for up to two strings. Also see RPR_ABAP_SOURCE_SCAN or use search in source functionality via SE80

    RPCIFU01

    Display File

    RPCIFU03

    Download Unix File to PC

    RPCIFU04

    Upload PC File to Unix File

    RPR_ABAP_SOURCE_SCAN

    Search ABAP code for a string. Much more flexible than RSRSCAN1 or RKCTSEAR

    RSBDCBTC

    Submit a BDC job with an internal batch number and wait for the end of the batch input session

    RSBDCDRU

    Prints the contents of a Batch Input session. No options for error transactions only

    RSBDCOS0

    Execute OS Command (Logged in SYSLOG and Trace Files)

    RSBDCSUB

    Process batch input sessions automatically

    RSBTCDEL

    Delete batch jobs

    RSCONN01

    SAPconnect: Start Email Send Process

    RSCSAUTH

    Maintain/Restore Authorization Groups

    RSINCL00

    Extended ABAP Program Reference List

    RSMODRES

    Restore enhancement projects after upgarde

    RSORAREL

    Check Oracle Version

    RSPARAM

    Display all instance parameters

    RSPO0041

    Delete Old Spool Requests

    RSSNAPDL

    Reorganization Program for Table SNAP of Short Dumps

    RSTRANSP

    Transport Report Variants

    RSTXFCON

    SAPscript: Conversion of Page Format for Forms

    RSTXPDFT4

    Convert spool request to PDF document

    RSTXPDFT5

    GUI download of a spool request

    RSTXSCRP

    SAPscript Export to Dataset / SAPscript Import from Dataset (Upload and download SAPScript layout sets)

    RSTXTRAN

    Transfer of SAPscript Texts(standard texts) to a transport

    RSUSR003

    Check the Passwords of Users SAP* and DDIC in All Clients

    RSUSR006

    List of Users with Incorrect Logons

    RSVARFIT

    Adjust Variants to Modified Selections

    RSVTPROT

    Evaluation of change logs

    RSWBO052

    Change Object Directory Entries

    RSWBO060

    Include Objects in a Transport Request

    SAPMSUU0

    Program for user maintenance(SU01), Maybe useful if you do not have access to the actual SU01 transaction code.

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Feb 18, 2008 at 10:38 AM

    internal tables are 3 types

    1) standard

    2) sort

    3) hash

    standard reports means sap provided reports.

    don't compare standard reports and standard internal tables

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Feb 18, 2008 at 10:39 AM

    Hi Zayed,

    Standard Internal tables have a linear index. Do have a look at this link.

    <<http://www.sap-img.com/abap/what-are-different-types-of-internal-tables-and-their-usage.htm>>

    Some examples for Standard Reports can be found here:

    <<http://www.sapbrainsonline.com/REFERENCES/StandardReports/SAP_standard_reports_list.html>>

    Regards,

    Nameeta

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Feb 18, 2008 at 10:40 AM

    Hi Khan,

    The standard reports will start with letter 'R'. Go to SE38 and give R*, you will find so many reports. For example, RSWUWFML2 is the report used to send the workitem to outlook.

    For standard internal table, u can see the below link,

    http://help.sap.com/saphelp_47x200/helpdata/en/fc/eb3660358411d1829f0000e829fbfe/frameset.htm

    Regards,

    JMB

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Feb 18, 2008 at 10:41 AM

    Hi

    Standard tables

    This is the most appropriate type if you are going to address the individual table entries using the index. Index access is the quickest

    possible access. You should fill a standard table by appending lines (ABAP APPEND statement), and read, modify and delete entries by

    specifying the index (INDEX option with the relevant ABAP command). The access time for a standard table increases in a linear relationship

    with the number of table entries. If you need key access, standard tables are particularly useful if you can fill and process the table in

    separate steps. For example, you could fill the table by appending entries, and then sort it. If you use the binary search option with key

    access, the response time is logarithmically proportional to the number of table entries.

    TYPES: BEGIN OF DEEPLINE,

    FIELD TYPE C,

    TABLE1 TYPE VECTOR,

    TABLE2 TYPE ITAB,

    END OF DEEPLINE.

    TYPES DEEPTABLE TYPE STANDARD TABLE OF DEEPLINE

    WITH DEFAULT KEY.

    and

    The standard Programs which SAP had developed that names does not start with Z or Y that programs are called as Standrad Reports

    BALVBT01

    Example SAP program for displying multiple ALV reports on one page

    BCALV_GRID_DEMO

    ALV Dialog grid demo (4.6)

    SHOW_COLO

    Displays all colours available

    SHOW_ICON

    Displays all icon available

    RGUGBR00

    Substitution/Validation and rules utility

    RKCTSEAR

    Search source code of various programs for up to two strings. Also see RPR_ABAP_SOURCE_SCAN or use search in source functionality via SE80

    RPCIFU01

    Display File

    RPCIFU03

    Download Unix File to PC

    RPCIFU04

    Upload PC File to Unix File

    RPR_ABAP_SOURCE_SCAN

    Search ABAP code for a string. Much more flexible than RSRSCAN1 or RKCTSEAR

    RSBDCBTC

    Submit a BDC job with an internal batch number and wait for the end of the batch input session

    RSBDCDRU

    Prints the contents of a Batch Input session. No options for error transactions only

    RSBDCOS0

    Execute OS Command (Logged in SYSLOG and Trace Files)

    RSBDCSUB

    Process batch input sessions automatically

    RSBTCDEL

    Delete batch jobs

    RSCONN01

    SAPconnect: Start Email Send Process

    RSCSAUTH

    Maintain/Restore Authorization Groups

    RSINCL00

    Extended ABAP Program Reference List

    RSMODRES

    Restore enhancement projects after upgarde

    RSORAREL

    Check Oracle Version

    RSPARAM

    Display all instance parameters

    RSPO0041

    Delete Old Spool Requests

    RSSNAPDL

    Reorganization Program for Table SNAP of Short Dumps

    RSTRANSP

    Transport Report Variants

    RSTXFCON

    SAPscript: Conversion of Page Format for Forms

    RSTXPDFT4

    Convert spool request to PDF document

    RSTXPDFT5

    GUI download of a spool request

    RSTXSCRP

    SAPscript Export to Dataset / SAPscript Import from Dataset (Upload and download SAPScript layout sets)

    RSTXTRAN

    Transfer of SAPscript Texts(standard texts) to a transport

    RSUSR003

    Check the Passwords of Users SAP* and DDIC in All Clients

    RSUSR006

    List of Users with Incorrect Logons

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Feb 18, 2008 at 10:45 AM

    these are some of the standard reports\

    REKH0004

    SAP demo program that shows how to do 2d 3D, and 4D graphics.

    RGUGBR00

    Substitution/Validation utility

    RHGEN00

    Regen PD and PA inconsistencies

    RHGRENZ0

    Delimit IT1000 and related 1001s. Program will delete any 1001 infotypes whose start date is after the delimit date.

    RHGRENZ1

    Extend the end date on delimited records. Very useful when you delimit a bunch of records incorrectly, and need to change the end date.

    RHGRENZ2

    Delimit IT1001 only.

    RKCTSEAR

    Search source code for up to two strings. Also see RSRSCAN1 and RPR_ABAP_SOURCE_SCAN.

    RPDTRA00

    List all HR transactions.

    RPR_ABAP_SOURCE_SCAN

    Search ABAP code for a string. Has many more options for selecting the ABAPs to search than RSRSCAN1 or RKCTSEAR.

    RPUAUD00

    HR Report to list all logged changes for an employee. Uses the PCL4 Audit Cluster.

    RPUAUDDL

    HR Report to delete audit data from the PCL4 Audit Cluster.

    RPUDELPN

    Delete all info for an employee number, including cluster data and infotypes

    RPUP1D00/10

    View/Delete data from PCL1 Cluster

    RPUP2D00/10

    View/Delete data from PCL2 Cluster

    RPUP3D00/10

    View/Delete data from PCL3 Cluster

    RPUP4D00/10

    View/Delete data from PCL4 Cluster

    RSABAPIV

    Mass print/display of ABAP/4 help text

    RSAVGL00

    Table adjustment across clients

    RSBDCBTC

    Submit a BDC job with an internal batch number and wait for the end of the batch input session.

    RSBDCDRU

    Prints the contents of a Batch Input session. No options for error transactions only.

    RSBDCOS0

    Execute UNIX commands. Looks similar to the old SAPMSOS0 program that disappeared in 3.0

    RSBDCSUB

    Release batch input sessions automatically

    RSBTCDEL

    Clean the old background job records

    RSSDOCTB

    R/3 Table Manual - prints a list of all fields in the selected tables with the field name and the field documentation.

    RSCLTCOP

    Copy tables across clients

    RSDBCREO

    Clean batch input session log

    RSINCL00

    Extended program list

    RSNASTED

    Process message control output for entries in the NAST table

    RSORAREL

    Get the Oracle Release

    RSPARAM

    Display all instance parameters

    RSPO0041

    Removing old spooling objects

    RSRSCAN1

    Search source code for a given string. Will also search includes. Also see RKCTSEAR and RPR_ABAP_SOURCE_SCAN.

    RSSNAPDL

    Clean the old ABAP error dumps

    RSTBSERV

    Compare a contents of a table between clients

    RSTXFCON

    Converts SAPScript page formats

    RSTXSCRP

    Save a SAPScript layout set to disk, and load it back into SAP.

    RSTXSCRP

    Transport SAPscript files across systems

    RSTXSCRP

    Upload and download SAPScript layout sets

    RSTXTPDF4

    Pass the spool number of a report's output to this program to have the output converted to PDF format.

    RSTXTRAN

    Add standard texts to a transport so they can be moved between systems.

    RSUSR003

    Check the passwords of users SAP* and DDIC in all clients

    RSUSR006

    List users last login

    RSWBO052

    Change development class of a sapscript (provided by Alan Cecchini)

    RSWBO060

    put objects into a request and transport it to any other system

    inernal tables

    INTERNAL TABLES IN ABAP:

    There are two ways of accessing the records in an internal table:

    By copying individual records into a work area. The work area must be compatible with the line type of the internal table.

    You can access the work area in any way, as long as the component you are trying to access is not itself an internal table. If one of the components is an internal table, you must use a further work area, whose line type is compatible with that of the nested table.

    When you change the internal table, the contents of the work area are either written back to the table or added as a new record.

    By assigning the individual data records to an appropriate field symbol. Once the system has read an entry, you can address its components directly via its address. There is no copying to and from the work area. This method is particularly appropriate for accessing large or complex tables.

    If you want to read more than one record, you must use a LOOP... ENDLOOP structure. You can then change or delete the line that has just been read, and the system applies the change to the table body. You can also change or delete lines using a logical condition.

    When you use the above statements with sorted tables, you must ensure that the sort sequence is maintained.

    Within a loop, the INSERT statement adds the data record before the current record in the table. If you want to insert a set of lines from an internal table into another index table, you should use the INSERT LINES OF variant instead.

    When you read single data records, you can use two further additions:

    In the COMPARING addition, the system compares the field contents of a data record with those in the work area for equality.

    In the TRANSPORTING addition, you can restrict the data transport to selected fields.

    Other statements for standard tables

    SORT [ASCENDING|DESCENDING]

    [BY [ASCENDING|DESCENDING] ..

    [ASCENDING|DESCENDING]][AS TEXT] [STABLE].

    These statements sort the table by the table key or the specified field sequence. If you do not use an addition, the system sorts ascending. If you use the AS TEXT addition, character fields are sorted in culture-specific sequence. The relative order of the data records with identical sort keys only remain constant if you use the STABLE addition.

    APPEND INTO SORTED BY .

    This statement appends the work area to the ranked list in descending order. The ranked list may not be longer than the specified INITIAL SIZE, and the work area must satisfy the sort order of the table.

    The statements listed here can be used freely with both standard and sorted tables.

    When you change a single line, you can specify the fields that you want to change using the TRANSPORTING addition. Within a loop, MODIFY changes the current data record.

    If you want to delete a set of lines from an index table, use the variant DELETE FROM... TO.. or WHERE... instead of a loop. You can program almost any logical expression after WHERE.

    The only restriction is that the first field in each comparison must be a component of the line structure (see the corresponding Open SQL statements). You can pass component names dynamically.

    If you want to delete the entire internal table , use the statement CLEAR .

    In the LOOP AT... ENDLOOP structure, the statements within the loop are applied to each data record in turn. The INTO addition copies entries one at a time into the work area.

    The system places the index of the current loop pass in the system field sy-tabix. When the loop has finished, sy-tabix has the same value that it had before the loop started.

    Inserting and deleting lines within a loop affects the following loop passes.

    Access to a hashed table is imple mented using a hash algorithm. Simplified, this means that the data records are distributed randomly but evenly over a particular memory area.. The addresses are stored in a special table called the hashing table .

    There is a hash function, which determines the address at which the pointer to a data record with a certain key can be found. The function is not injective, that is, there can be several data records stored at a single address. This is implemented internally as a chained list. Therefore, although the system still has to search sequentially within these areas, it only has to read a few data records (usually no more than three). The graphic illustrates the simplest case, that is, in which there is only one data record stored at each address.

    Using a hash technique means that the access time no longer depends on the total number of entries in the table. On the contrary, it is always very fast. Hash tables are therefore particularly useful for large tables with which you use predominantly read access.

    Data records are not inserted into the table in a sorted order. As with standard tables, you can sort hashed tables using the SORT statement:

    SORT [ASCENDING|DESCENDING]

    [BY [ASCENDING|DESCENDING] ..

    [ASCENDING|DESCENDING]][AS TEXT].

    Sorting the table can be useful if you later want to use a loop to access the table.

    You can use the statements listed here with tables of all three types. Apart from a few special cases, you can recognize the statements from the extra keyword TABLE. The technical implementation of the statements varies slightly according to the table type.

    As a rule, index access to an internal table is quickest. However, it sometimes makes more sense to access data using key values. A unique key is only possible with sorted and hashed tables. If you use the syntax displayed here, your program coding is independent of the table type (generic type specification, easier maintenance).

    With a standard table, inserting an entry has the same effect as appending. With sorted tables with a non-unique key, the entry is inserted before the first (if any) entry with the same key.

    To read individual data records using the first variant, all fields of that are key fields of must be filled. and can be identical. If you use the WITH TABLE KEY addition in the second variant, you must also specify the key fully. Otherwise, the system searches according to the sequence of fields that you have specified, using a binary search where possible. You can force the system to use a binary search with a standard table using the BINARY SEARCH addition.

    In this case, you must sort the table by the corresponding fields first. The system returns the first entry that meets the selection criteria.

    Similarly to when you read entries, when you change and delete entries using the key and a work area, you must specify all of the key fields.

    You can prevent fields from being transported into the work area during loop processing by using the TRANSPORTING NO FIELDS addition in the WHERE condition. (You can use this to count the number of a particular kind of entry.)

    Other statements for all table types

    DELETE ADJACENT DUPLICATES FROM

    [COMPARING .. | A L L F I E L }|ALL FIELDS}].

    The system deletes all adjacent entries with the same key field contents apart from the first entry. You can prevent the system from only comparing the key field using the COMPARING addition. If you sort the table by the required fields beforehand, you can be sure that only unique entries will remain in the table after the DELETE ADJACENT DUPLICATES statement.

    Searches all lines of the table for the string . If the search is successful, the system sets the fields sy-tabix and sy-fdpos.

    FREE .

    Unlike CLEAR, which only deletes the contents of the table, FREE releases the memory occupied by it as well.

    If you want to access your data using the index and do not need your table to be kept in sorted order or to have a unique key, that is, when the sequence of the entries is the most important thing, not sorting by key or having unique entries, you should use standard tables. (If you decide you need to sort the table or access it using the key or a binary search, you can always program these functions by hand.)

    This example is written to manage a waiting list.

    Typical functions are:

    Adding a single entry,

    Deleting individual entries according to certain criteria,

    Displaying and then deleting the first entry from the list,

    Displaying someone's position in the list.

    For simplicity, the example does not encapsulate the functions in procedures.

    The first thing we do in the example is to declare line and table type, from which we can then declare a work area and our internal table. We also require an elementary field for passing explicit index values.

    This example omits the user dialogs and data transport, assuming that you understand the principles involved. We really only want to concentrate on the table access:

    Adding new entries

    The data record for a waiting customer is only added to the table if it does not already exist in it. If the table had a unique key, you would not have had to have programmed this check yourself.

    Deleting single entries according to various criteria

    The criterion is the key field. However, other criteria would be possible - for example, deleting data records older than a certain insertion date reg_date.

    Displaying and deleting the first entry from the list

    Once a customer comes to the top of the waiting list, you can delete his or her entry. If the waiting list is empty, such an action has no effect. Consequently, you do not have to check whether there are entries in the list before attempting the deletion.

    Displaying the position of a customer in the waiting list

    As above, you do not need to place any data in the work area. We are only interested in the values of sy-subrc and sy-tabix. If the entry is not in the table, sy-tabix is set to zero.

    At this stage, let us return to the special case of the restricted ranked list:

    DATA {TYPE|LIKE} STANDARD TABLE OF ... INITIAL SIZE . ... APPEND INTO SORTED BY .

    When you choose to use a sorted table, it will normally be because you want to define a unique key.

    The mere fact that the table is kept in sorted order is not that significant, since you can sort any kind of internal table. However, with sorted tables (unlike hashed tables), new data records are inserted in the correct sort order. If you have a table with few entries but lots of accesses that change the contents, a sorted table may be more efficient than a hashed table in terms of runtime.

    The aim of the example here is to modify the contents of a database table. The most efficient way of doing this is to create a local copy of the table in the program, make the changes to the copy, and then write all of its data back to the database table. When you are dealing with large amounts of data, this method both saves runtime and reduces the load on the database server. Since the internal table represents a database table in this case, you should ensure that its records have unique keys.

    This is assured by the key definition. Automatic sorting can also bring further advantages.

    When you change a group of data records, only the fields price and currency are copied from the work area.

    This means that, with larger tables, the access time is reduced significantly in comparison with a binary search. In a loop, however, the hashed table has to search the entire table (full table scan). Since the table entries are stored unsorted, it would be better to use a sorted table if you needed to run a loop through a left-justified portion of the key.

    It can also be worth using a hashed table but sorting it. A typical use for hashed tables is to buffer detailed information that you need repeatedly and can identify using a unique key. You should bear in mind that you can also set up table buffering for a table in the ABAP Dictionary to cover exactly the same case. However, whether the tables are buffered on the application table depends on the size of the database table.

    Buffering in the program using hashed tables also allows you to restrict the dataset according to your own needs, or to buffer additional data as required.

    In this example, we want to allow the user to enter the name of a city, and the system to display its geographical coordinates.

    First, we fill our "buffer table" city_list with values from the database table sgeocity. Then, we read an entry from the hashed table, specifying the full key.

    The details are displayed as a simple list. At this point, it is worth repeating that you should only use this buffering technique if you want to keep large amounts of data locally in the program. You must ensure that you design your hashed table so that it is possible to specify the full key when you access it from your program.

    You can define internal tables either with (WITH HEADER LINE addition) or without header lines. An internal table with header line consists of a work area (header line) and the actual table body. You address both objects using the same name. The way in which the system interprets the name depends on the context. For example, the MOVE statement applies to the header line, but the SEARCH statement applies to the body of the table.

    To avoid confusion, you are recommended to use internal tables without header lines. This is particularly important when you use nested tables. However, internal tables with header line do offer a shorter syntax in several statements (APPEND, INSERT, MODIFY, COLLECT, DELETE, READ, LOOP).

    hope this is helpful

    do reward

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Feb 19, 2008 at 05:33 AM

    Hi Zayed,

    Standard Reports and Standard Internal Tables are Different. You cannot compare them.

    The reports which SAP has developed already are called Standard Reports and the reports which u develop by using Z or Y are customizing reports.

    There 3 types of Internal Tables:

    Standard Internal Table:

    It uses Linear Index

    Ex: Data: it_itab TYPE STANDARD TABLE OF s_itab.

    Sorted Internal Table:

    It uses Binary Index so the table should be sorted.

    Hashed Internal Table

    Hope this answers your question

    Regards,

    Asif Ali Khan

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.