* Post-processing option for custom class serializer
When using the current exit for serializing classes, you have to code the complete serialization yourself (i.e. reading and formatting the code).
https://docs.abapgit.org/ref-exits.html#custom_serialize_abap_clif
With this change, you get the option to let abapGit serialize the class first and then post-process the source in the exit. The change is compatible with existing implementations of the exit.
To use the post-processing option, add the following code to the beginning of the exit:
```abap
IF it_source IS INITIAL.
RETURN.
ENDIF.
```
* Update ref-exits.md
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Naming of class constants
This is in preparation of enforcing a naming convention for constants in classes/interfaces. At the end, the following lint rule shall be set:
```json
"class_attribute_names": {
"constants": "^C_.+$",
...
},
```
After this, the only remaining constants not following this rule are in `zcl_abapgit_version`.
* Update zif_abapgit_dot_abapgit.intf.abap
* Update zcl_abapgit_gui_chunk_lib.clas.abap
* Update zcl_abapgit_gui_router.clas.abap
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* SRFC: Improvements
- Check if `SRFC` is supported in `constructor`. This will ensure proper error handling (closes#4899). Note: Using the constructor is how it should be checked for other object types as well.
- Added `changed_by` logic
- Simplified catch code
* SRFC: Improvements
* SRFC: Improvements
* Update message
* Raise
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* DDLS: Fix dump in lower releases
- Add requirements check to constructor
- Prevent delete call in case object does not exist
Ref #4899
* Update message
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Improvements for Objects Class
This introduces a new `is_type_supported` method for `zcl_abapgit_objects` which is about 30x faster than the current `is_supported` method.
`is_type_supported` is used in the other methods like `changed_by` and `exists` to avoid instanciating or calling the object class unnecessarily. It won't be necessary to check for support before using these methods which will alllow simplifying the calling programs (separate PR).
There are also some new test cases for `is_type_supported` and for serializing a commom interface.
* No user id for unsupported objects
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Filter code inspection/syntax check
In case of generated maintenance screens, the code inspection/syntax check include findings in SAP code (`LSVIM*` includes). This change removes those findings.
* Update zcl_abapgit_code_inspector.clas.abap
* Add "Last changed by" to repo page
Proposition for #3267
* Add "Last changed by" to repo page
For #3267
- add "Changed by" also for local items
Co-authored-by: Lars Hvam <larshp@hotmail.com>
SAP GUI for Java 7.70 has trailing null values in postdata (if data >256 characters). This is a bug that SAP will have to fix.
As a workaround, abapGit will strip the trailing null values. The workaround shall be removed 2022-12-31 latest.
Closes#4832
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Add icon link for changing remote repo on the list
Proposition for #4737
* Add icon link for changing remote repo on the list
- corrections for PR #4907
- fixed syntax
* Update zcl_abapgit_gui_page_repo_over.clas.abap
Co-authored-by: Lars Hvam <larshp@hotmail.com>
Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
Clarify error and resolution options in case subpackage already exists in system but is not included in pack hierarchy of repo root package.
Closes#4904
the old get_instance() method in ZCL_ABAPGIT_PERSIST_SETTINGS has been moved to a method in zcl_abapgit_persist_factory, plus interface added. Added to persist injector
add unit test which parses the response from hex, ie. containing a real null value
simplify get_null() method, it only returns 1 character, but 2 characters are calculated