Show TOC

ABAP/4 Query

Description

In Release 3.0A, ABAP/4 Query contains a number of enhancements and improvements which are described in the following overview.

New Features for Maintaining Queries

- Navigation
- Local fields
- New header maintenance handling
- Switch off standard title when printing
- Fixed columns and headers
- Search function for fields in functional areas
- Graphics settings for basic lists
- Delete basic list definition
- Technical documentation of fields
- Change history of queries

New Features in Query Lists

- Drill-down functionality in multiple line basic lists
- Totals display in basic lists
- Compressing statistics
- Selections display
- Display as table with table view control
- List backup improved
- New procedure for printing query lists
- New layout for selection screens

New Features for Maintaining Functional Areas

- Select options for functional areas
- Assigning functional areas to user groups
- Technical documentation of fields
- Update function in query directory
- Assignment of functional area to user groups
- Passing on attributes of data retrieval program

New Features for Maintaining User Groups

- Assigning users to user groups
- Copying user groups

New Features for Transporting Query Objects

- Transport using files
- Transporting variants of query reports
- Error handling during imports

New Features for Language Comparison

- New transaction for language comparison

New Features for Maintaining Queries

Navigation

Navigation within the component Maintain Queries has been improved so that there are now three different copies of all screens concerned with maintaining basic lists, statistics and ranked lists. Each screen contains all the relevant information for the current processing step. On the screens for defining the line structure of a basic list, this normally includes the field names and the input fields for defining the line number, position, sorting and summation. One screen copy contains just this information, another screen copy contains descriptions of the input fields, and a third screen copy contains an overview of the structure of the basic list, statistic or ranked list just defined. The pushbuttons on each screen allow you to toggle between these three screen copies. The screen containing the list just defined is normally displayed first. If, however, you want to display the screen with the descriptions first, select Settings -> Define... and specify accordingly.
The above information does not apply to header maintenance screens or to the graphics screen. Since header maintenance screens always contain the line structure of the sub-list, only two screen copies exist here, one with and one without descriptions. The screen used to define graphics settings for a sub-list exists only in one copy.

Local fields

Previously, whenever you needed information not available in a predefined field of the functional area, the only way to retrieve it was to extend the functional area. If, for example, the functional area contained a field for the number of items and a field for the currency amount, but no field for the price of this number of items, you could not output the price in the query until you had included an additional field for the purpose in the functional area.
From Release 3.0A, you can generate new information for your query from the fields which already exist in the functional area. This means that you can specify a calculation formula known only within the query for fields you define yourself. These fields are known as local fields.
To define the calculation formula for a local field, you must specify the existing fields in the functional area by name. The field names used in the query are not suitable for calculation formulae because they can consist of several long words. Therefore, on the Select Field screen, you can assign a short name of up to 10 characters to all fields of the functional area. This short name must begin with a letter and can contain only letters, digits and the character _ . You only have to assign a short name to a field from the functional area if you are using the field in a calculation formula of a local field or as a replacement variable in a header (see below).
To assign a short name to a field, select Edit -> Short names -> Switch on/off on the Select Field screen. The system then displays, for each field of the functional area, an additional input field where you can enter the short names for the required fields.
To define a local field, select Edit -> Local field -> Create on the Select Field screen. You then see a window where you can enter all the necessary information for defining a local field. This information includes a short name, a long text, headers and the functional group that is supposed to contain the local field. You must also enter information about the type of values you want to store in the local field. To do this, you can either assign the same attributes to the local field as to an already existing field, or specify yourself whether the field is a text field, a calculation field, a date field, a time field, a symbol field or an icon field. If you decide to define the attributes by referring to an existing field, you have several advantages. Firstly, the local field can always accept the same values as the reference field. Secondly, the local field inherits the currency or unit assignment of the reference field, if the reference field is a currency amount fields or a quantity field. In this case, the local field itself becomes the currency amount field or quantity field.
Symbol and icon fields are fields that are specially interpreted as symbols or icons on output to the list. As a result, an appropriate graphical representation appears in the list.
There are two ways of assigning the values to a local field. If you specify the field value by entering it on the query selection screen, the local field is treated like a parameter with a value defined once by entering it. However, this option is not meant for symbol and icon fields. If you determine the field value by means of a calculation formula, the value of the local field is then recalculated whenever one of the fields in the calculation formula changes its value.
Generally, a calculation formula comprises a single formula. Formulae follow the usual mathematical rules and consist of operands and operators.
Valid operands include the short names of fields, as well as numeric constants and character strings. There are also certain special fields availablen. These are:

