Database tables are administered in the ABAP Dictionary. There  you can find current information about a database table's technical attributes.  Database tables that have been created in the database using the same line type  and name are called transparent tables in the ABAP  Dictionary.
There are a couple of different ways in which you can  navigate to transparent tables in the ABAP Dictionary:
Choose Tools->ABAP  Workbench->Development->Dictionary to call the ABAP Dictionary directly  and insert the name of the transparent table in the appropriate input field, or  
Navigate directly to the ABAP Dictionary from the ABAP  Editor while editing the program: This can be done by double -clicking on the  name of the transparent table in the FROM  clause of the SELECT statement.
You can search for database tables in several different  ways:
Application hierarchy and the Repository Information System: You may  choose application components from the application hierarchy and branch directly  to the information system. There you can search for database tables according to  their short texts (among other criteria).
If you have the name of a program that accesses the  database table:
Input field on a screen; If you know of a program that contains a screen with  input fields connected to the table you are looking for, choose  F1->Technical info. and then navigate to to the ABAP Dictionary by  double -clicking on the technical name of the screen field. This is often a  field in a structure. Double -click on the data element and then use the  where-used list function to search for transparent tables according to  the field type.
Debugger: If  you know the name of a program that accesses the database table that you are  looking for, you can start this program in debugging mode and set a  breakpoint at the SELECT statement.
Editor: Look  for the SELECT statement
Object List in the Object Navigator: Pick out the subroutines that encapsulate the database  accesses.
If you know of a structure field in the ABAP  Dictionary.
Double-click on the data element and then use the  where -used list function to search for transparent tables according to  the field type.
As soon as you navigate to the definition of a database  table in the ABAP Dictionary, information about all of the table's technical  attributes is available.
The following information is of interest for enhancing  the performance of database accesses: 
Key Fields: If the lines requested from the database are being  retrieved according to key fields, the Database Optimizer can perform access  using a primary index. Checkboxes are on for all key  fields.
Secondary Indexes: You may also use secondary indexes to select specific  lines. These are displayed in a dialog box whenever you choose the 'Indexes'  pushbutton. You can choose an index from the dialog box by simply double  -clicking on it. The system then displays a screen with additional information  about that index.
You use the Open SQL statement SELECT to read data from the database.
Underlying the SELECT statement is a complex logic that allows you to access  many different types of database table.
The statement contains a series of clauses, each of  which has a different task:
The  SELECT clause specifies
Whether the result of the selection is to be a single  line or several lines.
The  fields that should be included in the result.
Whether the result may contain two or more identical  lines.
The  INTO clause specifies the internal data object in the program  into which you want to place the selected data.
The  FROM clause specifies the source of the data (database table  or view).
The  WHERE clause specifies conditions that selection results must  fulfill. Thus, it actually
determines what lines are included in the results  table.
For  information about other clauses, refer to the keyword documentation in the ABAP  Editor
for  the SELECT statement.
Open SQL statements are a subset of Standard SQL that is  fully integrated in the ABAP language.
They allow you to access the database in a uniform way  from your programs, regardless of the database system being used. Open SQL  statements are converted into database-specific SQL statements by the  database interface .
The SELECT SINGLE*  statement allows you to read a  single line from a database table. To ensure that you read a unique entry, all  of the key fields must be filled by the WHERE clause. The informs the database interface that all  columns in that line of the database table should be read. If only a specific  cross-section of columns is desired, a structure can be inserted  instead.
The name of a structure to which you want the database  interface to copy a data record is inserted after the INTO clause. The structure should have a structure identical  to the columns of the database table being read and be  left-justified.
If you use the CORRESPONDING FIELDS OF addition in the INTO clause, you can fill the target work area component by  component. The system only fills those components that have identical names to  columns in the database table. If you do not use this addition, the system fills  the work area from the left-hand end without any regard for its  structure.
If the system finds a table entry matching your  conditions, SY-SUBRC  has the value  0.
The SINGLE  addition tells the database that  only one line needs to be read. The database can then terminate the search as  soon as it has found that line. Therefore, SELECT SINGLE produces better performance for single -record access  than a SELECT loop if you supply values for all key  fields.
If you do not use the addition SINGLE with the SELECT  statement, the system reads  multiple records from the database. The field list determines the columns  whose data is to be read from the database.
The number of lines to be read can be restricted  using the WHERE clause. The restrictions contained in the WHERE clause should either be made according to the database  table's key fields or according to a secondary index. Further information about  key fields and secondary indexes can be found in the ABAP Dictionary. For  example, double -clicking on the database table included in the FROM clause will take you directly to the  Dictionary.
You may only enter the names of the database table  fields you want to be read in the WHERE  clause. 
Multiple logical conditions can be added to the WHERE clause using AND  or OR.
The database delivers data to the database interface in  packages. The ABAP runtime system copies the data records to the target area  line by line using a loop. It also provides for the sequential processing of all  of the statements between SELECT  and ENDSELECT.
SY-SUBRC  = 0 if the system was able to  select at least one entry. After the SELECT statement is executed in each loop pass, the system  field SY-DBCNT contains the number of lines read. After the ENDSELECT statement, it contains the total number of lines  read.
The addition INTO  TABLE 
Since an array fetch is not logically a loop, no  ENDSELECT statement is used.
SY-SUBRC  = 0 if the system was able to  read at least one table entry.
For further information about array fetch and internal  tables, refer to the Internal Tables unit of this course.
The program must contain a data object with a suitable  type for each column that is required from a database table. For reasons of  program maintenance, you must use the corresponding Dictionary objects to assign  types to the data objects. The INTO  clause specifies the data object  into which you want to place the data from the database table. There are two  different ways to do this:
Flat structure: You define a structure in your program that has the  fields in the same sequence as the field list in the SELECT clause. Then you enter the structure name in the  INTO clause. The contents are copied by position. The  structure field names are disregarded.
Single data objects: You enter a set of data objects in the INTO clause. 
If you use the INTO CORRESPONDING FIELDS clause, the data is placed in the structure fields that  have the same name.
Advantages of this construction:
The structure does not have to be structured in the same  way as the field list and does not need to be left-justified
This construction is easy to maintain, since extending  the field list does not require other changes to be made to the program, as long  as there is a field in the structure that has the same name and  type.
Disadvantages of this  construction:
INTO CORRESPONDING  FIELDS is more runtime-intensive  than INTO. The runtime may therefore be  longer.
If you want to place data into internal table columns of  the same name using an array fetch, use INTO CORRESPONDING FIELDS OF TABLE  
The SAP authorization concept recognizes a large number  of different authorizations. These are all managed centrally in the user master  record for every user.
Authorizations are not directly assigned to users, but  stored in work center descriptions (profiles).
These profiles are generated using the Profile  Generator, which administers the profiles as activity  groups.
Users can belong to one or more activity groups and are  then assigned the authorizations contained in those activity  groups.
Release 4.6 contains a large number of pre-defined  activity groups. You can use these as is or copy and tailor them to your  specific needs.
You should carry out an authorization check before  accessing the database. The AUTHORITYCHECK  statement first checks whether  the user has the authorization containing all the required values. You then  check the code value in the system field SY-SUBRC. If this value is 0, the user has the required  authorization and the program can continue. If the value is not 0, the user does  not possess the required authorization and you should display a message and take  the appropriate action.
All data in the SAP system must be protected from  unauthorized access by users who do not explicitly have permission to access  it.
The system administrator assigns user authorization when  maintaining user master data. During this process, you should determine exactly  which data users are allowed to access and what kind of access  should be allowed. 
This is carried out by an authorization object composed of the fields 'Activity' and 'Airline carrier' that has to be addressed both during the authorization assignment process and whenever your program performs an authorization check.
Authorization objects simply define the combination of  fields that need to be addressed
simultaneously and serve as templates for both  authorizations and authorization checks. They are organized into object classes  in order to make it easier to find and administer them; one object class or  several may exist in each application. You call the authorization object  maintenance transaction from the 'Development' menu in the ABAP Workbench. A  complete list of all development objects, sorted according to class and  including their corresponding fields and documentation, is part of this  transaction.
When making authorization checks in programs, you  specify the object and values the user needs in an authorization to be able to  access the object. You do not have to specify the name of the  authorization.
Important: The Authority-Check statement performs the authority  check and returns an appropriate return code value in SY-SUBRC. When checking this return code, you can specify the  consequences of a missing authorization (for example: terminate the program or  display a message and skip some lines of code).
You must specify all fields of the object in an  AUTHORITY-CHECK,  otherwise you receive a return code not  equal to zero. If you do not want to carry out a check for a particular field,  enter DUMMY after the field name.
The most important return codes for AUTHORITY-CHECK are:
0:  The user has an authorization containing the required  values.
4:  The user does not have the required authorization.
8:  The check could not successfully be carried out since not all fields of the  object were
specified.
The keyword documentation for AUTHORITY-CHECK contains a complete list of return  codes.
You can only specify a single field after the FIELD addition, not a selection table. There are function  modules which carry out the AUTHORITY-CHECK for all values in the selection table.
If reusable components that encapsulate complex data  retrieval are available , then you must use them. There are four techniques  available for doing this.
Methods of global classes
Methods of business objects
Function modules
Logical databases are data retrieval programs delivered  by SAP that return data in a hierarchically logical  sequence.
You can find information on the various techniques in  the Reuse Components unit.
Views are application-specific views of different ABAP  Dictionary tables. Views can contain a selection of fields from a single very  large table or fields from several different tables.
Views allow you to gather information from the fields of  different tables and present it to users in the form they require when working  with the R/3 System.
Views are mainly used for programming with ABAP and for  F4 online help.
If there are no components available that are suitable  for your purposes, you can carry out complex database access using ABAP-OPEN-  SQL statements. To do this you have to compare the merits of various techniques,  as using an unsuitable technique can result in considerable performance  problems


 Atom Feed (xml)
 Atom Feed (xml)
 

No comments:
Post a Comment