Aggregated data types - what package(s) do they reside in?

I'm looking for the definition of the aggregated data type MatlERPRplctnReqMsgMatl, but I cannot find it in the PI ESB. Do these data types reside in a specific package that needs to be imported, or do I use the SWDL for the interface that specifies it in the ES Workplace?

Hi Theo,
we've looked at the data you sent me and found that we already ran into this issue even before the first productive release.
The good news is that the problem should be solved already with the first release SAP NetWeaver CE 7.1 EhP1 SP1 Patch 0.
The bad news is that if you initally created the process and modeled the mapping with the Beta release (which contained this bug), false model information was written into the project files. So the problem is not solved by re-compiling the project with a newer NWDS.
Can you please check whether this model was created initially with the Beta version? If this is the case, I'm afraid you'll have to re-model the process with the productive release from scratch.
If you are sure that you modeled this from scratch with the official (SP1) release, please open an OSS ticket for this.
But I can put your mind at ease on one point: your use-case does not fall under a product limitation. This should work with the productive release, and if it doesn't, it's a bug that needs to be fixed.
Best regards,
Oliver

Similar Messages

  • Data: stru_tab type ref to data? what data refers to?

    Dear friends,
                         Relatively iam new to WDA. can u please explain me below statement.
    data: stru_tab type ref to data.

    Actually there are not really any Web Dynpro sepecific data types.  The ones mentioned are simply data dictionary data types that are defined for use with WD, but can be used in any ABAP applications.  You should start your research with just ABAP data types.  Look in the ABAPDOCU transaction or search the keyword documentation for DATA. There is lots of documentation on the ABAP native data types.
    Here is a little bit of it:
    Predefined ABAP Types
    The table below shows the predefined ABAP types. Additional attributes can be found under value ranges and initial values.
    Type Length Standard length Description
    b 1 Byte   1 byte integer (internal)
    c 1 to 65,535 characters 1 character Text field
    cursor as i as i Database cursor
    d 8 characters   Date field
    f 8 bytes   Floating point number
    i 4 bytes   4 byte integer
    n 1 to 65,535 characters 1 character Numeric text
    p 1 to 16 bytes 8 bytes Packed number
    string variable   Text string
    s 2 bytes   2 byte integer (internal)
    t 6 characters   Time field
    x 1 to 65,535 bytes 1 byte Byte field
    xstring variable   Byte string
    These types are predefined in every ABAP program.
    All predefined ABAP types in this table are elementary.
    Apart from the types b and s, the predefined ABAP types can also be used to define your own data types and data objects and for typing. The types b and s cannot be specified directly in ABAP statements. Self-defined data types and data objects in ABAP programs are of the data type b and s if they are defined with reference to data elements to the ABAP Dictionary which are of the external data types INT1 or INT2.
    The predefined data types string and xstring describe data objects of variable length (dynamic data objects). While the length of data objects in all other elementary data types is determined for its whole lifetime, the length of text and byte strings varies according to their content (the maximum size of a string is determined by profile parameter ztta/max_memreq_MB, see Maximum size of dynamic data objects).
    The program-globally predefined data type cursor is currently synonymous with the predefined ABAP type i. This is required for the declaration of a cursor variable for database cursor handling.
    All predefined ABAP types for which a length interval is specified in second column in the table are generic, which means that the length is not part of the type description. For the type p, the fractional portion is indefinite as well as the length.
    The entries in the standard length column specify the length that is used for the corresponding generic data type when declaring data objects, if no explicit length is specified in the relevant statement.
    In Unicode systems, the length must either be specified in characters and bytes. In non-Unicode systems, the length of a character is one byte, but in Unicode systems the length of a character depends on which Unicode character representation is used.
    Generic ABAP Types
    The following table shows the predefined generic ABAP types. A generic data type is an incomplete type specification that includes several complete type specifications. The generic types can be used for the typing of field symbols and formal parameters. The only generic type that can be used for typing of data references is the predefined type data. The predefined generic type for object references is object. When a data object is assigned to generically typed field symbols using the statement ASSIGN, or to a formal parameter in procedure calls, the system checks whether its concrete data type is a of the generic type, or is compatible with it.
    Type Description
    any Any data type (suitable for any type)
    any table Internal table of any table type
    c Text field of generic length
    clike Character-type (c, d, n, t, string and character-type flat structures); in non- Unicode programs also x, xstring and any flat structures
    csequence Text-type (c, string)
    data Any data type
    hashed table Hashed table
    index table Index table
    n numeric text of generic length
    numeric Numeric (b, i, p, f, s)
    object Any object type (root class of the inheritance hierarchy)
    p Packed number of generic length and generic number of decimal places
    simple Elementary data type including structured types with exclusively character-type flat components
    sorted table Sorted table
    Standard table Standard table
    table Standard table
    x Byte field of generic length
    xsequence byte-type (x, xstring)
    The genric types clike, csequence, numeric,simple, and xsequence are available as of release 6.10.
    Notes
    The generic type any currently has the same effect in typing as the generic type data. When declaring references, any cannot yest be specified after REF TO. Generic data references (REF TO data) or generic object references (REF TO object) are possible. The generic type object can currently only be specified after REF TO.
    Except for the built-in generic types illustrated in the table above, there are at the moment no self-defined generic types in ABAP with only one exception: A table type defined with TYPES - TABLE OF or defined in the ABAP Dictionary without completely specifying the table key, is also generic.
    Predefined Types in the ABAP Dictionary
    The following table lists the predefined types in the ABAP Dictionary. These types cannot be used directly in ABAP programs, and are therefore known as external data types. Instead, they are used in the ABAP Dictionary for the definition of data types to which ABAP programs can refer. The predefined data types of the ABAP Dictionary must also be taken into account in Open SQL statements and when working with screens: Open SQL statements work with database tables defined in the ABAP Dictionary whose colums have external data types. Screen fields are also declared in the Screen Painter with reference to external data types.
    Type Permitted Places m Meaning ABAP Type
    ACCP 6 Accounting period n(6)
    CHAR 1-255 Character string c(m)
    CLNT 3 Client c(3)
    CUKY 5 Currency key c(5)
    CURR 1-31 Currency field p((m+1)/2)
    DATS 8 Date d
    DEC 1-31 Calculation/amount field p((m+1)/2)
    FLTP 16 Floating point number f(8)
    INT1 3 1 byte integer b
    INT2 5 2 byte integer s
    INT4 10 4 byte integer i
    LANG 1 Language c(1)
    LCHR 256-... Long character string c(m)
    LRAW 256-... Long byte string x(m)
    NUMC 1-255 numerischer Text n(m)
    PREC 2 Accuracy of a quantity field s
    QUAN 1-31 Quantity field p((m+1)/2)
    RAW 1-255 Byte sequence x(m)
    RAWSTRING 256-... Byte sequence xstring
    SSTRING 1-255 Character string string
    STRING 256-... Character string string
    TIMS 6 Time t
    UNIT 2-3 Unit key c(m)
    For types LCHR and LRAW, the maximum number of places in a transparent database table is the value of the preceding INT2 field.
    The types RAWSTRING and STRING have a variable length. A maximum length for these types can be specified, but has no upper limit.
    The type SSTRING is available as of release 6.10 and it has a variable length. Its maximum length must be specified and is limited to 255. The advantage of this type compared with CHAR, is that it is assigned to the ABAP type string.
    The table below shows the data types of the ABAP Dictionary that are based on the predefined types in the above table, and that can be addressed in an ABAP program. The elementary components of these data types are converted to predefined ABAP data types according to the final column in the above table, whereby the number of places m of each type is converted to lengths.
    Data types in the ABAP Dictionary Data types in ABAP
    Data element Elementary data type, Reference type
    Structure, Database table, View Structured data type
    Table type Table type
    Note
    As of release 6.20, a component of structures or database tables that has the type LANG can be identified as a text language. The text language is used for the conversion of character-type components of the structure when importing data from data clusters and for RFC between MDMP systems and Unicode systems.

  • 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 Type for Process Flow... PB with Date?

    I've got a problem by passing parameters in process flow.
    I have a mapping with a parameter DATE_EXEC (data type : DATE) and a default value that is TO_DATE('20/01/2007' , 'dd/mm/yyyy') . My mapping is working good when i launch it.
    I have a process flow which contains the mapping. This process has a parameter DATE_EXEC (data type : DATE). I bind the 2 DATE_EXEC. But when i launch my mapping the value is not recognized, I try with :
    - TO_DATE('20/01/2007' , 'dd/mm/yyyy')
    - 20/01/2007
    - 2007.01.20
    - 2007-01-20
    My question is what are the data type in process flow? They are not ORACLE TYPE.
    For example , a parameter in a mapping which is a VARCHAR2 must be input between quotes but if you bind it to a parameter of a process flow which is a STRING (not ORACLE Data type) , you must input it without quotes?
    Anybody has some rules about that?
    I apologize for my english, i'm a french people.

    Here is some information on the literal quote or not quote query and what I think you need to do at the end, hope it helps. Not exactly intuitive...since the flow designer (you) have to know what is a PLSQL object and what is not.
    1. Literal = FALSE
    When Literal = FALSE is set then the value entered must be a valid PL/SQL expression which is evaluated at the Control Center e.g.
    'Hello World!'
    22 / 7
    2. Literal = TRUE
    When Literal = TRUE then the value is dependent on the the type of Activity. If the activity is a PL/SQL object i.e. Mapping or Transformation, then the value is PL/SQL snippet. The critical difference here is that the value is macro substituted into the call for the object. The format of the value is identical to that entered as default value in the Mapping editor. e.g.
    'Hello World!'
    sysdate()
    If the activity type is not a PL/SQL object then the value is language independent. e.g.
    Hello World
    3.1427571
    What you should try......
    Check the map activity parameter in your process flow to see if literal is false (an expression), set it to false and then try using your TO_DATE('20/01/2007' , 'dd/mm/yyyy') expression, deploy your flow and execute. Alternatively the user guide defines the DATE type for flow with the format YYYY-MM-DD so you can have the parameter value as '2007-01-20' use literal equal to true and remember and quote your value.
    Cheers
    David

  • Data types in pi 7.1

    Hi,
    when do you use core, free and aggregated data types?
    Thanks in advance
    regards,
    Ramya Shenoy

    This may help you,
    Introduction
    SAP delivers descriptions of Global Data Types (GDTs) as Enterprise Services Repository (ESR) content to customers. Customers can create their own data types in the ES Repository and use SAP GDTs.
    u2022
    Two ways of modeling data types are supported: Classical XSD style and new CCTS (Core Component Technical Specification) style.
    u2022
    Data types are classified as free-style (classical), core (atoms of CCTS modeling), or aggregate (complex CCTS)
    u2022
    Standard fault data types are no longer created automatically for every namespace (only when fault message type is created).
    u2022
    Additional functions in data type editor provide better support for structural changes (e.g., moving subtrees).
    More Information:
    SAP Help Portal: Global Data Types
    According to this, we distinguish between SAP Core Data Type and SAP Global Data Type. The SAP Core Data Type as well as the W3C Type (XSD type) does not have any business semantics. The SAP GDT has business semantics, it actually can be based on either a core or an aggregated DT.
    Free-style data types are directly based on the primitive data types, e.g., xsd:decimal. They do not need any further parameters to define themselves.
    More Information:
    u2022
    SAP Help Portal: Core Data Types and Aggregated Data Types Recommendation
    When to use free, core and aggregated data types
    Core data types are based on CCTS specification. Aggregated data types have business semantics, are based on CDTs, and are the basis for application-specific data types SAP-wide.
    Customers who adhere to the CCTS specification or have business scenarios dealing with SAP backend systems, should try and reuse the existing core and aggregated data types delivered by SAP. However, customers who wish to use their own schema for defining the data types, free-style data type is the preferred approach.
    While transferring the business scenarios from XI 3.0/PI 7.0 to PI 7.1, all the data types in the design objects will be transferred as free-style data types by default.
    While creating new objects in PI 7.1x, it is recommended to reuse the core and aggregated global data types provided by SAP.
    The detailed list of SAP delivered data types is available on SAP Developer Network (SDN) at ES Workplace.
    https://www.sdn.sap.com/irj/sdn/esworkplace
    Core data types
    Core data types are based on representation terms which are ISO 15000 5 (ebCCTS) compliant.
    SAP delivers core data types with the same name as representation terms. Applying the standard methodology simplifies the implementation of cross-company processes.
    CDTs are intermediate data types, and are a level above primitive data types like decimal, string, etc. They are defined by representation terms such as Amount, Identifier, etc. They are themselves not yet application-specific and are therefore referred to as context-free.
    While creating core data type based on any given representation term, we get an option to either use a default XSD type or reuse an existing core data types.
    For using the standard XSD types we select Type as u2018XSD Typeu2019
    For reusing already existing core data type we select Type as u2018Data Typeu2019 Prerequisite
    Define a dependency on the SWC SAP Global to reuse any of the standard core data types shipped by SAP.
    xample

  • Problem when summery the data type of interval day to second

    hi
    i write a program calculate periods of time and summary it then i used interval day to second data type
    oracle support basic 4 math operation (+,-,*,/) on interval
    but although oracle does not support summary function like sum() ,avg(),count()!! this is a problem here
    the walkaround it by use oracle data cartdrage advanced future like follows steps :
    *1- i create type and i call it for ex: DAY_TO_SECOND_SUM_TYPE*
    CREATE OR REPLACE  DAY_TO_SECOND_SUM_TYPE    /*TYPE                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        as object
    +(TOTAL INTERVAL day to SECOND , /* type header*/+
    STATIC FUNCTION ODCIAggregateInitialize(SCTX IN OUT DAY_TO_SECOND_SUM_TYPE) return number,
    member function ODCIAggregateIterate( self in out DAY_TO_SECOND_SUM_TYPE,value in interval  day to second) return number,
    member function ODCIAggregateTerminate(self in DAY_TO_SECOND_SUM_TYPE,returnvalue out interval day to second , flags in number) return number,
    member function ODCIAggregateMerge(self in out DAY_TO_SECOND_SUM_TYPE,ctx2 in DAY_TO_SECOND_SUM_TYPE) return number
    +)+
    +/+
    CREATE OR REPLACE TYPE "DAY_TO_SECOND_SUM_TYPE"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            as object
    +(TOTAL INTERVAL day to SECOND ,+
    STATIC FUNCTION ODCIAggregateInitialize(SCTX IN OUT DAY_TO_SECOND_SUM_TYPE) return number,
    member function ODCIAggregateIterate( self in out DAY_TO_SECOND_SUM_TYPE,value in interval  day to second) return number,
    member function ODCIAggregateTerminate(self in DAY_TO_SECOND_SUM_TYPE,returnvalue out interval day to second , flags in number) return number,
    member function ODCIAggregateMerge(self in out DAY_TO_SECOND_SUM_TYPE,ctx2 in DAY_TO_SECOND_SUM_TYPE) return number
    +)+
    create or replace type body DAY_TO_SECOND_SUM_TYPE as /* type body*/
    static function ODCIAggregateInitialize(sctx in out DAY_TO_SECOND_SUM_TYPE) return number is
    begin
    sctx := DAY_TO_SECOND_SUM_TYPE(numtodsinterval(0,'second'));
    return odciconst.Success;
    end;
    member function ODCIAggregateIterate( self in out DAY_TO_SECOND_SUM_TYPE,value in interval  day to second) return number is
    begin
    self.total := self.total value;+
    return odciconst.Success;
    end ;
    member function ODCIAggregateTerminate(self in DAY_TO_SECOND_SUM_TYPE,returnvalue out interval day to second , flags in number) return number is
    begin
    returnvalue := self.total;
    return odciconst.Success;
    end;
    member function ODCIAggregateMerge(self in out DAY_TO_SECOND_SUM_TYPE,ctx2 in DAY_TO_SECOND_SUM_TYPE) return number is
    begin
    self.total := self.total ctx2.total;+
    return odciconst.Success;
    end;
    end;
    +/+
    *2- i create artificial function to summary using that type let as called for ex: ds_sum as follows :*
    create or replace function ds_sum( input interval day to second   ) return interval day to second
    parallel_enable aggregate
    using DAY_TO_SECOND_SUM_TYPE
    +/+
    at last i used the function to summary intervals and its work so good but when the result of calculated summary value exceed the default precision of interval : INTERVAL DAY(2) TO SECOND(6)
    i get an error :
    ORA-01873 the leading precision of the interval is too small
    Cause: The leading precision of the interval is too small to store the specified
    interval .
    Action: Increase the leading precision of the interval or specify an interval with
    a smaller leading precision
    although i can determine the precision of interval the declaration of the new type to maximum like :
    +...........+
    CREATE OR REPLACE TYPE "DAY_TO_SECOND_SUM_TYPE"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            as object
    +(TOTAL INTERVAL day(9) to SECOND(6) ...........+
    +.......................+
    but the problem remain (in fact the error move from one functions of type to another function )
    due i can't determine the precision of data type when i define function in PL/SQL it is illegal*
    HOW CAN I SOLVE THIS PROBLEM AND BE ABLE TO SUMMARY INTERVAL DATA TYPE WHAT EVER THE RESULT OF SUMMARY IS HUGE
    Edited by: user1193723 on Jun 18, 2009 4:35 AM
    Edited by: user1193723 on Jun 18, 2009 4:36 AM
    Edited by: user1193723 on Jun 18, 2009 4:37 AM
    Edited by: user1193723 on Jun 18, 2009 4:38 AM
    Edited by: user1193723 on Jun 18, 2009 4:38 AM
    Edited by: user1193723 on Jun 18, 2009 4:40 AM

    hi,
    Instead of 'interval day to second' in method declaration use internal datatype 'DSINTERVAL_UNCONSTRAINED'.
    There are more unconstrained types in oracle.
    Bartek

  • 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

  • Unicode and non-unicode string data types Issue with 2008 SSIS Package

    Hi All,
    I am converting a 2005 SSIS Package to 2008. I have a task which has SQL Server as the source and Oracle as the destination. I copy the data from a SQL server view with a field nvarchar(10) to a field of a oracle table varchar(10). The package executes fine
    on my local when i use the data transformation task to convert to DT_STR. But when I deploy the dtsx file on the server and try to run from an SQL Job Agent it gives me the unicode and non-unicode string data types error for the field. I have checked the registry
    settings and its the same in my local and the server. Tried both the data conversion task and Derived Column task but with no luck. Pls suggest me what changes are required in my package to run it from the SQL Agent Job.
    Thanks.

    What is Unicode and non Unicode data formats
    Unicode : 
    A Unicode character takes more bytes to store the data in the database. As we all know, many global industries wants to increase their business worldwide and grow at the same time, they would want to widen their business by providing
    services to the customers worldwide by supporting different languages like Chinese, Japanese, Korean and Arabic. Many websites these days are supporting international languages to do their business and to attract more and more customers and that makes life
    easier for both the parties.
    To store the customer data into the database the database must support a mechanism to store the international characters, storing these characters is not easy, and many database vendors have to revised their strategies and come
    up with new mechanisms to support or to store these international characters in the database. Some of the big vendors like Oracle, Microsoft, IBM and other database vendors started providing the international character support so that the data can be stored
    and retrieved accordingly to avoid any hiccups while doing business with the international customers.
    The difference in storing character data between Unicode and non-Unicode depends on whether non-Unicode data is stored by using double-byte character sets. All non-East Asian languages and the Thai language store non-Unicode characters
    in single bytes. Therefore, storing these languages as Unicode uses two times the space that is used specifying a non-Unicode code page. On the other hand, the non-Unicode code pages of many other Asian languages specify character storage in double-byte character
    sets (DBCS). Therefore, for these languages, there is almost no difference in storage between non-Unicode and Unicode.
    Encoding Formats: 
    Some of the common encoding formats for Unicode are UCS-2, UTF-8, UTF-16, UTF-32 have been made available by database vendors to their customers. For SQL Server 7.0 and higher versions Microsoft uses the encoding format UCS-2 to store the UTF-8 data. Under
    this mechanism, all Unicode characters are stored by using 2 bytes.
    Unicode data can be encoded in many different ways. UCS-2 and UTF-8 are two common ways to store bit patterns that represent Unicode characters. Microsoft Windows NT, SQL Server, Java, COM, and the SQL Server ODBC driver and OLEDB
    provider all internally represent Unicode data as UCS-2.
    The options for using SQL Server 7.0 or SQL Server 2000 as a backend server for an application that sends and receives Unicode data that is encoded as UTF-8 include:
    For example, if your business is using a website supporting ASP pages, then this is what happens:
    If your application uses Active Server Pages (ASP) and you are using Internet Information Server (IIS) 5.0 and Microsoft Windows 2000, you can add "<% Session.Codepage=65001 %>" to your server-side ASP script.
    This instructs IIS to convert all dynamically generated strings (example: Response.Write) from UCS-2 to UTF-8 automatically before sending them to the client.
    If you do not want to enable sessions, you can alternatively use the server-side directive "<%@ CodePage=65001 %>".
    Any UTF-8 data sent from the client to the server via GET or POST is also converted to UCS-2 automatically. The Session.Codepage property is the recommended method to handle UTF-8 data within a web application. This Codepage
    setting is not available on IIS 4.0 and Windows NT 4.0.
    Sorting and other operations :
    The effect of Unicode data on performance is complicated by a variety of factors that include the following:
    1. The difference between Unicode sorting rules and non-Unicode sorting rules 
    2. The difference between sorting double-byte and single-byte characters 
    3. Code page conversion between client and server
    Performing operations like >, <, ORDER BY are resource intensive and will be difficult to get correct results if the codepage conversion between client and server is not available.
    Sorting lots of Unicode data can be slower than non-Unicode data, because the data is stored in double bytes. On the other hand, sorting Asian characters in Unicode is faster than sorting Asian DBCS data in a specific code page,
    because DBCS data is actually a mixture of single-byte and double-byte widths, while Unicode characters are fixed-width.
    Non-Unicode :
    Non Unicode is exactly opposite to Unicode. Using non Unicode it is easy to store languages like ‘English’ but not other Asian languages that need more bits to store correctly otherwise truncation will occur.
    Now, let’s see some of the advantages of not storing the data in Unicode format:
    1. It takes less space to store the data in the database hence we will save lot of hard disk space. 
    2. Moving of database files from one server to other takes less time. 
    3. Backup and restore of the database makes huge impact and it is good for DBA’s that it takes less time
    Non-Unicode vs. Unicode Data Types: Comparison Chart
    The primary difference between unicode and non-Unicode data types is the ability of Unicode to easily handle the storage of foreign language characters which also requires more storage space.
    Non-Unicode
    Unicode
    (char, varchar, text)
    (nchar, nvarchar, ntext)
    Stores data in fixed or variable length
    Same as non-Unicode
    char: data is padded with blanks to fill the field size. For example, if a char(10) field contains 5 characters the system will pad it with 5 blanks
    nchar: same as char
    varchar: stores actual value and does not pad with blanks
    nvarchar: same as varchar
    requires 1 byte of storage
    requires 2 bytes of storage
    char and varchar: can store up to 8000 characters
    nchar and nvarchar: can store up to 4000 characters
    Best suited for US English: "One problem with data types that use 1 byte to encode each character is that the data type can only represent 256 different characters. This forces multiple
    encoding specifications (or code pages) for different alphabets such as European alphabets, which are relatively small. It is also impossible to handle systems such as the Japanese Kanji or Korean Hangul alphabets that have thousands of characters."<sup>1</sup>
    Best suited for systems that need to support at least one foreign language: "The Unicode specification defines a single encoding scheme for most characters widely used in businesses around the world.
    All computers consistently translate the bit patterns in Unicode data into characters using the single Unicode specification. This ensures that the same bit pattern is always converted to the same character on all computers. Data can be freely transferred
    from one database or computer to another without concern that the receiving system will translate the bit patterns into characters incorrectly.
    https://irfansworld.wordpress.com/2011/01/25/what-is-unicode-and-non-unicode-data-formats/
    Thanks Shiven:) If Answer is Helpful, Please Vote

  • What is the data type for the Data Dashboard XY Graph?

    Hey all,
    I am playing with the new Data Dashboard (!!) on my iPad 2 and am having trouble setting up the shared variables that host data to the XY Graph.
    On my PC, in my Project (inside of a variable library) I have set up shared variables for all of the other controls/indicators available in the app; They all work great. However, I have not been able to identify the data type that is for the XY Graph in Data Dashboard. Of course, inside LabVIEW, I use a cluster of 2 arrays; this is not an available data type that I can select while creating a new variable on the hosting side. I have even gone so far as to create a custom control from my XYGraph in LabVIEW and then creating the data type "From Custom Control..." with no success.
    What gives? Am I missing something obvious? Thanks for the help!!
    Tom
    Solved!
    Go to Solution.

    Great question, Aerogoob.
    The XY graph can be bound to a 1d array of "points", where each point is a cluster of two numerics (X and Y). To create a shared variable of this type, you can set the data type to "From Custom Control..." in the shared variable properties dialog. Of course, first you'll have to build the custom control of the correct type: array of cluster of two numerics.
    If any of that doesn't make sense, please post back and we can walk you through it in more detail.
    Also, just for completeness, the chart indicator can be bound to a scalar numeric or to an array of numerics. The graph indicator can only be bound to an array of numerics.

  • Dbms_crypto package for number and date data type

    Hi,
    I am using Oracle 10g 10.2.0.3 on Linux 64 bit
    I am tryiing to use dbms_crypto package for the first time to encypt my tables column
    Following are my table columns
    NAME1 VARCHAR2(2000),
    ID1 NUMBER,
    SCORE number
    This table is already populated
    i want to encrypt Name1 and Score column. Following are the functions i have created for Encryption and decryption.
    --For Encryption
    create or replace function get_enc_val
    p_in in varchar2,
    p_key in raw
    return raw is
    l_enc_val raw (2000);
    l_mod number := dbms_crypto.ENCRYPT_AES128
    + dbms_crypto.CHAIN_CBC
    + dbms_crypto.PAD_PKCS5;
    begin
    l_enc_val := dbms_crypto.encrypt
    UTL_I18N.STRING_TO_RAW
    (p_in, 'AL32UTF8'),
    l_mod,
    p_key
    return l_enc_val;
    end;
    --For Decryption
    create or replace function get_dec_val
    p_in in raw,
    p_key in raw
    return varchar2
    is
    l_ret varchar2 (2000);
    l_dec_val raw (2000);
    l_mod number := dbms_crypto.ENCRYPT_AES128
    + dbms_crypto.CHAIN_CBC
    + dbms_crypto.PAD_PKCS5;
    begin
    l_dec_val := dbms_crypto.decrypt
    p_in,
    l_mod,
    p_key
    l_ret:= UTL_I18N.RAW_TO_CHAR
    (l_dec_val, 'AL32UTF8');
    return l_ret;
    end;
    Key: I have stored a key in other schema and calling it by using function get_key().
    Following is my insert
    INSERT INTO Score_table VALUES
    (get_enc_val('John',get_key()),25,get_enc_val(79,get_key()))
    it is giving me following error
    ORA-00932:Inconsistent Datatypes:Expected number got binary.
    I checked, it is an error due to Score field, which is of number type. So do i need to change type of Score field to varchar or is there any other way to encrypt number and date field.
    If i need to change the type then what will happen to the data already in Table and how do i encrypt data already in table.

    Hi,
    Is there any one who can tell me that, do i need to change my table column data type as the encrypted value will be character.

  • Package with table data type as out parameter.

    Hi there, I managed to compile the package without error but when I am trying to test this package and
    I am keep facing this error message. 
    Am I using correctly for the table data type as out parameter.  I have no idea what is wrong with the package to fix. 
    Pls. help and advise me.  Thanks.
    Error starting at line 1 in command:
    DECLARE
    p_stmodel VARCHAR2(40):=null;
    p_item_number VARCHAR(40):='9BX158-300';
    p_item_id NUMBER:=0;
    l_attribute_out test_common_api.l_item_attr_tab:=test_common_api.l_item_attr_tab();
    BEGIN
    test_common_api.test_attribute(p_stmodel,p_item_number,p_item_id,l_attribute_out);
    END;
    Error report:
    ORA-06550: line 8, column 18:
    PLS-00302: component 'TEST_ATTRIBUTE' must be declared
    ORA-06550: line 8, column 2:
    PL/SQL: Statement ignored
    06550. 00000 -  "line %s, column %s:\n%s"
    *Cause:    Usually a PL/SQL compilation error.
    *Action:
    ---------Package.
    CREATE OR REPLACE PACKAGE test_common_api
    AS
    TYPE item_attr_rec IS RECORD (CONFIGURATION VARCHAR2(20),
                                   PRODUCTTYPE VARCHAR2(30),
                                   INTERNALPRODUCTNAME VARCHAR2(20),
                                   NUMBEROFHEADS VARCHAR2(2),
                                   NUMBEROFDISCS VARCHAR2(2),
                                   GENERATION  VARCHAR2(10),
                                   FACTORYAPPLICATION VARCHAR2(150),
                                   PRODUCTFAMILY  VARCHAR2(60),
                                   FORMFACTOR VARCHAR2(10),
                                   FORMATTEDCAPACITY NUMBER,
                                   FORMATTEDCAPACITY_UOM VARCHAR2(20),
                                   INTERFACE  VARCHAR2(30),
                                   SPINDLESPEEDRPM  NUMBER,
                                   PRODUCTCACHE VARCHAR2(10),
                                   WARRANTYMONTHS   VARCHAR2(2),
                                   PHYSICAL_SECTOR_SIZE  NUMBER,
                                   MODELHEIGHT  VARCHAR2(10),
                                   ENCRYPTION_TYPE VARCHAR2(40));
    TYPE l_item_attr_tab IS TABLE OF item_attr_rec;
    END test_common_api;
    show errors
    create or replace package body test_common_api
    AS
    PROCEDURE test_attribute (p_stmodel IN VARCHAR2,
                               p_item_number IN VARCHAR2,
                               p_item_id IN NUMBER,
                               l_item_attr_list OUT l_item_attr_tab)
    IS
    l_stmodel st.stmodelnumber%TYPE;
    l_market_segment VARCHAR2(10) ;
    l_sub_market_segment VARCHAR2(10) ;
    l_app_segment VARCHAR2(10);
    l_market_name VARCHAR2(40) ;
    l_ccitem seaeng_ccitemnumber.ccitemnumber%TYPE;
    l_query_item  VARCHAR2(1000);
    l_query_model VARCHAR2(1000);
    l_where VARCHAR2(1000);
    l_bind_var1      VARCHAR2(40);
    l_bind_var2      VARCHAR2(40);
    l_sql            NUMBER:=0;
    l_config VARCHAR2(40):=null;
    BEGIN
       IF p_stmodel is not null THEN
           l_where :='WHERE sc.ccmodel = sp.productmodelnumber AND sp.stmodelnumber = st.stmodelnumber
                      AND sc.pricingdescriptor=''MODEL''
                      AND sc.ccdashnumber =''000''
                      AND sp.detailedproductname=''GENERIC''
                      AND st.stmodelnumber= :1';
                  IF p_item_number is null AND p_item_id is null THEN
                      l_config :='null';
                  ELSE
                      l_config :='sc.configuration';
                  END IF;
            l_bind_var1 :=p_stmodel;
            l_sql :=1;
        ELSE
            IF p_item_id is null and p_item_number is not null THEN
                l_where := 'WHERE sc.ccmodel = sp.productmodelnumber AND sp.stmodelnumber = st.stmodelnumber and sc.ccitemnumber = :1';  
                l_bind_var1 :=p_item_number;
                l_sql:=2;
            ELSIF p_item_id is NOT null and p_item_number is null THEN
                l_where := 'WHERE sc.ccmodel= sp.productmodelnumber AND sp.stmodelnumber = st.stmodelnumber and sc.ccitemnumber in ( select msi.segment1
                            from mtl_system_items msi
                            where msi.inventory_item_id = :1)';
                l_bind_var1 := p_item_id;
                l_sql:=2;
            ELSIF p_item_id is not null and p_item_number is not null THEN
                l_where :='WHERE sc.ccmodel = sp.productmodelnumber AND sp.stmodelnumber = st.stmodelnumber and sc.ccitemnumber in (select msi.segment1
                           from mtl_system_items msi
                           where msi.inventory_item_id = :1
                           AND msi.segment1=:2)';
                l_sql:=3;
                l_bind_var1 := p_item_id ;
                l_bind_var2 :=p_item_number;
            END IF;
        END IF;
    l_query_item :='SELECT sc.configuration,st.producttype, sp.internalproductname, sp.numberofheads , sp.numberofdiscs,
      sp.generation,sp.factoryapplication, st.productfamily,st.formfactor , st.formattedcapacity , st.formattedcapacity_uom,
      st.interface,st.spindlespeedrpm,st.productcache,st.warrantymonths, st.physical_sector_size, st.modelheight, st.encryption_type
       FROM  pm sp , st st, seaeng_ccitemnumber sc ';
    l_query_model :='SELECT '|| l_config|| ' , st.producttype, null,null , null, null, sp.factoryapplication, null,st.formfactor, st.formattedcapacity,
      st.formattedcapacity_uom,st.interface , st.spindlespeedrpm, st.productcache, st.warrantymonths,st.physical_sector_size, st.modelheight,
      st.encryption_type
      FROM  pm sp , st st, seaeng_ccitemnumber sc ';
       IF l_sql = 1 THEN
          EXECUTE IMMEDIATE  l_query_model ||l_where
                             BULK COLLECT INTO l_item_attr_list
                             USING l_bind_var1 ;
                               dbms_output.put_line(l_query_model||l_where);
        ELSIF
             l_sql =2 THEN
               EXECUTE IMMEDIATE l_query_item || l_where
                                 BULK COLLECT INTO l_item_attr_list
                                 using l_bind_var1;
                                 dbms_output.put_line(l_query_item||l_where);
        ELSE
           EXECUTE IMMEDIATE  l_query_item ||l_where
                             BULK COLLECT INTO l_item_attr_list
                             USING l_bind_var1, l_bind_var2 ; 
                               dbms_output.put_line(l_query_item||l_where);
        END IF;
    END test_attribute;
    END test_common_api;
    show errors

    I think you forget to declare "PROCEDURE test_attribute" procedure in your package definition. like:
    CREATE OR REPLACE PACKAGE test_common_api
    AS
    TYPE item_attr_rec IS RECORD (CONFIGURATION VARCHAR2(20),
                                   PRODUCTTYPE VARCHAR2(30),
                                   INTERNALPRODUCTNAME VARCHAR2(20),
                                   NUMBEROFHEADS VARCHAR2(2),
                                   NUMBEROFDISCS VARCHAR2(2),
                                   GENERATION  VARCHAR2(10),
                                   FACTORYAPPLICATION VARCHAR2(150),
                                   PRODUCTFAMILY  VARCHAR2(60),
                                   FORMFACTOR VARCHAR2(10),
                                   FORMATTEDCAPACITY NUMBER,
                                   FORMATTEDCAPACITY_UOM VARCHAR2(20),
                                   INTERFACE  VARCHAR2(30),
                                   SPINDLESPEEDRPM  NUMBER,
                                   PRODUCTCACHE VARCHAR2(10),
                                   WARRANTYMONTHS   VARCHAR2(2),
                                   PHYSICAL_SECTOR_SIZE  NUMBER,
                                   MODELHEIGHT  VARCHAR2(10),
                                   ENCRYPTION_TYPE VARCHAR2(40));
    PROCEDURE test_attribute (p_stmodel IN VARCHAR2,
                               p_item_number IN VARCHAR2,
                               p_item_id IN NUMBER,
                               l_item_attr_list OUT l_item_attr_tab);
    TYPE l_item_attr_tab IS TABLE OF item_attr_rec;
    END test_common_api;
    show errors
    create or replace package body test_common_api
    AS
    PROCEDURE test_attribute (p_stmodel IN VARCHAR2,
                               p_item_number IN VARCHAR2,
                               p_item_id IN NUMBER,
                               l_item_attr_list OUT l_item_attr_tab)
    IS
    l_stmodel st.stmodelnumber%TYPE;
    l_market_segment VARCHAR2(10) ;
    l_sub_market_segment VARCHAR2(10) ;
    l_app_segment VARCHAR2(10);
    l_market_name VARCHAR2(40) ;
    l_ccitem seaeng_ccitemnumber.ccitemnumber%TYPE;
    l_query_item  VARCHAR2(1000);
    l_query_model VARCHAR2(1000);
    l_where VARCHAR2(1000);
    l_bind_var1      VARCHAR2(40);
    l_bind_var2      VARCHAR2(40);
    l_sql            NUMBER:=0;
    l_config VARCHAR2(40):=null;
    BEGIN
       IF p_stmodel is not null THEN
           l_where :='WHERE sc.ccmodel = sp.productmodelnumber AND sp.stmodelnumber = st.stmodelnumber
                      AND sc.pricingdescriptor=''MODEL''
                      AND sc.ccdashnumber =''000''
                      AND sp.detailedproductname=''GENERIC''
                      AND st.stmodelnumber= :1';
                  IF p_item_number is null AND p_item_id is null THEN
                      l_config :='null';
                  ELSE
                      l_config :='sc.configuration';
                  END IF;
            l_bind_var1 :=p_stmodel;
            l_sql :=1;
        ELSE
            IF p_item_id is null and p_item_number is not null THEN
                l_where := 'WHERE sc.ccmodel = sp.productmodelnumber AND sp.stmodelnumber = st.stmodelnumber and sc.ccitemnumber = :1';  
                l_bind_var1 :=p_item_number;
                l_sql:=2;
            ELSIF p_item_id is NOT null and p_item_number is null THEN
                l_where := 'WHERE sc.ccmodel= sp.productmodelnumber AND sp.stmodelnumber = st.stmodelnumber and sc.ccitemnumber in ( select msi.segment1
                            from mtl_system_items msi
                            where msi.inventory_item_id = :1)';
                l_bind_var1 := p_item_id;
                l_sql:=2;
            ELSIF p_item_id is not null and p_item_number is not null THEN
                l_where :='WHERE sc.ccmodel = sp.productmodelnumber AND sp.stmodelnumber = st.stmodelnumber and sc.ccitemnumber in (select msi.segment1
                           from mtl_system_items msi
                           where msi.inventory_item_id = :1
                           AND msi.segment1=:2)';
                l_sql:=3;
                l_bind_var1 := p_item_id ;
                l_bind_var2 :=p_item_number;
            END IF;
        END IF;
    l_query_item :='SELECT sc.configuration,st.producttype, sp.internalproductname, sp.numberofheads , sp.numberofdiscs,
      sp.generation,sp.factoryapplication, st.productfamily,st.formfactor , st.formattedcapacity , st.formattedcapacity_uom,
      st.interface,st.spindlespeedrpm,st.productcache,st.warrantymonths, st.physical_sector_size, st.modelheight, st.encryption_type
       FROM  pm sp , st st, seaeng_ccitemnumber sc ';
    l_query_model :='SELECT '|| l_config|| ' , st.producttype, null,null , null, null, sp.factoryapplication, null,st.formfactor, st.formattedcapacity,
      st.formattedcapacity_uom,st.interface , st.spindlespeedrpm, st.productcache, st.warrantymonths,st.physical_sector_size, st.modelheight,
      st.encryption_type
      FROM  pm sp , st st, seaeng_ccitemnumber sc ';
       IF l_sql = 1 THEN
          EXECUTE IMMEDIATE  l_query_model ||l_where
                             BULK COLLECT INTO l_item_attr_list
                             USING l_bind_var1 ;
                               dbms_output.put_line(l_query_model||l_where);
        ELSIF
             l_sql =2 THEN
               EXECUTE IMMEDIATE l_query_item || l_where
                                 BULK COLLECT INTO l_item_attr_list
                                 using l_bind_var1;
                                 dbms_output.put_line(l_query_item||l_where);
        ELSE
           EXECUTE IMMEDIATE  l_query_item ||l_where
                             BULK COLLECT INTO l_item_attr_list
                             USING l_bind_var1, l_bind_var2 ; 
                               dbms_output.put_line(l_query_item||l_where);
        END IF;
    END test_attribute;
    END test_common_api;
    show errors

  • What data type do I use in MSA to handle CRM DEC data?

    Dear Geeks,
    We have a customer field 'ZZ_SUPPORT' on CRM (40 SP11) opportunities, which we flow
    down to mobile sales. It previously carried a NUMC2 value (a number
    from 1 - 99), and this worked fine... the data flowed fine in both
    directions. The data element ZZ_SUPPORT used in CRM is based on a newly
    created data domain called Z1_TO_99 and this was defined as data type NUMC
    (2 characters), which we have changed to DEC (4 characters, and decimal
    places 2, and screen display5). Having made this change and also
    changed the screen layout in SE51, the field now looks good and takes
    a value like '12.34' without error. We can also see the '12.34' value
    being carried in the Opp_Write Bdoc in SMW01 classic segment. However, the BDoc does not migrate
    successfully to Mobile - the ZZ_Support value is lost. In Mobile, I
    have genereted the Tables associated with Opportunity_write, and also
    the BDoc, and I have also changed the BOOPPORTUNITY / Y_Support field
    (which carries the value) from NUMC2 to String5. I have also tried Long5, and currency4
    because there is no data type "DEC" available in Mobile. When I send
    opportunity messages up from Mobile to CRM, I see them going into SMQ2
    and then they dissappear because the Function module cannot handle the
    BDoc. What is the problem? Is it the function module? or the data type
    used on Mobile - if so what should I use in the absense of "DEC"?
    Richard

    Sounds like a strange issue indeed. I would call Johnny Nobles.
    Tx: Smoggen ?
    Sorry, can't come up with better ideas.
    Cheers,
    Seb.

  • What's going on with re-ordering custom data types?

    OK, I can't make heads or tails out of this one:
    I've got a bunch of custom data types in my own typedef file (and it's part of my type palettes).
    I open up my types browser, select my type file, go browse to the "custom data types" section.
    I want them in a different order so I can better understand them.
    (actually I select the one below it (TekTimestamp) and try dragging it up and down the list. anywhere I go I get the circle with a cross through it saying I can't drag it here.
    OK, give up on that one.
    Then I'll grab TekSimulateMode typedef
    Try dragging it around, and I get the nice black line saying I can drag it somewhere else -- looks kinda like this:
    Notice I dragged it only one spot down, and the item I dragged it across is used in exactly the usage locations, and neither has any nested typedefs (they are only containers of primitive boolean/string).  Also notice that it and everything I dragged it across is owned by this type file.
    Once I let up on the mouse, I get this warning message popping up:
    What's up?? Why can't I change the location of the first typedef (ordering) within the file, but I can for the second??
    Why do I get this dialog when I move a typedef within a file that already owns it??

    Oop.  My bad.  I was so eager to help you out...
    I know it has to do with the Usage column.  Since you are changing your Station Globals.ini by dragging them around I think the warning is from there.  I know that once you have instances of them then you are now changing that data type for all those locations.  That's why you can't delete them if you have an instance.  It won't (or shouldn't) affect anything by moving them other than you may now have to save your station globals and sequence files again.  Not sure if it revs the version or not, it doesn't look like it did on mine.
    As for the one that won't move?  Not sure on that one.  I've never seen that.  Possible some instance is restricting it.
    Hope this helps some,
    jigg
    CTA, CLA
    teststandhelp.com
    ~Will work for kudos and/or BBQ~

  • What is Abstract Data type ?

    Shall i call a class to be an Abstract data type ?

    jverd wrote:
    I do not agree. For one thing, I'd consider classes realizations or implementations of ADTs. That nitpick aside, however, the easiest counterexample is a class with no member variables. The "D" of "ADT" is missing there. I wouldn't consder java.lang.Math and ADT, just a collection of functions and constants.I wouldn't say being implemented in a specific language takes anything away from an ADT. An implemented ADT is also an ADT.
    Being an ADT doesn't require the existence of state. This was what you meant with "no member variables" right? ADTs can have or not have state.
    Your final counterexample concerns so called free functions and constants (static in Java). They should be viewed as part of an ADT definition. But okay, Math itself cannot be considered an ADT so not every class, interface and enum is an ADT as I claimed. Sometimes they're used as namespaces for free functions and constants that have no natural home. Functions and constants associated with primitives have to go somewhere for example. But this usage is atypical.

  • What is the maximum length of LONG data type in Forms 6i?

    What is the maximum length of LONG data type in Forms 6i?

    Do you mean the maximum size of a LONG that Forms 6i can display or the maximum size that can be stored in the database which sits behind your Forms application?
    Regards, APC

