Regarding the ADRC table entry

Hi friends,
i have one customer in KNA1-kunnr as '1000' .and his address number is ADRNR is 2000. now the thing is i want to add the value R to the field NATION in the table ADRC. but i cant add it directly to ADRC table. so from which screen i need to enter?
Regards,
Venkat.

Go to XD02 (Change customer master) transaction and and provide custiomer number in adresss tab you will find international versions button.you click this button and provide R here .
so it carries same value in adrc table in field nation
if you have to do the same operation for more than some records then choose bdc for the saem thing
Please reward if useful
Sivaparvathi
Message was edited by: Sivaparvathi
If this doesnt helps you, feel free to ask
Message was edited by:
        Siva Parvathi

Similar Messages

  • The SYSVAL table entry for the database version (16) does not match the required version

    We upgraded from Tidal Enterprise Scheduler (TES) 5.31 to 6.1 on fresh Windows x64 2008 R2 servers.  I did a fresh install but our DBA restored a copy of our database from pre-prod which was at 5.31.  I get the error below.  Note, SQL went from 2005 to 2012 during this upgrade.  Do I need to change a value in this table to reflect the SQL change?
    [04/29 12:47:14:198]:TIDAL Enterprise Scheduler: version 6.1.0.133
    [04/29 12:47:14:198]:Java version: 1.8.0
    [04/29 12:47:14:198]:Java Virtual Machine version: 25.0-b70
    [04/29 12:47:14:198]:Start Time : 04/29/14 12:47:14:198
    [04/29 12:47:14:198]:----------------------------------------------------------------------------
    [04/29 12:47:14:198]:Database URL :jdbc:sqlserver://SQL2012-Host:1433;responseBuffering=adaptive
    [04/29 12:47:14:198]:Database Driver :com.microsoft.sqlserver.jdbc.SQLServerDriver
    [04/29 12:47:14:198]:Maximum number of log files = 100
    [04/29 12:47:14:198]:Added a LogFile called 'RegularFile'
    [04/29 12:47:14:198]:LogManager: setting default log
    [04/29 12:47:14:214]:Retrieved a LogFile called 'RegularFile'
    [04/29 12:47:14:495]:MessageBroker: Instantiated TcpTransportServer (URI = tcp://0.0.0.0:6215)
    [04/29 12:47:16:975]:Retrieved a LogFile called 'RegularFile'
    [04/29 12:47:17:272]:The SYSVAL table entry for the database version (16) does not match the required version (23). Shutting down.
    [04/29 12:47:20:282]:
    [04/29 12:47:20:282]:
    [04/29 12:47:20:282]:Shutting down the application

    I had this error last night while applying a patch to 6.0. However in my case the version was 21 versus a required version of 23.
    As far as i know 6.1 is not compatible with the 5 db schema, so you will need an update / migration plan for the db also.

  • How to find out the changes made to the customized table entries

    Hi Team
    i want to know the changes made to the customized table. i have a 'Z' table in my production system, in that table i would like to know whether any table entry is deleted or not. if at all there is any deletion happened, i want to know who had done it.
    So i request you to please let me know the procedure for the same.
    Thanks
    Raj

    Hi Nagaraju,
                       Go to Table Maintenance (SM30)- Display mode-- Utilities-- change Logs. Give the Date range. before giving the date range click on display status , this will show you If the display is active or not. Kindly please let me know If you need any more information on this.
    Regards
    Ram Pedarla

  • Regarding the rw_server_queue table

    Can I know under which schema does the table "rw_server_queue" reside which contains all the information with regards to the past jobs, Scheduled jobs, Present jobs with the time when these jobs are performed. I was unable to find this table even when I logged as SYS.

    That is not installed by default. You first have to install the reports tables. Log in as the user where you want to install the tables and run the script:
    %ORACLE_HOME%\reports\admin\sql\rw_server.sql
    Edit the <repserv>.conf found in %ORACLE_HOME%/reports/conf and change the following entry with the login information:
    <jobStatusRepository class="oracle.reports.server.JobRepositoryDB"> <property name="repositoryConn" value="scott/tiger@alias" confidential="yes" encrypted="no"/> </jobStatusRepository>

  • Regarding the internal table data by using read table it_mard into wa_mard

    hi,
    i am reading the internal table it_mard with key matnr .
    my code is like this.
    *loop at it_final into wa_final.*
    *wa_second-matnr  = wa_final-matnr.*
      wa_second-bwart = wa_final-bwart.
    wa_second-bwtar = wa_final-bwtar.
    *read table it_mard into wa_mard with key matnr = wa_final-matnr*
                                                                              *binary search.*
    *if sy-subrc = 0.*
    *wa_second-labst = wa_mard-labst.*
    *endif.*
    *append wa_second to it_second.*
    clear :wa_final.
    *endloop.*
    final internal table haveing duplicate values because this table it_final having movement types
    so that i am not using delete statement .
    is there any logic for handling the duplicate values inside the loop statement
    by using read table statement.
    could u plz explain clearly  \[removed by moderator\]
    Edited by: Jan Stallkamp on Jul 11, 2008 2:11 PM

    this is my code could u plz explain  regarding duplicate material number .
    LOOP AT IT_MSEG INTO WA_MSEG.
        WA_FINAL-MBLNR = WA_MSEG-MBLNR.
        WA_FINAL-MATNR = WA_MSEG-MATNR.
        WA_FINAL-BWART = WA_MSEG-BWART.
        WA_FINAL-BWTAR = WA_MSEG-BWTAR.
        WA_FINAL-MENGE = WA_MSEG-MENGE.
        WA_FINAL-SOBKZ = WA_MSEG-SOBKZ.
        COLLECT WA_FINAL INTO IT_FINAL.
        CLEAR WA_FINAL.
      ENDLOOP.
      LOOP AT IT_FINAL INTO WA_FINAL.
        READ TABLE IT_MARD INTO WA_MARD WITH KEY MATNR = WA_FINAL-MATNR
                                                                                    BINARY SEARCH.
    this is reading the duplicate records i need to control duplicate records here .
    the   labst       value is repeating the number of times because of the meterial number duplication
    how can i restrict plz explain
        IF SY-SUBRC = 0.
          WA_FINAL-LABST = WA_MARD-LABST.
        ENDIF.
        READ TABLE IT_MKPF INTO WA_MKPF WITH KEY MBLNR = WA_FINAL-MBLNR
                                                                                    BINARY SEARCH.
        IF SY-SUBRC = 0.
          WA_FINAL-BUDAT = WA_MKPF-BUDAT.
        ENDIF.
        MODIFY IT_FINAL FROM WA_FINAL.
        CLEAR WA_FINAL.
      ENDLOOP.
      LOOP AT IT_FINAL INTO WA_FINAL.
        WA_SECOND-BWTAR = WA_FINAL-BWTAR.
        IF WA_FINAL-BWART = '101' OR WA_FINAL-BWART = '501' OR WA_FINAL-BWART = '561'.
          WA_SECOND-MENGE11 = WA_FINAL-MENGE.
        ENDIF.
        IF WA_FINAL-BWART = '201'.
          WA_SECOND-MENGE12 = WA_FINAL-MENGE.
        ENDIF.
        IF WA_FINAL-BWART = '541' AND WA_FINAL-SOBKZ = 'O' .
          WA_SECOND-MENGE13 = WA_FINAL-MENGE.
        ENDIF.
        IF WA_FINAL-BWART = '601'.
          WA_SECOND-MENGE14 = WA_FINAL-MENGE.
        ENDIF.
        IF WA_FINAL-BWART = '543'.
          WA_SECOND-MENGE15 = WA_FINAL-MENGE.
        ENDIF.
        IF WA_FINAL-BWART = '702'.
          WA_SECOND-MENGE16 = WA_FINAL-MENGE.
        ENDIF.
        IF WA_FINAL-BWART = '313'.
          WA_SECOND-MENGE17 = WA_FINAL-MENGE.
        ENDIF.
        IF WA_FINAL-BWART = '315'.
          WA_SECOND-MENGE18 = WA_FINAL-MENGE.
        ENDIF.
        IF WA_FINAL-BWART = '122' OR WA_FINAL-BWART = '161'.
          WA_SECOND-MENGE19 = WA_FINAL-MENGE.
        ENDIF.
        COLLECT WA_SECOND INTO IT_SECOND.
        CLEAR WA_SECOND.
      ENDLOOP.

  • How Bex flageffects internally effects the SID table entries for Master Dat

    Hi Every one,
    I do understand how the Bex flag setting works in relation to reporting like y we set the flag or y we dont set the flag when we do reporting or not on ODS.. <b>My question here is, i dont understand, how the SID tables or the master data tables or ODS tables get effected with this flag. Can some one explain me what kind of changes in the tables takes place with this flag setting and how it is used in the reporting..</b> How this thing is different with respect to Cube reporting process.. I do understand that ODS doesnt have Dimensions.. so i am just looking for conceptual clarification and not any forum links related to the Bex falg.. i have already gone through many links in the forum, but they didnt help me to clarify this process at table level which i am looking for... ANy help will be highly appreciated in SDN way..
    regards,
    kishore

    Thanks Durgesh but I have tried every master data test in RSRV.  I think because these document number characteristics don't have master data tables most of the tests return a message that the test does not apply to the characteristic.  These characteristics only have a sid table.

  • How to archive the NAST table entries

    Hi All,
    Table NAST has 33 million records and there are lots of jobs which use this table. It is a performance issue. I want to know is there any way to increase the performance of accessing NAST table.
    OR
    Is there any way to archieve the entries from NAST table
    Thanks in advance.

    Hi Sushant,
    Welcome to SDN. The archiving should be a well coordinated and well thought effort in any enterprise. I will not suggest you to archive only single table. All the related tables should be archived together till a point in time. The table NAST is part of following archiving objects.
    LE_HU     Handling units
    MM_EKKO     Purchasing documents
    MM_MATBEL     Materials management: Material documents
    MM_REBEL     Materials Management: invoice documents
    RV_LIKP     Deliveries
    SD_LIKP     No text available
    SD_VBAK     Sales documents
    SD_VBKA     Sales activities
    SD_VBRK     Billing documents
    SD_VTTK     SD Transport
    W_PROMO     Retail: Promotion
    You have to perform an analysis that which business processes ( like billing, delivery ) have resulted the most number of NAST records. Talk to your functional guys and <b>bring a project to archive them</b> up to a finite date ( like 12/31/2002). It will clear up not only NAST but other common tables (like CDHDR and CDPOS).

  • Regarding the AD_BUCKET table

    How is the AD_BUCKET table populated?
    In my database,I do not have any entry in this table.
    What may be the probable reason for that?
    Do i need to do some configuration for that?
    thanx for helping.
    sup

    Well, I don't know what your app's doing to fully diagnose it. You
    should contact [email protected] for that level of assistance.
    You will only see ClickCampaignEvents being fired if someone clicks on
    an image content from a campaign in a placeholder. Text and shockwave
    content don't generate Click events with the default renderers.
    If you are seeing DisplayCampaignEvents, then a campaign is involved
    somewhere, and there should be a row in the ad_bucket table. I don't
    know anymore about what's going on in your environment that you're not
    seeing entries.
    Greg
    sup wrote:
    Yes My campaign is being fired properly and that too from an authenticated user.
    And the scenario/campaign is active.
    Also, the DisplayCampaignEvent is being stored in database (in the EVENT table)..
    But still AD_BUCKET table is empty.
    AND One more problem---ClickCampaignEvent is not being stored in EVENT table.
    Can you please look into it WHY???
    Gregory Smith <[email protected]> wrote:
    Make sure your campaign (with a placeholder rule) is firing on an event
    from an authenticated user (or a tracked-anonymous user if using that
    in
    8.1).
    Make sure your campaign and scenario are active, the start and stop
    times are good, and that ad goals haven't been met if you're using those.
    You can turn on debug out for campaigns by creating a debug.properties
    file in the directory where the server starts up (typically the domain
    directory). In there, put:
    usePackageName=true
    com.bea.campaign: on
    You should get output from a CampaignEventListener class which will tell
    you what events it has received and which ones it's ignoring. If it
    accepts an event, you should next have output from CampaignServiceImpl.
    If there are active campaigns with active scenarios, you should next
    have output from ScenarioServiceImpl.
    Greg
    sup wrote:
    thanx greg for looking into it,
    but i am using campaigns and still not getting any entry in that table.
    What should i do?
    sup
    Gregory Smith <[email protected]> wrote:
    AD_BUCKET is going to populated by a call to
    AdBucketService.userAddAd(), which is generally only called when you
    use
    a campaign to put content in a placeholder for a user.
    If you don't use campaigns, that table won't be populated. Default
    queries in a placeholder definition will work just fine with no entries
    in the table.
    Greg
    sup wrote:
    How is the AD_BUCKET table populated?
    In my database,I do not have any entry in this table.
    What may be the probable reason for that?
    Do i need to do some configuration for that?
    thanx for helping.
    sup

  • Regarding the Database table names

    Hi,
    We receive the data through ORDERS05 IDoc, in which data base tables this data stores ?
    Control records, status records and data records data saved in which data base tables.

    Not only for ORDERS05 Idoc ,  For all Idoc's control records , Status Record , Data records are stored in the below tables.
    Control Record :
    EDIDC                          Control record (IDoc)
    Status Record :
    EDIDS                          Status Record (IDoc)
    Data Record :
    EDID2                          IDoc Data Record from 3.0C onwards
    EDID3                          IDoc Data Record from 3.0 onwards
    EDID4                          IDoc Data Records from 4.0 onwards
    Based on your R/3 Version.
    Thanks,
    Karthik

  • Regarding the number of entries of Info object values?

    Hi experts,
    My query is that, I have around 100 records ie., with Cust No. TR0001 to TR0100.And I have loaded the same number of fields into master data objects with around 10 attributes. Now my question is Can i load 8123 records ie., TR0001 to TR8123 into the infocube.?.
    1) Is the above loading procedure correct.?
    2) How the master data is assigned to Transaction data in this case?
    Thanks in advance
    regards
    dubbu

    Hi,
    To answer your first question, the loading procedure is wrong. Always load master data and then the transaction data.
    However, you can load Transaction data without loading Master Data.
    To answer your second question, when you load Transaction data, if Master data does not exist, at that point of time, the system inserts the value in Master data table
    (TR0100 to TR8123 in your case. Attributes will be blank). When the value is inserted, Sid's get generated automatically and those Sid's will be used in dimension tables.
    Also, you can make the setting in the InfoPackage  Update Tab.
    Load transaction data even if no master data exists--->This setting does the steps mentioned above.
    Load transaction data only if master data exists--->This setting leads to load failure with "No Sid found"
    Regards,
    Sekhar.

  • ADRC table update during Vendors creation

    Hello Everyone ,
    I want to know in which include/module of SAPMF02K program is used to insert/update entries of the ADRC table while creating vendors (XK01).
    Our purpose is to update a Z field in ADRC table capturing the value from LFA1-SCACD.
    Regards,
    Prakash S.

    Hi Prakash,
    You may check function module "ADDR_SINGLE_SAVE"
    in form "ZAV_SINGLE_SAVE" of include "MF02DFZA".

  • Help view to get two table entries in search help

    Hi,
    I have created the help view for join two tables and that help view was  called in the selection method for creating search help of the custom table field. since it has show inthe selection screen , it is fetching only one table entries. and the shown entries are displaying but not passing.
    Please provide the steps to get the two table entries and the displayed entries should pass.
    Thanks in Advance,
    siva

    Hi sivanag,
    1. Try your view with SE16/SE16N to see if it really finds what you expect
    2. Use the same data elements in help view as on selection screen
    3. read documentation and F1 help on all fields you see in the search help definition - especially only field marked as EXPORT parameter will be put back on screen.
    But, sincerely, I don't know what your selection-screen looks like.
    Regards,
    Clemens

  • Accessing Address from ADRC table

    Hi,
    When inputting a delivery address in a PR the three options are to search by customer, vendor, or input an address.  My questions is how do you access inputted addresses?  These inputted addresses are saved in the ADRC table, but when creating a new PR how can I search and retrieve these addresses for use? 
    Thanks for your help!

    Hi,
    Please try this piece of code
    data: wa_addr1_sel like addr1_sel,
    wa_addr1_val like addr1_val.
    clear : wa_addr1_sel, wa_addr1_val.
    wa_addr1_sel-addrnumber = it_adrnr-adrnr.
    call function 'ADDR_GET'
    exporting
    address_selection = wa_addr1_sel
    importing
    address_value = wa_addr1_val
    exceptions
    parameter_error = 1
    address_not_exist = 2
    version_not_exist = 3
    internal_error = 4
    others = 5.
    if sy-subrc eq 0.
    it_addr-adrnr = wa_addr1_val-addrnumber.
    it_addr-name1 = wa_addr1_val-name1.
    it_addr-street = wa_addr1_val-street.
    it_addr-city = wa_addr1_val-city1.
    it_addr-region = wa_addr1_val-region.
    append it_addr.
    clear it_addr.
    endif.
    Regards
    Hiren k.Chitalia

  • Custom transactions execution from base on conifguration table entry.

    Hello,
    I have a reqiurement where I name of the custom Transaction programs are maintained in a configuration table.
    I am creating a custom report on whose execution, the selection screen should show the name name of all those transaction proigrams in form of radio button which I can execute.
    The problam is that the configuration table can have multiple custom transaction entries over there and it can get changed every day. How can I acieve this reuqirement ?
    Regards,
    Jainam.

    Thanks Narendra and Rob for your inputs.
    Narendra
    I liked the approach of using table control with the table control have a radio button and then control the number of radio buttons based on the config table entries..
    How can I achieve this table control approach because I have never used this approach before ? Can you send me a sample example ?
    Thanks.
    Regards,
    Jainam.

  • Difference betwen the internal tables

    Hai friends,
               Pls give me the types  of internal tables and their   differences .and its usage by example.
      regrds,
    Prashanth.

    Internal tables
    Definition
    Data structure that exists only at program runtime.
    An internal table is one of two structured data types in ABAP. It can contain any number of identically structured rows, with or without a header line.
    The header line is similar to a structure and serves as the work area of the internal table. The data type of individual rows can be either elementary or structured.
    Internal tables provide a means of taking data from a fixed structure and storing it in working memory in ABAP. The data is stored line by line in memory, and each line has the same structure. In ABAP, internal tables fulfill the function of arrays. Since they are dynamic data objects, they save the programmer the task of dynamic memory management in his or her programs. You should use internal tables whenever you want to process a dataset with a fixed structure within a program. A particularly important use for internal tables is for storing and formatting data from a database table within a program. They are also a good way of including very complicated data structures in an ABAP program.
    Like all elements in the ABAP type concept, internal tables can exist both as data types and as data objects . A data type is the abstract description of an internal table, either in a program or centrally in the ABAP Dictionary, that you use to create a concrete data object. The data type is also an attribute of an existing data object.
    Internal Tables as Data Types
    Internal tables and structures are the two structured data types in ABAP. The data type of an internal table is fully specified by its line type, key, and table type.
    Line type
    The line type of an internal table can be any data type. The data type of an internal table is normally a structure. Each component of the structure is a column in the internal table. However, the line type may also be elementary or another internal table.
    Key
    The key identifies table rows. There are two kinds of key for internal tables - the standard key and a user-defined key. You can specify whether the key should be UNIQUE or NON-UNIQUE. Internal tables with a unique key cannot contain duplicate entries. The uniqueness depends on the table access method.
    If a table has a structured line type, its default key consists of all of its non-numerical columns that are not references or themselves internal tables. If a table has an elementary line type, the default key is the entire line . The default key of an internal table whose line type is an internal table, the default key is empty.
    The user-defined key can contain any columns of the internal table that are not references or themselves internal tables. Internal tables with a user-defined key are called key tables. When you define the key, the sequence of the key fields is significant. You should remember this, for example, if you intend to sort the table according to the key.
    Table type
    The table type determines how ABAP will access individual table entries. Internal tables can be divided into three types:
    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.
    Sorted tables are always saved sorted by the key. They also have an internal index. The system can access records either by using the table index or the key. The response time for key access is logarithmically proportional to the number of table entries, since the system uses a binary search. The key of a sorted table can be either unique or non-unique. When you define the table, you must specify whether the key is to be unique or not. Standard tables and sorted tables are known generically as index tables.
    Hashed tables have no linear index. You can only access a hashed table using its key. The response time is independent of the number of table entries, and is constant, since the system access the table entries using a hash algorithm. The key of a hashed table must be unique. When you define the table, you must specify the key as UNIQUE.
    Generic Internal Tables
    Unlike other local data types in programs, you do not have to specify the data type of an internal table fully. Instead, you can specify a generic construction, that is, the key or key and line type of an internal table data type may remain unspecified. You can use generic internal tables to specify the types of field symbols and the interface parameters of procedures. You cannot use them to declare data objects.
    Internal Tables as Dynamic Data Objects
    Data objects that are defined either with the data type of an internal table, or directly as an internal table, are always fully defined in respect of their line type, key and access method. However, the number of lines is not fixed. Thus internal tables are dynamic data objects, since they can contain any number of lines of a particular type. The only restriction on the number of lines an internal table may contain are the limits of your system installation. The maximum memory that can be occupied by an internal table (including its internal administration) is 2 gigabytes. A more realistic figure is up to 500 megabytes. An additional restriction for hashed tables is that they may not contain more than 2 million entries. The line types of internal tables can be any ABAP data types - elementary, structured, or internal tables. The individual lines of an internal table are called table lines or table entries. Each component of a structured line is called a column in the internal table.
    Choosing a Table Type
    The table type (and particularly the access method) that you will use depends on how the typical internal table operations will be most frequently executed.
    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.
    Sorted tables
    This is the most appropriate type if you need a table which is sorted as you fill it. You fill sorted tables using the INSERT statement. Entries are inserted according to the sort sequence defined through the table key. Any illegal entries are recognized as soon as you try to add them to the table. The response time for key access is logarithmically proportional to the number of table entries, since the system always uses a binary search. Sorted tables are particularly useful for partially sequential processing in a LOOP if you specify the beginning of the table key in the WHERE condition.
    Hashed tables
    This is the most appropriate type for any table where the main operation is key access. You cannot access a hashed table using its index. The response time for key access remains constant, regardless of the number of table entries. Like database tables, hashed tables always have a unique key. Hashed tables are useful if you want to construct and use an internal table which resembles a database table or for processing large amounts of data.
    Special Features of Standard Tables
    Unlike sorted tables, hashed tables, and key access to internal tables, which were only introduced in Release 4.0, standard tables already existed several releases previously. Defining a line type, table type, and tables without a header line have only been possible since Release 3.0. For this reason, there are certain features of standard tables that still exist for compatibility reasons.
    Standard Tables Before Release 3.0
    Before Release 3.0, internal tables all had header lines and a flat-structured line type. There were no independent table types. You could only create a table object using the OCCURS addition in the DATA statement, followed by a declaration of a flat structure:
    DATA: BEGIN OF  .
    The effect of the OCCURS addition is to construct a standard table with the data type
    They can also be replaced by the following statements:
    Standard Tables From Release 4.0
    When you create a standard table, you can use the following forms of the TYPES and DATA statements. The addition INITIAL SIZE is also possible in all of the statements. The addition WITH HEADER LINE is possible in the DATA statement.
    Standard Table Types
    Generic Standard Table Type:
    TYPES  TYPE|LIKE TABLE OF  TYPE|LIKE TABLE OF 
                           WITH   TYPE|LIKE TABLE OF  TYPE|LIKE TABLE OF  TYPE|LIKE TABLE OF 
                           WITH   .
    Here, the LIKE addition refers to an existing table object in the same program. The TYPE addition can refer to an internal type in the program declared using the TYPES statement, or a table type in the ABAP Dictionary.
    You must ensure that you only refer to tables that are fully typed. Referring to generic table types (ANY TABLE, INDEX TABLE) or not specifying the key fully is not allowed (for exceptions, refer to Special Features of Standard Tables).
    The optional addition WITH HEADER line declares an extra data object with the same name and line type as the internal table. This data object is known as the header line of the internal table. You use it as a work area when working with the internal table (see Using the Header Line as a Work Area). When you use internal tables with header lines, you must remember that the header line and the body of the table have the same name. If you have an internal table with header line and you want to address the body of the table, you must indicate this by placing brackets after the table name ([]). Otherwise, ABAP interprets the name as the name of the header line and not of the body of the table. You can avoid this potential confusion by using internal tables without header lines. In particular, internal tables nested in structures or other internal tables must not have a header line, since this can lead to ambiguous expressions.
                      TYPES VECTOR TYPE SORTED TABLE OF I WITH UNIQUE KEY TABLE LINE.
    DATA: ITAB TYPE VECTOR,
          JTAB LIKE ITAB WITH HEADER LINE.
    MOVE ITAB TO JTAB.   <-  Syntax error!
    MOVE ITAB TO JTAB[].
    The table object ITAB is created with reference to the table type VECTOR. The table object JTAB has the same data type as ITAB. JTAB also has a header line. In the first MOVE statement, JTAB addresses the header line. Since this has the data type I, and the table type of ITAB cannot be converted into an elementary type, the MOVE statement causes a syntax error. The second MOVE statement is correct, since both operands are table objects.
    Declaring New Internal Tables
    You can use the DATA statement to construct new internal tables as well as using the LIKE or TYPE addition to refer to existing types or objects. The table type that you construct does not exist in its own right; instead, it is only an attribute of the table object. You can refer to it using the LIKE addition, but not using TYPE. The syntax for constructing a table object in the DATA statement is similar to that for defining a table type in the TYPES statement.
    DATA ]
    As when you define a table type, the type constructor
    of an internal table as follows:
    UNIQUE KEY  belong to the key as long as they are not internal tables or references, and do not contain internal tables or references. Key fields can be nested structures. The substructures are expanded component by component when you access the table using the key. The system follows the sequence of the key fields.
    UNIQUE KEY TABLE LINE
    If a table has an elementary line type (C, D, F, I, N, P, T, X), you can define the entire line as the key. If you try this for a table whose line type is itself a table, a syntax error occurs. If a table has a structured line type, it is possible to specify the entire line as the key. However, you should remember that this is often not suitable.
    UNIQUE DEFAULT KEY
    This declares the fields of the default key as the key fields. If the table has a structured line type, the default key contains all non-numeric columns of the internal table that are not and do not contain references or internal tables. If the table has an elementary line type, the default key is the entire line. The default key of an internal table whose line type is an internal table, the default key is empty.
    Specifying a key is optional. If you do not specify a key, the system defines a table type with an arbitrary key. You can only use this to define the types of field symbols and the interface parameters of procedures. For exceptions, refer to Special Features of Standard Tables.
    The optional additions UNIQUE or NON-UNIQUE determine whether the key is to be unique or non-unique, that is, whether the table can accept duplicate entries. If you do not specify UNIQUE or NON-UNIQUE for the key, the table type is generic in this respect. As such, it can only be used for specifying types. When you specify the table type simultaneously, you must note the following restrictions:
    ·     You cannot use the UNIQUE addition for standard tables. The system always generates the NON-UNIQUE addition automatically.
    ·     You must always specify the UNIQUE option when you create a hashed table.
    Initial Memory Requirement
    You can specify the initial amount of main memory assigned to an internal table object when you define the data type using the following addition:
    INITIAL SIZE , the system calculates a new value so that n times the line width is around 12KB.
    Examples
    TYPES: BEGIN OF LINE,
      COLUMN1 TYPE I,
      COLUMN2 TYPE I,
      COLUMN3 TYPE I,
    END OF LINE.
    1. TYPES ITAB TYPE SORTED TABLE OF LINE WITH UNIQUE KEY COLUMN1.
    The program defines a table type ITAB. It is a sorted table, with line type of the structure LINE and a unique key of the component COLUMN1.
    2. TYPES VECTOR TYPE HASHED TABLE OF I WITH UNIQUE KEY                      TABLE LINE.
    TYPES: BEGIN OF LINE,
      COLUMN1 TYPE I,
      COLUMN2 TYPE I,
      COLUMN3 TYPE I,
    END OF LINE.
    TYPES ITAB TYPE SORTED TABLE OF LINE WITH UNIQUE KEY COLUMN1.
    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.
    The program defines a table type VECTOR with type hashed table, the elementary line type I and a unique key of the entire table line. The second table type is the same as in the previous example. The structure DEEPLINE contains the internal table as a component. The table type DEEPTABLE has the line type DEEPLINE. Therefore, the elements of this internal table are themselves internal tables. The key is the default key - in this case the column FIELD. The key is non-unique, since the table is a standard table.
    Specifying the Type of Formal Parameters
    Formal parameters can have any valid ABAP data type. You can specify the type of a formal parameter, either generically or fully, using the TYPE or LIKE addition. If you specify a generic type, the type of the formal parameter is either partially specified or not specified at all. Any attributes that are not specified are inherited from the corresponding actual parameter when the subroutine is called. If you specify the type fully, all of the technical attributes of the formal parameter are defined with the subroutine definition.
    The following remarks about specifying the types of parameters also apply to the parameters of other procedures (function modules and methods).
    If you have specified the type of the formal parameters, the system checks that the corresponding actual parameters are compatible when the subroutine is called. For internal subroutines, the system checks this in the syntax check. For external subroutines, the check cannot occur until runtime.
    By specifying the type, you ensure that a subroutine always works with the correct data type. Generic formal parameters allow a large degree of freedom when you call subroutines, since you can pass data of any type. This restricts accordingly the options for processing data in the subroutine, since the operations must be valid for all data types. For example, assigning one data object to another may not even be possible for all data types. If you specify the types of subroutine parameters, you can perform a much wider range of operations, since only the data appropriate to those operations can be passed in the call. If you want to process structured data objects component by component in a subroutine, you must specify the type of the parameter.
    Specifying Generic Types
    The following types allow you more freedom when using actual parameters. The actual parameter need only have the selection of attributes possessed by the formal parameter. The formal parameter adopts its remaining unnamed attributes from the actual parameter.
         Check for actual parameters
    No type specificationTYPE ANY     The subroutine accepts actual parameters of any type. The formal parameter inherits all of the technical attributes of the actual parameter.
    TYPE C, N, P, or X     The subroutine only accepts actual parameters with the type C, N, P, or X. The formal parameter inherits the field length and DECIMALS specification (for type P) from the actual parameter.
    TYPE TABLE     The system checks whether the actual parameter is a standard internal table. This is a shortened form of TYPE STANDARD TABLE (see below).
    TYPE ANY TABLE     The system checks whether the actual parameter is an internal table. The formal parameter inherits all of the attributes (line type, table type, key) from the actual parameter.
    TYPE INDEX TABLE     The system checks whether the actual parameter is an index table (standard or sorted table). The formal parameter inherits all of the attributes (line type, table type, key) from the actual parameter.
    TYPE STANDARD TABLE     The system checks whether the actual parameter is a standard internal table. The formal parameter inherits all of the attributes (line type, key) from the actual parameter.
    TYPE SORTED TABLE     The system checks whether the actual parameter is a sorted table. The formal parameter inherits all of the attributes (line type, key) from the actual parameter.
    TYPE HASHED TABLE     The system checks whether the actual parameter is a hashed table. The formal parameter inherits all of the attributes (line type, key) from the actual parameter.
    Note that formal parameters inherit the attributes of their corresponding actual parameters dynamically at runtime, and so they cannot be identified in the program code. For example, you cannot address an inherited table key statically in a subroutine, but you probably can dynamically.
    TYPES: BEGIN OF LINE,
            COL1,
            COL2,
          END OF LINE.
    DATA: WA TYPE LINE,
          ITAB TYPE HASHED TABLE OF LINE WITH UNIQUE KEY COL1,
          KEY(4) VALUE 'COL1'.
    WA-COL1 = 'X'. INSERT WA INTO TABLE ITAB.
    WA-COL1 = 'Y'. INSERT WA INTO TABLE ITAB.
    PERFORM DEMO USING ITAB.
    FORM DEMO USING P TYPE ANY TABLE.
      READ TABLE P WITH TABLE KEY (KEY) = 'X' INTO WA.
    ENDFORM.
    The table key is addressed dynamically in the subroutine. However, the static address
    READ TABLE P WITH TABLE KEY COL1 = 'X' INTO WA.
    is syntactically incorrect, since the formal parameter P does not adopt the key of table ITAB until runtime.
    Assigning Internal Tables :
    Like other data objects, you can use internal tables as operands in a MOVE statement
    MOVE , including the data in any nested internal tables. The original contents of the target table are overwritten.
    If you are using internal tables with header lines, remember that the header line and the body of the table have the same name. If you want to address the body of the table in an assignment, you must place two brackets () after the table name.
    DATA: BEGIN OF line,
            col1(1) TYPE c,
            col2(1) TYPE c,
          END OF line.
    DATA: etab LIKE TABLE OF line WITH HEADER LINE,
          ftab LIKE TABLE OF line.
    line-col1 = 'A'. line-col2 = 'B'.
    APPEND line TO etab.
    MOVE etab[] TO ftab.
    LOOP AT ftab INTO line.
      WRITE: / line-col1, line-col2.
    ENDLOOP.
    The output is:
    A B
    The example creates two standard tables ETAB and FTAB with the line type of the structure LINE. ETAB has a header line. After filling ETAB line by line using the APPEND statement, its entire contents are assigned to FTAB. Note the brackets in the statement.
    DATA: ftab TYPE SORTED TABLE OF f
               WITH NON-UNIQUE KEY table_line,
          itab TYPE HASHED TABLE OF i
               WITH UNIQUE KEY table_line,
          fl   TYPE f.
    DO 3 TIMES.
      INSERT sy-index INTO TABLE itab.
    ENDDO.
    ftab = itab.
    LOOP AT ftab INTO fl.
      WRITE: / fl.
    ENDLOOP.
    The output is:
    1.000000000000000E+00
    2.000000000000000E+00
    3.000000000000000E+00
    FTAB is a sorted table with line type F and a non-unique key. ITAB is a hashed table with line type I and a unique key. The line types, and therefore the entire tables, are convertible. It is therefore possible to assign the contents of ITAB to FTAB. When you assign the unsorted table ITAB to the sorted table FTAB, the contents are automatically sorted by the key of FTAB.
    In Unicode systems, the following conversion is not allowed:
    DATA: BEGIN OF iline,
            num TYPE i,
          END OF iline,
          BEGIN OF fline,
            num TYPE f,
          END OF fline,
          itab LIKE TABLE OF iline,
          ftab LIKE TABLE OF fline.
    DO 3 TIMES.
      iline-num = sy-index.
      APPEND iline-num TO itab.
    ENDDO.
    ftab = itab.
    loop AT ftab INTO fline.
      WRITE: / fline-num.
    ENDLOOP.
    In a non-Unicode system, the output may look something like this:
            6.03823403895813E-154
            6.03969074613219E-154
            6.04114745330626E-154
    Here, the line types of the internal tables ITAB and FTAB are structures each with one component of type I or F. The line types are convertible, but not compatible. Therefore, when assigning ITAB to FTAB, the contents of Table ITAB are converted to type C fields and then written to FTAB. The system interprets the transferred data as type F fields, so that the results are meaningless. In Unicode systems, you are not allowed to convert numeric fields to fields of type C.
    Initializing Internal Tables
    Like all data objects, you can initialize internal tables with the
    CLEAR .
    statement. This statement restores an internal table to the state it was in immediately after you declared it. This means that the table contains no lines. However, the memory already occupied by the memory up until you cleared it remains allocated to the table.
    If you are using internal tables with header lines, remember that the header line and the body of the table have the same name. If you want to address the body of the table in a comparison, you must place two brackets () after the table name.
    CLEAR , LT, <).
    If you are using internal tables with header lines, remember that the header line and the body of the table have the same name. If you want to address the body of the table in a comparison, you must place two brackets () after the table name.
    The first criterion for comparing internal tables is the number of lines they contain. The more lines an internal table contains, the larger it is. If two internal tables contain the same number of lines, they are compared line by line, component by component. If components of the table lines are themselves internal tables, they are compared recursively. If you are testing internal tables for anything other than equality, the comparison stops when it reaches the first pair of components that are unequal, and returns the corresponding result.
    DATA: BEGIN OF LINE,
    COL1 TYPE I,
    COL2 TYPE I,
    END OF LINE.
    DATA: ITAB LIKE TABLE OF LINE,
                 JTAB LIKE TABLE OF LINE.
    DO 3 TIMES.
    LINE-COL1 = SY-INDEX.
    LINE-COL2 = SY-INDEX ** 2.
      APPEND LINE TO ITAB.
    ENDDO.
    MOVE ITAB TO JTAB.
    LINE-COL1 = 10. LINE-COL2 = 20.
    APPEND LINE TO ITAB.
    IF ITAB GT JTAB.
    WRITE / 'ITAB GT JTAB'.
    ENDIF.
    APPEND LINE TO JTAB.
    IF ITAB EQ JTAB.
    WRITE / 'ITAB EQ JTAB'.
    ENDIF.
    LINE-COL1 = 30. LINE-COL2 = 80.
    APPEND LINE TO ITAB.
    IF JTAB LE ITAB.
    WRITE / 'JTAB LE ITAB'.
    ENDIF.
    LINE-COL1 = 50. LINE-COL2 = 60.
    APPEND LINE TO JTAB.
    IF ITAB NE JTAB.
    WRITE / 'ITAB NE JTAB'.
    ENDIF.
    IF ITAB LT JTAB.
    WRITE / 'ITAB LT JTAB'.
    ENDIF.
    The output is:
    ITAB GT JTAB
    ITAB EQ JTAB
    JTAB LE ITAB
    ITAB NE JTAB
    ITAB LT JTAB
    This example creates two standard tables, ITAB and JTAB. ITAB is filled with 3 lines and copied to JTAB. Then, another line is appended to ITAB and the first logical expression tests whether ITAB is greater than JTAB. After appending the same line to JTAB, the second logical expression tests whether both tables are equal. Then, another line is appended to ITAB and the third logical expressions tests whether JTAB is less than or equal to ITAB. Next, another line is appended to JTAB. Its contents are unequal to the contents of the last line of ITAB. The next logical expressions test whether ITAB is not equal to JTAB. The first table field whose contents are different in ITAB and JTAB is COL1 in the last line of the table: 30 in ITAB and 50 in JTAB. Therefore, in the last logical expression, ITAB is less than JTAB.
    Sorting Internal Tables
    You can sort a standard or hashed table in a program. To sort a table by its key, use the statement
    SORT  ASCENDING .
    The statement sorts the internal table  ASCENDING
                 BY  ASCENDING
                     ASCENDING .
    The table is now sorted by the specified components : ‘T’ for standard table, ‘S’ for sorted table, and ‘H’ for hashed table.
    DATA: BEGIN OF LINE,
             COL1 TYPE I,
             COL2 TYPE I,
          END OF LINE.
    DATA ITAB LIKE HASHED TABLE OF LINE WITH UNIQUE KEY COL1
                                        INITIAL SIZE 10.
    DATA: LIN TYPE I,
          INI TYPE I,
          KND TYPE C.
    DESCRIBE TABLE ITAB LINES LIN OCCURS INI KIND KND.
    WRITE: / LIN, INI, KND.
    DO 1000 TIMES.
      LINE-COL1 = SY-INDEX.
      LINE-COL2 = SY-INDEX ** 2.
    INSERT LINE INTO TABLE ITAB.
    ENDDO.
    DESCRIBE TABLE ITAB LINES LIN OCCURS INI KIND KND.
    WRITE: / LIN, INI, KND.
    The output is:
             0         10  H
         1,000         10  H
    Here, a hashed table ITAB is created and filled. The DESCRIBE TABLE statement is processed before and after the table is filled. The current number of lines changes, but the number of initial lines cannot change.
    INSERT LINE INTO TABLE ITAB.
    LINE-TEXT = 'Moller'.
    CONVERT TEXT LINE-TEXT INTO SORTABLE CODE LINE-XTEXT.
    INSERT LINE INTO TABLE ITAB.
    LINE-TEXT = 'Miller'.
    CONVERT TEXT LINE-TEXT INTO SORTABLE CODE LINE-XTEXT.
    INSERT LINE INTO TABLE ITAB.
    SORT ITAB.
    PERFORM LOOP_AT_ITAB.
    SORT ITAB BY XTEXT.
    PERFORM LOOP_AT_ITAB.
    SORT ITAB AS TEXT.
    PERFORM LOOP_AT_ITAB.
    FORM LOOP_AT_ITAB.
      LOOP AT ITAB INTO LINE.
        WRITE / LINE-TEXT.
      ENDLOOP.
      SKIP.
    ENDFORM.
    This example demonstrates alphabetical sorting of character fields. The internal table ITAB contains a column with character fields and a column with corresponding binary codes that are alphabetically sortable. The binary codes are created with the CONVERT statement (see Converting to a Sortable Format). The table is sorted three times. First, it is sorted binarily by the TEXT field. Second, it is sorted binarily by the XTEXT field. Third, it is sorted alphabetically by the TEXT field. Since there is no directly corresponding case in English, we have taken the results from a German text environment:
    Miller
    Moller
    Muller
    Möller
    Miller
    Moller
    Möller
    Muller
    Miller
    Moller
    Möller
    Muller
    After the first sorting, 'Möller' follows behind 'Muller' since the internal code for the letter 'ö' comes after the code for 'u'. The other two sorts are alphabetical
    The binary sort by XTEXT has the same result as the alphabetical sorting by the field TEXT.
    Regards,
    Amit
    Reward all helpful replies.

