├── 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 | [![REUSE status](https://api.reuse.software/badge/github.com/SAP-samples/abap-platform-rap640)](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 | Shopping Cart  App 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 | 3-tier extensibility model 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 | Scenario overview 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 | BAPI explorer 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 | BAPI explorer - Tools 42 | 43 | 44 | BAPI explorer - Function Builder 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 | Create Tier 2 package 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 | Create Tier 2 package 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 | Start ACO_PROXY 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 | Select optional parameters 1 138 | 139 | Select optional parameters 2 140 | 141 | Select optional parameters 3 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 | Create test package 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 | Create test class 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 | Console application language 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 | Console output test class 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 | table 39 | 40 | 2. Search for **database table**, select it and click **Next >**. 41 | 42 | 43 | table 44 | 45 | 3. Create new database table: 46 | - Name: `ZSHOPCART_### ` 47 | - Description: Shopping cart table 48 | 49 | 50 | table 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 | Generate Repository Objects 104 | 105 | 2. In the **Select Generator** screen choose the generator: 106 | - Generator: **ABAP RESTful Application Programming Model: UI Service** 107 | 108 | 109 | Select Generator 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 | Enter package name 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 | Enter package name 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 | cds 148 | 149 | Click **Next >**. 150 | 151 | 5. Click **Finish**. 152 | 153 | 154 | cds 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 | adapt BDEF 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 | ![binding](images/generator5.png) 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 | ![preview](images/generator6.png) 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 | --------------------------------------------------------------------------------