Maybe you are looking for

  • How do I stop Calendar overriding my Event location

    Hi When creating an event in Calendar, the software is quite 'helpful' in offering suggestions for the event location as I type. However, if I don't like any of it's suggestions, or wish to override the suggested location, the software seems to stamp

  • Database Link

    I'm using the following query in record group of an LOV: select  "Layout_No",decode("tBorough_Id",01,'M',02,'X',03,'SI',04,'B',05,'Q',06,'W') from v_LayoutTracking@SQLET where "tBorough_Id" = decode(:clt.division,'M',01,'X',02,'SI',03,'B',04,'Q',05,'

  • Can't create PDF

    I am using Acrobat Pro 8.1.5 on a Vista machine. It has been working fine until the last week or so. When I attempt to print to the Acrobat print driver, I get an "Invalid" error. I also seem to have grown five additional duplicate drivers, none of w

  • Changed on remote server will not go away

    When uploading a website, I get the message "xxxx has changed on the remote server..." I click "no to all" or "yes to call" and it keeps coming back up with another image or file. Maybe I just need assistance in understanding this control. Shouldn't

  • HTTPS with Client Authentication in SOAP sender Adapter --SSL

    We have an interface SOAP to file..which was working fine...now we  recently switched to F5 load balancer and hence we were asked to chnage the settings in Communication channel. After changing the communication channel to u201CHTTPS with Client auth