- %NAME: Name of user processing the query
- %DATE: Current date when processing the query
- %TIME: Current time when processing the query

In addition, you can define extracts from character string fields. With date and time fields, you can choose the individual components (i.e. day, month, year, hour, minute, second).
To define the values of symbol and icon fields, formulae can contain the names of symbols and icons. These names begin with SYM_ or ICON_ and can be determined using the appropriate functions. A formula that contains a symbol or an icon can only consist of the symbol or icon, i.e. symbols and icons cannot be linked with other operands.
Valid operators include the basic calculation types, as well as DIV and MOD. You can also use parentheses in the usual way. For a detailed description, please refer to the online documentation.
The calculation of the field value may depend on a condition. In this case, the value is determined with a calculation formula only if the condition is also satisfied. If the condition is not satisfied, the field is set to the initial value. Conditions are formulated using boolean formulae which consist of comparisons that can be linked with the operators NOT, AND and OR. You can also use parentheses in the usual way. For a detailed description, please refer to the online documentation.
In more complex cases, the calculation of the field value may depend on any number of conditions, i.e. the value is calculated differently, depending which condition applies. You can also specify a calculation formula for cases where none of the conditions is satisfied. For this, you use the Complex calculation function displayed in the window for maintaining a local field.
When formulating the calculation formula, you can use various functions to display the available short names, symbols and icons. You can also choose a short name, symbol or icon from the display and transfer it to the position withint the formula where the cursor previously was.
When you have made all the necessary specifications to define a local field in the window, select Continue to return to the Select Field screen. The field you have just defined has been included in the specified functional group and can now be used in all other screens just like any other field from the functional area.
To change or delete a local field, place the cursor on the local field in the Select Field and choose the relevant function from the Edit menu.

New header maintenance handling

Previously, the headers for basic lists, statistics and ranked lists were predefined and could only be changed in a very restricted way. As a result, column headers which were changed and then did not correspond to the standard proposal could not be automatically adjusted if the line structure in the query definition was changed.
In Release 3.0A, ABAP/4 Query handles headers differently. There are now two types of header lines. Fixed header lines depend on the line structure of the query, while lines with column headers are for the fields output in the individual lines of the list. You can define any number of header lines. The maintenance of column headers is such that the system can automatically modify the column headers if the line structure changes.
Also new is the ability to define any number of footer lines at the end of a page. Within fixed header lines and footer lines, you can access the field values from the query again. This allows you, for example, to place a sort criterion in the header line and thus dispense with a text at the beginning of a sort criterion (control level).
The header maintenance screens have been adjusted accordingly. Each screen shows the general structure of the sub-list, starting with the header lines, then the line structure, and finally the footer lines. Standard proposals are, of course, available for the header lines as before.
You can maintain fixed header lines on the maintenance screen just by entering values. The Edit menu contains functions that allow you to insert or delete lines. Alternatively, you can use the existing function keys. Blank header lines are not output in the list. While basic lists do not require any header lines, you must specifiy at least one with statistics and ranked lists because, according to the previous conventions, this must contain the title of the statistic or ranked list. The system generates a standard proposal for this line.
In general, the rules for footer lines are the same as those for fixed header lines. Footer lines can accept input and you maintain them by entering values. The appropriate functions in the Edit menu and the corresponding function keys allow you to insert and delete lines. Blank footer lines are not output. In any case, it is not possible to vary the number of footer lines from sub-list to sub-list for technical reasons. If, for example, a query includes a basic list and a statistic and you define four footer lines for the basic list but only one footer line for the statistic, five lines are reserved for output of the page footer on every page of the list that contains the statistic (the first line in the page footer is always an underscore).
You can define fixed header lines and footer lines so that the values of any fields can be inserted into these lines when the query list is generated. This means that, when you define a header line or footer line, there must be a character string of the type &field within the line, where field must be the short name of a field. When the list is generated, the effect of the operator & is such that the character sequence &field is replaced by the current value of the field field. There are several special fields you can use to replace values. These are:

