Table pools , pooled tables , table clusters

HI
answer this q?
What is a table pool?
What are pooled tables?
What is a table cluster?
points will be assign for usefull information

"What is transparent, cluster and pool table?  Where and when we use
" these tables?
"Transparent Table :
  Exists with the same structure both in dictionary as well as in database  exactly with the same data and fields.
"Pooled Table :
Pooled tables are logical tables that must be assigned to a table pool when they are defined. Pooled tables are used to store control data.  Several pooled tables can be cominied in a table pool. The data of these pooled tables are then sorted in a common table in the database.
"Cluster Table :
  Cluster tables are logical tables that must be assigned to a table cluster when they are defined. Cluster tables can be used to strore control data.  They can also be used to store temporary data or texts, such as documentation.
"Major difference betwen Standard tables,Pooled tables and Cluster Tables?
1.A transparent table is a table that stores data directly. You can read these tables directly on the database from outside SAP with for instance an SQL statement. 
2.Transparent table is a one to one relation table i.e. when you create one transparent table then exactly same table will create in data base and if is basically used to store transaction data. 
3.A clustered and a pooled table cannot be read from outside SAP because certain data are clustered and pooled in one field. 
4.One of the possible reasons is for instance that their content can be variable in length and build up. Database manipulations in Abap are limited as well. 
5.But pool and cluster table is a many to one relationship table. This means many pool table store in a database table which is know as table pool.
6.All the pool table stored table in table pool does not need to have any foreign key relationship but in the case of cluster table it is must. And pool and cluster table is basically use to store application data.
7.Table pool can contain 10 to 1000 small pool table which has 10 to 100 records. But cluster table can contain very big but few (1 to 10)  cluster table.
8.For pool and cluster table you can create secondary index and you can use select distinct, group for pool and cluster table. You can use native SQL statement for pool and cluster table. 
9.A structure is a table without data. It is only filled by program logic at the moment it is needed starting from tables. 
10.A View is a way of looking at the contents of tables. It only contains the combination of the tables at the basis and the way the data needs to be represented. You actually call directly upon the underlying tables.
'The table which store information about Structures and Tables are as follows:
DD02L - table properties
DD02T - table texts
DD03L - field properties
DD03T - field texts
Reward  points if it is usefull...
Girish

