Ansicht
Dokumentation

ABAP Query ( RELNBC_ABAP-QUERY-40C )

ABAP Query ( RELNBC_ABAP-QUERY-40C )

Addresses (Business Address Services)   BAL_S_LOG - Application Log: Log header data  
This documentation is copyright by SAP AG.
SAP E-Book

Short text

ABAP Query

Description

For Release 4.5A ABAP Query has been enhanced in the following ways:

  1. Changes to the authorization concept
  2. Display function in all maintenance transactions
  3. Trash for deleted queries and functional areas
  4. New innovations in query maintenance
  • Printing with a left margin

  • Text maintenance for selection criteria

  • New options for basic list entries

  1. New innovations for query lists
  • Case sensitivity with query specific selection criteria

  • Connection to the ABAP List Viewer

  • Additional function pool

  • Enhancement of the Download to file function

  • Previous section and Next section

  • Enhancement of the private file interface

  1. New innovations in functional area maintenance
  • Functional areas encompassing logical databases with different node types

  • Enhancement of functional areas in the HR application

  • Left outer join

  • Generic checking and generating

  1. New innovations in user group maintenance
  • Restriction of query change authorization

  1. New components for additional function pool maintenance
  2. Consistency checks

Changes to the authorization concept

Two important changes have been made to the ABAP Query authorization concept. One change involves authorization to read tables, the other has to do with more precise assignment of query change authorization than was previously possible.

In Query, access to SAP system data is regulated using functional areas. Functional areas determine which data within a certain defined dataset may be read at all. Until now, if a functional area was created using a logical database, it was automatically assumed that the database program contained authorization for accessing the data contained in the database. If, however, additional tables were added or if a functional area was defined to read directly using a table or defined with a table join, then no standard authorization checks of the read access were performed or even made available. This allowed for unprotected access to all transparent data in the SAP system.

From Release 4.5A each table access in a generated query report that is executed with a SELECT statement will be checked to insure that the user has authorization to read the table. This is done using authorization object S_TABU_DIS. This is the same authorization object used to check authorization for tables when they are read using either the Data Browser (transaction SE16) or table maintenance (transaction SM31). Thus ABAP Query acts in much the same manner as these programs as far as read authorizations are concerned. Authorizations with authorization object S_TABU_DIS require no special maintenance, the system only evaluates those authorizations currently available to it.

Authorization object S_TABU_DIS checks authorization for the following tables:

  • for each additional table
  • for each table in a table join with functional areas that include a table join
  • for tables read with functional areas with direct read

Authorization to read table txxx is only granted if the end user has authorization to for object S_TABU_DIS that contains the authorization group for table txxx in field DICBERCLS and the value 03 (Display) in field ACTVT. You can assign authorization groups to tables using transaction SE54.

Authorization checks are not performed for logical database tables if the functional area encompasses a logical database. Whenever this is the case, the system automatically assumes that the database program will perform appropriate authorization checks.

In Releases 3.1I and 4.0B the following authorization checks, which could be installed in earlier releases as well, were used with authorization object S_TABU_DIS (see note 89744):
When creating a functional area using direct read or by way of a table join, the system checked to see if the person creating the functional area was in possession of the appropriate authorization (according to S_TABU_DIS) for reading the table. The same check was performed when attaching additional tables. This process only checked the authorization of the person performing these actions or creating the functional area and automatically transfered authorization to the end user.
For Release 4.5A this solution has been changed and replaced by the solution described above.

For end users to be able to use queries, two criteria must be fulfilled:

  • The user must be entered into at least one user group.
  • The user may only create or change queries if he or she possesses the appropriate authorization for authorization object S_QUERY.

This concept only allows for an end user to given change authorization for queries in all of the user groups in which he or she is entered. A more refined authorization giving the user change authorization to specific individual user groups in which he or she has been entered is not possible.
Such a refined authorization concept would be of great use, especially with the introduction of query areas (also called application areas or work areas) in Release 4.0A. This is due to the fact that the change authorizations controlled by authorization object S_QUERY refer to either the standard or the global query area. Thus, according to the current authorization concept, it is not possible to give an end user authorization to make changes in the standard query area only and not in the global area.
From Release 4.5A change authorization for queries can be given one end user per user group. For additional information, refer to the section on innovations in user group maintenance.

