Git client for ABAP
Go to file
Jakub Filak 4c3c4e8ea8 objects: work around the protected redefinition shortdump (#2891)
The methods CL_OO_CLASS_SECTION_SOURCE=>SCAN_SECTION_SOURCE calls the
function SCAN_ABAP_OBJECTS_SECTION without the parameter superclsname
which causes that variable scan_result (vse_tabs) holds a broken table of
redefinitions for protected methods which leads into a short dump during
CL_OO_CLASS_SECTION_SOURCE=>REVERT_SCAN_RESULTS.

The problem does not occur for public section because the public section
contains "CLASS ... INHERITING FROM ...", so superclsname gets
populated. It's obvious that the class definition statement is not
present in the protected section.

The crash is reported as DBSQL_DUPLICATE_KEY_ERROR in the program
SAPLSEOR at INSERT_REDEFINITIONS.

The code is the following:

    * first refresh db table
        perform delete_redefinitions
          using inhkey.
        delete adjacent duplicates from redefinitions.
    * insert again
        insert seoredef from table redefinitions.

One might think that the delete statement form clears the table seoredef
but the problem is that the variable inhkey contains the super class
name so no redefinitions are actually removed and the insert statement
attempts to insert the redefinitions without parent class again.

The proper solution is to enhance CL_OO_CLASS_SECTION_SOURCE=>SCAN_SECTION_SOURCE
to pass the super class name to SCAN_ABAP_OBJECTS_SECTION - at least for
the protected section.

However, I am not patient and I am not going to wait for the proper fix
(which the maintainers may refuse).
2019-10-06 23:18:44 -07:00
ci ci cleanups (#2918) 2019-09-28 23:36:41 -07:00
docs UENO: Entity Type Implementation (#1906) (#2911) 2019-09-18 22:02:35 -07:00
src objects: work around the protected redefinition shortdump (#2891) 2019-10-06 23:18:44 -07:00
.abapgit.xml Eslint (#2240) 2018-12-30 08:05:17 +01:00
.eslintrc.yaml Eslint (#2240) 2018-12-30 08:05:17 +01:00
.gitignore linting (#2861) 2019-08-11 23:16:10 -07:00
.travis.yml ci cleanups (#2918) 2019-09-28 23:36:41 -07:00
abaplint.json Shorten abaplint.json by omitting optional properties (#2915) 2019-09-12 07:39:56 -07:00
changelog.txt v1.89.0 (#2846) 2019-08-05 03:00:38 -07:00
CODE_OF_CONDUCT.md Update CODE_OF_CONDUCT.md 2017-10-16 17:31:46 -02:00
CONTRIBUTING.md Improvements to contribution guidelines (#2728) 2019-06-07 20:19:27 +02:00
LICENSE Create LICENSE 2014-07-08 15:07:58 +02:00
package.json ci cleanups (#2918) 2019-09-28 23:36:41 -07:00
README.md update abaplint link 2019-07-06 04:29:24 -07:00

Build Status abaplint Slack

abapGit

Git client for ABAP

Works with: GitHub, GitLab, Assembla, Bitbucket, abapGitServer, SCP, AWS, TFS and more

ABAP Version: 702 or higher

Latest build: zabapgit.abap

Recommend using SAP GUI for Windows, there are multiple issues related to running abapGit and Java SAP GUI. Focus is on supporting ADT instead of supporting Java SAP GUI.

Design Goals

  • Easy installation
  • Easy upgrade
  • Small system footprint
  • Code readable in git repository

Documentation/Guides

http://docs.abapgit.org

Contributing

You can find the contribution guidelines here.

Projects using abapGit

See dotabap.org or this page.

FAQ

For questions/comments/bugs/feature requests/wishes please create an issue

abapgit

Credits and references

Icons used in abapGit are created from Font Awesome free icon set (CC BY 4.0 License).