Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

help required on table maintenance generator

Former Member
0 Likes
1,181

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.

6 REPLIES 6
Read only

Former Member
0 Likes
915

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

Read only

0 Likes
915

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

Read only

0 Likes
915

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

Read only

0 Likes
915

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.

Read only

Former Member
0 Likes
915

<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

Read only

Former Member
0 Likes
915

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