Display function in all maintenance transactions

All query object maintenance transactions (SQ00/SQ01, SQ02, SQ03 and SQ07) have a Display function from Release 4.5A. This function works just like analogous functions in other SAP system transactions: You can navigate through all maintenance screens without having to change them. Thus, Display function provides you with a more detailed description of a query object than the Description function.

Implementation of the Display function made several changes to the initial screen of the language comparison component necessary. Now two pushbuttons exist on the initial screen for the functions Change and Display. Until now, the system branched directly into change mode whenever ENTER was chosen.

Trash for deleted queries and functional areas

From Release 4.5A queries and functional areas are placed in a temporary storage buffer (Trash can) before they are deleted. This allows the user to retrieve items out of the trash for a period of 30 days before they are permanently deleted.

Trash cans are administered for each user group in the query maintenance component (transaction SQ01). From the initial screen this maintenance function can be reached using either the menu path Query -> Goto -> Trash or the corresponding pushbutton. This function is only active when the trash can for the user group in question is not empty, that is when at least one query fron that user group has been deleted.

When you execute the Trash function, a list is displayed of all queries from that user group that have been deleted. From this list it is then possible to select a query with your cursor and either Retrieve the query or Delete it. The Retrieve function reads the query from the trash and places it back in the user group, while at the same time checking to see if the query can indeed be re-placed into the user group where it originated. If, for example, the corresponding functional area has been deleted, retrieval is not possible, at least until the deleted functional area has also been retrieved from the trash. Successful retrieval is documented in a log.

The Delete function allows you to permanently delete a query from the trash before thirty days are up.

The Retrieve and Delete functions both lead to a query's subsequent removal (disappearance) from the trash.

A trash can for the entire work area is maintained in the functional area maintenance component (transaction SQ02). From the initial screen this maintenance function can be reached using either the menu path Functional area -> Goto -> More functions -> Trash or the corresponding pushbutton. When this function is executed, a list of all functional areas and queries deleted is displayed for all user groups. The functions Retrieve and Delete allow you to retrieve and deleted these objects just as described with queries above.

The Trash function is not supported for user groups.

New innovations in query maintenance

Printing with a left margin

The screen 'Title, Format' contains the new option 'Number of characters left margin' in the 'Print list' box that allows you to choose the width of your left margin during printing. Enter the number of spaces you want your list to be indented in this input field. This option does not affect how the list is displayed as a screen in the system.

Text maintenance for selection criteria

You can only maintain the text for a selection field on the 'Selections' screen if the corresponding field has been marked as a selection field, otherwise the text fields are not ready for input.
In order to change a text, you must first select the corresponding field and then choose ENTER. The text field is now ready for input.

New options for basic list entries

Up until now it made no sense to use the option 'Divide columns with |' (on the 'Basic list column structure' screen) because this usually created lists with irregular dividing lines in them. This was a result of the fact that the option in question applied to all entries in the list and you could not insert horizontal lines between the individual entries of lists with multiple lines.

In order to allow for better layout in basic lists using both horizontal and vertical lines, the 'List entry display options' screen now contains several new options that can be used for all list entries.

The options 'Horizontal line before' and 'Horizontal line after' can be set for each entry and determine where a horizontal line is inserted in a list when it is displayed. This option can only be used in conjunction with the option 'Basic list with border' on the 'Basic list column structure' screen. This option is automatically activated whenever the options 'Horizontal line before' and 'Horizontal line after' are used.

The option 'Columns with |' allows you to determine whether or not the various columns of a particular row should be separated by vertical lines. This option can only be used in conjunction with the option 'Column separation with |' on the 'Basic list column structure' screen. If this option is not activated, then all 'Columns with |' options are set to inactive and cannot be reactivated. If this option is activated, then all 'Columns with |' options are initially activated and can be individually deactivated.

New innovations for query lists

Case sensitivity with query specific selection criteria

When defining a query you can define selection criteria for all fields of that functional area and for all local fields as well. These criteria appear on the selection screen and allow you to further limit the scope of your data. If these fields contain character strings (type C), then the ABAP Dictionary definition of this field determines whether case sensitivity is maintained when the selection criteria are input or if all input values are converted to capital letters.

