├── LICENSE
├── LICENSES
└── Apache-2.0.txt
├── README.md
├── REUSE.toml
├── exercises
├── GettingStarted
│ ├── README.md
│ └── images
│ │ ├── scenario_overview.png
│ │ └── txt.txt
├── README.md
├── ex1
│ ├── README.md
│ ├── README2.md
│ └── images
│ │ ├── 06_000_adapt_wrapper_class.png
│ │ ├── 06_010_adapt_wrapper_class.png
│ │ ├── 06_020_adapt_wrapper_class.png
│ │ ├── approved_atc_exemptions.png
│ │ ├── approver_and_justification.png
│ │ ├── bapi_explorer-function_builder.png
│ │ ├── bapi_explorer-tools.png
│ │ ├── bapi_explorer.png
│ │ ├── console_application_language.png
│ │ ├── console_output_test_class.png
│ │ ├── create_button.png
│ │ ├── create_factory_class.png
│ │ ├── create_interface.png
│ │ ├── create_test_class.png
│ │ ├── create_test_package.png
│ │ ├── create_tier2_package.png
│ │ ├── create_tier2_package_2.png
│ │ ├── create_tier2_transport_request_2.png
│ │ ├── create_wrapper_class.png
│ │ ├── ex1_step3_generated_artefacts.png
│ │ ├── interface_atc_checks.png
│ │ ├── interface_request_exemption.png
│ │ ├── new_package_test_tier2.png
│ │ ├── new_package_zlocal.png
│ │ ├── packagenew.png
│ │ ├── packagenew2.png
│ │ ├── packagenew3.png
│ │ ├── packagenew4.png
│ │ ├── purchase_requisition_test.png
│ │ ├── rap640_parameter_010.png
│ │ ├── rap640_parameter_020.png
│ │ ├── rap640_parameter_030.png
│ │ ├── release_factory_class.png
│ │ ├── release_interface.png
│ │ ├── release_interface_2.png
│ │ ├── release_interface_3.png
│ │ ├── release_interface_4.png
│ │ ├── select_atc_check_variant.png
│ │ ├── start_aco_proxy_2.png
│ │ └── unreleased_wrapper_console_application.png
├── ex2
│ ├── README.md
│ └── images
│ │ ├── README.md
│ │ ├── bdef.png
│ │ ├── bdef2.png
│ │ ├── bdef3.png
│ │ ├── bdef3x.png
│ │ ├── bdef4.png
│ │ ├── bdef5.png
│ │ ├── bdef5x.png
│ │ ├── behavior.png
│ │ ├── behavior2.png
│ │ ├── behavior3.png
│ │ ├── behavior4.png
│ │ ├── behavior5.png
│ │ ├── behavior6.png
│ │ ├── binding.png
│ │ ├── binding2.png
│ │ ├── binding3.png
│ │ ├── binding4.png
│ │ ├── binding5.png
│ │ ├── cds.png
│ │ ├── cds2.png
│ │ ├── cds3.png
│ │ ├── cds4.png
│ │ ├── create.png
│ │ ├── create2.png
│ │ ├── create3.png
│ │ ├── databasenew.png
│ │ ├── databasenew2.png
│ │ ├── databasenew3.png
│ │ ├── databasenew4.png
│ │ ├── docu.png
│ │ ├── docu2.png
│ │ ├── docu3.png
│ │ ├── docu4.png
│ │ ├── docu5.png
│ │ ├── docugif.gif
│ │ ├── docuhint.png
│ │ ├── entity.png
│ │ ├── generate.png
│ │ ├── generate2.png
│ │ ├── generate3.png
│ │ ├── generate4.png
│ │ ├── generator.png
│ │ ├── generator2.png
│ │ ├── generator3.png
│ │ ├── generator4.png
│ │ ├── generator5.png
│ │ ├── generator6.png
│ │ ├── generator_enter_alias_name.png
│ │ ├── generator_enter_package_name.png
│ │ ├── generator_select_ui_generator.png
│ │ ├── implementation.png
│ │ ├── implementation2.png
│ │ ├── implementation3.png
│ │ ├── logonflp2.png
│ │ ├── logonflp4.png
│ │ ├── metadata.png
│ │ ├── o.png
│ │ ├── o2.png
│ │ ├── onprem.png
│ │ ├── onprem2.png
│ │ ├── onprem3.png
│ │ ├── onpremisenew.png
│ │ ├── onpremisenew2.png
│ │ ├── onpremisenew3.png
│ │ ├── onpremisepublish.png
│ │ ├── onpremx.png
│ │ ├── package.png
│ │ ├── package2.png
│ │ ├── package3.png
│ │ ├── package3x.png
│ │ ├── packagenew.png
│ │ ├── packagenew2.png
│ │ ├── packagenew3.png
│ │ ├── packagenew4.png
│ │ ├── projection.png
│ │ ├── projection2.png
│ │ ├── projection3.png
│ │ ├── projection4.png
│ │ ├── properties.png
│ │ ├── publishnew4.png
│ │ ├── purchase.png
│ │ ├── purchase2.png
│ │ ├── purchase3.png
│ │ ├── purchase4.png
│ │ ├── purchase5.png
│ │ ├── result.png
│ │ ├── sb.png
│ │ ├── sb2.png
│ │ ├── sb3.png
│ │ ├── sb4.png
│ │ ├── sb5.png
│ │ ├── sb6.png
│ │ ├── sb7.png
│ │ ├── sb8.png
│ │ ├── sb9.png
│ │ ├── service.png
│ │ ├── service2.png
│ │ ├── service3.png
│ │ ├── structure.png
│ │ ├── structure2.png
│ │ ├── structure3.png
│ │ ├── table.png
│ │ ├── table2.png
│ │ ├── table3.png
│ │ ├── table4.png
│ │ ├── table5.png
│ │ ├── table6.png
│ │ └── wizard3.png
├── ex3
│ ├── README.md
│ └── images
│ │ ├── 4.txt
│ │ ├── add.png
│ │ ├── add_value_helps.png
│ │ ├── bdef.png
│ │ ├── bdef2.png
│ │ ├── bdef3.png
│ │ ├── bdef4.png
│ │ ├── bdef4x.png
│ │ ├── bdef5.png
│ │ ├── bdef5x.png
│ │ ├── bdef5xx.png
│ │ ├── behavior.png
│ │ ├── behavior2.png
│ │ ├── behavior3.png
│ │ ├── behavior4.png
│ │ ├── behavior5.png
│ │ ├── behavior6.png
│ │ ├── binding.png
│ │ ├── binding2.png
│ │ ├── binding3.png
│ │ ├── binding4.png
│ │ ├── binding5.png
│ │ ├── cds.png
│ │ ├── cds2.png
│ │ ├── cds3.png
│ │ ├── cds4.png
│ │ ├── create.png
│ │ ├── create2.png
│ │ ├── create3.png
│ │ ├── createx.png
│ │ ├── docu.png
│ │ ├── docu2.png
│ │ ├── docu3.png
│ │ ├── docu4.png
│ │ ├── docu5.png
│ │ ├── docugif.gif
│ │ ├── docuhint.png
│ │ ├── entity.png
│ │ ├── generate.png
│ │ ├── generate2.png
│ │ ├── generate3.png
│ │ ├── generate4.png
│ │ ├── implementation.png
│ │ ├── implementation2.png
│ │ ├── implementation3.png
│ │ ├── logon.png
│ │ ├── logon2.png
│ │ ├── logon3.png
│ │ ├── logon4.png
│ │ ├── logon5.png
│ │ ├── logon6.png
│ │ ├── logon7.png
│ │ ├── logonflp2.png
│ │ ├── logonflp4.png
│ │ ├── metadata.png
│ │ ├── o.png
│ │ ├── o2.png
│ │ ├── order.png
│ │ ├── order2.png
│ │ ├── order3.png
│ │ ├── package.png
│ │ ├── package2.png
│ │ ├── package3.png
│ │ ├── products.png
│ │ ├── products2.png
│ │ ├── products3.png
│ │ ├── projection.png
│ │ ├── projection2.png
│ │ ├── projection3.png
│ │ ├── projection4.png
│ │ ├── properties.png
│ │ ├── purchase.png
│ │ ├── purchase2.png
│ │ ├── purchase3.png
│ │ ├── purchase4.png
│ │ ├── purchase5.png
│ │ ├── result.png
│ │ ├── sb.png
│ │ ├── sb2.png
│ │ ├── sb3.png
│ │ ├── sb4.png
│ │ ├── sb5.png
│ │ ├── sb6.png
│ │ ├── sb7.png
│ │ ├── sb8.png
│ │ ├── sb9.png
│ │ ├── select_projection_view.png
│ │ ├── service.png
│ │ ├── service2.png
│ │ ├── service3.png
│ │ ├── structure.png
│ │ ├── structure2.png
│ │ ├── structure3.png
│ │ ├── table.png
│ │ ├── table2.png
│ │ ├── table3.png
│ │ ├── table4.png
│ │ ├── table5.png
│ │ ├── table6.png
│ │ ├── uinew.png
│ │ ├── uinew0.png
│ │ ├── updatenew.png
│ │ └── wizard3.png
├── ex4
│ ├── README.md
│ └── images
│ │ ├── 5.txt
│ │ ├── add_save_modified_redefinition.png
│ │ ├── add_unmanaged_save.png
│ │ ├── add_validation.png
│ │ ├── create_metadata.png
│ │ ├── create_pr.png
│ │ ├── create_pr_2.png
│ │ ├── create_pr_3.png
│ │ ├── create_projection_view.png
│ │ ├── create_service_binding.png
│ │ ├── create_service_definition.png
│ │ ├── declare_action.png
│ │ ├── define_action.png
│ │ ├── do_not_check_missing_1.png
│ │ ├── enhance_bdef.png
│ │ ├── get_instance_features.png
│ │ ├── implement_save_modified.png
│ │ ├── new_metadata.png
│ │ ├── new_method_declaration.png
│ │ ├── new_method_declaration_action.png
│ │ ├── old_metadata.png
│ │ ├── pr_professional_app.png
│ │ ├── publish_service_binding.png
│ │ ├── publish_service_binding_2.png
│ │ ├── publish_service_binding_3.png
│ │ ├── publish_service_binding_4.png
│ │ ├── switch_strict_mode.png
│ │ └── switch_strict_mode2.png
├── ex4a
│ └── README.md
└── ex5
│ ├── README.md
│ └── images
│ ├── 6.txt
│ ├── add_user.png
│ ├── auth_case_0.png
│ ├── authorization_trace.png
│ ├── authorization_trace_2.png
│ ├── authorization_trace_3.png
│ ├── authorization_trace_4.png
│ ├── authorization_trace_5.png
│ ├── authorization_trace_6.png
│ ├── authorization_trace_7.png
│ ├── authorization_trace_8.png
│ ├── authorization_trace_9.png
│ ├── business_user_do_not_check_option_test.png
│ ├── business_user_variant_test.png
│ ├── comparison_with_su24.png
│ ├── comparison_with_su24_2.png
│ ├── create_dev_5_role.png
│ ├── create_dev_5_role_2.png
│ ├── create_dev_5_role_3.png
│ ├── create_dev_5_role_4.png
│ ├── create_role.png
│ ├── create_role_2.png
│ ├── create_service_binding.png
│ ├── create_service_binding_wrapper.png
│ ├── create_service_definition.png
│ ├── create_service_role.png
│ ├── create_service_role_2.png
│ ├── create_user.png
│ ├── create_user_2.png
│ ├── create_user_3.png
│ ├── create_user_4.png
│ ├── create_variant.png
│ ├── create_variant_2.png
│ ├── create_variant_3.png
│ ├── create_variant_4.png
│ ├── create_variant_5.png
│ ├── create_variant_6.png
│ ├── create_variant_role.png
│ ├── create_variant_role_2.png
│ ├── create_variant_role_3.png
│ ├── create_variant_role_4.png
│ ├── create_variant_role_4_2.png
│ ├── create_variant_role_5.png
│ ├── create_variant_role_6.png
│ ├── create_variant_role_7.png
│ ├── do_not_check_missing.png
│ ├── do_not_check_option.png
│ ├── generate_profile.png
│ ├── generate_profile_2.png
│ ├── maintain_auth_data.png
│ ├── open_role.png
│ ├── open_service_binding.png
│ ├── open_service_binding_2.png
│ ├── remove_roles.png
│ └── unreleased_auth_obj_su22.png
├── images
├── 3-tier-extmodel.png
└── shoppingcart01.png
└── src
├── package.devc.xml
├── zcl_conversion_ext_int clas.apis.xml
├── zcl_conversion_ext_int.clas.abap
├── zcl_conversion_ext_int.clas.xml
├── zcm_conv_ext_int.msag.xml
├── zcx_conversion_ext_int clas.apis.xml
├── zcx_conversion_ext_int.clas.abap
├── zcx_conversion_ext_int.clas.xml
├── zif_conversion_ext_int intf.apis.xml
├── zif_conversion_ext_int.intf.abap
└── zif_conversion_ext_int.intf.xml
/LICENSE:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 |
7 | 1. Definitions.
8 |
9 | "License" shall mean the terms and conditions for use, reproduction,
10 | and distribution as defined by Sections 1 through 9 of this document.
11 |
12 | "Licensor" shall mean the copyright owner or entity authorized by
13 | the copyright owner that is granting the License.
14 |
15 | "Legal Entity" shall mean the union of the acting entity and all
16 | other entities that control, are controlled by, or are under common
17 | control with that entity. For the purposes of this definition,
18 | "control" means (i) the power, direct or indirect, to cause the
19 | direction or management of such entity, whether by contract or
20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 | outstanding shares, or (iii) beneficial ownership of such entity.
22 |
23 | "You" (or "Your") shall mean an individual or Legal Entity
24 | exercising permissions granted by this License.
25 |
26 | "Source" form shall mean the preferred form for making modifications,
27 | including but not limited to software source code, documentation
28 | source, and configuration files.
29 |
30 | "Object" form shall mean any form resulting from mechanical
31 | transformation or translation of a Source form, including but
32 | not limited to compiled object code, generated documentation,
33 | and conversions to other media types.
34 |
35 | "Work" shall mean the work of authorship, whether in Source or
36 | Object form, made available under the License, as indicated by a
37 | copyright notice that is included in or attached to the work
38 | (an example is provided in the Appendix below).
39 |
40 | "Derivative Works" shall mean any work, whether in Source or Object
41 | form, that is based on (or derived from) the Work and for which the
42 | editorial revisions, annotations, elaborations, or other modifications
43 | represent, as a whole, an original work of authorship. For the purposes
44 | of this License, Derivative Works shall not include works that remain
45 | separable from, or merely link (or bind by name) to the interfaces of,
46 | the Work and Derivative Works thereof.
47 |
48 | "Contribution" shall mean any work of authorship, including
49 | the original version of the Work and any modifications or additions
50 | to that Work or Derivative Works thereof, that is intentionally
51 | submitted to Licensor for inclusion in the Work by the copyright owner
52 | or by an individual or Legal Entity authorized to submit on behalf of
53 | the copyright owner. For the purposes of this definition, "submitted"
54 | means any form of electronic, verbal, or written communication sent
55 | to the Licensor or its representatives, including but not limited to
56 | communication on electronic mailing lists, source code control systems,
57 | and issue tracking systems that are managed by, or on behalf of, the
58 | Licensor for the purpose of discussing and improving the Work, but
59 | excluding communication that is conspicuously marked or otherwise
60 | designated in writing by the copyright owner as "Not a Contribution."
61 |
62 | "Contributor" shall mean Licensor and any individual or Legal Entity
63 | on behalf of whom a Contribution has been received by Licensor and
64 | subsequently incorporated within the Work.
65 |
66 | 2. Grant of Copyright License. Subject to the terms and conditions of
67 | this License, each Contributor hereby grants to You a perpetual,
68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 | copyright license to reproduce, prepare Derivative Works of,
70 | publicly display, publicly perform, sublicense, and distribute the
71 | Work and such Derivative Works in Source or Object form.
72 |
73 | 3. Grant of Patent License. Subject to the terms and conditions of
74 | this License, each Contributor hereby grants to You a perpetual,
75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 | (except as stated in this section) patent license to make, have made,
77 | use, offer to sell, sell, import, and otherwise transfer the Work,
78 | where such license applies only to those patent claims licensable
79 | by such Contributor that are necessarily infringed by their
80 | Contribution(s) alone or by combination of their Contribution(s)
81 | with the Work to which such Contribution(s) was submitted. If You
82 | institute patent litigation against any entity (including a
83 | cross-claim or counterclaim in a lawsuit) alleging that the Work
84 | or a Contribution incorporated within the Work constitutes direct
85 | or contributory patent infringement, then any patent licenses
86 | granted to You under this License for that Work shall terminate
87 | as of the date such litigation is filed.
88 |
89 | 4. Redistribution. You may reproduce and distribute copies of the
90 | Work or Derivative Works thereof in any medium, with or without
91 | modifications, and in Source or Object form, provided that You
92 | meet the following conditions:
93 |
94 | (a) You must give any other recipients of the Work or
95 | Derivative Works a copy of this License; and
96 |
97 | (b) You must cause any modified files to carry prominent notices
98 | stating that You changed the files; and
99 |
100 | (c) You must retain, in the Source form of any Derivative Works
101 | that You distribute, all copyright, patent, trademark, and
102 | attribution notices from the Source form of the Work,
103 | excluding those notices that do not pertain to any part of
104 | the Derivative Works; and
105 |
106 | (d) If the Work includes a "NOTICE" text file as part of its
107 | distribution, then any Derivative Works that You distribute must
108 | include a readable copy of the attribution notices contained
109 | within such NOTICE file, excluding those notices that do not
110 | pertain to any part of the Derivative Works, in at least one
111 | of the following places: within a NOTICE text file distributed
112 | as part of the Derivative Works; within the Source form or
113 | documentation, if provided along with the Derivative Works; or,
114 | within a display generated by the Derivative Works, if and
115 | wherever such third-party notices normally appear. The contents
116 | of the NOTICE file are for informational purposes only and
117 | do not modify the License. You may add Your own attribution
118 | notices within Derivative Works that You distribute, alongside
119 | or as an addendum to the NOTICE text from the Work, provided
120 | that such additional attribution notices cannot be construed
121 | as modifying the License.
122 |
123 | You may add Your own copyright statement to Your modifications and
124 | may provide additional or different license terms and conditions
125 | for use, reproduction, or distribution of Your modifications, or
126 | for any such Derivative Works as a whole, provided Your use,
127 | reproduction, and distribution of the Work otherwise complies with
128 | the conditions stated in this License.
129 |
130 | 5. Submission of Contributions. Unless You explicitly state otherwise,
131 | any Contribution intentionally submitted for inclusion in the Work
132 | by You to the Licensor shall be under the terms and conditions of
133 | this License, without any additional terms or conditions.
134 | Notwithstanding the above, nothing herein shall supersede or modify
135 | the terms of any separate license agreement you may have executed
136 | with Licensor regarding such Contributions.
137 |
138 | 6. Trademarks. This License does not grant permission to use the trade
139 | names, trademarks, service marks, or product names of the Licensor,
140 | except as required for reasonable and customary use in describing the
141 | origin of the Work and reproducing the content of the NOTICE file.
142 |
143 | 7. Disclaimer of Warranty. Unless required by applicable law or
144 | agreed to in writing, Licensor provides the Work (and each
145 | Contributor provides its Contributions) on an "AS IS" BASIS,
146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 | implied, including, without limitation, any warranties or conditions
148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 | PARTICULAR PURPOSE. You are solely responsible for determining the
150 | appropriateness of using or redistributing the Work and assume any
151 | risks associated with Your exercise of permissions under this License.
152 |
153 | 8. Limitation of Liability. In no event and under no legal theory,
154 | whether in tort (including negligence), contract, or otherwise,
155 | unless required by applicable law (such as deliberate and grossly
156 | negligent acts) or agreed to in writing, shall any Contributor be
157 | liable to You for damages, including any direct, indirect, special,
158 | incidental, or consequential damages of any character arising as a
159 | result of this License or out of the use or inability to use the
160 | Work (including but not limited to damages for loss of goodwill,
161 | work stoppage, computer failure or malfunction, or any and all
162 | other commercial damages or losses), even if such Contributor
163 | has been advised of the possibility of such damages.
164 |
165 | 9. Accepting Warranty or Additional Liability. While redistributing
166 | the Work or Derivative Works thereof, You may choose to offer,
167 | and charge a fee for, acceptance of support, warranty, indemnity,
168 | or other liability obligations and/or rights consistent with this
169 | License. However, in accepting such obligations, You may act only
170 | on Your own behalf and on Your sole responsibility, not on behalf
171 | of any other Contributor, and only if You agree to indemnify,
172 | defend, and hold each Contributor harmless for any liability
173 | incurred by, or claims asserted against, such Contributor by reason
174 | of your accepting any such warranty or additional liability.
175 |
176 | END OF TERMS AND CONDITIONS
177 |
178 | APPENDIX: How to apply the Apache License to your work.
179 |
180 | To apply the Apache License to your work, attach the following
181 | boilerplate notice, with the fields enclosed by brackets "[]"
182 | replaced with your own identifying information. (Don't include
183 | the brackets!) The text should be enclosed in the appropriate
184 | comment syntax for the file format. We also recommend that a
185 | file or class name and description of purpose be included on the
186 | same "printed page" as the copyright notice for easier
187 | identification within third-party archives.
188 |
189 | Copyright [yyyy] [name of copyright owner]
190 |
191 | Licensed under the Apache License, Version 2.0 (the "License");
192 | you may not use this file except in compliance with the License.
193 | You may obtain a copy of the License at
194 |
195 | http://www.apache.org/licenses/LICENSE-2.0
196 |
197 | Unless required by applicable law or agreed to in writing, software
198 | distributed under the License is distributed on an "AS IS" BASIS,
199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200 | See the License for the specific language governing permissions and
201 | limitations under the License.
202 |
--------------------------------------------------------------------------------
/LICENSES/Apache-2.0.txt:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 |
7 | 1. Definitions.
8 |
9 | "License" shall mean the terms and conditions for use, reproduction,
10 | and distribution as defined by Sections 1 through 9 of this document.
11 |
12 | "Licensor" shall mean the copyright owner or entity authorized by
13 | the copyright owner that is granting the License.
14 |
15 | "Legal Entity" shall mean the union of the acting entity and all
16 | other entities that control, are controlled by, or are under common
17 | control with that entity. For the purposes of this definition,
18 | "control" means (i) the power, direct or indirect, to cause the
19 | direction or management of such entity, whether by contract or
20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 | outstanding shares, or (iii) beneficial ownership of such entity.
22 |
23 | "You" (or "Your") shall mean an individual or Legal Entity
24 | exercising permissions granted by this License.
25 |
26 | "Source" form shall mean the preferred form for making modifications,
27 | including but not limited to software source code, documentation
28 | source, and configuration files.
29 |
30 | "Object" form shall mean any form resulting from mechanical
31 | transformation or translation of a Source form, including but
32 | not limited to compiled object code, generated documentation,
33 | and conversions to other media types.
34 |
35 | "Work" shall mean the work of authorship, whether in Source or
36 | Object form, made available under the License, as indicated by a
37 | copyright notice that is included in or attached to the work
38 | (an example is provided in the Appendix below).
39 |
40 | "Derivative Works" shall mean any work, whether in Source or Object
41 | form, that is based on (or derived from) the Work and for which the
42 | editorial revisions, annotations, elaborations, or other modifications
43 | represent, as a whole, an original work of authorship. For the purposes
44 | of this License, Derivative Works shall not include works that remain
45 | separable from, or merely link (or bind by name) to the interfaces of,
46 | the Work and Derivative Works thereof.
47 |
48 | "Contribution" shall mean any work of authorship, including
49 | the original version of the Work and any modifications or additions
50 | to that Work or Derivative Works thereof, that is intentionally
51 | submitted to Licensor for inclusion in the Work by the copyright owner
52 | or by an individual or Legal Entity authorized to submit on behalf of
53 | the copyright owner. For the purposes of this definition, "submitted"
54 | means any form of electronic, verbal, or written communication sent
55 | to the Licensor or its representatives, including but not limited to
56 | communication on electronic mailing lists, source code control systems,
57 | and issue tracking systems that are managed by, or on behalf of, the
58 | Licensor for the purpose of discussing and improving the Work, but
59 | excluding communication that is conspicuously marked or otherwise
60 | designated in writing by the copyright owner as "Not a Contribution."
61 |
62 | "Contributor" shall mean Licensor and any individual or Legal Entity
63 | on behalf of whom a Contribution has been received by Licensor and
64 | subsequently incorporated within the Work.
65 |
66 | 2. Grant of Copyright License. Subject to the terms and conditions of
67 | this License, each Contributor hereby grants to You a perpetual,
68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 | copyright license to reproduce, prepare Derivative Works of,
70 | publicly display, publicly perform, sublicense, and distribute the
71 | Work and such Derivative Works in Source or Object form.
72 |
73 | 3. Grant of Patent License. Subject to the terms and conditions of
74 | this License, each Contributor hereby grants to You a perpetual,
75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 | (except as stated in this section) patent license to make, have made,
77 | use, offer to sell, sell, import, and otherwise transfer the Work,
78 | where such license applies only to those patent claims licensable
79 | by such Contributor that are necessarily infringed by their
80 | Contribution(s) alone or by combination of their Contribution(s)
81 | with the Work to which such Contribution(s) was submitted. If You
82 | institute patent litigation against any entity (including a
83 | cross-claim or counterclaim in a lawsuit) alleging that the Work
84 | or a Contribution incorporated within the Work constitutes direct
85 | or contributory patent infringement, then any patent licenses
86 | granted to You under this License for that Work shall terminate
87 | as of the date such litigation is filed.
88 |
89 | 4. Redistribution. You may reproduce and distribute copies of the
90 | Work or Derivative Works thereof in any medium, with or without
91 | modifications, and in Source or Object form, provided that You
92 | meet the following conditions:
93 |
94 | (a) You must give any other recipients of the Work or
95 | Derivative Works a copy of this License; and
96 |
97 | (b) You must cause any modified files to carry prominent notices
98 | stating that You changed the files; and
99 |
100 | (c) You must retain, in the Source form of any Derivative Works
101 | that You distribute, all copyright, patent, trademark, and
102 | attribution notices from the Source form of the Work,
103 | excluding those notices that do not pertain to any part of
104 | the Derivative Works; and
105 |
106 | (d) If the Work includes a "NOTICE" text file as part of its
107 | distribution, then any Derivative Works that You distribute must
108 | include a readable copy of the attribution notices contained
109 | within such NOTICE file, excluding those notices that do not
110 | pertain to any part of the Derivative Works, in at least one
111 | of the following places: within a NOTICE text file distributed
112 | as part of the Derivative Works; within the Source form or
113 | documentation, if provided along with the Derivative Works; or,
114 | within a display generated by the Derivative Works, if and
115 | wherever such third-party notices normally appear. The contents
116 | of the NOTICE file are for informational purposes only and
117 | do not modify the License. You may add Your own attribution
118 | notices within Derivative Works that You distribute, alongside
119 | or as an addendum to the NOTICE text from the Work, provided
120 | that such additional attribution notices cannot be construed
121 | as modifying the License.
122 |
123 | You may add Your own copyright statement to Your modifications and
124 | may provide additional or different license terms and conditions
125 | for use, reproduction, or distribution of Your modifications, or
126 | for any such Derivative Works as a whole, provided Your use,
127 | reproduction, and distribution of the Work otherwise complies with
128 | the conditions stated in this License.
129 |
130 | 5. Submission of Contributions. Unless You explicitly state otherwise,
131 | any Contribution intentionally submitted for inclusion in the Work
132 | by You to the Licensor shall be under the terms and conditions of
133 | this License, without any additional terms or conditions.
134 | Notwithstanding the above, nothing herein shall supersede or modify
135 | the terms of any separate license agreement you may have executed
136 | with Licensor regarding such Contributions.
137 |
138 | 6. Trademarks. This License does not grant permission to use the trade
139 | names, trademarks, service marks, or product names of the Licensor,
140 | except as required for reasonable and customary use in describing the
141 | origin of the Work and reproducing the content of the NOTICE file.
142 |
143 | 7. Disclaimer of Warranty. Unless required by applicable law or
144 | agreed to in writing, Licensor provides the Work (and each
145 | Contributor provides its Contributions) on an "AS IS" BASIS,
146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 | implied, including, without limitation, any warranties or conditions
148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 | PARTICULAR PURPOSE. You are solely responsible for determining the
150 | appropriateness of using or redistributing the Work and assume any
151 | risks associated with Your exercise of permissions under this License.
152 |
153 | 8. Limitation of Liability. In no event and under no legal theory,
154 | whether in tort (including negligence), contract, or otherwise,
155 | unless required by applicable law (such as deliberate and grossly
156 | negligent acts) or agreed to in writing, shall any Contributor be
157 | liable to You for damages, including any direct, indirect, special,
158 | incidental, or consequential damages of any character arising as a
159 | result of this License or out of the use or inability to use the
160 | Work (including but not limited to damages for loss of goodwill,
161 | work stoppage, computer failure or malfunction, or any and all
162 | other commercial damages or losses), even if such Contributor
163 | has been advised of the possibility of such damages.
164 |
165 | 9. Accepting Warranty or Additional Liability. While redistributing
166 | the Work or Derivative Works thereof, You may choose to offer,
167 | and charge a fee for, acceptance of support, warranty, indemnity,
168 | or other liability obligations and/or rights consistent with this
169 | License. However, in accepting such obligations, You may act only
170 | on Your own behalf and on Your sole responsibility, not on behalf
171 | of any other Contributor, and only if You agree to indemnify,
172 | defend, and hold each Contributor harmless for any liability
173 | incurred by, or claims asserted against, such Contributor by reason
174 | of your accepting any such warranty or additional liability.
175 |
176 | END OF TERMS AND CONDITIONS
177 |
178 | APPENDIX: How to apply the Apache License to your work.
179 |
180 | To apply the Apache License to your work, attach the following
181 | boilerplate notice, with the fields enclosed by brackets "[]"
182 | replaced with your own identifying information. (Don't include
183 | the brackets!) The text should be enclosed in the appropriate
184 | comment syntax for the file format. We also recommend that a
185 | file or class name and description of purpose be included on the
186 | same "printed page" as the copyright notice for easier
187 | identification within third-party archives.
188 |
189 | Copyright [yyyy] [name of copyright owner]
190 |
191 | Licensed under the Apache License, Version 2.0 (the "License");
192 | you may not use this file except in compliance with the License.
193 | You may obtain a copy of the License at
194 |
195 | http://www.apache.org/licenses/LICENSE-2.0
196 |
197 | Unless required by applicable law or agreed to in writing, software
198 | distributed under the License is distributed on an "AS IS" BASIS,
199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200 | See the License for the specific language governing permissions and
201 | limitations under the License.
202 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | [](https://api.reuse.software/info/github.com/SAP-samples/abap-platform-rap640)
2 |
3 | # RAP640 - Using ABAP Cloud to Build Extensions for SAP S/4HANA Cloud, Private Edition - Mitigating Missing Released SAP APIs in the 3-tier Extensibility Model
4 |
5 |
6 |
9 |
10 | ## Description
11 |
12 |
13 | This repository contains the material for the hands-on session **RAP640 - Mitigating Missing Released SAP APIs in the 3-tier Extensibility Model** which is about mitigating missing released SAP APIs in the 3-tier Extensibility Model when building apps, services, and extensions with the ABAP Cloud development model on SAP S/4HANA Cloud Private Edition and SAP S/4HANA.
14 |
15 | **Table of Content**
16 | - [Requirements for attending this workshop](#requirements-for-attending-this-workshop)
17 | - [Overview](#overview)
18 | - [Exercises](#exercises)
19 | - [Solution Package](#solution-package)
20 | - [Known Issues](#known-issues)
21 | - [How to obtain support](#how-to-obtain-support)
22 | - [Further Information](#further-information)
23 |
24 |
25 | ## 📋Requirements for attending this workshop
26 | [^Top of page](#)
27 |
28 | To complete the practical exercises in this workshop, you need the latest version of the ABAP Development Tools for Eclipse (ADT) on your laptop or PC and the access to a suitable ABAP system - i.e. at least release 2022 of SAP S/4HANA Cloud Private Edition and SAP S/4HANA.
29 |
30 |
31 | Click to expand!
32 |
33 | The requirements to follow the exercises in this repository are:
34 | 1. [Install the latest Eclipse platform and the latest ABAP Development Tools (ADT) plugin](https://developers.sap.com/tutorials/abap-install-adt.html)
35 | 2. [Adapt the Web Browser settings in your ADT installation](https://github.com/SAP-samples/abap-platform-rap-workshops/blob/main/requirements_rap_workshops.md#4-adapt-the-web-browser-settings-in-your-adt-installation)
36 | 3. Have SAPGUI installed since you have to start transaction ACO_PROXY.
37 |
38 | > ℹ️ **Regarding SAP-led events such as "ABAP Developer Day" and "SAP CodeJam"**:
39 | > → A dedicated ABAP system for the hands-on workshop participants will be provided.
40 | > → Access to the system details for the workshop will be provided by the instructors during the session.
41 |
42 |
43 |
44 | ## System access (workshops provided by SAP)
45 |
46 | In a workshop that is conducted by SAP a SAP S/4HANA 2023 preconfigured appliance system will be provided to the workshop participants.
47 |
48 | The system details will be provided by the trainers. With the system details you can connect via ADT to the system as described in the following how-to-guide.
49 |
50 | [How to connect with ADT to a preconfigured appliance system](https://github.com/SAP-samples/abap-platform-rap-workshops/blob/main/how_to_connect_with_adt_to_preconfigure_appliance.md)
51 |
52 | ## 🔎Overview
53 | [^Top of page](#)
54 |
55 |
56 | Learn about the current business scenario and the 3-tier extensibility model.
57 |
58 |
59 | Click to expand!
60 |
61 | ### About the Business Scenario
62 |
63 | In this hands-on workshop, we will guide you through the development of a custom wrapper for the ABAP Cloud enablement of an unreleased SAP BAPI for creating purchase requisitions, then a custom RAP BO and UI service on top of it to develop a transactional, design-capable, Fiori Elements-based list report app using RAP. Finally, you'll use your custom API wrapper in your custom RAP BO to integrate your custom app with the standard professional SAP Purchase Requisition app.
64 |
65 | The resulting app will look like this:
66 |
67 |
68 |
69 | To set the business context, the scenario is the following: This demo scenario shows a custom and SAP Fiori elements-based shopping cart app built on-stack with RAP. The custom app is integrated with the standard Purchase Requisition app in SAP S/4HANA Materials Management using a custom wrapper on top of the unreleased SAP API `BAPI_CREATE_PR`.
70 |
71 | ### About the 3-Tier Extensibility Model
72 |
73 | You will learn how to apply the [ABAP Cloud API Enablement Guidelines for SAP S/4HANA Cloud Private Edition and SAP S/4HANA](https://www.sap.com/documents/2023/05/b0bd8ae6-747e-0010-bca6-c68f7e60039b.html) to consume an unreleased SAP API. You will learn how to mitigate missing released SAP APIs in the 3-tier extensibility model when working with ABAP Cloud on these two products.
74 |
75 |
76 |
77 | Learn more: [Understand the sample scenario how to mitigate a missing released SAP API](exercises/GettingStarted/README.md)
78 |
79 |
80 |
81 |
82 | ## 🛠Exercises
83 | [^Top of page](#)
84 |
85 | Follow these steps to build a custom wrapper for the ABAP Cloud enablement of an non-released SAP API for creating purchase requisitions, then a custom RAP BO and a UI service on top of it for a transactional, draft-enabled Fiori Elements list report app. Finally, you'll use your custom API wrapper in your custom RAP BO to integrate your custom app with the standard professional SAP Purchase Requisition app.
86 |
87 |
88 | #### Main Exercises
89 |
90 | | Exercises | -- |
91 | | ------------- | -- |
92 | | [Exercise 1 - Implement a Wrapper for the "Create Purchase Requisition" (BAPI_PR_CREATE) function module](exercises/ex1/README.md) | -- |
93 | | [Exercise 2 - Create a Shopping Cart Business Object](exercises/ex2/README.md) | -- |
94 | | [Exercise 3 - Create Value Help, Enhance the Behavior Definition and Behavior Implementation of the Shopping Cart Business Object](exercises/ex3/README.md) | -- |
95 | | [Exercise 4 - Integrate the Wrapper into the Shopping Cart Business Object](exercises/ex4/README.md) | -- |
96 | | [Exercise 5 - Integrate with classic BOR events](exercises/ex4a/README.md) | -- |
97 |
98 |
99 | #### Optional Exercises
100 |
101 | | Exercises | -- |
102 | | ------------- | -- |
103 | | [Exercise 6 - Provide Authorizations to Users for Non-Released Authorization Objects checked by the "Create Purchase Requisition" (BAPI_PR_CREATE) function module](exercises/ex5/README.md) | -- |
104 |
105 |
106 | ## 📤Solution Package
107 | [^Top of page](#)
108 |
109 | You can import the solution package **`ZRAP640_SOL`** into your system* - i.e. at least the release 2022 of SAP S/4HANA Cloud Private Edition and SAP S/4HANA.
110 |
111 | > ℹ️ **Regarding SAP-led events such as "ABAP Developer Day" and "SAP CodeJam"**:
112 | > The solution package **`ZRAP640_SOL`** is already imported into your dedicated system used during these events.
113 |
114 | 🚧 _More information coming soon_
115 |
116 | ## 🔁Recordings
117 | [^Top of page](#)
118 |
119 | Watch the replay of a webcast on cloud API enablement for the 3-tier extensibility model held during SAP's Devtoberfest in 2023.
120 |
121 | 📹 Cloud API Enablement on SAP S/4HANA and SAP S/4HANA Cloud Private editions
122 |
123 |
124 | ## ⚠Known Issues
125 | [^Top of page](#)
126 |
127 | No known issues.
128 |
129 |
130 |
131 | ## 🆘How to obtain support
132 | [^Top of page](#)
133 |
134 | [Create an issue](../../issues) in this repository if you find a bug or have questions about the content.
135 |
136 | For additional support, [ask a question in SAP Community](https://answers.sap.com/questions/ask.html).
137 |
138 |
139 | ## Further Information
140 | [^Top of page](#)
141 |
142 | You can find further information here:
143 | - [Blog Post on how to mitigate missing released SAP APIs in SAP S/4HANA Cloud](https://blogs.sap.com/2023/05/24/abap-cloud-how-to-mitigate-missing-released-sap-apis-in-sap-s-4hana-cloud-private-edition-and-sap-s-4hana-the-new-abap-cloud-api-enablement-guide/) | SAP Community
144 | - [Detailed document on ABAP Cloud API Enablement Guidelines](https://www.sap.com/documents/2023/05/b0bd8ae6-747e-0010-bca6-c68f7e60039b.html) | Guide
145 | - [ABAP RESTful Application Programming Model (RAP)](https://community.sap.com/topics/abap/rap) | SAP Community page
146 | - Most frequently asked questions: [ABAP Cloud FAQ](https://community.sap.com/topics/abap/abap-cloud-faq) | [RAP FAQ](https://blogs.sap.com/2020/10/16/abap-restful-application-programming-model-faq/)
147 | - [RAP640 Tutorials Group: Mitigate Missing Released SAP API in the 3-tier Extensibility Model](https://developers.sap.com/group.sap-s4hana-extensibility-wrap-api.html) | SAP Developers' Center
148 | - [Various hands-on workshop materials on ABAP Cloud, including RAP and embedded analytics](https://github.com/SAP-samples/abap-platform-rap-workshops/blob/main/README.md)
149 |
150 |
154 |
155 | ## License
156 | Copyright (c) 2024 SAP SE or an SAP affiliate company. All rights reserved. This project is licensed under the Apache Software License, version 2.0 except as noted otherwise in the [LICENSE](LICENSE) file.
157 |
158 |
--------------------------------------------------------------------------------
/REUSE.toml:
--------------------------------------------------------------------------------
1 | version = 1
2 | SPDX-PackageName = "ospo"
3 | SPDX-PackageSupplier = "ospo@sap.com"
4 | SPDX-PackageDownloadLocation = "https://github.com/sap-samples/abap-platform-rap640"
5 | SPDX-PackageComment = "The code in this project may include calls to APIs (\"API Calls\") of\n SAP or third-party products or services developed outside of this project\n (\"External Products\").\n \"APIs\" means application programming interfaces, as well as their respective\n specifications and implementing code that allows software to communicate with\n other software.\n API Calls to External Products are not licensed under the open source license\n that governs this project. The use of such API Calls and related External\n Products are subject to applicable additional agreements with the relevant\n provider of the External Products. In no event shall the open source license\n that governs this project grant any rights in or to any External Products,or\n alter, expand or supersede any terms of the applicable additional agreements.\n If you have a valid license agreement with SAP for the use of a particular SAP\n External Product, then you may make use of any API Calls included in this\n project's code for that SAP External Product, subject to the terms of such\n license agreement. If you do not have a valid license agreement for the use of\n a particular SAP External Product, then you may only make use of any API Calls\n in this project for that SAP External Product for your internal, non-productive\n and non-commercial test and evaluation of such API Calls. Nothing herein grants\n you any rights to use or access any SAP External Product, or provide any third\n parties the right to use of access any SAP External Product, through API Calls."
6 |
7 | [[annotations]]
8 | path = "**"
9 | precedence = "aggregate"
10 | SPDX-FileCopyrightText = "2025 SAP SE or an SAP affiliate company and abap-platform-rap110 contributors"
11 | SPDX-License-Identifier = "Apache-2.0"
12 |
--------------------------------------------------------------------------------
/exercises/GettingStarted/README.md:
--------------------------------------------------------------------------------
1 | # Getting Started: Understand the sample scenario how to mitigate a missing released SAP API
2 |
3 |
4 | # Introduction
5 |
6 | Learn how the 3-tier extensibility model works and how to mitigate a missing released SAP API by wrapping an appropriate unreleased SAP API.
7 |
8 | - [You will learn](#you-will-learn)
9 | - [Verify technical requirements](#verify-technical-requirements)
10 | - [Summary & Next Exercise](#summary)
11 |
12 |
13 | ## You will learn
14 | - How the 3-tier extensibility model works for SAP S/4HANA Cloud Private Edition and SAP S/4HANA
15 | - The concept how to mitigate missing released SAP APIs using custom wrappers
16 | - The sample business scenario that will be used to show how to mitigate a missing released SAP API by wrapping an unreleased BAPI
17 |
18 | # Understand the 3-tier extensibility model for SAP S/4HANA Cloud Private Edition and SAP S/4HANA
19 |
20 | Familiarize yourself with the tier-3 extensibility model by reading the blog post [How to use Embedded Steampunk in SAP S/4HANA Cloud, private edition and in on-premise – The new ABAP extensibility guide](https://blogs.sap.com/2022/10/25/how-to-use-embedded-steampunk-in-sap-s-4hana-cloud-private-edition-and-in-on-premise-the-new-abap-extensibility-guide/).
21 |
22 | # Understand the concept how to mitigate missing released SAP APIs in SAP S/4HANA Cloud Private Edition and SAP S/4HANA
23 |
24 | Learn the concept how to mitigate missing released SAP APIs by reading:
25 | - the blog post [ABAP Cloud – How to mitigate missing released SAP APIs in SAP S/4HANA Cloud Private Edition and SAP S/4HANA – The new ABAP Cloud API enablement guide](https://blogs.sap.com/2023/05/24/abap-cloud-how-to-mitigate-missing-released-sap-apis-in-sap-s-4hana-cloud-private-edition-and-sap-s-4hana-the-new-abap-cloud-api-enablement-guide/) and
26 | - the official SAP guidelines [ABAP Cloud API Enablement Guidelines for SAP S/4HANA Cloud, private edition, and SAP S/4HANA](https://www.sap.com/documents/2023/05/b0bd8ae6-747e-0010-bca6-c68f7e60039b.html).
27 |
28 | # Understand the sample scenario used for the tutorial group
29 |
30 | User can launch custom online shop application to order gadget. When gadgets are ordered, a purchase requisition is automatically created in the S/4HANA system.
31 |
32 | In this scenario you have a Shopping Cart business object built with the ABAP RESTful Application Programming Model (RAP) for an online shop application in **tier 1**. You then want to be able to create purchase requisitions for the shopping cart entries. In an ideal case, this could be achieved by making use of a released SAP API.
33 |
34 | In this hands-on exercise we will show you how to deal with the case where no convenient released SAP API is available to create purchase requisitions: you will find a suitable unreleased SAP API in **tier 3** to use as an alternative to a released API, you will wrap it in **tier 2** and then release the wrapper for consumption in **tier 1**. You will then integrate this wrapper into your Shopping Cart RAP BO. As a final product, you will have a RAP BO in **tier 1** that will consume the released wrapper to create purchase requisitions for your Shopping Cart RAP BO entries.
35 |
36 | > ℹ️ This hands-on workshop follows the assumption that there is no suitable released API to create purchase requisitions, and we therefore need to find and wrap an unreleased API as a suitable alternative.
37 | >
38 | > Please be aware that we follow this assumption simply for illustrative purposes, as SAP does indeed provide a released API to create purchase requisitions (see [Integrate released purchase requisition API into Shopping Cart Business Object](https://developers.sap.com/tutorials/abap-s4hanacloud-purchasereq-integrate-api.html)).
39 |
40 |
41 |
42 | For productive use, you would develop your RAP BO in the productive package `ZCUSTOM_DEVELOPMENT` in your SAP S/4HANA system as suggested in the Developer Extensibility guidelines [Create Structure Package](https://help.sap.com/docs/ABAP_PLATFORM_NEW/b5670aaaa2364a29935f40b16499972d/076bbbf3fe584439938b27f49daa6765.html?version=202210.000), and you would develop the wrapper in a dedicated package of software component `HOME`, for instance `ZAPI_DEVELOPMENT`. For the scope of this tutorial group we will follow a simplified approach, and you will use local development packages `ZLOCAL` and `$TMP` rather than productive packages.
43 |
44 | # Verify technical requirements
45 |
46 | > ⚠️ This step is not needed for SAP-led events such as _ABAP Developer Days_ and _SAP CodeJam_.
47 |
48 | The following requirements are needed for this tutorial group:
49 |
50 | - If your system is running on feature pack stack 1 (SAP S/4HANA 2022 release), you have imported the [SAP Note 3250849](https://launchpad.support.sap.com/#/notes/3250849), [SAP Note 3294354](https://launchpad.support.sap.com/#/notes/3294354), [SAP Note 3330593](https://launchpad.support.sap.com/#/notes/3330593) and [SAP Note 3280851](https://launchpad.support.sap.com/#/notes/3280851) into your system.
51 | - If your system is running on feature pack stack 0 (SAP S/4HANA 2023 release), you have imported the [SAP Note 3350873](https://launchpad.support.sap.com/#/notes/3350873)
52 | - [You are connected to your SAP S/4HANA system in the ABAP Development Tool (ADT) in Eclipse](abap-s4hanacloud-login)
53 | - You have a user in the system with full development authorizations.
54 | - You have set up developer extensibility as described in the official documentation [Set Up Developer Extensibility](https://help.sap.com/docs/ABAP_PLATFORM_NEW/b5670aaaa2364a29935f40b16499972d/31367ef6c3e947059e0d7c1cbfcaae93.html?version=202210.000). In particular: the `ZLOCAL` development package is available and you have set up an ABAP Test Cockpit check variant (we will refer to this as 'ATC Check Variant' throughout the tutorial group).
55 |
56 | > We suggest to follow this hands-on workshop using [SAP S/4HANA, fully-activated appliance](https://blogs.sap.com/2018/12/12/sap-s4hana-fully-activated-appliance-create-your-sap-s4hana-1809-system-in-a-fraction-of-the-usual-setup-time/) in SAP Cloud Appliance Library for an easy start without the need for system setup, as the `ZLOCAL` development package is automatically available, as well as the needed ATC check variant and the material used for the gadget shopping cart entries.
57 |
58 |
59 | # Summary
60 | [^Top of page](#)
61 |
62 | Now that you've learned
63 | - how the 3-tier extensibility model works for SAP S/4HANA Cloud Private Edition and SAP S/4HANA,
64 | - the concept how to mitigate missing released SAP APIs using custom wrappers,
65 | - the sample business scenario that will be used to show how to mitigate a missing released SAP API by wrapping an unreleased BAPI,
66 | - and eventually verify the technical requirements,
67 |
68 | you can continue with the next exercise - **[Exercise 1: Implement a Wrapper for the "Create Purchase Requisition" (BAPI_PR_CREATE) function module](../ex1/README.md)**.
69 |
70 | ---
71 |
--------------------------------------------------------------------------------
/exercises/GettingStarted/images/scenario_overview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/GettingStarted/images/scenario_overview.png
--------------------------------------------------------------------------------
/exercises/GettingStarted/images/txt.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/exercises/README.md:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/exercises/ex1/README2.md:
--------------------------------------------------------------------------------
1 | # Exercise 1: Implement a Wrapper for the "Create Purchase Requisition" (BAPI_PR_CREATE) function module
2 | Learn how to wrap the BAPI_PR_CREATE in your SAP S/4HANA system and release it for consumption in tier 1.
3 |
4 |
5 | ## Introduction
6 | Now that you're connected to your SAP S/4HANA system, go ahead with this exercise where you will learn how to deal with the situation where there is no convenient released SAP API for creating purchase requisitions.
7 |
8 | The [ABAP Cloud API Enablement Guidelines for SAP S/4HANA Cloud Private Edition and SAP S/4HANA](https://www.sap.com/documents/2023/05/b0bd8ae6-747e-0010-bca6-c68f7e60039b.html) recommend using a BAPI as an alternative to a released API, wrapping it, and then releasing the wrapper for consumption in tier 1.
9 |
10 | In a later exercise you will then create a Shopping Cart RAP business object for a Fiori elements online shopping app and integrate this wrapper to create purchase requisitions.
11 |
12 | - [You will learn](#you-will-learn)
13 | - [Summary & Next Exercise](#summary--next-exercise)
14 |
15 |
16 | ## You will learn
17 | - How to generate a wrapper interface, a wrapper class and a factory class for the BAPI `BAPI_PR_CREATE`.
18 | - How to release the wrapper objects for consumption in tier 1.
19 |
20 | > **Reminder:**
21 | > Don't forget to replace all occurences of the placeholder **`###`** with your assigned group number in the exercise steps below.
22 | > You can use the ADT function **Replace All** (**Ctrl+F**) for the purpose.
23 | > If you don't have a group number, choose a 3-digit suffix and use it for all exercises.
24 |
25 |
26 | ## Step 1: Get to know the BAPI_PR_CREATE via the BAPI Explorer
27 |
28 |
29 | 🔵 Click to expand!
30 |
31 | The first step is to look for a suitable non-released API to create purchase requisitions. You can use the BAPI Explorer for this purpose. Connect to the backend of your SAP S/4HANA system and start transaction `BAPI`. For the purpose of this tutorial, we will use the non-released BAPI `BAPI_PR_CREATE`: switch to the **Alphabetical** view (1), look for the Business Object `PurchaseRequisition` (2), find and click on the method `CreateFromData1` (3). You can see that its function module is the `BAPI_PR_CREATE` (4).
32 |
33 |
34 |
35 |
36 | In the **Documentation** tab you can find more information on what the BAPI is used for (in this case: to create purchase requisitions) and you can find examples for various scenarios and how to fill the respective parameter values.
37 |
38 | In the **Tools** section you can click on the **Function Builder** and then click on **Display** to see the required parameters:
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 | >The `BAPI_PR_CREATE` has a `TESTRUN` parameter that can be used to call the BAPI in validation mode. Some BAPI have a similar test mode that can be used to validate input data. It is best practice to make use of this test mode, if available, as we will address in more details in a later [tutorial](/exercises/ex5/Readme.md) of this group.
47 |
48 |
49 |
50 | ## Step 2: Create a development package
51 |
52 | You will develop the wrapper in a dedicated package under the structure package `ZTIER2` in your SAP S/4HANA system.
53 |
54 |
55 | 🔵 Click to expand
56 |
57 | In ADT, open your SAP S/4HANA system project folder, right click on it and select **New** > **ABAP Package** and input the Name `Z_TIER2_###` the superpackage `ZTIER2` and a Description, e.g. `Package Tier2` :
58 |
59 |
60 |
61 |
62 | Select **Add to favorite packages** for easy access later on. Keep the Package Type as **Development** and click on **Next**. Do not change anything in the following wizard window (where the software component HOME is selected), and click on **Next**.
63 |
64 | Create a new transport request and give it a meaningful name such as `Tier2 development - Group ###` so that it can be more easily identified. Then click on **Finish**. The package will be created.
65 |
66 |
67 |
68 |
69 |
70 |
71 | ## Step 3: Create a wrapper class, interface and factory class
72 |
73 | You now want to wrap the API `BAPI_PR_CREATE`. For this we use the transaction **ACO_PROXY** which has been enhanced so that it will generate the boiler plate coding for you to build a wrapper class.
74 |
75 | In the following we will explain in short the best practices that are behind the options you will have to choose when using transaction **ACO_PROXY**.
76 |
77 | > **The interface:**
78 | > Depending on your specific use-case, you normally would need to access only certain specific functionalities and methods of the BAPI you want to expose. An ABAP Interface is the perfect development object for this purpose. The interface simplifies and restricts the usage of the underlying BAPI for the specific use-case, by exposing only the parameters that are needed. As a consequence, non-wrapped functionalities are forbidden.
79 |
80 | > **The wrapper class:**
81 | > In addition you need a class to wrap the BAPI (implementing the interface) and implement its methods. The wrapper class has a method defined in the private section, `call_bapi_pr_create`, which has access to all the parameters of the underlying BAPI. Having this type of central private method is best practice. Internally, the wrapper class has access to all the parameters and then the interface has virtual access to all of these parameters and exposes publicly only the ones that are needed depending on the specific use-case.
82 |
83 | > **C1-release for use in cloud in cloud development:**
84 | > Since we plan to access the wrapped BAPI in a different tier, it is good to provide the possibility to test it, and to keep wrapping-specific coding in tier 1 to a minimum. For this reason, the interface approach is recommended, and the wrapper class will not be released directly for consumption in tier 1, but rather will be accessible via a factory class that you will also be created.
85 |
86 | > **The factory class:**
87 | > A factory class is used to control the instantiation of the wrapper class and in order to be able to use it in Tier1 it has to be released for use in tier 1.
88 |
89 | This approach has the advantage of a clear control of when and where an instance of the wrapper class is created, and in the event in which several wrapper classes are needed all their instantiations could be handled inside one single factory class. Also, in case of wrapper classes this has the advantage that in case the wrapper class is changed throughout it's software lifecycle, at a later point in time a different class could be initialized, without changes to the consumer implementation. In this tutorial we follow the [clean code best practices](https://blogs.sap.com/2022/05/05/how-to-enable-clean-code-checks-for-abap/) for ABAP development. For example: the wrapper class is ready for ABAP Unit Tests and [ABAP Doc](https://blogs.sap.com/2013/04/29/abap-doc/) is implemented.
90 |
91 |
92 |
93 | 🔵 Click to expand
94 |
95 | 1. To create the interface, the class and the factory class for your BAPI start transaction ACO_PROXY.
96 |
97 |
98 |
99 |
100 | 2. Enter the following values
101 |
102 | **A. Function Modules**
103 | - Here you can select one or more function modules that will be wrapped by one single class. Please enter here only `BAPI_PR_CREATE`.
104 |
105 | **B. Specify repository object names**
106 | - **Name of a proxy class**: Enter a name for the wrapper class, e.g. `ZCL_WRAP_BAPI_PR_###`.
107 | - **Package**: Select `TEST_TIER2_###`. ⚠️⚠️⚠️ (We use a package TEST_TIER2_### instead of ZTIER2_### as a workaround due to a bug in ACO_PROXY)
108 | - **Create Interface**: Check the check box and choose a name for the interface, e.g. `ZIF_WRAP_BAPI_PR_###`
109 | - **Create Factory Class**: Check the check box and choose a name for the factory class, e.g. `ZCL_F_WRAP_BAPI_PR_###`
110 |
111 | **C. Options**
112 | - Choose the radio-button **Class-Based Exceptions**
113 | - Check the check box **Do not create Shadows of C1 Released Types**
114 | - Check the check box **C1 Release**
115 | - Check the check box **Create Private Methods**
116 |
117 | and press F3 to continue.
118 |
119 | 3. Press the green check mark or **F8** to continue
120 |
121 | 4. Select optional values
122 |
123 | Transaction **ACO_PROXY** offers you to un-select optional values that shall not be part of the public interface.
124 |
125 | Only leave the following optional parameters of the 'BAPI_PR_CREATE' selected
126 |
127 | - NUMBER
128 | - PRHEADEREXP
129 | - PRHEADER
130 | - PRHEADERX
131 | - TESTRUN
132 | - PRITEMX
133 | - RETURN
134 |
135 | and un-select all other optional parameters.
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 | ## Step 4: Test wrapper with console application in tier 1
146 |
147 | The wrapper you just created is released for consumption in tier 1. You can test this by creating a console application in tier 1 to call the wrapper. We suggest to create a dedicated package under in tier 1 by using `ZTIER1` as the super-package of your package in your SAP S/4HANA System for this test.
148 |
149 |
150 | 🔵 Click to expand
151 |
152 | 1. In ADT, open your SAP S/4HANA system project folder, navigate to the structure package **`ZTIER1`**, right click on it and select **New** > **ABAP Package** and input the Name **`Z_PURCHASE_REQ_TEST_###`** and a Description:
153 |
154 |
155 |
156 |
157 | 2. Click on **Next** and then **Next** again. Select a suitable transport request (or create a new one if needed) and then click on **Finish**. Now you can create the class for the console application. Right click on the newly created package and select **New** > **ABAP Class** and input the Name `ZCL_BAPI_WRAP_TEST_###` and a Description:
158 |
159 |
160 |
161 |
162 | 3. Click on **Next**, select a suitable transport request (or create a new one if needed) and then click on **Finish**.
163 |
164 | 4. You can check that the newly created class is a tier 1 class by checking that the **ABAP Language Version** is `ABAP Language for Cloud Development` in the **Properties** > **General** tab:
165 |
166 |
167 |
168 |
169 | 5. Implement the newly created class as shown below. The class calls the wrapper factory class and, given some input parameter values like the delivery date and the item price, creates a purchase requisition for that specific item and prints the information to the console.
170 |
171 |
172 | 🟡📄 Click to expand and view or copy the source code!
173 |
174 | ```ABAP
175 |
176 | CLASS zcl_bapi_wrap_test_### DEFINITION
177 | PUBLIC
178 | FINAL
179 | CREATE PUBLIC .
180 |
181 | PUBLIC SECTION.
182 | INTERFACES if_oo_adt_classrun .
183 | PROTECTED SECTION.
184 | PRIVATE SECTION.
185 | ENDCLASS.
186 |
187 |
188 |
189 | CLASS zcl_bapi_wrap_test_### IMPLEMENTATION.
190 | METHOD if_oo_adt_classrun~main.
191 |
192 | DATA pr_returns TYPE bapirettab.
193 |
194 | DATA prheader TYPE zif_wrap_bapi_pr_###=>bapimereqheader .
195 | DATA prheaderx TYPE zif_wrap_bapi_pr_###=>bapimereqheaderx .
196 | DATA number TYPE zif_wrap_bapi_pr_###=>banfn .
197 | DATA pritem TYPE zif_wrap_bapi_pr_###=>_bapimereqitemimp .
198 | DATA pritemx TYPE zif_wrap_bapi_pr_###=>_bapimereqitemx .
199 | DATA prheaderexp TYPE zif_wrap_bapi_pr_###=>bapimereqheader .
200 |
201 | DATA(myclass) = zcl_f_wrap_bapi_pr_###=>create_instance( ).
202 |
203 | prheader = VALUE #( pr_type = 'NB' ).
204 | prheaderx = VALUE #( pr_type = 'X' ).
205 |
206 | pritem = VALUE #( (
207 | preq_item = '00010'
208 | plant = '1010'
209 | acctasscat = 'U'
210 | currency = 'EUR'
211 | deliv_date = cl_abap_context_info=>get_system_date( ) + 14 "format: yyyy-mm-dd (at least 10 days)
212 | material = 'ZPRINTER01'
213 | matl_group = 'A001'
214 | preq_price = '100.00'
215 | quantity = '1'
216 | unit = 'ST'
217 | pur_group = '001'
218 | purch_org = '1010'
219 | short_text = 'ZPRINTER01'
220 | ) ).
221 |
222 | pritemx = VALUE #( (
223 | preq_item = '00010'
224 | plant = 'X'
225 | acctasscat = 'X'
226 | currency = 'X'
227 | deliv_date = 'X'
228 | material = 'X'
229 | matl_group = 'X'
230 | preq_price = 'X'
231 | quantity = 'X'
232 | unit = 'X'
233 | pur_group = 'X'
234 | purch_org = 'X'
235 | short_text = 'X'
236 | ) ).
237 |
238 | TRY.
239 | myclass->bapi_pr_create(
240 | EXPORTING
241 | prheader = prheader
242 | prheaderx = prheaderx
243 | testrun = abap_false
244 | IMPORTING
245 | number = number
246 | prheaderexp = prheaderexp
247 | CHANGING
248 | pritem = pritem
249 | pritemx = pritemx
250 | )
251 | .
252 | CATCH cx_aco_application_exception cx_aco_communication_failure cx_aco_system_failure INTO DATA(call_wrapper_exception).
253 | "handle exception
254 | out->write( |Exception occured: { call_wrapper_exception->get_text( ) }| ).
255 | ENDTRY.
256 | out->write( |purchase requistion number: { number } | ).
257 | LOOP AT pr_returns INTO DATA(bapiret2_line).
258 | out->write( |bapi_return: { bapiret2_line-message } | ).
259 | ENDLOOP.
260 | ENDMETHOD.
261 |
262 | ```
263 |
264 |
265 |
266 | 6. Save and activate your changes.
267 |
268 | 7. Now run this class by pressing F9.
269 |
270 | 8. You shall see an output as follows:
271 |
272 |
273 |
274 |
275 |
276 |
316 |
317 |
342 |
343 | ## Summary & Next Exercise
344 | [^Top of page](#)
345 |
346 | Now that you've...
347 | - created a wrapper interface and implement a wrapper class for the BAPI_PR_CREATE, and
348 | - released the wrapper for consumption in tier 1,
349 |
350 | you can continue with the next exercise - **[Exercise 2 - Create a Shopping Cart Business Object](../ex2/README.md)**.
351 |
352 | ---
353 |
--------------------------------------------------------------------------------
/exercises/ex1/images/06_000_adapt_wrapper_class.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/06_000_adapt_wrapper_class.png
--------------------------------------------------------------------------------
/exercises/ex1/images/06_010_adapt_wrapper_class.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/06_010_adapt_wrapper_class.png
--------------------------------------------------------------------------------
/exercises/ex1/images/06_020_adapt_wrapper_class.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/06_020_adapt_wrapper_class.png
--------------------------------------------------------------------------------
/exercises/ex1/images/approved_atc_exemptions.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/approved_atc_exemptions.png
--------------------------------------------------------------------------------
/exercises/ex1/images/approver_and_justification.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/approver_and_justification.png
--------------------------------------------------------------------------------
/exercises/ex1/images/bapi_explorer-function_builder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/bapi_explorer-function_builder.png
--------------------------------------------------------------------------------
/exercises/ex1/images/bapi_explorer-tools.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/bapi_explorer-tools.png
--------------------------------------------------------------------------------
/exercises/ex1/images/bapi_explorer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/bapi_explorer.png
--------------------------------------------------------------------------------
/exercises/ex1/images/console_application_language.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/console_application_language.png
--------------------------------------------------------------------------------
/exercises/ex1/images/console_output_test_class.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/console_output_test_class.png
--------------------------------------------------------------------------------
/exercises/ex1/images/create_button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/create_button.png
--------------------------------------------------------------------------------
/exercises/ex1/images/create_factory_class.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/create_factory_class.png
--------------------------------------------------------------------------------
/exercises/ex1/images/create_interface.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/create_interface.png
--------------------------------------------------------------------------------
/exercises/ex1/images/create_test_class.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/create_test_class.png
--------------------------------------------------------------------------------
/exercises/ex1/images/create_test_package.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/create_test_package.png
--------------------------------------------------------------------------------
/exercises/ex1/images/create_tier2_package.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/create_tier2_package.png
--------------------------------------------------------------------------------
/exercises/ex1/images/create_tier2_package_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/create_tier2_package_2.png
--------------------------------------------------------------------------------
/exercises/ex1/images/create_tier2_transport_request_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/create_tier2_transport_request_2.png
--------------------------------------------------------------------------------
/exercises/ex1/images/create_wrapper_class.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/create_wrapper_class.png
--------------------------------------------------------------------------------
/exercises/ex1/images/ex1_step3_generated_artefacts.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/ex1_step3_generated_artefacts.png
--------------------------------------------------------------------------------
/exercises/ex1/images/interface_atc_checks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/interface_atc_checks.png
--------------------------------------------------------------------------------
/exercises/ex1/images/interface_request_exemption.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/interface_request_exemption.png
--------------------------------------------------------------------------------
/exercises/ex1/images/new_package_test_tier2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/new_package_test_tier2.png
--------------------------------------------------------------------------------
/exercises/ex1/images/new_package_zlocal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/new_package_zlocal.png
--------------------------------------------------------------------------------
/exercises/ex1/images/packagenew.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/packagenew.png
--------------------------------------------------------------------------------
/exercises/ex1/images/packagenew2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/packagenew2.png
--------------------------------------------------------------------------------
/exercises/ex1/images/packagenew3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/packagenew3.png
--------------------------------------------------------------------------------
/exercises/ex1/images/packagenew4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/packagenew4.png
--------------------------------------------------------------------------------
/exercises/ex1/images/purchase_requisition_test.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/purchase_requisition_test.png
--------------------------------------------------------------------------------
/exercises/ex1/images/rap640_parameter_010.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/rap640_parameter_010.png
--------------------------------------------------------------------------------
/exercises/ex1/images/rap640_parameter_020.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/rap640_parameter_020.png
--------------------------------------------------------------------------------
/exercises/ex1/images/rap640_parameter_030.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/rap640_parameter_030.png
--------------------------------------------------------------------------------
/exercises/ex1/images/release_factory_class.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/release_factory_class.png
--------------------------------------------------------------------------------
/exercises/ex1/images/release_interface.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/release_interface.png
--------------------------------------------------------------------------------
/exercises/ex1/images/release_interface_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/release_interface_2.png
--------------------------------------------------------------------------------
/exercises/ex1/images/release_interface_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/release_interface_3.png
--------------------------------------------------------------------------------
/exercises/ex1/images/release_interface_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/release_interface_4.png
--------------------------------------------------------------------------------
/exercises/ex1/images/select_atc_check_variant.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/select_atc_check_variant.png
--------------------------------------------------------------------------------
/exercises/ex1/images/start_aco_proxy_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/start_aco_proxy_2.png
--------------------------------------------------------------------------------
/exercises/ex1/images/unreleased_wrapper_console_application.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex1/images/unreleased_wrapper_console_application.png
--------------------------------------------------------------------------------
/exercises/ex2/README.md:
--------------------------------------------------------------------------------
1 | # Exercise 2: Create a Shopping Cart Business Object
2 | Create a shopping cart business object with SAP S/4HANA Cloud, ABAP Environment or SAP S/4HANA on-premise.
3 |
4 | ## Introduction
5 | Now that you have generated a custom wrapper for the non-released SAP API `BAPI_PR_CREATE` for the creation of purchase requisition and released it for the ABAP Cloud development in [exercise 1](../ex1/README.md), you will now create your _Shopping Cart_ RAP business object and a UI service on top it.
6 |
7 | This RAP business object will then be enhanced later in Exercise 3 such, that a _purchase requisition_ will be created from the content of your _shopping cart_.
8 |
9 | - [You will learn](#you-will-learn)
10 | - [Summary & Next Exercise](#summary--next-exercise)
11 |
12 |
13 | ## You will learn
14 | - How to create a database table
15 | - How to generate a transactional UI service
16 | - How to enhance the behavior definition of a data model
17 | - How to publish a service binding
18 | - How to run the SAP Fiori Elements Preview
19 |
20 | > **Reminder:**
21 | > Don't forget to replace all occurences of the placeholder **`###`** with your assigned group number in the exercise steps below.
22 | > You can use the ADT function **Replace All** (**Ctrl+F**) for the purpose.
23 | > If you don't have a group number, choose a 3-digit suffix and use it for all exercises.
24 |
25 |
26 |
27 |
28 | ## Step 1: Create database table
29 |
30 | We start the creation of the RAP business object with creating a database table.
31 |
32 |
33 | 🔵 Click to expand
34 |
35 | 1. Right-click your package **`Z_PURCHASE_REQ_###`** and select **New** > **Other ABAP Repository Object**.
36 |
37 |
38 |
39 |
40 | 2. Search for **database table**, select it and click **Next >**.
41 |
42 |
43 |
44 |
45 | 3. Create new database table:
46 | - Name: `ZSHOPCART_### `
47 | - Description: Shopping cart table
48 |
49 |
50 |
51 |
52 | Click **Next >**.
53 |
54 | 4. Click **Finish**.
55 |
56 | 5. Replace your code with following:
57 |
58 | ```
59 | @EndUserText.label : 'Shopping cart table'
60 | @AbapCatalog.enhancement.category : #NOT_EXTENSIBLE
61 | @AbapCatalog.tableCategory : #TRANSPARENT
62 | @AbapCatalog.deliveryClass : #A
63 | @AbapCatalog.dataMaintenance : #RESTRICTED
64 | define table zshopcart_### {
65 | key client : abap.clnt not null;
66 | key order_uuid : sysuuid_x16 not null;
67 | order_id : abap.numc(8) not null;
68 | ordered_item : abap.char(40) not null;
69 | @Semantics.amount.currencyCode : 'zshopcart_###.currency'
70 | price : abap.curr(11,2);
71 | @Semantics.amount.currencyCode : 'zshopcart_###.currency'
72 | total_price : abap.curr(11,2);
73 | currency : abap.cuky;
74 | order_quantity : abap.numc(4);
75 | delivery_date : abap.dats;
76 | overall_status : abap.char(30);
77 | notes : abap.string(256);
78 | created_by : abp_creation_user;
79 | created_at : abp_creation_tstmpl;
80 | last_changed_by : abp_lastchange_user;
81 | last_changed_at : abp_lastchange_tstmpl;
82 | local_last_changed_at : abp_locinst_lastchange_tstmpl;
83 | purchase_requisition : abap.char(10);
84 | pr_creation_date : abap.dats;
85 | }
86 | ```
87 |
88 | 6. Save and activate.
89 |
90 |
91 |
92 | ## Step 2: Generate a transactional UI service
93 |
94 | You will now use a wizard to generate all repository objects required for your RAP business object based on the table you have just created.
95 |
96 |
97 | 🔵 Click to expand
98 |
99 |
100 | 1. Right-click your database table **`ZSHOPCART_###`** and select **Generate ABAP Repository Objects**.
101 |
102 |
103 |
104 |
105 | 2. In the **Select Generator** screen choose the generator:
106 | - Generator: **ABAP RESTful Application Programming Model: UI Service**
107 |
108 |
109 |
110 |
111 | Click **Next >**.
112 |
113 | > Please be aware that the screenshot above pertains to the SAP S/4HANA 2023 release.
114 |
115 | 3. In the **Enter Package** screen enter the name of your Tier 1 package **`Z_PURCHASE_REQ_###`** and click **Next >**.
116 |
117 |
118 |
119 |
120 | 4. In the **Configure Generator** dialog navigate to the section **Business Object** and then click on **Data Model**.
121 | Here you have to provide the name of the alias.
122 |
123 | Alias Name: `ShoppingCart`
124 |
125 |
126 |
127 |
128 |
129 | Verify the maintained entries and press **Next >** to confirm. The needed artifacts will be generated.
130 |
131 |
132 | | **RAP Layer** | **Artefacts** | **Artefact Names** |
133 | |----------------------------------------|-------------------------|-----------------------------------------------------|
134 | | **Business Object** | | |
135 | | | **Data Model** | Data Definition Name: **`ZR_SHOPCART_###`** |
136 | | | | Alias Name: **`ShoppingCart`** |
137 | | | **Behavior** | Implementation Class: **`ZBP_R_SHOPCART_###`** |
138 | | | | Draft Table Name: **`ZSHOPCART_###_D`** |
139 | | **Service Projection (BO Projection)** | | Name: **`ZC_SHOPCART_###`** |
140 | | **Business Services** | | |
141 | | | **Service Definition** | Name: **`ZUI_SHOPCART_###_O4`** |
142 | | | **Service Binding** | Name: **`ZUI_SHOPCART_###_O4`** |
143 | | | | Binding Type: **`OData V4 - UI`** |
144 |
145 |
146 |
147 |
148 |
149 | Click **Next >**.
150 |
151 | 5. Click **Finish**.
152 |
153 |
154 |
155 |
156 |
157 |
158 | ## Step 3: Adapt the behavior definition of data model
159 |
160 | The generated code has to be adapted so that additional fields are made _read-only_.
161 |
162 |
163 | 🔵 Click to expand
164 |
165 | 1. Open your behavior definition **`ZR_SHOPCART_###`** to enhance it. Add the following read-only fields to your behavior definition:
166 |
167 | ```
168 | ,
169 | PurchaseRequisition,
170 | PrCreationDate,
171 | OverallStatus;
172 | ```
173 |
174 |
175 |
176 |
177 | 2. Check your behavior definition:
178 |
179 |
180 | 🟡📄 Click to expand and view and compare the source code!
181 |
182 | ```
183 | managed implementation in class ZBP_R_SHOPCART_### unique;
184 | strict ( 2 );
185 | with draft;
186 |
187 | define behavior for ZR_SHOPCART_### alias ShoppingCart
188 | persistent table zshopcart_###
189 | draft table zshopcart_###_d
190 | etag master LocalLastChangedAt
191 | lock master total etag LastChangedAt
192 | authorization master ( global )
193 |
194 | {
195 | field ( readonly )
196 | OrderUUID,
197 | CreatedAt,
198 | CreatedBy,
199 | LastChangedAt,
200 | LastChangedBy,
201 | LocalLastChangedAt
202 | ,
203 | PurchaseRequisition,
204 | PrCreationDate,
205 | OverallStatus;
206 |
207 |
208 |
209 | field ( numbering : managed )
210 | OrderUUID;
211 |
212 |
213 | create;
214 | update;
215 | delete;
216 |
217 | draft action Edit;
218 | draft action Activate optimized;
219 | draft action Discard;
220 | draft action Resume;
221 | draft determine action Prepare;
222 |
223 | mapping for zshopcart_###
224 | {
225 | OrderUUID = order_uuid;
226 | OrderID = order_id;
227 | OrderedItem = ordered_item;
228 | Price = price;
229 | TotalPrice = total_price;
230 | Currency = currency;
231 | OrderQuantity = order_quantity;
232 | DeliveryDate = delivery_date;
233 | OverallStatus = overall_status;
234 | Notes = notes;
235 | CreatedBy = created_by;
236 | CreatedAt = created_at;
237 | LastChangedBy = last_changed_by;
238 | LastChangedAt = last_changed_at;
239 | LocalLastChangedAt = local_last_changed_at;
240 | PurchaseRequisition = purchase_requisition;
241 | PrCreationDate = pr_creation_date;
242 | }
243 | }
244 | ```
245 |
246 |
247 |
248 | 3. Save and activate.
249 |
250 |
251 | ## Step 4: Publish service binding and run SAP Fiori Elements preview
252 |
253 | What is left to do is to publish your service locally, so that it can be tested using the Fiori Elements preview.
254 |
255 |
256 | 🔵 Click to expand
257 |
258 |
259 | 1. Open your service binding **`ZUI_SHOPCART_###_O4`** and click **Publish**.
260 |
261 | 
262 |
263 |
264 | 2. Select **`ShoppingCart`** in your service binding and click **Preview** to open SAP Fiori Elements preview.
265 |
266 | > ⚠️ **Security Warning**
267 | > Since the demo systems for workshops usually use just a public IP adress
268 | > you will probably get a security warning at this point.
269 | > In Edge for example click on **Advanced** and then on **Continue to xxx.xxx.xxx.xxx (unsafe)**
270 |
271 | 
272 |
273 |
274 |
275 |
276 | ## Summary & Next Exercise
277 | [^Top of page](#)
278 |
279 | Now that you've...
280 | - created an ABAP package on tier 1 (superpackage: `ZLOCAL`),
281 | - created a database table to store the shopping cart data,
282 | - generated a RAP BO and a transactional UI service,
283 | - enhanced the behavior definition of a data model,
284 | - published the service binding, and
285 | - ran the SAP Fiori Elements App Preview,
286 |
287 | you can continue with the next exercise - **[Exercise 3 - Create Value Help, Enhance the Behavior Definition and Behavior Implementation of the Shopping Cart Business Object](../ex3/README.md)**.
288 |
289 | ---
290 |
291 |
--------------------------------------------------------------------------------
/exercises/ex2/images/README.md:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/exercises/ex2/images/bdef.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/bdef.png
--------------------------------------------------------------------------------
/exercises/ex2/images/bdef2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/bdef2.png
--------------------------------------------------------------------------------
/exercises/ex2/images/bdef3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/bdef3.png
--------------------------------------------------------------------------------
/exercises/ex2/images/bdef3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/bdef3x.png
--------------------------------------------------------------------------------
/exercises/ex2/images/bdef4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/bdef4.png
--------------------------------------------------------------------------------
/exercises/ex2/images/bdef5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/bdef5.png
--------------------------------------------------------------------------------
/exercises/ex2/images/bdef5x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/bdef5x.png
--------------------------------------------------------------------------------
/exercises/ex2/images/behavior.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/behavior.png
--------------------------------------------------------------------------------
/exercises/ex2/images/behavior2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/behavior2.png
--------------------------------------------------------------------------------
/exercises/ex2/images/behavior3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/behavior3.png
--------------------------------------------------------------------------------
/exercises/ex2/images/behavior4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/behavior4.png
--------------------------------------------------------------------------------
/exercises/ex2/images/behavior5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/behavior5.png
--------------------------------------------------------------------------------
/exercises/ex2/images/behavior6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/behavior6.png
--------------------------------------------------------------------------------
/exercises/ex2/images/binding.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/binding.png
--------------------------------------------------------------------------------
/exercises/ex2/images/binding2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/binding2.png
--------------------------------------------------------------------------------
/exercises/ex2/images/binding3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/binding3.png
--------------------------------------------------------------------------------
/exercises/ex2/images/binding4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/binding4.png
--------------------------------------------------------------------------------
/exercises/ex2/images/binding5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/binding5.png
--------------------------------------------------------------------------------
/exercises/ex2/images/cds.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/cds.png
--------------------------------------------------------------------------------
/exercises/ex2/images/cds2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/cds2.png
--------------------------------------------------------------------------------
/exercises/ex2/images/cds3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/cds3.png
--------------------------------------------------------------------------------
/exercises/ex2/images/cds4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/cds4.png
--------------------------------------------------------------------------------
/exercises/ex2/images/create.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/create.png
--------------------------------------------------------------------------------
/exercises/ex2/images/create2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/create2.png
--------------------------------------------------------------------------------
/exercises/ex2/images/create3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/create3.png
--------------------------------------------------------------------------------
/exercises/ex2/images/databasenew.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/databasenew.png
--------------------------------------------------------------------------------
/exercises/ex2/images/databasenew2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/databasenew2.png
--------------------------------------------------------------------------------
/exercises/ex2/images/databasenew3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/databasenew3.png
--------------------------------------------------------------------------------
/exercises/ex2/images/databasenew4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/databasenew4.png
--------------------------------------------------------------------------------
/exercises/ex2/images/docu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/docu.png
--------------------------------------------------------------------------------
/exercises/ex2/images/docu2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/docu2.png
--------------------------------------------------------------------------------
/exercises/ex2/images/docu3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/docu3.png
--------------------------------------------------------------------------------
/exercises/ex2/images/docu4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/docu4.png
--------------------------------------------------------------------------------
/exercises/ex2/images/docu5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/docu5.png
--------------------------------------------------------------------------------
/exercises/ex2/images/docugif.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/docugif.gif
--------------------------------------------------------------------------------
/exercises/ex2/images/docuhint.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/docuhint.png
--------------------------------------------------------------------------------
/exercises/ex2/images/entity.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/entity.png
--------------------------------------------------------------------------------
/exercises/ex2/images/generate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/generate.png
--------------------------------------------------------------------------------
/exercises/ex2/images/generate2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/generate2.png
--------------------------------------------------------------------------------
/exercises/ex2/images/generate3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/generate3.png
--------------------------------------------------------------------------------
/exercises/ex2/images/generate4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/generate4.png
--------------------------------------------------------------------------------
/exercises/ex2/images/generator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/generator.png
--------------------------------------------------------------------------------
/exercises/ex2/images/generator2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/generator2.png
--------------------------------------------------------------------------------
/exercises/ex2/images/generator3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/generator3.png
--------------------------------------------------------------------------------
/exercises/ex2/images/generator4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/generator4.png
--------------------------------------------------------------------------------
/exercises/ex2/images/generator5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/generator5.png
--------------------------------------------------------------------------------
/exercises/ex2/images/generator6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/generator6.png
--------------------------------------------------------------------------------
/exercises/ex2/images/generator_enter_alias_name.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/generator_enter_alias_name.png
--------------------------------------------------------------------------------
/exercises/ex2/images/generator_enter_package_name.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/generator_enter_package_name.png
--------------------------------------------------------------------------------
/exercises/ex2/images/generator_select_ui_generator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/generator_select_ui_generator.png
--------------------------------------------------------------------------------
/exercises/ex2/images/implementation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/implementation.png
--------------------------------------------------------------------------------
/exercises/ex2/images/implementation2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/implementation2.png
--------------------------------------------------------------------------------
/exercises/ex2/images/implementation3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/implementation3.png
--------------------------------------------------------------------------------
/exercises/ex2/images/logonflp2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/logonflp2.png
--------------------------------------------------------------------------------
/exercises/ex2/images/logonflp4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/logonflp4.png
--------------------------------------------------------------------------------
/exercises/ex2/images/metadata.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/metadata.png
--------------------------------------------------------------------------------
/exercises/ex2/images/o.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/o.png
--------------------------------------------------------------------------------
/exercises/ex2/images/o2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/o2.png
--------------------------------------------------------------------------------
/exercises/ex2/images/onprem.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/onprem.png
--------------------------------------------------------------------------------
/exercises/ex2/images/onprem2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/onprem2.png
--------------------------------------------------------------------------------
/exercises/ex2/images/onprem3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/onprem3.png
--------------------------------------------------------------------------------
/exercises/ex2/images/onpremisenew.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/onpremisenew.png
--------------------------------------------------------------------------------
/exercises/ex2/images/onpremisenew2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/onpremisenew2.png
--------------------------------------------------------------------------------
/exercises/ex2/images/onpremisenew3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/onpremisenew3.png
--------------------------------------------------------------------------------
/exercises/ex2/images/onpremisepublish.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/onpremisepublish.png
--------------------------------------------------------------------------------
/exercises/ex2/images/onpremx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/onpremx.png
--------------------------------------------------------------------------------
/exercises/ex2/images/package.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/package.png
--------------------------------------------------------------------------------
/exercises/ex2/images/package2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/package2.png
--------------------------------------------------------------------------------
/exercises/ex2/images/package3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/package3.png
--------------------------------------------------------------------------------
/exercises/ex2/images/package3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/package3x.png
--------------------------------------------------------------------------------
/exercises/ex2/images/packagenew.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/packagenew.png
--------------------------------------------------------------------------------
/exercises/ex2/images/packagenew2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/packagenew2.png
--------------------------------------------------------------------------------
/exercises/ex2/images/packagenew3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/packagenew3.png
--------------------------------------------------------------------------------
/exercises/ex2/images/packagenew4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/packagenew4.png
--------------------------------------------------------------------------------
/exercises/ex2/images/projection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/projection.png
--------------------------------------------------------------------------------
/exercises/ex2/images/projection2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/projection2.png
--------------------------------------------------------------------------------
/exercises/ex2/images/projection3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/projection3.png
--------------------------------------------------------------------------------
/exercises/ex2/images/projection4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/projection4.png
--------------------------------------------------------------------------------
/exercises/ex2/images/properties.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/properties.png
--------------------------------------------------------------------------------
/exercises/ex2/images/publishnew4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/publishnew4.png
--------------------------------------------------------------------------------
/exercises/ex2/images/purchase.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/purchase.png
--------------------------------------------------------------------------------
/exercises/ex2/images/purchase2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/purchase2.png
--------------------------------------------------------------------------------
/exercises/ex2/images/purchase3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/purchase3.png
--------------------------------------------------------------------------------
/exercises/ex2/images/purchase4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/purchase4.png
--------------------------------------------------------------------------------
/exercises/ex2/images/purchase5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/purchase5.png
--------------------------------------------------------------------------------
/exercises/ex2/images/result.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/result.png
--------------------------------------------------------------------------------
/exercises/ex2/images/sb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/sb.png
--------------------------------------------------------------------------------
/exercises/ex2/images/sb2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/sb2.png
--------------------------------------------------------------------------------
/exercises/ex2/images/sb3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/sb3.png
--------------------------------------------------------------------------------
/exercises/ex2/images/sb4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/sb4.png
--------------------------------------------------------------------------------
/exercises/ex2/images/sb5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/sb5.png
--------------------------------------------------------------------------------
/exercises/ex2/images/sb6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/sb6.png
--------------------------------------------------------------------------------
/exercises/ex2/images/sb7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/sb7.png
--------------------------------------------------------------------------------
/exercises/ex2/images/sb8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/sb8.png
--------------------------------------------------------------------------------
/exercises/ex2/images/sb9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/sb9.png
--------------------------------------------------------------------------------
/exercises/ex2/images/service.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/service.png
--------------------------------------------------------------------------------
/exercises/ex2/images/service2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/service2.png
--------------------------------------------------------------------------------
/exercises/ex2/images/service3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/service3.png
--------------------------------------------------------------------------------
/exercises/ex2/images/structure.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/structure.png
--------------------------------------------------------------------------------
/exercises/ex2/images/structure2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/structure2.png
--------------------------------------------------------------------------------
/exercises/ex2/images/structure3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/structure3.png
--------------------------------------------------------------------------------
/exercises/ex2/images/table.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/table.png
--------------------------------------------------------------------------------
/exercises/ex2/images/table2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/table2.png
--------------------------------------------------------------------------------
/exercises/ex2/images/table3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/table3.png
--------------------------------------------------------------------------------
/exercises/ex2/images/table4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/table4.png
--------------------------------------------------------------------------------
/exercises/ex2/images/table5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/table5.png
--------------------------------------------------------------------------------
/exercises/ex2/images/table6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/table6.png
--------------------------------------------------------------------------------
/exercises/ex2/images/wizard3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex2/images/wizard3.png
--------------------------------------------------------------------------------
/exercises/ex3/images/4.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/exercises/ex3/images/add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/add.png
--------------------------------------------------------------------------------
/exercises/ex3/images/add_value_helps.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/add_value_helps.png
--------------------------------------------------------------------------------
/exercises/ex3/images/bdef.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/bdef.png
--------------------------------------------------------------------------------
/exercises/ex3/images/bdef2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/bdef2.png
--------------------------------------------------------------------------------
/exercises/ex3/images/bdef3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/bdef3.png
--------------------------------------------------------------------------------
/exercises/ex3/images/bdef4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/bdef4.png
--------------------------------------------------------------------------------
/exercises/ex3/images/bdef4x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/bdef4x.png
--------------------------------------------------------------------------------
/exercises/ex3/images/bdef5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/bdef5.png
--------------------------------------------------------------------------------
/exercises/ex3/images/bdef5x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/bdef5x.png
--------------------------------------------------------------------------------
/exercises/ex3/images/bdef5xx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/bdef5xx.png
--------------------------------------------------------------------------------
/exercises/ex3/images/behavior.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/behavior.png
--------------------------------------------------------------------------------
/exercises/ex3/images/behavior2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/behavior2.png
--------------------------------------------------------------------------------
/exercises/ex3/images/behavior3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/behavior3.png
--------------------------------------------------------------------------------
/exercises/ex3/images/behavior4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/behavior4.png
--------------------------------------------------------------------------------
/exercises/ex3/images/behavior5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/behavior5.png
--------------------------------------------------------------------------------
/exercises/ex3/images/behavior6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/behavior6.png
--------------------------------------------------------------------------------
/exercises/ex3/images/binding.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/binding.png
--------------------------------------------------------------------------------
/exercises/ex3/images/binding2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/binding2.png
--------------------------------------------------------------------------------
/exercises/ex3/images/binding3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/binding3.png
--------------------------------------------------------------------------------
/exercises/ex3/images/binding4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/binding4.png
--------------------------------------------------------------------------------
/exercises/ex3/images/binding5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/binding5.png
--------------------------------------------------------------------------------
/exercises/ex3/images/cds.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/cds.png
--------------------------------------------------------------------------------
/exercises/ex3/images/cds2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/cds2.png
--------------------------------------------------------------------------------
/exercises/ex3/images/cds3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/cds3.png
--------------------------------------------------------------------------------
/exercises/ex3/images/cds4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/cds4.png
--------------------------------------------------------------------------------
/exercises/ex3/images/create.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/create.png
--------------------------------------------------------------------------------
/exercises/ex3/images/create2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/create2.png
--------------------------------------------------------------------------------
/exercises/ex3/images/create3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/create3.png
--------------------------------------------------------------------------------
/exercises/ex3/images/createx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/createx.png
--------------------------------------------------------------------------------
/exercises/ex3/images/docu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/docu.png
--------------------------------------------------------------------------------
/exercises/ex3/images/docu2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/docu2.png
--------------------------------------------------------------------------------
/exercises/ex3/images/docu3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/docu3.png
--------------------------------------------------------------------------------
/exercises/ex3/images/docu4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/docu4.png
--------------------------------------------------------------------------------
/exercises/ex3/images/docu5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/docu5.png
--------------------------------------------------------------------------------
/exercises/ex3/images/docugif.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/docugif.gif
--------------------------------------------------------------------------------
/exercises/ex3/images/docuhint.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/docuhint.png
--------------------------------------------------------------------------------
/exercises/ex3/images/entity.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/entity.png
--------------------------------------------------------------------------------
/exercises/ex3/images/generate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/generate.png
--------------------------------------------------------------------------------
/exercises/ex3/images/generate2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/generate2.png
--------------------------------------------------------------------------------
/exercises/ex3/images/generate3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/generate3.png
--------------------------------------------------------------------------------
/exercises/ex3/images/generate4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/generate4.png
--------------------------------------------------------------------------------
/exercises/ex3/images/implementation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/implementation.png
--------------------------------------------------------------------------------
/exercises/ex3/images/implementation2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/implementation2.png
--------------------------------------------------------------------------------
/exercises/ex3/images/implementation3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/implementation3.png
--------------------------------------------------------------------------------
/exercises/ex3/images/logon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/logon.png
--------------------------------------------------------------------------------
/exercises/ex3/images/logon2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/logon2.png
--------------------------------------------------------------------------------
/exercises/ex3/images/logon3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/logon3.png
--------------------------------------------------------------------------------
/exercises/ex3/images/logon4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/logon4.png
--------------------------------------------------------------------------------
/exercises/ex3/images/logon5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/logon5.png
--------------------------------------------------------------------------------
/exercises/ex3/images/logon6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/logon6.png
--------------------------------------------------------------------------------
/exercises/ex3/images/logon7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/logon7.png
--------------------------------------------------------------------------------
/exercises/ex3/images/logonflp2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/logonflp2.png
--------------------------------------------------------------------------------
/exercises/ex3/images/logonflp4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/logonflp4.png
--------------------------------------------------------------------------------
/exercises/ex3/images/metadata.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/metadata.png
--------------------------------------------------------------------------------
/exercises/ex3/images/o.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/o.png
--------------------------------------------------------------------------------
/exercises/ex3/images/o2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/o2.png
--------------------------------------------------------------------------------
/exercises/ex3/images/order.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/order.png
--------------------------------------------------------------------------------
/exercises/ex3/images/order2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/order2.png
--------------------------------------------------------------------------------
/exercises/ex3/images/order3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/order3.png
--------------------------------------------------------------------------------
/exercises/ex3/images/package.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/package.png
--------------------------------------------------------------------------------
/exercises/ex3/images/package2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/package2.png
--------------------------------------------------------------------------------
/exercises/ex3/images/package3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/package3.png
--------------------------------------------------------------------------------
/exercises/ex3/images/products.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/products.png
--------------------------------------------------------------------------------
/exercises/ex3/images/products2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/products2.png
--------------------------------------------------------------------------------
/exercises/ex3/images/products3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/products3.png
--------------------------------------------------------------------------------
/exercises/ex3/images/projection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/projection.png
--------------------------------------------------------------------------------
/exercises/ex3/images/projection2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/projection2.png
--------------------------------------------------------------------------------
/exercises/ex3/images/projection3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/projection3.png
--------------------------------------------------------------------------------
/exercises/ex3/images/projection4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/projection4.png
--------------------------------------------------------------------------------
/exercises/ex3/images/properties.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/properties.png
--------------------------------------------------------------------------------
/exercises/ex3/images/purchase.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/purchase.png
--------------------------------------------------------------------------------
/exercises/ex3/images/purchase2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/purchase2.png
--------------------------------------------------------------------------------
/exercises/ex3/images/purchase3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/purchase3.png
--------------------------------------------------------------------------------
/exercises/ex3/images/purchase4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/purchase4.png
--------------------------------------------------------------------------------
/exercises/ex3/images/purchase5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/purchase5.png
--------------------------------------------------------------------------------
/exercises/ex3/images/result.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/result.png
--------------------------------------------------------------------------------
/exercises/ex3/images/sb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/sb.png
--------------------------------------------------------------------------------
/exercises/ex3/images/sb2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/sb2.png
--------------------------------------------------------------------------------
/exercises/ex3/images/sb3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/sb3.png
--------------------------------------------------------------------------------
/exercises/ex3/images/sb4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/sb4.png
--------------------------------------------------------------------------------
/exercises/ex3/images/sb5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/sb5.png
--------------------------------------------------------------------------------
/exercises/ex3/images/sb6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/sb6.png
--------------------------------------------------------------------------------
/exercises/ex3/images/sb7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/sb7.png
--------------------------------------------------------------------------------
/exercises/ex3/images/sb8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/sb8.png
--------------------------------------------------------------------------------
/exercises/ex3/images/sb9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/sb9.png
--------------------------------------------------------------------------------
/exercises/ex3/images/select_projection_view.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/select_projection_view.png
--------------------------------------------------------------------------------
/exercises/ex3/images/service.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/service.png
--------------------------------------------------------------------------------
/exercises/ex3/images/service2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/service2.png
--------------------------------------------------------------------------------
/exercises/ex3/images/service3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/service3.png
--------------------------------------------------------------------------------
/exercises/ex3/images/structure.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/structure.png
--------------------------------------------------------------------------------
/exercises/ex3/images/structure2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/structure2.png
--------------------------------------------------------------------------------
/exercises/ex3/images/structure3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/structure3.png
--------------------------------------------------------------------------------
/exercises/ex3/images/table.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/table.png
--------------------------------------------------------------------------------
/exercises/ex3/images/table2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/table2.png
--------------------------------------------------------------------------------
/exercises/ex3/images/table3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/table3.png
--------------------------------------------------------------------------------
/exercises/ex3/images/table4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/table4.png
--------------------------------------------------------------------------------
/exercises/ex3/images/table5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/table5.png
--------------------------------------------------------------------------------
/exercises/ex3/images/table6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/table6.png
--------------------------------------------------------------------------------
/exercises/ex3/images/uinew.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/uinew.png
--------------------------------------------------------------------------------
/exercises/ex3/images/uinew0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/uinew0.png
--------------------------------------------------------------------------------
/exercises/ex3/images/updatenew.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/updatenew.png
--------------------------------------------------------------------------------
/exercises/ex3/images/wizard3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex3/images/wizard3.png
--------------------------------------------------------------------------------
/exercises/ex4/images/5.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/exercises/ex4/images/add_save_modified_redefinition.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex4/images/add_save_modified_redefinition.png
--------------------------------------------------------------------------------
/exercises/ex4/images/add_unmanaged_save.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex4/images/add_unmanaged_save.png
--------------------------------------------------------------------------------
/exercises/ex4/images/add_validation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex4/images/add_validation.png
--------------------------------------------------------------------------------
/exercises/ex4/images/create_metadata.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex4/images/create_metadata.png
--------------------------------------------------------------------------------
/exercises/ex4/images/create_pr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex4/images/create_pr.png
--------------------------------------------------------------------------------
/exercises/ex4/images/create_pr_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex4/images/create_pr_2.png
--------------------------------------------------------------------------------
/exercises/ex4/images/create_pr_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex4/images/create_pr_3.png
--------------------------------------------------------------------------------
/exercises/ex4/images/create_projection_view.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex4/images/create_projection_view.png
--------------------------------------------------------------------------------
/exercises/ex4/images/create_service_binding.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex4/images/create_service_binding.png
--------------------------------------------------------------------------------
/exercises/ex4/images/create_service_definition.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex4/images/create_service_definition.png
--------------------------------------------------------------------------------
/exercises/ex4/images/declare_action.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex4/images/declare_action.png
--------------------------------------------------------------------------------
/exercises/ex4/images/define_action.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex4/images/define_action.png
--------------------------------------------------------------------------------
/exercises/ex4/images/do_not_check_missing_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex4/images/do_not_check_missing_1.png
--------------------------------------------------------------------------------
/exercises/ex4/images/enhance_bdef.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex4/images/enhance_bdef.png
--------------------------------------------------------------------------------
/exercises/ex4/images/get_instance_features.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex4/images/get_instance_features.png
--------------------------------------------------------------------------------
/exercises/ex4/images/implement_save_modified.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex4/images/implement_save_modified.png
--------------------------------------------------------------------------------
/exercises/ex4/images/new_metadata.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex4/images/new_metadata.png
--------------------------------------------------------------------------------
/exercises/ex4/images/new_method_declaration.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex4/images/new_method_declaration.png
--------------------------------------------------------------------------------
/exercises/ex4/images/new_method_declaration_action.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex4/images/new_method_declaration_action.png
--------------------------------------------------------------------------------
/exercises/ex4/images/old_metadata.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex4/images/old_metadata.png
--------------------------------------------------------------------------------
/exercises/ex4/images/pr_professional_app.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex4/images/pr_professional_app.png
--------------------------------------------------------------------------------
/exercises/ex4/images/publish_service_binding.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex4/images/publish_service_binding.png
--------------------------------------------------------------------------------
/exercises/ex4/images/publish_service_binding_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex4/images/publish_service_binding_2.png
--------------------------------------------------------------------------------
/exercises/ex4/images/publish_service_binding_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex4/images/publish_service_binding_3.png
--------------------------------------------------------------------------------
/exercises/ex4/images/publish_service_binding_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex4/images/publish_service_binding_4.png
--------------------------------------------------------------------------------
/exercises/ex4/images/switch_strict_mode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex4/images/switch_strict_mode.png
--------------------------------------------------------------------------------
/exercises/ex4/images/switch_strict_mode2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex4/images/switch_strict_mode2.png
--------------------------------------------------------------------------------
/exercises/ex4a/README.md:
--------------------------------------------------------------------------------
1 | # Exercise 5: Integrate with classic BOR Events
2 |
3 | ## Technical background
4 |
5 | BOR is a legacy framework, which is not cloud-ready and hence not available for direct customer usage in SAP S/4HANA Cloud public edition or SAP BTP ABAP Environment. As a cloud-ready alternative to BOR, it is recommended to use RAP events (available from SAP S/4HANA Release 2022), if available and applicable.
6 |
7 | If one needs to use BOR events, e. g. to leverage Event Linkages, you can consume BOR events in customer and partner extensions. Event Linkages are maintained in transaction Maintain Event Linkages (SWE2).
8 |
9 | Here you have to register a class that implements the interface `BI_EVENT_HANDLER_STATIC`.
10 |
11 | For more details see the SAP Note [3478579 - Business Object Repository in context of Clean Core](https://me.sap.com/notes/3478579) .
12 |
13 | ## Demo scenario
14 |
15 | When creating purchase requistions the underlying frameworks are raising classic BOR events as well as newer RAP based events. To demonstrate the use of classic BOR events we have prepared a class `zrap640_cl_handle_pr_events` for your convenience that has been linked using transaction **SWE2** to the event `CREATED` of the object type `CL_MM_PUR_WF_OBJECT_PR`.
16 |
17 | > Please note:
18 | > Since it is not possible to perform the linkage of a class in transactino SWE2 in parallel with different users we have provided a single class and have registered the same for you beforehand.
19 |
20 | The class `zrap640_cl_handle_pr_events` implements interface `bi_event_handler_static` and in method `bi_event_handler_static~on_event` the code retrieves:
21 | - the purchase requisition number
22 | - the username of the end user that has created the purchase requisition
23 |
24 | It then stores the username `zrap640_evt_hdl` into the pre-configured table `zrap640_evt_hdl`.
25 |
26 | Open the class `zrap640_cl_handle_pr_event` in [ADT](adt://S4H/sap/bc/adt/oo/classes/zrap640_cl_handle_pr_events?version=active) or check the source code here:
27 |
28 |
29 | 🔵 Click to expand the source code
30 |
31 | ```
32 | CLASS zrap640_cl_handle_pr_events DEFINITION
33 | PUBLIC
34 | FINAL
35 | CREATE PUBLIC .
36 |
37 | PUBLIC SECTION.
38 |
39 | INTERFACES bi_event_handler_static .
40 | PROTECTED SECTION.
41 | PRIVATE SECTION.
42 | ENDCLASS.
43 |
44 |
45 |
46 | CLASS zrap640_cl_handle_pr_events IMPLEMENTATION.
47 |
48 |
49 | METHOD bi_event_handler_static~on_event.
50 |
51 | TYPES : BEGIN OF t_event_handle,
52 | purchase_requisition TYPE c LENGTH 10,
53 | created_by TYPE abp_creation_user,
54 | END OF t_event_handle.
55 |
56 | * DATA line TYPE t_event_handle.
57 | DATA line TYPE zrap640_evt_hdl.
58 | DATA table_name TYPE dd03l-tabname.
59 | DATA purchase_requisition TYPE string.
60 | "user name in the fourteen-character structure US.
61 | DATA event_raised_by TYPE string.
62 |
63 |
64 | TRY.
65 | event_container->get(
66 | EXPORTING
67 | name = '_EVT_OBJKEY'
68 | IMPORTING
69 | value = purchase_requisition ).
70 |
71 | CATCH cx_swf_cnt_elem_not_found cx_swf_cnt_elem_type_conflict cx_swf_cnt_unit_type_conflict cx_swf_cnt_container.
72 | "handle exception
73 | ENDTRY.
74 |
75 |
76 |
77 | TRY.
78 | event_container->get(
79 | EXPORTING
80 | name = '_EVT_CREATOR'
81 | IMPORTING
82 | value = event_raised_by ).
83 |
84 | "remove 'US'
85 | event_raised_by = substring( val = event_raised_by off = 2 ).
86 |
87 | CATCH cx_swf_cnt_elem_not_found cx_swf_cnt_elem_type_conflict cx_swf_cnt_unit_type_conflict cx_swf_cnt_container.
88 | "handle exception
89 | ENDTRY.
90 |
91 | line-created_by = event_raised_by.
92 | line-purchase_requisition = purchase_requisition.
93 |
94 | "table_name = Z
95 | table_name = 'Z' && event_raised_by.
96 |
97 | INSERT zrap640_evt_hdl FROM @line.
98 | COMMIT WORK and wait.
99 |
100 | INSERT (table_name) FROM @line.
101 | COMMIT WORK and wait.
102 |
103 | ENDMETHOD.
104 | ENDCLASS.
105 | ```
106 |
107 |
108 |
109 | ### Check content of table `zrap640_evt_hdl`
110 |
111 | 1. Open the table `zrap640_evt_hdl` in ADT.
112 | 2. Press **F8** to start the data preview.
113 | 3. Choose **Add filter --> CREATED_BY** from the menu.
114 | 4. Enter the name of your user in upper case **DEVELOPER###**
115 |
116 | > Hint:
117 | > It can take a while (up to x minutes) until the event that has been raised has been captured by the event handler class.
118 |
119 | As a result you will see several entries that stem from the purchase requisitions you have created beforehand.
120 |
121 | ### Create your own table to collect purchase requisition BOR events
122 |
123 | 1. Create a table `ZDEVELOPER###`
124 | 2. Add the following code
125 |
126 | ```
127 | @EndUserText.label : 'Collect BOR events'
128 | @AbapCatalog.enhancement.category : #NOT_EXTENSIBLE
129 | @AbapCatalog.tableCategory : #TRANSPARENT
130 | @AbapCatalog.deliveryClass : #A
131 | @AbapCatalog.dataMaintenance : #RESTRICTED
132 | define table zdeveloper### {
133 |
134 | key client : abap.clnt not null;
135 | key purchase_requisition : abap.char(10) not null;
136 | created_by : abp_creation_user;
137 |
138 | }
139 | ```
140 | 3. Save and activate your changes
141 |
142 | Now create a new purchase requisition using your RAP business object or using the command line test class that you have created beforehand.
143 |
144 | Check the content of your table using the data preview by pressing **F8**.
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 | ## Summary & Next Exercise
154 | [^Top of page](#)
155 |
156 | Now that you've...
157 | - integrated a wrapper class in a RAP BO during the save sequence,
158 | - implemented a new action in RAP BO to call the wrapper class and use it to create a purchase requisition, and
159 | - exposed the action via service binding,
160 | - checked the use of classic BOR events,
161 |
162 | you are done.
163 |
164 | However there is **optional** exercise that you might want to perform - **[Exercise 6 (optional) - Provide Authorizations to Users for non-Released Authorization Objects checked by the "Create Purchase Requisition" function module](../ex5/README.md)**.
165 |
166 |
167 |
168 |
--------------------------------------------------------------------------------
/exercises/ex5/images/6.txt:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/exercises/ex5/images/add_user.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/add_user.png
--------------------------------------------------------------------------------
/exercises/ex5/images/auth_case_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/auth_case_0.png
--------------------------------------------------------------------------------
/exercises/ex5/images/authorization_trace.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/authorization_trace.png
--------------------------------------------------------------------------------
/exercises/ex5/images/authorization_trace_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/authorization_trace_2.png
--------------------------------------------------------------------------------
/exercises/ex5/images/authorization_trace_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/authorization_trace_3.png
--------------------------------------------------------------------------------
/exercises/ex5/images/authorization_trace_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/authorization_trace_4.png
--------------------------------------------------------------------------------
/exercises/ex5/images/authorization_trace_5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/authorization_trace_5.png
--------------------------------------------------------------------------------
/exercises/ex5/images/authorization_trace_6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/authorization_trace_6.png
--------------------------------------------------------------------------------
/exercises/ex5/images/authorization_trace_7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/authorization_trace_7.png
--------------------------------------------------------------------------------
/exercises/ex5/images/authorization_trace_8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/authorization_trace_8.png
--------------------------------------------------------------------------------
/exercises/ex5/images/authorization_trace_9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/authorization_trace_9.png
--------------------------------------------------------------------------------
/exercises/ex5/images/business_user_do_not_check_option_test.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/business_user_do_not_check_option_test.png
--------------------------------------------------------------------------------
/exercises/ex5/images/business_user_variant_test.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/business_user_variant_test.png
--------------------------------------------------------------------------------
/exercises/ex5/images/comparison_with_su24.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/comparison_with_su24.png
--------------------------------------------------------------------------------
/exercises/ex5/images/comparison_with_su24_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/comparison_with_su24_2.png
--------------------------------------------------------------------------------
/exercises/ex5/images/create_dev_5_role.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/create_dev_5_role.png
--------------------------------------------------------------------------------
/exercises/ex5/images/create_dev_5_role_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/create_dev_5_role_2.png
--------------------------------------------------------------------------------
/exercises/ex5/images/create_dev_5_role_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/create_dev_5_role_3.png
--------------------------------------------------------------------------------
/exercises/ex5/images/create_dev_5_role_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/create_dev_5_role_4.png
--------------------------------------------------------------------------------
/exercises/ex5/images/create_role.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/create_role.png
--------------------------------------------------------------------------------
/exercises/ex5/images/create_role_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/create_role_2.png
--------------------------------------------------------------------------------
/exercises/ex5/images/create_service_binding.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/create_service_binding.png
--------------------------------------------------------------------------------
/exercises/ex5/images/create_service_binding_wrapper.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/create_service_binding_wrapper.png
--------------------------------------------------------------------------------
/exercises/ex5/images/create_service_definition.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/create_service_definition.png
--------------------------------------------------------------------------------
/exercises/ex5/images/create_service_role.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/create_service_role.png
--------------------------------------------------------------------------------
/exercises/ex5/images/create_service_role_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/create_service_role_2.png
--------------------------------------------------------------------------------
/exercises/ex5/images/create_user.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/create_user.png
--------------------------------------------------------------------------------
/exercises/ex5/images/create_user_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/create_user_2.png
--------------------------------------------------------------------------------
/exercises/ex5/images/create_user_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/create_user_3.png
--------------------------------------------------------------------------------
/exercises/ex5/images/create_user_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/create_user_4.png
--------------------------------------------------------------------------------
/exercises/ex5/images/create_variant.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/create_variant.png
--------------------------------------------------------------------------------
/exercises/ex5/images/create_variant_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/create_variant_2.png
--------------------------------------------------------------------------------
/exercises/ex5/images/create_variant_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/create_variant_3.png
--------------------------------------------------------------------------------
/exercises/ex5/images/create_variant_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/create_variant_4.png
--------------------------------------------------------------------------------
/exercises/ex5/images/create_variant_5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/create_variant_5.png
--------------------------------------------------------------------------------
/exercises/ex5/images/create_variant_6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/create_variant_6.png
--------------------------------------------------------------------------------
/exercises/ex5/images/create_variant_role.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/create_variant_role.png
--------------------------------------------------------------------------------
/exercises/ex5/images/create_variant_role_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/create_variant_role_2.png
--------------------------------------------------------------------------------
/exercises/ex5/images/create_variant_role_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/create_variant_role_3.png
--------------------------------------------------------------------------------
/exercises/ex5/images/create_variant_role_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/create_variant_role_4.png
--------------------------------------------------------------------------------
/exercises/ex5/images/create_variant_role_4_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/create_variant_role_4_2.png
--------------------------------------------------------------------------------
/exercises/ex5/images/create_variant_role_5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/create_variant_role_5.png
--------------------------------------------------------------------------------
/exercises/ex5/images/create_variant_role_6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/create_variant_role_6.png
--------------------------------------------------------------------------------
/exercises/ex5/images/create_variant_role_7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/create_variant_role_7.png
--------------------------------------------------------------------------------
/exercises/ex5/images/do_not_check_missing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/do_not_check_missing.png
--------------------------------------------------------------------------------
/exercises/ex5/images/do_not_check_option.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/do_not_check_option.png
--------------------------------------------------------------------------------
/exercises/ex5/images/generate_profile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/generate_profile.png
--------------------------------------------------------------------------------
/exercises/ex5/images/generate_profile_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/generate_profile_2.png
--------------------------------------------------------------------------------
/exercises/ex5/images/maintain_auth_data.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/maintain_auth_data.png
--------------------------------------------------------------------------------
/exercises/ex5/images/open_role.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/open_role.png
--------------------------------------------------------------------------------
/exercises/ex5/images/open_service_binding.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/open_service_binding.png
--------------------------------------------------------------------------------
/exercises/ex5/images/open_service_binding_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/open_service_binding_2.png
--------------------------------------------------------------------------------
/exercises/ex5/images/remove_roles.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/remove_roles.png
--------------------------------------------------------------------------------
/exercises/ex5/images/unreleased_auth_obj_su22.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/exercises/ex5/images/unreleased_auth_obj_su22.png
--------------------------------------------------------------------------------
/images/3-tier-extmodel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/images/3-tier-extmodel.png
--------------------------------------------------------------------------------
/images/shoppingcart01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SAP-samples/abap-platform-rap640/6d2b12de15aeb4410f558cd85e3eb4256f91fa36/images/shoppingcart01.png
--------------------------------------------------------------------------------
/src/package.devc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Z version of conversion class
7 | X
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/src/zcl_conversion_ext_int clas.apis.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ZCL_CONVERSION_EXT_INT
7 | CLAS
8 | ZCL_CONVERSION_EXT_INT
9 |
10 |
11 | CLAS
12 | ZCL_CONVERSION_EXT_INT
13 | C1
14 | RELEASED
15 | X
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/src/zcl_conversion_ext_int.clas.abap:
--------------------------------------------------------------------------------
1 | CLASS zcl_conversion_ext_int DEFINITION
2 | PUBLIC
3 | FINAL
4 | CREATE PRIVATE .
5 |
6 | PUBLIC SECTION.
7 |
8 | INTERFACES zif_conversion_ext_int .
9 |
10 | CLASS-DATA mo_instance TYPE REF TO zcl_conversion_ext_int READ-ONLY.
11 |
12 | CLASS-METHODS:
13 | "! Factory method to create a new conversion for BAPI consumption instance
14 | "! @parameter ro_instance | Conversion for BAPI consumption instance
15 | "! @raising ZCX_conversion_ext_int | Conversion for BAPI consumption exception
16 | get_instance
17 | RETURNING
18 | VALUE(ro_instance) TYPE REF TO zif_conversion_ext_int "cl_conversion_ext_int
19 | RAISING
20 | zcx_conversion_ext_int.
21 |
22 | PROTECTED SECTION.
23 | PRIVATE SECTION.
24 |
25 | ENDCLASS.
26 |
27 |
28 |
29 | CLASS zcl_conversion_ext_int IMPLEMENTATION.
30 |
31 | METHOD zif_conversion_ext_int~currency_amount_ext_to_int.
32 |
33 | CALL FUNCTION 'CURRENCY_AMOUNT_BAPI_TO_SAP'
34 | EXPORTING
35 | currency = currency
36 | bapi_amount = bapi_amount
37 | IMPORTING
38 | sap_amount = sap_amount
39 | EXCEPTIONS
40 | bapi_amount_incorrect = 1.
41 | CASE sy-subrc .
42 | WHEN 0.
43 | WHEN 1.
44 | RAISE EXCEPTION TYPE ZCX_conversion_ext_int
45 | EXPORTING
46 | textid = ZCX_conversion_ext_int=>bapi_amount_incorrect.
47 | ENDCASE.
48 |
49 | ENDMETHOD.
50 |
51 |
52 | METHOD zif_conversion_ext_int~currency_amount_int_to_ext.
53 | CALL FUNCTION 'CURRENCY_AMOUNT_SAP_TO_BAPI'
54 | EXPORTING
55 | currency = currency
56 | sap_amount = sap_amount
57 | IMPORTING
58 | bapi_amount = bapi_amount.
59 | ENDMETHOD.
60 |
61 |
62 | METHOD zif_conversion_ext_int~currency_code_ext_to_int.
63 | * DATA unique TYPE calltrans2.
64 | CALL FUNCTION 'CURRENCY_CODE_ISO_TO_SAP'
65 | EXPORTING
66 | iso_code = iso_code
67 | IMPORTING
68 | sap_code = sap_code
69 | unique = is_unique
70 | EXCEPTIONS
71 | not_found = 1.
72 |
73 | CASE sy-subrc.
74 | WHEN 0.
75 | WHEN 1.
76 | RAISE EXCEPTION TYPE ZCX_conversion_ext_int
77 | EXPORTING
78 | textid = ZCX_conversion_ext_int=>value_not_found
79 | attr1 = |{ iso_code }|.
80 | ENDCASE.
81 | ENDMETHOD.
82 |
83 |
84 | METHOD zif_conversion_ext_int~currency_code_int_to_ext.
85 |
86 | CALL FUNCTION 'CURRENCY_CODE_SAP_TO_ISO'
87 | EXPORTING
88 | sap_code = sap_code
89 | * no_msg_repetition =
90 | * no_msg_output =
91 | IMPORTING
92 | iso_code = iso_code
93 | * not_allowed =
94 | * msg_out =
95 | EXCEPTIONS
96 | not_found = 1.
97 | CASE sy-subrc.
98 | WHEN 0.
99 | WHEN 1.
100 | RAISE EXCEPTION TYPE ZCX_conversion_ext_int
101 | EXPORTING
102 | textid = ZCX_conversion_ext_int=>value_not_found
103 | attr1 = |{ sap_code }|.
104 | ENDCASE.
105 |
106 |
107 | ENDMETHOD.
108 |
109 |
110 | METHOD zif_conversion_ext_int~language_code_ext_to_int.
111 |
112 | CALL FUNCTION 'LANGUAGE_CODE_ISO_TO_SAP'
113 | EXPORTING
114 | iso_code = iso_code
115 | IMPORTING
116 | sap_code = sap_code
117 | EXCEPTIONS
118 | not_found = 1.
119 |
120 | CASE sy-subrc.
121 | WHEN 0.
122 | WHEN 1.
123 | RAISE EXCEPTION TYPE ZCX_conversion_ext_int
124 | EXPORTING
125 | textid = ZCX_conversion_ext_int=>value_not_found
126 | attr1 = |{ iso_code }|.
127 | ENDCASE.
128 |
129 | ENDMETHOD.
130 |
131 |
132 | METHOD zif_conversion_ext_int~language_code_int_to_ext.
133 |
134 | CALL FUNCTION 'LANGUAGE_CODE_SAP_TO_ISO'
135 | EXPORTING
136 | sap_code = sap_code
137 | IMPORTING
138 | iso_code = iso_code
139 | EXCEPTIONS
140 | not_found = 1.
141 | CASE sy-subrc.
142 | WHEN 0.
143 | WHEN 1.
144 | RAISE EXCEPTION TYPE ZCX_conversion_ext_int
145 | EXPORTING
146 | textid = ZCX_conversion_ext_int=>value_not_found
147 | attr1 = |{ sap_code }|.
148 | ENDCASE.
149 |
150 |
151 | ENDMETHOD.
152 |
153 |
154 | METHOD zif_conversion_ext_int~unit_of_measure_ext_to_int.
155 |
156 | CALL FUNCTION 'cl_abap_unit_assert=>fail( msg = |sap_code { lv_sap_code } should not exist| ).UNIT_OF_MEASURE_ISO_TO_SAP'
157 | EXPORTING
158 | iso_code = iso_code
159 | IMPORTING
160 | sap_code = sap_code
161 | unique = unique
162 | EXCEPTIONS
163 | not_found = 1.
164 | CASE sy-subrc.
165 | WHEN 0.
166 | WHEN 1.
167 | RAISE EXCEPTION TYPE ZCX_conversion_ext_int
168 | EXPORTING
169 | textid = ZCX_conversion_ext_int=>value_not_found
170 | attr1 = |{ sap_code }|.
171 |
172 | ENDCASE.
173 |
174 | ENDMETHOD.
175 |
176 |
177 | METHOD zif_conversion_ext_int~unit_of_measure_int_to_ext.
178 |
179 | CALL FUNCTION 'UNIT_OF_MEASURE_SAP_TO_ISO'
180 | EXPORTING
181 | sap_code = sap_code
182 | IMPORTING
183 | iso_code = iso_code
184 | EXCEPTIONS
185 | not_found = 1
186 | no_iso_code = 2.
187 | CASE sy-subrc.
188 | WHEN 0.
189 | WHEN 1.
190 | RAISE EXCEPTION TYPE ZCX_conversion_ext_int
191 | EXPORTING
192 | textid = ZCX_conversion_ext_int=>value_not_found
193 | attr1 = |{ sap_code }|.
194 | WHEN 2.
195 | RAISE EXCEPTION TYPE ZCX_conversion_ext_int
196 | EXPORTING
197 | textid = ZCX_conversion_ext_int=>no_iso_code_maintained
198 | attr1 = |{ iso_code }|.
199 | ENDCASE.
200 |
201 | ENDMETHOD.
202 |
203 |
204 |
205 | METHOD get_instance.
206 |
207 | IF mo_instance IS INITIAL.
208 | mo_instance = NEW zcl_conversion_ext_int( ).
209 | ENDIF.
210 |
211 | ro_instance = mo_instance.
212 |
213 | ENDMETHOD.
214 |
215 | ENDCLASS.
216 |
--------------------------------------------------------------------------------
/src/zcl_conversion_ext_int.clas.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ZCL_CONVERSION_EXT_INT
7 | E
8 | zcl_conversion_ext_int
9 | 1
10 | X
11 | X
12 | X
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/zcm_conv_ext_int.msag.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ZCM_CONV_EXT_INT
7 | E
8 | ZCM_CONV_EXT_INT
9 |
10 |
11 |
12 | E
13 | ZCM_CONV_EXT_INT
14 | 000
15 | Incorrect BAPI amount.
16 |
17 |
18 | E
19 | ZCM_CONV_EXT_INT
20 | 010
21 | Value &1 not found.
22 |
23 |
24 | E
25 | ZCM_CONV_EXT_INT
26 | 020
27 | No ISO code maintained for SAP code &1.
28 |
29 |
30 | E
31 | ZCM_CONV_EXT_INT
32 | 030
33 | Other error: &1 : &2
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/src/zcx_conversion_ext_int clas.apis.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ZCX_CONVERSION_EXT_INT
7 | CLAS
8 | ZCX_CONVERSION_EXT_INT
9 |
10 |
11 | CLAS
12 | ZCX_CONVERSION_EXT_INT
13 | C1
14 | RELEASED
15 | X
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/src/zcx_conversion_ext_int.clas.abap:
--------------------------------------------------------------------------------
1 | CLASS zcx_conversion_ext_int DEFINITION
2 | PUBLIC
3 | INHERITING FROM cx_static_check "cx_xco_runtime_exception
4 | FINAL
5 | CREATE PUBLIC .
6 |
7 | *CX_STATIC_CHECK and implementing the interface IF_T100_DYN_MSG.
8 |
9 | PUBLIC SECTION.
10 |
11 | INTERFACES if_t100_dyn_msg.
12 |
13 | CONSTANTS:
14 | gc_msgid TYPE symsgid VALUE 'ZCM_CONV_EXT_INT',
15 |
16 | BEGIN OF bapi_amount_incorrect,
17 | msgid TYPE symsgid VALUE 'CM_CONV_EXT_INT',
18 | msgno TYPE symsgno VALUE '000',
19 | attr1 TYPE scx_attrname VALUE 'attr1',
20 | attr2 TYPE scx_attrname VALUE 'attr2',
21 | attr3 TYPE scx_attrname VALUE 'attr3',
22 | attr4 TYPE scx_attrname VALUE 'attr4',
23 | END OF bapi_amount_incorrect
24 | ,
25 | BEGIN OF value_not_found,
26 | msgid TYPE symsgid VALUE 'ZCM_CONV_EXT_INT',
27 | msgno TYPE symsgno VALUE '010',
28 | attr1 TYPE scx_attrname VALUE 'attr1',
29 | attr2 TYPE scx_attrname VALUE '',
30 | attr3 TYPE scx_attrname VALUE '',
31 | attr4 TYPE scx_attrname VALUE '',
32 | END OF value_not_found
33 | ,
34 | BEGIN OF no_iso_code_maintained,
35 | msgid TYPE symsgid VALUE 'ZCM_CONV_EXT_INT',
36 | msgno TYPE symsgno VALUE '020',
37 | attr1 TYPE scx_attrname VALUE 'attr1',
38 | attr2 TYPE scx_attrname VALUE 'attr2',
39 | attr3 TYPE scx_attrname VALUE 'attr3',
40 | attr4 TYPE scx_attrname VALUE 'attr4',
41 | END OF no_iso_code_maintained
42 | ,
43 | BEGIN OF other_error,
44 | msgid TYPE symsgid VALUE 'ZCM_CONV_EXT_INT',
45 | msgno TYPE symsgno VALUE '030',
46 | attr1 TYPE scx_attrname VALUE 'attr1',
47 | attr2 TYPE scx_attrname VALUE 'attr2',
48 | attr3 TYPE scx_attrname VALUE 'attr3',
49 | attr4 TYPE scx_attrname VALUE 'attr4',
50 | END OF other_error
51 | .
52 |
53 |
54 | DATA attr1 TYPE string.
55 | DATA attr2 TYPE string.
56 |
57 | CLASS-METHODS class_constructor .
58 | METHODS constructor
59 | IMPORTING
60 | !textid LIKE if_t100_message=>t100key OPTIONAL
61 | * !previous LIKE previous OPTIONAL
62 | !attr1 TYPE string OPTIONAL
63 | !attr2 TYPE string OPTIONAL .
64 |
65 |
66 | PROTECTED SECTION.
67 | PRIVATE SECTION.
68 | ENDCLASS.
69 |
70 |
71 |
72 | CLASS zcx_conversion_ext_int IMPLEMENTATION.
73 |
74 | METHOD class_constructor.
75 | ENDMETHOD.
76 |
77 |
78 | METHOD constructor ##ADT_SUPPRESS_GENERATION.
79 |
80 | super->constructor(
81 | * textid = textid
82 | * previous =
83 | ).
84 |
85 | me->attr1 = attr1.
86 | me->attr2 = attr2.
87 |
88 | CLEAR me->textid.
89 | IF textid IS INITIAL.
90 | if_t100_message~t100key = if_t100_message=>default_textid.
91 | ELSE.
92 | if_t100_message~t100key = textid.
93 | ENDIF.
94 |
95 | ENDMETHOD.
96 |
97 | ENDCLASS.
98 |
--------------------------------------------------------------------------------
/src/zcx_conversion_ext_int.clas.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ZCX_CONVERSION_EXT_INT
7 | E
8 | zcx_conversion_ext_int
9 | 40
10 | 1
11 | X
12 | X
13 | X
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/src/zif_conversion_ext_int intf.apis.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ZIF_CONVERSION_EXT_INT
7 | INTF
8 | ZIF_CONVERSION_EXT_INT
9 |
10 |
11 | INTF
12 | ZIF_CONVERSION_EXT_INT
13 | C1
14 | RELEASED
15 | X
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/src/zif_conversion_ext_int.intf.abap:
--------------------------------------------------------------------------------
1 | "!
2 | "! ABAP Cloud API for conversions: Methods
3 | "!
4 | "!
5 | "! Conversion routines for central data entities for BAPI consumption.
6 | INTERFACE zif_conversion_ext_int
7 | PUBLIC .
8 |
9 | METHODS:
10 | "! Translates ISO currency key into the SAP internal currency key.
11 | "!
12 | "! @parameter iso_code | ISO code for the currency
13 | "! @parameter sap_code | SAP internal code for the currency
14 | "! @parameter is_unique | Is there only one SAP code for the ISO code provided?
15 | currency_code_ext_to_int
16 | IMPORTING
17 | VALUE(iso_code) TYPE isocd
18 | EXPORTING
19 | VALUE(sap_code) TYPE waers_curc
20 | VALUE(is_unique) TYPE abap_bool
21 | RAISING ZCX_conversion_ext_int ,
22 |
23 | "! Translates a SAP internal country key into the ISO code
24 | "!
25 | "! @parameter sap_code | SAP internal code for the currency
26 | "! @parameter iso_code | ISO code for the currency
27 | currency_code_int_to_ext
28 | IMPORTING
29 | VALUE(sap_code) TYPE waers_curc
30 | EXPORTING
31 | VALUE(iso_code) TYPE isocd
32 | RAISING ZCX_conversion_ext_int ,
33 |
34 | "! Translates the external amount into the SAP internal amount.
35 | "!
36 | "! @parameter currency | ISO code for the currency
37 | "! @parameter bapi_amount | External format of the amount
38 | "! @parameter sap_amount | SAP internal format of the amount
39 | currency_amount_ext_to_int
40 | IMPORTING
41 | VALUE(currency) TYPE waers_curc
42 | VALUE(bapi_amount) TYPE bapicurr_d
43 | EXPORTING
44 | VALUE(sap_amount) TYPE bapicurr_d
45 | RAISING ZCX_conversion_ext_int ,
46 |
47 | "! Translates the SAP internal amount into the amount in the external format.
48 | "!
49 | "! @parameter currency | ISO code for the currency
50 | "! @parameter sap_amount | SAP internal format of the amount
51 | "! @parameter bapi_amount | External format of the amount
52 | currency_amount_int_to_ext
53 | IMPORTING
54 | VALUE(currency) TYPE waers_curc
55 | VALUE(sap_amount) TYPE bapicurr_d
56 | EXPORTING
57 | VALUE(bapi_amount) TYPE bapicurr_d
58 | RAISING ZCX_conversion_ext_int ,
59 |
60 | "! Translates the ISO code for the language into the SAP internal format.
61 | "!
62 | "! @parameter iso_code | ISO code for the language
63 | "! @parameter sap_code | SAP code for the language
64 | language_code_ext_to_int
65 | IMPORTING
66 | VALUE(iso_code) TYPE laiso
67 | EXPORTING
68 | VALUE(sap_code) TYPE spras
69 | RAISING ZCX_conversion_ext_int ,
70 |
71 | "! Translates the SAP internal code for the language into the ISO Code.
72 | "!
73 | "! @parameter sap_code | SAP code for the language
74 | "! @parameter iso_code | ISO code for the language
75 | language_code_int_to_ext
76 | IMPORTING
77 | VALUE(sap_code) TYPE spras
78 | EXPORTING
79 | VALUE(iso_code) TYPE laiso
80 | RAISING ZCX_conversion_ext_int ,
81 |
82 | "! Translates the ISO code for the unit of measure into the SAP internal format.
83 | "!
84 | "! @parameter iso_code | ISO code for the unit of measure
85 | "! @parameter sap_code | SAP code for the unit of measure
86 | "! @parameter unique | Boolean value indicating if more than one SAP code is mapped to the ISO code
87 | unit_of_measure_ext_to_int
88 | IMPORTING
89 | VALUE(iso_code) TYPE isocd_unit
90 | EXPORTING
91 | VALUE(sap_code) TYPE msehi
92 | VALUE(unique) TYPE xfeld
93 | RAISING ZCX_conversion_ext_int ,
94 |
95 | "! Translates the SAP internal code for the unit of measure into the ISO code.
96 | "!
97 | "! @parameter sap_code | SAP code for the unit of measure
98 | "! @parameter iso_code | ISO code for the unit of measure
99 | unit_of_measure_int_to_ext
100 | IMPORTING
101 | VALUE(sap_code) TYPE msehi
102 | EXPORTING
103 | VALUE(iso_code) TYPE isocd_unit
104 | RAISING ZCX_conversion_ext_int.
105 |
106 | ENDINTERFACE.
107 |
--------------------------------------------------------------------------------
/src/zif_conversion_ext_int.intf.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ZIF_CONVERSION_EXT_INT
7 | E
8 | ABAP Cloud API for conversions: Methods
9 | 2
10 | 1
11 | X
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------