Similar Messages

  • Wat is the exact differences between clustered table and pooled table

    hi,
       can you tell me ravi...wat is the exact differences between clustered table and pooled table
    with regards//
    anilreddyg

    Hi Anil Reddy
    Pooled Tables, Table Pools, Cluster Tables, and Table Clusters
    These types of tables are not transparent in the sense that they are not legible or manageable directly using the underlying database system tools. They are managed from within the R/3 environment from the ABAP dictionary and also at runtime when they are loaded into application memory.Pool and cluster tables are logical tables. Physically, these logical tables are arranged as records of transparent tables. The pool and cluster tables are grouped together in other tables, which are of the transparent type. The tables that group together pool tables are known as table pools, or just pools; similarly, table clusters, or just
    clusters, are the tables which group cluster tables.Not all operations that can be performed over transparent tables can be executed over pool or cluster tables.
    For instance, you can manage these tables using Open SQL calls from ABAP, but not Native SQL.These tables are meant to be buffered and loaded in memory, because they are commonly used for storing internal control information and other types of data with no external (business) relevance. SAP recommends that tables of pool or cluster type be used exclusively for control information such as
    program parameters, documentation, and so on. Transaction and application data should be stored in transparent tables.
    Table Pools
    From the point of view of the underlying DBMS as from the point of view of the ABAP dictionary, a table pool is a transparent table containing a group of pooled tables which, when created, were assigned to this table pool.
    Field Type Description
    TABNAME CHAR(10) Table name
    VARKEY CHAR(n) Maximum key length n =< 110
    DATALN INT2(5) Length of the VARDATA record returned
    VARDATA RAW(m) Maximum length of the data varies according to DBMS
    Table Clusters
    Similarly to pooled tables, cluster tables are logical tables which, when created, are assigned to a table cluster. Therefore, a table cluster, or just cluster, groups together several tables of type clusters.Several logical rows from different cluster tables are brought together in a single physical record. The records
    from the cluster tables assigned to a cluster are thus stored in a single common table in the database.A cluster contains a transparent cluster key which must be located at the start of the key of all logical cluster tables to be included in the cluster. As well, a cluster contains a long field (VARDATA), which contains the
    data of the cluster tables for this key. If the data does not fit into a field, continuation records are created.
    Field Type Description
    CLKEY1 CHAR(*) First key fields
    CLKEY2 CHAR(*) Second key field
    CLKEYN CHAR(*) nth key field
    PAGENO INT2(5) Number of the next page
    TIMESTMP CHAR(14) Time stamp
    PAGELG INT2(5) Length of the VARDATA record returned
    VARDATA RAW(*) Maximum length of the data section; varies according to database system
    Working with Tables
    The dictionary includes many functions for working with tables. There are five basic operations you can perform on tables: display, create, delete, modify, copy. Please do not confuse displaying a table with displaying the table entries (table contents). In order to display a table, it must previously exist; otherwise the system will display an error message in the status bar. For the following example, the table TABNA is used. To display this table, from the main dictionary screen, enter the table name in the Object name
    input field with the radio button selected next to Tables. Then, click on the Display button at the bottom of the screen, or press the F7 function key, or, alternatively,
    select Dictionary object Display from the menu.
    In this screen, you can see table information such as
    ¨ Table type, shown next to the name of the object. In the example, it is a transparent table.
    ¨ Short text description.
    ¨ Name of the user who made the last change, and the date of the change.
    ¨ Master language.
    ¨ Table status. On the screen, you can see this table is saved and active.
    ¨ Development class. For information on development classes, refer to Chap. 6.
    Delivery class, which sets the maintenance group for the table. It controls how tables will behave during client copy procedures, upgrades, and so forth.¨
    Tab. Maint. Allowed flag, which indicates whether you can generate a screen for maintaining table entries.
    ¨Then, on the lower part of the screen, you can see the table fields with all associated characteristics such as:
    ¨ Field name.
    ¨ Key indicator. When set, this field is the primary key, or part of it.
    ¨ Data element.
    ¨ Basic data type.
    ¨ Length.
    ¨ Check table.
    ¨ Short text, describing the field.
    Additional information about the table can be displayed by selecting the corresponding functions from the menu or directly from the application toolbar, such as keys, indexes, or technical settings
    Standard table:
    The key access to a standard table uses a sequential search. The time required for an access is linearly dependent on the number of entries in the internal table.
    You should usually access a standard table with index operations.
    Sorted table:
    The table is always stored internally sorted by its key. Key access to a sorted table can therefore use a binary search. If the key is not unique, the entry with the lowest index is accessed. The time required for an access is logarithmically dependent on the number of entries in the internal table.
    Index accesses to sorted tables are also allowed. You should usually access a sorted table using its key.
    Hash table:
    The table is internally managed with a hash procedure. All the entries must have a unique key. The time required for a key access is constant, that is it does not depend on the number of entries in the internal table.
    You cannot access a hash table with an index. Accesses must use generic key operations (SORT, LOOP, etc.).
    Index table:
    The table can be a standard table or a sorted table.
    Index access is allowed to such an index table. Index tables can be used to define the type of generic parameters of a FORM (subroutine) or a function module.
    Just have a look at these links:
    http://help.sap.com/saphelp_nw04/helpdata/en/90/8d7304b1af11d194f600a0c929b3c3/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/74/83015785d811d295a800a0c929b3c3/frameset.htm
    Regards
    Sreeni

  • Which type of information can be hold by pool and cluster tables

    hi experts tell me exactly which type of information hold by pooled and cluster tables
    thanks in advance

    Hi
    I hope, you know that Rewarding with Points for the Useful answers is the SDN policy
    Pooled table
    Pooled tables can be used to store control data (e.g. screen sequences,
    program parameters or temporary data). Several pooled tables can be
    combined to form a table pool. The table pool corresponds to a physical
    table on the database in which all the records of the allocated pooled
    tables are stored.
    Cluster table
    Cluster tables contain continuous text, for example documentation.
    Several cluster tables can be combined to form a table cluster. Several
    logical lines of different tables are combined to form a physical record
    in this table category. This permits object-by-object storage or
    object-by-object access. In order to combine tables in clusters, at
    least part of the keys must agree. Several cluster tables are stored in
    one corresponding table on the database.
    Pool Tables (match codes, look up tables)
    Should be accessed via primary key or
    Should be buffered (SE11->Display Table->technical settings)
    No secondary indexes
    Select * is Ok because all columns retrieved anyway
    Cluster Tables (BSEG,BSEC)
    Should be accessed via primary key - very fast retrieval otherwise very slow
    No secondary indexes
    Select * is Ok because all columns retrieved anyway. Performing an operation on multiple rows is more efficient than single row operations. Therefore you still want to select into an internal table. If many rows are being selected into the internal table, you might still like to retrieve specific columns to cut down on the memory required.
    Statistical SQL functions (SUM, AVG, MIN, MAX, etc) not supported
    Can not be buffered
    <b>Reward points for useful Answers</b>
    Regards
    Anji

  • What is the differences between Transparent,Pooled and Cluster tables?

    Hello all,
    What is Pool table?What is the differences between Transparent,Pooled and Cluster tables?
    Regards!
    Purna

    Transparent table:
    Tables can be defined independently of the database in the ABAP Dictionary. The fields of the table are defined together with their (database-independent) data types and lengths.
    A table definition in the ABAP Dictionary has the following components:
    Table fields: The field names and the data types of the fields contained in the table are defined here.
    Foreign keys: The foreign keys define the relationships between this table and other tables.
    Technical settings: The technical settings define how the table is created on the database.
    Indexes: Indexes can be defined for the table to speed up data selection from the table.
    There are three categories of database tables in the ABAP Dictionary.
    A physical table definition is created in the database for the table definition stored in the ABAP Dictionary for transparent tables when the table is activated. The table definition is translated from the ABAP Dictionary to a definition of the particular database.
    On the other hand, pooled tables and cluster tables are not created in the database. The data of these tables is stored in the corresponding table pool or table cluster. It is not necessary to create indexes and technical settings for pooled and cluster tables.
    Pooled table
    Pooled tables can be used to store control data (e.g. screen sequences, program parameters or temporary data). Several pooled tables can be combined to form a table pool. The table pool corresponds to a physical table on the database in which all the records of the allocated pooled tables are stored.
    Cluster table
    Cluster tables contain continuous text, for example, documentation. Several cluster tables can be combined to form a table cluster. Several logical lines of different tables are combined to form a physical record in this table type. This permits object-by-object storage or object-by-object access. In order to combine tables in clusters, at least parts of the keys must agree. Several cluster tables are stored in one corresponding table on the database.
    Regds,
    Manohar

  • Where we can use pooled and cluster tables.

    Hi Experts,
    I have read all the threads and tutorials. all are telling like the difference between pooled and clulster tables are
    Pooled table
    It can hold small amount of data ( 10 to 100 records) and large number of tables( 100 to 1000 tables). It has fixed structure like Tabname, Varkey, Datain, Vardata.
    Cluter tables
    It can hold large amount of data but small number of tables. It is also have fixed strucuter like CLKEY1,CLKEY2 , CLKEY3...., Pageno, Timestamp, Pagelg, Vardata.
    But i want which situation we can choose pooled table and which situation we can choose cluster table. In general way or Business way.
    Thank you,
    Srinivas M
    Edited by: Srinivas Marapureddy on May 11, 2010 4:39 PM

    >
    El Tony wrote:
    > Those table to manage big data volume, for example BSEG is a cluster table, this help to database for store the data in little amount. Instead the Pooled Table to store the table in other table, so that this help to database for store the data too but in more little amount.
    >
    > In Background ABAP to control this, because there are source code that help to show the data complete, but in the databse the data is store with alphanumerics. This is a advantage for the database.
    Let me correct you, the data is not stored in alphanumeric but in RAW format in pool & cluster tables.
    SAP says pool & cluster tables are created so that data from different tables belonging containing similar kind of data are clubbed together. I am not sure if storing data in RAW format compresses its size but SAP recommends storing business data in transperant tables.
    Quote from SAP documentation:
    "Data of commercial relevance is usually stored in transparent tables."
    If data compression were a significant point SAP would have stored data in table clusters & not in transperant tables.
    Comments are welcome.
    BR,
    Suhas

  • Module pool to maintiane table ztavble

    hi
    can anyone send me complete code to refer for maintaining a ztable
    following validation are required like
    1) sortiing
    deletein and addition save etc all as in table maintianece i need to code by module pool becasue in table maintainece sorting coding is not possible...
    also validation are
    1) whne user enters ship to info name 1 should automatically be populated from kna1 on pressing enter how to acheive this by module pool
    2) email verification format should be correct? how to acheive this by module pool
    3) sorting on basis of all fields
    regards
    Nishant

    Hi Nishanth,,,
    I also developed the same kind of Program for maintaining the Ztable...
    Jus create a new GUI Staus...with the required functions....
    Refer the below code:
       REPORT                     : Z0BRAP_TAX_EXCEPTION .
    TITLE                      : Tax Exceptions Table
    AUTHOR                     : Swaminathan PJ
    DATE                       : 04/12/2006
    DDN NUMBER                 : SAP-BR-TB0020
    TRANSPORT REQUEST NUMBER   : D12K912309
    REFERENCE                  :
    DESCRIPTION
    Program Z0BRAP_TAX_EXCEPTION is an Report program to update the table
    ZTBRAP_TAX_EXCPT,here user can Create/Change/Display the table entrie
    s and can perform the following functions (Filter,Sort,Summation and
    Subtotal).
    AMENDMENTS
    CHANGES REF         DATE         PERSON         Tran.Req. Number
    DESCRIPTION:
                   Include for Global Declarations                       *
       INCLUDE: znbrap_tax_exception_top.                                           " Include for Global Declarative elements
         Include
    All the subroutines are include
       INCLUDE znbrap_tax_exception.                                                " Include for all Subroutines
         START OF SELECTION
       START-OF-SELECTION.
      Main Subroutine
         PERFORM  procMain.
                         End of Selection                                *
       END-OF-SELECTION.
    INCLUDE                    : ZNBRAP_TAX_EXCEPTION_TOP
    TITLE                      : Data Declarations
    AUTHOR                     :
    DATE                       : 04.12.2006
    TRANSPORT REQUEST NUMBER   : D12K912309
    DESCRIPTION
    Global Data Declarations for Z0BRAP_TAX_EXCEPTION
    AMENDMENTS
    CHANGES REF         DATE         PERSON         Tran.Req. Number
    DESCRIPTION:
    ALV Declarations
    TYPE-POOLS: slis.
    Types contains the structure of the table
    *TYPES :   BEGIN OF gy_tax_exception.
               INCLUDE STRUCTURE ztbrap_tax_excpt.
                 mandt           TYPE   mandt,
                 zmonat          TYPE   monat,
                 zbukrs          TYPE   bukrs,
                 zlifnr          TYPE   lifnr,
                 zexctype        TYPE   zebrap_exctype,
                 zstcd1          TYPE   stcd1,
                 zaugdt_other    TYPE   budat,
                 zbelnr          TYPE   belnr,
                 zdmbtr          TYPE   dmbtr,
                 zwhtinssca      TYPE   dmbtr,
                 zuserch         TYPE   syuname,
                 zdate_change    TYPE   datum,
                 ztime_change    TYPE   uzeit,
    *TYPES:          END OF gy_tax_exception.
    Tables for the structure defined above
    *TYPES : gy_tax_exception_tab  TYPE STANDARD TABLE OF gy_tax_exception.
    Internal Table
    DATA: gt_tax_excpt_tab        TYPE   STANDARD TABLE OF ztbrap_tax_excpt WITH HEADER LINE, "Global internal table for Tax exceptions data
          gt_fieldcat                   TYPE   slis_fieldcat_alv OCCURS 0 WITH HEADER LINE.         "Global internal table for fieldcat
    *&  Include           ZNBRAP_TAX_EXCEPTION                             *
    *&      Form  procMain
          text
    -->  p1        text
    <--  p2        text
    FORM procMain .
    Set PF-Status
      perform procInitialize.
    Select Tax Exceptions Data
      perform procGetTaxExceptionsData.
    Display ALV Report with Tax Exceptions Data
      perform procDisplayTaxExceptionsData.
    ENDFORM.                    " procMain
          FORM initialize                                               *
    form procInitialize.
      CONSTANTS :
      lc_pfstatus               TYPE    abnkr VALUE 'ZTAX_EXCEPTION'. "Pf Status
    Set status
      set pf-status lc_pfstatus.
    endform.                    "procInitialize
          FORM retrieve_data                                            *
          Retrieve data from SAP                                        *
    form procGetTaxExceptionsData.
      REFRESH: gt_tax_excpt_tab.
      select * from ztbrap_tax_excpt
        appending corresponding fields of table gt_tax_excpt_tab.
    endform.                    "procGetTaxExceptionsData
    Called by REUSE_ALV_GRID_DISPLAY when user interacts.               *
    In this case, there are a number of buttons / menu options for      *
    user to select for non-standard functions:                          *
    o Single Display                                                    *
    o Single Change                                                     *
    o Single create                                                     *
    o Single Delete                                                     *
          --> lv_ucomm                                                  *
          --> LW_SELFIELD                                               *
    form user_command using lv_ucomm like sy-ucomm
                      lw_selfield type slis_selfield.
    Work area
      DATA: lw_update_tax_excpt TYPE    ztbrap_tax_excpt. " work area for tax exceptions data
      DATA: lw_tax_exception    TYPE    ztbrap_tax_excpt. " work area for tax exceptions data
    Variables
      DATA: lv_key              TYPE    abkrs ,                 "key fields
            lv_non_key          TYPE    abkrs,                  "Non Key Fields
            lv_insert           TYPE    ablnv,                  "Insert
            lv_change           TYPE    ablnv,                  "Change
            lv_entry            TYPE    ablnv,                  "Popup title
            lv_display          TYPE    ablnv,                  "Display
            lv_delete           TYPE    ablnv,                  "Delete
            lv_mode             TYPE    ablnv .                 "Menu options
    Constants
      CONSTANTS:
           lc_new               TYPE    alind VALUE 'ZNEW',     "Fcode for new
           lc_update            TYPE    alind VALUE 'ZBR',      "Fcode for change
           lc_view              TYPE    alind VALUE 'ZDISP',    "Fcode for display
           lc_delete            TYPE    alind VALUE 'ZDEL ',    "Fcode for delete
           lc_show_field        TYPE    abkrs VALUE '00',       "Show field
           lc_hide_field        TYPE    abkrs VALUE '02'.       "Hide field
    Clear Local Work Area
      CLEAR :
           lw_update_tax_excpt.
    Clear Local Variables
      CLEAR :
           lv_key,
           lv_non_key,
           lv_mode,
           lv_insert,
           lv_delete,
           lv_change,
           lv_display.
    Retrieve data for selected line & store it in a temp structure.
      READ TABLE gt_tax_excpt_tab index lw_selfield-tabindex .
      if sy-subrc is not initial and lv_ucomm <> lc_new  and lv_ucomm(6) <> 'DELETE'.
        message w123(m&).   " Position the cursor on a valid line
        exit.
      endif.
    Moving the contents to workarea
    MOVE gt_tax_excpt_tab-zmonat         TO lw_update_tax_excpt-zmonat.
    MOVE gt_tax_excpt_tab-zbukrs         TO lw_update_tax_excpt-zbukrs.
    MOVE gt_tax_excpt_tab-zlifnr         to lw_update_tax_excpt-zlifnr.
    MOVE gt_tax_excpt_tab-zexctype       to lw_update_tax_excpt-zexctype.
    MOVE gt_tax_excpt_tab-zstcd1         to lw_update_tax_excpt-zstcd1.
    MOVE gt_tax_excpt_tab-zaugdt_other   to lw_update_tax_excpt-zaugdt_other.
    MOVE gt_tax_excpt_tab-zbelnr         to lw_update_tax_excpt-zbelnr.
    MOVE gt_tax_excpt_tab-zdmbtr         to lw_update_tax_excpt-zdmbtr.
    MOVE gt_tax_excpt_tab-zwhtinssca     to lw_update_tax_excpt-zwhtinssca.
    MOVE gt_tax_excpt_tab-zuserch        to lw_update_tax_excpt-zuserch.
    MOVE gt_tax_excpt_tab-zdate_change   to lw_update_tax_excpt-zdate_change.
    MOVE gt_tax_excpt_tab-ztime_change   to lw_update_tax_excpt-ztime_change.
    Move the text for Add,Change,Display
      Move text-019 To lv_insert.
      Move text-020 To lv_change.
      Move text-021 To lv_display.
      Move text-023 To lv_delete.
    Now see which button / menu option user has selected
      case lv_ucomm.
        when lc_view.               "Display a single entry
          lv_mode    = lv_display.
          lv_key     = lc_hide_field.     "hide key fields
          lv_non_key = lc_hide_field.     "hide non key fields
          perform procFindKeyFields
                         using lw_update_tax_excpt lv_mode lv_insert lv_delete
                               lv_change lv_display lv_key lv_non_key lw_selfield.
        when lc_update .          "Update a single entry (show non-key fields)
          lv_mode    = lv_change.
          lv_key     = lc_hide_field.    "hide key fields
          lv_non_key = lc_show_field.    "show non-key fields
          perform procFindKeyFields
                         using lw_update_tax_excpt lv_mode lv_insert lv_delete
                               lv_change lv_display lv_key lv_non_key lw_selfield.
        when lc_new. "Add a single new entry (show all fields)
          lv_mode    = lv_insert.
          lv_key     = lc_show_field.
          lv_non_key = lc_show_field.
          clear lw_update_tax_excpt.  "Empty structure to give new entry.
          perform procFindKeyFields
                         using lw_update_tax_excpt lv_mode lv_insert lv_delete
                               lv_change lv_display lv_key lv_non_key lw_selfield.
        WHEN lc_delete.               " Delete current entry
          lv_mode   = lv_delete.
          lv_key    = lc_hide_field.
          lv_non_key = lc_hide_field.
         perform procFindKeyFields
                         using lw_update_tax_excpt lv_mode lv_insert lv_delete
                               lv_change lv_display lv_key lv_non_key lw_selfield.
      endcase.
    endform.                    "user_command
          FORM procFindKeyFields                                        *
    -->  lw_tax_excpt                                                  *
    -->  lw_update_tax_excpt                                           *
    -->  lv_ret                                                        *
    form procFindKeyFields  using  lw_update_tax_excpt structure  ztbrap_tax_excpt
                                   lv_mode
                                   lv_insert
                                   lv_delete
                                   lv_change
                                   lv_display
                                   lv_key
                                   lv_non_key
                                   lw_selfield type slis_selfield.
    Work area
      DATA:lw_key_table         TYPE    dfies occurs 0 with header line,      "Work area for for key fields
           lw_tax_excpt         TYPE    sval  occurs 0 with header line.      "Work area for tax exceptions data
    Variables
      DATA: lv_ret              TYPE    char1,                                "Return parameter
            lv_title            TYPE    text60,                               "Popup title
            lv_excpt_type       TYPE    ZEBRAP_EXCTYPE,                       "Exception type
            lv_entry            TYPE    ablnv,                                "Popup text
            lv_vendor           TYPE    lifnr,                                "Vendor
            lv_vendor_no        TYPE    lifnr,                                "Vendor
            lv_co_code          TYPE    bukrs,                                "Company code
            lv_comp_code        TYPE    bukrs,                                "Company code
            lv_answer           TYPE    aavis.                                "Return parameter
    Constants
      CONSTANTS:
            lc_ref_tab          TYPE    ablnv VALUE 'T001',                   "Reference table
            lc_ref_fld          TYPE    ablnv VALUE 'WAERS',                  "Reference field
            lc_hide_fld         TYPE    abkrs VALUE '04',                     "Hide field
            lc_client           TYPE    amert VALUE 'MANDT',                  "Client
            lc_user             TYPE    amert VALUE 'ZUSERCH',                "User
            lc_date             TYPE    amert VALUE 'ZDATE_CHANGE',           "Date
            lc_time             TYPE    amert VALUE 'ZTIME_CHANGE',           "Time
            lc_taxno            TYPE    amert VALUE 'ZSTCD1',                 "Tax Number
            lc_vendor           TYPE    amert VALUE 'ZLIFNR',                 "Vendor
            lc_exception_typ    TYPE    amert VALUE 'ZEXCTYPE',               "Exception type
            lc_clearing_dt      TYPE    amert VALUE 'ZAUGDT_OTHER',           "Clearing date
            lc_period           TYPE    amert VALUE 'ZMONAT',                 "Period
            lc_co_code          TYPE    amert VALUE 'ZBUKRS',                 "Company code
            lc_gross_amt        TYPE    amert VALUE 'ZDMBTR',                 "Gross amount
            lc_excpt_amt        TYPE    amert VALUE 'ZWHTINSSCA',             "Exception amount
            lc_period_def       TYPE    abkrs VALUE '00',                     "Default value for period
            lc_amount_def       TYPE    amert VALUE '0.00',                   "Default value for amount
            lc_date_def         TYPE    amert VALUE '00000000',               "Default value for date
            lc_exctype_mf       TYPE    abkrs VALUE 'MF',                     "Exception type value
            lc_exctype_gr       TYPE    abkrs VALUE 'GR',                     "Exception type value
            lc_field_obl        TYPE    aavis VALUE 'X',                      "Obligatory
            lc_cancel           TYPE    aavis VALUE 'X',                      "Obligatory
            lc_return           TYPE    aavis VALUE 'A',                      "Return parameter
            lc_mandatory        TYPE    aavis VALUE '?',                      "Mandatory
            lc_space            TYPE    abkrs VALUE ' ',                      "Space
            lc_notsupported     TYPE    agitt VALUE 1,                        "Exception for FM
            lc_others           TYPE    agitt VALUE 2,                        "Exception for FM
            lc_error            TYPE    agitt VALUE 1,                        "Exception for FM
            lc_confirm          TYPE    agitt VALUE 1,                        "Exception for FM
            lc_text             TYPE    agitt VALUE 1,                        "Exception for FM
            lc_start_column     TYPE    abkrs VALUE '50',                     "Start column
            lc_start_row        TYPE    aavis VALUE '7',                      "Start column
            lc_tabname          TYPE    amert VALUE 'ZTBRAP_TAX_EXCPT',       "Table name,
            lc_column           TYPE    SY-CUCOL VALUE 25,                    "Start column
            lc_row              TYPE    SY-CUROW VALUE 6.                     "Start row
    Clear Local Work Area
      CLEAR :
           lw_tax_excpt,
           lw_key_table .
    Clear Local Variables
      CLEAR :
            lv_ret,
            lv_title,
            lv_excpt_type,
            lv_vendor,
            lv_vendor_no,
            lv_co_code,
            lv_comp_code,
            lv_answer.
    Field symbol
      field-symbols:            <lf_tax_excpt>,                                         "Tax exceptions values
                                <lf_tax_excpt_value>.
    Move the text for entry
      Move text-022 To lv_entry.
      REFRESH lw_tax_excpt.
      lw_tax_excpt-field_obl = lc_field_obl.
      lw_tax_excpt-tabname =   lc_tabname.
    Determine which are key fields in the table. This is necessary to
    control which fields are available for display
      call function 'GET_KEY_FIELDS_OF_TABLE'
        EXPORTING
          tabname       = lw_tax_excpt-tabname
          mandt_needed  = lc_field_obl
        TABLES
          key_fieldtab  = lw_key_table
        EXCEPTIONS
          not_supported = lc_notsupported
          others        = lc_others.
      if sy-subrc is not initial.
        message id sy-msgid type sy-msgty number sy-msgno
                with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        exit.
      endif.
      loop at gt_fieldcat.
        case gt_fieldcat-fieldname.
    Supress fields you don't want to show
          when lc_client or  lc_user or lc_date or lc_time.
          when OTHERS.
            READ TABLE lw_key_table with key fieldname = gt_fieldcat-fieldname.
            if sy-subrc is initial.
              lw_tax_excpt-field_attr = lv_key.
              lw_tax_excpt-field_obl = lc_field_obl.
            else.
              lw_tax_excpt-field_attr = lv_non_key.
              lw_tax_excpt-field_obl = lc_space.
            endif.
            lw_tax_excpt-fieldname = gt_fieldcat-fieldname.
            assign component lw_tax_excpt-fieldname of
                            structure lw_update_tax_excpt to <lf_tax_excpt>.
            lw_tax_excpt-value =    <lf_tax_excpt>.
            lw_tax_excpt-fieldtext = gt_fieldcat-seltext_l.
    Remove the condition obligatory
            IF lw_tax_excpt-fieldname = lc_taxno.
              lw_tax_excpt-field_obl = lc_space.
            ENDIF.
            append lw_tax_excpt.
        endcase.
      endloop  .
    Appending the reference table and field for amount field
      if lv_mode = lv_insert.
        lw_tax_excpt-tabname    = lc_ref_tab.
        lw_tax_excpt-fieldname  = lc_ref_fld.
        lw_tax_excpt-field_attr = lc_hide_fld.
        append lw_tax_excpt.
      endif.
    IF lv_mode  NE lv_delete.
    Show selected entry
      CONCATENATE lv_mode lv_entry INTO lv_title SEPARATED BY space.
      do.
        call function 'POPUP_GET_VALUES'
          EXPORTING
            popup_title     = lv_title
            start_column    = lc_start_column
            start_row       = lc_start_row
          IMPORTING
            returncode      = lv_ret
          TABLES
            fields          = lw_tax_excpt
          EXCEPTIONS
            error_in_fields = lc_error
            others          = lc_others.
    Exit if Error, Display or Delete
        if sy-subrc is not initial or lv_ret = lc_return
                                   or lv_mode = lv_display
                                   or lv_mode = lv_delete..
          exit.
        endif.
    Validate fields involved in ADDING NEW ENTRY
        IF lv_mode  = lv_insert .         "ADD new Entry
    Validate the field Period
          READ TABLE lw_tax_excpt with key fieldname = lc_period.
          IF lw_tax_excpt-value EQ lc_period_def.
            PERFORM procWarnuser USING  text-001 text-003 .
            CONTINUE.
          ENDIF.
    Validate the field Company code
          READ TABLE lw_tax_excpt with key fieldname = lc_co_code.
          lv_co_code = lw_tax_excpt-value.
          select single bukrs from t001 into lv_comp_code
          where bukrs = lv_co_code.
          IF sy-subrc is not initial.
            PERFORM procWarnuser USING  text-001 text-028 .
            CONTINUE.
          ENDIF.
    Validate the field Vendor
          READ TABLE lw_tax_excpt with key fieldname = lc_vendor.
          lv_vendor = lw_tax_excpt-value.
          select single lifnr from lfa1 into lv_vendor_no
          where lifnr = lv_vendor.
          IF sy-subrc is not initial.
            PERFORM procWarnuser USING  text-001 text-024 .
            CONTINUE.
          ENDIF.
    Store the value of exception type in a variable
          READ TABLE lw_tax_excpt with key fieldname = lc_exception_typ.
          lv_excpt_type = lw_tax_excpt-value.
    Validate the field Tax number1 other entities
          READ TABLE lw_tax_excpt with key fieldname = lc_taxno.
          IF lv_excpt_type EQ lc_exctype_mf or  lv_excpt_type EQ lc_exctype_gr.
            IF lw_tax_excpt-value EQ space.
              PERFORM procWarnuser USING  text-001 text-002 .
              CONTINUE.
            ENDIF.
          ENDIF.
    Validate the field Clearing date
          READ TABLE lw_tax_excpt with key fieldname = lc_clearing_dt.
          IF lw_tax_excpt-value EQ lc_date_def.
            PERFORM procWarnuser USING  text-001 text-004.
            CONTINUE.
          ENDIF.
    Validate the field Gross amount
          READ TABLE lw_tax_excpt with key fieldname = lc_gross_amt.
          condense lw_tax_excpt-value no-gaps.
          IF lw_tax_excpt-value EQ lc_amount_def OR
             lw_tax_excpt-value EQ space.
            PERFORM procWarnuser USING  text-001 text-005.
            CONTINUE.
          ENDIF.
    Validate the field Exception amount
          READ TABLE lw_tax_excpt with key fieldname = lc_excpt_amt.
          condense lw_tax_excpt-value no-gaps.
          IF lw_tax_excpt-value EQ lc_amount_def OR
             lw_tax_excpt-value EQ space.
            PERFORM procWarnuser USING  text-001 text-006.
            CONTINUE.
          ENDIF.
          delete lw_tax_excpt index 10.
        ENDIF.
      all checks successful !!!!
        exit.
      enddo.
    endif.
    IF lv_mode  EQ  lv_delete.
    CONCATENATE lv_mode lv_entry INTO lv_title SEPARATED BY space.
        CALL FUNCTION 'POPUP_TO_CONFIRM'
          EXPORTING
           TITLEBAR                    = lv_title
           text_question               = text-025
           TEXT_BUTTON_1               = text-026
           TEXT_BUTTON_2               = text-027
           DISPLAY_CANCEL_BUTTON       = lc_space
           START_COLUMN                = lc_column
           START_ROW                   = lc_row
         IMPORTING
           ANSWER                      = lv_answer
         EXCEPTIONS
           TEXT_NOT_FOUND              = lc_text
           OTHERS                      = lc_others
        IF sy-subrc is not initial.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
    ENDIF.
    Need to pop-out of the sub if "cancel" was selected
      if lv_ret = lc_return or lv_mode = lv_display.
        exit.
      endif.
    copy contents of pop-up back into structure
      loop at lw_tax_excpt.
        check lw_tax_excpt-value <> lc_mandatory.
        assign component lw_tax_excpt-fieldname
                         of structure lw_update_tax_excpt to <lf_tax_excpt_value>.
        <lf_tax_excpt_value> = lw_tax_excpt-value.
      endloop.
    update the database accordingly.
      case lv_mode.
        when lv_insert.           "Insert
    Give other required field values
          lw_update_tax_excpt-mandt        = sy-mandt.   "Client
          lw_update_tax_excpt-zuserch      = sy-uname.   "User
          lw_update_tax_excpt-zdate_change = sy-datum.   "Date
          lw_update_tax_excpt-ztime_change = sy-uzeit.   "Time
          INSERT into ztbrap_tax_excpt values lw_update_tax_excpt.
          message s036(zmbrap).
        WHEN lv_change.            "Change
    Give other required field values
          lw_update_tax_excpt-mandt        = sy-mandt.   "Client
          lw_update_tax_excpt-zuserch      = sy-uname.   "User
          lw_update_tax_excpt-zdate_change = sy-datum.   "Date
          lw_update_tax_excpt-ztime_change = sy-uzeit.   "Time
          MODIFY ztbrap_tax_excpt FROM lw_update_tax_excpt.  "Update record
          message s037(zmbrap).
        WHEN lv_delete.             "Delete
          IF lv_answer = lc_confirm.
          DELETE FROM ztbrap_tax_excpt WHERE
                  zmonat       =   lw_update_tax_excpt-zmonat       AND
                  zbukrs       =   lw_update_tax_excpt-zbukrs       AND
                  zlifnr       =   lw_update_tax_excpt-zlifnr       AND
                  zexctype     =   lw_update_tax_excpt-zexctype     AND
                  zstcd1       =   lw_update_tax_excpt-zstcd1       AND
                  zaugdt_other =   lw_update_tax_excpt-zaugdt_other AND
                  zdmbtr       =   lw_update_tax_excpt-zdmbtr       AND
                  zwhtinssca   =   lw_update_tax_excpt-zwhtinssca.
          message s038(zmbrap).
          ENDIF.
      endcase.
    Now do refresh ...
      if sy-subrc is not initial.
        rollback work.
        message e033(zmbrap).
      else.
        perform procGetTaxExceptionsData.
        commit work.
        perform procGetTaxExceptionsData.
        lw_selfield-refresh    = lc_field_obl.
        lw_selfield-col_stable = lc_field_obl.
        lw_selfield-row_stable = lc_field_obl.
      endif.
    endform.                    "procFindKeyFields
          FORM procDisplayTaxExceptionsData                             *
    Produce ALV report                                                  *
    form procDisplayTaxExceptionsData.
    Variables
      DATA: lv_layout         TYPE       slis_layout_alv,                                 "Layout
            lv_dispvariant    TYPE       disvariant,                                      "For display
            lv_events         TYPE       slis_t_event,                                    "Events
            lv_grid_settings  TYPE       lvc_s_glay,                                      "Grid settings
            lv_event          TYPE       slis_alv_event.                                  "Events
    Constants
      CONSTANTS:
            lc_user_command   TYPE       slis_formname VALUE 'USER_COMMAND',              "User command
            lc_pf_status      TYPE       slis_formname VALUE 'PF_STATUS_SET_SHOW_LIST',   "Pf status
            lc_top_of_page    TYPE       slis_formname VALUE 'TOP_OF_PAGE',               "Top of page
            lc_tab_name       TYPE       tabname       VALUE  'ZTBRAP_TAX_EXCPT',         "Table name
            lc_stripes        TYPE       aavis         VALUE 'X',                         "Stripes
            lc_save           TYPE       aavis         VALUE 'A',                         "Save
            lc_repid          TYPE       sy-repid      VALUE sy-repid,                    "Program name
            lc_inconsistent   TYPE       agitt         VALUE 1,                           "Exception for FM
            lc_program        TYPE       agitt         VALUE 2,                           "Exception for FM
            lc_others         TYPE       agitt         VALUE 3.                           "Exception for FM
    Clear Local Variables
      CLEAR:
            lv_layout,
            lv_dispvariant,
            lv_events,
            lv_grid_settings,
            lv_event.
    *Set up ALV structures
      lv_dispvariant-report   = lc_repid.
    gv_repid = sy-repid.
      lv_dispvariant-username = sy-uname.
    *Set alternate stripes for ALV report
      lv_layout-zebra = lc_stripes .
      lv_grid_settings-coll_top_p = lc_stripes .
    *Set up exit structure for top of coverpage
      lv_event-name = slis_ev_top_of_coverpage.
      lv_event-form = slis_ev_top_of_coverpage.
      append  lv_event to lv_events.
    *Set up exit for top of page
      lv_event-name = slis_ev_top_of_page.
      lv_event-form = slis_ev_top_of_page.
      append  lv_event to lv_events.
    *Build field catalog for List Viewer
      call function 'REUSE_ALV_FIELDCATALOG_MERGE'
        EXPORTING
          i_program_name         = lc_repid
          i_inclname             = lc_repid
          i_structure_name       = lc_tab_name
        CHANGING
          ct_fieldcat            = gt_fieldcat[]
        EXCEPTIONS
          inconsistent_interface = lc_inconsistent
          program_error          = lc_program
          others                 = lc_others.
    field controls
      PERFORM procBuildFieldcat.
    Call ABAP/4 List Viewer
      check not gt_fieldcat[] is initial.
      call function 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program       = lc_repid
          i_callback_user_command  = lc_user_command
          i_callback_pf_status_set = lc_pf_status
          i_callback_top_of_page   = lc_top_of_page
          is_variant               = lv_dispvariant
          i_grid_settings          = lv_grid_settings
          is_layout                = lv_layout
          it_fieldcat              = gt_fieldcat[]
          it_events                = lv_events
          i_save                   = lc_save  " A = All => Standard & User
        TABLES
          t_outtab                 = gt_tax_excpt_tab.
    endform.                    "procDisplayTaxExceptionsData
    **&      Form  PF_STATUS_SET_SHOW_LIST
          Set modified standard status for list
    form pf_status_set_show_list
                     using lw_excpt_tab TYPE slis_t_extab.
    Workarea
      DATA : lw_tax_tab       TYPE       slis_extab.                                      "Type group Slis
    Constants
      DATA : lc_pfstat        TYPE       amert    VALUE 'ZTAX_EXCEPTION',                 "Pf status
             lc_prog          TYPE       sy-repid VALUE sy-repid,                         "Program name
             lc_fcode         TYPE       gui_code VALUE 'SELI'.                           "Function code
    Clear Workarea
      CLEAR :lw_tax_tab.
      lw_tax_tab-fcode = lc_fcode.
      append lw_tax_tab to lw_excpt_tab.
      set pf-status lc_pfstat of program lc_prog excluding lw_excpt_tab.
    endform.                               "PF_STATUS_SET_SHOW_LIST
    **&      Form  procBuildFieldcat
          text
    -->  p1        text
    <--  p2        text
    form procBuildFieldcat .
    Constants
      CONSTANTS :
            lc_co_code          TYPE    amert VALUE 'ZBUKRS',                             "Company code
            lc_vendor           TYPE    amert VALUE 'ZLIFNR',                             "Vendor
            lc_docu_no          TYPE    amert VALUE 'ZBELNR',                             "Document Number
            lc_user             TYPE    amert VALUE 'ZUSERCH',                            "User
            lc_date             TYPE    amert VALUE 'ZDATE_CHANGE',                       "Date
            lc_time             TYPE    amert VALUE 'ZTIME_CHANGE',                       "Time
            lc_taxno            TYPE    amert VALUE 'ZSTCD1',                             "Tax Number
            lc_exception_typ    TYPE    amert VALUE 'ZEXCTYPE',                           "Exception type
            lc_clearing_dt      TYPE    amert VALUE 'ZAUGDT_OTHER',                       "Clearing date
            lc_period           TYPE    amert VALUE 'ZMONAT',                             "Period
            lc_gross_amt        TYPE    amert VALUE 'ZDMBTR',                             "Gross amount
            lc_excpt_amt        TYPE    amert VALUE 'ZWHTINSSCA'.                         "Exception amount
    Set the Fieldtext for the Dictionary fields
      LOOP AT gt_fieldcat.
        gt_fieldcat-key = space.
        CASE gt_fieldcat-fieldname.
          WHEN lc_period.
            gt_fieldcat-seltext_l = text-007.
            MODIFY gt_fieldcat.
          WHEN lc_co_code.
            gt_fieldcat-seltext_l = text-008.
            MODIFY gt_fieldcat.
          WHEN lc_vendor.
            gt_fieldcat-seltext_l = text-009.
            MODIFY gt_fieldcat.
          WHEN lc_exception_typ.
            gt_fieldcat-seltext_l = text-010.
            MODIFY gt_fieldcat.
          WHEN lc_taxno.
            gt_fieldcat-seltext_l = text-011.
            MODIFY gt_fieldcat.
          WHEN lc_clearing_dt.
            gt_fieldcat-seltext_l = text-012.
            MODIFY gt_fieldcat.
          WHEN lc_docu_no.
            gt_fieldcat-seltext_l = text-013.
            MODIFY gt_fieldcat.
          WHEN lc_gross_amt.
            gt_fieldcat-seltext_l = text-014.
            gt_fieldcat-outputlen = 12.
            MODIFY gt_fieldcat.
          WHEN lc_excpt_amt.
            gt_fieldcat-seltext_l = text-015.
            MODIFY gt_fieldcat.
          WHEN lc_user.
            gt_fieldcat-seltext_l = text-016.
            MODIFY gt_fieldcat.
          WHEN lc_date.
            gt_fieldcat-seltext_l = text-017.
            MODIFY gt_fieldcat.
          WHEN lc_time.
            gt_fieldcat-seltext_l = text-018.
            MODIFY gt_fieldcat.
        ENDCASE.
      ENDLOOP.
    endform.                    " procBuildFieldcat
    *&      Form  procWarnuser
          Warn User - Give error message
         -->P_TEXT      text
         -->P_TEXT      text
         -->P_lw_tax_excpt_VALUE  text
    FORM procWarnuser  USING    uv_title TYPE itex132
                                uv_text1 TYPE itex132.
    Constants
      CONSTANTS :
            lc_start_column       TYPE    SY-CUCOL VALUE 25,                             "Start column
            lc_start_row          TYPE    SY-CUROW VALUE 15.                             "Start row

  • Can we create secondary indexes in pooled and cluster table?

    hello all
    can we create secondary indexes in pooled and cluster table?

    Hi,
    Yes, you can.
    Refer the below links
    [http://www.sap-img.com/abap/the-different-types-of-sap-tables.htm|http://www.sap-img.com/abap/the-different-types-of-sap-tables.htm]
    [http://help.sap.com/saphelp_40b/helpdata/en/cf/21f083446011d189700000e8322d00/content.htm|http://help.sap.com/saphelp_40b/helpdata/en/cf/21f083446011d189700000e8322d00/content.htm]
    Regards,
    SB

  • Statistical table, pool table, structure, and ordinary table

    请教在ABAP引用表时,不同类型的表的区别:
    statistical table
    pool table
    structure,
    ordinary table
    其它 table (请列出)
    谢谢!

    >
    leopard123456 wrote:
    > 请教在ABAP引用表时,不同类型的表的区别:
    > statistical table
    > pool table
    > structure,
    > ordinary table
    > 其它 table (请列出)
    >
    > 谢谢!
    对上面提到的几个term不是很明白(尤其是statistical table和ordinary table),其中structure应该不是表的类型。
    请举例。

  • What are the Cluster tables and pooled tables

    pls give some examples for the above table
    Thankyou
    ravi

    Hi
    <b>Pooled Table</b>
    Pooled tables are logical tables that must be assigned to a table pool when they are defined. Pooled tables are used to store control data. Several pooled tables can be cominied in a table pool. The data of these pooled tables are then sorted in a common table in the database.
    <b>Cluster Table</b>
    Cluster tables are logical tables that must be assigned to a table cluster when they are defined. Cluster tables can be used to strore control data. They can also be used to store temporary data or texts, such as documentation.
    check this link also
    http://help.sap.com/saphelp_47x200/helpdata/en/81/415d363640933fe10000009b38f839/frameset.htm
    Rewards if helpfull
    Regards
    Pavan

  • Why Inner join or Outer join is not used for Pool or Cluster tables  ?

    Hi SAP-ABAP Experts .
    With Due Regards .
    May u explain me why Inner join or Outer join is not useful for Pool or Cluster tables  ?
    because peoples advised not use Joins for Pool and Cluster tables , What harm will take place , If we do this ?
    Best Regards to all : Rajneesh

    Both Pooled and Cluster Tables are stored as tables within the database. Only the structures of the two table types which represent a single logical view of the data are defined within the ABAP/4 Data Dictionary. The data is actually stored in bulk storage in a different structure. These tables are commonly loaded into memory (i.e., 'buffered') due to the fact they are typically used for storing internal control information and other types of data with little or no external (business) relevance.
    Pooled and cluster tables are usually used only by SAP and not used by customers, probably because of the proprietary format of these tables within the database and because of technical restrictions placed upon their use within ABAP/4 programs. On a pooled or cluster table:
    Secondary indexes cannot be created.
    You cannot use the ABAP/4 constructs select distinct or group by.
    You cannot use native SQL.
    You cannot specify field names after the order by clause. order by primary key is the only permitted variation.
    I hope it helps.
    Best Regards,
    Vibha
    Please mark all the helpful answers

  • Replicating Pool and Cluster tables in HANA

    Hi,
    Has anyone been able to successfully replicate the Pool and Cluster tables to HANA? I browsed around but am not able to find any solid material/documents related to the same. Please point me to the same.
    yogesh

    Hi Yogesh,
    Maybe you skiped this one. The sample uses BSEG from cluster RFBLG and it's very well explained by Tobias Koebler
    How to enable parallel replication
    Regards, Fernando Da Rós

  • Warnings  Pool or cluster table selected to check/collect statistics

    Dear all,
    I am getting error in in db13 backup.
    We are using Sap Ecc5 and
    oracle 9i on Window 2003.
    Production Server I am facing problem suddenly in db13 the UpdateStatsEnded with Return code:    0001 Success with warnings   
    BR0819I Number of pool and cluster tables found in DDNTT for owner SAPPRD: 169
    BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.EPIDXB
    BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.EPIDXC
    BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.GLSP
    BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.GLTP
    BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.KAPOL
    BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.KOCLU
    BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.M_IFLM
    BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.VBCLU
    BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.VBFCL
    And in db02      
    Missing in R/3 DDIC  11   index
    MARA_MEINS
    MARA_ZEINR
    MCHA_VFDAT
    VBRP_ARKTX
    VBRP_CHARG
    VBRP_FKIMG
    VBRP_KZWI1
    VBRP_MATKL
    VBRP_MATNR
    VBRP_SPART
    VBRP_WERKS
    Please guide steps   how to build index  and Pool or cluster table problem.
    Thanks,
    Kumar

    > BR0819I Number of pool and cluster tables found in DDNTT for owner SAPPRD: 169
    > BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.EPIDXB
    > BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.EPIDXC
    > BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.GLSP
    > BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.GLTP
    > BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.KAPOL
    > BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.KOCLU
    > BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.M_IFLM
    > BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.VBCLU
    > BR0871W Pool or cluster table selected to check/collect statistics: SAPPRD.VBFCL
    Upto Oracle 9i the rulebased optimizer was still used for Pool/Clustertables for reasons of plan stability (e.g. always take the index).
    To ensure that this is the case, these tables/indexes mustn't have CBO statistics.
    Therefore these tables are usually excluded from getting CBO statistics via an DBSTATC entry. You can modify this setting in transaction DB21.
    > And in db02      
    >
    >
    Missing in R/3 DDIC  11   index
    >  MARA_MEINS
    >  MARA_ZEINR
    >  MCHA_VFDAT
    >  VBRP_ARKTX
    >  VBRP_CHARG
    >  VBRP_FKIMG
    >  VBRP_KZWI1
    >  VBRP_MATKL
    >  VBRP_MATNR
    >  VBRP_SPART
    >  VBRP_WERKS
    Well, these indexes have been setup just in the database and not (how it is supposed to be) via the SE11. As the indexes have a naming-scheme, that is not supported by the ABAP Dictionary, the easiest way to get away from the warnings is to check which columns are covered by the indexes, drop the indexes on DB level and recreate them via SE11.
    Best regards,
    Lars

  • Help regarding 'table controls' and 'internal table' updation

    Hi all.
    Basically this is what i have done..... I have created a table control in module pool program. I declared an Internal table and also have populated it from a database table. I have also used insert statement to insert an blank record in the table control view and delete statements to delete any record,  also in the table control view... .
    But I am not able to update any new record into an Internal table or  the  original table ..
    Any Ideas how to do it ,Gurus
    Thanks

    HEllo,
    Check thsi simple report.
    REPORT ZTFH_TABLECONTROL .
    TABLES : ZEMPTABLE.
    DATA : SELLINE .
    DATA : FLD(20).
    DATA : LINNO TYPE I , OFF TYPE I.
    DATA : ITAB LIKE ZEMPTABLE OCCURS 10 WITH HEADER LINE.
    CONTROLS  : CON_TAB TYPE TABLEVIEW USING SCREEN 100.
    SELECT * FROM ZEMPTABLE INTO TABLE ITAB.
    DESCRIBE TABLE ITAB LINES CON_TAB-LINES.
    CALL SCREEN 100.
    *&      Module  EXT_COMM  INPUT
    *       text
    MODULE EXT_COMM INPUT.
    LEAVE PROGRAM.
    ENDMODULE.                 " EXT_COMM  INPUT
    *&      Module  TAB_UPDATE  INPUT
    *       text
    MODULE TAB_UPDATE INPUT.
    CASE SY-UCOMM.
    WHEN 'DEL'.
          IF SELLINE = 'X'.
            DELETE ITAB WHERE EMPNO = ITAB-EMPNO.
            MESSAGE I000(ZYF_DEL).
          ENDIF.
    WHEN 'UPD'.
        IF SELLINE = 'X'.
             MODIFY ITAB INDEX CON_TAB-CURRENT_LINE.
             MESSAGE I001(ZYF_DEL).
        ENDIF.
    WHEN 'INS'.
         IF SELLINE = 'X'.
          GET CURSOR FIELD FLD LINE LINNO OFFSET OFF.
          SET CURSOR FIELD FLD LINE LINNO OFFSET OFF.
          IF FLD CP 'ITAB*' AND SY-SUBRC = 0.
            IF LINNO >= 1.
              LINNO = LINNO + CON_TAB-TOP_LINE - 1.
              CLEAR ITAB.
              INSERT ITAB INDEX LINNO.
              CON_TAB-LINES = CON_TAB-LINES + 1.
            ELSE.
              CLEAR ITAB.
              APPEND ITAB.
              CON_TAB-LINES = CON_TAB-LINES + 1.
            ENDIF.
          ENDIF.
        ENDIF.
    WHEN 'SAV'.
      MODIFY ITAB INDEX CON_TAB-CURRENT_LINE.
      MESSAGE I002(ZYF_DEL).
    ENDCASE.
    ENDMODULE.                 " TAB_UPDATE  INPUT
    “ FLOW LOGIC
    PROCESS BEFORE OUTPUT.
    MODULE STATUS_0100.
    LOOP AT ITAB WITH CONTROL CON_TAB.
    ENDLOOP.
    PROCESS AFTER INPUT.
    MODULE USER_COMMAND_0100.
    MODULE EXT_COMM AT EXIT-COMMAND.
    LOOP AT ITAB.
    MODULE TAB_UPDATE.
    ENDLOOP.     
    REgards,
    Vasanth

  • Get z table data to internal table

    hi friends,
    when i'm trying to get ztable data to an internal table and run the smartform it's giving a runtime error saying
    "In the function module interface, you can specify only fields of a specific type and length under "ITAB".
    Although the currently specified field "IT_ZPPR2" is the correct type, its length is incorrect."
    here is my se38 code
    REPORT  ZPPR_2.
    TYPE-POOLS: SLIS.
    TABLES : MAST, STPO, ZPPR2.
    DATA ITAB LIKE ZPPR2 OCCURS 0 WITH HEADER LINE.
    TYPES : BEGIN OF TY_FINAL,
      WERKS TYPE ZPPR2-WERKS, "PLANT
      MATNR TYPE ZPPR2-MATNR, "MATERIAL
      MENGE TYPE ZPPR2-MENGE, "QTY
    END OF TY_FINAL.
    DATA : IT_ZPPR2 TYPE TABLE OF TY_FINAL WITH HEADER LINE,
           WA_ZPPR2 TYPE TY_FINAL.
    START-OF-SELECTION.
    SELECT * FROM ZPPR2
      INTO CORRESPONDING FIELDS OF TABLE IT_ZPPR2.
    CALL FUNCTION '/1BCDWB/SF00000081'
    * EXPORTING
    *   ARCHIVE_INDEX              =
    *   ARCHIVE_INDEX_TAB          =
    *   ARCHIVE_PARAMETERS         =
    *   CONTROL_PARAMETERS         =
    *   MAIL_APPL_OBJ              =
    *   MAIL_RECIPIENT             =
    *   MAIL_SENDER                =
    *   OUTPUT_OPTIONS             =
    *   USER_SETTINGS              = 'X'
    * IMPORTING
    *   DOCUMENT_OUTPUT_INFO       =
    *   JOB_OUTPUT_INFO            =
    *   JOB_OUTPUT_OPTIONS         =
      TABLES
        ITAB                       = IT_ZPPR2
    * EXCEPTIONS
    *   FORMATTING_ERROR           = 1
    *   INTERNAL_ERROR             = 2
    *   SEND_ERROR                 = 3
    *   USER_CANCELED              = 4
    *   OTHERS                     = 5
    IF SY-SUBRC <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

    Hi,
    In smartform you have declared as below,
    yes, like this
    ITAB LIKE ZPPR2
    under Tables tab in Form Interface
    Then why in program,
    TYPES : BEGIN OF TY_FINAL,
      WERKS TYPE ZPPR2-WERKS, "PLANT
      MATNR TYPE ZPPR2-MATNR, "MATERIAL
      MENGE TYPE ZPPR2-MENGE, "QTY
    END OF TY_FINAL.
    DATA : IT_ZPPR2 TYPE TABLE OF TY_FINAL WITH HEADER LINE,
           WA_ZPPR2 TYPE TY_FINAL.
    declare IT_ZPPR2 same in program and smartform both.
    declare in program as,
    DATA : IT_ZPPR2 type table of ZPPR2 ,
           WA_ZPPR2 TYPE zpr2.
    Hope above will solve your problem.

  • Physical table list against Cluster Table CDPOS and PCDPOS

    Hello experts,
    For function customized requirement, we need to know the physical table
    list against Cluster Table CDPOS and PCDPOS and EDID4, just like
    Cluster Table BSEG contain with six physical tables
    BSAD/BSID/BSAS/BSIS/BSAK/BSIK. Also we want to know if there is any
    general way to find out the physical table list for any cluster table.
    My question is:
    1. How can I find all the transparent table for Cluster Table CDPOS?
    just like Cluster Table BSEG has transparent tables of
    BSAD/BSID/BSAS/BSIS/BSAK/BSIK.
    2. How can I find all the transparent table for Cluster Table PCDPOS?
    3. How can I find all the transparent table for Cluster Table EDID4?
    4. Additionally,I want to know if there is any
    general way to find out all the transparent tables for an specific
    cluster table.
    Many thanks.

    Hello,
    simply look in transaction SE11.
    Example:
    1.  SE11 -> Table CDPOS - Display. On Tab 'Delivery and Maintenance' you'll find Pool/Cluster 'CDCLS'.
    2. SE11 -> Table CDCLS -> Display. On next screen position on CDCLS-> Where-used-list -> Tables -> you'll find tables CDPOS and PCDPOS.
    Same thing with EDID4    -> EDI40 ...
    Regards Wolfgang

Maybe you are looking for

  • Potential bug when using Parsley 2.4.1 and Cairngorm's module 0.17 in Flex 4.5.1

    Hi I have an issue when using cairngorm's ModuleViewLoader along with ParsleyModuleDescriptor to load a simple module consistig mainly of HBoxes, VBoxes and Datagrids. The module consists of one child (let's call it ViewA) and that child consists of

  • Maximum open cursors exceeded - special case scenario

    Im sorry if I am asking the same old question but I assure you I have done a lot of research and tried everything I can think of. I have done a search on this and found hundreds of sites with solutions to this problem I still cant seem to get it to w

  • COPY_REGION & SELECT_ALL - not working correctly

    Hi there, I have menu items for copy and paste. Here are the properties Menu Item Type: Plain Magic item : None Command type: PLSQL visible in menu: Yes visible in horizontal menu tool bar : yes visible in vertical menu tool bar : no icon in menu: No

  • How to put values in a HashMap dynamically using a ArrayList as 'value'

    i have to generate different maps dynamically by passing arraylist (which is also dinamically increasing) in the value. i want to use : List myList=new ArrayList(); for(..........){ Map mymap=new HashMap(); myMap.put(key, myList.add(objectBean)); ===

  • Problem in installing BI content

    hi guys, was trying to install BI content infocube 0sd_c13...grouping i selected as only necessary objects..i am getting error message...i can understand the error,but want to know how to solve this error...below is the error msg: <b>You have collect