Commit Graph

827 Commits

Author SHA1 Message Date
Marc Bernard
5bcdbce3b8
DDLX/SMTG: Raise exception (#5217)
Change to `raise_with_text`
2021-12-14 03:54:13 +01:00
Marc Bernard
c7e4af3be2
Add user exit for serialize postprocessing (#5194)
There are scenarios where you want to serialize objects differently than abapGit. This exit is called at the end of the serialize process and gives an opportunity to change the content of the serialzed files.

One such scenario would be to automatically pretty-print code. This can be achieved by looping over all `.abap` files and processing them accordingly in this exit.

Closes #5050

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-12-11 07:30:50 +01:00
Lars Hvam
97d8723b6f
prioritize_deser, add unit tests (#5193)
* prioritize_deser, add unit tests

* more tests

* change to string

* update to latest npm packages, and more unit test
2021-12-10 13:46:32 -05:00
manhofmann
a637caf864
performance optimization parallel mode (#5187)
* performance optimization parallel mode

in parallel mode a new session is created for each object to be serialized. method IS_TYPE_SUPPORTED is called in each new session with only one object type. however all objects are loaded via method SUPPORTED_LIST. this change implements a specific cache for method IS_TYPE_SUPPORTED.

* Update src/objects/zcl_abapgit_objects.clas.abap

Co-authored-by: Christian Günter <christianguenter@googlemail.com>

* moved type defintion to PRIVATE SECTION

Co-authored-by: Lars Hvam <larshp@hotmail.com>
Co-authored-by: Christian Günter <christianguenter@googlemail.com>
2021-12-09 06:58:58 +01:00
Marc Bernard
b46c8b4599
Refactor: Consolidate front-end classes (#5172)
* Refactor: Consolidate front-end classes

There's no need for two "front-end classes". Moves all of ZCL_ABAPGIT_GUI_FUNCTIONS to ZCL_ABAPGIT_FRONTEND_SERVICES. Now all front-end calls are nicely together.

No functional change, some method reordering. 

Ref #2510, #5145

* Add missing interface

Co-authored-by: Christian Günter <christianguenter@googlemail.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-12-09 06:49:43 +01:00
Marc Bernard
9e629475dc
Fix dump ASSERTION_FAILED (#5190)
"Exists check" might be called for objects without `TADIR` entry (like `NSPC`). 

Regression of #4952 which removed the "if"

a72d3314cb (diff-4a3135e0f538157951fefdea06986dc644f6005a2af7f6917ff7f7f2f771f622L299)
2021-12-08 20:50:37 -05:00
Christian Günter
451ab7cadf
WebGUI: Disable jump (#5184)
Co-authored-by: Christian Günter <christian.guenter@emineo.ch>
2021-12-06 16:13:24 -05:00
Marc Bernard
3fa3323b2e
Refactor: Jump to Object Logic (#5158)
* Refactor: Jump to Object Logic

Continue #5114

- Removes jump_adt and jump_se11 from zcl_abapgit_objects_super
- Remove almost all object-specific jump handlers (zif_abapgit_object~jump) since they are covered by GUI Jumper now

* Remove ZCL_ABAPGIT_OBJECT_SICF

* Remove obsolete RS_TOOL_ACCESS

* FUGR

* IATU

* PDXX

* SRVD

* XINX

Co-authored-by: Lars Hvam <larshp@hotmail.com>
Co-authored-by: Christian Günter <christianguenter@googlemail.com>
2021-11-29 15:52:13 -05:00
Shyam Balachandran
9aa0dd154e
SRVB: Service Binding object changes (#4976)
* Fix issue 3443

Service Binding(SRVB) object changes

* Correcting abap lint findings

* Correcting abaplint findings 2

* Update zcl_abapgit_object_srvb.clas.abap

Changes to serialize and exists methods

* Update zcl_abapgit_object_srvb.clas.abap

Correct serialize and exists method

* Update zcl_abapgit_object_srvb.clas.abap

abapgit lint fixes

* Update zcl_abapgit_object_srvb.clas.abap

- Correcting exists method based on feedback
- Removing incorrect DDIC options for SRVB

Co-authored-by: Lars Hvam <larshp@hotmail.com>
Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
2021-11-26 08:06:50 +01:00
Marc Bernard
4ecbc30a2e
Add DRUL and DTDC to mass activation (#5156)
* Add DRUL and DTDC to mass activation

DDIC mass activation supports Dependency Rules (DRUL) and Dynamic Cache (DTDC) object

* Len

* Update abap_transpile.json
2021-11-22 13:30:19 -05:00
Alexander Tsybulsky
a671bb8dc3
Expand TABL includes before PUT (#5153) 2021-11-22 12:57:38 -05:00
Lars Hvam
4301d3e8c8
no chained assignment (#5140)
* no chained assignment

* bugfix
2021-11-19 16:19:27 +01:00
Frank Müller
6d02555f96
Check that include belongs to the same fugr (#5134)
* Check that include belongs to the same fugr

* abaplint

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-11-15 16:50:44 +01:00
Marc Bernard
53951dc2ad
Remove more unused variables (#5112)
* Remove more unused variables

* rm

* rm

* rm

* rm

* needed for refactor later

* rm

* Needed for callback

* rm

* rm

* Pragma

* rm enho

* rm

* rm

* Setting unused_variables

* Revert unused_variables setting

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-11-09 16:22:29 +01:00
Marc Bernard
285fbb21ff
SHI3: Set buffer mode (#5115)
Activates buffer mode for menus (same logic as in function BMENU_CREATE_TREE). 

Closes #5077

Co-authored-by: Alexander Tsybulsky <sbcgua@users.noreply.github.com>
2021-11-09 04:33:21 +01:00
Marc Bernard
ebf397b0f0
Fix regression for ADT Jump (#5120)
* Fix regression for ADT Jump

Regression from #5114 . Closes #5119
2021-11-07 14:53:53 -05:00
Marc Bernard
a37cf58e01
Refactor: Jump to Object Logic (#5114)
* Refactor: Jump to Object Logic

The goal is to greatly simplify the code to jump to an object, and to separate UI and object layers some more.

This PR introduces GUI Jumper (`zcl/if_abapgit_gui_jumper`), which covers all generic options to show an object. It tries the following options in order:
- ADT (if enabled)
- Workbench with line number
- Workbench without line number
- Transport System (new)

Only if all fail, abapGit will call the object-specific handler. 

Next steps:

- Remove `jump_adt` and `jump_se11` from `zcl_abapgit_objects_super` and replace by GUI Jumper
- Remove almost all object-specific jump handler since they are covered by GUI Jumper now

* Add class

* Lint

* Misleading name
2021-11-07 08:15:08 +01:00
Frank Müller
1ed9ca21e9
Performance Optimization with Namespace (#5097) 2021-11-05 05:35:36 +01:00
Christian Günter
53343a98d6
Files: Introduce secondary keys (#5101)
Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-11-05 05:32:39 +01:00
Marc Bernard
3da00146b7
WEBI: Fix changed_by, is_active, exists (#5106)
* WEBI: Last changed by

* Update zcl_abapgit_object_webi.clas.abap
2021-11-05 05:27:59 +01:00
Marc Bernard
0e6a46e076
SUSH: Fix check for lock (#5093)
* SUSH: Fix check for lock

* Error handling
2021-11-03 04:57:40 +01:00
Alexander Tsybulsky
412b61b9b9
strip FUGR generator comments (#5076)
Co-authored-by: Lars Hvam <larshp@hotmail.com>
Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
2021-11-02 15:20:45 -04:00
Alexander Tsybulsky
d103d2fb2e
Remove obsolete screens on PROG deserialize (#5075)
* Remove obsolete screens on PROG deserialize

* remove commented code

* align RS_SCRP_DELETE params

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-11-02 14:58:02 -04:00
Alexander Tsybulsky
c0ad1a96d0
Better multi-lang class tpool handling (#5074)
* better multilang class tpool handling

* dont save lang list on empty clas docu

Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-11-02 06:10:03 +01:00
Derby
53ddddb8e3
bug in zcl_abapgit_file_status->check_namespace (#5069)
Fix regular expression

Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
2021-11-01 14:57:06 -04:00
Marc Bernard
a3e598ac1f
FUGR/PROG: Keep field text in case of masking (#5072)
* FUGR/PROG: Keep field text in case of masking

If masking is used with a dynpro field, then the text (mask) must not be cleared.

Closes #5071
2021-10-29 11:30:00 -04:00
Marc Bernard
45806c5a95
Refactor serializer class (#4994)
* Refactor serializer class

- Consolidate i18n parameters
- Move determination of translation languages into serializer class
- Pass translation language setting when parallel processing (was a bug)

* Lint

* Add unit tests

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-10-25 16:01:40 +02:00
g-back
1e5befc44a
Decouple cl_gui_frontend_services (#5046)
* add additional methods

* fix whitespace

* add parameter prefixes

* zip: refactor usage of frontend_services

* debug info: refactor usage of frontend_services

* services basis: refactor frontend_services usage

* objects_super: refactor usage of frontend_services

* router: refactor usage of frontend_services

* services_abapgit: refactor usage of frontend_serv

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-10-20 17:54:23 +02:00
Marc Bernard
e8a6cb8a51
XSLT: Fix activation error (#5042)
Remove activation from `deserialize` and use `zcl_abapgit_objects_activation` instead.
2021-10-18 15:08:44 -04:00
Derby
9b582b039a
WDCA: Add support for appl. config content (#5030)
* object WDCA

object WDCA
+ wdy_config_appl-xcontent
+ wdy_config_appt

* Update zcl_abapgit_object_wdca.clas.abap

* Update src/objects/zcl_abapgit_object_wdca.clas.abap

Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>

* Update src/objects/zcl_abapgit_object_wdca.clas.abap

Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>

* Update zcl_abapgit_object_wdca.clas.abap

Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-10-15 07:35:03 +02:00
Alexander Tsybulsky
65701dbcc8
pull on package reassign (#4999)
Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-10-13 06:12:19 +02:00
Marc Bernard
51ce0b4df9
FUGR: Fix performance issue (#5017)
Optimize selection of function group includes.
2021-10-06 08:01:51 +02:00
Marc Bernard
2b8c21bdbc
SXCI: Inactive classic BAdIs (#5006)
* SXCI: Inactive classic BAdIs

Implements a workaround since SAP does not show inactive classic BAdIs properly (missing entry in table `dwinactive`).

* Update zcl_abapgit_object_sxci.clas.abap

* Update src/objects/zcl_abapgit_object_sxci.clas.abap

Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>

* Change by

Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-10-05 06:12:45 +02:00
Marc Bernard
0379bc6d11
Change Package Assignment (#4980)
* Change Package Assignment

Previously, if an object was assigned to another package (but not changed otherwise), AG would delete and re-create the object. This was also visible in the "Selective Pull" popups:



The new process is smarter and detects such changes. It re-assigns the package (via a TADIR change) and avoids dropping and re-creating. The package overwrite popup is also avoided (it will still appear if the object itself was changed, too):

* Better icon

* Add unit test

Co-authored-by: Lars Hvam <larshp@hotmail.com>
Co-authored-by: Alexander Tsybulsky <sbcgua@users.noreply.github.com>
2021-10-05 06:02:20 +02:00
Marc Bernard
3e14313f32
SMIM: Last Changed By (#5009)
If "last changed" user is not found on logical object, try selection on physical object
2021-10-05 05:57:46 +02:00
Marc Bernard
0d8b4dd7f5
WDCC: Fix syntax error on lower releases (#5005) 2021-10-04 12:10:43 -04:00
Marc Bernard
c276c719d8
XSLT: Add late activation (#5003)
* 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>
2021-10-04 16:59:05 +02:00
Jaime Rodriguez Capote
bdedad5592
Delete child number from SICF node (#4988)
Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-10-01 08:18:22 +02:00
Lutzi3
e6f029b097
WDCC:Support all Config Types (#4985) 2021-10-01 08:14:16 +02:00
yellappam
34b2fb3222
FUGR: Clear TEXT when referring to dictionary (#4973)
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>
2021-10-01 08:12:18 +02:00
Marc Bernard
e0a9f1ccac
SRVD: Remove unused aliases (#4981)
* SRVD: Remove unused aliases

* Update
2021-09-27 16:12:19 -04:00
Christian Günter
d51643f026
SUSH: Clear metadata (#4967)
Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-09-24 06:35:30 +02:00
Marc Bernard
9038b31921
ENHO: Split code into separate files (#4951)
* 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>
2021-09-24 06:34:01 +02:00
yellappam
6761998a5d
TABL: CLEAR dd05m-leng (#4950)
* 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>
2021-09-24 06:32:31 +02:00
Frederik Hudák
35e3ce8640
DOMA - clear domname from fixed values (#4941)
* DOMA  - clear valpos, domname from fixed values

* undo clear of valpos

* retrigger ci

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-09-24 06:30:52 +02:00
Marc Bernard
3393aaaf94
CLAS: Replace APACK references (#4968)
Also replaces references to APACK types
2021-09-23 17:35:03 -04:00
Marc Bernard
c63d92e6f1
Post-processing option for custom class serializer (#4953)
* 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>
2021-09-18 06:23:06 +02:00
Marc Bernard
a72d3314cb
Remove exception from changed_by (#4952)
Simplify some code since `zcl_abapgit_objects=>changed_by` does not raise any exceptions.

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-09-16 09:44:05 +02:00
Marc Bernard
b331de6bc7
Naming of class constants (#4945)
* 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>
2021-09-14 16:47:48 +02:00
Marc Bernard
68c4f10e02
SRFC: Improvements (#4912)
* 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>
2021-09-12 10:09:33 -04:00
Marc Bernard
a94d06d493
DDLS: Fix dump in lower releases (#4915)
* 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>
2021-09-12 10:07:41 -04:00
Marc Bernard
61e629cd1f
Improvements for Objects Class (#4944)
* 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>
2021-09-12 07:33:41 +02:00
Lars Hvam
ab701df97e
SPPF support (#4938)
* SPPF support

#4839

* update docs

* pretty print

Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
2021-09-10 11:01:02 -04:00
Lars Hvam
e7e8af832e
align package descripions (#4939)
prefix all package descriptions with "abapGit - "
2021-09-10 10:58:36 -04:00
Marc Bernard
e86e2267c0
Improve message if object type is not supported (#4913)
Minor text change
2021-08-27 14:53:20 -04:00
Marc Bernard
6b81d7d958
Improve message for subpackage errors (#4911)
Clarify error and resolution options in case subpackage already exists in system but is not included in pack hierarchy of repo root package.

Closes #4904
2021-08-27 12:58:12 -04:00
Lars Hvam
329fd9dc0e
interface and factory for ZCL_ABAPGIT_PERSIST_SETTINGS (#4882)
the old get_instance() method in ZCL_ABAPGIT_PERSIST_SETTINGS has been moved to a method in zcl_abapgit_persist_factory, plus interface added. Added to persist injector
2021-08-03 15:13:16 +02:00
Marc Bernard
ab3f24fe06
BRF+ System Application (#4856)
* BRF+ System Application 

- Clear user/time/system-specific fields
- Fix deletion of object
- Remove unnecessary "exists check"
- Updated test case https://github.com/abapGit-tests/FDT0

* Lint

* Lint

* WEBI: Improve error handling

Pass messages to log

* Reverse WEBI

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-07-17 10:26:47 +02:00
victorizbitskiy
73496a2755
Refactor: Exception handling #4852 (#4869)
https://github.com/abapGit/abapGit/issues/4852
2021-07-13 09:13:25 +02:00
Christian Günter
bffe75958c
SMTG: Implement changed_by (#4867)
Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-07-09 15:23:58 +02:00
Marc Bernard
39512676ca
WEBI: Improve error handling (#4864) 2021-07-06 17:36:40 +02:00
Marc Bernard
2e7d642786
ECVO: Fix "empty xml" error (#4863)
* ECVO: Fix "empty xml" error

Fixes regression from #3991

* Upload
2021-07-06 11:11:27 +02:00
Marc Bernard
7c32f824df
TABL: Clear DB Indexname (#4850)
Fixes diffs because platform specific DB index names. 

Updated test repo: https://github.com/abapGit-tests/TABL_with_index

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-07-01 14:15:32 +02:00
Sascha Wächter
30615e848e
Started with BRF+ serialization and fixed some errors from the first attempt (#4797)
* Fixed Version BRF+ Integration

* BRF+ serialization

* Fixed obsolete parameters and wrong boolean type

* Fixed some errors and filtered ComponentReleeases

ComponentReleeases in XML Export and Import of BRF+ API can be omitted and works also the same. Next try if I could delete the useless metadata (User, System, etc...) or must leave them empty and fill them manually before deserialization.

* Some little changes

Removed Parameter iv_marked_option for older releases and removed method wb_request_choice. Changed to transport automatically.
Aligned some parameters.

Co-authored-by: Lars Hvam <larshp@hotmail.com>
Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
2021-06-28 13:29:56 +02:00
Marc Bernard
3defa2c165
WDCA: Clear parameter descriptions (#4851)
Fixes diffs because of parameters that are different between releases (or even SPs) or languages
2021-06-22 16:47:45 +02:00
Mike Pokraka
a9c40ea972
Remove experimental status from PDTS (#4831)
* Remove experimental status of PDTS

* Remove experimental status from PDTS
2021-06-10 10:03:17 +02:00
Lars Hvam
096aded586
LANGU rollbacks (#4829)
* LANGU rollbacks

#4828

* Update abaplint.json
2021-06-08 16:42:20 +02:00
Lars Hvam
753c2f5d21
Do not read TADIR-KORRNUM (#4825)
KORRNUM is misused for calculating the serialization sequence
2021-06-07 14:49:11 +02:00
Marc Bernard
38c453eb8b
FTGL: Update transport when deleting (#4821)
Add object to transport when deleting it.
2021-06-06 09:43:05 +02:00
Marc Bernard
887e7dd332
Offline repo: "Compare via RFC" feature (#4789)
* Offline repo: "Import via RFC" feature

Adds option to **offline** repositories for importing a repo via an RFC connection from another SAP system. It's a shortcut for doing "Export ZIP" in one system, and "Import ZIP" in the other.

Closes #4784

Pre-requisite: abapGit develop version (with this change) is installed on remote SAP system. 

Note: The general recommendation is to use **online** repositories and a git server for comparing and synchronizing systems.

* Lint

* Create guide-import-rfc.md

* Langu

* Langu

* Write-protect only

* Compare

* Compare

* Compare

* Compare

* Git

* Update docs/guide-import-rfc.md

Co-authored-by: Lars Hvam <larshp@hotmail.com>

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-06-04 15:09:09 +02:00
Marc Bernard
e2a156a326
Replace deprecated LANGU type (#4815)
* Replace deprecated LANGU type

Replace with `sy-langu` and update abaplint rule

* Replace langu

* Add langu to void types

* Replace table of langu
2021-06-02 08:04:05 +02:00
Marc Bernard
4cdb04c2c7
SCVI: Replace generic with native check (#4808)
* SCVI: Replace generic with native check

Replaces generic exist check with native function call

* Variable

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-06-01 13:05:49 +02:00
Marc Bernard
ac8bde9f6c
Fix use of sy-langu in object serializers (#4807)
* Fix use of sy-langu in object serializers

- Replace sy-langu variable with mv_language
- Replace sy-langu type with langu (makes it easier to spot sy-langu)
- Enhance generic serializer to use mv_language
- Add unit tests to generic serializer 
- Adjust and simplify serializers that are based on generic class

Closes #2080

* Update scvi+ueno

* Revert scvi

* Langu

* Langu

* Langu

* Langu

* Langu

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-06-01 13:02:42 +02:00
Marc Bernard
ad244abacd
Terminology: Inclusive Language - Part 6 (#4791)
* Terminology: Inclusive Language - Part 6

Change remaining variables and switch setting to main_language. 

Finally closes #4043

* Add todo

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-05-28 13:15:00 +02:00
Marc Bernard
5f4eb56071
DEVC: Application component for local packages (#4790)
For local packages, the application component is now stored in AG persistence. This will avoid the diff, if transportable packages are pulled into local packages.

Closes #1880
2021-05-28 05:45:17 +02:00
Juraj Adásek
f710d368e5
Regenerate profile SAP_ALL (#4792)
* Regenerate profile SAP_ALL

* Regenerate profile SAP_ALL after SUSO delete

Co-authored-by: Juraj Adasek <juraj.adasek@sap.com>
2021-05-27 06:05:22 +02:00
abap-weasel
30674e1e69
Release serialization resources (fixes #4774) (#4775)
* Release serialization resources (fixes #4774) 

Release serialization resources to prevent dump #4774 for export of large packages

* Free files after parallelization

* transfer files one by one

* Update src/objects/core/zcl_abapgit_serialize.clas.abap

Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>

* fix lint, missing fs declaration

* index access on delete lt_found

* Update src/objects/core/zcl_abapgit_serialize.clas.abap

Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>

* cleanup: index variable not required

* rollback to original APPEND LINES

Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-05-20 11:33:41 +02:00
Marc Bernard
c2e9e58319
Enhance "Force Pull" to become "Selective Pull" (#4733)
* Enhance "Force Pull" to become "Selective Pull"

With this PR you can now peform a selective pull. Yay!

- Changes "Force Pull" to show *all* changed objects in the usual "Overwrite Popup". This allows you to select individual objects to be pulled no matter if they were changed locally or remotely.
- Does *not* change the regular "Pull" logic

Closes #413, #4282

* Combine delete and overwrite popups

* Add icons to abaplint.json

* Change if to case

* Add icons to abaplint.json

* Enhance UTs

* show_icon

* Show icon

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-05-20 06:19:00 +02:00
Marc Bernard
4d9d7fb37e
Remove adjust_namespaces (#4760)
* Remove adjust_namespace

Method is obsolete since namespace of object is already adjusted in `zcl_abapgit_filename_logic=>file_to_object`

* Remove adjust_namespace

* Remove bracket

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-05-14 10:55:46 +02:00
Marc Bernard
ce677e449f
INTF: Fix check if interface exists (#4759)
As mentioned in #4673, the existence check for interfaces is not correct and actually checking for classes. The PR will correct the check.

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-05-14 10:28:35 +02:00
Lars Hvam
212fcb779e
LOG: remove RC field (#4746)
closes #4634
2021-05-09 10:58:31 +02:00
Marc Bernard
9f94f339aa
INTF: Refactor to fix "permission error" (#4673)
* 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>
2021-05-09 10:40:33 +02:00
ThomasPloski
1781290065
Adaptation of SRVD object handler (#4529)
* 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>
2021-05-09 10:38:47 +02:00
Lars Hvam
5e789531e0
Remove return code for parallel serializer (#4747)
closes #4586
2021-05-05 07:32:38 +02:00
Lars Hvam
7b336a4a71
cleanup unused local variables (#4739) 2021-05-01 09:51:05 +02:00
Mike Pokraka
58956a1059
Refactor PDTS into PDXX superclass (#4717)
* Add superclass

* Refactor into PDXX superclass

* Unit tests respect experimental indicator

* Lint

* Lint

* Lint+CHECK misbehaving

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-04-27 18:53:26 +02:00
Frederik Hudák
b1c76b9852
DCLS: implement changed_by (#4712) 2021-04-21 08:53:29 +02:00
Marc Bernard
41b301cc11
Fix dump in case of package name conflicts (#4704)
Replaces assert with error message (#4620)
2021-04-16 10:05:14 +02:00
Marc Bernard
f55cdcc253
Refactor filename logic (#4697)
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>
2021-04-15 16:14:53 +02:00
Marc Bernard
f18a8ee82b
Terminology: Inclusive Language - Part 5 (#4702)
* 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
2021-04-15 08:32:09 +02:00
Marc Bernard
23f62b993f
ENHx: Change order for deserialize (#4698)
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.
2021-04-13 06:39:34 +02:00
Marc Bernard
eb8812eaac
Show "data" by object in repo view (#4689)
* 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>
2021-04-12 14:53:09 +02:00
Marc Bernard
631d0fdccb
Refactor status calculation (#4679)
* 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>
2021-04-10 11:26:31 +02:00
Marc Bernard
086a23daca
ODSO: Replace exceptions that exist in SAP_BW only (#4694)
Closes #4692
2021-04-10 10:55:57 +02:00
Marc Bernard
607ac4f3ab
SOTS: Uninstall with usage reference (#4687)
* 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>
2021-04-08 10:33:13 +02:00
Marc Bernard
cd6da45a12
ENHx: Improve error messages (#4686)
Include reference to previous exception and exception texts in error messages for enhancement implementations (`ENHO`, `ENHC`)
2021-04-07 17:48:53 +02:00
Marc Bernard
bf5199b8d2
APACK: Replace interface name with constant (#4684)
* APACK: Replace interface name with constant

Closes #4248

* Lint

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-04-03 08:59:44 +02:00
Marc Bernard
56a0dca134
Refactor: Objects Class (#4664)
* Refactor: Objects Class

Splits `zcl_abapgit_objects` into smaller classes

Moves the following methods and related test cases:

`zcl_abapgit_objects_check`
- `deserialize_check`
- `warning_overwrite_find`
- `warning_package_find`
- `checks_adjust`
- `warning_overwrite_adjust`
- `warning_package_adjust`

`zcl_abapgit_files_deserialize`
- `files_to_deserialize`
- `filter_files_to_deserialize`
- `prioritize_deser`
- `adjust_namespaces`

* PP

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-03-27 10:46:38 +01:00
Marc Bernard
73dde20557
Add warning if namespace is not modifiable (#4669)
* Add warning if namespace is not modifiable

Closes #4648

* If

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-03-26 09:11:35 +01:00
Marc Bernard
0c2f060445
Fix namespace check (for DOCT objects) (#4671)
Improve regex to avoid conflict with object names that contain multiple `/`

Closes #4670
2021-03-26 06:45:48 +01:00