* XSLT: Add late activation
In case a transformation depends on other objects like a class, the transformation will not activate if it's deserialized before the dependent objects.
This change adds the transformation to the late activation step.
* lint
Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>
Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Fix dump during "New Online"
I accidentally used a copied link `sapevent:url?url=https://github.com/abapGit-tests/TABL` into the "New Online" diaplog. AG would dump in this case.
Now you get a proper error message.
* Strip leading/trailing spaces for URLs
* Add
* Update
Co-authored-by: Lars Hvam <larshp@hotmail.com>
Co-authored-by: g-back <27279305+g-back@users.noreply.github.com>
- Removed "class analysis logic" from hotkey collection
- Hotkeys are now registered directly in the hotkey controller (similar to asset manager)
- `zif_abapgit_hotkeys->get_hotkey_actions` was changed to instance method and can therefore be redefined in subclasses
- Renamed the controller class to match the interface name
Co-authored-by: Christian Günter <christianguenter@googlemail.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
In dynpro screen, when a field is referring to a data element and text is taken from dictionary, no need to serialize the text as it is always taken from dictionary. If the text is included then it will show unnecessary diffs when data element text changes.
Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* ENHO: Split code into separate files
Similarly to class enhancements where enhanced methods are stored as individual files, this change separates the code for implicit enhancements (type `HOOK_IMPL`) into abap-files.
This makes the code more readable (instead of being embedded and escaped into XML) and allows for linting.
* Switch to filenames with hash
* CI
* Filenames in XML
* Lint
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* CLEAR dd05m-leng
In S/4HANA system some of the data element lengths changed. Example: MATNR length changed from 18 characters to 40 characters. It would show as diff when this repo is pulled into S/4HANA. dd05m-leng is for information only hence, cleared it to avoid diffs.
* Replace tab with space
Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>
* Replace tab with 6 spaces
Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* 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