Some fields exist that have no ABAP Dictionary reference. These are additional fields and local fields whose data type definition does not use a LIKE reference to a Dictionary field. Up until now all input values for these kinds of fields were automatically converted into capital letters. Hence, selections based upon case sensitivity, where some letters were capitalized and others not, could not be previously made.

From Release 4.5A the selection criteria for those character string fields with no ABAP Dictionary reference are no longer automatically converted to capital letters. This means that when inserting selection criteria you must now pay attention to the exact manner in which something has been written.

Connection to the ABAP List Viewer

A new interactive function called Interactive list is now available for all single-line sublists in a query list (single-lined basic lists, statistics, and ranked lists. This new function transfers data to the ABAP List Viewer from the sublist you have selected. The ABAP List Viewer is a generic display tool used in many SAP programs. It creates a new list from the data transferred to it where numerous interactive functions such as sorting, addition, filtering, display variants and so forth possible. For additional information refer to the ABAP List Viewer documentation (cross application components (CA) - general application functions).

The Interactive list function works in the same manner as other interactive functions that pass data (table display, download to file, ABC analysis, and so forth). The system passes either the sublist the user has selected with the cursor, or, if this is not the case the first sublist visible on the screen. Whenever the function that allows you to directly pass the initial sublist is activated, an additional radio button for this function exists on the selection screen, allowing you to branch directly to the ABAP List Viewer.

Additional function pool

Numerous interactive functions are available in query lists. Single line lists especially have numerous functions that pass data (table display, download to file, ABC analysis, and so forth). All of these functions work according to the same principle: Sublist data together with descriptions of this data are passed by way of an interface to another program (a function module). The enhancement SQUE001, which is intended for customer use, also works according to this principle (see the appendix of the ABAP Query manual).

The number of functions that can be attached to query lists in this way is not limited. However, according to the techniques used up to now, the interface of a query report must be changed (enhanced) with each new function added. In order to make this process easier, a new function is being offered in Release 4.5A that acts as a container for new functions that you want to add. This function is called the Additional function pool.

The Additional function pool function bundles an arbitrary number of interactive functions for single line sublists that work according to the principles for passing data outlined above. Each of these functions must be implemented using a function module with a defined interface. Which and how many of the functions you want to make available to the user can be determined using a special new maintenance component (transaction SQ09, see below). This allows customer specific settings to be made with the additional function pool.

If the additional function pool contains at least one function, the List -> Additional function pool function (and its corresponding pushbutton) are activated on each single lined list. If the additional function pool contains exactly one function, then this function is automatically executed whenever the Additional function pool is called. If the additional function pool contains more than one function, a dialog box appears listing all of the functions at your disposal with a corresponding long text. From this list you can both choose and execute functions.

Whenever an initial sublist can be passed directly, you call also call the Additional function pool function directly using the Additional function pool radio button on the selection screen. If the additional function pool contains more than one function, a field is provided next to the radio button where you can enter the name of the function you want to call. If no name is entered and the Additional function pool function is called directly, a dialog box displaying all available functions appears at runtime. Whenever a name is entered and the Additional function pool function is called directly, the system directly executes the function entered.

You cannot enter the name of an additional function pool function directly; it must be inserted in the field with the help of the possible entries pushbutton. When you choose this pushbutton, a dialog box containing all available functions is displayed from which you can then select any function you want. This function name is then automatically transferred to the selection screen.

All functions that called using the additional function pool must 1) be implemented as a function module with a pre-determined interface, 2) be entered into special tables in the SAP system, and 3) be activated for use in the additional function pool.

The interface required for additional function pool function modules is the same interface that function module RSAQ_XINT_DISPLAY_BASIC_LIST uses. This function module is one of the functions that SAP delivers for use with the additional function pool.

Use transaction SQ09 to enter function modules as additional function function pool functions (see below). In addition, you must also activate additional function pool functions. This is also done using transaction SQ09. Those functions provided by SAP are already entered in the right table but HAVE NOT been activated. Thus, in order to be able to use these functions, they must be activated as well.

All additional function pool functions can only be called online in the foreground. If you run a query as a background job, it is not possible to call these functions using the direct passing mechanism.