- %NAME: Name of user processing the query
- %DATE: Current date when processing the query
- %TIME: Current time when processing the query
- %PAGE: Current page number (6-characters)
- %P : Current page number (3-characters)

For these special fields, there are also the short forms N, D, T and P . However, this can result in multiple meaning since the names are also used as short names for query fields. In such cases, the field value from the query is always used for replacement purposes.
Column headers are no longer maintained by line, but by field. This means that you can define a query-specific header for each field, if you do not want to use the header supplied by the functional area. The individual lines of the column headers are then calculated from the field headers. Maintenance by field has the advantage that the column headers can be refreshed automatically whenever the line structure changes.
Normally, ABAP/4 Query proposes column headers for all lines. Column headers for one line of a sub-list (basic list, statistic, ranked list) can consist of one or two lines, since the column header for a field can cover one or two lines. Statistics and ranked lists usually have two-line column headers.
If you do not want any column headers for a line of your query, place the cursor on the relevant line in the Column header or Line structure area and select Edit -> Column header -> Delete line or press the appropriate function key. If you require column headers, place the cursor on the relevant line in the Line structure and select Edit -> Column header -> Insert line or press the appropriate function key. With basic lists, you can define the column headers as before on the List Line Output Options screen.
As already indicated, modifying column headers is possible only by changing the header for each individual field. For this reason, you cannot change column headers on the maitenance screens. If you want a different column header for a field than the proposed header, place the cursor on the field concerned in the Column header area and select Edit -> Column header -> Maintain or press the appropriate function key. You then see a window where you can define your own field header or revert to the standard proposal. Please note that a field in a query can only have one header. This means that when you define your own field header, this is the header which will always be used when a column header is needed for this field in the query. Please also note that, with currency amount fields and quantity fields in statistics and ranked lists, the second line of the column header is always used to specify the reference unit. You can change the column headers for fields as described above on the header maintenance screen. It is also possible to do this on the Select Field screen. To do this, place the cursor on the relevant field and select Edit -> Column header -> Maintain.
Statistics and ranked lists may have different additional fields. These contain information about the number of records read, the percentage proportion, the average value, and the rank specification. You cannot change the column header for these fields.
Please note that, although the number of header lines in the page header and page footer is unrestricted, the total number of these lines must be smaller than the number of lines per page. You can check this condition only partially in the query definition because the number of lines per page can change when you execute the query (e.g. when printing or processing in the background). If this condition is violated at processing time, the program is terminated.
All the options mentioned for maintaining header and footer lines are described in detail in the online documentation. The maintenance screens contain appropriate help texts for all input and output fields.

Switch off standard title when printing

When you print a list or process it in the background, each page has two title lines that do not appear in the screen display. These title lines (standard title) contain the date, the title of the query and the page numbering.
The new header maintenance options allow you to include information like the date and the page numbering in the page header of the screen display. For such queries, it would be inconvenient if the standard title still appeared with printed output. Therefore, the Title, Format screen contains a new option that allows you to suppress output of the standard title for print output.

Fixed columns and headers

With lists wider than the window on the screen, you were previously able to shift the entire list horizontally, i.e. a shift to the left always moved the first characters on a line out of the visible area. However, it is often useful in such horizontal shifts to be able to keep the first characters on a line visible, since they contain essential information for the interpretation of key columns. From Release 3.0A, key columns are supported for each sub-list of a query.
With basic lists, you define key columns on the Field Output Options screen by assigning the color attribute Key to the fields you want to remain visible after a horizontal shift of the list in the visible area of the screen. Please note that, when you define a fixed area of a list, this applies to a whole page and there can be no variation from line to line within that page. Depending on what you specify, ABAP/4 Query thus calculates for key columns a character position beyond which you cannot go when scrolling horizontally in the visible area of the screen. This means that, with multiple line basic lists, only part of a field may belong to the fixed area of a page.
With statistics and ranked lists, the key columns are determined by the query itself. The color attribute Key is automatically assigned to all non-numeric fields of a query according to the previous conventions and this procedure is retained. In addition, these fields now automatically become key columns and thus always remain visible when you perform a horizontal shift.
In the case of horizontal shifts of lines in the page header and page footer, fixed header lines and lines in the page footer cannot usually be shifted horizontally. Column headers behave like assigned fields, i.e. the column headers of fields that are key columns cannot be shifted horizontally either.

