2007 Jun 14 9:52 AM
Hi all,
Would any one tell me what is the difference between one step and two step while creating a table maintenace generator for a table.
one more question is i would like to know which search the following code follows while it is executed.
select single vbeln
from vbak into l_vbeln
where vbeln in s_vbeln.
and
select vbeln
from vbak
into l_vbeln
up to 1 rows
where vbeln in s_vbeln.
please do reply soon for the questions.
Hi all,
Would any one tell me what is the difference between one step and two step while creating a table maintenace generator for a table.
one more question is i would like to know which search the following code follows while it is executed.
select single vbeln
from vbak into l_vbeln
where vbeln in s_vbeln.
and
select vbeln
from vbak
into l_vbeln
up to 1 rows
where vbeln in s_vbeln.
please do reply soon for the questions.
2007 Jun 14 9:55 AM
Hi
table maintanance Generator is used to manually
input values using transaction sm30
follow below steps
1) go to se11 check table maintanance check box under
attributes tab
2) utilities-table maintanance Generator->
create function group and assign it under
function group input box.
also assign authorization group default &NC& .
3)
select standard recording routine radio in table
table mainitainence generator to move table
contents to quality and production by assigning
it to request.
4) select maintaience type as single step.
5) maintainence screen as system generated numbers
this dialog box appears when you click on create
button
6) save and activate table
http://help.sap.com/saphelp_nw04/helpdata/en/cf/21ed2d446011d189700000e8322d00/content.htm
http://help.sap.com/saphelp_46c/helpdata/en/a7/5133ac407a11d1893b0000e8323c4f/frameset.htm
/message/2831202#2831202 [original link is broken]
One step, two step in Table Maintenance Generator
Single step: Only overview screen is created i.e. the Table Maintenance Program will have only one screen where you can add, delete or edit records.
Two step: Two screens namely the overview screen and Single screen are created. The user can see the key fields in the first screen and can further go on to edit further details.
Difference Between Select Single and Select UpTo One Rows
According to SAP Performance course the SELECT UP TO 1 ROWS is faster than SELECT SINGLE because you are not using all the primary key fields.
select single is a construct designed to read database records with primary key. In the absence of the primary key, it might end up doing a sequential search, whereas the select up to 1 rows may assume that there is no primary key supplied and will try to find most suitable index.
The best way to find out is through sql trace or runtime analysis.
Use "select up to 1 rows" only if you are sure that all the records returned will have the same value for the field(s) you are interested in. If not, you will be reading only the first record which matches the criteria, but may be the second or the third record has the value you are looking for.
The System test result showed that the variant Single * takes less time than Up to 1 rows as there is an additional level for COUNT STOP KEY for SELECT ENDSELECT UP TO 1 ROWS.
The 'SELECT SINGLE' statement selects the first row in the database that it finds that fulfils the 'WHERE' clause If this results in multiple records then only the first one will be returned and therefore may not be unique.
Mainly: to read data from
The 'SELECT .... UP TO 1 ROWS' statement is subtly different. The database selects all of the relevant records that are defined by the WHERE clause, applies any aggregate, ordering or grouping functions to them and then returns the first record of the result set.
Mainly: to check if entries exist.
Reward points for useful Answers
Regards
Anji
2007 Jun 14 10:02 AM
Thankyou for your answer. i would like to ask you one more question.
what is the difference between using Inner join and for all entries. please do tell me in detail for this question. In some scenarios both these become unfeasible, so which is the best method to follow for performance in such cases.
Regards
2007 Jun 14 10:06 AM
Hi,
You will have to use PK - FK relation when you want to use a join. FOR ALL ENTERIS does not have this restriction as you pass some internal table and not a db table.
Join will fetch the records based on the equality of keys. FOR ALL ENTRIES will fetch the records on the equality of any fields (key as well as non-key).
There are pros and cons of both the methods.
Like if you have more than 4 tables, the join will work much slower. Also, if you are not sure that the internal table you are passing to FOR ALL ENTRIES will contain the records or not and if it is initial, it will be very slow..
<b>Reward points</b>
Regards
2007 Jun 14 10:11 AM
thanks for the flow of replies I am getting for this thread. I would like to know which method is efficient if we are using to join only two tables. either inner join or else for all entries. please do answer me with complete details.
2007 Jun 14 10:04 AM
<b>select single</b>
SELECT [SINGLE]|[DISTINCT]
| <si> [AS <a i>]... <agg>( [DISTINCT] <s j>) [AS <a j>]...
The selection can be one line, SINGLE, or several lines. You can eliminate duplicate lines using the DISTINCT addition. To select the entire line, use *, otherwise, you can specify individual columns <si>. For individual columns, you can use aggregate functions <agg>, and assign alternative column names <a i>.
<b>select <field></b>
Reads data from the database.
Syntax
SELECT <result>
INTO <target>
FROM <source>
[WHERE <condition>]
[GROUP BY <fields>]
[HAVING <cond>]
[ORDER BY <fields>].
The SELECT statement consists of a series of clauses, each of which fulfils a certain task:
in the table man=intance generator there is single step and two step ...
by defualt it will allcote 1 screen no for 1step .
with screen nos you can have 2 step
reward points if it is usefull .
Girish
2007 Jun 14 10:06 AM
for inner join
The FROM clause determines the database tables from which the data specified in the SELECT clause is read.
Syntax
... FROM [<tab> [INNER]|LEFT [OUTER] JOIN] <dbtab> [AS <alias>]
[ON <cond>]
[CLIENT SPECIFIED]
[BYPASSING BUFFER]
[UP TO <n> ROWS]
You can read both single fields and groups of fields. You link several tables using inner and outer joins to link tables with conditions <cond>, where <tab> is a single table or itself a join condition. The names of database tables may be specified statically or dynamically, and you can use alias names. You can bypass automatic client handling with the CLIENT SPECIFIED addition, and SAP buffering with BYPASSING BUFFER. You can also restrict the number of lines read from the table using the UP TO <n> ROWS addition.
girish
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |