* 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>
* Refactor: Create Tag
Replaces the old style page with a nice HTML form for creating a new tag.
* Update validation
* Allow empty comment and tagger
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
* Refactor: Commit list popup
- Move popup for selecting a commit to `zcl_abapgit_popup`
- Allow to skip sorting of commits in `zcl_abapgit_git_commit` which often led to "too many commits" error (on GitHub you get the 300 most recent commits)
Popup will be used in `zcl_abapgit_gui_page_sett_remo` and `zcl_abapgit_gui_page_tags` (separate PR)
* Fix test classes
* Replace popup in remote settings
* Remove type
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Fix dump for repos using data tables
Fixes dump in `zcl_abapgit_data_util` in case the data table does not exist yet.
* Method
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Data import: fix dump ITAB_DUPLICATE_KEY
System dumps during serialization of customizing table comprizing of include structures. Example: WCFC_GIL_COMPROP.
* Fix error "Object type TABU is not supported"
* Fix date format incorrect during serialization
* Fix /data/ serialization package issue
* Commit table content after deserialization
* Cleaning some code
* Rollback code change concerning /data/ folder
Doesn't seem to be necessary in the end...
* Renamed variable <tab> to <lt_tab>
* Fix ASSERTION_FAILED table content deserialization
Issue https://github.com/abapGit/abapGit/issues/5585
Co-authored-by: Lars Hvam <larshp@hotmail.com>
In case an objects originates from a different system (`<> sy-sysid`), an icon will be shown after the object. On hover, you can see the id of the original system.
Closes https://github.com/abapGit/abapGit/issues/3865
abapGit should support systems without SAP_BW component. Therefore, references to BW data types have to be replaced by generic types and BW classes have to be replaced by dynamic calls.
Follow-up to #5556Closes#5565
It's not possible to import local apps into transportable packages or vice versa. The check raises corresponding error messages (and avoids a slew of cryptic errors you would get otherwise).
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Improve error message for language mismatch
* refactor
* refactor
Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
In certain cases, the default transport set by abapGit does not work and there's no API to pass the transport for the object type. Therefore, we need to set the transport via ABAP memory (similar to setting the default package).
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* DDIC: Improve active/inactive check
Use `is_active_ddic` (function `DDIF_STATE_GET`) for all DDIC object types. This is more accurate than the current method (function `RS_INACTIVE_OBJECTS_WARNING`) since it detects newly created but not active objects as well.
* Fix const
* Remove "no active version" error
* Update comment
Co-authored-by: Lars Hvam <larshp@hotmail.com>
`cl_enh_composite` already handles OTR shorttext and there's no need to use `zcl_abapgit_sotr_handler`.
Update test case:
https://github.com/abapGit-tests/ENHC
Co-authored-by: Lars Hvam <larshp@hotmail.com>
When the "Activation Popup" is turned off in "Personal Settings", any errors during activation will lead to "Activation cancelled. Check the inactive objects" which is not very helpful.
The change will add the errors to the abapGit log.
It will also handle the special case when activation of includes leads to error "Include is used in multiple main programs" (EU 404). In such case, you can turn on the activation popup and repeat the abapGit process successfully.
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Fix commit message encoding
- Properly encode % and & symbols
- Add unit test for special characters
Closes https://github.com/abapGit/abapGit/issues/2448
* Exclude testclass
* Comment
* update to 2.0.17
* update to 2.0.18
Co-authored-by: Lars Hvam <larshp@hotmail.com>
- Add documentation for Web Dynpro component and controllers
- Fix diffs of view components due to missing sort
- Updated https://github.com/abapGit-tests/WDYN
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Add get_switched_origin to repo_online
* Add onclick action for radiobuttons
* Refactor remote settings to allow for direct input
without using value helps
* Adjust branch overview error message
Inform the user about the possibility of changing HEAD directly without using the value help (that failed to show up).
* Fix hidden form fields taking up vertical space
* Add min/max restriction to commit field
on remote settings page
* Implement basic validation for commit id
on remote settings page
* Load previous branch/tag when PR is selected
in remote settings page to be able to switch back to it more easily
* Use current form data in PR and tag selection
on remote settings page, where possible. Otherwise check the form values are the same as the repo instance values.
* Fix issue when changing URL and switching from PR
at the same time
* Remove repo dependency in PR enumerator
to be able to list PRs for the current url on the repo remote settings page
* Update zcl_abapgit_branch_overview.clas.abap
Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
Uninstalling objects like `ENHC` just removes their references to OTR entries (`sotr_use/u` tables). Therefore, when the package is uninstalled, the remaining OTR entries will be completely removed.
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Properly ignore files during deserialize
Closes#5426
This moves the ignore logic from `zcl_abapgit_files_status->prepare_remote` to an option of `zcl_abapgit_repo->get_files_remote`. Deserialize can then ignore the files already when getting them via `get_files_remote`.
PS: Required for https://github.com/exercism/abap/pull/82
* Update zcl_abapgit_repo.clas.abap
* Update zcl_abapgit_repo.clas.abap
Co-authored-by: Lars Hvam <larshp@hotmail.com>
Co-authored-by: Christian Günter <christianguenter@googlemail.com>
* Add zcl_abapgit_rule and zif_abapgit_rule
* Insert clear and fill logic
* Pass rule to the generic serializer in IWSG class
* Remove extra space
* Remove inline declaration
* Format the code
* Replace CHECK with IF
* Rename class/interface
* Multiple changes
Rename method name
Change method signature
Remove clear field
* loop over all fields of given fields
* Align method call parameters
* Remove class reference for member
* Use string template to convert to type
Co-authored-by: Lars Hvam <larshp@hotmail.com>
Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
* Allow different user/password per repository
Clear auth buffer to allow different user/password per repository in background mode
* Uppercase for class name
Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
Starting with ABAP Platform 2208 DTDC does no longer have an own workbench data class but instead uses CL_BLUE_SOURCE_OBJECT_DATA directly.
In addition:
The field that carries the ABAP language version changed from ABAP_LANGUAGE_VERSION to ABAP_LANGU_VERSION in ABAP Platform 2208. So to make it work in both releases < and >= ABAP Platform 2208 we have to try to clear both versions of that field.
Co-authored-by: Lars Hvam <larshp@hotmail.com>
Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
* Remove "Tag Overview" popup
- The "Tag > Overview" feature has been removed (because of bad performance and low value)
- The tag select popup has been refactored. The code has been moved to `zcl/if_abapgit_popups`. Only change is that the popup is now centered like the others.
- Therefore, class `zcl_abapgit_tag_popups` has been removed
* Update injectors
* Remove interface
* Secondary key
* Remove "Branch Overview" page
- The "Branch > Overview" feature has been removed (see #5411 for reasoning).
- The merge feature has been refactored into a new HTML page under "Branch > Merge" (#5402)
Closes#5411
* Remove old page
Co-authored-by: Lars Hvam <larshp@hotmail.com>
"Data Config" is persisted on remote side only. Comparison feature reads the local part only and therefore does not support comparing of "data config". Therefore `get_files_remote` is not necessary.
Closes#5189, #5443
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* TABU: Add "jump" to SE16
When using "Data Cofiguration" you can now jump from the repo view to the data browser (`se16`).
* Simplify
Co-authored-by: Lars Hvam <larshp@hotmail.com>
When deserializing SAP packages that do not exist in background, AG will dump with `DYNPRO_SEND_IN_BACKGROUND`. This is caused by a popup asking for the transport.
Fixed by passing the transport to the save method.
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Improve LXE error handling
Raise exception in case of error messages
* Remove space
Co-authored-by: Lars Hvam <larshp@hotmail.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* DEVC: Raise error for main/structure packages
Main or structure package and cannot be used in local packages (`$...`).
abapGit will now raise an error, if one tries to pull main or structure packages into a local package.
* Split into two messages
* Locally
* Local
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* DOMA: Deletion of domains with append
On newer releases, suppressing the confirmation popup does not work since the parameter has changed.
Added a call using the new parameter.
* No if
Co-authored-by: Lars Hvam <larshp@hotmail.com>
If default transport is set and its type matches to what is required, then use it as default for the transport popup.
This will make it easier for example if a pull or uninstall failed and needs to be repeated since you want to continue using the same transport.
Co-authored-by: Lars Hvam <larshp@hotmail.com>
Change documents left a diff when pulled once that would go away after second pull. In debugging warning CD 763 could be seen "No TADIR entry found'. The `tadir` entry is now created properly.
Uninstall would fail with "Function group ... does not exist". Reason was that the function group was already deleted by `chdo` object. The deletion of such generated function groups is now skipped.
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Deserialize textpool for some objects
Fixes inserting the textpool for objects that are not handled by `RPY_PROGRAM_INSERT`. This applies for example to function groups and exit includes (`zx...`).
* Fix deserialize_textpool
Co-authored-by: Lars Hvam <larshp@hotmail.com>
CI tests have shown that several object types are not properly recorded in transports. For some objects there was no transport entry when creating the objects, for others when deleting it.
This PR add the necessary calls to `corr_insert()`.
(some SE80 reorders)
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Check if package name is allowed
When validating SAP packages, it now checks the naming conventions.
* Move method
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Folder logic "mixed"
Introduces a new folder logic named `mixed` which combines `prefix` and `full`. The root package name will be used as prefix for all sub-packages but the package names are *not* concatenated recursively. This will allow for using significantly logic package names.
Also includes several new unit tests especially for nested packages which had not been tested before.
Closes#5410
Todo: Update docs
* Add constant
* Add options to UI
Co-authored-by: Lars Hvam <larshp@hotmail.com>
Function module WEBI_GET_OBJECT returns several internal tables. Sometimes, the sorting order of these internal tables is different in each system ex: S/4HANA and non-S/4HANA. This fixes#5389.
* Fix data elem type ref to class in same repository
* simpler solution by testing refkind and reftype
Co-authored-by: sandraros <sandra.rossi@gmail.com>
Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
* Fix proposal for issue #5347: added support for 'TYPE REF TO DATA' DDIC data elements as components in DDIC structures
* Fix proposal for issue #5347. Added support for 'REF TO DATA' DTEL DDIC element residing in DDIC structure
* Fix proposal for issue #5347, added support for 'TYPE REF TO DATA' DDIC data element residing in DDIC data structurees
* REF TO DATA for DDIC element support (#5347)
* No error if ddic type has warning (abapGit#5361) during import
* Update zcl_abapgit_objects_activation.clas.abap
* Fix for (abapGit#5361). Warnings during DDIC objects activation shouldn't be considered as error but will be shown as 'yellow' messages after activation
* Fix for (#5361).
Warnings during DDIC objects activation shouldn't be considered as error but will be shown as 'yellow' messages after activation
Co-authored-by: Lars Hvam <larshp@hotmail.com>
In some systems, function modules RS_GET_ALL_INCLUDES returns an include *T00. Where *T00 include is not returned, abapGit adds to the internal table. This results in different sorting order in different systems. Sort to keep the same order.
- Eliminate flashing of progress bar during deserialize
- Updated description for deserialize steps
- Add steps to log (see below)
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* TABL: Properly show inactive objects
Current `is_active` check is insufficient for DDIC objects and can't detect "new" or "partically active" objects.
Introduces a new `is_active_ddic` method in `zcl_abapgit_objects_super` which should be used by all DDIC types (follow-up).
Ref #5294
* Update zcl_abapgit_objects.clas.abap
* Update