Problems and questions on the "table compare" function.
This function can be called with Transaction SCU0, OY19 or with the utility report RSTBSERV. The functions are also included in the standard table maintenance routine (SM30, which itself is contained in many Customizing maintenance functions).
Questions about the interface
- a) Scrolling is not supported or not supported correctly with the scrollbar.
- b) As of 3.0B, it is no longer possible to choose the 'adjust' function.
- c) For certain table views in general (also from the SM30 table maintenance routine), a comparison is only possible without adjustment. The following message appears (TB414):
"Only compare is possible since selection is in non-key fields"
- d) Comparing using the SM30 table maintenance routine also only provides a comparison, not an adjustment facility (copy function) for simple tables (that is, no views).
- e) When you backup the complete list only the current page is saved.
- 1. Program error
- a) in program "SAPLSR1T" in the form routine "ATAB_CGET1" with error text: "ASSIGN_LENGTH_0" in program SAPLSR1T". (Error message in the system log: "Invalid interface parameter INTTAB")
- b) Termination in function "SEARCH" with the message 'Screen source "1010" is missing' if extended search is pressed in the next screen by clicking on 'Arrow to right'.
- c) only 2.1x/2.2x: Error during save (for example, after having copied an entry) if you execute a remote compare with update option.
- d) In the case of tables with a width greater than 120 bytes the error "write_to_offset_too_large" is generated.
- 2. Results of the comparison are incorrect. In certain cases, too many differences are displayed:
- a) Identical table entries highlighted as different.
- b) Incorrect compare flag for fields of type INT and FLTP. When you copy (copy entry: only for compare within SM30 table maintenance routine) to the current client, the entry is stored under an incorrect key. This only occurs if a key field is of data type INT (integer).
- c) In the compare function of the table maintenance routine (SM30), some of the fields of the remote system remain empty. These are usually text fields.
- d) The symbol '#' (pound sign) is shown instead of the correct contents of the field.
- 3. The data transfer with Transaction SM30 does not work with a 3.1 kernel.
Due to its generic character (interpretation of any table structures, also across system boundaries with remote techniques), the program is not able to support complete comparison and adjustment functions for all the different types of tables and table views.
There are, in particular, restrictions in respect of the complexity of the views which are displayed. There is a whole range of problems associated with multi-level views, which will be explored in more depth in this note.
We are currently working on a more powerful comparison tool which will be able to support multi-level views. Introduction of this is planned for Release 4.0. We are as yet unable to say whether a preliminary version will be possible in Release 3.0/ 3.1.
In the event of errors, we are unable to offer patches because of the large amount of communication with central interfaces. Solution
- 1. Questions on the interface
- a) Point 1 is usually caused by the program design. The problems described here can only be corrected by redesigning and cannot therefore be implemented in the near future. Further developments cannot be expected until Release 4.0. In the short term, navigation is possible with the scrolling function keys (keys "Page Up" / "Page down") and with the function "Restart/position after argument". A complete revision of the tool to permit scrolling with the scrollbar as well as with the scroll function keys is only planned for Release 4.0.
- b) It is possible to copy whole entries from the compare client to the current client using the table maintenance routine (SM30) in 3.0. This is also true for a remote compare with another system.
The simpler prototype contained in Release 2.1/2.2 had a copy function for starting from QY19 and RSTBSERV as well. The copy function is only provided in 3.0 within the table maintenance routine since only entries which are copied here can be checked for consistency.
Furthermore, including the copy function in the SM30 maintenance routine ensures that changes are recorded in the Correction and Transport System for later transport to subsequent systems.
- c) Not supported at the moment. Extension planned for Release 4.0.
- d) For simple tables (i.e. no views), only a compare, but not an adjustment (copy function) is possible: copy function for simple base tables is not supported at the moment. Planned for later maintenance upgrade (3.0E or later).
- e) To realize the functions for the selected reading or the vertical split between the tables a separate page handling had to be implemented. The functions under System -> List... assume that the data is always created with a standard issue of a complete list, and that the complete page contents was issued. Thus the functions can only process the current page.
The following methods can be used as a workaround:
- Choose "Print table"
- on the screen with the print parameters, do not click on "Immediate output"
- go into Transaction SP01
- look at the list for the print request (the whole table is now the list on the screen);
- save this list on file "[SYSTEM], [Liste], [Save], [Local File], [unconverted]".
- 2. Program error
- a) There are two causes of a termination which are documented with the corresponding messages in the system log ("Invalid interface parameter INTTAB"):
- The specified table is not a database table. It is rather the definition of a program structure. Cause: the corresponding plausibility check is missing in the table adjustment pool. As of 3.0, the error message "Table is not a database table" appears.
Workaround: avoid the input error and enter a correct table name.
- (only up to 2.1x/2.2x) table entry is longer than 64 bytes.
- b) Termination in function "SEARCH" (screen source 1010 missing):
Extended search function accidentally displayed on the screen. Do not use this. The function no longer exists on the screen as of Release 3.0D.
- c) only 2.1x/2.2x: Error during save (for example, after having copied an entry): happens only during remote compare and only if table is larger than 64 characters, no problem for smaller tables.
- d) The programs are designed for displaying tables with transportable keys. These tables have keys of less than 120 bytes. If the width of a key is greater than 120 characters the error is generated.
- 3. Results of the comparison are not correct.
- a) Idential entries are marked as different.
We only know of cases in which the table has fields of type INT (numeric fields, "integer").
If these are tables which you created yourself, avoid creating integer fields.
- b) No workaround exists. The utility report RSTBSERV provides a limited comparison help (see below, Appendix A).
- c) Some of the fields of the remote system remain empty in the compare function of the table maintenance routine (SM30). These are a view having a complex structure and several tables (join view). Usually text fields are affected.
There is no workaround. The utility report RSTBSERV provides a limited comparison help (see below, Appendix A).
- d) As in (c). However, in this case, the report RSTBSERV cannot provide any comparison help.
In the above-mentioned cases it is of course also impossible to transfer correctly out of the comparison system/client. In this case, a transport request must be made which is transported into another system by means of the transport system or into the target client of the same system with Transaction SCC1.
As a result of a kernel incomptability problems occur. Change the
FORM routine UFLAG_MOD in report LSR1TF00 as specified in the source
code.
Compare utility RSTBSERV (Transaction OY19)
----------------------------------------------
Since the compare function was originally designed for simple tables, views with a very complex structure cannot be completely resolved by the logic contained in the tool at the moment. The compare tool is scheduled to be extended in a later release upgrade, but will not be available for delivery before the beginning of 1997.This means that some fields remain empty in the compare display for the compare table (of the other client or of the remote system).
If you perform the compare using the above-specified report RSTBSERV (Transaction OY19), this is also true for the table display of the current client as well as for that of the compare client or of the remote system. Since the fields obtained by join are usually for documentation (are frequently text fields), the result of the compare could be useful since all the fields of the primary table and the fields of the secondary table (one-level association) are displayed completely. Only those fields which are linked with the primary table by more than 2 join levels remain empty. However, since this is true for both compare tables, the result of the compare is correct for the primary fields and can be used. If you know the names of the tables contained in the view, however, you should perform the compare using the tables instead of using the view, because tables can always be compared correctly.
On the other hand, the result of the compare is incorrect if you start the compare function from the table maintenance transaction (SM30 or Customizing maintenance) for a complex view with a multiple-level join on several tables. Reason: in the current client, the view data is obtained from the table maintenance routine (SM30), but the contents of the compare view (from the other client or from the remote system) are obtained from the compare tool described above, where certain fields could not be assigned entries. As a result, an unnecessarily large number of differences is incorrectly detected during the compare.
Since, as already mentioned, a short-term workaround is not possible, we can only recommend that you perform the view adjustment using the above-specified utility report in such cases. Of course you can also check the tables contained in the view singly if you know the names of the particular tables (normally only the technical specialist or application consultant will know them).
It is not possible to assign the entries with the copy function. They would have to be entered in the source environment by a transport request and migrated to the current client from there.
Additional key words
Key words: R3SLMOD, SCU0, RSTBSERV, RSAVGL00, OY19
No comments:
Post a Comment