Search function for fields in functional areas

If many functional areas are assigned to a user group and these functional areas contain a multiplicity of fields, it can be difficult to select the correct functional area when recreating a query. On the other hand, this choice is decisive and cannot be reversed later (i.e. when the query already exists).
When you recreate a query, you see as always a list of functional areas assigned to the user group and must choose one of these. From Release 3.0A, this screen provides you with a search function which allows you to scan strings within the functional areas. This function determines all the fields that contain the specified strings. The result is a list of all those functional areas containing fields that satisfy the search condition, as well as the fields themselves. From this list, you can choose the functional area.
There is a similar function on the Select Field screen. Here, you can also scan for any string, but the search is restricted to the fields of the functional area used to define the query. The result is a list of all the fields of the functional area that contain one of the strings specified. In this display, you can choose fields by selecting a checkbox, so that when you return to the Select Field screen, they are flagged as selected.

Graphics settings for basic lists

As already possible with statistics and ranked lists, you can now set parameters for the graphical representation of basic lists. Previously, these definitions were standard. However, please note that this is possible only for one-line basic lists and that the maintenance of graphics settings only makes sense for one-line basic lists.

Deleting the basic list definition

Another new service function is Delete -> Basic list on the Basic List Line Structure screen. This allows you to delete the basic list in a query definition correctly and corresponds to the functions for deleting statistics and ranked lists.

Technical documentation of fields

By selecting Extras -> Field documentation, you can now display technical information about the field as well as documentation. Details include the type, the output length and, if relevant, the number of digits and the number of decimal places.

Change history of queries

When you select Extras -> Status info... , the system now displays the name of the last person to change the query as well as the author. Only one person per day is specified.

New Features in Query Lists

Previously, query lists only offered interactive functions allowing you to pass on a list for further processing (save, EXCEL, download to file, etc.). Interactive functions allowing you to present information from the list at different stages of compression were not supported. From Release 3.0A, ABAP/4 Query provides several such options.

Drill-down functionality in multiple line basic lists

Suppose you want to define a four-line basic list which contains the customer address in the first three lines and that customer's sales figures (fiscal year, sales) in the fourth line. According to the previous conventions, the address would be output not only for each custoemer, but also for all sales figures. You can now display a list showing only all the addresses first (compressed format). If you then place the cursor on an address and select Choose , press the appropriate function key or double-click, you get another (detailed) list that contains the address and sales figures for the selected customer. Subsequently, you can select Back to return to the original list and then display the sales figures for another customer.
Several degrees of compression are possible (not just two as described in the example). The degree to which you can compress a list and the line of a multiple line basic list output at a particular compression level depends on the query with reference to the structure of the logical database. You cannot alter this when defining a query unless you change the structure of the individual lines.
Compressed format is a display option that occurs only with multiple line basic lists. However, the fact that a basic list is a multiple line list is not sufficient to allow compressed format. If a three-line basic list contains, for example, only the customer's address details, the basic list cannot be displayed in compressed format.
If a basic list allows compressed format display, you will have this option when you display the list. You can switch between compressed and expanded format (expanded was usual up to now) at any time by selecting Edit -> Basic list format -> Expand <-> Compress. When defining the query, you can define on the Basic List Line Structure screen whether you want the first dispaly of the list to be compressed or expanded.
You can also use the compressed format option with all the queries from earlier Releases without having to make any changes to the query definition.

Totals display in basic lists

If you are summing fields in a basic list, the output display always contains an overall total and (where defined) sub-totals for the different sort levels. Output of the totals lines is at the end of the list or after each sort level, when all the individual values contributing to the total have been displayed.
With lists containing totals, you can always use the Totals only function to display a secondary list showing only the totals lines. To return to the original list, select Back .

Compressing statistics

The last line of statistics is always a totals line containing the overall total. Statistics may also contain sub-totals lines. As with the totals display for basic lists, you can display a secondary list with only the sub-totals lines and the overall total. To do this, you place the cursor on any line of a statistic and select Compress statistic.
You can compress statistics progressively in several stages, depending on how many sort levels with sub-totals have been defined. The first time you use the compression function, all the sub-totals lines and the overall total are displayed. If you select the function again, the sub-totals lines at the lowest sort level in the list (i.e. the sort level with the largest sort number) are no longer output. Every time you call the function again, the sub-totals of another sort level are removed from the display. You can continue this compression process until the list cotains only the overall total. By repeatedly calling the Back function, you can gradually redisplay the hidden lines and return to the complete statistic on the original screen.
You can also compress statistics defined without sub-totals. In this case, of course, you get a list containing only the overall total the first time you call the function.

Selections display

For each query list generated, you can use the Selections function to display the selection screen or the values entered on the selection screen. The system outputs this information in a dialog box. Since the function is also available for saved lists, it is easy to determine the selections used when you first generated them.
Caution: You cannot display the selections for lists saved before Release 3.0.

Display as table with table view control

The Display as table function allows you to output one-line basic lists, statistics and ranked lists in a special format. When you call the function, you see a screen which displays the data of the selected sub-list in a table view control. Totals lines and lines with control level texts are not included in this display.
The advantage of this type of list lies in the interactive functions (column switching, storage of settings, etc.) provided by the table view control. Yet more functions are available when you make use of the options the table view control offers for line and column selection.
Two important functions are those allowing you to sort in ascending or descending order. When you select one or more columns and call one of the sort functions, the system then sorts by the columns you selected, starting on the left. This means that the highest selection criterion refers to the column on the extreme left of the display. By switching and marking columns, you can sort the data any way you like. Sorted columns are flagged.
The Sum function allows you to form totals. It calculates an overall total for each numeric column, and sub-totals for all selected and sorted columns. To get sub-totals for a particular sort criterion, you must first sort by this criterion by selecting the column (as well as other columns, if necessary) and then calling a sort function. Then, you select the column again and call the Sum function.
All totals lines are flagged. The Display totals only function allows you to restrict the display to the sub-totals and the overall total. If you select Switch off totals , all totals lines are removed from the display.
The Find and Continue search functions allow you to perform a search in columns you have selected, although you cannot search in numeric columns.
The Find function requests you to enter a search criterion and then begins the search in the first visible line or in the first line of the table. If it finds a match, the system places the cursor on the found term and scrolls the table so that it appears in the first visible line at the top of the screen.
The Continue search function searches for a criterion previously specified. The search starts from the cursor position, if this is in the table area, or from the first visible line of the table, if it is not. By selecting Find and then calling Continue search repeatedly, you can scan a table for each occurrence of a particular search criterion.
If the criterion is not found, or no more occurences are found, you get an appropriate message.
You can use the Hide lines/columns function to suppress selected lines and columns. This way, you can restrict the display to the relevant sections and make it more readable. The functions for sorting, summing, searching and printing always refer to the visible dataset, i.e. they ignore hidden lines and columns. You can also save a setting with hidden columns as a variant of the table view control.
The Show lines/columns function allows to re-display hidden lines and columns.
Finally, there are two other functions you can use to fix column positions or to release the fix. With wide lists, not all columns are visible in the table view control, but you can scroll across using a horizontal scroll bar. Initially, all fields move when you scroll horizontally. However, if you select a column and then call the Fix column function, the selected column and all columns to the left of it remain fixed in the display when you scroll horizontally. Before you do this, all columns to be fixed must be in their original position. To release fixed columns, select Cancel fix .
If you select the Print function, the system prints the table exactly as it appears on the screen. This takes into account only visible lines and columns, as well as sorting, totals lines, column switches and column width changes. The Display initial function allows you to return the table to its appearance when first displayed. This means that all preceding steps (sorting, summation, hiding lines and columns, etc.) are cancelled.
The table view control display also includes the interactive functions allowing you to pass the list on for further processing. However, you should be aware in this context that hidden lines are ignored, but hidden columns are always taken into account.
The procedure for the Graphics function is different from that in the list display. To display a sequence of values in graphical format, you must first select the column from which you want the numerical values to be taken. Then, you must select all the lines from which values are to be taken. Remember that you can select no more than 32 lines and that values from totals lines cannot processed in the graphic.

