Application Development 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: 

Table Vs Structure

former_member225044
Active Participant

Hello,

When i Click on any of the field, for some filed are having Tables and some field are having the Structure,

then ABAPER need table

the what is the use of Structure, why SAP has use here structure,

then how to give table name of corresponding field?

sapman

1 ACCEPTED SOLUTION

Former Member

Hi,

data will be stored in the Tables, but the strictes, sometimes you may needn to create a strucure which may not required to store the data, at that times we use the structures

Find the table use by a transaction code

You can easily find all the table access by a transaction code via SE49.

Supply the transaction and click the Display button and all the table access by the particular transaction code will appear.

Finding fields with Table Name

I'm working as a JR. ABAPer & frequently I encounter this situation when I'm given a report either with fields from a structure or no fields at all. I have following doubts:-

1) Who's responsibility it is to find out the fields complete with table name? Functional consultant or ABAPER?

2) Is there some std. way of finding out these fields?

You can go through Tables i.e. Data dictionary.

The table which store information about Structures and Tables are as follows:

DD02L - table properties

DD02T - table texts

DD03L - field properties

DD03T - field texts

How to find data related to a structure? With GREAT difficulty, but here are some ways (which will NOT always work! LOL) to find specific fields if you know the structure's fieldname.

1) First, goto SE11, and enter your structure name. Goto the field that holds your data, and double-click on the element name. Once inside the element, do a where-used list for that element, searching tables only. Then go into each table, and see if you can find the one holding your data. There may sometimes be a huge number of tables displayed, but a lot of them will be empty.

2) Get the name of the program behind your transaction, goto SE80, and enter the program name. 99% of the time it will be part of a module-pool and bring up the pool. Goto the dictionary structures, and search each table there for the one holding your data.

3) Open a new session with transaction ST05, select SQL Trace, click on the Trace On button, and go back to your transaction (while leaving the session with ST05 open). Submit your transaction, and go back to the ST05 session. Click on the Trace Off button, then select the List Trace button. Continue with standard selections, and a BASIC TRACE LIST will appear. search thru the tables displayed under ObjectName.

Regards

Sudheer

9 REPLIES 9

Former Member

Hi,

data will be stored in the Tables, but the strictes, sometimes you may needn to create a strucure which may not required to store the data, at that times we use the structures

Find the table use by a transaction code

You can easily find all the table access by a transaction code via SE49.

Supply the transaction and click the Display button and all the table access by the particular transaction code will appear.

Finding fields with Table Name

I'm working as a JR. ABAPer & frequently I encounter this situation when I'm given a report either with fields from a structure or no fields at all. I have following doubts:-

1) Who's responsibility it is to find out the fields complete with table name? Functional consultant or ABAPER?

2) Is there some std. way of finding out these fields?

You can go through Tables i.e. Data dictionary.

The table which store information about Structures and Tables are as follows:

DD02L - table properties

DD02T - table texts

DD03L - field properties

DD03T - field texts

How to find data related to a structure? With GREAT difficulty, but here are some ways (which will NOT always work! LOL) to find specific fields if you know the structure's fieldname.

1) First, goto SE11, and enter your structure name. Goto the field that holds your data, and double-click on the element name. Once inside the element, do a where-used list for that element, searching tables only. Then go into each table, and see if you can find the one holding your data. There may sometimes be a huge number of tables displayed, but a lot of them will be empty.

2) Get the name of the program behind your transaction, goto SE80, and enter the program name. 99% of the time it will be part of a module-pool and bring up the pool. Goto the dictionary structures, and search each table there for the one holding your data.

3) Open a new session with transaction ST05, select SQL Trace, click on the Trace On button, and go back to your transaction (while leaving the session with ST05 open). Submit your transaction, and go back to the ST05 session. Click on the Trace Off button, then select the List Trace button. Continue with standard selections, and a BASIC TRACE LIST will appear. search thru the tables displayed under ObjectName.

Regards

Sudheer

0 Kudos

Hello Sudheer,

I logged in just to thank you for this great info, that is a great help.

Wish you all the best.

Regards,

A Galal

Former Member
0 Kudos

Hi,

Structure meant for GLOBAL EXISTANCE(these could be used by any other program without creating it again).

Structures are used especially to define the data at the interface of module pools and screens and to define the types of function module parameters.

Structures that are used more than once can be changed centrally because they were defined centrall. The active ABAP Dictionary makes this change at all relevant locations. ABAP programs or screen templates that use a

structure are automatically adjusted when the structure changes.

tables: There is a physical table on the database for each transparent table.

The names of the physical tables and the logical table definition in the ABAP/4 Dictionary correspond.

All business data and application data are stored in transparent tables.

Hope this helps.

Former Member
0 Kudos

hi,

to clarify do u mean.

tables <fieldname> ?

in that case here is the explanation:

there are transparent tables created in the SAp system. that is globally created tables.. when u want to use a structure of the same format we use :

tables <tablename>.

sometimes there are structures defined for which a table of the same type does not exist. here we use:

data: <strname> type <strtype>

again tables contain information. and structures do not contain data. they are only for the fieeld structure definition.

All the best !!

Regards

Aparna

Former Member
0 Kudos

hello,

to add to the above points of why SAP uses structure...

*****************************************************************

if you note SAP uses OOPs concept in numerous places...in these cases unlike conventional ABAP you cannot create a structure using 'types' as far i have tried in my ABAP versions...In these cases you need to create a structure in SE11 and use them to create work areas and internal tables

I dont have much of an OOPs experience but in some standard enhancements we need to use them and this information is purely based out of that...

how to give table name of corresponding field

**************************************************************

to find the table associated one needs to debugg the code at the point of saving the record or some naming conventions like the name of the standard table being a part of the structure is done,in very few cases though....

eg: for table RESB

go to se11-> data type -> enter RESB (structures) you can see a big list itself

Another option i learned from SDN is on the name of the structure if you click with

CTRLShiftF5 you will get a package name and inside that list of dictionary structures and tables though i am not able to fully utilise it

Hope it was of some use to you

reward if helpful

Regards

Byju

Former Member
0 Kudos

Hi,

All the best !!

Regards

Aparna

Former Member
0 Kudos

Hi,

Structure is just a definition of fields .

There will be no records , i.e., a structure doesn't have any data.

But a table physically exists in database with all the records.

A structure can be included when defining an internal table which needs to have same definition as the structure.

Regards,

Neeraja

Former Member
0 Kudos

Hi

you can refer to that structure fields

structure means holds one record at a time

table holds multiple records at a time

you can append one structure to any number of existing tables

reward if usefull

Former Member

Hi,

An <b>internal table</b> is a temporary table stored in RAM on the application server. It is created and filled by a program during execution and is discarded when the program ends. Like a database table, an internal table consists of one or more rows with an identical structure, but unlike a database table, it cannot hold data after the program ends. Use it as temporary storage for manipulating data or as a temporary private buffer.

The <b>structure</b> can only hold a single row. It is a buffer used to hold each record before it is added or each record as it is retrieved from the internal table.

Hope this helps.

reward if helpful.

regards,

Sipra