With Release 4.5A three additional function pool functions are being delivered:

  1. inFOCUS (Analyze using inFOCUS)
    This function allows you to connect the external PC tool inFOCUS for analyzing and visualizing data. You must also install inFOCUS on your frontend computer and make sure that your inFOCUS file names include the suffix '.foc' (name extension for inFOCUS files).
    This function formats sublist data so that inFOCUS can read it and writes the data to a temporary folder on your frontend computer. This folder is created in the directory defined in either environment variable TMP or environment variable TEMP. If neither TMP nor TEMP has has been defined, then the folder is created in in your main directory. inFOCUS is then subsequently started with the folder that has been created.
  2. Display Basic List
    This function allows you to display a single line basic list using table control. This display mode provides you with a number of interactive functions and is used by SAP in several different standard reports. These include flexible employee lists (report RPLICO10) and other reports found in the HR application (time management, recruitment).
  3. Display Chart
    This function allows you to create two dimensional graphical representations of sublist data. The display chart function allows you to choose the fields you want to represent interactively. In the first dimension you can include any sublist field desired, in the second dimension only numeric fields.

You can also enter as many new functions of your own in the additional function pool as you like.

Enhancement of the Download to file function

The Download to file function has been enhanced so that you can now transfer column headers to the file you have created as well. A check box called 'With column headers' now exists in the dialog box that appears after the function Download to file is called. Whenever you select this check box, column headers are transferred. This is, however, only possible if the dat format you are using supports column header storage (data formats DAT and DBF).

In addition, you can also suggest a name for the file you are creating. In the past, the name of the query report being downloaded or a name similar to it was always given to the new file. Your name suggestion must be entered on the query's selection screen in the input field next to the 'Download to file' radio button. Your suggestion will always be used as the file name when the Download to file function is called, regardless of whether or not the 'Download to file' radio button has been selected or not.

Be aware that by entering a suggested file name you ARE NOT suppressing the dialog that is run through when the Download to file function is called.

The ability to suggest names for 'Download to file' files is especially useful when variants have been defined for your query.

Previous section and Next section

The functions Previous section (function code PP-) and Next section (function code PP+) are now available in query lists as pushbuttons. These functions do not scroll according to window size, but instead position the user at the beginning of either the next or the last page.

Enhancement of the private file interface

You can use enhancement SQUE0001 to attach customer programs to queries (see the appendix in the ABAP Query manual). The data contained in a query list as well as a description of this data is passed to these programs. The table used to describe the data in question (ABAP Dictionary structure RSAQLDESC) contains a lot of new information as of Release 4.5A. Previous solutions are, however, not affected by the new table structure.

Now that the additional function pool has been added (see above), the private file has become superfluous. For the sake of compatibility this function will continue to be supported, however SAP recommends that you gradually re-define those functions that you have in the private file so that you can add them to the additional function pool.

Be aware that additional function pool functions can only be processed online in the foreground and thus CANNOT be called during background processing. In contrast, contents of the private file CAN called during background processing.

New innovations in functional area maintenance

Functional areas encompassing logical databases with different node types

From Release 4.0A you can define logical database nodes in various different ways.

  1. Type T nodes (ABAP Dictionary tables), called type 'Database tables' from 4.5A
    This type of node corresponds to the only type of node possible prior to Release 4.0A (a flat Dictionary structure).
  2. Type S nodes (ABAP Dictionary structures), called type 'Dictionary type' from 4.5A
    In Releases 4.0A and 4.0B this node type allows you to attach alias names to flat ABAP Dictionary structures in logical databases. This is of great use when the names of such structures contain more than

14 characters and thus exceed the maximum node name length allowed. In addition, this node type allows you to include a Dictionary structure in a logical database numerous times under different aliases.
From Release 4.5A you can define complex types in the ABAP Dictionary, such as structures and table types and this node type allows you to use nodes with complex Dictionary types.

  1. Type C nodes (Complex data objects), called type 'Data type' from 4.5A
    These types of nodes refer to an arbitrary number of complex types that are defined in a type pool. From Release 4.5A, types of this sort can be better represented using complex ABAP Dictionary types. Thus, their use in logical databases is no longer recommended because of certain disadvantages that this leads to in ABAP Query (see below).

