{"id":44,"date":"2026-01-07T15:39:48","date_gmt":"2026-01-07T15:39:48","guid":{"rendered":"https:\/\/roskhe.com\/index.php\/case-solutions\/"},"modified":"2026-01-14T16:47:32","modified_gmt":"2026-01-14T16:47:32","slug":"case-solutions","status":"publish","type":"page","link":"https:\/\/roskhe.com\/index.php\/case-solutions\/","title":{"rendered":"Case Solutions"},"content":{"rendered":"\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><\/div>\n<\/div>\n\n\n\n<h1 class=\"wp-block-heading alignwide has-text-align-center\">Case Solutions<\/h1>\n\n\n\n<div class=\"wp-block-cover alignwide is-light has-ti-bg-color has-text-color has-link-color wp-elements-dff1be370c4142e348e6b5d9abec005c\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"575\" class=\"wp-block-cover__image-background wp-image-52\" alt=\"\" src=\"https:\/\/roskhe.com\/wp-content\/uploads\/2026\/01\/case_solutions-1-1024x575.jpg\" data-object-fit=\"cover\" srcset=\"https:\/\/roskhe.com\/wp-content\/uploads\/2026\/01\/case_solutions-1-1024x575.jpg 1024w, https:\/\/roskhe.com\/wp-content\/uploads\/2026\/01\/case_solutions-1-300x169.jpg 300w, https:\/\/roskhe.com\/wp-content\/uploads\/2026\/01\/case_solutions-1-768x431.jpg 768w, https:\/\/roskhe.com\/wp-content\/uploads\/2026\/01\/case_solutions-1-1536x863.jpg 1536w, https:\/\/roskhe.com\/wp-content\/uploads\/2026\/01\/case_solutions-1-2048x1151.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><span aria-hidden=\"true\" class=\"wp-block-cover__background has-background-dim-30 has-background-dim\"><\/span><div class=\"wp-block-cover__inner-container is-layout-flow wp-block-cover-is-layout-flow\">\n<p class=\"has-text-align-center has-large-font-size\">Here we showcase real\u2011world success stories, highlighting the technologies we used and the high\u2011level approach we took to solve each challenge.<\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group has-ti-bg-color has-text-color has-background has-link-color wp-elements-363a8d933c47e269ce43b30a4f921434 is-vertical is-layout-flex wp-container-core-group-is-layout-fe9cc265 wp-block-group-is-layout-flex\" style=\"background-color:#006d77\">\n<h3 class=\"wp-block-heading\">RAP List Report with Excel Upload<\/h3>\n\n\n\n<p>RAP (RESTful ABAP Programming) list reports let you display large datasets as pageable, filterable tables built on CDS views and OData services. By adding an Excel\u2011upload feature, users can import bulk data directly into the underlying table via a predefined template. The UI (Fiori Elements) presents an \u201cUpload\u201d button, parses the Excel file and sends it to the backend (ABAP) for further processing. Errors are reported per row, allowing correction before the data is saved, streamlining mass\u2011maintenance while preserving RAP\u2019s transactional consistency and authorization checks.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-ti-bg-color has-text-color has-background has-link-color wp-elements-a8c41cde79652e27a3960e50939f4161 is-vertical is-layout-flex wp-container-core-group-is-layout-fe9cc265 wp-block-group-is-layout-flex\" style=\"background-color:#152e45\">\n<h3 class=\"wp-block-heading\">Custom flexible Workflow<\/h3>\n\n\n\n<p>A custom flexible workflow for EHS chemical changes captures any modification to chemical master data and triggers automated email notifications. Administrators define trigger fields (e.g., hazard class, regulatory status) in the app; when those fields are updated, the workflow starts. It evaluates the change, selects recipients based on role, user, or custom rules, and sends a templated email containing the altered values, justification, and links to the record. Users can configure additional approvers or escalation paths, ensuring compliance tracking and timely communication while leveraging SAP Business Workflow\u2019s extensibility and notification services.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-background is-vertical is-layout-flex wp-container-core-group-is-layout-fe9cc265 wp-block-group-is-layout-flex\" style=\"background-color:#4fa8c5\">\n<h3 class=\"wp-block-heading\">APIs OData V2 and V4<\/h3>\n\n\n\n<p>Standard OData\u202fV2\/V4 APIs expose SAP business objects via REST. Enhancing them involves extending generated service metadata, adding custom fields, actions, or filters while preserving backward compatibility. When the system supports RAP, you create a custom RAP\u2011based OData service (V2 or V4 depending on the release) that implements the same entity sets but leverages RAP\u2019s CDS\u2011driven modeling, transactional handling, and draft support. Additionally, RAP can encapsulate BOPF (Business Object Processing Framework) objects, exposing their methods through the OData service while keeping BOPF\u2019s lifecycle, validation, and authorization logic intact, thus unifying classic BOPF and modern RAP paradigms.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-ti-bg-color has-text-color has-background has-link-color wp-elements-1c0f7ba0a4c3c9d29d6641de1ecf5938 is-vertical is-layout-flex wp-container-core-group-is-layout-fe9cc265 wp-block-group-is-layout-flex\" style=\"background-color:#006d77\">\n<h3 class=\"wp-block-heading\">UI5 custom libraries<\/h3>\n\n\n\n<p>Custom UI5 libraries bundle reusable components, models, and utilities into a modular package that can be shared across multiple applications. Developers create a library project (e.g., <code>my.company.lib<\/code>) with its own namespace, defining controls (XML\/JS), formatter functions, and data\u2011binding helpers. The library\u2019s <code>manifest.json<\/code> declares dependencies, version, and exported modules. Apps then add the library as a dependency in their <code>manifest.json<\/code>, import its controls, and inherit consistent styling and behavior. This approach reduces duplication, eases maintenance, and ensures uniform UX across related SAP UI5 apps.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-ti-bg-color has-text-color has-background has-link-color wp-elements-52575cae6e9f56c168c53c26bec29af0 is-vertical is-layout-flex wp-container-core-group-is-layout-fe9cc265 wp-block-group-is-layout-flex\" style=\"background-color:#152e45\">\n<h3 class=\"wp-block-heading\">Enhancing Standard Apps<\/h3>\n\n\n\n<p>Enhancing classic SAP GUI transactions can be done traditionally with BADIs, screen exits, or enhancements to insert custom logic and UI elements. Modern approaches replace or complement these by adding custom fields via the Fiori \u201cCustom Fields and Logic\u201d app, creating CDS view extensions to enrich data models, and implementing UI5 extensions (view\u2011or\u2011controller or component\u2011based) to overlay new controls on existing SAP Fiori screens. Together, these techniques cover all enhancement paths: legacy ABAP hooks for deep backend changes, and contemporary SAP\u202fUI5\/CDS\/Fiori methods for flexible, UI\u2011centric extensions that preserve upgrade compatibility and deliver a consistent user experience.<\/p>\n<\/div>\n<\/div>\n\n\n\n<div id=\"makeiteasy-back-to-top\" data-smooth-scroll=\"false\" data-enable-on-desktop=\"true\" data-break-point-mobile-desktop=\"768\" data-go-to-bottom=\"false\" style=\"--makeiteasy-back-to-top-opacity:0.7;--makeiteasy-back-to-top-visibility-transition-duration:0.3s;--makeiteasy-back-to-top-right:30px;--makeiteasy-back-to-top-bottom:30px\" class=\"wp-block-makeiteasy-back-to-top\">\n<div class=\"wp-block-button is-style-fill\"><a class=\"wp-block-button__link has-background wp-element-button\" style=\"border-radius:9px;background-color:#006d77;padding-top:12px;padding-right:12px;padding-bottom:12px;padding-left:12px\"><img loading=\"lazy\" decoding=\"async\" width=\"24\" height=\"24\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCA5NiA0ODAgMjgzIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im00MyAzNzktNDMtNDMgMjQwLTI0MCAyNDAgMjQwLTQzIDQzLTE5Ny0xOTd6IiBmaWxsPSIjZmZmIi8+PC9zdmc+Cg==\" alt=\"Back to top arrow\"><\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Case Solutions RAP List Report with Excel Upload RAP (RESTful ABAP Programming) list reports let you display large datasets as pageable, filterable tables built on CDS views and OData services. By adding an Excel\u2011upload feature, users can import bulk data directly into the underlying table via a predefined template. The UI (Fiori Elements) presents an [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":47,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template-plain","meta":{"footnotes":""},"class_list":["post-44","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/roskhe.com\/index.php\/wp-json\/wp\/v2\/pages\/44","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/roskhe.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/roskhe.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/roskhe.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/roskhe.com\/index.php\/wp-json\/wp\/v2\/comments?post=44"}],"version-history":[{"count":19,"href":"https:\/\/roskhe.com\/index.php\/wp-json\/wp\/v2\/pages\/44\/revisions"}],"predecessor-version":[{"id":144,"href":"https:\/\/roskhe.com\/index.php\/wp-json\/wp\/v2\/pages\/44\/revisions\/144"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/roskhe.com\/index.php\/wp-json\/wp\/v2\/media\/47"}],"wp:attachment":[{"href":"https:\/\/roskhe.com\/index.php\/wp-json\/wp\/v2\/media?parent=44"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}