* 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
* 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
With this commit we fix the filename construction so that for
objects without file extension the correct filename is constructed.
Before this commit is applied these objects create file names with
an additional dot at the end.
* delete method CHECK_PROG_CHANGED_SINCE
not in use anymore
* delete method ADD_XML_FROM_PLUGIN
looks like it is not used anywhere, also not in plugins
* naming conventions