├── .abapgit.xml
├── LICENSE
├── README.md
├── abaplint.json
└── src
├── package.devc.xml
├── zabapopenreview.msag.xml
├── zaor_approvals.tabl.xml
├── zaor_aprove_bef_trans.dtel.xml
├── zaor_base.doma.xml
├── zaor_base.dtel.xml
├── zaor_checked.tabl.xml
├── zaor_checklist.tabl.xml
├── zaor_checklist_answer.dtel.xml
├── zaor_checklist_description.dtel.xml
├── zaor_checklist_item.dtel.xml
├── zaor_ci_filter.doma.xml
├── zaor_ci_filter.dtel.xml
├── zaor_code_com.tabl.xml
├── zaor_comment.tabl.xml
├── zaor_config.tabl.xml
├── zaor_configs.tobj.xml
├── zaor_import_default_checklist.prog.abap
├── zaor_import_default_checklist.prog.xml
├── zaor_number_of_approvals.dtel.xml
├── zaor_object.tabl.xml
├── zaor_object_tt.ttyp.xml
├── zaor_review.ssfo.xml
├── zaor_review.ssst.xml
├── zaor_review.tabl.xml
├── zaor_review_closing.enho.d773c878.abap
├── zaor_review_closing.enho.xml
├── zaor_review_id.dtel.xml
├── zaor_review_obj.tabl.xml
├── zaor_status.doma.xml
├── zaor_status.dtel.xml
├── zaor_topic.dtel.xml
├── zcl_aor_checklist.clas.abap
├── zcl_aor_checklist.clas.xml
├── zcl_aor_ci.clas.abap
├── zcl_aor_ci.clas.xml
├── zcl_aor_comments.clas.abap
├── zcl_aor_comments.clas.xml
├── zcl_aor_diff.clas.abap
├── zcl_aor_diff.clas.testclasses.abap
├── zcl_aor_diff.clas.xml
├── zcl_aor_review.clas.abap
├── zcl_aor_review.clas.xml
├── zcl_aor_service.clas.abap
├── zcl_aor_service.clas.xml
├── zcl_aor_time.clas.abap
├── zcl_aor_time.clas.xml
├── zcl_aor_transport.clas.abap
├── zcl_aor_transport.clas.locals_imp.abap
├── zcl_aor_transport.clas.xml
├── zcl_im_review_approved.clas.abap
├── zcl_im_review_approved.clas.xml
├── zcx_aor_error.clas.abap
├── zcx_aor_error.clas.xml
├── zif_aor_constants.intf.abap
├── zif_aor_constants.intf.xml
├── zif_aor_types.intf.abap
├── zif_aor_types.intf.xml
├── zreview.prog.abap
├── zreview.prog.xml
└── zreview_approved.sxci.xml
/.abapgit.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | E
6 | /src/
7 | PREFIX
8 |
9 | /.gitignore
10 | /LICENSE
11 | /README.md
12 | /package.json
13 | /.travis.yml
14 | /abaplint.json
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | GNU GENERAL PUBLIC LICENSE
2 | Version 2, June 1991
3 |
4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
5 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
6 | Everyone is permitted to copy and distribute verbatim copies
7 | of this license document, but changing it is not allowed.
8 |
9 | Preamble
10 |
11 | The licenses for most software are designed to take away your
12 | freedom to share and change it. By contrast, the GNU General Public
13 | License is intended to guarantee your freedom to share and change free
14 | software--to make sure the software is free for all its users. This
15 | General Public License applies to most of the Free Software
16 | Foundation's software and to any other program whose authors commit to
17 | using it. (Some other Free Software Foundation software is covered by
18 | the GNU Lesser General Public License instead.) You can apply it to
19 | your programs, too.
20 |
21 | When we speak of free software, we are referring to freedom, not
22 | price. Our General Public Licenses are designed to make sure that you
23 | have the freedom to distribute copies of free software (and charge for
24 | this service if you wish), that you receive source code or can get it
25 | if you want it, that you can change the software or use pieces of it
26 | in new free programs; and that you know you can do these things.
27 |
28 | To protect your rights, we need to make restrictions that forbid
29 | anyone to deny you these rights or to ask you to surrender the rights.
30 | These restrictions translate to certain responsibilities for you if you
31 | distribute copies of the software, or if you modify it.
32 |
33 | For example, if you distribute copies of such a program, whether
34 | gratis or for a fee, you must give the recipients all the rights that
35 | you have. You must make sure that they, too, receive or can get the
36 | source code. And you must show them these terms so they know their
37 | rights.
38 |
39 | We protect your rights with two steps: (1) copyright the software, and
40 | (2) offer you this license which gives you legal permission to copy,
41 | distribute and/or modify the software.
42 |
43 | Also, for each author's protection and ours, we want to make certain
44 | that everyone understands that there is no warranty for this free
45 | software. If the software is modified by someone else and passed on, we
46 | want its recipients to know that what they have is not the original, so
47 | that any problems introduced by others will not reflect on the original
48 | authors' reputations.
49 |
50 | Finally, any free program is threatened constantly by software
51 | patents. We wish to avoid the danger that redistributors of a free
52 | program will individually obtain patent licenses, in effect making the
53 | program proprietary. To prevent this, we have made it clear that any
54 | patent must be licensed for everyone's free use or not licensed at all.
55 |
56 | The precise terms and conditions for copying, distribution and
57 | modification follow.
58 |
59 | GNU GENERAL PUBLIC LICENSE
60 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
61 |
62 | 0. This License applies to any program or other work which contains
63 | a notice placed by the copyright holder saying it may be distributed
64 | under the terms of this General Public License. The "Program", below,
65 | refers to any such program or work, and a "work based on the Program"
66 | means either the Program or any derivative work under copyright law:
67 | that is to say, a work containing the Program or a portion of it,
68 | either verbatim or with modifications and/or translated into another
69 | language. (Hereinafter, translation is included without limitation in
70 | the term "modification".) Each licensee is addressed as "you".
71 |
72 | Activities other than copying, distribution and modification are not
73 | covered by this License; they are outside its scope. The act of
74 | running the Program is not restricted, and the output from the Program
75 | is covered only if its contents constitute a work based on the
76 | Program (independent of having been made by running the Program).
77 | Whether that is true depends on what the Program does.
78 |
79 | 1. You may copy and distribute verbatim copies of the Program's
80 | source code as you receive it, in any medium, provided that you
81 | conspicuously and appropriately publish on each copy an appropriate
82 | copyright notice and disclaimer of warranty; keep intact all the
83 | notices that refer to this License and to the absence of any warranty;
84 | and give any other recipients of the Program a copy of this License
85 | along with the Program.
86 |
87 | You may charge a fee for the physical act of transferring a copy, and
88 | you may at your option offer warranty protection in exchange for a fee.
89 |
90 | 2. You may modify your copy or copies of the Program or any portion
91 | of it, thus forming a work based on the Program, and copy and
92 | distribute such modifications or work under the terms of Section 1
93 | above, provided that you also meet all of these conditions:
94 |
95 | a) You must cause the modified files to carry prominent notices
96 | stating that you changed the files and the date of any change.
97 |
98 | b) You must cause any work that you distribute or publish, that in
99 | whole or in part contains or is derived from the Program or any
100 | part thereof, to be licensed as a whole at no charge to all third
101 | parties under the terms of this License.
102 |
103 | c) If the modified program normally reads commands interactively
104 | when run, you must cause it, when started running for such
105 | interactive use in the most ordinary way, to print or display an
106 | announcement including an appropriate copyright notice and a
107 | notice that there is no warranty (or else, saying that you provide
108 | a warranty) and that users may redistribute the program under
109 | these conditions, and telling the user how to view a copy of this
110 | License. (Exception: if the Program itself is interactive but
111 | does not normally print such an announcement, your work based on
112 | the Program is not required to print an announcement.)
113 |
114 | These requirements apply to the modified work as a whole. If
115 | identifiable sections of that work are not derived from the Program,
116 | and can be reasonably considered independent and separate works in
117 | themselves, then this License, and its terms, do not apply to those
118 | sections when you distribute them as separate works. But when you
119 | distribute the same sections as part of a whole which is a work based
120 | on the Program, the distribution of the whole must be on the terms of
121 | this License, whose permissions for other licensees extend to the
122 | entire whole, and thus to each and every part regardless of who wrote it.
123 |
124 | Thus, it is not the intent of this section to claim rights or contest
125 | your rights to work written entirely by you; rather, the intent is to
126 | exercise the right to control the distribution of derivative or
127 | collective works based on the Program.
128 |
129 | In addition, mere aggregation of another work not based on the Program
130 | with the Program (or with a work based on the Program) on a volume of
131 | a storage or distribution medium does not bring the other work under
132 | the scope of this License.
133 |
134 | 3. You may copy and distribute the Program (or a work based on it,
135 | under Section 2) in object code or executable form under the terms of
136 | Sections 1 and 2 above provided that you also do one of the following:
137 |
138 | a) Accompany it with the complete corresponding machine-readable
139 | source code, which must be distributed under the terms of Sections
140 | 1 and 2 above on a medium customarily used for software interchange; or,
141 |
142 | b) Accompany it with a written offer, valid for at least three
143 | years, to give any third party, for a charge no more than your
144 | cost of physically performing source distribution, a complete
145 | machine-readable copy of the corresponding source code, to be
146 | distributed under the terms of Sections 1 and 2 above on a medium
147 | customarily used for software interchange; or,
148 |
149 | c) Accompany it with the information you received as to the offer
150 | to distribute corresponding source code. (This alternative is
151 | allowed only for noncommercial distribution and only if you
152 | received the program in object code or executable form with such
153 | an offer, in accord with Subsection b above.)
154 |
155 | The source code for a work means the preferred form of the work for
156 | making modifications to it. For an executable work, complete source
157 | code means all the source code for all modules it contains, plus any
158 | associated interface definition files, plus the scripts used to
159 | control compilation and installation of the executable. However, as a
160 | special exception, the source code distributed need not include
161 | anything that is normally distributed (in either source or binary
162 | form) with the major components (compiler, kernel, and so on) of the
163 | operating system on which the executable runs, unless that component
164 | itself accompanies the executable.
165 |
166 | If distribution of executable or object code is made by offering
167 | access to copy from a designated place, then offering equivalent
168 | access to copy the source code from the same place counts as
169 | distribution of the source code, even though third parties are not
170 | compelled to copy the source along with the object code.
171 |
172 | 4. You may not copy, modify, sublicense, or distribute the Program
173 | except as expressly provided under this License. Any attempt
174 | otherwise to copy, modify, sublicense or distribute the Program is
175 | void, and will automatically terminate your rights under this License.
176 | However, parties who have received copies, or rights, from you under
177 | this License will not have their licenses terminated so long as such
178 | parties remain in full compliance.
179 |
180 | 5. You are not required to accept this License, since you have not
181 | signed it. However, nothing else grants you permission to modify or
182 | distribute the Program or its derivative works. These actions are
183 | prohibited by law if you do not accept this License. Therefore, by
184 | modifying or distributing the Program (or any work based on the
185 | Program), you indicate your acceptance of this License to do so, and
186 | all its terms and conditions for copying, distributing or modifying
187 | the Program or works based on it.
188 |
189 | 6. Each time you redistribute the Program (or any work based on the
190 | Program), the recipient automatically receives a license from the
191 | original licensor to copy, distribute or modify the Program subject to
192 | these terms and conditions. You may not impose any further
193 | restrictions on the recipients' exercise of the rights granted herein.
194 | You are not responsible for enforcing compliance by third parties to
195 | this License.
196 |
197 | 7. If, as a consequence of a court judgment or allegation of patent
198 | infringement or for any other reason (not limited to patent issues),
199 | conditions are imposed on you (whether by court order, agreement or
200 | otherwise) that contradict the conditions of this License, they do not
201 | excuse you from the conditions of this License. If you cannot
202 | distribute so as to satisfy simultaneously your obligations under this
203 | License and any other pertinent obligations, then as a consequence you
204 | may not distribute the Program at all. For example, if a patent
205 | license would not permit royalty-free redistribution of the Program by
206 | all those who receive copies directly or indirectly through you, then
207 | the only way you could satisfy both it and this License would be to
208 | refrain entirely from distribution of the Program.
209 |
210 | If any portion of this section is held invalid or unenforceable under
211 | any particular circumstance, the balance of the section is intended to
212 | apply and the section as a whole is intended to apply in other
213 | circumstances.
214 |
215 | It is not the purpose of this section to induce you to infringe any
216 | patents or other property right claims or to contest validity of any
217 | such claims; this section has the sole purpose of protecting the
218 | integrity of the free software distribution system, which is
219 | implemented by public license practices. Many people have made
220 | generous contributions to the wide range of software distributed
221 | through that system in reliance on consistent application of that
222 | system; it is up to the author/donor to decide if he or she is willing
223 | to distribute software through any other system and a licensee cannot
224 | impose that choice.
225 |
226 | This section is intended to make thoroughly clear what is believed to
227 | be a consequence of the rest of this License.
228 |
229 | 8. If the distribution and/or use of the Program is restricted in
230 | certain countries either by patents or by copyrighted interfaces, the
231 | original copyright holder who places the Program under this License
232 | may add an explicit geographical distribution limitation excluding
233 | those countries, so that distribution is permitted only in or among
234 | countries not thus excluded. In such case, this License incorporates
235 | the limitation as if written in the body of this License.
236 |
237 | 9. The Free Software Foundation may publish revised and/or new versions
238 | of the General Public License from time to time. Such new versions will
239 | be similar in spirit to the present version, but may differ in detail to
240 | address new problems or concerns.
241 |
242 | Each version is given a distinguishing version number. If the Program
243 | specifies a version number of this License which applies to it and "any
244 | later version", you have the option of following the terms and conditions
245 | either of that version or of any later version published by the Free
246 | Software Foundation. If the Program does not specify a version number of
247 | this License, you may choose any version ever published by the Free Software
248 | Foundation.
249 |
250 | 10. If you wish to incorporate parts of the Program into other free
251 | programs whose distribution conditions are different, write to the author
252 | to ask for permission. For software which is copyrighted by the Free
253 | Software Foundation, write to the Free Software Foundation; we sometimes
254 | make exceptions for this. Our decision will be guided by the two goals
255 | of preserving the free status of all derivatives of our free software and
256 | of promoting the sharing and reuse of software generally.
257 |
258 | NO WARRANTY
259 |
260 | 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
261 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
262 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
263 | PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
264 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
265 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
266 | TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
267 | PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
268 | REPAIR OR CORRECTION.
269 |
270 | 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
271 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
272 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
273 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
274 | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
275 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
276 | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
277 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
278 | POSSIBILITY OF SUCH DAMAGES.
279 |
280 | END OF TERMS AND CONDITIONS
281 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # abapOpenReview
2 | ABAP Review Tool
3 |
4 | ## Design goals
5 |
6 | * Work via SAP GUI(ie. no Eclipse integration)
7 | * Version requirement: 702
8 | * Customizable and extendable
9 | * Install via [abapGit](https://github.com/larshp/abapGit)
10 |
11 | ## Integration in the transport system
12 | abapOpenReview comes with two transport system enhancements:
13 | * When a transport request contains code diff, it must be approved before the transport request can be released. This check can be deactivated.
14 | * Reviews are closed after a transport request is released.
15 |
16 | ## Default checklist
17 | The repository contains the program `zaor_import_default_checklist` to import a default checklist with the following items:
18 | - `Dependencies changed in other transport requests?` When yes, the code will proparly break in target system, when this transport request is transported before the transport requests with the dependencies.
19 | - `All associated Customizing-Settings contained in transport request or are already created manually /via ALE-transfer in target system (e.g. Characteristics in CT04, Classes in CL02)?`: Not all Customizing-Settings are transported automatically e.g. the characteristics in transaction CT04, the classes in transaction CL02 (both from the classification API) or z-tables not marked correctly as customizing-tables. In this point we should make sure, that the Customizing-Settings between source and target system don't differ.
20 | - `API-Major-Changes (class, function-module etc.) bumped to dependents?`: When your transport request introduces major-changes, the dependents, which uses the APIs, can break. In this point we should make sure, that the dependents are compatible with the new API.
21 |
--------------------------------------------------------------------------------
/abaplint.json:
--------------------------------------------------------------------------------
1 | {
2 | "global": {
3 | "files": "/src/**/*.*",
4 | "skipGeneratedGatewayClasses": true,
5 | "skipGeneratedPersistentClasses": true,
6 | "skipGeneratedFunctionGroups": true
7 | },
8 | "dependencies": [
9 | {
10 | "url": "https://github.com/abaplint/deps",
11 | "folder": "/deps1",
12 | "files": "/src/**/*.*"
13 | },
14 | {
15 | "url": "https://github.com/germanysources/abapOpenReviewDeps",
16 | "folder": "/deps3",
17 | "files": "/src/**/*.*"
18 | }
19 | ],
20 | "syntax": {
21 | "version": "v702",
22 | "errorNamespace": "^(Z|Y|LT?CL_|TY_|LIF_)",
23 | "globalConstants": [],
24 | "globalMacros": []
25 | },
26 | "rules": {
27 | "downport": false,
28 | "line_break_multiple_parameters": false,
29 | "unknown_types": true,
30 | "forbidden_void_type": {
31 | "check": []
32 | },
33 | "forbidden_identifier": true,
34 | "try_without_catch": false,
35 | "unused_variables": false,
36 | "prefix_is_current_class": {
37 | "omitMeInstanceCalls": false
38 | },
39 | "allowed_object_naming": true,
40 | "check_comments": false,
41 | "fully_type_constants": true,
42 | "keep_single_parameter_on_one_line": false,
43 | "prefer_returning_to_exporting": true,
44 | "selection_screen_naming": true,
45 | "sicf_consistency": true,
46 | "sql_escape_host_variables": true,
47 | "xml_consistency": true,
48 | "check_no_handler_pragma": true,
49 | "newline_between_methods": false,
50 | "chain_mainly_declarations": true,
51 | "check_abstract": true,
52 | "check_text_elements": true,
53 | "type_begin_single_include": true,
54 | "types_naming": false,
55 | "7bit_ascii": true,
56 | "abapdoc": false,
57 | "check_ddic": true,
58 | "check_include": true,
59 | "form_no_dash": true,
60 | "allowed_object_types": false,
61 | "ambiguous_statement": false,
62 | "avoid_use": {
63 | "define": false,
64 | "endselect": true,
65 | "execSQL": true,
66 | "kernelCall": true,
67 | "communication": true,
68 | "systemCall": true,
69 | "defaultKey": false,
70 | "break": false,
71 | "statics": false
72 | },
73 | "begin_end_names": true,
74 | "check_transformation_exists": true,
75 | "check_syntax": true,
76 | "class_attribute_names": {
77 | "ignoreExceptions": true,
78 | "ignoreInterfaces": false,
79 | "statics": "^G._.*$",
80 | "ignoreLocal": false,
81 | "constants": "",
82 | "instance": "^M._.*$"
83 | },
84 | "cloud_types": true,
85 | "colon_missing_space": true,
86 | "commented_code": true,
87 | "constructor_visibility_public": true,
88 | "contains_tab": true,
89 | "definitions_top": true,
90 | "description_empty": true,
91 | "double_space": false,
92 | "empty_line_in_statement": {
93 | "allowChained": true
94 | },
95 | "empty_statement": true,
96 | "empty_structure": {
97 | "loop": true,
98 | "if": false,
99 | "while": true,
100 | "case": true,
101 | "select": true,
102 | "do": true,
103 | "at": true
104 | },
105 | "exit_or_check": true,
106 | "exporting": true,
107 | "form_tables_obsolete": false,
108 | "functional_writing": {
109 | "ignoreExceptions": true
110 | },
111 | "global_class": true,
112 | "identical_form_names": true,
113 | "if_in_if": true,
114 | "implement_methods": true,
115 | "in_statement_indentation": false,
116 | "indentation": {
117 | "ignoreExceptions": true,
118 | "alignTryCatch": false,
119 | "globalClassSkipFirst": false,
120 | "ignoreGlobalClassDefinition": false,
121 | "ignoreGlobalInterface": false
122 | },
123 | "inline_data_old_versions": true,
124 | "keyword_case": {
125 | "style": "upper",
126 | "ignoreExceptions": true,
127 | "ignoreLowerClassImplmentationStatement": true,
128 | "ignoreGlobalClassDefinition": false,
129 | "ignoreGlobalInterface": false,
130 | "ignoreKeywords": [],
131 | "ignoreFunctionModuleName": false
132 | },
133 | "line_length": {
134 | "length": 120
135 | },
136 | "line_only_punc": {
137 | "ignoreExceptions": true
138 | },
139 | "local_class_naming": {
140 | "exception": "^LCL_.*$",
141 | "local": "^LCL_.*$",
142 | "test": "^LTCL_.*$"
143 | },
144 | "local_testclass_location": true,
145 | "local_variable_names": {
146 | "expectedData": "^L._.*$",
147 | "expectedConstant": "^LC_.*$",
148 | "expectedFS": "^$"
149 | },
150 | "main_file_contents": true,
151 | "max_one_statement": true,
152 | "message_exists": false,
153 | "method_length": {
154 | "statements": 100,
155 | "ignoreTestClasses": false,
156 | "errorWhenEmpty": false
157 | },
158 | "method_parameter_names": false,
159 | "mix_returning": true,
160 | "msag_consistency": true,
161 | "nesting": {
162 | "depth": 5
163 | },
164 | "no_public_attributes": false,
165 | "object_naming": {
166 | "clas": "^ZC(L|X)\\_",
167 | "intf": "^ZIF\\_",
168 | "prog": "^Z",
169 | "fugr": "^Z",
170 | "tabl": "^Z",
171 | "ttyp": "^Z",
172 | "dtel": "^Z",
173 | "doma": "^Z",
174 | "msag": "^Z",
175 | "tran": "^Z",
176 | "enqu": "^EZ",
177 | "auth": "^Z",
178 | "pinf": "^Z",
179 | "idoc": "^Z",
180 | "ssfo": "^Z",
181 | "ssst": "^Z",
182 | "xslt": "^Z"
183 | },
184 | "obsolete_statement": {
185 | "refresh": true,
186 | "compute": true,
187 | "add": true,
188 | "subtract": true,
189 | "multiply": true,
190 | "move": true,
191 | "divide": true,
192 | "requested": true,
193 | "setExtended": true,
194 | "occurs": true
195 | },
196 | "parser_error": {},
197 | "preferred_compare_operator": {
198 | "badOperators": [
199 | "EQ",
200 | "><",
201 | "NE",
202 | "GE",
203 | "GT",
204 | "LT",
205 | "LE"
206 | ]
207 | },
208 | "release_idoc": true,
209 | "remove_descriptions": {
210 | "ignoreExceptions": false
211 | },
212 | "rfc_error_handling": false,
213 | "sequential_blank": {
214 | "lines": 4
215 | },
216 | "short_case": {
217 | "length": 1,
218 | "allow": [
219 | "iv_action",
220 | "sy"
221 | ]
222 | },
223 | "space_before_colon": true,
224 | "space_before_dot": {
225 | "ignoreGlobalDefinition": true,
226 | "ignoreExceptions": true
227 | },
228 | "start_at_tab": true,
229 | "superclass_final": true,
230 | "tabl_enhancement_category": true,
231 | "type_form_parameters": true,
232 | "unreachable_code": true,
233 | "use_new": true,
234 | "when_others_last": true,
235 | "whitespace_end": true
236 | }
237 | }
238 |
--------------------------------------------------------------------------------
/src/package.devc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Source-Coude Revies
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/src/zabapopenreview.msag.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ZABAPOPENREVIEW
7 | E
8 | abapOpenReview
9 |
10 |
11 |
12 | E
13 | ZABAPOPENREVIEW
14 | 000
15 | Some comments still pending
16 |
17 |
18 | E
19 | ZABAPOPENREVIEW
20 | 001
21 | Review closed
22 |
23 |
24 | E
25 | ZABAPOPENREVIEW
26 | 002
27 | Not found
28 |
29 |
30 | E
31 | ZABAPOPENREVIEW
32 | 003
33 | Unknown action
34 |
35 |
36 | E
37 | ZABAPOPENREVIEW
38 | 004
39 | Transport released
40 |
41 |
42 | E
43 | ZABAPOPENREVIEW
44 | 005
45 | Navigation not possible for object type
46 |
47 |
48 | E
49 | ZABAPOPENREVIEW
50 | 006
51 | Downloaded to &1
52 |
53 |
54 | E
55 | ZABAPOPENREVIEW
56 | 007
57 | No comments
58 |
59 |
60 | E
61 | ZABAPOPENREVIEW
62 | 008
63 | Topic is new. Can't be closed.
64 |
65 |
66 | E
67 | ZABAPOPENREVIEW
68 | 009
69 | You already approved this review.
70 |
71 |
72 | E
73 | ZABAPOPENREVIEW
74 | 010
75 | Review must be approved before it can be closed.
76 |
77 |
78 | E
79 | ZABAPOPENREVIEW
80 | 011
81 | Review must be approved before the transport request can be released.
82 |
83 |
84 | E
85 | ZABAPOPENREVIEW
86 | 012
87 | Failed to check code diff. Reason: &1.
88 |
89 |
90 |
91 |
92 |
93 |
--------------------------------------------------------------------------------
/src/zaor_approvals.tabl.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ZAOR_APPROVALS
7 | E
8 | TRANSP
9 | review approvals
10 | A
11 | 3
12 |
13 |
14 | ZAOR_APPROVALS
15 | A
16 | 1
17 | APPL1
18 | X
19 | X
20 |
21 |
22 |
23 | REVIEW_ID
24 | X
25 | ZAOR_REVIEW_ID
26 | 0
27 | X
28 | E
29 |
30 |
31 | APPROVED_BY
32 | X
33 | XUBNAME
34 | 0
35 | X
36 | E
37 |
38 |
39 | TIMESTAMP
40 | TIMESTAMP
41 | 0
42 | E
43 |
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/src/zaor_aprove_bef_trans.dtel.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ZAOR_APROVE_BEF_TRANS
7 | E
8 | SAP_BOOL
9 | 55
10 | 10
11 | 20
12 | 40
13 | Approve review before transport request release required
14 | Aprove review before transport request release required
15 | approve
16 | Approve review req.
17 | Aprove review before transport request r
18 | E
19 | D
20 |
21 |
22 |
23 |
24 | DE
25 |
26 | E
27 | E
28 | 0001
29 | X
30 | 00002
31 | A
32 |
33 |
34 | DOKU
35 | ZAOR_APROVE_BEF_TRANS
36 | DE
37 | E
38 | S_DOCU_SHOW
39 | S_DOCUS1
40 | 00001
41 | 072
42 |
43 |
44 |
45 | U1
46 | &DEFINITION&
47 |
48 |
49 | AS
50 | Indicates, that a review must be approved before it can be closed and
51 |
52 |
53 | the transport request can be released.
54 |
55 |
56 | AS
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
--------------------------------------------------------------------------------
/src/zaor_base.doma.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ZAOR_BASE
7 | E
8 | CHAR
9 | 000001
10 | 000001
11 | X
12 | Base
13 |
14 |
15 |
16 | 0001
17 | E
18 | T
19 | Transport
20 |
21 |
22 | 0002
23 | E
24 | D
25 | Developer
26 |
27 |
28 | 0003
29 | E
30 | O
31 | Object
32 |
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/src/zaor_base.dtel.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ZAOR_BASE
7 | E
8 | ZAOR_BASE
9 | 04
10 | 10
11 | 20
12 | 40
13 | Base
14 | Base
15 | Base
16 | Base
17 | Base
18 | E
19 | D
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/src/zaor_checked.tabl.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ZAOR_CHECKED
7 | E
8 | TRANSP
9 | Checklist Results
10 | A
11 | 1
12 |
13 |
14 | ZAOR_CHECKED
15 | A
16 | 3
17 | APPL1
18 | N
19 |
20 |
21 |
22 | REVIEW_ID
23 | X
24 | ZAOR_REVIEW_ID
25 | 0
26 | X
27 | E
28 |
29 |
30 | ITEM
31 | X
32 | ZAOR_CHECKLIST_ITEM
33 | 0
34 | X
35 | E
36 |
37 |
38 | ANSWER
39 | ZAOR_CHECKLIST_ANSWER
40 | 0
41 | E
42 |
43 |
44 | BNAME
45 | XUBNAME
46 | 0
47 | E
48 |
49 |
50 | TIMESTAMP
51 | TIMESTAMP
52 | 0
53 | E
54 |
55 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/src/zaor_checklist.tabl.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ZAOR_CHECKLIST
7 | E
8 | TRANSP
9 | Checklist Settings
10 | X
11 | A
12 | 1
13 |
14 |
15 | ZAOR_CHECKLIST
16 | A
17 | 0
18 | APPL1
19 | X
20 | N
21 |
22 |
23 |
24 | ITEM
25 | X
26 | ZAOR_CHECKLIST_ITEM
27 | 0
28 | X
29 | E
30 |
31 |
32 | DESCRIPTION
33 | ZAOR_CHECKLIST_DESCRIPTION
34 | 0
35 | E
36 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/src/zaor_checklist_answer.dtel.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ZAOR_CHECKLIST_ANSWER
7 | E
8 | TEXT10
9 | 55
10 | 10
11 | 20
12 | 40
13 | Checklist Answer
14 | Checklist Answer
15 | Checklist
16 | Checklist Answer
17 | Checklist Answer
18 | E
19 | D
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/src/zaor_checklist_description.dtel.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ZAOR_CHECKLIST_DESCRIPTION
7 | E
8 | TEXT300
9 | 55
10 | 10
11 | 20
12 | 40
13 | Description
14 | Description
15 | Descriptio
16 | Description
17 | Description
18 | E
19 | D
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/src/zaor_checklist_item.dtel.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ZAOR_CHECKLIST_ITEM
7 | E
8 | 55
9 | 10
10 | 20
11 | 40
12 | Checklist Item
13 | Checklist Item
14 | Checklist
15 | Checklist Item
16 | Checklist Item
17 | E
18 | CHAR
19 | 000006
20 | 000006
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/src/zaor_ci_filter.doma.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ZAOR_CI_FILTER
7 | E
8 | CHAR
9 | 000001
10 | 000001
11 | X
12 | CI filter
13 |
14 |
15 |
16 | 0001
17 | E
18 | N
19 | None
20 |
21 |
22 | 0002
23 | E
24 | O
25 | Object
26 |
27 |
28 | 0003
29 | E
30 | I
31 | Include
32 |
33 |
34 | 0004
35 | E
36 | L
37 | Lines
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/src/zaor_ci_filter.dtel.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ZAOR_CI_FILTER
7 | E
8 | ZAOR_CI_FILTER
9 | 09
10 | 10
11 | 20
12 | 40
13 | CI Filter
14 | CI Filter
15 | CI Filter
16 | CI Filter
17 | CI Filter
18 | E
19 | D
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/src/zaor_code_com.tabl.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ZAOR_CODE_COM
7 | E
8 | TRANSP
9 | X
10 | Code comment
11 | A
12 | 3
13 |
14 |
15 | ZAOR_CODE_COM
16 | A
17 | 1
18 | APPL1
19 | X
20 | X
21 |
22 |
23 |
24 | REVIEW_ID
25 | X
26 | ZAOR_REVIEW_ID
27 | 0
28 | X
29 | E
30 |
31 |
32 | TOPIC
33 | X
34 | ZAOR_TOPIC
35 | 0
36 | X
37 | E
38 |
39 |
40 | .INCLUDE
41 | 0
42 | ZAOR_OBJECT
43 | S
44 | Object
45 | S
46 |
47 |
48 | NEW_LINE
49 | 0
50 | N
51 | 000012
52 | NUMC
53 | 000006
54 | NUMC
55 | New line
56 |
57 |
58 | OLD_LINE
59 | 0
60 | N
61 | 000012
62 | NUMC
63 | 000006
64 | NUMC
65 | old line
66 |
67 |
68 |
69 |
70 |
71 |
--------------------------------------------------------------------------------
/src/zaor_comment.tabl.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ZAOR_COMMENT
7 | E
8 | TRANSP
9 | Comments
10 | A
11 | 1
12 |
13 |
14 | ZAOR_COMMENT
15 | A
16 | 1
17 | APPL1
18 | N
19 |
20 |
21 |
22 | REVIEW_ID
23 | X
24 | ZAOR_REVIEW_ID
25 | 0
26 | X
27 | E
28 |
29 |
30 | TOPIC
31 | X
32 | ZAOR_TOPIC
33 | 0
34 | X
35 | E
36 |
37 |
38 | TIMESTAMP
39 | X
40 | TIMESTAMP
41 | 0
42 | X
43 | E
44 |
45 |
46 | TEXT
47 | 0
48 | g
49 | 000008
50 | STRG
51 | STRG
52 |
53 |
54 | BNAME
55 | XUBNAME
56 | 0
57 | E
58 |
59 |
60 | CLOSED
61 | FLAG
62 | 0
63 | X
64 | F
65 | E
66 |
67 |
68 |
69 |
70 |
71 |
--------------------------------------------------------------------------------
/src/zaor_config.tabl.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ZAOR_CONFIG
7 | E
8 | TRANSP
9 | X
10 | abapOpenReview configuration
11 | X
12 | C
13 | 3
14 |
15 |
16 | ZAOR_CONFIG
17 | A
18 | 0
19 | APPL2
20 | X
21 | X
22 | X
23 |
24 |
25 |
26 | MANDT
27 | X
28 | MANDT
29 | 0
30 | X
31 | E
32 |
33 |
34 | APPROVE_BEFORE_TRANSPORT_REQ
35 | ZAOR_APROVE_BEF_TRANS
36 | 0
37 | X
38 | F
39 | E
40 |
41 |
42 |
43 |
44 | ZAOR_CONFIG
45 | &NC&
46 |
47 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/src/zaor_configs.tobj.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ZAOR_CONFIG
7 | S
8 | X
9 | CUST
10 | 2
11 | 3
12 |
13 |
14 | E
15 | ZAOR_CONFIG
16 | S
17 | abapOpenReview configuration
18 |
19 |
20 |
21 | ZAOR_CONFIG
22 | S
23 | ZAOR_CONFIG
24 | X
25 | X
26 |
27 |
28 |
29 |
30 | ZAOR_CONFIG
31 | &NC&
32 |
33 |
34 | ZAOR_CONFIG
35 | ZAOR_CONFIG
36 | 1
37 | 0001
38 | X
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/src/zaor_import_default_checklist.prog.abap:
--------------------------------------------------------------------------------
1 | *&---------------------------------------------------------------------*
2 | *& Report ZAOR_IMPORT_DEFAULT_CHECKLIST
3 | *&
4 | *&---------------------------------------------------------------------*
5 | *&
6 | *&
7 | *&---------------------------------------------------------------------*
8 | REPORT zaor_import_default_checklist.
9 |
10 | START-OF-SELECTION.
11 | DATA: lt_checklist TYPE STANDARD TABLE OF zaor_checklist,
12 | lv_item_no TYPE zaor_checklist_item.
13 | FIELD-SYMBOLS: TYPE zaor_checklist.
14 |
15 | SELECT MAX( item ) FROM zaor_checklist
16 | INTO lv_item_no.
17 | lv_item_no = lv_item_no + 1.
18 |
19 | APPEND INITIAL LINE TO lt_checklist ASSIGNING .
20 | -item = lv_item_no.
21 | -description = 'Dependencies changed in other transport requests?'.
22 | lv_item_no = lv_item_no + 1.
23 | APPEND INITIAL LINE TO lt_checklist ASSIGNING .
24 | -item = lv_item_no.
25 | -description = 'All associated Customizing-Settings contained in transport request ' &&
26 | 'or are already created manually /via ALE-transfer in target system ' &&
27 | '(e.g. Characteristics in CT04, Classes in CL02)?'.
28 | lv_item_no = lv_item_no + 1.
29 | APPEND INITIAL LINE TO lt_checklist ASSIGNING .
30 | -item = lv_item_no.
31 | -description = 'API-Major-Changes (class, function-module etc.) bumped to dependents?'.
32 |
33 | INSERT zaor_checklist FROM TABLE lt_checklist.
34 |
--------------------------------------------------------------------------------
/src/zaor_import_default_checklist.prog.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ZAOR_IMPORT_DEFAULT_CHECKLIST
7 | 1
8 | E
9 | X
10 | X
11 |
12 |
13 |
14 | R
15 | Import default checklist
16 | 24
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/src/zaor_number_of_approvals.dtel.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ZAOR_NUMBER_OF_APPROVALS
7 | E
8 | 26
9 | 07
10 | 16
11 | 26
12 | Number of review approvals
13 | Number of review approvals
14 | N. app.
15 | Number approvals
16 | Number of review approvals
17 | E
18 | NUMC
19 | 000002
20 | 000002
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/src/zaor_object.tabl.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ZAOR_OBJECT
7 | E
8 | INTTAB
9 | Object
10 | 1
11 |
12 |
13 |
14 | PGMID
15 | PGMID
16 | 0
17 | E
18 |
19 |
20 | OBJECT
21 | TROBJTYPE
22 | 0
23 | D
24 | E
25 |
26 |
27 | OBJ_NAME
28 | TROBJ_NAME
29 | 0
30 | E
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/src/zaor_object_tt.ttyp.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ZAOR_OBJECT_TT
7 | E
8 | ZAOR_OBJECT
9 | S
10 | STRU
11 | T
12 | D
13 | N
14 | ZAOR_OBJECT Table Type
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/zaor_review.ssst.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ZAOR_REVIEW
7 | E
8 | E
9 |
Style ZAOR_REVIEW
10 | Style ZAOR_REVIEW
11 | A1
12 | 10.0
13 | 6.0
14 | 1.0
15 | CM
16 | A
17 | HELVE
18 | 120
19 |
20 |
21 |
22 | A
23 | ZAOR_REVIEW
24 | A0
25 | LEFT
26 | 1.0
27 | LN
28 | CM
29 | CM
30 | CM
31 | CM
32 | CM
33 | CM
34 | HELVE
35 | 100
36 | *
37 | *
38 | *
39 | E
40 |
Size 10 Left
41 |
42 |
43 | A
44 | ZAOR_REVIEW
45 | A1
46 | LEFT
47 | 1.0
48 | LN
49 | CM
50 | CM
51 | CM
52 | CM
53 | CM
54 | CM
55 | HELVE
56 | 120
57 | *
58 | *
59 | *
60 | E
61 |
Size 12 Left
62 |
63 |
64 | A
65 | ZAOR_REVIEW
66 | B0
67 | LEFT
68 | 1.0
69 | LN
70 | CM
71 | CM
72 | CM
73 | CM
74 | CM
75 | CM
76 | HELVE
77 | 100
78 | X
79 | *
80 | *
81 | E
82 |
Size 10 Left Bold
83 |
84 |
85 | A
86 | ZAOR_REVIEW
87 | B1
88 | LEFT
89 | 1.0
90 | LN
91 | CM
92 | CM
93 | CM
94 | CM
95 | CM
96 | CM
97 | HELVE
98 | 120
99 | X
100 | *
101 | *
102 | E
103 |
Size 12 Left Bold
104 |
105 |
106 | A
107 | ZAOR_REVIEW
108 | B4
109 | LEFT
110 | 1.0
111 | LN
112 | CM
113 | CM
114 | CM
115 | CM
116 | CM
117 | CM
118 | HELVE
119 | 160
120 | X
121 | *
122 | *
123 | E
124 |
Size 16 Left Bold
125 |
126 |
127 | A
128 | ZAOR_REVIEW
129 | B5
130 | LEFT
131 | 1.0
132 | LN
133 | CM
134 | CM
135 | CM
136 | CM
137 | CM
138 | CM
139 | HELVE
140 | 260
141 | X
142 | *
143 | *
144 | E
145 |
Size 26 Left Bold
146 |
147 |
148 | A
149 | ZAOR_REVIEW
150 | C0
151 | LEFT
152 | 1.0
153 | LN
154 | CM
155 | CM
156 | CM
157 | CM
158 | CM
159 | CM
160 | COURIER
161 | 100
162 | *
163 | *
164 | *
165 | E
166 |
Courier 10 Left
167 |
168 |
169 | A
170 | ZAOR_REVIEW
171 | C1
172 | LEFT
173 | 1.0
174 | LN
175 | CM
176 | CM
177 | CM
178 | CM
179 | CM
180 | CM
181 | COURIER
182 | 120
183 | *
184 | *
185 | *
186 | E
187 |
Courier 12 Left
188 |
189 |
190 | A
191 | ZAOR_REVIEW
192 | R0
193 | RIGHT
194 | 1.0
195 | LN
196 | CM
197 | CM
198 | CM
199 | CM
200 | CM
201 | CM
202 | HELVE
203 | 100
204 | *
205 | *
206 | *
207 | E
208 |
Size 10 Right
209 |
210 |
211 | A
212 | ZAOR_REVIEW
213 | U1
214 | LEFT
215 | 1.0
216 | LN
217 | CM
218 | CM
219 | CM
220 | CM
221 | CM
222 | CM
223 | HELVE
224 | 120
225 | *
226 | *
227 | X
228 | E
229 |