When defining functional areas in Releases 4.0A and 4.0B you may only use those logical databases containing type 'Database table' (type T) nodes. From Release 4.5A you can also use logical databases that contain the other two node types, however, certain limitations do apply in this case.

When using nodes with complex types (ABAP Dictionary types or data types), ABAP Query only allows you to evaluate those fields that can be addressed directly from the highest level of the type. If the complex type in question contains a table, the individual components that the table is made up of cannot be addressed. This is demonstrated in the following example.

Given: The following kind of complex type. ABAP Notation is chosen. This kind of type could also be depicted using a Dictionary type.

TYPES: BEGIN OF person,                          
             name(20),                          
             first_name(20),                    
             birthday(10),                      
       END OF person,                            
       BEGIN OF address,                        
             street(30),                        
             number(6),                          
             zipcode(10),                        
             city(30),                          
       END OF address,                          
       address_table TYPE address OCCURS 0.      
                                                
TYPES: BEGIN OF personal_data,                  
            person TYPE person,                
             first_address TYPE address,        
             other_addresses TYPE address_table,
       END OF personal_data.                    

If the logical database node PDATA is of type PERSONAL_DATA, the following fields of this node can be evaluated using ABAP Query:

  • PDATA-PERSON-NAME

  • PDATA-PERSON-FIRST_NAME

  • PDATA-PERSON-BIRTHDAY

  • PDATA-FIRST_ADDRESS-STREET

  • PDATA-FIRST_ADDRESS-NUMBER

  • PDATA-FIRST_ADDRESS-ZIPCODE

  • PDATA-FIRST_ADDRESS-CITY

Those fields containing information about additional addresses (OTHER_ADDRESSES) cannot be evaluate because a table type is being used here.

Additional restrictions apply to nodes with type 'Data type' (type C). Due to the fact that nodes of this type are not defined as ABAP Dictionary types, no long texts or headers exist for these fields. When defining a functional area you can only use the technical names of the fields as a suggestion for their name (for example PERSON-NAME). In order for these fields to reach the same state that all other database nodes are in, all texts must be maintained for fields of this kind.
Additionally, pay attention to the fact that reference field definition is not possible with nodes of type 'Data type' since this is only allowed with Dictionary types. Because of this, ABAP Query cannot recognize values with units (currency sums or quantities), nor can it evaluate them accordingly within these nodes.

Enhancement of functional areas in the HR application

Fuunctional areas in the HR application are supplied with their initial contents by a functional area generator. The information types that are to be included in a particular functional area must thus be pre-determined. Processing is then subsequently resumed just as in all other functional areas.

Previously you could not enhance a pre-existing functional area with new information types. Now, with the help of the Goto -> Add information types function on the screen for creating functional groups, you can do just that. The functional area generator is re-called and new information types can be chosen on the selection screen that are then added to the existing functional area.

Left outer join

From Release 3.0C you can create functional areas using a table join. Up until now, only inner joins were supported. From Release 4.5A left outer join is now available as well. There are, however, numerous restrictions mostly due to the fact that the SAP system supports multiple database systems. These restrictions are described in the documentation for the ABAP statement SELECT.

When checking or generating a functional area using a table join, the system also checks to see if these restrictions are being upheld. Any breach is recorded in an error log. One way the system checks to see if restictions are being obeyed is by providing a SELECT statement with all of the linking conditions specified during table join definition and subjecting it to a syntax check. This means that SELECT statements with corresponding syntax error messages can show up in your error log.

Right outer join is not supported.

Generic checking and generating

You can use the function Goto -> Other functions -> Check and generate on the initial screen of the functional area maintenance component (transaction SQ02) to check and generate multiple functional areas at a time. Initially, this function calls a selection screen where you can input the functional areas you want to check and generate. In addition, you must designate whether these functional areas are simply to be checked, or if they should be generated as well. The function generates a log as part of its results, listing the errors found or informing you that checking and/or generation process has been successfully completed.

New innovations in user group maintenance

Restriction of query change authorization