List backup improved

List backup has been improved so that the colors assigned to lines are not lost. If a list contains fixed columns, they are flagged as fixed in the display of a saved list and cannot be scrolled horizontally. Once again, these improvements do not apply to lists saved prior to Release 3.0.

New procedure for printing query lists

Previously, if you displayed a list on the screen and then called the Print function, the list was not re-formatted, i.e. the page structure was the same as in the screen display. This is normal practice when printing from a list display.
From Release 3.0, a query list is re-formatted if you print it from the screen display. This means you can adapt it to suit any printer you are using. The print process thus works exactly the same as when you select Execute and print on the selection screen.
With saved lists, the old method still applies, i.e. they are not re-formatted and are thus printed exactly as they appear on the screen.

New layout for selection screens

On the selection screens of generated reports, radio buttons are used for the further processing option instead of checkboxes.

New Features for Maintaining Functional Areas

Select options for functional areas

When defining a functional area previously, you were able to define parameters which appear on every selection screen of a query defined using this functional area. From Release 3.0A, you can also define selection criteria (select options) for a functional area.
Since a selection criterion is defined for a particular field, you must always specify the field to which the selection criterion refers. This field cannot be a field of a linked SAP table, nor an additional field. The selection criterion can thus only be a field from the logical database or, in the case of a functional area without an underlying database, a field of the table used to set up the functional area. The selection criterion can also refer to a field defined in the DATA code of the functional area.
Once a selection criterion has been defined once for a functional area, it appears on the selection screen for all queries which use this functional area. As with parameters, however, it is not the definition of the selection criterion alone which actually results in selections, i.e. the data records are not excluded from the processing simply if they do not satisfy the selection criterion. To achieve this, you must use the ABAP/4 statement CHECK at the appropriate GET event or at the time of record processing to evaluate the selection criterion.
As with defining parameters, it is possible to specify additions which allow the ABAP/4 statement SELECT-OPTIONS permits. You can also use a sequence number to specify the sequecen of parameters and selection criteria on the report selection screen, i.e. this sequence number applies for both parameters and selection criteria.

Technical documentation of fields

By selecting Extras -> Field documentation, you can now display technical information about the field as well as documentation. Details include the type, the output length and, if relevant, the number of digits and the number of decimal places. They also tell you whether the the field is a currency amount field, a currency field, a quantity field or a unit field.

Update function in query directory

In the query directory (which you access by selecting Goto -> Query directory ), you can now regenerate the query report for all selected queries by selecting Generate . When you do this, the generation is not performed at once. Rather, a flag is set for each selected query to show that the report must be regenerated the next time the query is executed.
This function is sometimes useful if you have made changes to a functional area. If the changes are important to the flow of the query because, for example, the code for an additional field has changed, you can use this function to regenerate all queries affected the next time you execute and thus include the code change for the additional field.

Assigning functional areas to user groups

Previously, you could only assign a functional area to one or more user groups with the appropriate function in the component Maintain User Groups. This same function is now also available in the component Maintain Functional Areas. This means that, when you create or change a functional area, you can immediately call a function to assign this functional area to user groups.

Passing on the attributes of a data retrieval program

In the case of functional areas which use a data retrieval program, the attributes of this program were previously ignored when generating associated query reports, i.e. the details about the logical database were not taken over from the data retrieval program. From Release 3.0, the attributes are passed on to every generated report. This means that, in special cases, you can write a data retrieval program which uses a logical database. However, although the logical database can be used for data acquisition purposes, the data to be evaluated by the query must be made available in a (flat) table.

New Features for Maintaining User Groups

Assigning users to user groups

Previously, a user could only be assigned to different user groups by calling each individual user group and entering or deleting the user. This procedure can be tedious if you have users that have to be entered in several different user groups.
Release 3.0A contains an enhanced function for assigning users to user groups. When you enter the user name now, you see a screen containing all existing user groups with a checkbox for each one. The checkbox tells you whether the specified user is assigned to a user group or not. By maintaining the checkboxes, you can change the assignment of the user.

Copying user groups

A new service function allowing you to copy user groups is also new to user group maitenance in Release 3.0A. Any copied user group contains the same users as the original and is assigned to the same functional areas. When copying, you can also specify whether you want to copy the queries as well.

