Difference between Data Type Char & VarChar

Hi Experts,
I a design document that I have, some of the Data Types are mentioned as CHAR(e.g.CHAR(4)), and a few others as VARCHAR(e.g.VARCHAR(20)), can you let me know what is the difference between the two.And how is such an object to be developed in BW seeing that we don't have a DataType called Varchar in BW?
Thanks
Aravind

Hi
The char is a fixed-length character data type, the varchar is a variable-length character data type.
Because char is a fixed-length data type, the storage size of the char value is equal to the maximum size for this column. Because varchar is a variable-length data type, the storage size of the varchar value is the actual length of the data entered, not the maximum size for this column.
You can use char when the data entries in a column are expected to be the same size.
You can use varchar when the data entries in a column are expected to vary considerably in size.
but that is no need in SAP BW, any how you are going to assign the length of the variable while creating...
Thanks
M Kalpana

Similar Messages

  • Counter KF with 1 & 0 and difference between data type NUMBER (DEC) and INTEGER (INT4)

    Hi,
    I need to create a counter kf which should populate 1 and 0 to this counter field. Please let me know is there any difference between data type
    NUMBER (DEC) and INTEGER (INT4).
    Please suggest.
    Thanks & Regards,
    Pavan kumar

    Hi Pavan,
    The basic difference between Number(DEC) and INT4 is its internal storage in system.
    For Number (DEC) - Value internally stored as packed number with 3 decimal places whereas INT 4 as 4 byte integer without decimal places.
    For counter KF, you can go for INT 4.
    Hope this helps.
    Thanks

  • Difference Between Data type and message type

    Hi,
        i have doubt on data type and message type.why we are mapping the message type why not data type?wht is the difference between data type and message type?

    Hi Narayanana,
    Data type defines the structure of your xml message.Message type is the wrapper of data type.You will be using your message type while mapping and not the data type.Its the abstraction concept used in oops
    kanan thiyam  
    Posts: 28
    Questions: 7
    Registered: 1/8/07
    Forum points: 24 
       Re: What is deffernce b/w Data type and message type  
    Posted: Jun 13, 2007 8:05 AM    in response to: suresh k         Reply      E-mail this post 
    Hi Suresh,
    Data Type defines the structure of the message and it will be wrapped under Message Type.
    Hope the details below will clearify your doubts.
    A data type in a programming language is a set of data with values having predefined characteristics. Examples of data types are: integer, floating point unit number, character, string, and pointer.
    The characteristic of columns and variables that defines what types of data values they can store.
    Check out the details:
    http://en.wikipedia.org/wiki/Data_type
    A message type comprises a data type that describes the structure of a message. At the following points in SAP Exchange Infrastructure you can refer to the message to be exchanged at runtime by using the message type:
    Details:
    http://help.sap.com/saphelp_nw04/helpdata/en/2d/c0633c3a892251e10000000a114084/content.htm
    kanan

  • Difference Between Data Type and Data Object

    Difference Between Data Type and Data Object

    hi magesh
    <u><b>Data types</b></u> can be divided into
    elementary,
    reference, and
    complex types.
    <u><b>Elementary Types</b></u>
    Elementary types are the smallest indivisible unit of types. They can be grouped as those with fixed length and those with variable length.
    <u><b>Fixed-Length Elementary Types</b></u>
    There are eight predefined types in ABAP with fixed length:
    <u><b>Four character types:</b></u>
    Character (C),
    Numeric character (N),
    Date (D),
    and Time (T).
    <b>One hexadecimal type:</b>
    Byte field (X).
    <b>Three numeric types:</b>
    Integer (I),
    Floating-point number (F)
    and Packed number (P).
    <u><b>Variable-Length Elementary Types</b></u>
    There are two predefined types in ABAP with variable length:
    STRING for character strings
    XSTRING for byte strings
    Reference Types
    <b>Reference types</b>
    describe data objects that contain references (pointers) to other objects (data objects and objects in ABAP Objects).
    <u><b>Data Types</b></u>
    1) As well as occurring as attributes of a data object, data types can also be defined independently.
    2)You can then use them later on in conjunction with a data object.
    3) The definition of a user-defined data type is based on a <b>set of predefined elementary data types.</b>
    4) You can define data types <b>either locally in the declaration part of a program</b> using the TYPESstatement) or <b>globally in the ABAP</b> Dictionary.
    5) You can use your own data types to declare data objects or to check the types of parameters in generic operations.
    <u><b>Data Objects</b></u>
    1)<b>Data objects</b> are the physical units with which ABAP statements work at runtime.
    2) The contents of a data object occupy memory space in the program.
    3) <b>ABAP statements access these contents by addressing the name of the data object</b> and interpret them according to the data type..
    4) For example, statements can write the contents of data objects in lists or in the database, they can pass them to and receive them from routines, they can change them by assigning new values, and they can compare them in logical expressions.
    5) Each <b>ABAP data object has a set of technical attributes</b>, which are fully defined at all times when an ABAP program is running (field length, number of decimal places, and data type).
    6) You <b>declare data objects</b> either <b>statically in the declaration part</b> of an ABAP program (the most important statement for this is DATA), or <b>dynamically at runtime</b> (for example, when you call procedures).
    7) As well as fields in the memory area of the program, the program also treats literals like data objects.
    hope this helps u,
    reward points if useful
    Ginni

  • Differences between DATA TYPE and DATA OBJECTS

    I am new to ABAP,I want to know the differences between DATA TYPE and DATA OBJECTS with some examples.
    please help me regarding this.

    Hi Ashish,
    Data Types:       Are pure descriptions.
                   No memory is associated with data types.
                   Describes the technical properties of data objects.
    EX.
    1.     C-CHARACTER
    2.     D-DATE
    3.     F-FLOAT
    4.     I-INTEGER
    5.     N-NUMERIC TEXT
    6.     T-TIME
    7.     P-PACKED NUMBER
    8.     X-HEXADECIMAL
    9.     STRING-Variable length string.
    10.     XSTRING-Variable length byte string.
    Data Objects: Are created during runtime.
                    They cannot exist without the data Types.
                    Occupies memory space.
    EX:
    1.     INTERNAL DATA OBJECT- Internal Data objects
         LITEERAL- A literal has a fixed value.Ex: WRITE:u201DWORK HARDu201D.
         VARIABLES: Data statement is used to create variables.
    EX.DATA: NUM TYPE I.
    NUM: VARIABLE defined by data statement.
    EX: DATA: PRICE LIKE NUM.
         CONSTANT-It is a data object, which contains a constant value throughout the program.
    Can be declared in program by using CONSTANT statement.
    EX:CONSTANT: INT TYPE I VALUE 15.
    2.     EXTERNAL DATA OBJECT: Are defined in tables i.e In ABAP/4 dictionary you can access this data from table.
             EX: TABLES: SFLIGHT
              DATA: SEATS LIKE SFLIGHT-SEATSMAX.
    3.     SYSTEM DEFINED DATA OBJECTS:Space & system variables like SY-UNAME,SY-DATUM, SY-REPID.
    4.     SPECIAL DATA  OBJECTS:
         PARAMETERS: Are Variables ,which can accept value from user.
          SELECTION SCREEN : Are special internal tables to accept value ranges from user.
    3 APPROACHES TO DEFINE DATA OBJECTS.
    1.     ELEMENTARY TYPES
    DATA: Customer _Name (25) TYPE C,
                   Vendor_Name (25) TYPE C.
    2.     REFRENCE TO AN EXISTING FIELD:
    DATA: Customer _Name2 (25) TYPE C,
                  Vendor_Name2 (25) LIKE Customer_Name2
    3.     REFRENCE TO NON-ELEMENTARY TYPE:
    TYPES: T_NAME (25) TYPE C
    DATA: CUSTOMER_NAME TYPE T_NAME
                   VENDOR_NAME  TYPE T_NAME
    4.     RECORD-Information in rows & columns.
    DATA: BEGIN OF BOOKING,
                                    ID (4) TYPE C,
                                    FLIGHT_DATE TYPE D,
                                    NAME LIKE CUSTOMER_NAME,
                                    END OF BOOKING.
    You can also look into SAP help for more information.
    Regards,
    Indu.

  • Whats  basic difference between data and types while declearing the itab

    whats  basic difference between data and types while declearing the internal tables...
    DATA : BEGIN OF t_vbap OCCURS 0,
    vbeln1 LIKE vbap-vbeln,
    posnr LIKE vbap-posnr,
    kwmeng LIKE vbap-kwmeng,
    netpr LIKE vbap-netpr,
    netwr LIKE vbap-netwr,
    werks LIKE vbap-werks,
    matnr LIKE vbap-matnr,
    arktx LIKE vbap-arktx,
       END OF t_vbap.
    vs
       TYPES : BEGIN OF t_vbap,
    vbeln1 LIKE vbap-vbeln,
    posnr LIKE vbap-posnr,
    kwmeng LIKE vbap-kwmeng,
    netpr LIKE vbap-netpr,
    netwr LIKE vbap-netwr,
    werks LIKE vbap-werks,
    matnr LIKE vbap-matnr,
    arktx LIKE vbap-arktx,
       END OF t_vbap.
    and vs
      TYPES : BEGIN OF t_vbap,
    vbeln1 LIKE vbeln,
    posnr LIKE posnr,
    kwmeng LIKE kwmeng,
    netpr LIKE netpr,
    netwr LIKE netwr,
    werks LIKE werks,
    matnr LIKE matnr,
    arktx LIKE arktx,
       END OF t_vbap.

    hi,
    like -> used for refering existing data elements in data dictionary or in sap
    type -> used for refering existing data types in sap.
    types: used for creating used defined structure of tables which has fields from more tahn one table.
    diff b/w types and type in creation of internal tables is that when u create a table with types then u can use same for work area creation also.
    ex:
    TYPES : BEGIN OF t_vbap,
    vbeln1 LIKE vbeln,
    posnr LIKE posnr,
    kwmeng LIKE kwmeng,
    netpr LIKE netpr,
    netwr LIKE netwr,
    werks LIKE werks,
    matnr LIKE matnr,
    arktx LIKE arktx,
    END OF t_vbap.
    data: itab1 type t_vbap
            wa_itab1 type t_vbap.
    when type is used then u have to create a defintion of work area for another time when internal table doesnt have headr line as
    ex:
    DATA : BEGIN OF t_vbap OCCURS 0,
    vbeln1 LIKE vbap-vbeln,
    posnr LIKE vbap-posnr,
    kwmeng LIKE vbap-kwmeng,
    netpr LIKE vbap-netpr,
    netwr LIKE vbap-netwr,
    werks LIKE vbap-werks,
    matnr LIKE vbap-matnr,
    arktx LIKE vbap-arktx,
    END OF t_vbap.
    DATA : BEGIN OF wa_vbap,
    vbeln1 LIKE vbap-vbeln,
    posnr LIKE vbap-posnr,
    kwmeng LIKE vbap-kwmeng,
    netpr LIKE vbap-netpr,
    netwr LIKE vbap-netwr,
    werks LIKE vbap-werks,
    matnr LIKE vbap-matnr,
    arktx LIKE vbap-arktx,
    END OF wa_vbap.
    if helpful reward soem points.
    with regards,
    suresh.

  • Difference between Data carrier type and Data carrier??

    Hi experts,
    Could you please explain me the difference between Data carrier type and Data carrier with an example??
    Regards,
    Kiran T

    hi Kiran,
    Data carrier is to achive communication between server and user front end. We can define one data carrier type along with path as default for all or seperate data carriers type for specific users in define data carrier in SPRO. This defined data carriers again we assign to application in defining network for workstation application in SPRO.
    By using data carrier we can upload to & download originals from server. We can change and print the documents from server.
    Please award pts if its useful / need further information.
    Pramod

  • Difference between line type and internal table?

    Hi..
    I wanted to know, what is the difference between Line type and Internal Table?

    Hi,
        Before the 4.7 release in SAP if we want to define an internal table we have to write the defination using the occurs statement and we need to define all the fields using INCLUDE STRUCTURE or indidually all the fields ine by one.
    From 4.7 release of R/3 SAP introduced the Line type concept and it's part of the ABAP OOPS concept. for internal table defination we don't need to use the occur statements. Instead INCLUDE structure  we need to create a Line type for that structure in Se11 and then we can define the internal table like :
    DATA : ITAB TYPE TABLE OF <LINE_TYPE>.
    Only thing is this table will be  a table without header. So for internal table processing we need to define a work area structure of type line of line type  . EX:
    DATA: WA_ITAB TYPE LINE OF <LINE_TYPE>.
    Hope this helps.
    Thanks,
    Greetson

  • Difference between date info object in characteristics and keyfigure

    What is the difference between "date" data type in characteristic and keyfigure?
    Thanks in advance.
    Raj

    Hi Rajasekhar,
    If date is characteristics,query can be analysed based on date and filters can also be set using this date.
    If it is key figure query cannot be analysed based on date,
    Based on requirements,we have to decide whether it should be chatracteristic or key figure
    Regards
    Prakash

  • Difference between message type and idoc type

    Hi
    difference between message type and idoc type
    Regards
    Rama

    Hi,
    Message Type:
    A message type represents the application message exchanged between R/3 systems and R/3 and an external system. A message type characterises the data sent across systems and relates to the structure of the data called an IDOC type.
    Diff. with IDOC type
    An IDoc type specifies the structure of the data.
    A message type specifies the meaning of the data
    Diff. b/w IDOC type and IDOC
    An IDoc type is the definition of a specific data structure.
    An IDoc is an actual instance of data based on an IDoc type. Therefore, there can be many IDocs created from a single IDoc type.
    Example:
    MATMAS is the message type and MATMAS05 is IDoc type for Material Master.
    Thanks,
    Shankar

  • Operand data type char is invalid for sum operator

    can someone help me re-writing the following so I wont keep getting thie baopv ementioned error: here is the statement:
    RIGHT('0000000000'+REPLACE(CAST(SUM(PAID_AMT) AS VARCHAR),'.',''),14) AS TOT_NET_PAID
    +
    RIGHT('0000000000'+REPLACE(CAST(SUM(PAID_AMT)
    AS
    VARCHAR),'.',''),14)
    AS TOT_NET_PAID
    It keeps retuning he following error messages:
    Operand data type char is invalid for sum operator

    As Jingyang said, you cannot sum a non numeric field. Cast it to a numeric first (INT maybe?)
    + RIGHT('0000000000'+REPLACE(CAST(SUM(CAST(PAID_AMT AS INT)) AS VARCHAR),'.',''),14) AS TOT_NET_PAID
    Don't forget to mark helpful posts, and answers. It helps others to find relevant posts to the same question.

  • Difference between Material type and Item category

    What is the difference between Material type and Item category?
    We can differentiate different kind of materails according to material type then why do we have Item category which is also more or less on the same lines.
    Both can be considered as a terminology in SAP to group similar kind of materials.
    Please let me know the exact difference between the two?

    Dear Christino
    We can list out so many differences.
    When you create a material master record, the material type you choose determines:
    - Whether the material is intended for a specific purpose, for example, as a configurable material or process material
    - Whether the material number can be assigned internally or externally
    - The number range from which the material number is taken
    - Which screens appear and in what sequence
    - Which departmental data you may enter
    - What procurement type the material has; that is, whether it is manufactured in-house or procured externally, or both
    Together with the plant, the material type determines the material's inventory management requirement; that is:
    - Whether changes in quantity are updated in the material master record
    - Whether changes in value are also updated in the stock accounts in financial accounting
    In addition, the accounts affected by a material entering or leaving the warehouse depend on the material type.
    -Most importantly, Users can be authorized to create materials of specific material types but not based on item category
    - Item category will define whether the material should be valuated for stock or it should be considered as non-stock
    - Pricing is carried out based on Item Category and not based on Material type
    thanks
    G. Lakshmipathi

  • Difference between line type and table type

    hi,
    can any one explain the difference between line type and table type . and how to declare a internal table and work area in BSP's

    hi,
    Go through this blog, this might help you.
    /people/tomas.altman/blog/2004/12/13/sdn-blog-how-to-do-internal-tables-in-bsp
    People who have worked with ABAP for a while sometimes forget that the internal table concept is rather different than what exists in most programming languages. It is very powerful, but at the same time can be confusing.
    In SAP it is possible to have a table which is the rows and a headerline which is the working area or structure which can then be commited to the table.
    With a BSP, if we try to create an internal table within the BSP event or layout we will get the following error: mso-bidi-
                            "InternalTableX" is not an internal table - the "OCCURS n" specification is mso-bidi- missing.
    class="MsoNormal"><![if !supportEmptyParas]>The problem we are seeing as an inconsistency has to do with the difference between classic ABAP and ABAP Objects. When SAP introduced ABAP Objects they decided to clean up some of the legacy syntax and create stricter rules. However they didn't want to break the millions of line of code that already existed, so they only implemented these stricter checks when OO is being used. Therefore you can declare a table with a header line in a regular ABAP program or Function Module but you can't have one with a header line in OO.
    Because everything in BSP generates ABAP OO classes behind the scenes, you get these same stricter syntax checks. My suggestion is that you have a look in the on-line help at the section on ABAP Objects and always follow the newer syntax rules even when writing classic ABAP programs.
    In a BSP when we need to work with a table we must always do the following:
    1, in the Types definitions create a structure:
                            types : begin of ts_reclist,
    mso-bidi-        style='mso-tab-count:2'>                            receiver type somlreci1-receiver,
    mso-bidi-        style='mso-tab-count:2'>                 style='mso-tab-count: 1'>             rec_type type somlreci1-rec_type,
    mso-bidi-         style='mso-tab-count:2'>                            end of ts_reclist.
    mso-bidi- <![if !supportEmptyParas]> <![endif]>
    but we must remember this is only a structure definition and we cannot store anything in it, although we can use it elsewhere as a definition for Structures(WorkAreas)
    2, in our Types definitions (this is the best place for this one as we can then access it from many areas without having to create it locally) so in the Types definitions we must create a TableType:
    class="MsoNormal">                         types : tt_reclist type table of ts_reclist.
    class="MsoNormal"><![if !supportEmptyParas]> <![endif]> this TableType is our table definition and again we cannot store anything in it, but we can use it elsewhere as a definition for InternalTables
    3, now that you have laid the foundations you can build and in the event handler, it is now simply a case of creating the InternalTable based upon the Table definition:
                           data: t_reclist type tt_reclist.
    and creating the structure based upon the structure definiton:
    <![if !supportEmptyParas]>   <![endif]>                         data: s_reclist type ts_reclist.
    as described above, the structure becomes the work area and this is where you assign new values for elements of the table eg:<![endif]>
                            s_reclist-receiver = '[email protected]'.   "<-- change address
    mso-bidi- <![if !supportEmptyParas]> <![endif]>
    mso-bidi-                         s_reclist-rec_type = 'U'.
    and then once the data is in the elements of the structure, the structure can be appended to the internal table as follows: class="MsoNormal">
                            append s_reclist to t_reclist.
    <![if !supportEmptyParas]> <![endif]>
    the internal table will then be readable for the ABAP function and can be applied for example as follows: class="style1">           style='mso-tab-count:1; font-family: "Courier New", Courier, mono;'>          
    class="style1">CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'
                            EXPORTING
    style='mso-tab-count:2'>                                    document_data = docdata
    style='mso-tab-count:2'>                                    DOCUMENT_TYPE = 'RAW'
    style='mso-tab-count:2'>                                    PUT_IN_OUTBOX = 'X'
    style='mso-tab-count:2'>                                    COMMIT_WORK = 'X' "used from rel.6.10
                            TABLES
    mso-bidi-font-size: style='mso-tab-count:2'>                                    receivers = t_reclist
    class="style1"> <![if !supportEmptyParas]>   <![endif]>
    <![if !supportEmptyParas]>F inally, a comment from Thomas Jung,
    <![if !supportEmptyParas]> “when defining my work area for an internal table I like to use the like line of statement. That way if I change the structure of my table type, I know that my work area will still be OK. Second, your types and table types don't have to just be declared in your code. You can create a table type in the data dictionary and use it across multiple programs(also great for method and function parameters). I really push hard for the other developers at my company to use the Data Dictionary Types more and more.”
    Hope this helps, Do reward.

  • What is the difference between message type and element

    hi,
    When we create a new variable in BPEL we get the option to create 'simple', 'message type', 'element'
    I would like to know what is the difference between message type and element.
    thanks
    Yatan

    A message is part of the service and is usually assigned to one of the operations in the wsdl. For example getPhoneNumer() operation may have an input message of personInput and output of phoneNum. These messages would have a type...maybe of string or decimal or a complex type with multiple values.
    An element is typically a complex type that could be defined in an xsd file.
    When you create a variable in the bpel, you can declare it as a message or a simple type or an element. As I understand it, the simple types are pre-defined in the schema namespace such as string, decimal, date, etc.
    The elements are defined in the xsd files or wsdls and can be a combination of strings, dates, etc or other stuff as well.
    The messages are defined in the wsdl as part of the input/output but they are typically assigned a type just like other variables you create.

  • Difference between Dates: BW Query???

    Hello all,
    A.I have to get the difference between dates i.e Date1 and Date2.
    I have used a 2 formula variables for each one of them with Replacement path - Key - number as the settings.
    When i execute the difference between the 2 formula variables, i get inconsistent results if the dates are from 2 different months.
    Example(Correct Result)
    Date1 = 14.02.2005
    Date2 = 10.02.2005
    Result = 4
    Example(Incorrect Result)???????
    Date1 = 14.02.2005
    Date2 = 10.01.2005
    Result = 104
    Iam know that system is converting the date as a number like 20040214 and 22040110 and just substracts.....This is not correct....any solution to circmvent this problem???
    B.If iam using a user-exit for variables, how to pass the values Date1 and Date2 to user-exit so that i can calculate the difference of days using a function module.
    I know how to use a user-exit but not sure about working on 2 fields at a time for a formula variable????

    1) For the first problem, I think you should play with the replacement path settings (type, offset,...).  I did this before and I'm sure it worked.
    2) If the variables are entered in the variable screen there is no problem to use a function module (it works with steps --> look at the how-to), but I think you want to calculate not on variables but on the keyfigure values itself, in this case you will have to use virtual characteristics.  There is also a how-to about this, I can't help you with the details my self.
    kr,
    Tom

Maybe you are looking for