As has been already described above you can, as of Release 4.5A, assign users change authorization per user group. This allows the system administrator to determine a user's change authorizations using the user group maintenance component instead these change authorizations automatically being dependent on authorization object S_QUERY. Be aware of the following:

  • If an end user has change authorization for queries (authorization for authorization object S_QUERY with the value 02 in field ACTVT), then he or she can create and change queries in all user groups he or she has been entered into. The user group maintenance component allows you to rescind (take back) change authorization for individual user groups.
  • If an end user does not have change authorization for queries, then he or she cannot create or change queries in any of the user groups he or she has been entered into. In this case, this user's change authorization cannot be altered using the user group maintenance component.

Thus it becomes clear that end users who are supposed to have change authorization in some user groups and not in others must initially receive authorization for authorization object S_QUERY. System administrators can then subsequently restrict these users' change authorization in one of two ways.

  1. On the initial screen of the user group maintenance transaction you can call the Assign user and functional area function for individual user groups. The following screen then contains radio buttons for each user entered in the user group.
    If a user has authorization to change queries as determined in authorization object S_QUERY, then this radio button initially selected. This button can, however, be de-selected, which means that this user no longer has change authorization for queries in this user group.
    If a user does not have authorization to change queries as determined in authorization object S_QUERY, then this radio button is de-selected and cannot be selected.
  2. On the initial screen of the user group maintenance transaction you can call the Assign user function for individual users. The following screen then contains radio buttons for each user group in which that particular user has been entered.
    If a user has authorization to change queries as determined in authorization object S_QUERY, then all radio buttons are initially selected. These buttons can, however, be de-selected, which means that this user no longer has change authorization for queries in that particular user group.
    If a user does not have authorization to change queries as determined in authorization object S_QUERY, then these radio buttons are de-selected and cannot be selected.

New components for additional function pool maintenance

As previously mentioned in the section on 'New innovations for query lists - Additional function pool' each additional function pool function must be implemented using a function module with a pre-defined interface, be entered a special table in the SAP system, and be activated for use in the additional function pool. Both of the last two steps are undertaken using the new additional function pool maintenance component. All of the following commentary regarding the additional function pool is valid for both query areas (both the global and the standard).

The additional function pool is maintained in transaction SQ09. You can reach this screen from the initial screens of both the functional area maintenance component and the user group maintenance component by using either the function Environment -> Additional function pool or its corresponding pushbutton. Transaction SQ09 can only be called by those users who have authorization to maintain functional areas (authorization for authorization object S_QUERY with the value '23' in field ACTVT).

When you call the additional function pool maintenance component, a screen appears listing all of the functions already contained in the additional function pool. Each function is characterized by the following entries:

  • Sequence number
  • Name
  • Activation check box
  • Long text
  • Name of function module

You can only call those functions from within query lists whose activation check box has been selected on this screen. The sequence number you select for the 'active' functions in this list determines in what order they are listed in the dialog box (see the section on 'New innovations in query lists - Additional function pool).

Each function is characterized by a name and a long text, both of which are language independent and both of which appear in your dialog box. When you execute an additional function pool function, the system calls the function module listed here.

No changes can be made when you call the additional function pool maintenance component initially. In order to make changes, you must first call the Additional function pool -> Display<>Change function.

In change mode you can activate and deactivate those functions available on the overview screen and determine the sequence of those functions that are active. You activate a function by selecting the check box in the 'Active' column and can deactivate it by de-selecting the same check box. Once a function is activated, the 'No.' column is ready for input. The (whole) numbers entered here determine the sequence of functions in the additional function pool.

Activating functions and detemining their sequence on this screen is actually a technical process similar to Customizing. This means that no change request is created for these settings in the Workbench Organizer and that all of the settings must be repeated in each individual SAP system.

In order to enter a new function in the additional function pool, choose the Edit -> Create function on the overview screen. A dialog box appears where you enter the function's name, long text, and the name of its function module. You may only enterthe names of those function modules that have the right kind of interface (see the section 'New innovations in query lists - Additional function pool). Function modules may only be entered once in the additional function pool.

Once a function has been entered in the pool, only its long text may be altered. To do this select the function whose long text you want to change and select Edit -> Change text. The same dialog box is displayed that was displayed when you added the function to the function pool, however, now only the long text field is ready for input.

In order to delete a function from the additional function pool, select the function you want to delete and choose Edit -> Delete. A dialog box appears asking you if you really want to delete the entry from the additional function pool, choosing yes then causes deletion to be performed. The function module, however, remains intact.