New Features for Transporting Query Objects

Transport using files

You can now transport query objects by uploading/downloading files. To do this, you use the Download and Upload options on the initial screen of the transport system.
The transport action Download works like the transport action Export , except that the transport dataset is not written to the transport table TAQTS, but to a file defined in the dialog. Since you cannot use the transport system to transport this file, no transport request is created as with exports. You should bear in mind that a file can contain only one transport dataset because the upload cannot handle more than one. If the system finds that the desired file already exists when downloading, the file will be overwritten or you must choose a different one. An existing file should never be extended. The transport action Upload works like the transport action Import, except that the transport dataset is not taken from the transport table TAQTS, but from a file which is defined in the dialog. The same checks are performed.

Transporting variants of query reports

Although you are already able to create and use query variants, it was not previously possible to transport them, since query reports are temporary objects which have different names in the target client. Now, you can include these variants in the transport dataset and transport them with other objects. To do this, you have to use the Export and Import procedure. If you use Download and Upload, variants cannot be transported.
On the initial screen of the transport system, there is a checkbox you can select to indicate that you are transporting variants. If this is set, all variants of the queries to be transported are also included in the transport dataset. This checkbox has only one meaning, if the transport action Export is set. In all other cases, it is either ignored or reset.
When importing, a variant is only included in the target client if it does not already exist.
When you transport variants, they are also listed in all logs. By performing a test export, you can thus determine which variants are included in the transport dataset. By performing a test import, you can deetermine which variants are actually imported and which ones cannot be imported because they already exist.

Error handling during imports

When importing previously, the processing was always terminated as soon as the first serious error occurred. Now, with imports and uploads, the processing continues with the next object to be imported. There may, however, still be errors in this procedure.

New Features for Language Comparison

New transaction for language comparison

Release 3.0A contains a new transaction (SQ07) for language comparison of query objects (i.e. user groups, functional areas and queries). This replaces the three previous transactions (SQ04, SQ05 and SQ06). The new transaction requires you to have an authorization for the authorization object S_QUERY with the value Translate (67). This authorization is included in the supplied authorizations S_QUERY_ALL and S_QUERY_UPD. The old transactions should no longer be used because they cannot handle the new features in Release 3.0A.
On the initial screen of the new transaction, you specify the source and target languages, the type of the object to be compared and the object name. Input help is available for this. You start the comparison by pressing ENTER.
The next screen contains an overview of the selected object and includes all sub-objects to which texts have been assigned (e.g. functional groups, database fields, headers and so on). Before each sub-object, there is a radio button which provides information about the state of the sub-object with regard to language comparison. If this radio button is set, the texts are compared (otherwise not). Whereas you can use the Only differences function to display just the sub-objects which still need to be adjusted, the All texts function allows you to display all sub-objects (if they are not all displayed already). To compare the texts of a sub-object, you must place the cursor on the sub-object and select Choose . You then see a screen containing the texts for comparison, listed in pairs. The 'older' text of a pair is flagged if the texts have not been compared. All texts can be overwritten, but it is not possible to delete an existing text.
The Next sub-object and Previous sub-object functions allow you to display the next or previous sub-object on the screen for comparison without having to return to the list of sub-objects and make another choice. To go back to the list, you can use the Close function.
You must save the result of a language comparison before leaving the transaction.

Changes in procedure

When upgrading to Release 3.0A, you do not have to follow any procedure to convert existing queries, functional areas and user groups. All the necessary steps are performed automatically by ABAP/4 Query the first time you use the objects in the new Release. However, conversions are required for headers, since the handling of these has changed considerably since earlier Releases.
The conversion of headers is performed in such a way that the layout of each list is retained. Standard headers become column headers. Headers which do not conform to the standard format become fixed header lines. With statistics and ranked lists, an underscore is inserted in the header area if you use your own headers.

The color attribute Key now has an additional meaning. Fields with this attribute are key columns and cannot be shifted horizontally when you scroll the display. This is particularly important with statistics and ranked lists where all non-numeric fields automatically have this color attribute and it is not possible to make any changes.

Further notes

All the new options for defining queries, together with the relevant messages, are described in detail in the online documentation.