Handle data type like CURR in generic table

HI ALL
I'm working on daynamic structure <ls_attributes>  and the values of fields are type string  lsmapping-field_value_
here in the code i try to fill structure <ls_attributes> with acatul values from it_mapping.
This is the code that im using
io_node->get_attributes(
    IMPORTING
      es_attributes =  <ls_attributes>  ).
LOOP AT it_mapping INTO ls_mapping .
    ASSIGN COMPONENT ls_mapping-tar_field OF STRUCTURE <ls_attributes>
    TO <lo_attr>.
    IF sy-subrc = 0.
      <lo_attr> = ls_mapping-field_value.
    ENDIF.
  ENDLOOP.
the problem here that when i try to move value like 300.000.000,00 i get the following error .
The program attempted to interpret the value "300.000.000,00" as a number, but
since the value contravenes the rules for correct number formats,
this was not possible.
Any idea how can convert these string type to type like  KNA1-UMSA1  ?
or string with value time like 04:29:31 with datatype USCHANGE-MODTI since the field is type T(6)
and when i put there string i am getting 04:29: the second 31 is omited
The main problem here is how to convert string with any value to
the respective type <lo_attr> ,if its time, date, curr etc in  <ls_attributes> i get empty structure with the type of the fields (as field symbol )  
Best regards
Alex
Edited by: Alex Dean on Dec 5, 2010 8:03 PM

Hi Alex,
SAP/ABAP works with implicit input/output conversion handled by screen processor for input and by WRITE statement for output.
The external representation of a currency value, i.e. "1.000.000,00" (depending on user settings) is converted to internal representation ""1000000.00" by screen processor.
If it does not go through screen, no implicit input conversion takes place and you get the dump as described.
Editable ALV has just this problem because ALV cells are character fields of length 255. That's why SAP created a generic function module for this. The function module will determine the internal datatype of the field passed to parameter output_internal  and convert accordingly.
In your case you should pass the currency key as well because the internal representation is different for different number of decimals.
CALL FUNCTION 'RS_CONV_EX_2_IN'
    EXPORTING
      input_external                     = ls_mapping-field_value
      table_field                        = ls_tabfield
*   CURRENCY                           = CURRENCY
    IMPORTING
      output_internal                    = <lo_attr>
    EXCEPTIONS
      input_not_numerical                = 1
      too_many_decimals                  = 2
      more_than_one_sign                 = 3
      ill_thousand_separator_dist        = 4
      too_many_digits                    = 5
      sign_for_unsigned                  = 6
      too_large                          = 7
      too_small                          = 8
      invalid_date_format                = 9
      invalid_date                       = 10
      invalid_time_format                = 11
      invalid_time                       = 12
      invalid_hex_digit                  = 13
      unexpected_error                   = 14
      invalid_fieldname                  = 15
      field_and_descr_incompatible       = 16
      input_too_long                     = 17
      no_decimals                        = 18
      invalid_float                      = 19
      conversion_exit_error              = 20
      OTHERS                             = 21
  IF sy-subrc = 0.
    rv_value = <inputt>.
  ENDIF.
Regards,
Clemens