Due to the fact that all additional function pool entries are their own transport objects (AQXI), creation, alteration, and deletion of these entries is monitored by the Workbench Organizer. Thus, whenever you assign these entries non-temporary development classes, they are distibuted to other SAP systems according to normal transport procedure. Be aware that the activation ID is not part of transport object and, as a result, is not transported.
Because all additional function pool settings are valid in both query areas, all changes made to the additional function pool take effect both in the global area and in all clients in the standard area of your SAP system.

Consistency checks

Introduction of the global query area in Release 4.0A greatly simplified how query objects (queries, functional areas, user groups) are transported, since objects in the global qurey area are now connected to the Workbench Organizer. Manual preparation or clean-up is no longer necessary before or after transport, as it was necessary in the standard query area. A major disadvantage of this new system is, however, that no checks can be made to insure that the query objects being imported are compatible with their new environment.

For example, it is now possible to transport a query without its corresponding functional area, that is a query can be transferred to a system where its corresponding functional area does not exist. This cannot happen in the standard area, because the transport tool automatically checks during import to see if the corresponding functional area already exists and cancels the import if this is not the case.

Other conceivable inconsistencies include:

  • user group does not exist
  • functional area not assigned to user group
  • fields are being used in query that have not been organized into functional groups

When inconsistencies like this crop up you can no longer work with the transported items in the your target system. Up until now, there was no way to find and correct these inconsistencies.

For Release 4.5A a consistency check function has been developed. This function can be called from the initial screen of the functional area maintenance transaction (transaction SQ02) using the menu path Goto -> More functions -> Consistency check. A selection screen is called where you can input the names of those objects you want to have checked. You can use the consistency check in both query areas (standard and global).

On this selection screen you can choose user groups, functional areas, and queries for checking. There are radio buttons and selection criteria for each type of object that allow the user to enter restrictions for each object of corresponding type. Additionally, there is a 'with dependent object check' radio button for each object type that allows you to have the system check all objects linked to the one you have selected for consistency as well. If, for example, this radio button is selected while a query is being checked, then, in addition to the query in question, its functional areas and user group will be checked as well. If this button is selected while a functional area is being checked, then, in addition to the functional area, all queries that have been defined using this functional area will be checked as well.

The following checks are performed:

  • with user groups
  • Does the user group have a catalog entry?

  • Do all assigned users have master records?

  • Do all assigned functional areas exist?

  • with functional areas
  • Does a catalog entry exist?

  • Do all assigned user groups exist?

  • Does the functional area exist?

  • Can the functional area be generated?

  • with queries
  • Does a catalog entry exist?

  • Does the user group exist?

  • Does the query exist?

  • Does the functional area exist?

  • Does the functional area - user group assignment exist?

  • Do both the query and the functional area refer to the same dataset?

  • Are all fields in both the query and the functional area defined?

  • Do any discrepancies exist in the functional area's field attributes?

After you have entered the names of the objects that you want checked for consistency, the checking can begin. The results of the check are displayed in a list that contains inconsistencies or the the name of the objects where no inconsistencies were discovered.

If inconsistencies were discovered, the action to be taken depends on the type of inconsistency. Some inconsistencies must be eliminated in the system, for example if users appear in a user group that have no user master record. Other inconsistencies can only be eliminated by completely retransporting the objects from the source system. A good example of this kind of inconsistency is the query transport without its corresponding functional area mentioned at the beginning of this section.

If no catalog entry is found during a consistency check or there are objects in the catalogs that no longer exist, you can use the Goto -> More functions -> Reconstruct catalogs function on the initial screen of the functional area maintenance component to reconstruct these catalogs. A selection screen is displayed where you can choose which catalogs you want to reconstruct.

Damage caused to data by errors

Software/hardware requirements

Installation information

Effects on System Administration

Effects on Customizing

Effect on batch input

Changes to the Interface

Changes in procedure

Procedure for removing dataset errors

Dependent functions

Planning

Further notes






Addresses (Business Address Services)   CPI1466 during Backup  
This documentation is copyright by SAP AG.

Length: 53935 Date: 20240520 Time: 200818     sap01-206 ( 892 ms )