Co-authored-by: Lars Hvam <larshp@hotmail.com>
Co-authored-by: Christian Günter <christianguenter@googlemail.com>
Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
* DOCV: Fix dump for namespaced documents
Fix handing of documents in classes UO and UP which use a different namespace logic than DT, IN, MO.
Regression #5756Closes#5854
* Doc classes
* Fix "Unexpected package naming" error
Previously, when an object existed in the repo and locally but was *not* included in the package hierarchy of the repository, you would get the following error (when opening the repo):
...
With this PR, log messages will list all objects that are not included in the package hierarchy. When pulling, the popup will show these objects and ask for confirmation to overwrite. I added an icon and description to the "package overwrite" popup similar to the "object selection" popup.
Closes#5728
* Update unit tests
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Update zcl_abapgit_object_drul.clas.abap
Use in class ZCL_ABAPGIT_OBJECT_DRUL the more generic type CL_BLUE_SOURCE_OBJECT_DATA instead of CL_DRUL_WB_OBJECT_DATA
* Update zcl_abapgit_object_drul.clas.abap
Use in class ZCL_ABAPGIT_OBJECT_DRUL the more generic, similar type CL_BLUE_SOURCE_OBJECT_DATA instead of CL_DRUL_WB_OBJECT_DATA
* CLAS,ENHO: Fix inactive enhancements
When pulling a change to an existing class, existing enhancement where inactivated and the enhancement code deleted.
This was caused by unnecessarily calling `CALL FUNCTION 'SEO_CLASS_CREATE_COMPLETE'` in `zcl_abapgit_oo_class->create`, twice.
The change avoids the second call if the class properties and attributes have *not* been changed. Interfaces are handled the same way.
Tested with CI tests for classes and interfaces:
Closes#5809
* Clear
Co-authored-by: Lars Hvam <larshp@hotmail.com>
After #5786, Ref #5774
Serialize and deserialize documentation of function group, function modules, and parameters.
Test case:
https://github.com/abapGit-tests/FUGR_docu
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* serialization
* full sotr class serialization
* nw 7.02 compatibility
* ensure consistent order
* Second attempt to stage support for CLAS and INTF
Second attempt to stage support for CLAS and INTF, first attempt did not have changes
* Pretty printed
* Lint compliance part 1
* Lint compliance part 2
* code review remediation plus one bugfix
includes one bugfix - do not write entries in <DOCU_CAT> if there are no lines of text
* Update src/objects/zcl_abapgit_objects_program.clas.abap
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Switch to new method
Co-authored-by: Lars Hvam <larshp@hotmail.com>
Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
Co-authored-by: Marc Bernard <marc@marcbernardtools.com>
* CLAS: Fix pull for deleted interface methods
In case an interface method was deleted, pulling a class that had implemented such method would not delete the implementation. This resulted in a diff and manual effort to remove the method (or repair the class).
The fix will compare the implemented methods and trigger the repair if necessary.
Closes#5578
* Update zcl_abapgit_oo_class.clas.abap
* return all includes
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Delete obsolete longtexts on pull
Longtexts that exist in the system but not in the remote repository are deleted when pulling.
Closes#5202
* Refactor
* Constant
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* 1st version of abapGit - SOBJ serializer
- added class 1st version of zcl_abapgit_object_sobj
- pending more testing
* refactoring to comply with abapGit conventions
* downporting to 7.02
* refactoring as abaplint suggests
'data' keyword in cappital letters
* more abaplint fixing
* changes for PR merging
- changed ABAP class title
- deleted commented code
* changes for PR merging (2)
- fixing abaplint
Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
If a sub-package is removed from the package hierarchy, instead of an exception, abapGit now shows a detailed warning message in the log.
This allows to remedy the situation either by adding the sub-package to the package hierarchy or by removing the sub-package from the repository (via push).
* [AFF] Get data for serialization from the DB
This is definitely not 7.02 syntax.
Contributes to #5658
* is this 7.02 syntax?
* WIP: inlide data declaration
* declare locale variable FIELD-SYMBOL
* multiple statements -> line break; local variable
* one more FIELD0-SYMBOL
* fix redundant `this`
* WIP: streamline data types
* WIP: streamline data types and typos
* add const to abaplint config
* rm commended code line
* add const to abaplint config
* WIP: SELECT follows 7.02 syntax
* space before dot
* WIP: SELECT 7.02
* linter constants
* WIP: finish SELECT 7.02
* Update src/objects/zcl_abapgit_object_intf.clas.locals_imp.abap
Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>
* add ci/abaplint CONST
* more CONST to ci/abaplint
Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>
* Skipping serialization for ignored objects
Serialization now evaluates the ignore list and skips matching objects. Note: The match is using the ABAP `cp` operator.
Example:
```
*ztest.prog.* Ignore individual program
*.ectd.* Ignore all objects of a given type
*/subpack/* Ignore all objects in a sub-package
```
* [AFF] Add the types for INTF manually
* Add the types
* [AFF] JSON handler based on AJSON: deserialize
Minimal example in UT.
UT is RED, since AJSON does not yet match the ST behavior
// the change might be cherry-picked when AFF types are provided in abapGit
* Revert "[AFF] JSON handler based on AJSON: deserialize"
This reverts commit 149d2a86c3.
* Update zif_abapgit_aff_intf_v1.intf.xml
* Update zif_abapgit_aff_oo_types_v1.intf.xml
* Update zif_abapgit_aff_types_v1.intf.xml
* BOM
* Update zif_abapgit_aff_oo_types_v1.intf.xml
* Update zif_abapgit_aff_types_v1.intf.xml
* [abaplint] skip folder aff_types
* Revert "[abaplint] skip folder aff_types"
This reverts commit f63b601a3d.
* [abaplint] exclude aff_types for unused check
* mv AFF types to src/objects/aff_types
* Update zif_abapgit_aff_oo_types_v1.intf.xml
* Update zif_abapgit_aff_types_v1.intf.xml
Co-authored-by: Lars Hvam <larshp@hotmail.com>
After all OTR usage has been removed, uninstall will now also delete the TADIR entry for SOTR. This is necessary in order to delete the corresponding package.
* Add exposure to workflow class attributes
* Add constant seoc_state_implemented to abaplint
* Also add seoc_state_implemented to ci/abaplint
Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* exclude technical language from DOMA
* exclude technical language from DTEL
* exclude technical language from TABL
* exclude technical language from CLAS
* exclude technical language from PROG
* exclude technical language from INTF
* fix abaplint issue: Place pragma at end of statem.
Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
- Move `is_active` from `zcl_abapgit_objects_super` to `zcl_abapgit_objects_activation`
- Consolidate `is_ddic_type` logic
- Add unit tests for `zcl_abapgit_objects_activation`
Package is now required for CLAS deletion for RS_CORR_INSERT but was not correctly determined for object deletions because of different field names when using MOVE-CORRESPONDING and another missing assignment.
Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
* fix: exclude Translation Object Detective language
Excludes Translation Object Detective language from serialization
Provides a solution for object type MSAG in issue #5595
* fix: Contains non 7 bit ascii character
* fix: exclude also Pseudo Translation
* refactoring based on the PR suggestion
* fix abaplint issues
* fix further abaplint issues