Basic Data Types as Class Objects

Consider the following code using the java.lang.reflect.Method
Class c = Class.forName("java.util.Date");
// get all methods in Date
Method[] c_classes = c.getMethods();
// get the UTC method - UTC(int year, int month, int date, int hrs, int min, int sec)
Method m = c_classes[0];
// get the parameters (all int)
Class[] p = m.getParameterTypes();
This gives a Class array of basic data types (in this case int) - in debug the variable is of type "class" with value "0x16d9220:class(int)"
How do you create a Class object of a basic data type from scratch? I've tried Class.forName("int") and get an exception.
Cheers
Gareth

You could use the class literals.
Class[] primitiveTypes = {
boolean.class,
byte.class,
char.class,
double.class,
float.class,
int.class,
long.class,
short.class,
Cheers, that's exactly what I needed.
Gareth

Similar Messages

  • Problem accessing basic data types

    Hi,
    I am a newbie at using JNI so please don't mind if I am asking something trivial.
    I have a JNI wrapper for a native C code. The C code is a Gtk+ application using GLib library. This library has it's own basic data types. For example, "gchar" corresponding to "char". I have generated the JNI Wrappers using the tool named "Swig" which is an interface between the C and other programming languages such as Java. What Swig has come up with is since "gchar" is not understood by it as "char" so it has taken the "gchar" as come Reference Type and generated another class for it. And instead of accepting simple char it is expecting a long.
    Even if I pass a numerical value like 11111 after instantiating this newly generated gchar class while running the program the JVM is crashing complaining SIGSEGV recieved from the underlying libraries.
    I am confused first of all since the error is not understood and secondly how can I tell the JNI that gchar is similar to char.
    What approach should I follow to solve the problem that I am facing? Any feedback on this will be appreciated.
    Thanks & Regards

    At run time you can see all the data........ like what i have shown...
    but if you clearly see, DATE will be in the internal format..but if you print it, it will be in dd:mm:yyyy
    can you suggest me if i have a dynamic field symbol (table data) ,,,, How can i convert data types dynamically..
    if it is a static internal table i am achieving with WRITE TO statement.....but i have huge data in field symbols...
    Instead of all these , please specify the exact problem your are facing . What is it with date field ? . In SAP while printing the internal format will be converted to external. What is your requirement with this date field?
    My output looks some thing like this:
    04 36876 15.09.2011 39600 1999
    06 36960 15.09.2011 39600 2632
    07 36874 15.09.2011 39541 9232
    My expected output
    04 36.876 15.09.2011 39.600 1.999
    06 36.960 15.09.2011 39.600 2.632
    07 36.874 15.09.2011 39.541 9.232
    I dont see any problems mentioned in your date field. Both your actual and expected outputs reflects the same in date field.
    In SCN you will only get solutions if your question is precise.
    Kesav

  • Reference data types in interface objects?

    How do you create reference data type based on data type in interface object??

    First create the reference DT1 in IR then create a new data type DT2 and if you want to create a reference to DT1 then in  the editor select Type (3rd coloum) as the DT1 which you can get by double click on Type and then you select "search help" and select DT1 from the list.
    Cheer's

  • Linux ext4 partitions show up as "Microsoft basic data" type

    I have no Microsoft partitions in my system nor dual boot (i run Windows in VirtualBox) yet not sure when this changed (update in November?) all my linux ext4 partitions show up as "Microsoft basic data" types (except BIOS boot and Swap) in fdisk -l (also in Gnome Disk utility gui, just shows "Basic data" instead of the actual Linux type. All the searching in Arch Wiki's I've found refer to dual boot systems so far and haven't turned up anything useful in Google yet either. How to i get this corrected? All drives are GPT:
    root@arch-bill /home/bill # fdisk -l
    Disk /dev/sdb: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    Disklabel type: gpt
    Disk identifier: 0645408C-0374-4357-8663-D2A3512E07BD
    Device Start End Size Type
    /dev/sdb1 2048 6143 2M BIOS boot partition
    /dev/sdb2 8192 8396799 4G Microsoft basic data
    /dev/sdb3 8398848 41953279 16G Microsoft basic data
    /dev/sdb4 41955328 167786495 60G Microsoft basic data
    /dev/sdb6 167788544 3902834687 1.8T Microsoft basic data
    Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    Disklabel type: gpt
    Disk identifier: C3E095E9-90D9-4BFA-A97F-5D74E64FC4A4
    Device Start End Size Type
    /dev/sda1 8192 32776191 15.6G Microsoft basic data
    /dev/sda2 32778240 1953509375 915.9G Microsoft basic data
    /dev/sda3 2048 6143 2M BIOS boot partition
    Disk /dev/sdc: 298.1 GiB, 320072933376 bytes, 625142448 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: gpt
    Disk identifier: 5607E1F7-1A96-4EF5-A353-29BE91873431
    Device Start End Size Type
    /dev/sdc1 2048 6293503 3G Linux swap
    /dev/sdc2 6295552 618600447 292G Microsoft basic data
    Last edited by jasonwryan (2014-12-17 02:22:31)

    I followed the instructions here and now fdisk -l reports them correctly (8300 Linux File System, not 0700 Microsoft basic data) - SOLVED
    1 root@arch-bill /home/bill # gdisk /dev/sdb :(
    GPT fdisk (gdisk) version 0.8.10
    Partition table scan:
    MBR: protective
    BSD: not present
    APM: not present
    GPT: present
    Found valid GPT with protective MBR; using GPT.
    Command (? for help): t
    Partition number (1-6): 2
    Current type is 'Microsoft basic data'
    Hex code or GUID (L to show codes, Enter = 8300):
    Changed type of partition to 'Linux filesystem'
    Command (? for help): t
    Partition number (1-6): 3
    Current type is 'Microsoft basic data'
    Hex code or GUID (L to show codes, Enter = 8300):
    Changed type of partition to 'Linux filesystem'
    Command (? for help): t
    Partition number (1-6): 4
    Current type is 'Microsoft basic data'
    Hex code or GUID (L to show codes, Enter = 8300):
    Changed type of partition to 'Linux filesystem'
    Command (? for help): t
    Partition number (1-6): 6
    Current type is 'Microsoft basic data'
    Hex code or GUID (L to show codes, Enter = 8300):
    Changed type of partition to 'Linux filesystem'
    Command (? for help): p
    Disk /dev/sdb: 3907029168 sectors, 1.8 TiB
    Logical sector size: 512 bytes
    Disk identifier (GUID): 0645408C-0374-4357-8663-D2A3512E07BD
    Partition table holds up to 128 entries
    First usable sector is 34, last usable sector is 3907029134
    Partitions will be aligned on 2048-sector boundaries
    Total free space is 4204653 sectors (2.0 GiB)
    Number Start (sector) End (sector) Size Code Name
    1 2048 6143 2.0 MiB EF02
    2 8192 8396799 4.0 GiB 8300
    3 8398848 41953279 16.0 GiB 8300
    4 41955328 167786495 60.0 GiB 8300
    6 167788544 3902834687 1.7 TiB 8300
    Command (? for help): w
    Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
    PARTITIONS!!
    Do you want to proceed? (Y/N): Y
    OK; writing new GUID partition table (GPT) to /dev/sdb.
    The operation has completed successfully.
    1 root@arch-bill /home/bill # fdisk -l :(
    Disk /dev/sdb: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    Disklabel type: gpt
    Disk identifier: 0645408C-0374-4357-8663-D2A3512E07BD
    Device Start End Size Type
    /dev/sdb1 2048 6143 2M BIOS boot partition
    /dev/sdb2 8192 8396799 4G Linux filesystem
    /dev/sdb3 8398848 41953279 16G Linux filesystem
    /dev/sdb4 41955328 167786495 60G Linux filesystem
    /dev/sdb6 167788544 3902834687 1.8T Linux filesystem
    Disk /dev/sdc: 298.1 GiB, 320072933376 bytes, 625142448 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: gpt
    Disk identifier: 5607E1F7-1A96-4EF5-A353-29BE91873431
    Device Start End Size Type
    /dev/sdc1 2048 6293503 3G Linux swap
    /dev/sdc2 6295552 618600447 292G Microsoft basic data
    Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    Disklabel type: gpt
    Disk identifier: C3E095E9-90D9-4BFA-A97F-5D74E64FC4A4
    Device Start End Size Type
    /dev/sda1 8192 32776191 15.6G Microsoft basic data
    /dev/sda2 32778240 1953509375 915.9G Microsoft basic data
    /dev/sda3 2048 6143 2M BIOS boot partition
    root@arch-bill /home/bill #

  • User defined data type generated class

    Hi
    When defining a new data type in the local dictionary, one has to option of generating a representation class.
    I have done this and indeed received the class in my app.
    However, I fail to understand how I can use this class to retrieve values set in the data type.
    Thank you for your assistance
    Regadrs
    yuval

    Hello Y PEERY
    I am not clear which context you are talking about .
    Are you taking about simple type inside local dictonary ?
    or
    A project with data dictonary type ?
    (for webdynpro only)
    In both the case no need to deal with internal generated class, this is somethig which is requrired to framework itself , end developer not at all using /modifiying it.
    or
    Might you are dealing with EJB so in this case representation class is generated once we provide the basic(name , package etc) to it , further you can modify it according to your use.
    Please clarify
    BR
    Satish Kumar

  • Setting data type of an object at run time

    This is something of an advanced problem, so I hope there's
    someone out there who can speak to this. I apologize for the length
    of the post, I'm just trying to be clear about a rather unclear
    conundrum. --
    We all use arrays to hold collections of things. As you know,
    an array is its self a type (Array) and so there is no way to
    declare, for instance, an array of MovieClips or an array of
    Strings. Heres what happens: lets pretend that we have 3 movie
    clips clip1_mc, clip2_mc, and clip3_mc, and an Array called
    anArray. so we can legally do this. anArray.push( clip1_mc );
    anArray.push( clip2_mc ); anArray.push( clip3_mc );. An array of
    size 3. Now the code: trace( typeof anArray[0] ); will output
    "object." This can be a problem. If you try this: var
    newClip:MovieClip = anArray[0]; you get a type mismatch from the
    compiler. "Found Object where MovieClip is required." It
    necessitates this: var newClip:MovieClip = MovieClip( anArray[0] );
    Bummer no?
    Ok. So fast forward. Lets assume a class List that uses an
    array to hold the items in the list. So the class uses the Array
    class in "composition." So you have methods like insert( ); and
    retrieve(). Retriece() returns an item from an index in the array.
    Because of the aforementioned problem, no matter what type the
    thing was going into the list it comes out with type Object because
    the retrieve function must return an item of some type, the only
    option is to declare the return type of the retrieve() function as
    Object. Lets say you know that this is a list of Strings. You could
    write the retrieve()'s code like: return String( returnItem ); And
    type the object "on the way out" .. but what if you want the list
    to work with any type object, you would have to have a variable to
    hold the desired type of objects in the list. And then as the
    objects are being returned, you'd cast them to the type stored in
    that variable. I guess that you'd pass the type to the constructor
    of the List: var aList:List = new List( "AddressCard" ); -- That
    should declare a List (Array) of AddressCards.
    Is there a way to do this? have the type specified in casting
    be dynamic?
    And the flip-side of that is detecting the name of the class
    of an object instance. The thing here would be to try to derive a
    String from the name of the constructor function. (which is always
    the class name) In actionscript 3 there is a service package--
    mx.util -- I think, that has a function to return the qualified
    class name of an object. But is there a jimmy rig for this in AS2?
    My actual project does not use an Array to implement List. (
    or Stack ) It uses a structure called a "linked list" - which is a
    whole other topic, but same problem as with Arrays is also present
    in the linked list versions and so requires the same solution. If
    one is willing to type things explicitly when assigning an item in
    the list to a variable of some type, this thing is quite excellent.
    But I don't like it. I have the package with docs, code, sample
    fla's, diagrams and everything that I would encourage people to
    download, look at, try and whatever and then come back here with
    any thoughts on it. There is a component with Flash professional
    that is a list like structure, but it's so general that it crosses
    the line into bloat. Ie: if you are using a list as a stack, you
    only need getTop() and pop() and push() not all the other (12 or
    so) methods in the class. Mine are patterned after structures from
    the C++ standard template library. And the code style is C++, but I
    think it's actually easier to read that way.
    the files:
    http://www.null.bz/ADL_Lib/ADT_Lib.zip
    Thanks in advance, for your efforts! I really appreciate all
    of it, helpful or not.

    First reactions:
    >>var newClip:MovieClip = MovieClip( anArray[0] );
    Even though you must use a cast to prevent the compile time
    error, you don't get an error on this line because the compiler
    skips typechecking for values accessed with the [] operator.
    >>Is there a way to do this? have the type specified in
    casting be dynamic?
    Nope. You must effectively type check all objects used
    through array elements yourself.
    Reading on...

  • ++Custom Serialization with Complex Data type (Nested Classes)

    Hi,
    We have a scenario wherein we need to write CUSTOM SERIALIZERS for complex datatypes like INVOICE & ORDER (INVOICE inturn has ADDRESS type among others, ORDER has ADDRESS type, a COLLECTION of type ORDERITEM each of which are Java Classes in themselves)
    The example of Custom Serializer given in the SOA AS Dev Guide http://download.oracle.com/docs/cd/B31017_01/web.1013/b28975/custserial.htm#CFHHIBCA)
    shows only a simple java type used for serialization and deserialization.
    Can anyone please help us out by sharing any example depicting the CUSTOM SERIALIZERs for COMPLEX DATA TYPES?
    Thanks in advance,
    Pavan.

    Hello,
    Could you please post the code of your classes in the forum (at least the interfaces) ?
    Regards
    Tugdual Grall

  • Counting Data types inside compiled objects...

    Hi Gurus,
    My requirment is that for any user,we create 'n' no of Functions/Procs/Packages,etc.Now, all these objects will have data-types defined in them.Can i get an overall count of data-types used in a particular user...(going inside the code and checking the data types it has & the count like
    For User : Scott
    COUNT(*) DATA_TYPES
    10 NUMBER
    4521 VARCHAR2
    239 XMLTYPE..
    etc..
    Hope some one helps...

    Query and Count using the dictionary view ALL_ARGUMENTS

  • Data type of Souce Object Vs BW Object

    Hi All,
    Our Source system is Oracle system.We have a field 'delivered date' (Database type is 'DATE' and Type in DDIC is 'DATS').
    for example: 20.09.2005 08:17:15
    Our requirement is to display this data as it is in BW report on ODS.
    Shall go for BW infoObject with data type 'CHAR' ? does it lead to any issues while loading from oracle to BW as source data type is 'DATS' and BW Object  data type is 'CHAR'?
    Is necessary to maiantain same data types here?
    If dont go with data type 'CHAR', it is not possible to display date and time together.
    I have tested with flat file and it works fine.
    Thanks

    Hi,
    Thanks for your reply.Thats what i had thought of doing.we need not represent it as Date as its combination of date and time.This is the only way to get it i guess.(defining 'CHAR' infoObject and mapping to 'DATS' of source field ).
    Any other possibilities?
    Thanks

  • Mixing ESR Data type and XSD Objects

    Dear PI forum users,
    I have created some XSD containing complex types and thus "acting" as data types.
    I would like to use such a complex type defined in XSD in an ESR Data type object.
    But when I use the search help in the type column, i can only see other data types objects and not complex types defined in External definition objects.
    Do you know if what I want to do is possible and how ?
    Thanks a lot.
    Jean-Charles

    Hi,
    i can only see other data types objects and not complex types defined in External definition objects.
    This is because only datatypes are shown in the search help. It is not possible to reference an external definition in a data type.
    What you can do is:
    1.) Recreate the complex types found your external definition as a data type, and reference it in your main data type
    or
    2.) Encode the data types into your external definition (cleaner)
    Hope this helps,

  • Help: Problem with data types and classes

    Hi there,
    I'm currently struggling with getting a class to read in data from a file and from that select the correct constructor to use... Basically I read a line in from a file as follows:
    <String Make>:<String model>:<String registrationNumber>:<String engineSize>
    e.g.
    Ford:Focus:HG42EG:1800
    There is an Interface called Car, of which 'Ford' is an implementation along with 'Vauxhall', 'Chrysler', etc...
    From this I wish to construct a new instance of a Ford called Focus with input parameters (RegNumber registration,int engineSize) i.e.
    Car Focus = new Ford(HG4 2EG,1800);So far I can convert the engineSize String into an integer and can construct the RegNumber (a class of mine) but can only get it to construct a Ford by using a switch, i.e:
    switch (modelKey){
    case 'f': new Ford(); break;
    case 'v': new Vauxhall(); break;
    case 't': new Toyota(); break;
    etc...
    Now I do get this to work correctly but I'm concerned that it is not OOP therefore is the way I can get code to convert the String 'Ford' into Car 'Ford'.???
    Many thanks in advance for any advice you can throw my way,
    Leebo

    What is this anyway???
    If Car is an interface you can't create instances of it....No, if Car is an interface, his code should be (depending on what the RegNum constructor looks like:
    Car Focus = new Ford(new RegNum("HG42EG"),1800);It's the same as:
    List someList = new ArrayList();However, he won't be able to use a word read from the file as a variable name "Focus". He'll need a Map:
    Map myCarMap = new HashMap();
    myCarMap.put("Focus", new Ford(new RegNum("HG42EG"), 1800));(Could be defined as "Map<String, Car>" if he wants to use generics.)

  • Difference b/w DATA TYPE and DATA OBJECT & differences b/w TYPE and LIKE

    hai
    can any one say the differences between Data type and Data Object.
    And also differences between TYPE and LIKE
    thanks
    Gani

    hi,
    _Data Types and Data Objects_
          Programs work with local program data – that is, with byte sequences in the working memory. Byte sequences that belong together are called fields and are characterized by a length, an identity (name), and – as a further attribute – by a data type. All programming languages have a concept that describes how the contents of a field are interpreted according to the data type.
          In the ABAP type concept, fields are called data objects. Each data object is thus an instance of an abstract data type. There are separate name spaces for data objects and data types. This means that a name can be the name of a data object as well as the name of a data type simultaneously.
    Data Types
       As well as occurring as attributes of a data object, data types can also be defined independently. You can then use them later on in conjunction with a data object. The definition of a user-defined data type is based on a set of predefined elementary data types. You can define data types either locally in the declaration part of a program using the TYPESstatement) or globally in the ABAP Dictionary. You can use your own data types to declare data objects or to check the types of parameters in generic operations.
         All programming languages distinguish between various types of data with various uses, such as ….. type data for storing or displaying values and numerical data for calculations. The attributes in question are described using data types. You can define, for example, how data is stored in the repository, and how the ABAP statements work with the data.
    Data types can be divided into elementary, reference, and complex types.
    a. Elementary Types
    These are data types of fixed or variable length that are not made up of other types.
    The difference between variable length data types and fixed length data types is that the length and the memory space required by data objects of variable length data types can change dynamically during runtime, and that these data types cannot be defined irreversibly while the data object is being declared.
    Predefined and User-Defined Elementary Data Types
    You can also define your own elementary data types in ABAP using the TYPES statement. You base these on the predefined data types. This determines all of the technical attributes of the new data type. For example, you could define a data type P_2 with two decimal places, based on the predefined data type P. You could then use this new type in your data declarations.
    b.  Reference Types
    Reference types are deep data types that describe reference variables, that is, data objects that contain references. A reference variable can be defined as a component of a complex data object such as a structure or internal table as well as a single field.
    c. Complex Data Types
    Complex data types are made up of other data types. A distinction is made here between structured types and table types.
    Data Objects
          Data objects are the physical units with which ABAP statements work at runtime. The contents of a data object occupy memory space in the program. ABAP statements access these contents by addressing the name of the data object and interpret them according to the data type.. 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.
           Each ABAP data object has a set of technical attributes, which are fully defined at all times when an ABAP program is running (field length, number of decimal places, and data type). You declare data objects either statically in the declaration part of an ABAP program (the most important statement for this is DATA), or dynamically at runtime (for example, when you call procedures). As well as fields in the memory area of the program, the program also treats literals like data objects.
            A data object is a part of the repository whose content can be addressed and interpreted by the program. All data objects must be declared in the ABAP program and are not persistent, meaning that they only exist while the program is being executed. Before you can process persistent data (such as data from a database table or from a sequential file), you must read it into data objects first. Conversely, if you want to retain the contents of a data object beyond the end of the program, you must save it in a persistent form.
    Declaring Data Objects
          Apart from the interface parameters of procedures, you declare all of the data objects in an ABAP program or procedure in its declaration part. These declarative statements establish the data type of the object, along with any missing technical attributes. This takes place before the program is actually executed. The technical attributes can then be queried while the program is running.
         The interface parameters of procedures are generated as local data objects, but only when the procedure is actually called. You can define the technical attributes of the interface parameters in the procedure itself. If you do not, they adopt the attributes of the parameters from which they receive their values.
    ABAP contains the following kinds of data objects:
    a.  Literals
    Literals are not created by declarative statements. Instead, they exist in the program source code. Like all data objects, they have fixed technical attributes (field length, number of decimal places, data type), but no name. They are therefore referred to as unnamed data objects.
    b.  Named Data Objects
    Data objects that have a name that you can use to address the ABAP program are known as named objects. These can be objects of various types, including text symbols, variables and constants.
    Text symbols are pointers to texts in the text pool of the ABAP program. When the program starts, the corresponding data objects are generated from the texts stored in the text pool. They can be addressed using the name of the text symbol.
    Variables are data objects whose contents can be changed using ABAP statements. You declare variables using the DATA, CLASS-DATA, STATICS, PARAMETERS, SELECT-OPTIONS, and RANGESstatements.
    Constants are data objects whose contents cannot be changed. You declare constants using the CONSTANTSstatement.
    c.  Anonymous Data  Objects
    Data objects that cannot be addressed using a name are known as anonymous data objects. They are created using the CREATE DATAstatement and can be addressed using reference variables.
    d.  System-Defined Data Objects
    System-defined data objects do not have to be declared explicitly - they are always available at runtime.
    e.  Interface Work Areas
    Interface work areas are special variables that serve as interfaces between programs, screens, and logical databases. You declare interface work areas using the TABLES and NODESstatements.
    What is the difference between Type and Like?
    Answer1:
    TYPE, you assign datatype directly to the data object while declaring.
    LIKE,you assign the datatype of another object to the declaring data object. The datatype is referenced indirectly.
    Answer2:
    Type is a keyword used to refer to a data type whereas Like is a keyword used to copy the existing properties of already existing data object.
    Answer3:
    type refers the existing data type
    like refers the existing data object
    reward if useful
    thanks and regards
    suma sailaja pvn

  • Data types and data objects

    diff b/w data types and data objects

    hi prasanth,
    Data Types and Data Objects
    Programs work with local program data – that is, with byte sequences in the working memory. Byte sequences that belong together are called fields and are characterized by a length, an identity (name), and – as a further attribute – by a data type. All programming languages have a concept that describes how the contents of a field are interpreted according to the data type.
    In the ABAP type concept, fields are called data objects. Each data object is thus an instance of an abstract data type. There are separate name spaces for data objects and data types. This means that a name can be the name of a data object as well as the name of a data type simultaneously.
    Data Types
    Data types are templates for creating data objects. Data types can be defined independently in the ABAP program or in the ABAP Dictionary. As attributes of a data object, data types can also exist in a non-independent state. Data types do not use any memory space for work data, but may require memory for administration information.
    As well as occurring as attributes of a data object, data types can also be defined independently. You can then use them later on in conjunction with a data object. The definition of a user-defined data type is based on a set of predefined elementary data types. You can define data types either locally in the declaration part of a program using the TYPESstatement) or globally in the ABAP Dictionary. You can use your own data types to declare data objects or to check the types of parameters in generic operations.
    All programming languages distinguish between various types of data with various uses, such as ….. type data for storing or displaying values and numerical data for calculations. The attributes in question are described using data types. You can define, for example, how data is stored in the repository, and how the ABAP statements work with the data.
    Data types can be divided into elementary, reference, and complex types.
    a. Elementary Types
    These are data types of fixed or variable length that are not made up of other types.
    The difference between variable length data types and fixed length data types is that the length and the memory space required by data objects of variable length data types can change dynamically during runtime, and that these data types cannot be defined irreversibly while the data object is being declared.
    Predefined and User-Defined Elementary Data Types
    You can also define your own elementary data types in ABAP using the TYPES statement. You base these on the predefined data types. This determines all of the technical attributes of the new data type. For example, you could define a data type P_2 with two decimal places, based on the predefined data type P. You could then use this new type in your data declarations.
    b. Reference Types
    Reference types are deep data types that describe reference variables, that is, data objects that contain references. A reference variable can be defined as a component of a complex data object such as a structure or internal table as well as a single field.
    c. Complex Data Types
    Complex data types are made up of other data types. A distinction is made here between structured types and table types.
    Data Objects
    A data object is an instance of a data type and occupies as much memory space as its type specifies. An ABAP program only works with data that is available as content of data objects. Data objects are either created implicitly as named data objects, or exanonymous data objects using CREATEDATA.
    Data objects are the physical units with which ABAP statements work at runtime. The contents of a data object occupy memory space in the program. ABAP statements access these contents by addressing the name of the data object and interpret them according to the data type.. 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.
    Each ABAP data object has a set of technical attributes, which are fully defined at all times when an ABAP program is running (field length, number of decimal places, and data type). You declare data objects either statically in the declaration part of an ABAP program (the most important statement for this is DATA), or dynamically at runtime (for example, when you call procedures). As well as fields in the memory area of the program, the program also treats literals like data objects.
    A data object is a part of the repository whose content can be addressed and interpreted by the program. All data objects must be declared in the ABAP program and are not persistent, meaning that they only exist while the program is being executed. Before you can process persistent data (such as data from a database table or from a sequential file), you must read it into data objects first. Conversely, if you want to retain the contents of a data object beyond the end of the program, you must save it in a persistent form.
    Declaring Data Objects
    Apart from the interface parameters of procedures, you declare all of the data objects in an ABAP program or procedure in its declaration part. These declarative statements establish the data type of the object, along with any missing technical attributes. This takes place before the program is actually executed. The technical attributes can then be queried while the program is running.
    The interface parameters of procedures are generated as local data objects, but only when the procedure is actually called. You can define the technical attributes of the interface parameters in the procedure itself. If you do not, they adopt the attributes of the parameters from which they receive their values.
    ABAP contains the following kinds of data objects:
    a. Literals
    Literals are not created by declarative statements. Instead, they exist in the program source code. Like all data objects, they have fixed technical attributes (field length, number of decimal places, data type), but no name. They are therefore referred to as unnamed data objects.
    b. Named Data Objects
    Data objects that have a name that you can use to address the ABAP program are known as named objects. These can be objects of various types, including text symbols, variables and constants.
    Text symbols are pointers to texts in the text pool of the ABAP program. When the program starts, the corresponding data objects are generated from the texts stored in the text pool. They can be addressed using the name of the text symbol.
    Variables are data objects whose contents can be changed using ABAP statements. You declare variables using the DATA, CLASS-DATA, STATICS, PARAMETERS, SELECT-OPTIONS, and RANGESstatements.
    Constants are data objects whose contents cannot be changed. You declare constants using the CONSTANTSstatement.
    c. Anonymous Data Objects
    Data objects that cannot be addressed using a name are known as anonymous data objects. They are created using the CREATE DATAstatement and can be addressed using reference variables.
    d. System-Defined Data Objects
    System-defined data objects do not have to be declared explicitly - they are always available at runtime.
    e. Interface Work Areas
    Interface work areas are special variables that serve as interfaces between programs, screens, and logical databases. You declare interface work areas using the TABLES and NODESstatements.
    regards,
    sravanthi

  • Issue with Info Object Transport after changing Data Type

    Hi Experts,
    We have a DSO which is running past 5 years. And recently(3 days back) we added new fields into that DSO. Delta loaded for last three days and new info object (Say XXX) data populated into DSO.
    Now the problem is, We identified that, info object data type is not correct. We used data type NUMC  instead of CHAR.So Character information is missing for that field.
    Example:
    Data from ECC: ABC123
    Data Loaded to DSO: 123 (Missed character ABC)
    So we deleted data from DSO and changed the info object data type in Development system.
    And also I have deleted only last three days delta records from DSO and transported my info object to Production. But its giving error as: Info object contains data in DSO".
    But that info object field is empty in DSO. I have already deleted last three days delta.
    Do I need to Delete all 5 years data from DSO to change the data type of recently added new info object ?
    Please give me your solutions and ideas to solve this issue.
    Thank you,
    Best Regards,
    Santhosh

    Hi Raman,
    Thank you for your answer.
    When I changed the data type of info object in Dev, I deleted the content of DSO. And same thing transported to QA as well. Before importing changed info object, I just deleted the content of DSO from QA. So transport done successfully QA.
    But in Production we have a history of past 5 years. So I cant delete all contents of DSO.
    So just deleted only the delta request's which contains data for that info object(3 days back, we moved that info object(NUMC data type) to production,So last 3 days delta only loaded for that info object). And tried to transport it. But it was failed. I am sure we need to drop all data from DSO, if I am interested to go with same info object.
    I have some comments on your first approach,
    1. If we delete info objects from Dev DSO and transport to Production will give transport failure, Why because, my previous transports errors clearly saying that info object contains data in DSO . So it wont allow to remove that info object from DSO.
    2.We are using same info object technical name in BO Data federator also. So if we change add new info objects again we need to make changes with BO as well. I am thinking this point as my last option if i cant find any other solution.
    Thank you.
    Best Regards.

  • Issue with the Data Type 'Number' in Business Objects

    Hi,
    I have an Object in the Universe where the Data Type of the Object is a number. This Column pertaining to this Object has certain values in the database out of which there is a 17 Digit Value which is 00000000031101165.
    Now, when trying to retreive the same value through Business Objects it is getting rounded off to 00000000031101200 automatically when trying to view in Webi and when trying to retreive the same in Designer/Deski, it displays as 0.000000003110116E+16.
    So, I would like to know if there is any other alternative in trying to retreive the Original Value that would not round off. Also, do we have any Limitation for the Data Type Number in Business Objects? The Version we are on is XI3.1.
    Note: There are no functions that are used on this Object at the Universe Level and would not like to use any functions here.

    What is the underlying database?
    It looks like the data is considered to have two decimals, but is rounded to zero decimals.
    Only you don't see the number formatting.
    Is this a BW query?
    Is this a calculated keyfigure?
    In the query you can specify the rounding you want and it is also possible to specify it on an infoobject level.
    Check those settings...
    Hope this helps,
    Marianne
    PS. Oh, and about the formatting, you can specify a default object format in the universe and override it on the final client (WebI, Crystal)

Maybe you are looking for

  • Multiple records for a single transaction - Issue in LSMW

    Hi, i'm facing a issue in LSMW i have the data coming up in the flat file. the data which constitutes the single transaction consists of  data from multiple records from the flat file.. suppose we have 10 records in the flat file... and all the 10 re

  • PR to PO Tax code

    Hello, I am stuck in conversion issue. User wants to to convert PR to PO automatically and if there is no Info record for material then we need to fix the tax code. Basically we want to avoid putting tax code again if info record does not exist and P

  • Problem with Installation on DELL Poweredge with Hardware RAID 1

    Hello Arch LInux community,  I am a newbee with good linux knowledge of working on linux but not much of systems administration. I am very much interested to install Arch Linux on my new desktop which is a Dell poweredge having hardware RAID 1(PERC .

  • How to change iOS 7 apps icons? because the interface is so ugly and childishly

    i dont like the childish system interface they lost the esence of iphone , my iphone is now a nokia or samsung garbage

  • How to put the garageband songs

    i have currently some songs with the ending.band all these are songs but i want to put them into the ipad of garageband how do i do that? does it allow me to do that anyway?