NotifyAll is not called. What is the use?

Hi All,
Please check this program. I have two threads called in synchronized method of another class. notifyAll() in aMethod is never called. What's the purpose of notifyAll()...
public class ThreadTest
     public static void main(String args[])
          ThreadTest test = new ThreadTest();
          ThreadTest.Thread1 t1 = new ThreadTest().new Thread1();
          t1.start();
          ThreadTest.Thread2 t2 = new ThreadTest().new Thread2();
          t2.start();
     synchronized void aMethod()
          while(true){
          //some producing action goes here
          for(int i=0;i<100;i++)
          System.out.println("Called from aMethod "+i);
          try{
          System.out.println("before wait");
          wait();
          System.out.println("after wait");
          notifyAll();
          }catch (Exception e) {}
     class Thread1 extends Thread
          public void run()
               System.out.println("Called from Thread1");
               aMethod();
     class Thread2 extends Thread
          public void run()
               System.out.println("Called from Thread2");
               aMethod();
}

You call wait() in both threads, but there is nobosy to call notify() or notifyAll() to wake them up from the wait.
notify() and notifyAll() are for getting some other thread out of a wait()

Similar Messages

  • HT5287 If DVD Movies, Audio CD's and even burning CD and DVD's are not supported, what is the point of DVD & CD Sharing then? Wouldn't it just be better to remote in or use a thumb drive if it's only able to be used for data transfer?

    If DVD Movies, Audio CD's and even burning CD and DVD's are not supported, what is the point of DVD & CD Sharing then? Wouldn't it just be better to remote in or use a thumb drive if it's only able to be used for data transfer?
    Or am I missing the bigger picture?

    As long as you have a Superdrive or an external burner/drive, burning, watching, installing, etc. from CD or DVD will work just fine. And so will sharing.

  • What is the use of Task Flow Call?

    Hi,
    Usually we can call bounded task flow from unbounded task flow.
    What is the use of Task flow call? How is it different from calling in normal way?
    Can anyone please explain me?
    Thank you,
    Srini

    By using Task flow call you can call Bounded task flow from Bounded or Unbounded Task Flow
    check this link http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/taskflows_activities.htm#CHDJDJEF

  • HT4623 i have i-phone 3gs purchased unlocked from usa 2 years back version 4.1 recently when i upgrade my version using i-tunes to 6.o I can not activate my i-phone , the msg server busy since last week I not understand what is the problem ?

    have i-phone 3gs purchased unlocked from usa 2 years back version 4.1 recently when i upgrade my version using i-tunes to 6.o I can not activate my i-phone , the msg server busy since last week I not understand what is the problem ?

    The 3GS was not sold as an unlocked phone in the US 2 years ago and AT&T did not offer unlocking then.
    You bought a hacked phone. The Apple servers can detect the hack and have now disabled activation. Contact AT&T and find out if you qualify to have it unlocked or buy a new legitimately unlocked phone.

  • I bought the iPhone 4 user and when you are upgrading to the new system  ios7 I have a problem activation lock note that I do not know what is the ID Apple and The password because the phone used?

    I bought the iPhone 4 user and when you are upgrading to the new system  ios7 I have a problem activation lock note that I do not know what is the ID Apple and The password because the phone used?
    please help my what can i do?
    IMEI : 012658006380001

    Welcome to the Apple community Kobra.
    Unfortunately, you cannot do very much with your phone unless you get assistance from the previous owner, they should either provide you with the password to unlock it or remove their account from the phone entirely remotely through iCloud.com > Find My Phone.

  • HT4623 i can no longer access Safari.  It's not the phone because Apple just sent a new one and it still does not work.  I use the same computer to sync my ipodtouch5 and it has Safari.  My iphone4 does not.  What is the problem?

    I can no longer access Safari.  It's not the phone because Apple just sent a new one and it  (Safari) still does not work.  I use the same computer to sync my ipodtouch5 and Safari is operable.   However, Safari on my iphone is not.  What is the problem?

    That is the way it works. It designed to do that.
    In addition to everything else you have to this other person's computer you would have to move your complete iTunes library over also. Only then will it recognize youriTouch.
    Allan

  • Why do we create indexes for DSOs and Cubes.What is the use of it?

    Hi All,
    Can you please tell me why are indexes created for DSOs and Cubes.
    What is the use with the creation of indexes.
    Thanks,
    Sravani

    HI ,
    An index is a copy of a database table that is reduced to certain fields. This copy is always in sorted form. Sorting provides faster access to the data records of the table, for example, when using a binary search. A table has a primary index and a secondary index. The primary index consists of the key fields of the table and is automatically created in the database along with the table. You can also create further indexes on a table in the Java Dictionary. These are called secondary indexes. This is necessary if the table is frequently accessed in a way that does not take advantage of the primary index. Different indexes for the same table are distinguished from one another by a separate index name. The index name must be unique. Whether or not an index is used to access a particular table, is decided by the database system optimizer. This means that an index might improve performance only with certain database systems. You specify if the index should be used on certain database systems in the index definition. Indexes for a table are created when the table is created (provided that the table is not excluded for the database system in the index definition). If the index fields represent the primary keys of the table, that is, if they already uniquely identify each record of the table, the index is referred to as an unique index.
    they are created on DSO and cube for the performance purpose ..and reports created on them wil be also more efficent ..
    Regards,
    shikha

  • What is the use of 'keep' parameter in BDC

    Hi
    In BDC while transfering data, what is the use of 'keep' parameter in BDC.

    Hi Jyothsna,
    In the function module <b>BDC_OPEN_GROUP</b>, the <i>EXPORTING</i> parameter<i><b> KEEP</b></i> acts as a <b>deletion indicator for session</b> in which the batch data executed.
    <i><b>CALL FUNCTION 'BDC_OPEN_GROUP'
    EXPORTING
      CLIENT                    = SY-MANDT
      DEST                      = FILLER8
      GROUP                     = FILLER12
      HOLDDATE                  = FILLER8
       KEEP                      = FILLER1
    ---</b></i>
    <i><b>KEEP</b></i> retains the session after successful processing if its value is set to <i><b>'X'</b></i>.  A session that is kept remains in the input/output queue until an administrator deletes it in <i><b>SM35</b></i> transaction.
    Sessions that contain errors in transactions are kept even if KEEP is not set.
    Default: If not set, then sessions that are successfully processed are deleted. Only the batch input log is kept in SM35 transaction.
    Hope this sort out your query.
    PS If the answer solves your query, plz close the thread by rewarding points to each reply.
    Regards

  • What is the use of CTU_PRAMS in bdc programming?

    what is the use of CTU_PRAMS in bdc programming?
    can any explain wit a sample code.

    Hi,
    Hi,
    If u write table control bdc program in 14'' monitor screen, then if the same program u run at different monitor size, then the screen resolution problem comes in to the picture,
    like, u get 5 records in table control in one screen, and some other records in other screen, to avoid this screen resolution problem we use CTU-PARAMS Structure.
    In ur program u have to set
    defsize type ctu_params-defsize value 'X',
    Then u will be free of screen resolution problem.
    Fill the str CTU_PARAMS-defsize = 'X' and pass in CTU stmnt as
    call transaction 'XXX' options using t_bdcdata ctu_params.
    Analysing :
    1. If nothing works, then we have to
    some ifs & buts.
    2. There shall be normally
    2-4 different kinds of resolution
    on various users comptuers.
    3. Based on this,
    we have to know beforehand,
    what will be the number of rows
    in the table control.
    4. The user can be given
    a selection/paraemter
    for resolution
    eg. 800x600
    1024x100
    axb
    etc.
    5. Based on this, we will hardcode
    in the program (based upon our knowledge/recording
    which we have seen and done)
    we will hardcode
    the number of lines
    in the VARIBLE.
    6. Then we can simply use this variable
    for our LOOP and logic purpose.
    7. It will be the responsibiltiy of the
    use to CHOOSE THE CORRECT resolution,
    on the selection-screen.
    For screen resolution use ctu_params, with default size
    Data : f_option type ctu_params,
    f_option-updmode = 'S'.
    f_option-defsize = 'X'.
    f_option-dismode = 'N'.
    call transaction 'VA01' using bdcdata options from f_option messages into bdcerror.
    CALL TRANSACTION tcode... OPTIONS FROM opt
    ... OPTIONS FROM opt
    Effect
    Allows you to control processing using the values of the componetns of the structure opt, which must have the ABAP Dictionary type CTU_PARAMS. The components have the following meanings:
    DISMODE
    Display mode (like the MODE addition)
    UPDMODE
    Update mode (like the UPDATE addition)
    CATTMODE
    CATT mode (controls a CATT)
    CATT mode can have the following values:
    ' ' No CATT active
    'N' CATT without single-screen control
    'A' CATT with single-screen control
    DEFSIZE
    Use default window size
    RACOMMIT
    Do not end transaction at COMMIT WORK
    NOBINPT
    No batch input mode (that is, SY-BINPT = SPACE)
    NOBIEND
    No batch input mode after the end of BDC data.
    The components DEFSIZE , RACOMMIT, NOBINPT, and NOBIEND always take the following values:
    'X' Yes
    ' ' No
    If you do not use the OPTIONS FROM addition, the following control parameter settings apply:
    DISMODE
    From addition MODE
    UPDMODE
    From addition UPDATE
    CATTMODE
    No CATT active
    DEFSIZE
    Do not use default window size
    RACOMMIT
    Successful end on COMMIT WORK
    NOBINPT
    Batch input mode active ( SY-BINPT = X
    NOBIEND
    Batch input mode remains active after the BDC data

  • What is the use of MAIN WINDOW in SCRIPTS

    what is the use of MAIN WINDOW in SCRIPTS, y we con't create a script w/o main window.
    Title was edited by:
            Alvaro Tejada Galindo

    Hi
    See this
    What are the different types of windows in SAP Scripts?
    Windows are defined in the Layout sets which define the position and the text to displayed.
    The different types of windows are:
    MAIN - Main Window
    The main window is a continous window which can extend over several pages. If the text in the main window fills up a page, a new page is created.
    Only one main window can be defined in the SAP Script whereas upto 100 instances of main window can be created in a page.
    VAR - Variable Window
    This window can have the variable contents displayed on them. The contents of the window cannot exceed the window size. The content can be formatted for each page.
    CONST - Constant Window
    The constant window can have a fixed content and is formatted only once.
    Main Windows (MAIN)
    Each form must have one window of type MAIN. Such a window is called the main window of the form. For SAPscript forms, the main window has a central meaning:
    • It controls the page break.
    • It contains the text body that may cover several pages.
    • It allows to fix text elements at the upper and lower margins of the allocated page window (for example, for column headings).
    As soon as a window of type MAIN is full, SAPscript automatically triggers a page break and continues to output the remaining text in the main window of the subsequent page. Page windows of type MAIN have the same width throughout the form. The SAPscript composer thus avoids reformatting of the text after each page break.
    Variable Windows (VAR)
    The contents of variable windows is processed again for each page, on which the window appears. The system outputs only as much text as fits into the window. Text exceeding the window size is truncated; the system does not trigger a page break. Unlike constant windows, the page windows declared as variable windows may have different sizes on different form pages.
    Constant Windows (CONST)
    Starting with Release 4.0, the system internally processes windows of type CONST similar to windows of type VAR. Therefore, if you create a new window, always use type VAR.
    <b><REMOVED BY MODERATOR></b>
    Anji
    Message was edited by:
            Alvaro Tejada Galindo

  • What is the use of t-rfc in ALE? compared to t-rfc, Qrfc is better and effi

    what is the use of t-rfc in ALE? compared to t-rfc, Qrfc is better and efficient?

    Hi Sunil,
    These are the types of RFC
    Asynchronous RFC (aRFC)
    Synchronous RFC (sRFC)
    Transactional RFC (tRFC)
    Queued RFC (qRFC)
    Parallel RFC (pRFC)
    Asynchronous RFC :
    This is used when you need to increase the performance of ABAP program by having system call more than one function module in parallel than forcing the program to wait for results .
    Transactional RFC
    This let you group one or more function module call together o tRFC LUW and ensure that fucnction module within LUW is called once . In contrast to aRFC and sRFC the tRFC belonging to tRFC LUW are executed in order .
    tRFC is always used if a function is executed as a Logical Unit of Work (LUW). Within a LUW, all calls are
    1.Executed in the order in which they are called
    2.Executed in the same program context in the target system
    3.Run as a single transaction: they are either committed or rolled back as a unit.
    Implementation of tRFC is recommended if you want to guarantee that the transactional order of the calls is preserved
    Asynchronous remote function calls (aRFCs) are similar to transactional RFCs, in that the user does not have to wait for their completion before continuing the calling dialog. There are three characteristics, however, that distinguish asynchronous RFCs from transactional RFCs:
    • When the caller starts an asynchronous RFC, the called server must be available to accept the request.
    The parameters of asynchronous RFCs are not logged to the database, but sent directly to the server.
    • Asynchronous RFCs allow the user to carry on an interactive dialog with the remote system.
    • The calling program can receive results from the asynchronous RFC.
    You can use asynchronous remote function calls whenever you need to establish communication with a remote system, but do not want to wait for the function’s result before continuing processing. Asynchronous RFCs can also be sent to the same system. In this case, the system opens a new session (or window). You can then switch back and for between the calling dialog and the called session
    RECEIVE RESULTS FROM FUNCTION Remotefunction is used within a FORM routine to receive the results of an asynchronous remote function call. The following receiving parameters are available:
    IMPORTING
    TABLES
    EXCEPTIONS
    The addition KEEPING TASK prevents an asynchronous connection from being closed after receiving the results of the processing. The relevant remote context (roll area) is kept for re-use until the caller terminates the connection.
    Hope this resolves your query.
    Reward all the helpful answers.
    Regards

  • What is the use of the no disturb funtion? It dosen't work at all!!

    what is the use of the no disturb funtion? It dosen't work at all!!

    That function actually works. You can test it for yourself. Go to Settings->Turn on Do Not Disturb
    then lock the phone (it only works with the phone locked). If you go to Settings->Notifications->Do Not Disturb
    you can configure some other things.
    While Do Not Disturb is ON you will not be bothered with notifications, sounds or neither the screen lights up when receiving either calls, messages or other notifications.
    Try it and see if this works for you

  • What is the use of transporting BEx query to production from development ?

    Hi !
    if create a query by copying an existing query and make some modification in production and sent it to client..and client is happy as it satisfies all his requirement .
    Then what is the use of creating Bex query in development and transport it in quality and then to production if we can create directly in production ?

    Hi,
    There is something called as SOX compliance..and three system landscape.
    First of all you are not suppose to make changes to standard qeuries.
    You can give it to the client a new copied query wirth required changes and it is very much accepted as well but how will it be tracked for future support.
    Suppose there is a change in the underlying cube...this will affect all the queries and the new copied query which no one knows about will be affected too.How will you test it if its workinf fine with the new flow.
    If you want to do the testing in production as well.... then you are not following SAP guidelines and may be you are violating the contract signed by you and your client.
    Thanks
    Ajeet

  • What is the use of  keyword SCAN ABAP-SOURCE

    Hello experts,
    what is the use of scan abap-source. please explain. what is tokens, statements, levels in that.

    Hi
    <b>SCAN</b>
    This statement is for internal use only.
    It cannot be used in application programs.
    <b>SCAN ABAP-SOURCE itab1 ...TOKENS INTO itab2
                           ...STATEMENTS INTO itab3.</b>
    Parts marked with " ..." are interchangeable
    <b>Addition 1</b>
    ... FROM n1
    <b>Addition 2</b>
    ... TO   n2
    Breaks down the source code table itab1 into tokens not from start to finish, but only from line n1 to line n2.
    The additions FROM n1 and TO n2 must, in this order, follow the specification of the source code table itab1.
    When using the start specification n1, use the addition WITHOUT TRMAC to ensure that there are no unnecessary database accesses to the table TRMAC.
    The end specification n2 is treated as "soft", i.e. a statement that begins on a line <= n2, but ends only on a line > n2, is returned completely.
    If the end specification n2 is split in a chain statement, only the split part up to the next comma is returned completely, not the entire chain statement up to the next period.
    Negative line specifications are not allowed and result in a runtime error.
    A line specification of 0 amounts essentially to no specification.
    If n1 number of lines in source code table, the scanner is not called (SY-SUBRC = 2).
    If n1 > n2 and n2 > 0, the scanner is not called (SY-SUBRC = 2).
    <b>
    Addition 3</b>
    ... KEYWORDS FROM itab4
    Does not return all statements, only those specified in the key word table itab4.
    If the key word table is empty (i.e. it contains 0 lines), all the statements are selected.
    The lines of the key word table are treated as a character field.
    To select a Native-SQL-statement or a macro definition, you can specify the pseudo key words EXEC_SQL or DEFINE_MACRO. It makes no difference whether the statements EXEC or DEFINE occur as well. Native SQL statements and macro definitions are returned as one statement (of type E or M even if the expansion of a macro definition results in more than one statement.
    If the key word table contains a blank line, blank statements are also selected.
    <b>Addition 4</b>
    ... LEVELS INTO itab5
    Stores details about each edited source code unit (source code table itab1 itself, expanded include-programs, expanded macro definitions) in the level table itab5.
    Specification of a level table makes sense only with the addition WITH INCLUDES.
    The level table itab5 must have the structure SLEVEL.
    The fields of the structure SLEVEL - and consequently the columns of the level table itab5 have the following meaning:
    TYPE
    Type of source code unit with the following possible values:
    P (Program)
    D (Internal DEFINE macro)
    R (Macro from table TRMAC)
    NAME
    Name of source code unit (name of include program, macro name)
    DEPTH
    Current nesting depth of source code unit (>= 1)
    LEVEL
    Index of superior (i.e. including or calling) source code unit in the level table (>= 1, if DEPTH >= 2, otherwise 0)
    STMNT
    Index of superior (i.e. including or calling) statement in the statement table (>= 1, if DEPTH >= 2, otherwise 0)
    FROM
    Index of first statement of source code unit in the statement table (>= 1)
    TO
    Index of last statement of source code unit in the statement table (>= 1)
    If the source code unit contains include programs or macro calls, the line range [ FROM, TO] in the statement table also covers the statements in subordinate source code units.
    <b>Addition 5</b>
    ...  STRUCTURES INTO itab6
    Details of the construction of the source text table are given in the structure table itab6.
    The structure table itab6 must have the structure SSTRUC.
    The fields in SSTRUC (which are also the columns of structure table itab6) have the following meanings:
    TYPE
    Type of the structure with possible values:
    P (Beginning of the source code)
    R (Subroutine)
    M (Macro, EXEC SQL)
    I (Loop)
    A (Case distinction)
    C (Condition in a case distinction)
    J (Goto command)
    D (Structured declaration)
    E (Event)
    S (Follow-on from simple structured statement)
    STMNT_TYPE
    The statement type of the beginning of the structure. The values are listed in the type pool SCAN in structure SCAN_STRUC_STMNT_TYPE.
    KEY_START
    Flags whether the start of the structure is described semantically ('X' if there is a special statement, otherwise ' ').
    KEY_END
    Flags whether the end of the structure is described semantically ('X' if there is a special statement, otherwise blank).
    STMNT_FROM
    Index of the first statement of the structure in the statement table itab3.
    STMNT_TO
    Index of the last statement of the structure in the statement table itab3.
    Index of the first substructure of the structure in structure table itab6.
    STRUC_TO
    Index of the last substructure of the structure in structure table itab6.
    BACK
    Index of the structure in the structure table itab6 that contains the structure as a substructure (0 if the structure is the root structure of a structure tree).
    <b>Addition 6</b>
    ... OVERFLOW INTO c1
    The addition is only allowed and required if the token table itab2 has the structure STOKEN or STOKEX.
    If a token is too large to be stored in the token table in the field STR, it is placed in the overflow area c1. The offset of the token in the overflow area then lies in the token table in the field OFF1.
    <b>Addition 7</b>
    ... WITH ANALYSIS
    Breaks down each token t = a+b(c) according to the logic of the RSYN key word >ANALY into its three components a, b and c.
    Offset and length of components a, b and c are stored in the fields LEN1, OFF2, LEN2, OFF3, and LEN3 in the token table. (The offset of OFF1 is always 0 and therefore not required.)
    If you specify the addition WITH ANALYSIS, the token table itab2 must have the structure STOKESX, so that the fields LEN1, OFF2, LEN2, OFF3 and LEN3 are available.
    If the token table has the structure STOKEX, you must consider the following:
    If the whole token exists in the token table, the offset specifications are relative to the token start. If the token is in the overflow area c1, the offset specifications are relative to the start of the overflow area.
    <b>Addition 8</b>
    ... WITH COMMENTS
    Returns comments also, with each individual comment representing a token. The system additionally stores entries for each full block of comments in the table itab3, differentiating between comments that occur within statements and those that occur at program level. In itab3, an entry for a comment within a statement always comes before the statement containing the comment.
    <b>Example</b>
    Look at the following program fragment. The preceding numbers are the indexes of the tokens.
    1    * An example  *
    2    * with scattered comments
    6    MOVE
    3    * Inserted comment 1
    7    X
    4    *  Inserted comment 2
    8    TO
    9    Y
    5    * Inserted comment 3
    SCAN then enters the following values for the components TYPE, FROM and TO (in this order from left to right) into itab3.
    'P' 1 2
      'S' 3 5
      'K' 6 9
    If the addition ... WITH COMMENTS is used, the table itab2 must have the line type STOKES or STOKESX.
    <b>Addition 9</b>
    ... WITH INCLUDES
    Also breaks down subordinate source code units (included programs, called macros) into tokens.
    You should normally combine the addition WITH INCLUDES with the addition LEVELS INTO itab5.
    If (at least) one included program does not exist, SY-SUBRC is set to 1 and the relevant INCLUDE statement is flagged in the statement table itab3 by the statement type J (instead of I), but the breakdown process continues. The level table itab5 contains no entry for include-programs that do not exist.
    If you combine WITH INCLUDES with WITHOUT TRMAC , TRMAC-Macros are not expanded because the system does not recognize them as subordinate source code units.
    When macro calls are expanded, no position specifications are available. The corresponding fields in the token table itab2 and the statement table itab3 are then set to 0.
    <b>Addition 10</b>
    ... WITH TYPE-POOLS
    This addition has the same effect as the WITH INCLUDES addition, except that with the former include programs belonging to type groups are broken down into tokens.
    <b>Addition 11</b>
    .. WITH LIST TOKENIZATION
    Tokens of the form (a1, a2, a3) are not returned as tokens but broken down into the elementary components.
    <b>Addition 12</b>
    ... WITHOUT TRMAC
    If a statement begins neither with an ABAP/4 key word nor with a DEFINE macro, the system does not check whether this is a TRMAC macro, but assumes an unknown statement. (Unknown statements are flagged in the statement table itab3 with a U in the field TYPE.)
    To avoid unnecessary database accesses to the table TRMAC, you should use the addition WITHOUT TRMAC whenever you assume that the source code to be scanned contains unknown statements. Unknown statements are particularly likely to occur if you use the addition FROM n1, because the scanner does not start at the beginning of the source code, but from a specified point.
    If you use WITHOUT TRMAC with WITH INCLUDES, TRMAC macros are not expanded because the system does not recognize them as subordinate source code units.
    <b>Addition 13</b>
    ... PROGRAM FROM c2
    <b>Addition 14</b>
    ... INCLUDE INTO c3
    <b>Addition 15</b>
    ... MESSAGE INTO c4
    <b>Addition 16</b>
    ... WORD    INTO c5
    <b>Addition 17</b>
    ... LINE    INTO n3
    <b>Addition 18</b>
    ... OFFSET  INTO n4
    The above additions have the same meaning as those for the
    SYNTAX-CHECK: statement: c2 is an input field for a program name to be assigned to the source code, while the fields c3, c4, c5, n3 and n4 are output fields in case an error occurs.
    To be able to analyze errors without modifying programs, use the additions INCLUDE, MESSAGE, WORD, LINE and OFFSET. These provide information about the errors which have occurred.
    <b>Variant 2</b>
    SCAN AND CHECK ABAP-SOURCE itab1 ...RESULT INTO itab2.
    Parts marked with " ..." are interchangeable
    <b>Extras:</b>
    1. ... PROGRAM FROM c1 2. ... INCLUDE INTO c2
    3. ... MESSAGE INTO c3
    4. ... WORD    INTO c4
    5. ... LINE    INTO n1
    6. ... OFFSET  INTO n2
    The syntax of the program in table itab1 is checked. During the check, all of the information from the program, such as statement structures, statements, tokens, data objects, types and do on are placed into the result field. This field must have the type SYSCH_RESULT, which is defined in type group SYSCH. You must therefore declare type group SYSCH in your ABAP-program using a TYPE-POOLS statement.
    &ABAP_ADDITION _1&
    ... PROGRAM FROM c1
    &ABAP_ADDITION _2&
    ... INCLUDE INTO c1
    &ABAP_ADDITION _3&
    ... MESSAGE INTO c3
    &ABAP_ADDITION _4&
    ... WORD    INTO c4
    &ABAP_ADDITION _5&
    ... LINE    INTO n1
    &ABAP_ADDITION _6&
    ... OFFSET  INTO n2
    The above additions have the same effect as the corresponding additions in the statement SYNTAX-CHECK: c1 is an input field for a program name to be assigned to the source code, the fields c2, c3, c4, n1 and n2 are output fields, used when errors occur.
    To enable you to analyze errors without having to modify the program, you should specify the INCLUDE, MESSAGE, WORD, LINE and OFFSET additions for the information about the error that occurred.
    <b>Reward if usefull</b>

  • What is the use of variant in the alv report

    hello all,
    what is the use of variant in the alv report

    Hi,
    For Variants
    follow the link:
    http://help.sap.com/search/highlightContent.jsp
    Variants allow you to save sets of input values for programs that you often start with the same selections. You can use them for any programs except subroutine pools (type S).
    Contents
    Variants: Overview
    Initial Screen
    Displaying a Variant Overview
    Creating and Maintaining Variants
    Creating Variants
    Attributes of Variants
    Changing Variants
    Deleting Variants
    Printing Variants
    Variable Values in Variants
    Creating Variables for Date Calculations
    User-specific Selection Variables
    Creating User-specific Variables
    Changing Values Interactively
    Changing Values from the Program
    Fixed Values from Table TVARV
    Creating Table Variables from TVARV
    Changing TVARV entries
    Running a Program with a Variant
    Variants: Overview
    Use
    Whenever you start a program in which selection screens are defined, the system displays a set of input fields for database-specific and program-specific selections. To select a certain set of data, you enter an appropriate range of values.
    For further information about selection screens, see Working with selection screens in the ABAP User's Guide.
    If you often run the same program with the same set of selections (for example, to create a monthly statistical report), you can save the values in a selection set called a variant.
    You can create any number of variants for any program in which selection screens are defined. Variants are assigned exclusively to the program for which they were created.
    You can also use variants to change the appearance of the selection screen by hiding selection criteria. This is particularly useful when you are working with large selection screens on which not all of the fields are relevant.
    Reports, module pools, and function groups may have several selection screens. It is therefore possible to create a variant for more than one selection screen.
    Variants are an interface between the user and the selection screen. They can be used both in dialog and in background mode, although their uses are slightly different.
    Variants in Dialog Mode
    In dialog mode, variants make things easier for the user, since they save him or her from continually having to enter identical values. They can also make the selection screen easier to read, because you can use them to hide input fields. Running an executable program with a variant containing an optimal set of values also reduces the capacity for user error. The optimized database selections speed up the runtime of the program.
    Variants in Background Mode
    Variants are the only method for passing values to a report program in a background job. Therefore, when you run a program in the background, you must use a variant (or SUBMIT... VIA JOB). To avoid you having to create a new variant each time you run the report, ABAP contains a mechanism allowing you to pass variable values to variants. See variable values in variants.
    To ensure that an executable program is always started using a variant, you can specify in the program attributes that the program may only be started in this way.
    Features
    Creation of variants
    Display, change, copy, print, and delete variants
    Use and definition of variables in variants
    Variable date calculation
    User-specific fixed values
    Fixed values in table TVARV
    You access the variant maintenance tool from the initial screen of the ABAP Editor. Enter the name of the program, select Variants in the Sub-objects group box, and then choose Display or Change.
    Functions
    The above screen allows you to:
    Create variants
    Display the variant directory
    Display and change values and attributes
    Copy, delete, and rename variants
    Before creating a new variant for a program, you should check whether you can use or adapt an existing variant instead.
    There are two ways to display variants:
    Position the cursor on the Variant field on the initial screen and press F4. The following dialog box lists all of the available variants:
    Choose Variants ® Directory on the initial screen:
    Creating Variants
    Prerequisites
    You must have defined one or more selection screens for the relevant program. The program may have any type except type S.
    Procedure
    On the initial screen of the ABAP Editor, enter the name of the program for which you want to create a variant, select Variants in the Sub-objects group box, and choose Change.
    On the variant maintenance initial screen, enter the name of the variant you want to create.
    Note the naming convention for variants (see below).
    Choose Create.
    If the program has more than one selection screen, a dialog box appears in which you can assign the variant to one or more screens. The dialog box does not appear if the program only has one selection screen. In this case, the selection screen of the program appears straight away.
    If there is more than one selection screen, select the screens for which you want to create the variant.
    Example:
    If you choose Variant for all selection screens, the variant also applies to any selection screens that you create after creating the variant.
    Otherwise, the variant only supplies values to the selection screens that you select in the list.
    Choose Continue.
    The (first) selection screen of the program appears.
    If your program has more than one selection screen, use the scroll buttons in the left-hand corner of the application toolbar to navigate between them. If you keep scrolling forwards, the Continue button appears on the last selection screen.
    Enter the required selections, including multiple and dynamic selections.
    Choose Continue.
    Result
    When you have finished, an overview screen appears (ABAP: Save Attributes of Variant), on which you can enter the attributes of your variant and save it.
    Note that when you create a new variant, you must enter both values and attributes.
    Names of variants: Names can consist of up to 14 alphanumeric characters. The "% " character is not allowed. If you want the variant to be transported automatically with its program, you must create a system variant. The name of a system variant starts "CUS&" for customers, and "SAP&" for SAP system variants. You can only use the "&" character within this prefix in the name of a system variant. It may not occur in any other context. System variants are administered by the Workbench Organizer. Although you can create and access variants from any client, they are always stored in client "000".
    Creating Variants
    Prerequisites
    You must have defined one or more selection screens for the relevant program. The program may have any type except type S.
    Procedure
    On the initial screen of the ABAP Editor, enter the name of the program for which you want to create a variant, select Variants in the Sub-objects group box, and choose Change.
    On the variant maintenance initial screen, enter the name of the variant you want to create.
    Note the naming convention for variants (see below).
    Choose Create.
    If the program has more than one selection screen, a dialog box appears in which you can assign the variant to one or more screens. The dialog box does not appear if the program only has one selection screen. In this case, the selection screen of the program appears straight away.
    If there is more than one selection screen, select the screens for which you want to create the variant.
    Example:
    If you choose Variant for all selection screens, the variant also applies to any selection screens that you create after creating the variant.
    Otherwise, the variant only supplies values to the selection screens that you select in the list.
    Choose Continue.
    The (first) selection screen of the program appears.
    If your program has more than one selection screen, use the scroll buttons in the left-hand corner of the application toolbar to navigate between them. If you keep scrolling forwards, the Continue button appears on the last selection screen.
    Enter the required selections, including multiple and dynamic selections.
    Choose Continue.
    Result
    When you have finished, an overview screen appears (ABAP: Save Attributes of Variant), on which you can enter the attributes of your variant and save it.
    Note that when you create a new variant, you must enter both values and attributes.
    Names of variants: Names can consist of up to 14 alphanumeric characters. The "% " character is not allowed. If you want the variant to be transported automatically with its program, you must create a system variant. The name of a system variant starts "CUS&" for customers, and "SAP&" for SAP system variants. You can only use the "&" character within this prefix in the name of a system variant. It may not occur in any other context. System variants are administered by the Workbench Organizer. Although you can create and access variants from any client, they are always stored in client "000".
    reward all help full answers

  • What is the use of guid in CRM?

    Hi ,
    what is the use of guid in crm.
    there is nothing like this in r/3.if the data is to flow in from r/3 to crm or crm - r/3 is do we verify the guid.partner guid or product guid.
    please make me understand this.
    thank you,
    hun

    GUIDs are system generated unique keys which identifies CRM objects (campaigns, sales documents, business partners, products etc.). CRM & MSA works on GUIDs. Most of the table relationships are defined on GUIDs.
    Important CRM tables:
    COMM_PRODUCT : Products
    CRMC_T077D : customer account groups
    CRMD_ORDERADM_H (for header) CRMD_ORDERADM_I (Item data)
    CRMD_ORDERADM_H Business Transactions CRM
    CRMD_ACTIVITY_H Activity
    CRMD_OPPORT_H Opportunity
    BUTOO : Customer details
    BUT001 BP: General data II
    BUT100 BP: Roles
    BUT150 BP relationship: Attribute table (test
    different
    BUT_HIER_TREE Business Partner Group Hierarchy
    CDBC_T_PRODUCTID Mapping: Product Id
    CDBD_ORGMAN Business transaction - organizational unit -
    set
    COMC_PRODUCT General Product Settings
    COMC_R3_FIELDS Assignment of R/3 material master fields to
    CFOP
    COMM_CATEGORY Category
    COMM_CFGMAT Basic Data for Materials
    COMM_HIERARCHY Category Hierarchy
    COMP_TYPES Hierarchy Tool: Comparison Type Check
    Table
    CRMC_CPRICPROC Customer Pricing Procedures
    SMOKVBEZ15 Assignment employees to positions
    All transactions are uniquely identified by their guids internally
    Transaction numbers are not unique
    System calls a function module GUID_CREATE to create a unique GUID everytime you create a transaction.
    Whenever you are creating some transaction programatically you will have to first create a unique GUID for the transaction by calling GUID_CREATE.
    Look at What is GUID in CRM & its significance please? maybe it helps
    <b>Please, Reward Points.....</b>

Maybe you are looking for