LIKE and Type in abap statements

Hello  All ,
I have a question regarding the 'Like' and' Type' 
I have created a badi XXX , The method has a changing parameter 'A'  which is referenced to a structure .
The typing method I have mentioned in the method ( in the parameter list ) is TYPE .( I feel it should  have been Like ). Can this cause an issue while writing abap statements in the method ?
Thanks in advance .
Best Regards,
swetha

Hi Swetha,
Check out the below link for your question.
what is the difference between type and like
Re: what is the difference between type and like
Re: what is the difference between type and like
Thanks,
Chidanand

Similar Messages

  • Like and type...

    Kindly let me know when I have to use LIKE and when I have to use TYPE Exactly.
    What is the difference b/w both..
    Akshihta.

    hi,
    <b>TYPE <type></b>
    to refer to any data type <type> that is already known at this point in the program. It can be used in any of the statements listed below. The expression <obj> is either the name of the data object or the expression.
    <b>ABAP Statements with TYPE References</b>
    Definition of local program types using
    TYPES <t> TYPE <type>.
    The new data type <t> has the same type as <type>.
    Declaration of data objects using
    DATA <f> TYPE <type>.
    CLASS-DATA <f> TYPE <type>.
    CONSTANTS <f> TYPE <type>.
    STATICS <f> TYPE <type>.
    PARAMETERS <f> TYPE <type>.
    The data object <f> has a data type corresponding to the type <type>.
    Dynamic creation of data objects using
    CREATE DATA <dref> TYPE <type>.
    Specification of the type of a formal parameter in a subroutine using
    FORM <sub> ... USING|CHANGING <p> TYPE <type> ...
    The technical attributes of the formal parameter <p> are inherited from those of the declared data type <type>. You can then only pass actual parameters that have these attributes.
    Specification of the type of a formal parameter in a method using
    METHODS <meth> ... IMPORTING|EXPORTING|CHANGING <p> TYPE <type> ...
    The technical attributes of the formal parameter <p> are inherited from those of the declared data type <type>. You can then only pass actual parameters that have these attributes.
    Specification of the type of a field symbol
    FIELD-SYMBOLS <fs> TYPE <type>.
    You use the LIKE addition, similarly to the TYP E addition , in various ABAP statements for defining data types and specifying the types of interface parameters or field symbols. The addition
    <b>LIKE <obj>.</b>
    ABAP Statements with LIKE References
    Definition of local types in a program using
    TYPES <t> LIKE <obj>.
    The new data type <t> inherits all of the technical attributes of the data object <obj>.
    Declaration of data objects using
    DATA <f> LIKE <obj>.
    CLASS-DATA <f> LIKE <obj>.
    CONSTANTS <f> LIKE <obj>.
    STATICS <f> LIKE <obj>.
    PARAMETERS <f> LIKE <obj>.
    The data object <f> inherits all of the technical attributes of the data object <obj>.
    Dynamic creation of data objects using
    CREATE DATA <dref> LIKE <obj>.
    Specification of the type of a formal parameter in a subroutine using
    FORM <sub> ... USING|CHANGING <p> LIKE <obj> ...
    The technical attributes of the formal parameter <p> are inherited from those of the declared data object <obj>. You can then only pass actual parameters that have these attributes.
    Specification of the type of a formal parameter in a method using
    METHODS <meth> ... IMPORTING|EXPORTING|CHANGING <p> LIKE <obj> ...
    The technical attributes of the formal parameter <p> are inherited from those of the declared data type <type>. You can then only pass actual parameters that have these attributes.
    Specification of the type of a field symbol
    FIELD-SYMBOLS <fs> LIKE <obj>.
    The technical attributes of the field symbol <FS> are inherited from those of the declared data object <obj>. You can then only assign data objects that have these attributes.
    <b>You should also avoid using the LIKE addition in other ABAP programs except to refer to data objects</b>
    regards,
    Ashokreddy.

  • Difference between "Like" and "Type" addition

    Hi abapers,
    I have doubt regarding the purpose and use of the additions "LIKE" and  "TYPE" with respect to variable(data objects). Please look into the following code,
    Data:numb1 type i value 30.
    Data:numb2 like numb1."Will the value 30 get copied to numb2
    write : / numb1, numb2.
    My question is while using "LIKE" addition with variables, will the value also get copied into the variable. That is, will the value 30 be copied into numb2 or only the technical attributes of numb1 will be copied into numb2.
    Another doubt is can we the following code in abap,
    Data : int_tab_1 type mara.
    Data : int_tab_2 like mara.
    Are they both same? If not what is the difference between them?

    hi
    when ever you declare a  data object of abap predefined objects or types that are created by using TYPES statement we use TYPE addition to declare a variable.
    if we try to declare a object which is already existing in the program for having the same technical attributes then we declare by using LIKE addition.
    ex
    TYPES:
       begin of fs_emp,
          name TYPE string,
       end of fs_string.
    data :
       w_i TYPE i,
       w_emp TYPE fs_emp.
    now if we want to create a data object which is having the same attributes of fs_emp then we can declare by using LIKE statement 
    data :
       w_employee LIKE w_emp.
    when u are using like then the object should already exists in the program
    regards
    PAVAN

  • Significance of "LIKE" and "TYPE" typespec in Function Builder

    Hi all,
    Can anyone tell me the significance of "TYPE" and "LIKE" in the Type Spec field of Function Builder?
    How does it differ for IMPORT/EXPORT and TABLE?

    Hi,
    TYPE
    The type can be one of the predefined types, one of your own that you defined in the same program using TYPES, or a global type stored in the ABAP Dictionary The default length SL of the field f depends on its data type type.
    LIKE
    The TYPE addition is designed to be the only construct that enables references to data types, whereas the LIKE addition is used only for data objects. The repository objects in the ABAP Dictionary are data types but not data objects. Outside of ABAP Objects the LIKE reference to database tables and flat structures in the ABAP Dictionary is still allowed for reasons of compatibility with previous releases
    In classes only the TYPE reference can be used to refer to data types in the ABAP Dictionary. The LIKE reference is allowed to local data objects only. In local classes this includes the attributes of the class and the data objects of the main program. In global classes only the class attributes can be referenced. This applies both to data declarations and to type assignments of interface parameters and field symbols
    cheers,
    sasi

  • Difference between 'LIKE' and 'TYPE'

    Hi all,
    I am new to learning ABAP, kindly bear with my naive questions.........
    can you please tell me what's the difference between 'type' and 'like' keyworkds.
    also what does 'condense' do.
    thanks
    Sabrina.

    Hi Sabrina
    Check out Re: Diff b/n 'type' n 'like'

  • ABAP/4 Open SQL statement with WHERE ... LIKE and pattern too long

    Dear All,
    I am getting an error "ABAP/4 Open SQL statement with WHERE ... LIKE and pattern too long" while executing the following statement:
    CLEAR LS_RANGE.
    LS_RANGE-SIGN     = 'I'
    +LS_RANGE-OPTION     = 'CP'     +
    LS_RANGE-LOW     = 'S_ADMI_FCD'
    LS_RANGE-HIGH     = 'S_ADMI_FCD'
    COLLECT LS_RANGE INTO LT_RANGE.
    SELECT *
               FROM UST12
               INTO CORRESPONDING FIELDS OF TABLE LT_OBJECT_VALUES
               WHERE FIELD IN LT_RANGE
               AND AKTPS   = 'A'.
    For options like BT(Between), EQ(Equal) in range table, this above query is executing without dump. But for option CP, it simply dumps & in dump what i found is, it is concatenating the value in low & high.
    Does anyone have any idea regarding open sql using range tables.
    Thanks,
    Bhupinder

    Hi,
    I commented as follows:
    If  LS_RANGE-HIGH is empty, you can use EQ, NE, GT, LE, LT,CP, and NP. These operators are the same as those that are used for logical expressions. Yet operators CP and NP do not have the full functional scope they have in normal logical expressions. They are only allowed if wildcards ( '*' or '+' ) are used in the input fields. If wildcards are entered on the selection screen, the system automatically uses the operator CP.
    If  LS_RANGE-HIGH  is filled, you can use BT (BeTween) and NB (Not Between). These operators correspond to BETWEEN and NOT BETWEEN that you use when you check if a field belongs to a range. You cannot use wildcard characters.
    You can try:
    CLEAR LS_RANGE.
    LS_RANGE-SIGN = 'I'.
    +LS_RANGE-OPTION = 'CP' +
    LS_RANGE-LOW = 'S_ADMI_FCD'.
    LS_RANGE-HIGH = 'S_ADMI_FCD'.
    FIND '*' IN LS_RANGE.
    IF sy-subrc = 0.
      LS_RANGE-OPTION = 'CP'.
    ELSE.
      LS_RANGE-OPTION = 'EQ'.
    ENDIF.
    COLLECT LS_RANGE INTO LT_RANGE.
    SELECT *
    FROM UST12
    INTO CORRESPONDING FIELDS OF TABLE LT_OBJECT_VALUES
    WHERE FIELD IN LT_RANGE
    AND AKTPS = 'A'.
    If you use wildcards the LS_RANGE  length should not exceed 10 characters.
    Hope this information is help to you.
    Regards,
    José

  • How can we relate c and x  types in ABAP

    hi all,
    I would like to know how we could relate c type and x type in ABAP.
    In terms of size specification.
    Thank you all
    prasad.

    Hi Prasad,
    Consider the following code snippet -
    data : char type c,
           hexa type x.
    Now, both these variables are of 1 byte each. However, they store different kinds of data, so we have -
    hexa = '41'.
    write : hexa to char.
    write: char , hexa.
    hexa is going to store the hexadecimal number 41. (the decimal equivalent is 65). The first write statement does the automatic type conversion. so we get the 65th ASCII character in the character variable (which is the capital A).
    Hope that helps.
    Regards,
    Anand MAndalika.

  • Data Vs Types  and  Type Vs  Like

    hi frds can you send main diffrences between
    Data Vs Types   and     Type Vs  Like.
    some what briefly explanation..........  i am in confusion in this

    Hi Madhu,
    Data is used to create data object ( means memory will be allocated)
    Types is used to create structures
    Type is used to refer to Predefined data types ( like n,i,f,d,t,p,x....)
    Like is used to refer the local variables.
    All ABAP programs can define their own data types. Within a program, procedures can also define local types.
    You define local data types in a program using the
    TYPES .
    TYPES: spfli_type TYPE spfli,
           surname(20) TYPE c,
           BEGIN OF address,
                 name       TYPE surname,
                 street(30) TYPE c,
                 city       TYPE spfli_type-cityfrom,
           END OF address,
           town TYPE address-city.
    This example shows the definition of two structure types in a program - SPFLI_TYPE and ADDRESS. The structure of the data type SPFLI_TYPE is taken from the database table SPFLI in the ABAP Dictionary. The components of SPFLI_TYPE are the same as the columns of SPFLI. The individual data types of the components are the ABAP equivalents of the data types of the columns of the database table. The structure type ADDRESS is newly defined. The component ADDRESS-NAME takes the data type of the previously-defined type SURNAME, the component ADDRESS-STREET is newly-defined, ADDRESS-CITY takes the data type of column CITYFROM of the structure type SPFLI_TYPE.
    TYPES: BEGIN OF struct1,
             col1 TYPE i,
             BEGIN OF struct2,
               col1 TYPE i,
               col2 TYPE i,
             END OF struct2,
           END OF struct1.
    TYPES mytype TYPE struct1-struct2-col2.
    The example shows how you can construct a nested structure type STRUCT1 with a complex component STRUCT2 by nesting TYPES BEGIN OF ... TYPES END OF blocks, and how you can address the inner components.
    local types in program
    referring to predefined ABAP types:
    TYPES: surname(20)  TYPE c,
           street(30)   TYPE c,
           zip_code(10) TYPE n,
           city(30)     TYPE c,
           phone(20)    TYPE n,
           date         LIKE sy-datum.
    local structure in program
    referring to the above types
    TYPES: BEGIN of address,
             name TYPE surname,
             code TYPE zip_code,
             town TYPE city,
             str  TYPE street,
           END OF address.
    local nested structure in program
    referring to the above types
    TYPES: BEGIN of phone_list,
             adr TYPE address,
             tel TYPE phone,
           END OF phone_list.
    This example shows how to create complex data types from simple type definitions. After a set of simple data types are created with ABAP predefined types, a structured type ADDRESS is defined using the data types defined earlier. Finally, a nested structure type, PHONE_LIST, is created, whose first component has the type ADDRESS.
    Table types
    Local tables in a program are called internal tables. To construct a new internal table type, use the syntax:
    TYPES  can be any known data type. Specifying the key is optional. Internal tables can thus be generic. For more information, refer to Internal Tables.
    DATA
    The Statements TYPES and DATA
    Each ABAP program define its own data types using the statement.
    TYPES dtype TYPE type ...
    and declare its own variables or instance attributes of classes using the statement
    DATA var {TYPE type} ...
    Within the program or a class, you can also define local data types and variables within procedures. Local variables in procedures obscure identically-named variables in the main program or class.
    When creating data types and data objects, there are a number of naming convention that also apply for other local program definitions, such as procedures. These are described in detail in the keyword documentation.
    The Additions TYPE and LIKE
    The additions TYPE type and LIKE dobj are used in various ABAP statements. The additions can have various meanings, depending on the syntax and context.
    ·        Definition of local types in a program
    ·        Declaration of data objects
    ·        Dynamic creation of data objects
    ·        Specification of the type of formal parameters in subroutines
    ·        Specification of the type of formal parameters in methods
    ·        Specification of the type of field symbols
    Constructing New Data Types
    The TYPE addition allows you to construct new data types in the TYPES, DATA; CONSTANTS; and STATICSstatements. In the TYPES statement, these are local data types in the program. In the other statements, they are attributes of new data objects, meaning that the newly defined data types are not free-standing. Rather, they are linked to database objects.This means that you can refer to them using the LIKEaddition, but not using TYPE.
    To construct new data types, the addition TYPE can be used with the following type constructors:
    ·        Construction of reference types
    REF TO type|dobj
    ·        Construction of structured data types
    BEGIN OF struc_type.
    END OF struc_type.
    ·        Construction of table types
    tabkind OF linetype
    These data types only exist during the runtime of the ABAP program.
    Referring to Known Data Types or Data Objects
    Using the additions TYPE or LIKE in the TYPESstatement, local data types in a program can be referred to known data types or data objects. This is mainly the case with user-defined elementary data types. If you declare variables using the additions TYPE type or LIKE dobj with statement DATA, the data type of var is already fully defined before the declaration is made.
    The known types or data that are referred to must be visible at the point where the data type or variable is declared.
    A known data type can be any of the following:
    ·        A predefined ABAP type to which you refer using the TYPE addition
    ·        An existing local data type in the program to which you refer using the TYPE addition
    ·        The data type of a local data object in the program to which you refer using the LIKE addition
    ·        A data type in the ABAP Dictionary to which you refer using the TYPE addition. To ensure compatibility with earlier releases, it is still possible to use the LIKE addition to refer to database tables and flat structures in the ABAP Dictionary. However, you should use the TYPE addition in new programs.
    The LIKE addition takes its technical attributes from a visible data object. As a rule, you can use LIKE to refer to any object that has been declared using DATA or a similar statement, and is visible in the current context.  The data object only has to have been declared. It is irrelevant whether the data object already exists in memory when you make the LIKE reference.
    ·        In principle, the local data objects in the same program are visible. As with local data types, there is a difference between local data objects in procedures and global data objects. Data objects defined in a procedure obscure other objects with the same name that are declared in the global declarations of the program.
    ·        You can also refer to the data objects of other visible ABAP programs. These might be, for example, the visible attributes of global classes in class pools. If a global class cl_lobal has a public instance attribute or static attribute attr, you can refer to it as follows in any ABAP program:
    DATA dref TYPE REF TO cl_global.
    DATA:  f1 LIKE cl_global=>attr,
           f2 LIKE dref->attr.
    You can access the technical properties of an instance attribute using the class name and a reference variable without first having to create an object. The properties of the attributes of a class are not instance-specific and belong to the static properties of the class.
    TYPES: BEGIN OF struct,
             number_1 TYPE i,
             number_2 TYPE p DECIMALS 2,
           END OF struct.
    DATA:  wa_struct TYPE struct,
           number    LIKE wa_struct-number_2,
           date      LIKE sy-datum,
           time      TYPE t,
           text      TYPE string,
           company   TYPE s_carr_id.
    This example declares variables with reference to the internal type STRUCT in the program, a component of an existing data object wa_struct, the predefined data object SY-DATUM, the predefined ABAP type t and STRING, and the data element S_CARR_ID from the ABAP Dictionary.
    Referring to Generic Data Types
    If you refer to one of the generic predefined ABAP types of fixed length (c, n, p, x) in the TYPES or DATA statement, you must specify the undefined technical attributes.
    TYPES|DATA var[(length)] TYPE type ...
    TYPES|DATA var TYPE type ...
    DATA: text1,
          text2 LENGTH 2,
          text3 TYPE c LENGTH 3,
          pack TYPE p DECIMALS 2 VALUE '1.225'.
    This example creates three character variables with field lengths of one, two, and three bytes respectively, and a packed number variable with field length 8 bytes and two decimal places. If the attribute Fixed point arithmetic is set, the value of pack is 1.23.
    This example shows how to declare elementary data objects with reference to predefined ABAP types.
    PROGRAM demo_elementary_data_objects.
    DATA text1  TYPE c LENGTH 20.
    DATA text2  TYPE string.
    DATA number TYPE i.
    text1 = 'The number'.
    number = 100.
    text2 = 'is an integer.'.
    WRITE: text1, number, text2.
    This program produces the following output on the screen:
    The number              100 is an integer.
    In this example, the data objects text1, text2 and number are declared with the DATA statement. The technical attributes are determined by referring to the predefined ABAP types c, string, and I. Values from unnamed literals are assigned to the data objects. The contents of the named data objects are displayed on the list.
    Specifying a Start Value
    When you declare an elementary fixed-length variable, the DATAstatement automatically fills it with the type-specific initial value as listed in the table in the Predefined ABAP Types section.
    However, you can also specify a starting value of a fixed-length elementary variable (also within a structure declaration) using the VALUE addition in the DATAstatement:
    DATA var ... VALUE val|{IS INITIAL}.
    Specifying start values:
    DATA: counter TYPE p VALUE 1,
          date    TYPE d VALUE '19980601',
          flag    TYPE n VALUE IS INITIAL.
    After this data declaration, the character string flag contains its type specific
    Initial value ‘0’.
    Difference Between TYPE & LIKE
    Difference between TYPE & LIKE

  • Change the class and type in javascript or select statement of region

    Application Express 3.2.0.00.27
    I have a manually created tabular form where I need pk to be updatable or not not updateable depending on whether its a new record or not.
    I am attempting this thru 2 different ways.
    1st:
    using decode in select statement of region:
    SELECT decode(c001,NULL,APEX_ITEM.POPUP_FROM_LOV(15,c001,'AUTH_LOV',NULL,NULL,0,NULL,NULL,NULL,'YES','f15_' || '#ROWNUM#'),
    apex_item.display_and_save(15,c001,'f15_'|| '#ROWNUM#')) authid,
    apex_item.hidden(16, c002, NULL,'f16_'|| '#ROWNUM#') empid,
    -- apex_item.display_and_save(16,c002,'f16_'|| '#ROWNUM#') empid,
    apex_item.date_popup(17, rownum, c003, 'DD-MON-YYYY',20,2000,NULL,'f17_' || '#ROWNUM#')deldate,
    apex_item.textarea(18,c004,5,40,NULL,'f18_'|| '#ROWNUM#') "Delegation scope",
    apex_item.textarea(19,c005,5,40,NULL,'f19_'|| '#ROWNUM#')"Delegation limits",
    apex_item.select_list_from_lov(20,c006,'YESNO_LOV',NULL,'NO','N','%','f20_'|| '#ROWNUM#')"ORA Signed",
    apex_item.date_popup(21, rownum, c007, 'DD-MON-YYYY', 20,2000,NULL,'f21_' || '#ROWNUM#') "Del expiry",
    apex_item.date_popup(22, rownum, c008, 'DD-MON-YYYY', 20,2000,NULL,'f22_' || '#ROWNUM#') "Date removed",
    apex_item.textarea(23,c009,5,40,NULL,'f23_'|| '#ROWNUM#') "Delegation comments",
    apex_item.POPUP_FROM_LOV(24,c010,'DELEGATION_LOV',NULL,NULL,0,NULL,NULL,NULL,'YES','f24_' || '#ROWNUM#') "Delegator",
    apex_item.display_and_save(25,c011,'f25_'|| '#ROWNUM#') status,
    -- apex_item.display_and_save(26,seq_id,'f26_'|| '#ROWNUM#') seq_id,
    apex_item.hidden(26, seq_id,NULL,'f26_'|| '#ROWNUM#') ||
    apex_item.checkbox(27, seq_id,NULL,NULL,':','f27_'|| '#ROWNUM#') chkbx
    FROM apex_collections
    WHERE collection_name = 'DELEG_COLL'
    AND c011 IN ('O','N','U','D')
    --order by c001However this approach yields this error when I try to pick a value from the lov:
    Error: Can't move focus to the control because it is invisible, not enabled, or of a type that does not accept the focus.
    My other approach is to attempt to change the type and class in javascript. I am trying this but I get an error when I attempt to change the class and type like this:
    <script type="text/javascript">
    <!--
    /* Client side validation on the Salary column */
    function changeProp(pCol) {
       var elms = document.getElementsByName(pCol);
       for (i=0; i< elms.length; i++) {
    /*       elms.style.backgroundColor = 'yellow'; */
    if (elms[i].value == null || elms[i].value == '%null%'
    || elms[i].value == '') {
    elms[i].class = 't20data';
    elms[i].type = 'hidden';
    alert('The value is' + elms[i].value);
    //-->
    </script>

    not completely duplicate...here in this thread I am stressing what I am trying to accomplish and asking for help on the javascript side.

  • I restarted my mac and many apps and files disappeared. It's like it booted to a state several months ago. My CS 5 apps are not in the dock or applications folder. Has this ever happened before and what can I do?

    It's like it booted to a state it was in several months ago. My CS 5 apps are not in the dock or applications folder. Has this ever happened before and what can I do?
    The files on my desktop are not the ones that were there when I shut down. It's like it's gone back in time.
    My display's power supply got fried (I think) in a power outage so I bought a new one. However, every time I restart the display usually stays black. I have found I need to keep rebooting until it kicks in and starts working. I unplug everything, wait a while (a few minutes to overnight) and try booting again.
    This last time the display finally came on but I'm faced with this problem. I used to use time machine, but I deleted everything and disabled it a couple months ago or more so I'm at aloss as to why the mac is booting into the state it was in sevearl months ago.
    What could I have done to cause this? Has this ever happened to anyone else and is there a solution?
    Note: I did a search for a file I knew was created today. I found it and it showed that it was a file I had saved on the desktop this morning--even though that file's icon is not appearing on the desktop now.
    I did a search for photoshop and saw my CS5 version listed.
    However, I did a couple more searches and these files no longer appear in the search. I don't know if they're there or not. This is bizarre!
    I'm on a Mac Pro, 10.6.2.

    Thanks for the obvious question. I mean it. The very same thought came to me this morning and, sure enough, I had booted into another drive--my old one that, of course, had the old desktop, etc.
    It didn't dawn on me that this was the case since I hadn't set it as a boot drive but I guess in the course of all the restarts I did, it got switched.
    I'm back to normal again.

  • Where and what type of solid state drive should I buy for my early 2008 Mac Pro Desktop??

    where can I buy and what type of solid state drive should I use to upgrade my early 2008 Mac Pro Desktop??

    Rick,
    When you get a chance.... DSLReports is off line: their SQL server decided to take its indexes and access to data. Power. Not enough of the right kind of UPS. Same happened to StorageReview's "Drive Reliability Database" about 8-9 yrs ago.
    dslreports.com is offline
    Fri Apr 20 09:05:55 EDT 2012
    SSD: Loading CS5 plus other little monsters might matter.
    Lots of small I/Os
    latency of 1/100th where nanoseconds replace those "long" milliseconds
    System: Small and fast.
    DLLoyd even goes for short-stroking drives to get and maintain highest I/O
    The new 10k VRs hit 200MB/sec - I still use them and still find them useful, long lasting, feel responsive with whatever I ask of them. I know they get criticized and "cost too much"
    Just bought a new WD Black and yes it is better than the 2008 model I was using.
    600GB 10K $200 vs $150-220 for WD Black. your choice
    I can destroy a 7.2k drive, I have brought ever 10K drive back after a simple WD Extended Test in Lifeguard.
    I don't really care about $$/GB or I wouldn't have just bought Intel 128GB $149
    Database: the pros put the index in memory and page fix (virtual volumes in memory; cache; hold disk drive index in memory). Caching storage has been around for almost 40 yrs.
    Today you can use SSDs as front end cache to hold DB indexes and frequent data for web servers and such adn use slower secondary storage.
    SSD + SAS + 4TB storage
    Separating the system from data: #1 must
    Having data on array: been what I use
    I put a large photo library on 2 x 10K VRs vs SSD and couldn't tell much difference (SSD is soundless of course) But my WD Blacks make as much noise and run 15*C hotter than those 10K (not what you expect?)
    While 10K and 7.2K are in the 140-180MB/sec range, they are in 3.0 to 12.0 ms seeks, not  0.01 ms.
    People wonnder why shrink a drive to 2.5" (or why not go down to 1.8".
    How long does it take to reposition a disk head? how often? the 10K VR travels on outer tracks at 70 MPH. Really trying to fly off into space.
    It uses one step to find the "zip code" and then another DSP to find the "house."
    True of any high density perpendicular recording mechanism.
    And of course while the Raptor-X tried to find a home with famers, Cheetah buyers, the WD 10K line has more of a home where servers and small form factor drives - and 100s of them - can fit in a rackmount server I imagine.
    Anyway.... if SR and DSLReports can drop out of site due to power and hardware failure and loss... we can learn some and hope to protect our own data and investments.

  • Compare system state (number and types of objects in memory)

    We have 2 exactly identical servers running our application talking to the same database.
    When some obejct from server 1 is deleted, a message is passed to server 2 to delete the object from its cache too.
    Forget the database, I want to design a testing system which compares the system-state (number and type of live-objects) in memory for server 1 and server 2 after the operation and the message, and reports any discrepancy.
    Any ideas ?

    Are you trying to debug a distributed cache implementation?
    If you want to inspect the state of your application on multiple servers creating a JMX bean might be a solution.
    http://java.sun.com/developer/technicalArticles/J2SE/jmx.html

  • Provide ABAP statement

    Hello All,
    Can someone please tell me how does a PROVIDE statement work? How does it help retrieve data from multiple infotypes?
    Thanks.
    Regards,
    KP

    PROVIDE
    Variants:
    1. PROVIDE { FIELDS {*|{compi}}
                  FROM itabj INTO waj VALID flagj
                  BOUNDS intlim1j AND intlim2j
                  [WHERE log_expj] }
              BETWEEN extlim1 AND extlim2
              [INCLUDING GAPS].
    2. PROVIDE { {*|{compi}}
                  FROM itabj }
              BETWEEN extlim1 AND extlim2.
    Effect
    Special join for internal tables. Variant 1 is the universally applicable form of the PROVIDE statement. Variant 2 is a short form of variant 1 that is not permitted in ABAP Objects.
    Variant 1
    PROVIDE { FIELDS {*|{compi}}
                FROM itabj INTO waj VALID flagj
                BOUNDS intlim1j AND intlim2j
                [WHERE log_expj] }
            BETWEEN extlim1 AND extlim2
            [INCLUDING GAPS].
    Effect
    The statements PROVIDE and ENDPROVIDE define a loop through a statement block. In this loop, any number of internal tables itabj are processed together. A single table can appear several times. For every table itabj you must specify a FIELDS clause. After FIELDS you must specify the character * for all components or a list compi for specific components of the relevant table. The names of the components compi can only be specified directly.
    To be able to process internal tables using PROVIDE, all tables itabj must be fully typed index tables and contain two special columns that have the same data type (d, i, n, or t) for all relevant tables. For every table you must specify the names intlim1 and intlim2 of these columns using the BOUNDS addition.
    The columns intlim1 and intlim2 in every row of the relevant internal tables must contain values that can be interpreted as limits of closed intervals. Within a table, the intervals specified in these columns must not overlap and must be sorted in ascending order. The intervals therefore make up a unique key for every row.
    For every table you must specify a work area waj compatible with the row type and a variable flagj, for which a character-type data type with length 1 is expected. In the PROVIDE loop, the components specified after FIELDS are filled with values in the relevant work areas waj for every specified internal table. The variable flagj is also filled. A single work area waj or variable flagj cannot be specified more than once.
    With the BETWEEN addition you must specify an interval extlim1, extlim2. It must be possible to convert the data objects extlim1 and extlim2 into the data types of the respective columns intlim1 and intlim2 of the individual tables.
    The interval limits intlim1j and intlim2j for every row of all relevant internal tables itabj that are within the closed interval made up by extlim1 and extlim2 divide the latter into new intervals and every interval limit closes one interval in the original direction. If, within a relevant table, a lower interval limit follows an upper interval limit with no space or gap between them and the components of the corresponding rows specified after FIELDS have the same content, the two interval limits are combined and the corresponding interval limits intlim2j and intlim1j are ignored for the new intervals.
    For every interval that is created in such a way and overlaps with at least one of the intervals of a table involved, the PROVIDE loop is passed once. The components of every work area waj specified after FIELDS and the variable flagj are filled with values as follows:
    The components intlim1 and intlim2 of every work area waj are filled with the interval limits of the current interval.
    If the current interval overlaps with one of the intervals of an involved table, the remaining components of the corresponding work area are assigned the contents of the relevant components of this table row and the variable flagj is set to the value "X". Otherwise, the work area components and the variable flagj are set to their initial value.
    Except for intlim1j and intlim2j, the components not specified after FIELDS are always set to their initial value. The components intlim1j and intlim2j are always assigned.
    The ABAP runtime environment checks for every table involved, whether the condition of sorted and non-overlapping intervals is met within the interval made up by extlim1 and extlim2 and, if necessary, triggers an exception that can be handled.
    If the INCLUDING GAPS addition is specified, the system passes the PROVIDE loop for every interval, that is also when the current interval does not overlap with at least one of the intervals of an involved table. In the latter case, the variable flagj is of initial value for every relevant table.
    You can use the WHERE addition to specify a condition for every table involved. After WHERE, you can specify any logical expression log_exp; the first operand of every comparison must be a component of the relevant table. Here it is not possible to specify a component using character-type data objects in brackets. The table entries, for which the condition is not met are ignored by the PROVIDE loop.
    Notes
    The system fields sy-subrc and sy-tabix are set to the value 0 before every loop pass and at ENDPROVIDE. Only if the loop is not passed once, is sy-subrc set to 4 at ENDPROVIDE.
    The relevant internal tables should not be modified in the PROVIDE loop.
    The WHERE condition can be used to remove overlaps between the tables involved or ensure the sorting of the intervals.
    Example
    DATA: BEGIN OF wa1,
            col1 TYPE i,
            col2 TYPE i,
            col3 TYPE string,
          END OF wa1.
    DATA: BEGIN OF wa2,
            col1 TYPE i,
            col2 TYPE i,
            col3 TYPE string,
          END OF wa2.
    DATA: itab1 LIKE STANDARD TABLE OF wa1,
          itab2 LIKE STANDARD TABLE OF wa2.
    DATA: flag1(1) TYPE c,
          flag2(1) TYPE c.
    wa1-col1 = 1.
    wa1-col2 = 6.
    wa1-col3 = 'Itab1 Int1'.
    APPEND wa1 TO itab1.
    wa1-col1 = 9.
    wa1-col2 = 12.
    wa1-col3 = 'Itab1 Int2'.
    APPEND wa1 TO itab1.
    wa2-col1 = 4.
    wa2-col2 = 11.
    wa2-col3 = 'Itab2 Int1'.
    APPEND wa2 TO itab2.
    PROVIDE FIELDS col3
              FROM itab1
              INTO wa1
              VALID flag1
              BOUNDS col1 AND col2
            FIELDS col3
               FROM itab2
               INTO wa2
               VALID flag2
               BOUNDS col1 AND col2
            BETWEEN 2 AND 14.
      WRITE: / wa1-col1, wa1-col2, wa1-col3, flag1.
      WRITE: / wa2-col1, wa2-col2, wa2-col3, flag2.
      SKIP.
    ENDPROVIDE.
    In two tables itab1 and itab2, the respective columns col1 and col2 are interval limits of type i. The filling of the internal tables results in the following intervals (rows two and three):
    |01|02|03|04|05|06|07|08|09|10|11|12|13|14|
    |   Itab1 Int1    |     |Itab1 Int2 |     |
    |        |      Itab2 Int1       |        |
    |  |          ... BETWEEN ...             |
    |  | i1  |   i2   | i3  |   i4   |i5|     |
    The interval specified in the AB>BETWEEN addition to the PROVIDE statement is shown in the fourth row. It serves as a basis for the five intervals in the fifth row represented by i1 to i5. These can be processed in the PROVIDE loop.
    Because each of the five intervals overlaps with one of the intervals from rows two and three, the PROVIDE loop is passed five times.
    Only the component col3 of wa1 is filled in the first pass, only the component col3 of wa2 in the third pass, and the components col3 of both work areas in the second and fourth passes. The fields valid1 and valid2 are set accordingly.
    The list is displayed as follows:
    2           3  Itab1 Int1 X
    2           3
    4           6  Itab1 Int1 X
    4           6  Itab2 Int1 X
    7           8
    7           8  Itab2 Int1 X
    9          11  Itab1 Int2 X
    9          11  Itab2 Int1 X
    12          12  Itab1 Int2 X
    12          12
    Exceptions
    Catchable Exceptions
    CX_SY_PROVIDE_INTERVAL_OVERLAP
    Cause: In one of the tables involved, there are overlapping intervals within extlim1 and extlim2.
    Runtime Error: UNCAUGHT_EXCEPTION
    CX_SY_PROVIDE_TABLE_NOT_SORTED
    Cause: One of the involved tables is not sorted in ascending order by the intervals within extlim1 and extlim2.
    Runtime Error: UNCAUGHT_EXCEPTION
    Variant 2
    PROVIDE { {*|{compi}}
                  FROM itabj }
              BETWEEN extlim1 AND extlim2.
    This statement is not allowed in an ABAP Objects context. See Cannot Use Short Form of PROVIDE.
    Effect
    This form of the PROVIDE statement is a short form of variant 1. The compiler distinguishes the long and short forms by language elements FIELDS to be specified explicitly before the component specifications.
    In principle, the short form of the PROVIDE statement works like variant 1. Unlike variant 1 however, fewer additions are allowed here. In the short form, you cannot specify a table several times The internal tables must have headers and the additions that have to be specified in the long form are added by the runtime environment, as described below.
    For the PROVIDE loop to function correctly, the same conditions apply as in the long form. However, now exceptions are raised if one of the involved tables is not sorted or there are overlapping intervals.
    Interval limits BOUNDS
    The columns for interval limits to be specified in the long form as intlim1 and intlim2 using BOUNDS are attributes of the relevant tables in the short form and must be specified when they are declared.
    This is done using the VALID BETWEEN addition that can be specified after DATA END OF if an internal table is declared with obsolete OCCURS addition to the DATA BEGIN OF statement. If an internal table is declared using the INFOTYPES statement, these are the BEGDA and ENDDA columns. If no columns are specified for the interval limits in the declaration, the short form of PROVIDE uses the first two columns of the internal table.
    Work area INTO
    In the short form, the headers of the internal table are implicitly used for the work areas that have to be specified as wa in the long form using the AB>INTO addition.
    VALID flag
    The data objects that have to be specified as flag in the long form using the VALID addition are added in the short form by the system implicitly creating a data object itab_valid of type c and length 1 for every table itab.
    WHERE condition
    No conditions can be specified in the short form.
    INCLUDING GAPS addition
    In the short form, you cannot force the system to pass the PROVIDE loop for every interval.
    Notes
    The short form of the PROVIDE statement is especially useful with internal tables declared using INFOTYPES, or internal tables that have the structure of infotypes.
    The system fields sy-tabix and sy-subrc are not filled by the short form for PROVIDE - ENDPROVIDE.
    Example
    DATA: BEGIN OF itab1 OCCURS 0,
            col1 TYPE i,
            col2 TYPE i,
            col3 TYPE string,
          END OF itab1 VALID BETWEEN col1 AND col2.
    DATA: BEGIN OF itab2 OCCURS 0,
            col1 TYPE i,
            col2 TYPE i,
            col3 TYPE string,
          END OF itab2 VALID BETWEEN col1 AND col2.
    itab1-col1 = 1.
    itab1-col2 = 6.
    itab1-col3 = 'Itab1 Int1'.
    APPEND itab1 TO itab1.
    itab1-col1 = 9.
    itab1-col2 = 12.
    itab1-col3 = 'Itab1 Int2'.
    APPEND itab1 TO itab1.
    itab2-col1 = 4.
    itab2-col2 = 11.
    itab2-col3 = 'Itab2 Int1'.
    APPEND itab2 TO itab2.
    PROVIDE col3 FROM itab1
            col3 FROM itab2
                 BETWEEN 2 AND 14.
      WRITE: / itab1-col1, itab1-col2, itab1-col3, itab1_valid.
      WRITE: / itab2-col1, itab2-col2, itab2-col3, itab2_valid.
      SKIP.
    ENDPROVIDE.
    The example has the same result as the example for variant 1. Here, the tables itab1 and itab2 have headers and the columns col1 and col2 are defined as interval limits of type i using the VALID addition to the DATA END OF statement.
    awrd points if useful
    Bhupal

  • ABAP statement for deleting the content of a infocube

    Hello,
    does someone know a abap statement or Babi to delete all data from a info cube?

    the abap statement how to delete all data from a specific cube.
    There is a FM " RSDPW_INFOCUBE_DELETE_ALL_DATA". This will delete data in the cube. You need to put this in a program and run it process chain.
    ALso, there is a process type to delete requests from info provider, and you can use appropriately.
    The abap statement how i find out what the highest extraction point data is.
    Define a variable like this:
    DATA: HIGEXT_POINT like data_package_extrpoint (whatever the field name is )
    HIGEXT_POINT = max(data_package_extrpoint).
    Delete data_package where extrpoint < HIGHEXT_POINT.
    Ravi Thothadri

  • Me and type ref

    hi all,
    i read the book written by dr horst keller and sascha kruger "abap objects" with confusion on the below script. really hope can get the help.
    1) confused 1, why creator has no create object and only create reference variable? why no need to create instance of client class?
    2) confused 2. why only me? me means everything(attribute/method) of client class? why not define as me->name just like in confused 4?
    3) why creator no create object also can creator->name?
    report self_reference.
    class client definition.
    public section.
    data name(10) type c value 'master' read-only.
    methods create_server.
    endclass.
    class server definition.
    public section.
    methods acknowledge importing creator type ref to client.  "confused 1
    private section.
    data name(10) type c value 'servant'.
    endclass.
    class client implementation.
    method create_server.
    data server_ref type ref to server.
    create object server_ref.
    call method server_ref->acknowledge exporting creator = me. "confused 2
    endmethod.
    endclass.
    class server implementation.
    method acknowledge.
    data name type string.
    name = creator->name.                   "confused 3
    write: me->name, 'created by', name.  "confused 4
    endmethod.
    endclass.
    data client_ref type ref to client.
    start-of-selection.
    create object client_ref.
    call method client_ref->create_server
    the output is "servant created by master".

    hi,
       i will explain your confusion along with your example...
    report self_reference.
    class client definition.
    public section.
    data name(10) type c value 'master' read-only.
    methods create_server.
    endclass.
    class server definition.
    public section.
    methods acknowledge importing creator type ref to client. "confused 1
    private section.
    data name(10) type c value 'servant'.
    endclass.
    class client implementation.
    method create_server.
    data server_ref type ref to server.
    create object server_ref.
    call method server_ref->acknowledge exporting creator = me. "confused 2
    endmethod.
    endclass.
    class server implementation.
    method acknowledge.
    data name type string.
    name = creator->name. "confused 3
    write: me->name, 'created by', name. "confused 4
    endmethod.
    endclass.
    data client_ref type ref to client.
    start-of-selection.
    create object client_ref.
    call method client_ref->create_server
    the output is "servant created by master".
    confusion 1:
    Normaly while creating an object we have to create a reference variable to class and then create the instance of the class with 'Create Objec' statement, but in this example we are passing a parameter creator of type client is sent to acknowledge method of server class. Here the parameter  creator is sent as an reference variable which means that the object is already created and just an reference to that variable is sent to the method acknowledge.
    confusion 2:
    here 'me' is a self reference variable of a class. It does not mean an attribute or methods of a class, it denotes the object of the class itself in which it is referenced. Normally the 'me' is used for self reference inside the class methods for refering to attributes or methods of the same class.
    eg: me->attrib1 or call method me->method1
    confusion 3:
    An ABAP class has two parts namely a defenition part and an implementaion part. The defenition part of the class contains all the attributes and declaration of the methods, whereas the implementation part contains the actual implementation of methods i.e., defenition of methods. In simple words, the defenition part of the class contains the methods name and what are the parameters like exporting, importing, changing,exceptions, etc., whereas the implementation part contains actual functionality of the method.
    As i have already stated that the parameter passed to the method are passed as reference variable, there is no need for creating object seperately and just an reference to already exisiting object is passed as parameter.
    so we can obtain the value of the attribute 'name' by means of the reference variable creator which gives the value of the client object.
    confusion 4:
    'me' is a self reference variable which is nothing but a reference to the same class, so me->name refers to the attribute name of the server class.

Maybe you are looking for

  • Service line condition type KR01 from PR not copied to contract

    Dear gurus, I created a service PR. I put in the Gross Price and Header Discount (KR01) at the service line in the PR. When I create a contract with reference to that PR, the Gross Price is copied over but not the Header Discount (KR01). Why is this

  • Open qauntities in return order

    Hi All, I need to post a goods issue for a return order based on the idoc data. I have to check the open quantities in the order and have to post the goods issue. Can you please tell me how can I know which line item is open and I know I can post the

  • WebLogic Admin Server Console: Is it secure?

    Hello, I've attended both WebLogic classes (Basic and Advanced) and have never heard my instructor state that the Admin console is unsecure as opposed to WLST. I asked spcifically durin the Advanced class about this and was told all that was needed w

  • Gift for someone in the U.S, payment problems...

    Hi! I have a problem since I want to buy a gift for a family member that lives in the us and pay it with my Swedish card. It said that the billing address must be within the US, is it possible to write the family members address or does the credit ca

  • NetStream.bytesTotal is much smaller than the video

    I have a video player running online, which sends error messages when the player loops on movie complete. I am listening to the NetStatusEvent NetStream.Play.Stop to know that the video has completed playing. I have a video which is more than 2,000,0