In addition to the client setting (repository objects modifiable or not, scc4), abapGit will not allow changes to any local objects, if
- system is set to "not modifiable" (se03)
- system is running an upgrade
- system is a shadow system
Closes#4267
Co-authored-by: Lars Hvam <larshp@hotmail.com>
If the composite enhancement already exists, trying to update it fails with error "Error while creating enhancement implementation"
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* PROG: Refactor deserialize and fix inactive code
This is a follow-up to #4500, #4509, #4518
- Split `ZCL_ABAPGIT_OBJECTS_PROGRAM->DESERIALIZE_PROGRAM` into smaller methods
- `INSERT_PROGRAM` now uses standard `RPY_PROGRAM_INSERT` and only does `INSERT REPORT` in exceptional cases like function groups (see below)
- Special case of Code Inspector variants is handled by `ZCL_ABAPGIT_OBJECT_PROG->DESERIALIZE_WITH_EXT` since these aren't actual programs (but includes containing data)
Using the standard function fixes the issue of inactive code that can't be accessed after a pull. This used to happen, for example, when a program contained syntax errors due to missing objects.
* Update zcl_abapgit_objects_program.clas.abap
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Fix for Java GUI so new repo can be defined
The HTML demo programs are able to pass values from a form, so why does abapGit not work with Java GUI?
I've been trying to figure this out. The key to a break-through was not any fancy code analysis, it was "brute force".
I added a method in ZCL_ABAPGIT_HTML_FORM to replace the generated HTML by a copy of the resulting HTML. Then I removed things until POST-data was filled, and added things back until it broke again.
The main issue was of course the complete lack of POST-data for the event.
This is solved by adding an action attribute to the form element and removing the form-action attribute from the 'default' submit button.
The biggest surprise was that radion buttons don't work as they should. Values are returned as if both radio buttons (in the new online repository form) are checked - which of course is not possible. I tried enabling the query table in the HTML viewer just in case this was specific to the POST-data, but no such luck, it is probably a problem with the HTML viewer itself. You won't find any samples from SAP with radio buttons either.
The bug is possibly fixed by the patch in Note 2832978.
The solution is far from perfect, but at least it is now possible to add new repositories in Java GUI.
The most annoying problem that remains is that if a dialog is opened to select a package or branch the existing input data are lost. One step at a time though...
* Update src/ui/zcl_abapgit_html_form.clas.abap
Linter fix
Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>
* Single-parameter calls on one line
One extended line, mind you...
* One argument per line - when possible
Don't break the string expression up over more lines thna neessary.
* Keep line length under 120 characters
* Playing catch-up
Fixing the conflict after another pull-request was merged
* Catch up with main branch
I didn't understand from the conflict resolution view on github the total difference between main and my fork. Looked at the source file and it became clear.
So hopefully this is the last commit... (and hopefully that won't be "famous last words")
* Time to learn about rebase...
Removed duplicate statement to get number of rows
* Conflicting line reset
Reset to main
<<<<<<< kjetil-kilhavn/javagui-fix
ii_html->add( |<td><input type="text" name="{ lv_cell_id }" id="{ lv_cell_id }"|
%26%26 | value="{ lv_value }"{ lv_readonly }></td>| ).
=======
ii_html->add( |<td><input type="text" name="{ lv_cell_id }" id="{
lv_cell_id }" value="{ lv_value }"{ lv_readonly }></td>| ).
>>>>>>> main
Now, may I have all green lights please?
Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Refactor "Background Mode" to HTML Form
ref #4171
- Moved "Background Mode" from "Advanced" menu to "Repo Settings"
- Changed Bckg Setting and Bckg Run to new HTML pages
* Add back_toolbar
Previously if there were no data rows, it would render just the column headers of the table.
After this change, it shows "Not available".
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Data deserialize
Continuing on #3441
- Fixes issue with namespaced tables
- Adds deserialize of table content during pull but does NOT persist changes to database
`zcl_abapgit_repo->deserialize` now contains the following call to deserialize "data":
```abap
zcl_abapgit_data_factory=>get_deserializer( )->deserialize(
ii_config = get_data_config( )
it_files = get_files_remote( )
iv_persist = abap_false ). "<<no persisting, just test for now
```
Closes#4650
* Fixes and max record check
* Get result preview
* Split deser/actualize
Co-authored-by: Lars Hvam <larshp@hotmail.com>
Error "The concept will be created in the non-original system" (`SOTR_MESS 137`)
It's not an error (see function `SOTR_STRING_CREATE_CONCEPT`) and has been removed.
* refactor export package to zip to HTML form
* change literal to constant
* downport statement
* remove popup package_export
* reorder methods, unify whitespace
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Fixes DDIC activation
The changes mimic the behavior of CTS Activatin Job as of 7.40 SP 23
* fixes Activation of dependant DDIC (#4496)
The change attempts to mimic behaviour of SAP CTS DDIC Mass Activation Job
* Revert to DDMODE = 'O'
Reverts to activation mode "in original" system; adds "forced activation" (FRCACT = abap_true)
* restore variable definitions
* and Pretty Printer
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Add measures to repo stats
- Lines in ABAP Files
- Lines of Code in ABAP Files (no empty or comment lines)
* Split read_stats
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* move perf test option to new repo
Moving the performance test option to separate repository,
https://github.com/abapGit/performance-test
I guess this feature is not used very often, it will reduce the overall code size, and instead of refactoring these popups to HTML they can stay ALVs in the new repo
* fixes
The old code called the REPO service class to check if a repo exists, to better encapsulate the packages, the check will now stay inside the persistence package
* overview page, dont display ".git"
dont display ".git" in the urls in the overview page, to save a bit more horizontal space
also see #4539
* dont use regex
* add ORDER BY
* wdcc, add ORDER BY
* wapa add order by
* udmo, add order by
* tobj, add order by
* stvi, add order by
* CHAR, add order by
* CMOD, add order by
* dial, order by
* CLAS: Remove test class include
Once unit tests are disabled, the test class include is now completely removed (before it might have still contains obsolete code).
Closes#4460
* Reverse pp
* Update 6 objects
* Typo
* Typo
* Revert
* Revert
* Revert
* Revert
* Revert
* Lint
* Update zcl_abapgit_oo_class.clas.abap
* Move add_to_activation
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Add unsupported object count in repo statistics
* lint fix: Keep single parameter on one line
* Fix indentation
* Undo changes to TADIR and DEFINITIONS
Undo changes to ZCL_ABAPGIT_TADIR and ZIF_ABAPGIT_DEFINITIONS
* Refactor code
Co-authored-by: Lars Hvam <larshp@hotmail.com>
After the pull request:
https://github.com/abapGit/abapGit/pull/4589
Objects supported by abapGit-plugins are not deserialized and
all are reported as not supported.
Closes#4610
Co-authored-by: Lars Hvam <larshp@hotmail.com>