Commit Graph

677 Commits

Author SHA1 Message Date
Marc Bernard
8f0532d015
ENHC: Fix error when updating object (#4667)
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>
2021-03-25 12:19:34 +01:00
Marc Bernard
18d484af39
PROG: Refactor deserialize and fix inactive code (#4657)
* 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>
2021-03-25 07:56:20 +01:00
Marc Bernard
4c8f7fe117
ENHO: Clear fields for exceptions (#4666) 2021-03-24 14:55:11 +01:00
Marc Bernard
e143ec7f70
SOTS: Fix error during deserialize (#4660)
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.
2021-03-23 06:34:42 +01:00
Jānis B
59479570c5
Change DDIC activation mode (#4503)
* 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>
2021-03-22 13:12:49 +01:00
Lars Hvam
f108143a90
add ORDER BY (#4629)
* 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
2021-03-15 15:25:02 +01:00
Marc Bernard
a1cc7f8668
CLAS: Fix several issues related to class includes (#4510)
* 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>
2021-03-12 07:05:47 +01:00
Mike Pokraka
bb0591f12e
Update unit test to match changed message (#4631) 2021-03-12 07:02:25 +01:00
g-back
71c4849ae5
Minor Fixes (#4627)
* remove exception from signature, remove comment

* change search help, try fieldname first

* enable lang switch when multiple tcodes are assgnd
2021-03-11 14:51:48 +01:00
Jakub Filak
cce8660054
objects: do not consider only native objects as supported (#4611)
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>
2021-03-06 22:31:49 +01:00
Alexander Tsybulsky
17eac7b6c3
Strip XML details user exit (#4599)
* exit draft

* call exit

* linter fix

* PRE_CALCULATE_REPO_STATUS docs

* settings UI

* wire status calculation and repo settings

* uppercase

* diff rendering fix

* adjust docs

* adjust docs

* Remove settings

* more docs adjustments

* pass repo meta data into the exit

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-03-06 09:35:35 +01:00
yellappam
1a94c9a0f0
TYPE: Serialize active version (#4593)
* 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>
2021-03-04 08:49:44 +01:00
yellappam
09353951eb
Group unsupported object type messages (#4589)
* 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>
2021-03-03 05:36:21 +01:00
Marc Bernard
8a0af2fc67
DDIC: Error message in case of "new" versions (#4584)
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).
2021-03-02 17:38:26 +01:00
Alexander Tsybulsky
3df4863feb
LXE langs refactoring (#4494)
* main refactoring part

* linter fix

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-03-01 07:02:04 +01:00
sandraros
8edc8736f7
Fix pull clasenh "file emxxx not found" #4515 (#4552)
* Fix #4515

Fix #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>
2021-02-28 19:40:54 +01:00
Marc Bernard
da43c34fc4
DEVC: Unlock in case of errors (#4561)
* 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>
2021-02-28 17:16:33 +01:00
Marc Bernard
0392543ff5
AVAR: Unlock after deserialize (#4560)
* AVAR: Unlock after deserialize

* Dequeue

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-02-28 17:07:15 +01:00
Marc Bernard
f8076e9ca2
TABL: Remove field position from serialization (#4508)
* TABL: Remove field position from serialization

It's not necessary to serialize field position (`DD03P-POSTION`). Fields can simply be numberred sequentially during deserialize.

This avoid issues with include structures that have different number of fields in original and target systems.

Closes #4506

* Clear tabname, ddlanguage

* Lint

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

* Clear dd08v-ddlanguage

Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-02-28 10:47:16 +01:00
Lars Hvam
09ce51e646
WDCC fix dump (#4563)
* WDCC fix dump

* Update zcl_abapgit_object_wdcc.clas.abap
2021-02-28 10:09:58 +01:00
Marc Bernard
db61b57b80
DEVC: Avoid syntax check warning (#4559)
* DEVC: Avoid syntax check warning 

Add pragma

* Lint

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-02-24 05:53:34 +01:00
Lars Hvam
7112c4ff3a
WDCC serialization, fix dump (#4557)
in case the xml is empty, skip the pretty print, this will avoid a short dump during pretty printing
2021-02-24 05:51:28 +01:00
Marc Bernard
eea7f2527a
PARA: Unlock in case of errors (#4526)
If a PARA object cannot be deleted, it remains locked.



The change unlocks the object in this case.
2021-02-18 06:29:42 +01:00
Christian Günter
5d1aaa4eba
SUSH - raise error if not supported (#4521) 2021-02-17 06:37:31 +01:00
Ludwig Stockbauer-Muhr
f7de72c2aa
fixes deserialization issue of FUGR includes (#4518)
Closes #4517
2021-02-16 19:12:50 +01:00
Lars Hvam
5efc7a63ab
update deps in package.json (#4514)
* update deps in package.json

* enable rule max_one_method_parameter_per_line
2021-02-15 14:16:16 +01:00
Marc Bernard
7e0b75d2a8
Deserialize: Commit changes before activation (#4509)
* Deserialize: Commit changes before activation

Some objects (like `prog` or `intf`) are deserialized as inactive objects i.e. uncommitted changes. Usually, these changes are committed to the database after the activation process (end of the session). However, if there are any errors during activation, an exception is raised which will automatically do a `rollback work`. 

This change will make sure that inactive objects are preserved even if the activation fails. One can then analyze the inactive objects, make necessary corrections, and activate them manually.

Closes #4500

* Replace with standard function

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-02-14 09:29:50 +01:00
Marc Bernard
b4cd1695ab
XSLT: Unlock in case of errors (#4512)
If an XSLT object has for example syntax errors, it remains locked and can't be edited:

The change unlocks the object in this case.
2021-02-13 17:09:29 +01:00
Lars Hvam
8e07d46f4b
jump_se11, remove unused parameters (#4498) 2021-02-09 15:50:27 +01:00
Jan Ježek
901d877206
Serialise only main language for shi3 objects (#4497) 2021-02-09 07:31:16 +01:00
Marc Bernard
30201d4329
I18N: Catch exceptions (#4491)
* I18N: Catch exceptions

Handle exceptions properly and avoid unnecessary serializations

* Remove pragma

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-02-06 09:36:29 +01:00
Marc Bernard
73576ee60e
Improve error messages (#4472)
* Improve error messages

Pass T100 messages to UI/log

* T100 errors

* APACK

* OO

* DEVC

* DRUL

* DTDC

* SRVB

* OBJS

* Program

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-02-03 16:31:55 +01:00
Marc Bernard
dd813ed807
DEVC: Fix check if package is empty (#4466)
* DEVC: Fix check if package is empty

SOTR object is linked to SAP package and removed together with the package on uninstall. Therefore, it should not be taken into account when checking if a package is empty.

* Update comment

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

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-02-02 21:01:48 +01:00
Marc Bernard
0cd25ce331
SICF: Fix regression (#4481)
Removed code is part of `adjust_objects` already (https://github.com/abapGit/abapGit/pull/4426)
2021-02-02 07:31:17 +01:00
Marc Bernard
f570a6a0a9
Reduce flicker of status bar during deserialize (#4467)
The progress bar should not be turned off after `deserialize_object` (but only at end of `deserialize`).

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-02-01 09:36:00 +01:00
Marc Bernard
0e6a4ab764
W3xx: Remove TADIR entry on uninstall (#4465)
Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-01-31 10:43:29 +01:00
JustACasual
bcbc3d527d
I18N: LXE Translations (#4415)
* Issue 2424

https://github.com/abapGit/abapGit/issues/2424

* Issue 2424

https://github.com/abapGit/abapGit/issues/2424

* Update src/objects/zcl_abapgit_object_fugr.clas.abap

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

* Fixing LINT issues

* Fixing LINT issues

* TABL, default ROWORCOLST on deserialize (#4430) (#4)

* Fix for #4425

* Remove whitespace at end of line

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

* Remove whitespace at end of line

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: DerGuteWolf <DerGuteWolf@users.noreply.github.com>
Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>

* Centralize LXE functionality

* Fix FUGR LXE

* delete issue reference comments

* Delete issue reference comments

* Remove Aliases for LXE types

* Review Changes

* Copy from #4452

Integrate changes from #4452 into #4415

Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
Co-authored-by: DerGuteWolf <DerGuteWolf@users.noreply.github.com>
Co-authored-by: Sebastian Koitka <sebastian.koitka@dematic.com>
Co-authored-by: Marc Bernard <marc@marcbernardtools.com>
Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
2021-01-31 10:36:28 +01:00
Marc Bernard
1eac7e1f89
ACID: Avoid "no changes found" popup (#4464)
* ACID: Avoid "no changes found" popup

- Fix "no changes found" popup in case identical object is deserialized again
- Change to T100 messages
- Add missing dequeue

* Lint

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-01-28 08:48:25 +01:00
Marc Bernard
c48c030a0c
Fix status calculation on package move (#4447)
* Fix status calculation on package move

If an object is moved to another package *and* changed, the status was "blank". Now the object status is properly shown as "added/deleted". Also the `packmove` flag is *not* set anymore since a simple `tadir` change would not be sufficient. 

Extended unit test to cover this case.

* Split test method

* pretty

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-01-25 13:55:21 +01:00
Marc Bernard
40efc567f6
Automatic creation of top repository package (#4431)
* Automatic creation of top repository package

When adding a repository, it is not necessary anymore that the top SAP package assigned to the repository exists. Just enter a package name and clone (works for offline, too). 

The initial diff will now show that the top package exists remotely only. Therefore, when pulling, you will not get the "confirm overwrite package" popup anymore. Yippie!

* Typo

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-01-23 10:11:54 +01:00
Marc Bernard
cd3b29aac1
NSPC: Add support for namespaces (#4426)
* NSPC: Add support for namespaces

Part 2 of #835

If a repo contains any namespaced object, then this PR will make namespaces part of the repository. So far, serializing and updating an existing namespace is supported.

abapGit can not (yet) create the namespace automatically. This will require a bit of refactoring which will then also support creating the top repo package automatically. Coming soon. 

See readme of test case https://github.com/abapGit-tests/NSPC

* Refactor build

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-01-23 10:05:58 +01:00
DerGuteWolf
4c07c33c21
TABL, default ROWORCOLST on deserialize (#4430)
* Fix for #4425

* Remove whitespace at end of line

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

* Remove whitespace at end of line

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

Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>
2021-01-21 06:21:23 +01:00
Marc Bernard
31a550db0f
Refactor I18N settings (#4423)
* Refactor I18N settings

- Consolidate I18N parameters into a structure and pass it to xml and serializer classes (#4415)
- Continue change of terminology (#4043)

* Remove changes to serializer class

* Main lang

* DSYS

* OTGR

* Repo view

* Main langu

* Repo view %26 stage

* Serialize

* Settings

* Repo view

* Defs

* Stage

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-01-19 14:29:09 +01:00
Marc Bernard
7d4773ca23
NSPC: Add warning if namespace does not exist (#4420)
* NSPC: Add warning if namespace does not exist

Part 1 of #835

* Limit to xml files

* Unit test

* RC

* Regex

* Refactor checks into methods

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-01-18 17:55:34 +01:00
Marc Bernard
8ff0445673
DEVC: Avoid dump when creating new package (#4419)
Usually, in abapGit packages are created by the folder logic already. But it dumps with "`li_package` is not assigned," if deserialize is used in other ways.

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-01-18 09:19:31 +01:00
Marc Bernard
7e2d05a30b
AVAR: Remove tadir when uninstalling (#4418) 2021-01-18 07:34:31 +01:00
Marc Bernard
a824eef662
Prevent staging of duplicate files (#4403)
* Prevent staging of duplicate files

Since objects cannot exist in multiple packages, the staging page is now checking the selected files to prevent the resulting repo from containing an object multiple times.

If an object is moved to another SAP package and the corresponding files are seleted to be added to the repo (for the new package), then the files must also be removed from the repo (from the old package). If not, an error is raised.

* Remove other changes

* Update file status

* Extend unit test

Co-authored-by: Lars Hvam <larshp@hotmail.com>
2021-01-17 09:28:54 +01:00
Lars Hvam
db6db7cf79
remove more unused variables (#4413) 2021-01-15 17:22:51 +01:00
Lars Hvam
690da4e51f
delete some unused variables (#4411)
* delete some unused variables

* bdef, remove unused vars

* remove some more
2021-01-15 08:31:01 +01:00
Marc Bernard
9ef3f1ee7e
Uninstall ENQU before TABL (#4412)
Lock objects must be uninstalled before corresponding tables
2021-01-15 08:27:48 +01:00