Maybe you are looking for

  • Error Code and Encountering an error

    Error Code: 1403 Something like Installation of Quicktime Failed. ^^that is after download^^ Now when I try to open up Itunes it says Itunes has encountered an error and needs to close and I'm not sure what's wrong.

  • Regarding purchase order creation using me21n

    Hi, I want to set default values for Purch. Org for a document type PO:Service-FREIGHT in me21n transsaction. which userexit or badi can be used for this? When a document type PO:Service-FREIGHT  is entered, Purch. Org should have deafualt value set

  • 405 - ICM_HTTP_INTERNAL_ERROR in CRM Mobile Sales

    Hi Experts, We deployed a CRM Mobile Sales 1.2 in Windows Mobile simulator. When we try to login to CRM Mobile Application, it is keep on checking for initial data in the simulator, then we checked in the session monitoring for any errors, we found t

  • SQL Developer 1.5.1 - SQL Worksheet - Font Corruption

    Hi All, I'm running SQL Developer 1.5.1 on Windows Vista x64 + Nvidea 8800GT graphics card. (all with latest versions) Whenever I scroll the SQL worksheet - the text becomes unreadable / corrupted. SQL Developer - SQL Worksheet is the only program th

  • PO output form in Chinese (traditional)

    We are trying to print the PO output form (PO output preview) and as such we want some of the labels like Bill to, Ship to and others to appear in chinese. We are maintaining the data in SO10. While launching the Adobe (7.0) the bill to and other lab