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
-
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,
SriniBy 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 -
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?
please help my what can i do?
IMEI : 012658006380001Welcome 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. -
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,
SravaniHI ,
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 GalindoHi
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 functions 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 reportHi,
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,
hunGUIDs 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
-
My buddy list appears, but whenever I try to click on a buddy to chat, IChat won't let me. Nothing appears. It won't let me chat regularly via text, or by video/audio chat. Even when I click on File -> New Chat, still nothing shows up! But, when I lo
-
How many computers can I run CS3 on - activation/deactivation?
Hi All, We purchased the CS3 Design Premium for our office here - I use it the majority of the time and its installed on one other computer that is barely used but still needed (only when I'm not working on the same program) We now need to install it
-
How do I backup photos to an external drive (like a passport drive)
I have photos in iphoto that I want to backup on an external drive. What process do I use?
-
Display of Still Photos in Video
Does anyone know how to alter a jpeg to display properly in a video? Everything looks great in preview, but when I import the picture to FCE it is full of jagged lines were stripes or other defining lines should be. I've tried to de-interlace but it
-
BAPI to get Invoice Details based on PO Number
HI, Is there any BAPI to get Invoice Details based on PO number. If so could you pls let me know that. Regards, Ramesh