Commit Graph

339 Commits

Author SHA1 Message Date
Lars Hvam
f88237f411
remove double spaces (#2770)
* remove double spaces

* whitespace
2019-07-02 20:54:35 -07:00
Lars Hvam
c84b209944
Minor lint updates (#2766)
* remove some double space

* update abaplint to latest

* fixes
2019-07-01 22:08:54 -07:00
Hector Martinez
3e53360722 fix for issue #2747 (#2760) 2019-06-28 23:06:07 -07:00
Martin Fuchs
4aab0166ac Pass log to deserialization API and show log (#2729)
* Pass log interface for de-serialization

Interface ZIF_ABAPGIT_LOG is now passed for deseriaization API.
This includes:
- Log messages for FUGR: Imported function modules and includes
- Improved error messages for TABL compare
- Log objects w/o changes
- Log is shown in the UI if available ("Log" entry appears if a log exists, no persistence!)
This PR enhances #2534 and #2694

Another important change: In case an object fails (or a single function module in a group fails), the import continues with the next object!

* small pretty printer changes

small pretty printer changes

* fix abaplint issues

reduce line sizes and ensure 7.02 compatibility

* show errors and warnings from pull

Errors and warnings after a pull are now part of the "message list" above the object list in the main screen and will be shown immediately. The new"Log" button shows errors, warnings and success messages on demand.
The log title is now part of the ZIF_ABAPGIT_LOG interface.

* fix abaplint issue

fix abaplint issue
2019-06-21 23:05:10 -07:00
Hector Martinez
a69e313090 fix for issue #2745 (#2749)
* solves issue #2745

* format

* format, now with abaplint
2019-06-21 23:00:05 -07:00
larshp
f8c017a8de replace conversion exit usage #2716 2019-06-11 10:46:15 -07:00
Christian Guenter
1d1ab1db18 TOBJ: delete tadir 2019-06-11 08:58:09 -07:00
Christian Guenter
b5a1b343ca W3HT + W3MI: delete tadir 2019-06-11 08:57:51 -07:00
larshp
f9f8adcf9e remove use of CONVERSION_EXIT_RSDAT_INPUT 2019-06-03 22:24:55 -07:00
larshp
4169d1045a generic serializer: order by primary key #2682 2019-05-29 23:53:50 -07:00
larshp
939d30ed3b odatav4 first draft, #2704 2019-05-29 23:53:19 -07:00
Lars Hvam
0f7fb3658a
Align code, compare operators #2670 (#2702)
* Update abaplint.json

* UDMO change compare operator
2019-05-26 03:38:54 -07:00
arcanist
9f11c3d563 enabling the overwrite for WEBI
BEFORE:
In case the webi already existed in the receiving system a dump occured that prevent the import from happening
AFTER
The old webi object will be overwritten with the new changes.
2019-05-26 03:26:24 -07:00
Martin Fuchs
2e781b316a ZIF_ABAPGIT_LOG: extend and move UI methods to new class (#2694)
* log: move show functions to new class

Enhance ZIF_ABAPGIT_LOG
- add IS_ITEM structure (object) to message adding functions
- add method "add_exception"
- add method "add_info"
- relocate methods "show", "to_html" and "write" to new class ZCL_ABAPGIT_LOG_VIEWER
Introduction of new log viewer class ZCL_ABAPGIT_LOG_VIEWER
Replacement of relocated methods where used
-> This is the next step providing a log for serialzation/de-serialization (see #2534)

* fix abaplint issues

fix abaplint issues

* fix abaplint issues (2)

fix abaplint issues
2019-05-26 03:16:03 -07:00
Srinivasu Reddy
2f43ee4591 Changes to compare operators to align code 2019-05-24 06:50:15 -07:00
Christian Guenter
0d54997b44 Fix jump for VIEW and TOBJ 2019-05-16 23:20:23 -07:00
Frederik Hudák
5cfb166d87 Change how table maintenance includes are excluded from serialization
Non-generated includes can also have author 'SAP'. Fixes #2674.
2019-05-16 23:19:54 -07:00
Martin Fuchs
9f2db446b1 simplified GET_DESERIALIZE_STEPS
Since all object handler contains exactly the same CASE statement for STEP definition, I would recommend that each object handler simply returns the STEP he belongs to.
This fix should "simply" issue #2499.
2019-05-05 00:57:52 -07:00
Thomas B
76b48e63a7 RS_CUA_INTERNAL_WRITE another fix (#2656)
* Update zcl_abapgit_objects_program.clas.abap

Found a situation on my project where on pulling code from a zip file, the error RS_CUA_INTERNAL_WRITE sy-subrc = 2 popped.
The error was due to the content of XML file exported : <CUA><ADM>ACTCODE was containing an 'X' value for a single file. I corrected the file putting it blank and it worked. But it's a fastidious task so I fixed the method ZCL_ABAPGIT_OBJECTS_PROGRAM->auto_correct_cua_adm in order to fix this field also when it contains only an 'X'. Tested ok on my system so I propose this small change.

* Update zcl_abapgit_objects_program.clas.abap

* Update zcl_abapgit_objects_program.clas.abap

Use the same check SAP does in form check_adm of include LSMPIF03 for the CUA values.
2019-04-28 01:09:49 -07:00
larshp
4a4f556e21 Generic: only unique tables 2019-04-24 07:58:07 -07:00
larshp
73b5ddc276 downport 2019-04-23 03:48:34 -07:00
Christian Guenter
4799230514 XINX delete: remove UI call 2019-04-22 22:46:51 -07:00
larshp
3084bb2c60 SSFO fixes for leading spaces #2640 2019-04-22 22:45:33 -07:00
Martin Fuchs
6e860f53da Avoid DYNPRO_SEND_IN_BACKGROUND while ADT Pull (#2634)
* Avoid DYNPRO_SEND_IN_BACKGROUND while ADT Pull

When ADT (aka ABAP in Eclipse) is used to trigger a pull request, there is no SAPGUI available in the backend system. Whenever a dynpro is called, a DYNPRO_SEND_IN_BACKGROUND short dump occurs.
This commit fixes issue #2632.
Additional remark: In case of a private repository, username and password are passed to the backend system. The ADT backend coding handles this via class ZCL_ABAPGIT_DEFAULT_AUTH_INFO. To avoid sending a password dialog in the backend system (class CL_ABAPGIT_PASSWORD_DIALOG), ZABAPGIT coding needs to be adjusted to take over user/pw from ZCL_ABAPGIT_DEFAULT_AUTH_INFO. I know this is not nice and it would be better to have ZCL_ABAPGIT_DEFAULT_AUTH_INFO in ZABAPGIT. Even the best solution would be to re-use ZCL_ABAPGIT_LOGIN_MANAGER, but I would recommend to refactor this in a new pull request later on...

* Fix abaplint identiation failure 

Fix abaplint identiation failure

* Rest ZCL_ABAPGIT_PASSWORD_DIALOG

Rest ZCL_ABAPGIT_PASSWORD_DIALOG to prelimiary version. 
To be changed in a different pull request....
2019-04-16 22:21:46 -07:00
Fabian Lupa
d6dfa424ae Add exit for CLAS CLIF source serialization (#2630)
* Add user exit for serialize_abap_clif_source

* Document CLIF serializer exit

* Add exit redirection for CLIF serializer

* Add link to example for CLIF serialization exit
2019-04-16 05:14:15 -07:00
Martin Fuchs
6560cbe539 report name of xml file in case of format error (#2626)
* report name of xml file in case of format error

In case of an error in the XML file, for support reason I want to know which file causes the error. The file name is mentioned if the XML itself is corrupt or if there is an XML version mismatch.
This PR fixes issue #2619.

* fix abaplint issues

fix abaplint issues
2019-04-14 00:14:22 -07:00
Martin Fuchs
4029cab9f6 Ignore XTI includes in FUGR
Do not serialize XTI includes (simple transformations) for function groups. In case they exist in the remote repositiory, do not import them.
2019-04-05 03:48:06 -07:00
Christian Günter
860896abd2 SFPI deserialization: delete if exists 2019-04-05 03:47:26 -07:00
Lars Hvam
7bbaf069e2
File format update collection (#2605)
* File format update - changed object handler

I removed the following fields:

CLAS
VSEOCLASS-VERSION

INTF
VSEOINTERF-VERSION

PROG
PROGDIR-STATE

DCLS
AS4LOCAL
ABAP_LANGUAGE_VERSION (if exists)

DDLS
ABAP_LANGUAGE_VERSION (if exists)

DDLX
VERSION
RESPONSIBLE
MASTER_SYSTEM

MSAG
DOKIL-DOKSTATE

ENQU
DD25V-AS4LOCAL
DD25V-AS4VERS

* fix syntax error

* also clear PROG VARCL

* update XML files
2019-03-31 01:17:46 -07:00
sandra rossi
6839f81c93 DIFF shown after pull ENHO of implicit enh. #2579
Issue #2579: diff still shown after pull of ENHO hooks (implicit enhancements i.e. code added at start/end of existing methods, etc.)

Reason: if the author has created and deleted implicit enhancements in the original system, the numbering doesn't start from 1 (this is the numbering we can see for the statement ENHANCEMENT, for instance ENHANCEMENT 1. ... ENDENHANCEMENT.) When pulling in another system, the numbering will start from 1, so it will differ from the source. As this enhancement number is serialized by abapGit in the XML, it will detect a difference.

Correction: the method SERIALIZE of class ZCL_ABAPGIT_OBJECT_ENHO_HOOK is changed so that to not serialize the enhancement number.
2019-03-30 03:23:26 -07:00
sandra rossi
0a84d7c830 #2580 enhancement events+ (NEW)enhancement methods
Three issues are corrected:
- Enhancement events are not serialized at all, nor deserialized (missing feature).
- The codeof new enhancement methods (not the implicit enhancements of existing methods, the code for methods added) are serialized but not deserialized (incomplete feature).
- DIFF may also appear after pulling ENHO objects, concerning attributes (OTR text ID being different) and method parameters (author, date, etc.)

Corrections: 
- Add serialization/deserialization of events in class ZCL_ABAPGIT_OBJECT_ENHO_CLIF
- Add deserialization of method implementations in class ZCL_ABAPGIT_OBJECT_ENHO_CLASS
- I havealso moved the existing method SERIALIZE_INCLUDES from ZCL_ABAPGIT_OBJECT_ENHO_CLIF to ZCL_ABAPGIT_OBJECT_ENHO_CLASS and created DESERIALIZE_INCLUDES in the latter class because method implementations exist only for classes, not for interfaces, so it should be done in "CLASS", not in "CLIF".
- DIFF criteria cleared in method SERIALIZE of class ZCL_ABAPGIT_OBJECT_ENHO_CLIF
2019-03-30 03:22:56 -07:00
sandra rossi
f603147bd1 #2577 shortdump ENHO object with new type
Short dump GETWA_NOT_ASSIGNED because of stupid copy/paste error in method SERIALIZE of ZCL_ABAPGIT_OBJECT_ENHO_CLIF:

    LOOP AT lt_tab_types ASSIGNING <ls_type>.
      CLEAR: <ls_attr>-author,
             <ls_attr>-createdon,
             <ls_attr>-changedby,
             <ls_attr>-changedon.
    ENDLOOP.

Replace all <ls_attr> with <ls_type>.

+ clearing of <ls_type>-descript_id (OTR text ID) so that the DIFF ignores this field (new OTR texts, with new IDs, are always created while pulling so the ID must not be compared).
2019-03-29 03:32:51 -07:00
Jakub Filak
00a378a42b A pair of SFPF and PROG error messages with more details (#2588)
* sfpf: make deserialization errors more verbose

Just to make debugging a little be easier.

* prog: make updating errors more verbose

For simpler debugging.
2019-03-28 22:55:55 -07:00
sandra rossi
578ac4ce17 NEW: enho clif handle "types" 2019-03-25 01:40:18 -07:00
Jakub Filak
21e252b5a4 sfpf: save layout in solo XDP file (#2555)
* objects: add a method checking presence of a file

The method is called 'contains' because then you can write:

  if mo_files->contains( iv_ext = 'abap' ) = abap_true.

In newer system, you can even leave out the suffix '= abap_true'.

I am not sure how to make the logic deciding how to the select
shared with the method read_file.

For future developers: if you change the type of raised exception of the
method read_file when the passed file is not found, you can stop using
the method contains and you can save some time in the cases where it is
highly unexpected that the file is missing. You could also remove the
method contains which will have the benefit of having one place with the
select statement.

* sfpf: save layout in solo XDP file

Manually tested pushing and pulling but it still might cause some
problems.

This commit adds a new file with the suffix XDP for every XFPF object.
The new file contains the form layout which can be edited in Adobe
LiveCycle Designer. During debugging I learned that we put layouts in
all supported languages to the serialized SFPF XML file but the new
layout file contains only the layout of the Form's language.

I am not sure if removing the layout data make sense because thelayout
object contains layout data for all supported languages and the call
set_layout_data changes only the form's language.

--- v2

Removed the statement:

  li_fp_form->get_layout( )->set_layout_data( i_layout_data = conv #('') ).

Because it did not save any space in the SFPF XML file (because there
are layouts for other languages) and the statement instantly removes
the layout from caches and breaks forms.

--- v3

Added a check for the presence of the XDP file to make this change
backward compatible with already existing repositories where the XDP
file does not exist. Pointed out by Lars in the review.

In this version, I also "beautified" the code by a constant for the
layout file extension.

--- v4

Re-added the statement:

  li_fp_form->get_layout( )->set_layout_data( i_layout_data = conv #('')
                                              i_set_xliff_ids = abap_false ).

and added the re-cover layout data statement:

  li_fp_form->get_layout( )->set_layout_data( i_layout_data = lv_layout_bck
                                              i_set_xliff_ids = abap_false ).

The parameter i_set_xliff_ids is required by the layout type 'XFA'. It
is not possible to set layout data to an empty string without that
parameter, if you do, an exception is thrown.

The layout type 'XFA2' uses the parameter by default.
---

Closes #2554
2019-03-25 01:40:01 -07:00
Christian Günter
9e2f7e7caf TABL: Simplify control flow (#2552)
* TABL: Simplify control flow

When this commit is applied the control flow in object serializer TABL
is eased. The idoc check returns now a boolean instead of raising an exception. Main purpose is to ease debugging due to reducing the use of 
zcx_abapgit_exception%3D>raise.

* TABL: fill rv_deleted on early exit
2019-03-19 10:05:15 -07:00
larshp
ff6725e759 replace uses of log with interface 2019-03-17 01:39:52 -07:00
Lars Hvam
5b6cc04159
use RETURNING instead of EXPORTING (#2533)
* READ_FILE use returning instead of exporting

* PARSE_LINE, use returning instead of exporting
2019-03-16 03:33:17 -07:00
Lars Hvam
f9318305e9
Minor fixes (#2532)
* minor fixes regarding unused variables

* minor code inspector fixes
2019-03-15 05:54:39 -07:00
larshp
4e780068c7 DTEL, skip TPARA
DTEL, skip TPARA #2520
2019-03-15 01:13:15 -07:00
Lars Hvam
88822bb735
add method to determine if running in cloud (#2515)
* add method to determine if running in cloud

add new class and method to determine if abapGit is running on ABAP cloud/Steampunk systems, part of an effort to align codelines #2511

* fix naming

* add simple unit test
2019-03-14 01:33:39 -07:00
GoWa
21527528c6 call redefined method of IF 2019-03-12 21:49:15 -07:00
larshp
25f6284493 implement GET_DESERIALIZE_STEPS
this is a quick fix, field LATE_DESER will be removed in future
2019-03-12 07:37:56 -07:00
GoWale
6b7b2ba5c5 Implement deserialize steps and swap DDIC/ABAP order (#2449)
* Implement deserialize steps swap DDIC/ÁBAP order

* fix for wapa and abaplint

* bugfix in falback logic and type definition

* fixed constant usage

* fixed abaplint and constant usage

* focus only on design change of deserialze

* focus only on design change of deserialze

* Bugfix for CI because of changes of the order

* cleanup

* cleanup

* minor changes

* move types to IF
2019-03-12 02:08:00 -07:00
Lars Hvam
fc167ff3cd
update abaplint config to latest (#2480)
* update abaplint config to latest

* remove some descriptions

* remove more descriptions

* fixes

* fixes
2019-03-04 07:12:42 -08:00
Gregor Wolf
b04226e8f1 Add missing sy-subrc to exception 2019-03-01 00:06:41 -08:00
larshp
7da7327f36 SPRX downport 2019-02-27 21:56:30 -08:00
Gregor Wolf
06097f9614 Add missing Subrc %3D { sy-subrc } 2019-02-27 21:52:30 -08:00
larshp
afa63c8f3b IWPR basic version #75
IWPR basic version #75

can later be extended with implementations of IS_LOCKED, JUMP, and CHANGED_BY

this uses the generic serializer via OBJH, like abapGit-Plugins
2019-02-27 05:34:39 -08:00
Gregor Wolf
c22cacb197 Add sy-subrc to exception 2019-02-26 21:29:01 -08:00