Red TYPE statement in ABAP

has anyone seen this format in ECC 5.0 ...
TYPE pernr#TYPE pa0000-pernr. "Personnel number
In the editor it is displayed in red.
many thanks, john

Wow,  you wouldn't think that you could use a reserved word in a macro def.  This really is not a good thing.  I'm with Neil,  it could be a macro.
report zrich_0001.
data: pernr#type(10) type c,
      pa0000-pernr type pa0000-pernr.
define type.
write:/ &1, &2.
end-of-definition.
pernr#type = 'This'.
pa0000-pernr = '123456'.
TYPE pernr#TYPE pa0000-pernr.
Regards,
Rich Heilman

Similar Messages

  • TYPES statement in abap class to include structure

    hi ,
    i have declared following in a abap class...
    TYPES:
          zts_alv_line TYPE zmat_pr_costest_alv.
         TYPES:BEGIN OF ts_alv_line,
                include type zts_alv_line,
                matkl type mara-matkl,
                t023t type t023t-wgbez,
                lvorm type mara-lvorm,
                end of ts_alv_line.
         TYPES: tt_alv_data TYPE STANDARD TABLE OF ts_alv_line WITH DEFAULT KEY.
         DATA:
          alv_data TYPE tt_alv_data.
    now while refering to alv_data-matnr the sap is giving error that this component does not have matnr.
    please help.
    Edited by: Suhas Saha on Feb 3, 2012 1:11 PM

    TYPES: zts_alv_line TYPE zmat_pr_costest_alv.
    TYPES:BEGIN OF ts_alv_line,
                include type zts_alv_line,
                matkl type mara-matkl,
                t023t type t023t-wgbez,
                lvorm type mara-lvorm,
                end of ts_alv_line.
    Actually by defining this you've defined include as field of ts_alv_line. Actually ts_alv_line is a nested structure.
    I think you need to re-define the structure definition as:
    TYPES:BEGIN OF ts_alv_line.
          INCLUDE TYPE zts_alv_line.
    TYPES: matkl TYPE mara-matkl,
           t023t TYPE t023t-wgbez,
           lvorm TYPE mara-lvorm.
    TYPES: END OF ts_alv_line.
    BR,
    Suhas

  • Merge Statement in ABAP

    Dear Gurrus,
    i am having a trouble in using oracle merge statement in abap, the moment i use where clause in the bottom it  gives me an oracle error
    EXEC SQL.
      MERGE INTO SAP_GL_ACCOUNT@GETZDB a
      USING SKA1 b
        ON (A.gl_code= B.SAKNR)
      WHEN MATCHED THEN
        UPDATE SET a.posting_block =  B.XSPEB,
                   a.locked        =  B.XSPEA,
                   A.BALANCE_SHEET =  B.XBILK
         WHEN NOT MATCHED THEN
           insert   (gl_code,
                     DESCRIPTION,
                     posting_block,
                     locked,
                     balance_sheet)
          VALUES (b.SAKNR,'shadab',B.XSPEB,B.XSPEA,B.XBILK)
          where b. mandt = 950      I am talking about this line
             ENDEXEC.
    the Moment  i include WHERE clause in the botton before ENDEXEC it generates as error
    " Database error text........: "ORA-00904: "A3"."MANDT": invalid  identifier#ORA-02063: preceding line from GETZDB".
    although its a basic feature of Oracle to inclue where clauses in insert or update in merge, but here it is generating an error.

    Hello Shadab,
    As per my understanding of this oracle native sql code.
    everything is fine except the use of direct value i.e 950 .
    System is not able to process this value .
    This normally happens even in normal abap sql statements also.
    The better solution could be to declare a variable with the
    same data type as "mandt" and then pass this "950" value into that
    variable and then use this variable in the where clause instead of directly
    passing the value.
    i.e data:l_var type mandt vlaue '950'.
    The other option could be to use the same hard coded
    value but use this value in the where clause in quotations i.e.,
    '950' instead of 950.
    I hope this would solve your purpose, If not please reply me back.
    thanks,
    M.Naveen Kumar.

  • Types statement

    Hi ABAP Experts,
      I have some doubt on declaring Internal tables, could you tell me which case  case1 or case 2  is correct.
    Case1.
    types: begin of t_kunnr,
               name1(30) type c,
               name2(30) type c,
               kunnr(10) type c,
           end of t_kunnr.
    TYPES it_kunnr TYPE standard table of t_kunnr.
    DATA: wa_kunnr TYPE t_kunnr.
    DATA: it_kunnr type t_kunnr.
    wa_kunnr-name1 = 'KK'.
    wa_kunnr-name2 = 'MM'.
    wa_kunnr-kunnr = '4999'.
    append wa_kunnr to it_kunnr.
    wa_kunnr-name1 = 'KK1'.
    wa_kunnr-name2 = 'MM1'.
    wa_kunnr-kunnr = '4999'.
    append wa_kunnr to it_kunnr.
    wa_kunnr-name1 = 'KK1'.
    wa_kunnr-name2 = 'MM1'.
    wa_kunnr-kunnr = '3999'.
    append wa_kunnr to it_kunnr.
    loop at it_kunnr into wa_kunnr.
      write : / wa_kunnr-name1, wa_kunnr-kunnr.
    endloop.
    case2
    types: begin of t_kunnr,
               name1(30) type c,
               name2(30) type c,
               kunnr(10) type c,
           end of t_kunnr.
    DATA: wa_kunnr TYPE t_kunnr,
               it_kunnr TYPE STANDARD TABLE OF t_kunnr.
    wa_kunnr-name1 = 'KK'.
    wa_kunnr-name2 = 'MM'.
    wa_kunnr-kunnr = '4999'.
    append wa_kunnr to it_kunnr.
    wa_kunnr-name1 = 'KK1'.
    wa_kunnr-name2 = 'MM1'.
    wa_kunnr-kunnr = '4999'.
    append wa_kunnr to it_kunnr.
    wa_kunnr-name1 = 'KK1'.
    wa_kunnr-name2 = 'MM1'.
    wa_kunnr-kunnr = '3999'.
    append wa_kunnr to it_kunnr.
    loop at it_kunnr into wa_kunnr.
      write : / wa_kunnr-name1, wa_kunnr-kunnr.
    endloop.
    Thanks in advance.

    Hi,
    As everyone has said case 2 is the right way.
    In Case1.
    TYPES it_kunnr TYPE standard table of t_kunnr.
    DATA: it_kunnr type t_kunnr.
    these two statements are wrong.  First one rong because 'Types ' statement is used to decalre local program types, which only have a defenition and no related object in Data Base.  Data statement is used to create objects in DB of a specific type.
    Second statement is wrong because it only creates a DB object of structure type and not table type.
    As suggested u can use occurs 0 additions but this is obsolete and not advisable anymore. This is because occurs 0 creates a table with a header line and header line concept is obsolete.
    The best practise is to declare the Type using TYPES statement and the decalring table of that type using  "type [STANDARD/HASHED/SORTED] table of " addition.

  • Data Type Convertion in ABAP

    Hi,
    i want to convert a numeric type field to character type field in ABAP,
    and also i want to concatenate some set of different types of field to a character type field at last
    if i give just like this
    <b>CONCATENATE '   ' it_pa0000-pernr it_pa0105-usrid '                        ' it_pa0105-begda into record_tab-string.</b>
    it remove space out from the string i need space also in the <b>record_tab-string</b>,
    Reg,
    Hariharan

    Hi,
    The CONCATENATE statement combines two or more separate strings into one.
    <b>CONCATENATE <c1> ... <cn> INTO <c> [SEPARATED BY <s>].</b>
    This statement concatenates the character fields <c1> to <cn> and assigns the result to <c>. The system ignores spaces at the end of the individual source strings.
    The addition SEPARATED BY <s> allows you to specify a character field <s> which is placed in its defined length between the individual fields.
    try with this sample code..........
    CONCATENATE  it_pa0000-pernr it_pa0105-usrid  it_pa0105-begda INTO record_tab-string  SEPARATED BY SPACE.
    regards,
    Ashok Reddy

  • Whats the important of "  table-type  " in sap abap?

    hi,
    i am ahmed. abap fresher.
    i want to what use and importance of table-type in sap abap which comes in      
                         datadictionary
                                V               
                        data types
    V----
    V                         V                                 V
    data element       structure                   table type
    i want to know about table type. plz give a brief idea.
    bye.

    hi,
    Transparent Tables
    A transparent table in the dictionary has a one-to-one relationship with a table in the database. Its structure in R/3 Data Dictionary corresponds to a single database table. For each transparent table definition in the dictionary, there is one associated table in the database. The database table has the same name, the same number of fields, and the fields have the same names as the R/3 table definition. When looking at the definition of an R/3 transparent table, it might seem like you are looking at the database table itself.
    Transparent tables are much more common than pooled or cluster tables. They are used to hold application data. Application data is the master data or transaction data used by an application. An example of master data is the table of vendors (called vendor master data), or the table of customers (called customer master data). An example of transaction data is the orders placed by the customers, or the orders sent to the vendors.
    Transparent tables are probably the only type of table you will ever create. Pooled and cluster tables are not usually used to hold application data but instead hold system data, such as system configuration information, or historical and statistical data.
    Both pooled and cluster tables have many-to-one relationships with database tables. Both can appear as many tables in R/3, but they are stored as a single table in the database. The database table has a different name, different number of fields, and different field names than the R/3 table. The difference between the two types lies in the characteristics of the data they hold, and will be explained in the following sections.
    Table Pools and Pooled Tables
    A pooled table in R/3 has a many-to-one relationship with a table in the database (see Figures 3.1 and 3.2). For one table in the database, there are many tables in the R/3 Data Dictionary. The table in the database has a different name than the tables in the DDIC, it has a different number of fields, and the fields have different names as well. Pooled tables are an SAP proprietary construct.
    When you look at a pooled table in R/3, you see a description of a table. However, in the database, it is stored along with other pooled tables in a single table called a table pool. A table pool is a database table with a special structure that enables the data of many R/3 tables to be stored within it. It can only hold pooled tables.
    R/3 uses table pools to hold a large number (tens to thousands) of very small tables (about 10 to 100 rows each). Table pools reduce the amount of database resources needed when many small tables have to be open at the same time. SAP uses them for system data. You might create a table pool if you need to create hundreds of small tables that each hold only a few rows of data. To implement these small tables as pooled tables, you first create the definition of a table pool in R/3 to hold them all. When activated, an associated single table (the table pool) will be created in the database. You can then define pooled tables within R/3 and assign them all to your table pool (see Figure 3.2).
    Pooled tables are primarily used by SAP to hold customizing data.
    When a corporation installs any large system, the system is usually customized in some way to meet the unique needs of the corporation. In R/3, such customization is done via customizing tables. Customizing tables contain codes, field validations, number ranges, and parameters that change the way the R/3 applications behave.
    Some examples of data contained in customizing tables are country codes, region (state or province) codes, reconciliation account numbers, exchange rates, depreciation methods, and pricing conditions. Even screen flows, field validations, and individual field attributes are sometimes table-driven via settings in customizing tables.
    During the initial implementation of the system the data in the customizing tables is set up by a functional analyst. He or she will usually have experience relating to the business area being implemented and extensive training in the configuration of an R/3 system.
    Table Clusters and Cluster Tables
    A cluster table is similar to a pooled table. It has a many-to-one relationship with a table in the database. Many cluster tables are stored in a single table in the database called a table cluster.
    A table cluster is similar to a table pool. It holds many tables within it. The tables it holds are all cluster tables.
    Like pooled tables, cluster tables are another proprietary SAP construct. They are used to hold data from a few (approximately 2 to 10) very large tables. They would be used when these tables have a part of their primary keys in common, and if the data in these tables are all accessed simultaneously. The data is stored logically as shown in Figure 3.3.
    Figure 3.3 : Table clusters store data from several tables based on the primary key fields that they have in common.
    Table clusters contain fewer tables than table pools and, unlike table pools, the primary key of each table within the table cluster begins with the same field or fields. Rows from the cluster tables are combined into a single row in the table cluster. The rows are combined based on the part of the primary key they have in common. Thus, when a row is read from any one of the tables in the cluster, all related rows in all cluster tables are also retrieved, but only a single I/O is needed.
    A cluster is advantageous in the case where data is accessed from multiple tables simultaneously and those tables have at least one of their primary key fields in common. Cluster tables reduce the number of database reads and thereby improve performance.
    For example, as shown in Figure 3.4, the first four primary key fields in cdhdr and cdpos are identical. They become the primary key for the table cluster with the addition of a standard system field pageno to ensure that each row is unique.
    Reward if helpful
    Jagadish

  • Difference between DEclaring Itab with DATA & TYpe Statement?

    HI Friends,
      What is the Difference between Declaring Itab with DATA & TYpe Statement?

    Hi,
    The Statements TYPES and DATA
    Each ABAP program define its own data types using the statement.
    TYPES dtype TYPE type ...
    and declare its own variables or instance attributes of classes using the statement
    DATA var {TYPE type} ...
    Within the program or a class, you can also define local data types and variables within procedures. Local variables in procedures obscure identically-named variables in the main program or class.
    When creating data types and data objects, there are a number of naming convention that also apply for other local program definitions, such as procedures. These are described in detail in the keyword documentation.
    The Additions TYPE and LIKE
    The additions TYPE type and LIKE dobj are used in various ABAP statements. The additions can have various meanings, depending on the syntax and context.
    ·        Definition of local types in a program
    ·        Declaration of data objects
    ·        Dynamic creation of data objects
    ·        Specification of the type of formal parameters in subroutines
    ·        Specification of the type of formal parameters in methods
    ·        Specification of the type of field symbols
    TYPES: BEGIN OF struct,
             number_1 TYPE i,
             number_2 TYPE p DECIMALS 2,
           END OF struct.
    DATA:  wa_struct TYPE struct,
           number    LIKE wa_struct-number_2,
           date      LIKE sy-datum,
           time      TYPE t,
           text      TYPE string,
           company   TYPE s_carr_id.
    This example declares variables with reference to the internal type STRUCT in the program, a component of an existing data object wa_struct, the predefined data object SY-DATUM, the predefined ABAP type t and STRING, and the data element S_CARR_ID from the ABAP Dictionary.
    Reward Points if found helpfull..
    Cheers,
    Chandra Sekhar.

  • How to declare variable for Table type in the ABAP Editor

    Hi!
    I have Table Type 'FIELDNAME_TAB' (Table of fieldnames). I want to pass the list of fieldnames to this Table Type in the ABAP Editor.
    Can anyone help me in this?

    You would declare the internal table like so.
    data: itab type FIELDNAME_TAB.
    data: wa like line of itab.
    wa = 'This_value'.
    append wa to itab.
    Regards.
    Rich Heilman
    Message was edited by:
            Rich Heilman

  • Consume Type Any in abap proxy

    Hi experts,
    Is it possible to consume the type Any in abap proxy?. I dont want to change the schema type to string. The generated proxy hasn't any final type. Check the screenshoots:
    Regards.

    well XSDANY is a rawstring, it is not an ANY type. A rawstring, defined in DDIC is the same thing as a xstring in ABAP. So I propose you to look e.g. at this post:
    Guide towards a simple conversion of an XML file to ABAP Internal table, using XML parsing.

  • Setting the content type inside the ABAP mapping.

    Hello All,
    Can any one help me by telling me how to set the content-type inside ABAP mapping. I have searched a large no of blogs and help.sap.com for the same.
    My requirement is I want to change the MIME type of the Main Document in side SXMB_MONI so that can change the content type of Main document which is application\xml by default.
    I would appreciate an early response regarding the same.
    Abinash

    Hello Raj,
    The output of my ABAP mapping is a flat file. So when I try to open the file with content type application/xml in the message monitor it shows the file has some error which is natural. The way to get around this problem is change the content type to application\txt from application\xml.
    I am not finding an option to set the content type inside the ABAP mapping for the same.
    Abinash

  • "edge animate - exception error" (red box, red type) and app won't open

    Hi,
    I'm hoping someone can help me... I'm not quite sure how to go about explaining the situation, but when I try to open Adobe Edge Animate, this "Edge Animate - Exception" error box appears, (please see below) then the program quits unexpectedly. I can't make out what the words say as it has red type on a red background.
    I have Uninstalled the program and reinstalled it, and the same error appears.
    I'm new to this app so I have no clue as to how I go about resolving this issue.
    I hope someone can help me, I know this is brief so please feel free to ask me any further questions.
    Thank you in advance,
    Tom

    Hi Manigandan,
    Thank you very much the problem is resolved, but instead of removing the folder, I placed it on my desktop and placed it back, I have given a more detailed explanation below. And no this is not the entire log on the crash report, it's rather long though.
    I followed your instructions, and removed the '5.0.1' folder that was in the 'Edge Animate' folder and stored it on my desktop. It had no content at the time I moved it, like in the '5.0.0' folder in the image below:
    I then tried to open Edge Animate again, and the 'Red Error box' didn't show up, however it crashed instantly with the same 'Quit unexpectedly' report.
    So I put the '5.0.1' folder back in the 'Edge Animate' folder, and the contents just seemed to be there all of a sudden? (please see image below) and now the program launches fine.
    I am still yet to start a project and see if that works ok whilst working on it, however I will inform you if it works fine or any further problems occur, but for now it is all ok.
    Thank you very much for you help on this.
    Kind Regards,
    Tom

  • Regarding types statement in ECC 6.0...plz reply..urgent

    Hi,
    I am copying a program which is in<b> 4.7 to ECC 6.0,</b>i am facing error regarding <b>structures with types<b>...
    The following code in<b> 4.7</b>
    <b>DATA:BEGIN OF W_BMM00.
            INCLUDE STRUCTURE BMM00.
    DATA:END OF W_BMM00.
    DATA:BEGIN OF W_BMMH1.
            INCLUDE STRUCTURE BMMH1.
    DATA:END OF W_BMMH1.
    DATA:BEGIN OF W_BMMH7.
            INCLUDE STRUCTURE BMMH7.
    DATA:END OF W_BMMH7.
    DATA : BEGIN OF TAB_TLINE OCCURS 0.
            INCLUDE STRUCTURE TLINE.
    DATA : END OF TAB_TLINE.</b>
    i have written the same in <b>ECC6.0</b> as below
    <b>TYPES:BEGIN OF tw_bmm00.
            INCLUDE STRUCTURE bmm00.
    TYPES:END OF tw_bmm00 ,
          tt_bmm00 TYPE STANDARD TABLE OF tw_bmm00.
    TYPES:BEGIN OF tw_bmmh1.
            INCLUDE STRUCTURE bmmh1.
    TYPES:END OF tw_bmmh1 ,
              tt_bmmh1 TYPE STANDARD TABLE OF tw_bmmh1.
    TYPES:BEGIN OF tw_bmmh7.
            INCLUDE STRUCTURE bmmh7.
    TYPES:END OF tw_bmmh7 ,
          tt_bmmh7  TYPE STANDARD TABLE OF tw_bmmh7.
    TYPES:BEGIN OF tw_TAB_TLINE.
            INCLUDE STRUCTURE TLINE.
    TYPES:END OF tw_TAB_TLINE,
          tt_tab_tline TYPE STANDARD TABLE OF tw_tab_tline.
    lw_bmm00 TYPE tw_bmm00,
          lt_bmm00 TYPE tt_bmm00,
          lw_bmmh1 TYPE tw_bmmh1,
          lt_bmmh1 TYPE tt_bmmh1,
          lw_bmmh7 TYPE tw_bmmh7,
          lt_bmmh7 TYPE tt_bmmh7,
          lw_tab_thead TYPE tw_tab_thead,
          lt_tab_thead TYPE tt_tab_thead,</b>....
    when i check SLIN errors i am getting the following errors<b>...plz resolve</b>..
    <b>The current ABAP command is obsolete
    <b>Within classes and interfaces, you can only use "TYPE" to refer to ABAP Dictionary
    types (not "LIKE" or "STRUCTURE").</b></b>
    <b></b>

    include strture not allowed.
    rules.
    ABAP Development under Unicode
    Prior to Unicode the length of a character was exactly one byte, allowing implicit typecasts or memory-layout oriented programming. With Unicode this situation has changed: One character is no longer one byte, so that additional specifications have to be added to define the unit of measure for implicit or explicit references to (the length of) characters.
    Character-like data in ABAP are always represented with the UTF-16 - standard (also used in Java or other development tools like Microsoft's Visual Basic); but this format is not related to the encoding of the underlying database.
    A Unicode-enabled ABAP program (UP) is a program in which all Unicode checks are effective. Such a program returns the same results in a non-Unicode system (NUS) as in a Unicode system (US). In order to perform the relevant syntax checks, you must activate the Unicode flag in the screens of the program and class attributes.
    In a US, you can only execute programs for which the Unicode flag is set. In future, the Unicode flag must be set for all SAP programs to enable them to run on a US. If the Unicode flag is set for a program, the syntax is checked and the program executed according to the rules described in this document, regardless of whether the system is a US or a NUS. From now on, the Unicode flag must be set for all new programs and classes that are created.
    If the Unicode flag is not set, a program can only be executed in an NUS. The syntactical and semantic changes described below do not apply to such programs. However, you can use all language extensions that have been introduced in the process of the conversion to Unicode.
    As a result of the modifications and restrictions associated with the Unicode flag, programs are executed in both Unicode and non-Unicode systems with the same semantics to a large degree. In rare cases, however, differences may occur. Programs that are designed to run on both systems therefore need to be tested on both platforms.
    Other Changes
    1. Bit Statements
    2. Adding Field Sequences
    3. Loops with VARY and VARYING
    4. Creating Subroutines
    5. Saving Programs
    6. Assigning Types for GET/SET PARAMETER
    7. Unreachable Statements
    8. Function Modules with Incorrect Parameter Names
    1. Bit Statements
    Previously, the system checked for the bit statements SET BIT i OF f [TO g] and GET BIT i OF f [INTO g]whether the field f is character-type; X fields, X strings, and flat structures are usually regarded as character-type. For Unicode programs this is no longer useful, because the types X and XSTRING no longer count as character-type and the bit by bit access to character-type fields or structures is no longer platform-independent. Therefore, with these operations in Unicode programs, the field f must be type X or XSTRING.
    For the bit mask operations f O x, f Z x, and f M x you could previously use all number-type and hence all character-type types for the left operand f. In Unicode programs, the f operand must now be type X or XSTRING.
    2. Adding Field Sequences
    When adding field sequences, restrictions apply to the following statements in Unicode:
    ADD n1 THEN n2 UNTIL nz [ ACCORDING TO sel ] GIVING m ...
    ADD n1 THEN n2 UNTIL nz TO m [ RANGE str ].
    1. The operands n1, n2, and nz must be type-compatible with one another.
    2. The distance between nz and n1 must be an integral multiple of the distance between n2 and n1.
    3. A syntax or runtime error occurs if the fields n1, n2, and nz are not in a structure. This structure must be recognizable statically or its valid area must be marked explicitly using the RANGE addition.
    4. At runtime, the system ensures that the RANGE area is not left.
    ADD n1 FROM i1 GIVING m [ RANGE str ].
    1. Field n1 must be within the structure. The structure must be explicitly defined using the RANGE addition if it is not recognizable statically.
    2. For this variant, the system also checks at runtime whether n1 and the addressed values are within the structure.
    3. Loops
    Loops with the VARY or VARYING addition are also problematic in Unicode, since a type-a access to memory contents cannot be ensured and memory can be overwritten inadvertently.
    DO ... VARYING f FROM f1 NEXT f2.
    For this statement, the fields f, f1, and f2 must be type-compatible with each other. To prevent memory contents being overwritten, a RANGE for valid accesses is introduced implicitly or explicitly for the following statements:
    DO ... TIMES VARYING f FROM f1 NEXT f2 [ RANGE f3 ].
    WHILE ... VARY f FROM f1 NEXT f2 [ RANGE f3 ].
    A syntax or runtime error is caused if f1 or f2 are not included in f3. If the RANGE addition is missing, it is defined implicitly from FROM f1 NEXT f2 as follows:
    1. If both f1 and f2 are statically recognizable components of the same structure, the valid RANGE area is defined from the smallest structure that comprises f1 and f2.
    2. A syntax error is triggered if it is recognizable statically that f1 and f2 are not part of the same structure.
    3. A valid area must be defined explicitly using the RANGE addition if the connection between f1 and f2 is not recognizable statically.
    If you specify a deep structure as the RANGE addition, the system checks for every loop pass that there are no field references, object references, tables, or strings in the area read.
    4. Creating Subroutines
    When automatically generating subroutines using the statement GENERATE SUBROUTINE POOL itab NAME name, the generated program inherits the content of the Unicode flag of the generating program.
    5. Saving Programs
    When automatically generating programs using the statement INSERT REPORT prog FROM itab, default values are set for the TRDIR entry as before. Amongst other things, this statement has the new addition UNICODE ENABLING uc, with which the Unicode flag of the inserted report receives the value of uc. If this addition is missing, the following applies:
    1. A Unicode program creates a Unicode program.
    2. A non-Unicode program in turn creates a non-Unicode program.
    3. A non-Unicode program becomes a Unicode program if it is overwritten by a Unicode program.
    4. A Unicode program remains a Unicode program if it is overwritten by a non-Unicode program.
    6. Assigning Types for GET/SET PARAMETER
    For the statements GET PARAMETER ID pid FIELD f and GET PARAMETER ID pid FIELD f, f must be character-type. You can use the EXPORT and IMPORT statements for storing non-character-type fields and structures.
    7. Unreachable Statements
    In Unicode programs, unreachable statements cause a syntax error. In non-Unicode programs, there was previously only a syntax warning.
    8. Function Modules with Incorrect Parameter Names
    In Unicode programs, calling a function module, whose parameter names are specified statically as a literal or constant, causes an exception that can be handled if an incorrect parameter name was specified. This only applies to function modules that are not called via Remote Function Call. In non-Unicode programs, an incorrect name was previously ignored.
    http://service.sap.com/instguides
    --> SAP Business Suite Applications
    --> SAP ERP
    --> mySAP ERP 2005
    --> Upgrade
    --> Upgrade Documentation - mySAP ERP 2005 SR2
    There choose your database and operating system.
    If you're looking for functional details check
    http://service.sap.com/releasenotes

  • Describe statement in abap

    how to use this descibe statement.can any one please explain me with example

    Hi Rajeev, write Describe and press F1 in the ABAP editor..u ll get the different functionalities for describe..
    this is one of them
    DESCRIBE - Return attributes of an internal table
    Basic form
    DESCRIBE TABLE itab.
    Effect
    Returns the attributes of the internal table itab. You must use at least one of the additions listed below:
    Note
    The DESCRIBE statement cannot be used for all ABAP types. In connection with ABAP Objects, SAP has introduced a RTTI concept based on system classes to determine type attributes at runtime. This concept applies to all ABAP types and as such covers all the functions of the DESCRIBE TABLE statement.
    Extras:
    1. ... LINES n
    2. ... OCCURS n
    3. ... KIND   k
    Addition 1
    ... LINES n
    Effect
    Places the number of filled lines of the table t in the field lin. The value returned to lin has type I.
    Note
    The number of filled lines of the table itab can also be ascertained using the predefined function lines( itab ).
    Example
    DATA: N    TYPE I,
          ITAB TYPE TABLE OF I.
    CLEAR ITAB.
    APPEND 36 TO ITAB.
    DESCRIBE TABLE ITAB LINES N.
    Result: N contains the value 1.
    Addition 2
    ... OCCURS n
    Effect
    Passes the size of the OCCURS parameter from the table definition (as defined with DATA) to the variable n. The value returned to n has type I.
    Example
    DATA: N1    TYPE I,
          N2    TYPE I,
          ITAB1 TYPE TABLE OF I INITIAL SIZE 10,
          ITAB2 TYPE I OCCURS 5.
    DESCRIBE TABLE ITAB1 OCCURS N1.
    DESCRIBE TABLE ITAB2 OCCURS N2.
    Result: OCC contains the value 10 and N2 the value 5.
    Addition 3
    ... KIND k
    Effect
    Writes the table type from itab to the variables n. The value returned to k is of type C. The constants SYDES_KIND-STANDARD, SYDES_KIND-SORTED and SYDES_KIND-HASHED are defined in the type group SYDES for the return values.
    Example
    Generic FORM routine any table type
    TYPE-POOLS: SYDES.
    FORM GENERIC_FORM USING ITAB TYPE ANY TABLE.
      DATA: K TYPE C.
      DESCRIBE TABLE ITAB KIND K.
      CASE K.
        WHEN SYDES_KIND-STANDARD.
        WHEN SYDES_KIND-SORTED.
        WHEN SYDES_KIND-HASHED.
      ENDCASE.
    ENDFORM.
    Notes
    Performance: The runtime for executing the DESCRIBE TABLE statement is approximately 4 msn (standardized microseconds).
    The DESCRIBE TABLE statement also passes values to the SY-TFILL and SY-TLENG System fields
    Additional help
    Determining the Attributesof Internal Tables

  • Insert Statement in ABAP

    Hi,
    I am new to ABAP Programming., i had created a function module with 5 import parameters enableing
    optional and pass value options. I need to insert values to database. But function module contains only
    the following statemet.
    FUNCTION ZEMP_CREATE_NAME.
    ""Local Interface:
    *"  IMPORTING
    *"     VALUE(EMPID) TYPE  ZEMPID OPTIONAL
    *"     VALUE(NAME1) TYPE  ZNAME1 OPTIONAL
    *"     VALUE(ORT01) TYPE  ORT01_GP OPTIONAL
    *"     VALUE(REGIO) TYPE  REGIO OPTIONAL
    *"     VALUE(TELF1) TYPE  TELF1 OPTIONAL
    *"     VALUE(STATUS) TYPE  ZSTATUS OPTIONAL
    *"     VALUE(EPOSITION) TYPE  ZPOSI OPTIONAL
    insert into zemptable values('EMPID','NAME1','ORT01','REGIO','TELF1','ZSTATUS','ZPOSI')).
    ENDFUNCTION.
    Is this statement correct? Could someone guide me how to resolve this?
    Thanks & Regards
    Vijay

    Check the F1 help for insert.
    If you already Checked the program you know it's not right.
    That looks ok for Standard SQL, but ABAP uses a special set of sql commands called open sql.
    *edit
    Sorry, didn't saw you were new at this, you don't want to pass that many parameters.
    IF those 7 parameters make up the whole table is better to do either something like...
    w_zemptable type zemptable in the importing parameters and then in the code just do
    insert into zemptable values w_zemtables.
    .... or better
    in the tables section declare
    i_zemptable like zemptable
    and in the code
    insert zemptable from table i_zemptable.
    Edited by: Ramiro Escamilla on May 9, 2008 3:23 PM

  • SQL Statements in ABAP and meaning

    Hello Friends,
    Please, can anybody provide me a documentation on the different ABAP SQL statements and there usage/meanings.
    Thanks,
    Shreekant

    hi,
    goto abapdocu->abap Database access->open Sql you will get examples.
    for documnetation got se38->specify the command and press F1.
    SELECT:
    Put the curson on that word and press F1 . You can see the whole documentation for select statements.
    SELECT result
    FROM source
    INTO|APPENDING target
    [[FOR ALL ENTRIES IN itab] WHERE sql_cond]
    Effect
    SELECT is an Open-SQL-statement for reading data from one or several database tables into data objects.
    The select statement reads a result set (whose structure is determined in result ) from the database tables specified in source, and assigns the data from the result set to the data objects specified in target. You can restrict the result set using the WHERE addition. The addition GROUP BY compresses several database rows into a single row of the result set. The addition HAVING restricts the compressed rows. The addition ORDER BY sorts the result set.
    The data objects specified in target must match the result set result. This means that the result set is either assigned to the data objects in one step, or by row, or by packets of rows. In the second and third case, the SELECT statement opens a loop, which which must be closed using ENDSELECT. For every loop pass, the SELECT-statement assigns a row or a packet of rows to the data objects specified in target. If the last row was assigned or if the result set is empty, then SELECT branches to ENDSELECT . A database cursor is opened implicitly to process a SELECT-loop, and is closed again when the loop is ended. You can end the loop using the statements from section leave loops.
    Up to the INTO resp. APPENDING addition, the entries in the SELECTstatement define which data should be read by the database in which form. This requirement is translated in the database interface for the database system´s programming interface and is then passed to the database system. The data are read in packets by the database and are transported to the application server by the database server. On the application server, the data are transferred to the ABAP program´s data objects in accordance with the data specified in the INTO and APPENDING additions.
    System Fields
    The SELECT statement sets the values of the system fields sy-subrc and sy-dbcnt.
    sy-subrc Relevance
    0 The SELECT statement sets sy-subrc to 0 for every pass by value to an ABAP data object. The ENDSELECT statement sets sy-subrc to 0 if at least one row was transferred in the SELECT loop.
    4 The SELECT statement sets sy-subrc to 4 if the result set is empty, that is, if no data was found in the database.
    8 The SELECT statement sets sy-subrc to 8 if the FOR UPDATE addition is used in result, without the primary key being specified fully after WHERE.
    After every value that is transferred to an ABAP data object, the SELECT statement sets sy-dbcnt to the number of rows that were transferred. If the result set is empty, sy-dbcnt is set to 0.
    Notes
    Outside classes, you do not need to specify the target area with INTO or APPENDING if a single database table or a single view is specified statically after FROM, and a table work area dbtab was declared with the TABLES statement for the corresponding database table or view. In this case, the system supplements the SELECT-statement implicitly with the addition INTO dbtab.
    Although the WHERE-condition is optional, you should always specify it for performance reasons, and the result set should not be restricted on the application server.
    SELECT-loops can be nested. For performance reasons, you should check whether a join or a sub-query would be more effective.
    Within a SELECT-loop you cannot execute any statements that lead to a database commit and consequently cause the corresponding database cursor to close.
    SELECT - result
    Syntax
    ... lines columns ... .
    Effect The data in result defines whether the resulting set consists of multiple rows (table-like structure) or a single row ( flat structure). It specifies the columns to be read and defines their names in the resulting set. Note that column names from the database table can be changed. For single columns, aggregate expressions can be used to specify aggregates. Identical rows in the resulting set can be excluded, and individual rows can be protected from parallel changes by another program.
    The data in result consists of data for the rows lines and for the columns columns.
    SELECT - lines
    Syntax
    ... { SINGLE }
    | { { } } ... .
    Alternatives:
    1. ... SINGLE
    2. ... { }
    Effect
    The data in lines specifies that the resulting set has either multiple lines or a single line.
    Alternative 1
    ... SINGLE
    Effect
    If SINGLE is specified, the resulting set has a single line. If the remaining additions to the SELECT command select more than one line from the database, the first line that is found is entered into the resulting set. The data objects specified after INTO may not be internal tables, and the APPENDING addition may not be used.
    An exclusive lock can be set for this line using the FOR UPDATE addition when a single line is being read with SINGLE. The SELECT command is used in this case only if all primary key fields in logical expressions linked by AND are checked to make sure they are the same in the WHERE condition. Otherwise, the resulting set is empty and sy-subrc is set to 8. If the lock causes a deadlock, an exception occurs. If the FOR UPDATE addition is used, the SELECT command circumvents SAP buffering.
    Note
    When SINGLE is being specified, the lines to be read should be clearly specified in the WHERE condition, for the sake of efficiency. When the data is read from a database table, the system does this by specifying comparison values for the primary key.
    Alternative 2
    Effect
    If SINGLE is not specified and if columns does not contain only aggregate expressions, the resulting set has multiple lines. All database lines that are selected by the remaining additions of the SELECT command are included in the resulting list. If the ORDER BY addition is not used, the order of the lines in the resulting list is not defined and, if the same SELECT command is executed multiple times, the order may be different each time. A data object specified after INTO can be an internal table and the APPENDING addition can be used. If no internal table is specified after INTO or APPENDING, the SELECT command triggers a loop that has to be closed using ENDSELECT.
    If multiple lines are read without SINGLE, the DISTINCT addition can be used to exclude duplicate lines from the resulting list. If DISTINCT is used, the SELECT command circumvents SAP buffering. DISTINCT cannot be used in the following situations:
    If a column specified in columns has the type STRING, RAWSTRING, LCHAR or LRAW
    If the system tries to access pool or cluster tables and single columns are specified in columns.
    Note
    When specifying DISTINCT, note that you have to carry out sort operations in the database system for this.
    SELECT - columns
    Syntax
    | { {col1|aggregate( col1 )}
    {col2|aggregate( col2 )} ... }
    | (column_syntax) ... .
    Alternatives:
    1. ... *
    2. ... {col1|aggregate( col1 )}
    {col2|aggregate( col2 )} ...
    3. ... (column_syntax)
    Effect
    The input in columns determines which columns are used to build the resulting set.
    Alternative 1
    Effect
    If * is specified, the resulting set is built based on all columns in the database tables or views specified after FROM, in the order given there. The columns in the resulting set take on the name and data type from the database tables or views. Only one data object can be specified after INTO.
    Note
    If multiple database tables are specified after FROM, you cannot prevent multiple columns from getting the same name when you specify *.
    Alternative 2
    ... {col1|aggregate( col1 )}
    {col2|aggregate( col2 )} ...
    Effect
    A list of column labels col1 col2 ... is specified in order to build the resulting list from individual columns. An individual column can be specified directly or as an argument of an aggregate function aggregate. The order in which the column labels are specified is up to you and defines the order of the columns in the resulting list. Only if a column of the type LCHAR or LRAW is listed does the corresponding length field also have to be specified directly before it. An individual column can be specified multiple times.
    The addition AS can be used to define an alternative column name a1 a2 ... with a maximum of fourteen digits in the resulting set for every column label col1 col2 .... The system uses the alternative column name in the additions INTO|APPENDING CORRESPONDING FIELDS and ORDER BY. .
    http://help.sap.com/saphelp_nw04/helpdata/en/62/10a423384746e8bf5f15ccdd36e8b1/content.htm

Maybe you are looking for

  • Printing fixed number of  Invoice Line in rtf template with level two group

    Hi, I have to print fixed number of invoice lines on a page. Invoce tempalte design has a table with header and summary(Invoice , tax and shiping totals) at each page in table footer. The table should repeate at each page with header and footer. I ne

  • FI Postings to Internal Order - Urgent

    < MODERATOR:  Message locked.  Please read the [Rules of Engagement|https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/rulesofEngagement] before posting next time. > Hi, When i try to post an expense entry through GL account to an Internal Order

  • Genius bar considers it accidental damage $500 to fix

    Just came from a Genius bar appointment for my brothers macbook pro because this morning he complained that the macbook doesn't sit properly on the table. I looked at it and noticed that top right corner is higher than the other sides, causing it to

  • How to pass more than 3 Items in link of report attribute?

    I have a report with edit link. After user click link, then go to next page. I want to pass more than 3 items in this link, item 1 name=xxx and value=#xxx#. How can I do this? Thanks.

  • Project material quantity and sales order material qnty to be same

    I have a requirement that my S.O material and quantity should be checked with project material number and quantity.If there is any mismatch system should not allow me to proceed to do the sales order or any error message or check to be defined. Pleas