* Replace GET_R3TR_OBJECT_FROM_LIMU_OBJ, fixes#4715
Replaced with TR_CHECK_TYPE. Only tested locally (with a copy of the method in a separate program), not in full ABAPGit context.
* forgot the additional DATA declarations
* Ignore deleted objects
as requested by Marc Bernard
* remove whitespace at end
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>
* INTF: Refactor to fix "permission error"
Implements interface deserializer the same way as the class deserializer.
Closes#4672
* Remove types
* Class exists
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* based on the lastest master
* pretty printer
* fix inline declaration fragments
* fixing method chaining
* Fix: Use boolc instead of IF, negate expression
* remove descriptions
* pretty printer
* empty line in method calls
* Fix: Statement does not exist in ABAPv702
* fix exceptions
* fix Indentation problem
* fix: Statement does not exist in ABAPv702(or a par
* mitigate usage of not existing objects in 702
* remove not existing objects for 702
* indentation issues
* next
* next
* Indentation issues
* next
* fix
* Fix: The EXPORTING keyword can be omitted
* change to constant mc_source_file
* Update zcl_abapgit_object_srvd.clas.abap
* changes regarding mbtools' feedback
* according to mbtools' feedback
* Update zcl_abapgit_object_srvd.clas.abap
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>
* Add support for partial logs (WIP)
* Still trying to handle multiple branch origins
* Error message for too many commits
* Remove PDXX
* Lint
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* New "Switch" tab in repo settings
This PR adds a new tab to the repo settings which combines all options for switching the repository to a different source:
- Switch between "Online" and "Offline"
- Switch to Branch, Tag, Commit, or Pull Request
Note 1: Value help for URL history has not been implemented yet.
Note 2: None of the existing related menu items have been removed yet.
* Clean-up
* Clean-up
* Clean-up
* Clean-up
* Clean-up
* Change to "Remote"
- rename class
- add "autosave" for on/offline switch
- change "Switch" to "Remote"
* Update on/offline switch
* Update on/offline switch
* Update zcl_abapgit_gui_page_sett_remo.clas.abap
* Grammar
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Accept remote without HEAD
* Update src/git/zcl_abapgit_git_branch_list.clas.testclasses.abap
Co-authored-by: Lars Hvam <larshp@hotmail.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
Combines `zcl_abapgit_file_status=>identify_object` and `zcl_abapgit_object_files=>filename` into new class `zcl_abapgit_filename_logic`. This class provides `file_to_object` and `object_to_file` conversion logic similar to what `zcl_abapgit_folder_logic` does for packages and git folders.
Also includes unit tests which were missing for the old methods.
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Terminology: Inclusive Language - Part 5
Change of terminology (#4043)
- Replace `get_master_language` with `get_main_language` and remove it
* File Status
* Jump
* Language
* Main language
* Main language
Enhancements might refer to other objects of the repo so create them after the other objects.
Example: Repo includes enhancement for an exception class. Therefore, the exception class has to be deserialized before the enhancement.
* Show "data" by object in repo view
Continuing on #3441
- "data" is now shown as `TABU` `<table>` in the repo view
* Remove get_item
* Add cmnt
* Update src/objects/core/zcl_abapgit_serialize.clas.abap
Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>
* Update zcl_abapgit_serialize.clas.abap
Co-authored-by: Lars Hvam <larshp@hotmail.com>
Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>
* Fix dump due to package name conflicts
Raises an error message instead of dumping
Closes#4620
* Split calculate_status
* Refactor only
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* SOTS: Uninstall with usage reference
Remove usage references of `SOTS` texts during uninstall
* Add comment
Co-authored-by: Lars Hvam <larshp@hotmail.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Improve reuse of HTML viewer
Adding optional parameters to allow reuse of HTML viewer in subscreens and allow testing of query parameter table (potential replacement of `zcl_abapgit_html_action_util=>parse...`).
* Lint
Co-authored-by: Lars Hvam <larshp@hotmail.com>
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>
* TYPE: Serialize active version
When a new type-pools is created, SAP creates active version by default. SY-SUBRC is always set to 0 for the first function module call as there is always an active version hence, second function will never be called. Remove the second call.
* Multiple changes
Check existence of the object using TADIR entry
If the active object doesn't exist, show proper message
* Existence check using PROGDIR
* Replace SELECT..ENDSELECT
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Group unsupported messages per object type
When number of unsupported objects increase in a package, user needs to scroll through the long list of messages. This change groups messages per object type reducing the number of messages. Also, the filtering before serialization is good in terms of effective work process utilization( in parallel mode ).
* Replace LINE_EXISTS with READ TABLE
* Cache the supported object types
* Show object name
If there is only one object name for the unsupported object type, show the name.
* Spelling: "object(s)" to "objects"
Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
In case DDIC objects exist as "new" version only , the system will now raise an error message to alert the user that "No active version was found".
Note: The log will disappear after some navigation and such objects will not be included in the repo view if they only exist locally (until they are activated).
* Fix#4515Fix#4515 by serializing new TAB_INCLUDES to contain include numbers of new methods of classes.
* Last fix before pull request
* files named "em_<methodname>" instead "emxxx"
* editorder without gaps
* Cleanup commented out line
* fixes abaplint
Co-authored-by: sandra rossi <sandra.rossi@gmail.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* DEVC: Unlock in case of errors
If a package object cannot be deleted or deserialized properly, it remains locked.
The change unlocks the object in these cases.
* Update set_lock
Co-authored-by: Lars Hvam <larshp@hotmail.com>