* DEVC: Remove obsolete TADIR entries
In case a package is local (ie no transports), abapGit will now check if objects still exist in the package. In case an object does not exist anymore, the corresponding TADIR entry will be removed. This allows empty local packages to be uninstalled automatically.
* Lint
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Terminology: Inclusive Language - Part 2
Change "Master Language" to "Main Language" in UI and comments (documentation and variables next)
* Docs
* Docs
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Update unit tests to use CI
* Make test repo configurable
* Remove local tests and use CI
* Lint fixes
* Replace local tests with CI
* Add Type Group constants to abaplint
* Update constants and replace assert_true
* Revert constants
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Fix DDIC activation issues
- Avoid double activation of DDIC objects in case of "LATE" processing
- Derive DDIC id for XINX and MCID (same as for INDX)
Closes#4103
* Lint
Co-authored-by: Lars Hvam <larshp@hotmail.com>
The field `late_deser` in `ZIF_ABAPGIT_DEFINITIONS=>ty_metadata` is obsolete:
```abap
TYPES:
BEGIN OF ty_metadata,
class TYPE string,
version TYPE string,
late_deser TYPE abap_bool, " refactor: can be removed later. replaced by steps
delete_tadir TYPE abap_bool,
ddic TYPE abap_bool,
END OF ty_metadata .
```
The PR removes the remaining usage with one exception: `ZCL_ABAPGIT_OBJECTS_BRIDGE->GET_DESERIALIZE_STEPS` still depends on the field. In order to remove it completely, the plug-in interface `zif_abapgitp_plugin` (https://github.com/abapGit/abapGit-Plugins/blob/master/src/zif_abapgitp_plugin.intf.abap) will have to be changed.
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* 702: Downport
No chaining with CHANGING
* 702: Downport
* Syntax check variant
* Too many fields warning
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* TABL: Skip data check for GTT
fixes#4074
* undo case change
* TABL: use fm DD_EXISTS_DATA for data check
* remove formatting change
* Data existence check only for DB tables
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* CLAS: Avoid unnecessary serialize of testclass file
Unit tests are only functional if the corresponding flag is set (`seoclassdf-with_unit_tests`). Therefore, if the flag is not set, there's no need to serialize this include.
* Added version to select
* Switch to seo function
* Set mv_skip_testclass
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Close some todos
FUGR does not have any class includes
* Remove huh?
* Move WDYN activation to serializer
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Part 1
* Part 2
* Part 3
* Lint
* Part 5
* Part 6
* Part 7
* Part 8
* Part 9
* Enforce type naming prefix
All types need to start with TY_...
* Fix local types
* Adapt trial code from christianguenter2
* Add changed_by
* Adapt trial code from christianguenter2
* Add changed_by
* Add unit test mock class
* Update unit tests
* Unit tests %26 lint fixes
* De-Linting
* More lint fixes
* More lint experimenting
* More de-linting
* Update unit tests
* Turnaround test (WIP)
* More XML turnaround testing
* Turnaround test now working
* Clean up code
* Enable experimental mode
If we want to merge into master, it will only run for daredevil experimentalists
* Update src/objects/zcl_abapgit_object_pdts.clas.testclasses.abap
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Update src/objects/zcl_abapgit_object_pdts.clas.abap
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* 702 compatibility
* More 702 compatibility
* Removed container texts and system elements
Temporary(?) measure as they are being too troublesome, changing XML on successive serializations and suchlike.
* Caught exception
* General refactoring
* Remove NOTEXT pragmas and directives
* De-linting
* Remove diff in transport class
* Refactoring WIP
* Refactoring - WIP
* Refactor serialization
* De-lint
* Update container serialization
* Refactor deserialization WIP
* Object type PDTS - Workflow Task (experimental)
* Object PDTS Alpha version
* De-lint
* Correct CI dependency issues
* Check for critical unit test setting
Co-authored-by: Lars Hvam <larshp@hotmail.com>
Activation of foreign keys now uses with same logic as #3545:
- remove keys during DDIC phase
- add keys during LATE phase
Closes#3867
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* remove uses of CHAR30
* Update abaplint.json
* add basic unit test for ZCL_ABAPGIT_MESSAGE_HELPER
* replace uses of char50
* fix name
* Update abaplint.json
* use sy-uname instead of uname
in ZCL_ABAPGIT_USER_MASTER_RECORD
* change xml references
* change xml reference, remove type definition
deleted type already exists in zif_abapgit_definitions
* change XML references
* change indentation
* fix indentation
* fix ident pt. 3
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* change xml references to interfaces
changed reference in interfaces:
- zif_abapgit_comparator
- zif_abapgit_oo_object_fnc
* change reference of xml in dependent objects
Co-authored-by: Lars Hvam <larshp@hotmail.com>
Windows cannot store filenames containing "<" and ">"
These two characters are now uri encoded, same approach as already deployed for some characters
#3817
The removed fields have no real use as no other CLAS object contains
that field.
It was added in the commit:
b0d54f97e3
Besides, it causes me troubles in sapcli when I do checkin.
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* otgr: initial object support
This commit replaces the generic SOBJ support with native support for
the object type OTGR and the format is not backward compatible,
so repos containing SOBJ serialized objects could not be pulled anymore
(it's necessary to pull them with previous version of abapGit and push
them with the new version of abapGit).
The new OTGR handler supports only master language description because
there is no API which would allow us to maintain other languages and
I am not willing to re-implement parts of ABAP platform just to version
texts which nobody cares about. Also, the texts dealing part is not
that straightforward - one has to think about keeping the texts
in sync which requires lot of code.
I did the following optimizations to the XML format:
- removed the activation state from all elements because we
always serialize only Active and deserialize as Inactive
- removed the foreign key name from texts and other details
because we know which object type group is currently being handled
- used short names for root elements of details to avoid redundancy
because the detail's table name is used for child XML elements -
e.g. TEXTS vs. CLS_TYPE_GROUPT.
Closes#1515
* Update ref-supported.md
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Web DynPro Component Configuration Support
Web DynPro Component Configuration Support Class
* WDCC Support - Syntax Corrections
Web DynPro Component Configuration Support
Syntax Corrrections
* TADIR Object Name Concatenation Change/Removal
TADIR Object Name Concatenation Change/Removal
As ms_item-obj_name hold complete TADIR name, concatenation with ..00 is not necessary.
* WDCC Support - Syntax Corrections
Web DynPro Component Configuration Support
-Remove dynamic coding
-Remove explicit commit/roll back
-Use Tadir functionality of base class
* WDCC Support - Syntax Corrections
Web DynPro Component Configuration Support
-The EXPORTING keyword can be omitted (exporting))
* WDCC Support - Syntax Corrections
Web DynPro Component Configuration Support
-Removal of HJA comments
-Removal of me->
* Removal of Component Config XML in main object fil
Removal of Component Config XML in main object file
-Component Configuration raw XML added to additional comp_conf.xml file
* Additional xml file pretty printed as string
Additional file contents now pretty printed and added as string for easy diff.
Serialisation / Derialisation now working with pretty printing and un-pretty printing.
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* WDYN: Fix missing texts
Texts were missing if more than one concept existed per WebDynpro component. Also fixes unit tests which were not working properly before and adds anew test.
* Pretty print
* Refactor and enhance SOTR support
Now supports all objects that use OTR: CLAS (LIMU/CPUB), ENHC, ENHO, ENHS, ENSC, WAPA (LIMU/WAPP) WDYA, WDYN (LIMU/WDYV), WEBI
* Lint
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* IOBJ: Remove number range objects
Number ranges for BW objects are local to a system and will cause errors when duplicates occur.
* Fix spelling
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Fix for objects with space or dot in name
* Update zcl_abapgit_file_status.clas.abap
* Fix for objects with space or dot in name
* Escaping of filenames
* Escape %
* Remove escape of space
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* add variant transaction support and fix FG globals
add handling of variant transaction
clear globals in FG for FM RPY_TRANSACTION_INSERT
fixes#2744
* CC cleanup
* fix linter errors
* fix linter errors
* fix linter error - type pool constants
* fix linter error void type
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Update zcl_abapgit_objects.clas.abap
* DDIC with reference to class/interface
* DDIC with reference to class/interface
* Search help with exit function
* Table with reference to search help
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* DSYS serializer rewritten
* Fixes issue #3374 when object names include a namespace.
* Uses longtexts facility to serialize texts:
* Supports i18n texts.
* Supports text versions other than 0001.
* Fix linter compliance
Co-authored-by: Lars Hvam <larshp@hotmail.com>
Fixes the dump and import error for package interfaces. Even if the package interface is in a different package than the referencedpackage itself.
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Update 3 objects
* Update zcl_abapgit_exit.clas.abap
Pretty printer didnt work in JAVA GUI, so had to manually change the file
* IS_STEP as input parameter
* Issue in JAVA based GUI
Pretty printer not working for class name in implementation
* Move TY_STEP_DATA to ZIF_ABAPGIT_DEFINITIONS
* try moving ty_deserialization_step
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Issue 3324: WDA Texta are not taken into accout
* Remove the not allowed Web Dynpro component
* Correct ABAB CHECKS 702 for SOTR_HANDLER
* ABAP Check 702 SOTR_HANDLER II
* ABAP Check 702 SOTR_HANDLER III: AUnit Exception
* ABAP Check 702 compliant IV
* ABAB Check 702 compliance V
* ABAP Check Compliance 702 VI
* ABAP Check 702 compliance VII
* ABAP Check 702 compliance VIII: delete comment
* ABAP Check compliance 702 IX : conv #
* Commit X: Improvements of ABAP Unit tests
-Test uses a 100% existing wd component and TEST(!) checks it
-Test enhanced with a non existing component -> no exception is raised nor existence is checked inside the PRODUCTIVE ROUTINE(!) via WDR_REPOSITORY_INFO as this check should have been done earlier not in this last phase to append the texts, labels, etc... to the component archive
* C XI: ABAP Unit Tests(2)
* C XII : ABAP Checks 702 for ABAP Unit Tests
* C XIII : ABAP CHECKS 702
* C XIV : ABAP CHECKS 702
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Add syntax-highlighters for CSS, JS, JSON
* Update W3MI ZABAPGIT_CSS_THEME_DEFAULT
* Fix line size and case statement
* Fix line size
* Update styles, removed operators
* Added highlight for comments in HTML/XML
* Fix menu hover background
This makes the selected menu more visible.
Also includes color fix for repo name and url in dark theme.
* Fix for W3xx objects with "." in name
* Reverse fix for W3xx
* Remove hover style changes
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Master lang only - descriptions for clas, intf
* Use master language instead of logon language
* sy-langu to master language - fix cus0, cus1, cus2
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* char: deserialize missing attribute hide_icons
* char: unlock upon all errors
It's very annoying when I have to go to SM12 to unlock CHAR
objects which could not be activated due to a missing OTGR.
* IOBJ fix#3105
* Variable fix
* BW function modules check
* AREA support
AREA support
* update, comment fix
* update
* iobj update
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Support for CHDO
* Remove dependency from GENERIC
* Skip gen. objects by CHDO
* abaplint checks
* Moved filter to zcl_abapgit_repo
* Adjusted filter logic
* Delete unused methods
* Extract apply filter methods
New class zcl_abapgit_repo_filter generated with apply filter methods
* docs: update supported with CHDO
* Clear serialization fields
* Set package at deserialize
* Check errors at deserialize
I know don't why but on our systems the "include for generated
maintenance views" is returned from the function module
RS_GET_ALL_INCLUDES, so when we add it in the method
zcl_abapgit_object_fugr=>includes we have the file twice which cause
duplicate errors on our systems.
I didn't remove the code because we are supposed to run on all ABAP
rutime versions and the problem with duplicates for the T00 includes has
started occurring only recently, so the older versions need this
artificial include (I guess).
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* IOBJ fix#3105
* Variable fix
* BW function modules check
* Enhancement of iobj support
Enhancement of iobj support which enable handling of:
-attributes,
-compoundings,
-hierarchies
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Issue 3066: Class text elements translation
* Removed comments for Issue 3066
* Pull request checks
* Travis-CI checks fixes
* Travis-CI checks fixes - Identation
* Interfaces pretty printed
* Travis-CI identation check
* Travis-CI identation check
* Changes type tt_langu and serialization
Type tt_langu moved from zif_abapgit_definitions to ZCL_ABAPGIT_OBJECTS_PROGRAM
Encapsulated code to serialize DOCU, TPOOL and SOTR for classes
* abaplint corrections
* abaplint corrections
* Encapsulated serialization %26 new IF lang def.
* zif_abapgit_definitions types indentation
* Restore zif_abapgit_definitions
* Revert zcl_abapgit_object_clas
* Revert zcl_abapgit_object_clas
* Revert zcl_abapgit_objects_program
* Revert zif_abapgit_oo_object_fnc.intf.abap
* Revert zcl_abapgit_object_clas.clas.abap
* Class text language
* Class text language
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Create pull.yml
* Update zcl_abapgit_git_transport.clas.abap
* Update zcl_abapgit_git_transport.clas.abap
* Update pull.yml
* Delete pull.yml
* Remove select for exists check
Due to the language flag-specific select a type group/pool couldn't be found. Removed the select at all because the following FM also recognizes unexistent type groups/pools and sets sy-subrc to something <> 0.
* Fill description if available in login language
Co-authored-by: pull[bot] <39814207+pull[bot]@users.noreply.github.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
During creation of classes with redefinitions in the protected section, entries in table SEOREDEF are not updated properly.
Reason: The buffer of Class Builder does not recognize the creation of the inheritance in the active version. During the creation of the super class relationship in SEO_INHERITANCE_CREATE_F_DATA only the inactive buffer is updated. The buffer for the active version has still the state that the class has no super class.
Therefore, SEOREDEF is filled with an empty super class name.
If the buffer is refreshed before the metadata is updated, the super class is read correctly before SEOREDEF entries are created.