Similar Messages

  • Space removed from character data type when move to internal table issue...

    Hi Friends,
                        I converted material code and other details into internal table which have corresponding data types.But in internal table,I can see material code as left justified ,but after that space was removed.For example if material code is 'ABC' then rest of the space(material char(18)) are removed.But I need remaining spaces.I tried to concatenate material  code with spaces (caoncatenate matnr `        ` int etc .. )at right side and moved to another internal table.Its working.But the problem is material codes have different values like one material 'ABC' and another like '123893-h' etc.So I need to calculate the space(out of char 18) dynamiclly and need to put space based on material code value.
    << Moderator message - Everyone's problem is important >>
    .Thank you all..
    Regards,
    Kumaran..
    Edited by: Rob Burbank on Oct 26, 2010 11:18 AM

    Hi Ramkumaran,
    You have not told the purpose of having these spaces.
    is it for transfering to a file?
    If that is the case, use a table with fixed lenght lines instead of many fields.
    i.e. try something like this
    DATA : i_tab type standard table of BUSDATA,
    wa_tab type BUSDATA.
    wa_tab+0(10) = material number.
    wa_tab+10(10) = material code.
    wa_tab+20(4) = company code...
    append wa_tab to i_tab.
    Thanks
    Vimal

  • IVI instrument handle data type and palette?

    Hi Folks,
      I'm programming a LabVIEW VI that uses the NI-Scope VIs to talk to a USB-5133. Everything seems to work well, but after calling NI-SCOPE Initialize, I have an 'insturment handle' that needs to be routed to all other NI-SCOPE calls. I'd like to bundle the 'instrument handle' into a cluster to reduce the number of shift registers in the VI, rather than route the handle through its own shift register and as a separate wire everywhere. Can you tell me the data type of 'instrument handle', and where in the palettes to find one, so I can drop it into a cluster?
    Thanks! 

    Hey rogersct,
    The data type for this instrument handle would be an "IVI session of class niScope".  The easiest way to place a constant of this type on your block diagram would be to right-click on the instrument handle output terminal of niScope Initialize.vi and select Create >> Constant.  This should give you a constant of the appropriate data type that you can use to initialize your cluster.
    You can also create a IVI session control from the front panel under I/O >> IVI Logical Name.  You would then need to right-click on the control and select: Select IVI Class >> IviScope >> niScope.  I always use the first method however as it is the quickest.  This should be what you need but if you have any questions please don't hesitate to ask.  Thanks for posting and have a great day!
    -John 
    John Passiak

  • Determining data type of existing column in table

    Hi
    I've done some googling on this, and I know I've done it before, but i cant find/remember how to determine the data type of a column in an existing table..... i tried select dump(column_name) from table but it didnt work.
    any suggestions?
    Thanks in advance

    Hi try this
    SQL> select data_type from user_tab_columns
      2  where COLUMN_NAME='EMPNO'
      3  and table_name='EMP';
    DATA_TYPE
    NUMBER

  • How to handle DATE type problems in migrating from mysql to oracle.?

    Hi,
    I'm migrating only the data from mysql to oracle with the help of sql loader.But with this type i cannot able to insert the date values from mysql to oracle.In mysql i have defined date as "DATETIME" type and in oracle it is in TimeStamp.Whenever i'm inserting the values thru CTL file ,i'm getting an error invalid date format entered.How to solve this problem?
    Thanks in Advance
    JAI

    you need to supply a mask to the timestamp entry. see http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14215/ldr_field_list.htm#i1006714 for details on datatypes within the ctl file
    B

  • 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

  • JDBC MS Access--- cannot extract entry with null value with data type Meta

    I'm trying to extract a data entry with null value by using JDBC. The database is MS Access.
    The question is how to extract null entry with data type memo? The following code works when the label has data type Text, but it throws sqlException when the data type is memo.
    Any advice will be appreciated! thanks!
    Following are the table description and JDBC code:
    test table has the following attributes:
    Field name Data Type
    name Text
    label Memo
    table contents:
    name label
    me null
    you gates
    Code:
    String query = "SELECT name, label FROM test where name like 'me' ";
    ResultSet rs = stmt.executeQuery(query);
    while (rs.next())
    String name = rs.getString("name");
    rs.getString("val");
    String label = rs.getString("label");
    System.out.println("\t"+name+"\t"+label);
    catch (SQLException ex)
    System.out.println(ex.getSQLState());
    System.out.println(ex.getErrorCode());
    System.out.println("in sqlexception");
    output:
    C:\Temp\SEFormExtractor>java DBTest
    yet SELECT name, label FROM test
    null
    0
    in sqlexception

    The question is how to extract null entry with data type memo?Okay, what you need to do is this:
    if (rs.getString("val") == null)
      // do something
    }This way, when it's a null value, you can check it first, and then handle it how you want, rather than getting an exception.

  • How to access PL/SQL data types through JDBC

    Hi,
    We have stored procedures written in PL/SQL. These stored procs take both IN and OUT parameters. The parameter types are both regular datatypes like NUMBER, VARCHAR etc. So far so good. I know how to handle these data types.
    Some of the stored procs also use parameters that are defined as composite data types like %ROWTYPE or %RECORD. How would I set the values of these data types? Can I use the oracle extension - support for Oracle Objects to accomplish this. If so please let me know with an example. If not any other suggestions or help will be greatly appreciated.
    Thanks
    Karthik
    null

    JDBC (and SQLJ) only support SQL types as stored procedure arguments, not PL/SQL types.
    If your stored procedure uses a PL/SQL-only type, such as BOOLEAN, record types, or index-by tables, then you cannot call it from Java (or, for that matter, from other languages as well).
    There is one exception: scalar index-by table arguments have been supported since JDBC 8.1.7 in the JDBC-OCI driver (refer to the JDBC manual for specifics).
    One workaround is to create wrapper PL/SQL stored procedures that take SQL arguments and convert them to PL/SQL -and vice versa- and call the original PL/SQL stored procedures. For example, a record type could be exploded into individual arguments, or it could be converted into a SQL object type, index-by tables could be represented as SQL collection types, etc.
    You can find a small example of this in the back of the JPublisher manual, where an example is given how to call a PL/SQL stored procedure that takes BOOLEAN arguments.

  • Creating Web service for PL/SQL Procedure with Complex Data Types

    I need to created web service for PL/SQL Procedure with Complex Data types like table of records as parameters, how do we map the pl/sql table type parameters with web service, how to go about these?

    Hello,
    When you are creating a service from a Stored Procedure, the OracleAS WS tools will create necessary Java and PL wrapper code to handle the complex types (table of record) properly and make them compatible with XML format for SOAP messages.
    So what you should do is to use JDeveloper or WSA command line, to create a service from your store procedure and you will see that most of the work will be done for you.
    You can find more information in the:
    - Developing Web Services that Expose Database Resources
    chapter of the Web Service Developer's guide.
    Regards
    Tugdual Grall

  • Data types pls..

    Hi All,
    What are all the data types we have, let me know each data type purpose pls....
    Akshitha.

    Data types describe the technical attributes of data objects. They are purely descriptive and do not take up any memory space
    Data Types in the ABAP Dictionary
    The ABAP Dictionary allows you to define global data types. You can use the TYPE addition of an appropriate ABAP statement to refer to these data types in any ABAP program in the system.
    There are three groups on the initial screen:
    Database Tables and Views
    One of the most important tasks of the ABAP Dictionary is to administer database tables in the R/3 database. The Dictionary contains metadescriptions of the database tables, and uses these to create the physical tables in the database. A view is a "virtual table" containing fields from one or more tables.
    In the description of a database table, the table lines consist of single fields or columns. An elementary data type must be assigned to each column. The elementary types in the ABAP Dictionary are data elements. Like data objects in ABAP programs, database tables and views have data types as attributes. A line of a database table or view has the data type of a flat structure, which consists of individual data elements.
    In ABAP programs, you can use the TYPE addition with the data type of a database table or view. You may refer to the whole structure or to individual components:
    ... TYPE <dbtab> ...
    refers to the complex data type of the structure,
    ... TYPE <dbtab>-<ci> ...
    refers to the elementary data type of component <ci>.
    If you define a complex data type <t> as a structure using
    TYPES <t> TYPE <dbtab>.
    the components of the data type <t> inherit the names of the components of the database table or view, and can be addressed in the program using <t>-<ci>.
    To ensure compatibility with previous releases, you can still use the LIKE addition to refer to database tables or views, except within classes. The reason for this is that in earlier releases, the physical presence of the database tables as objects was emphasized, even though the Dictionary only contains metadescriptions and data types.
    Defining program-local data types by referring to database tables and views is one of the essential techniques for processing data from database tables in ABAP. Data objects that you define in this way always have the right type to contain data from the corresponding database table. ABAP Open SQL allows you to read a single field, a range of fields, or an entire database table or view into an internal table.
    TYPES: city type spfli-cityfrom,
           spfli_type TYPE STANDARD TABLE OF spfli WITH DEFAULT KEY.
    DATA: wa_city  TYPE city,
          wa_spfli TYPE spfli_type.
    SELECT SINGLE cityfrom FROM spfli
                           INTO wa_city
                           WHERE carrid = 'LH' AND connid = '400'.
    SELECT * FROM spfli INTO TABLE wa_spfli.
    This example defines an elementary data type CITY that refers to a single field of the database table SPFLI and an internal table SPFLI_TYPE, whose line type is the same as the structure of the database table. The SELECT statement reads data from the database into the corresponding data objects.
    Data types
    Data types are the actual type definitions in the ABAP Dictionary. They allow you to define elementary types, reference types, and complex types that are visible globally in the system. The data types of database tables are a subset of all possible types, namely flat structures. Global object types (classes and interfaces) are not stored in the ABAP Dictionary, but in the class library. You create them using the Class Builder.
    For a detailed description of data types and their definitions, refer to the Types section of the ABAP Dictionary documentation. The following descriptions mention the types only briefly, along with how you can refer to them from ABAP programs.
    Data Elements
    Data elements in the ABAP Dictionary describe individual fields. They are the smallest indivisible units of the complex types described below, and are used to specify the types of columns in the database. Data elements can be elementary types or reference types.
    Elementary Types
    Elementary types are part of the dual-level domain concept for fields in the ABAP Dictionary. The elementary type has semantic attributes, such as texts, value tables, and documentation, and has a data type. There are two different ways to specify a data type:
    By directly assigning an ABAP Dictionary type.
    You can assign a predefined ABAP Dictionary type and a number of characters to an elementary type. The ABAP Dictionary has considerably more predefined types than the ABAP programming language. The number of characters here is not the field length in bytes, but the number of valid characters excluding formatting characters. The data types are different because the predefined data types in the ABAP Dictionary have to be compatible with the external data types of the database tables supported by the R/3 System.
    When you refer to data types from the ABAP Dictionary in an ABAP program, the predefined Dictionary types are converted to ABAP types as follows:
    Dictionary type
    Meaning
    Maximum length n
    ABAP type
    DEC
    Calculation/amount field
    1-31, 1-17 in tables
    P((n+1)/2)
    INT1
    Single-byte integer
    3
    Internal only
    INT2
    Two-byte integer
    5
    Internal only
    INT4
    Four-byte integer
    10
    I
    CURR
    Currency field
    1-17
    P((n+1)/2)
    CUKY
    Currency key
    5
    C(5)
    QUAN
    Amount
    1-17
    P((n+1)/2)
    UNIT
    Unit
    2-3
    C(n)
    PREC
    Accuracy
    2
    X(2)
    FLTP
    Floating point number
    16
    F(8)
    NUMC
    Numeric text
    1-255
    N(n)
    CHAR
    Character
    1-255
    C(n)
    LCHR
    Long character
    256-max
    C(n)
    STRING.
    String of variable length
    1-max
    STRING.
    RAWSTRING
    Byte sequence of variable length
    1-max
    XSTRING
    DATS
    Date
    8
    D
    ACCP
    Accounting period YYYYMM
    6
    N(6)
    TIMS
    Time HHMMSS
    6
    T
    RAW
    Byte sequence
    1-255
    X(n)
    LRAW
    Long byte sequence
    256-max
    X(n)
    CLNT
    Client
    3
    C(3)
    LANG
    Language
    internal 1, external 2
    C(1)
    ("max" in LCHR and LRAW is the value of a preceding INT2 field. The "internal" length of a LANG field is in the Dictionary, the "external" length refers to the display on the screen.
    Assigning a domain
    The technical attributes are inherited from a domain. Domains are standalone Repository objects in the ABAP Dictionary. They can specify the technical attributes of a data element. One domain can be used by any number of data elements. When you create a domain, you must specify a Dictionary data type (see above table) and the number of characters.
    Reference Types
    Reference types describe single fields that can contain references to global classes and interfaces from the ABAP class library.
    In an ABAP program, you can use the TYPE addition to refer directly to a data element. The predefined Dictionary data types of the domain are then converted into the corresponding ABAP types.
    If you define a local data type in a program by referring to a data element as follows:
    TYPES <t> TYPE <data element>.
    the semantic attributes of the data element are inherited and will be used, for example, when you display a data object with type <t> on the screen. Since all data types in the ABAP Dictionary are based on data elements, they all contain the corresponding semantic attributes.
    TYPES company TYPE s_carr_id.
    DATA wa_company TYPE company.
    wa_company = 'UA '.
    WRITE: 'Company:', wa_company.
    This example defines a local type COMPANY that refers to the data element S_CARR_ID. The data element is linked to the identically-named domain S_CARR_ID. The domain defines the technical attributes as data type CHAR with length 3. The local data type COMPANY in the program therefore has the ABAP type C(3). COMPANY also adopts the semantic attributes of the data element. In the above example, we declare a data object WA_COMPANY with this type and display it on a list. If the user chooses F1 help for the output field, the help text stored in the ABAP Dictionary will appear in a dialog box.
    Structures
    A structure is a sequence of any other data types from the ABAP Dictionary, that is, data elements, structures, table types, or database tables. When you create a structure in the ABAP Dictionary, each component must have a name and a data type.
    In an ABAP program, you can use the TYPE addition to refer directly to a structure.
    If you define a local data type in a program by referring to a structure as follows:
    TYPES <t> TYPE <structure>.
    the construction blueprint of the structure is used to create a local structure <t> in the program. The predefined Dictionary data types of the domains used by the data elements in the structure are converted into the corresponding ABAP types. The semantic attributes of the data elements are used for the corresponding components of the structure in the program. The components of the local structure <t> have the same names as those of the structure in the ABAP Dictionary.
    To ensure compatibility with previous releases, it is still possible to use the LIKE addition in an ABAP program to refer to a structure in the ABAP Dictionary (except in classes).
    Suppose the structure STRUCT is defined as follows in the ABAP Dictionary:
    Field name
    Type name
    Description
    COL1
    CHAR01
    Character field with length 1
    COL2
    CHAR08
    Character field with length 8
    COL3
    CHAR10
    Character field with length 10
    The types CHAR01 to CHAR10 are data elements with corresponding domains. We can refer to this structure in ABAP:
    TYPES struct_type TYPE struct.
    DATA wa TYPE struct_type.
    wa-col1 = '1'.
    wa-col2 = '12345678'.
    wa-col3 = '1234567890'.
    This program creates a local structure in the program - STRUCT_TYPE - and a corresponding data object WA. We can address the components using the component names from the original structure.
    Table Types
    Table types are construction blueprints for internal tables that are stored in the ABAP Dictionary. When you create a table type in the ABAP Dictionary, you specify the line type, access type, and key. The line type can be any data type from the ABAP Dictionary, that is, a data element, a structure, a table type, or the type of a database table. You can also enter a predefined Dictionary type directly as the line type, in the same way that you can with a domain.
    In an ABAP program, you can use the TYPE addition to refer directly to a table type.
    If you define a local data type in a program by referring to a table type as follows:
    TYPES <t> TYPE <table>.
    the construction blueprint of the table type is used to create a local internal table <t> in the program. The predefined Dictionary data types of the domains used by the data elements in the structure are converted into the corresponding ABAP types. The semantic attributes of the data elements are used for the corresponding components of the internal table in the program.
    Suppose the table type STRUCT_TABLE is defined in the Dictionary with the line type STRUCT from the previous example. We can refer to this in ABAP:
    TYPES table_type TYPE struct_table.
    DATA: table_wa TYPE table_type,
          line_wa  LIKE LINE OF table_wa.
    LOOP AT table_wa INTO line_wa.
      WRITE: line_wa-col1, line_wa-col1, line_wa-col1.
    ENDLOOP.
    This program defines an internal table type TABLE_TYPE. From it, we define data objects TABLE_WA and LINE_WA. LINE_WA corresponds to the line type of the table type in the Dictionary, and is therefore compatible with the structure STRUCT.
    Type Groups
    Before Release 4.5A, it was not possible to define standalone types in the ABAP Dictionary to which you could refer using a TYPE addition in an ABAP program. It was only possible to refer to flat structures. Structures in programs corresponded to the structures of database tables or structures in the ABAP Dictionary. In ABAP programs, you could only refer to database tables and structures in the ABAP Dictionary using LIKE. It was, however, possible to refer to individual components of the Dictionary type. Complex local data types such as internal tables or deep structures had no equivalent in the ABAP Dictionary. The solution to this from Release 3.0 onwards was to use type groups. Type groups were based on the include technique, and allowed you to store any type definitions globally in the Dictionary by defining them using TYPES statements.
    The definition of a type group is a fragment of ABAP code which you enter in the ABAP Editor. The first statement for the type group <pool> is always:
    TYPE-POOL <pool>.
    After this came the definitions of data types using the TYPES statement, as described in Local Data Types in Programs. It was also possible to define global constants using the CONSTANTS statement. All the names of these data types and constants must begin with the name of the type group and an underscore:
    In an ABAP program, you must declare a type group as follows before you can use it:
    TYPE-POOLS <pool>.
    This statement allows you to use all the data types and constants defined in the type group <pool> in your program. You can use several type groups in the same program.
    Let the type group HKTST be created as follows in the ABAP Dictionary:
    TYPE-POOL hktst.
    TYPES: BEGIN OF hktst_typ1,
                    col1(10) TYPE c,
                    col2 TYPE i,
           END OF hktst_typ1.
    TYPES hktst_typ2 TYPE p DECIMALS 2.
    CONSTANTS hktst_eleven TYPE i VALUE 11.
    This type group defines two data types HKTST_TYP1 and HKTST_TYP2, as well as a constant HKTST_ELEVEN with the value 11.
    Any ABAP program can use these definition by including a TYPE-POOLS statement:
    TYPE-POOLS hktst.
    DATA: dat1 TYPE hktst_typ1,
          dat2 TYPE hktst_typ2 VALUE '1.23'.
    WRITE: dat2, / hktst_eleven.
    The output is:
    1,23
    11
    The data types defined in the type group are used to declare data objects with the DATA statement and the value of the constant is, as the output shows, known in the program.

  • Data type of variable in smartform

    Hi folks
    iam displaying the currency fields as acolum  in the main widow , now i want to display the sum of these items   i have coded like this:
    data: cu-sum type f default '0'..
    loop at itab into w_iatab.
    cu_sum = cu_cusum + w_itab-curr
    endloop.
    now its claculating the sum but its not showing in layoutest
    could u tell me the data type of cu_sum should be  P or C OR F. because here 'curr' is the currency field.
    tahnks in adavace
    priyavasuki srinivas

    Hi Priyavasuki Srinivas,
    In your SMART FORM
    Goto Global Settings ---> Global attributes ---> Global Definitions
    Here you can find a TAB Currency/Quant.Fields
    There In the Field name decalre your Output Field name and Choose the Data type as CURR.
    Your problem should be solved with this.
    Thanks,
    Sreekanth

  • Specify Keys in Data Type for receiver JDBC adapter

    Hi guys,
    I have the following issue:
    In a proxy to JDBC scenario, I want to specify somehow the key values for the SQL statement in the data type that I define for the receiver JDBC adapter. Thus, I am using the following structure in data type:
    root
        Statement
               dbTable
               action
               table
               access
                      CustomerID
                      Name
                      HouseNo
               Key
                      CustomerID
    But in the SQL statement that is produced (I can see that in RWB, CC Monitoring, Audit Log), the "Key" segment is translated into "OR". E.g. UPDATE_INSERT ("A100" "Evaggelos Gkatzios" "El Alamein 19") OR ("A100")
    Do you have any ideas ?

    Hi,
    Its clear from the statement in RWB (in CC monitoring's auditlog) you are using UPDATE_INSERT as the action.
    Please correct me if this is OK. Now the interpretation of input xml file will be like this,
    If the input XML is in the following format
    <root>
    <Statement>
    <dbTable action=UPDATE_INSERT>
    <table>EXAMPLE</table>
    <access>
      <CustomerID>ABC</CustomerID>
      <Name>xyz</Name>
      <HouseNo>123</HouseNo>
    </access>
    <key>
      <CustomerID>DEF</CustomerID>
    </key>
    </dbTable>
    </Statement>
    </root>
    Resultant SQL after parsing the XML file will be,
    1. It will first check with the condition WHERE CustomerID = DEF. If it finds the record with this condition then it will update the record with CustomerID=ABC, Name =xyz & HouseNo=123.
    2. If it doesn't find any record with that CustomerID then, it will insert a new record with the same details.
    In auditlog, you will find two SQL statements like,
    1.UPDATE EXAMPLE SET CustomerID=ABC, Name =xyz & HouseNo=123 WHERE CustomerId=DEF
    2.INSERT INTO EXAMPLE VALUES(ABC,xyz,123)
    hope this has given clear information about your query,
    Regards,
    Soorya

  • Domain for data type in Oracle 8i database

    Hi Sir,
    Does Oracle database supports domain creation for data type.
    for example, can I create a domain called shorttext which is VARCHAR2(50). Then when I specify a data type for a column in table, then I just declare the column as domain.
    eg. address SHORTTEXT;
    --where SHORTTEXT is a domain.
    How is this implemented in Oracle database and supported by front end tools like Oracle Developer 6.0.
    Hope someone can provide some clear explanation on this.
    Thanks.

    The ordimagesignature is not something you can see or hear. It is strictly binary metadata about the image, used only to compare images to each other.
    What are you trying to do?
    Larry

  • Issue is De-serializing nested date type using Axiss 1.4

    We are using Axis 1.4 and face issue during deserialization in handling date types. The scenario is explained below. I couldn’t find enough information on net on below and hence asking question to the apache team. Please note when we switch to Axis 2, issue is not seen. Upgrading may not be a simple option for us as of now, and hence I was evaluating possible workarounds or solution if any.
    The XSD contains type “DateofBirthType” which is of type xsd:date
    Child XSDs contains element “DateofBirth” of type “DateOfBirthType”
    When Java client invokes the web service, IllegalArgumentException is seen while de-serializing this “DateOfBirthType” element. If we remove “DateOfBirthType” and map it directly to xsd:date type all works fine.
    We have generated the stub using Axis 1.4 and trying to access the RetrieveIndividualCustInformation  operation through stub, but getting the (IllegalArgumentException) while axis tries to deserialize the response for all the fields having data types as date which is indirectly mapped (nested mapping) as shown below.
    e.g. IndividualInfo-----DateOfBirth(Type—DateOfbirth ---Which is of Type Date)-_you will face illegal argument exception.
    So, when we changed the type to simple date (not nested),then it worked fine. So it confirms that this problem is only for type date which is clearly seen in Axis 1.4 client.
    Please let me know if anyone faces similar/same issue or even know any such issue already persists and there are no possible workarounds and/or fixes for this. In that case we can put up case to migrate to Axis2.
    Please reply ASAP.

    Hi, Shank,
    My guess is that you want:
    , dense_rank () over (order by  tmstp  desc)  AS rn RANK means you'll skip numbers when there's a tie. For example, if 3 rows all have the exact same latest tmstp, all 3 rows would be assigned number 1, RANK would assign 4 to the next row, but DENSE_RANK assigns 2.
    "PARTITION BY x" means that you want a separate series of numbers (starting with 1) for every value of x. If you want just one series of numbers for the whole result set, then don't use a PARTITION BY clause at all. (PARTITION BY is never required.)
    Maybe you wnat to PARTITON BY cd. I can't tell without some sample data, and an explanation of why you want the given results from that data.
    You certainly don't want to PARTITION BY the same expression that you ORDER BY; that just means all rows tie for #1.
    I hope this answers your question.
    If not, post a little sample data (CREATE TABLE and INSERT statements, relevant columns only) for all tables involved, and also post the results you want from that data.
    Explain, using specific examples, how you get those results from that data.
    Simplify the problem as much as possible.
    Always say which version of Oracle you're using.
    See the forum FAQ {message:id=9360002}
    Edited by: Frank Kulash on Aug 1, 2012 1:20 PM

  • I need help in "HOW TO EXTEND THE DATA TYPE SYSTEM"......

    Hi All,
    I need to add new data type like SDO_GEOMETRY in spatial Oracle.
    I don't mean the User-Defined Datatype but new datatype embed in the database.
    I read the Data Cartridge Developer's Guide but it has info how to use more efficiently UDT through indexes.
    Anybody used the “Type System” under Databases and Extensibility Services?
    It might be written in C++ or Java but I do not know how.
    Any hints and help will be appreciated.
    Thanks,

    > In Figure 1-1 Oracle Services, there is a "Type System" as Oracle Services.
    The "Type System" is merely a compartmentalising the data type handling and implementation code/modules in Oracle.
    This covers all types. Oracle native types, user defined types (UDTs), etc.
    Saying that you want to create a new type in the "Type System" is basically saying you want to use the CREATE TYPE SQL command in Oracle.
    > So, I want new_type1 and new_type2 behave like other built-in types, just the way
    SDO_GEOMETRY works in Oracle Spatial Cartridge.
    Not familiar with the SDO_GEOMETRY. Why do you mention this type specifically? What do you want to do similar?
    > I have already done it with user-defined types. Now I need to do this way so that I can
    compare and contrast in terms of speed, space...etc for part of my research.
    Hmm.. I'm not sure what you are trying to compare ito of a UDT and Data Cartridge extensions. It is not one or the other. What research is this if I may ask?
    Simplistically you extend the Type System with a new UDT/ADT. And there you have a new type data can be used in the SQL Engine and the PL/SQL engine. The OCI (Oracle Call Interface) supports such types via the OCI object API calls - which means this new type can also be used from Oracle clients written in Delphi, C++, Java, etc.
    That new type can be a complex type. This type may need specific management code (memory management, context management, internationalisation, etc). To support this you can extend the UDT/ADT further by developing Cartridge Basic Service interfaces for the type - designing and writing management code to, for example, support specific internationalisation requirements when dealing with multibyte character sets.
    You can also extend the UDT/ADT to be custom managed ito indexing, determining query optimisation, computing costs of custom methods/functions/operators on this custom data type. These extensions are done by developing Data Cartridge interfaces for the type.
    Thus I cannot see what you are trying to compare. It is not one layer/interface versus another. These layers exist for all Oracle types (in the Type System). Oracle not only allows you to add to the top layer by adding/defining a new data type. It also allows you to customise (if needed) the layers below it.

Maybe you are looking for

  • 2nd monitor in bootcamp

    My uncle has a 20" c2d imac with the x1600 video. I have connected a 17" lcd to the other video port and it comes up fine in OS X but, not in bootcamp. It looks like Windows is sending a signal the monitor doesn't like but, I have changed resolution

  • I need to be able to print the filled in form as it appears as a form.

    Currently when I attempt to print a reponse as a PDF a four page form turns into an unmanageable 27 page PDF file.  Is this a bug or do I need to make a change?

  • Connecting to Business Objects

    I am running Crystal Reports xi R2 Standard. My knowledge of Business Objects is limited. I have recently had Business Objects installed and now wish to connect to the Universe.  However, there is no selection in database expert in Crystal to connect

  • Stock determnation for sales order stock

    Hi all, for our SAP retail solution - we have requirements for moving Consignment stock to Sales order stock for home delivery . Then Sales order stock needs to be withdrawn for inter company 643 movement . The stock determination is maintained as K

  • Traffic doesn't show in iOS7 notification centre, what do I do?

    Hey guys, I love iOS7, but I have noticed it won't give me traffic time estimations in my notification center, any ideas as to why?