{"id":225,"date":"2026-09-12T15:28:14","date_gmt":"2026-09-12T15:28:14","guid":{"rendered":"https:\/\/agileassetreliabilitysolutions.com\/s4hana-fiori-activation-runbook\/"},"modified":"2026-09-12T16:04:25","modified_gmt":"2026-09-12T16:04:25","slug":"s4hana-fiori-activation-runbook","status":"publish","type":"post","link":"https:\/\/agileassetreliabilitysolutions.com\/en\/s4hana-fiori-activation-runbook\/","title":{"rendered":"Activating Fiori on S\/4HANA 2025: a six-phase runbook"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.8&#8243; background_color=&#8221;#FBF9FC&#8221; custom_padding=&#8221;40px||60px||false|false&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row module_class=&#8221;aars-row&#8221; _builder_version=&#8221;4.27.8&#8243; width=&#8221;92%&#8221; max_width=&#8221;1140px&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.8&#8243; global_colors_info=&#8221;{}&#8221;][et_pb_code _builder_version=&#8221;4.27.8&#8243; global_colors_info=&#8221;{}&#8221;]<\/p>\n<style>.rb{font-family:Literata,Georgia,serif;color:#4A4553;font-size:17px;line-height:1.75}.rb h1,.rb h2,.rb h3,.rb h4{font-family:Archivo,Helvetica,Arial,sans-serif;color:#16111C;letter-spacing:-.025em;line-height:1.12;margin:0}.rb .masthead{border-bottom:2px solid #16111C;padding-bottom:1.4rem;margin-bottom:1.8rem;display:flex;flex-wrap:wrap;gap:1.4rem;justify-content:space-between;align-items:flex-end}.rb .masthead h1{font-size:clamp(1.9rem,4.4vw,2.9rem);font-weight:800;letter-spacing:-.035em}.rb .masthead h1 em{display:block;font-style:normal;color:#B026D9}.rb .stamp{font-family:Archivo,sans-serif;font-size:.8rem;line-height:1.7;color:#4A4553;text-align:right}.rb .stamp b{color:#16111C}.rb .lede p{font-size:1.1rem;max-width:78ch;margin:0 0 1.1rem}.rb p{max-width:78ch;margin:0 0 1rem}.rb section{margin:2.6rem 0 0;padding-top:1.6rem;border-top:1px solid #DFD8E6}.rb .eyebrow{font-family:Archivo,sans-serif;font-size:.78rem;font-weight:600;color:#B026D9;margin:0 0 .5rem}.rb h2{font-size:1.65rem;font-weight:700;margin-bottom:1.1rem}.rb h3{font-size:1.08rem;font-weight:700;margin-bottom:.35rem}.rb h4{font-size:.98rem;font-weight:700;margin-bottom:.3rem}.rb code,.rb .tcode{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em;background:#F3EFF7;border:1px solid #E7DCEE;border-radius:2px;padding:.08em .36em;color:#16111C;white-space:nowrap}.rb .tcode.plain{background:none;border:0;padding:0}.rb .rung{display:flex;gap:1.1rem;padding:.9rem 0;border-bottom:1px solid #DFD8E6}.rb .rung-spine{flex:0 0 auto}.rb .node{width:34px;height:34px;border-radius:50%;background:#16111C;color:#FBF9FC;font-family:Archivo,sans-serif;font-weight:700;font-size:.92rem;display:flex;align-items:center;justify-content:center}.rb .rung.is-ask .node{background:#B026D9}.rb .rung-body{flex:1 1 auto}.rb .rung-gate,.rb .phase-gate{font-family:Archivo,sans-serif;font-size:.82rem;color:#16111C;background:#F3EFF7;border-left:2px solid #B026D9;padding:.45rem .7rem;margin-top:.5rem;display:inline-block}.rb .rung-gate span,.rb .phase-gate span{font-weight:700;color:#B026D9;margin-right:.4rem}.rb .phase{margin-top:2.2rem;border-top:2px solid #16111C;padding-top:1.1rem}.rb .phase-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;margin-bottom:.8rem}.rb .phase-num{font-family:Archivo,sans-serif;font-weight:800;font-size:1.5rem;color:#B026D9;letter-spacing:-.03em}.rb .phase-count{font-family:Archivo,sans-serif;font-size:.8rem;color:#4A4553}.rb .step{padding:.95rem 0;border-bottom:1px solid #DFD8E6}.rb .step-body{max-width:82ch}.rb .expect{font-size:.94rem;color:#4A4553;border-left:2px solid #E27894;padding-left:.75rem;margin-top:.5rem}.rb .owner,.rb .layer,.rb .when{font-family:Archivo,sans-serif;font-size:.72rem;font-weight:600;color:#B026D9;border:1px solid #B026D9;border-radius:2px;padding:.06em .4em;margin-right:.35rem;white-space:nowrap}.rb .layer{color:#4A4553;border-color:#DFD8E6}.rb .callout{background:#F3EFF7;border-left:2px solid #B026D9;padding:1rem 1.1rem;margin:1.4rem 0}.rb .callout p:last-child{margin-bottom:0}.rb .split{display:grid;gap:1.4rem;margin:1.2rem 0}@media(min-width:760px){.rb .split{grid-template-columns:1fr 1fr}}.rb .panel{border-top:2px solid #16111C;padding-top:.9rem}.rb .panel.after{border-top-color:#B026D9}.rb ul{max-width:78ch;padding-left:1.15rem;margin:0 0 1rem}.rb li{margin-bottom:.4rem}.rb .mark{background:#F9E2EA;padding:0 .2em}.rb .stack{border:1px solid #DFD8E6;background:#fff;padding:1rem 1.1rem;margin:1rem 0}.rb .stack-note{font-size:.92rem;color:#4A4553}.rb table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.94rem}.rb td{border-bottom:1px solid #DFD8E6;padding:.55rem .6rem;vertical-align:top}.rb small{font-size:.86rem;color:#4A4553}<\/style>\n<div class=\"rb\">\n<div class=\"wrap\">\n<header class=\"masthead\">\n<h1>Fiori Activation<em>Runbook<\/em><\/h1>\n<div class=\"stamp\"> SYSTEM <b>S4H<\/b> \u00b7 CLIENT <b>100<\/b> \u00b7 INST <b>55<\/b><!\u2013- [et_pb_br_holder] -\u2013> &lt;host&gt;:44300<!\u2013- [et_pb_br_holder] -\u2013> SAP_BASIS <b>816<\/b> \u00b7 S\/4HANA 2025 \u00b7 SP 0000<!\u2013- [et_pb_br_holder] -\u2013><b>ALL 32 STEPS COMPLETE \u00b7 09 SEP 2026<\/b><\/div>\n<\/header>\n<div class=\"lede\"><pee><strong>Your sequence is right, with one split.<\/strong> Gateway and the workflow runtime genuinely do belong ahead of content activation \u2014 that is the documented order, not just a preference. Content activation assumes a working OData layer and writes catalogs, tiles and target mappings on top of it. Run it first and you get tiles pointing at services that were never started.<\/pee><pee><strong>My Inbox is the exception that splits in two.<\/strong> Its <em>backend<\/em> \u2014 the workflow runtime, the Task Gateway service, task visualisation \u2014 can and should be proved before activation. Its <em>tile<\/em> cannot: My Inbox is itself Fiori content, so the UI check only becomes possible in Phase 5. Phase 2 proves the data is reachable over OData without a launchpad at all.<\/pee><\/div>\n<section><pee class=\"eyebrow\">Dependency ladder \u2014 each rung consumes the one above<\/pee>\n<h2>Six phases, strict order<\/h2>\n<div class=\"ladder\">\n<div class=\"rung\">\n<div class=\"rung-spine\">\n<div class=\"node\">0<\/div>\n<\/div>\n<div class=\"rung-body\">\n<h3>Client &amp; transport frame<\/h3>\n<pee>Set change recording the way you want it, and pre-create the requests before anything asks for one mid-run.<\/pee>\n<div class=\"rung-gate\"><span>GATE<\/span> System change option modifiable \u00b7 two request numbers in hand<\/div>\n<\/div>\n<\/div>\n<div class=\"rung is-ask\">\n<div class=\"rung-spine\">\n<div class=\"node\">1<\/div>\n<\/div>\n<div class=\"rung-body\">\n<h3>Gateway &amp; OData foundation<\/h3>\n<pee>ICF tree, system alias, embedded Gateway, the two foundation task lists, certificate. Nothing above this rung works until it does.<\/pee>\n<div class=\"rung-gate\"><span>GATE<\/span> Catalog service returns 200 in GW_CLIENT \u00b7 error logs clean<\/div>\n<\/div>\n<\/div>\n<div class=\"rung is-ask\">\n<div class=\"rung-spine\">\n<div class=\"node\">2<\/div>\n<\/div>\n<div class=\"rung-body\">\n<h3>Workflow runtime &amp; Inbox services<\/h3>\n<pee>Close the remaining SWU3 reds, publish Task Gateway and the notification channel, then read your work item straight off the service.<\/pee>\n<div class=\"rung-gate\"><span>GATE<\/span> TaskCollection returns the verification work item<\/div>\n<\/div>\n<\/div>\n<div class=\"rung\">\n<div class=\"rung-spine\">\n<div class=\"node\">3<\/div>\n<\/div>\n<div class=\"rung-body\">\n<h3>Content activation<\/h3>\n<pee>The seven business roles, prefix Z, plus the create-and-assign-users tasks that were skipped last run.<\/pee>\n<div class=\"rung-gate\"><span>GATE<\/span> Run log shows 7 roles selected, no red rows<\/div>\n<\/div>\n<\/div>\n<div class=\"rung\">\n<div class=\"rung-spine\">\n<div class=\"node\">4<\/div>\n<\/div>\n<div class=\"rung-body\">\n<h3>Index &amp; cache<\/h3>\n<pee>Content exists but does not render until the app index is rebuilt and the caches are dropped.<\/pee>\n<div class=\"rung-gate\"><span>GATE<\/span> App index run finishes with zero inconsistencies<\/div>\n<\/div>\n<\/div>\n<div class=\"rung\">\n<div class=\"rung-spine\">\n<div class=\"node\">5<\/div>\n<\/div>\n<div class=\"rung-body\">\n<h3>Verify as a persona<\/h3>\n<pee>Log on as a generated Z-role user \u2014 never HANADEMO. SAP_ALL proves authorisation and proves nothing about content.<\/pee>\n<div class=\"rung-gate\"><span>GATE<\/span> Inbox tile, notification badge, search and one analytical app all live<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section><pee class=\"eyebrow\">Why the order is what it is<\/pee>\n<h2>The stack you are building<\/h2>\n<div class=\"stack\">\n<div class=\"layer top\">\n<div><b>Launchpad tiles the trainee sees<\/b><small>\/sap\/bc\/ui2\/flp<\/small><\/div>\n<p><span class=\"owner\">Phase 5<\/span><\/div>\n<div class=\"layer\">\n<div><b>App index \u00b7 client &amp; global caches<\/b><small>\/UI2\/APP_INDEX_CALCULATE<\/small><\/div>\n<p><span class=\"owner\">Phase 4<\/span><\/div>\n<div class=\"layer\">\n<div><b>Catalogs, groups, spaces, target mappings<\/b><small>generated Z-roles from SAP_BR_* templates<\/small><\/div>\n<p><span class=\"owner\">Phase 3<\/span><\/div>\n<div class=\"layer\">\n<div><b>Task Gateway &amp; notification channel<\/b><small>\/IWPGW\/TASKPROCESSING \u00b7 \/IWNGW\/*<\/small><\/div>\n<p><span class=\"owner\">Phase 2<\/span><\/div>\n<div class=\"layer\">\n<div><b>Workflow runtime<\/b><small>SAP_WFRT \u00b7 WORKFLOW_LOCAL_100 \u00b7 SAP_WORKFLOW_SYSTEM<\/small><\/div>\n<p><span class=\"owner\">Phase 2<\/span><\/div>\n<div class=\"layer\">\n<div><b>OData V2 \/ V4 services, system alias LOCAL<\/b><small>\/sap\/opu\/odata \u00b7 \/sap\/opu\/odata4<\/small><\/div>\n<p><span class=\"owner\">Phase 1<\/span><\/div>\n<div class=\"layer\">\n<div><b>ICF service tree &amp; HTTPS<\/b><small>\/sap\/bc\/ui5_ui5 \u00b7 \/sap\/bc\/ui2 \u00b7 \/sap\/bw\/ina \u00b7 STRUST<\/small><\/div>\n<p><span class=\"owner\">Phase 1<\/span><\/div>\n<\/div>\n<pee class=\"stack-note\">Read it bottom-up: every layer is only as good as the one beneath. Content activation writes the third layer from the top \u2014 which is exactly why running it first produced one activated role and an empty launchpad.<\/pee><\/section>\n<section><pee class=\"eyebrow\">The one thing that cannot sit entirely before activation<\/pee>\n<h2>My Inbox, split across the gate<\/h2>\n<div class=\"split\">\n<div class=\"panel before\">\n<div class=\"when\">Phase 2 \u2014 before activation<\/div>\n<h4>Prove the service<\/h4>\n<ul>\n<li>Workflow runtime green in SWU3, including the two remaining reds.<\/li>\n<li><code>SAP_WORKFLOW_SYSTEM<\/code> scheduled and running in client 000.<\/li>\n<li><code>\/IWPGW\/TASKPROCESSING<\/code> published against alias LOCAL.<\/li>\n<li>SWFVISU entries present for the flexible-workflow tasks.<\/li>\n<li><strong>The proof:<\/strong> GW_CLIENT reads <code>TaskCollection<\/code> and your verification work item comes back as JSON. No launchpad required.<\/li>\n<\/ul>\n<\/div>\n<div class=\"panel after\">\n<div class=\"when\">Phase 5 \u2014 after activation<\/div>\n<h4>Prove the tile<\/h4>\n<ul>\n<li>My Inbox tile appears on a generated Z-role user&#8217;s launchpad.<\/li>\n<li>The same work item is listed, opens, and shows its decision buttons.<\/li>\n<li>Notification badge counts it \u2014 the bell needs the APC push node live.<\/li>\n<li>Approve or reject completes the item and it leaves the list.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/section>\n<section><pee class=\"eyebrow\">Consequence of recording changes<\/pee>\n<h2>What transport recording costs you here<\/h2>\n<div class=\"callout\">\n<div class=\"mark\">NOTE<\/div>\n<div>\n<h4>Set the requests up before the task list runs, not during it<\/h4>\n<pee>With <em>Automatic recording of changes<\/em> on, the activation task lists will ask for a transport request as they write catalogs, groups and role assignments \u2014 and a task list running in background has no one to answer the popup. Create one Customizing request and one Workbench request in Phase 0, keep both numbers on screen, and fill them into the task parameters wherever a request field is offered. Run the first pass in dialog so anything unexpected can still be answered.<\/pee><pee>Keep cross-client changes set to <em>Changes to Repository and cross-client Customizing allowed<\/em>. ICF node and OData service activation are cross-client operations \u2014 restrict that setting and Phase 1 fails before it starts.<\/pee><\/div>\n<\/div>\n<\/section>\n<section><pee class=\"eyebrow\">Execution<\/pee>\n<div class=\"phase\">\n<div class=\"phase-head\"><span class=\"phase-num\">P0<\/span><\/p>\n<h3>Client and transport frame<\/h3>\n<p><span class=\"phase-count\">4 steps<\/span><\/div>\n<div class=\"phase-gate\"><b>Gate<\/b> Do not open a task list until the system is modifiable and both request numbers exist.<\/div>\n<ul class=\"steps\">\n<li class=\"step\"><span class=\"tcode\">SE06<\/span>\n<div class=\"step-body\"><pee>Open <em>System Change Option<\/em>. Global setting must be <em>Modifiable<\/em>, and the software components you will touch (SAP_BASIS, S4CORE, SAP_UI, plus namespace <code>\/UI2\/<\/code>, <code>\/IWFND\/<\/code>, <code>\/IWPGW\/<\/code>) must not be locked.<\/pee>\n<div class=\"expect\"><b>Expect<\/b> Global setting Modifiable; no component set to &#8220;not modifiable&#8221;.<\/div>\n<\/div>\n<\/li>\n<li class=\"step\"><span class=\"tcode\">SCC4<\/span>\n<div class=\"step-body\"><pee>Double-click client <strong>100<\/strong>. Set <em>Changes and Transports for Client-Specific Objects<\/em> to <strong>Automatic recording of changes<\/strong>. Set cross-client to <strong>Changes to Repository and cross-client Customizing allowed<\/strong>. Client role: <em>Customizing<\/em>.<\/pee>\n<div class=\"expect\"><b>Expect<\/b> Saved without a protection warning; client 100 shows role C.<\/div>\n<\/div>\n<\/li>\n<li class=\"step\"><span class=\"tcode\">SE10<\/span>\n<div class=\"step-body\"><pee>Create a <strong>Customizing request<\/strong> named <code>FIORI ACTIVATION CLNT 100<\/code> and a <strong>Workbench request<\/strong> named <code>FIORI FOUNDATION OBJECTS<\/code>. Add HANADEMO as owner. Write both numbers down \u2014 Phases 1 to 3 will ask for them.<\/pee>\n<div class=\"expect\"><b>Expect<\/b> Two modifiable requests, each with one task under HANADEMO.<\/div>\n<\/div>\n<\/li>\n<li class=\"step\"><span class=\"tcode\">SU53<\/span>\n<div class=\"step-body\"><pee>Sanity-check authorisation once, from HANADEMO, after a first SCC4 save. SAP_ALL should cover it \u2014 you are confirming nothing was stripped in the handover build.<\/pee>\n<div class=\"expect\"><b>Expect<\/b> No authorisation failure recorded.<\/div>\n<\/div>\n<\/li>\n<\/ul>\n<\/div>\n<\/section>\n<section>\n<div class=\"phase\">\n<div class=\"phase-head\"><span class=\"phase-num\">P1<\/span><\/p>\n<h3>Gateway and OData foundation<\/h3>\n<p><span class=\"phase-count\">9 steps<\/span><\/div>\n<div class=\"phase-gate\"><b>Gate<\/b> The catalog service must answer in GW_CLIENT before you touch Phase 2. This is the rung everything above stands on.<\/div>\n<ul class=\"steps\">\n<li class=\"step\"><span class=\"tcode\">SICF<\/span>\n<div class=\"step-body\"><pee>Activate the service tree, node and subtree, for each of: <code>\/sap\/bc\/ui5_ui5<\/code>, <code>\/sap\/bc\/ui2<\/code>, <code>\/sap\/bc\/bsp\/sap<\/code>, <code>\/sap\/public\/bc<\/code>, <code>\/sap\/opu\/odata<\/code>, <code>\/sap\/opu\/odata4<\/code>, <code>\/sap\/bw\/ina<\/code>, <code>\/sap\/bc\/webdynpro\/sap<\/code>. Right-click \u2192 Activate Service \u2192 choose the option that includes subnodes.<\/pee>\n<div class=\"expect\"><b>Expect<\/b> Every node black, not grey, in the hierarchy view.<\/div>\n<\/div>\n<\/li>\n<li class=\"step\"><span class=\"tcode\">SICF<\/span>\n<div class=\"step-body\"><pee>Separately activate <code>\/sap\/bc\/apc\/iwngw\/notification_push_api<\/code> \u2014 the WebSocket channel behind the launchpad notification bell. It is easy to miss because it sits outside the UI5 tree.<\/pee>\n<div class=\"expect\"><b>Expect<\/b> APC node active; needed again in Phase 2.<\/div>\n<\/div>\n<\/li>\n<li class=\"step\"><span class=\"tcode\">STRUST<\/span>\n<div class=\"step-body\"><pee>Fix the certificate mismatch that makes the browser flag <code>&lt;host&gt;:44300<\/code> as Not secure. The SSL server PSE common name must match the public hostname, not the build-time internal one. Same defect class as the HTTPURLLOC issue on the 2023 box.<\/pee>\n<div class=\"expect\"><b>Expect<\/b> Certificate CN matches the public host; restart ICM from SMICM after applying.<\/div>\n<\/div>\n<\/li>\n<li class=\"step\"><span class=\"tcode\">SMICM<\/span>\n<div class=\"step-body\"><pee>Confirm the HTTPS service on port 44355 is active and that URL generation is not being rewritten to an internal host. Check the HTTPURLLOC table on this system too \u2014 the same vendor shipped both appliances.<\/pee>\n<div class=\"expect\"><b>Expect<\/b> Generated URLs carry s4hana2025.&lt;host&gt;.<\/div>\n<\/div>\n<\/li>\n<li class=\"step\"><span class=\"tcode\">SPRO<\/span>\n<div class=\"step-body\"><pee>SAP NetWeaver \u2192 SAP Gateway \u2192 OData Channel \u2192 Configuration \u2192 <em>Activate or Deactivate SAP Gateway<\/em>. Then define the system alias: alias <code>LOCAL<\/code>, RFC destination <code>NONE<\/code>, local Gateway flagged, client 100.<\/pee>\n<div class=\"expect\"><b>Expect<\/b> &#8220;SAP Gateway is active&#8221; message; alias LOCAL saved as default.<\/div>\n<\/div>\n<\/li>\n<li class=\"step\"><span class=\"tcode\">STC01<\/span>\n<div class=\"step-body\"><pee>Run task list <code>SAP_GW_FIORI_ERP_ONE_CLNT_SETUP<\/code> \u2014 the embedded single-client Gateway setup. Supply the Phase 0 request numbers in any task parameter that offers a request field.<\/pee>\n<div class=\"expect\"><b>Expect<\/b> All tasks green; no task left in status &#8220;not executed&#8221;.<\/div>\n<\/div>\n<\/li>\n<li class=\"step\"><span class=\"tcode\">STC01<\/span>\n<div class=\"step-body\"><pee>Run task list <code>SAP_FIORI_FOUNDATION_S4<\/code>. This lays down launchpad services, the <code>\/UI2\/<\/code> service set, the notification channel and the foundation roles. It is a prerequisite of content activation, not an alternative to it.<\/pee>\n<div class=\"expect\"><b>Expect<\/b> Green run; foundation roles SAP_UI2_* present in PFCG.<\/div>\n<\/div>\n<\/li>\n<li class=\"step\"><span class=\"tcode\">\/IWFND\/V4_ADMIN<\/span>\n<div class=\"step-body\"><pee>Publish the OData <strong>V4<\/strong> service groups. Several 2025 maintenance and analytical apps are V4-only, so a V2-only landscape looks healthy right up until a tile returns nothing.<\/pee>\n<div class=\"expect\"><b>Expect<\/b> Service groups published against alias LOCAL.<\/div>\n<\/div>\n<\/li>\n<li class=\"step\"><span class=\"tcode\">\/IWFND\/GW_CLIENT<\/span>\n<div class=\"step-body\"><pee><strong>The gate.<\/strong> Call <code>\/sap\/opu\/odata\/IWFND\/CATALOGSERVICE;v=2\/ServiceCollection<\/code> with GET. Then clear <code>\/IWFND\/ERROR_LOG<\/code> and <code>\/IWBEP\/ERROR_LOG<\/code> so the next phase starts from a clean log.<\/pee>\n<div class=\"expect\"><b>Expect<\/b> HTTP 200 with a service list. Anything else \u2014 stop and fix before Phase 2.<\/div>\n<\/div>\n<\/li>\n<\/ul>\n<\/div>\n<\/section>\n<section>\n<div class=\"phase\">\n<div class=\"phase-head\"><span class=\"phase-num\">P2<\/span><\/p>\n<h3>Workflow runtime and Inbox services<\/h3>\n<p><span class=\"phase-count\">7 steps<\/span><\/div>\n<div class=\"phase-gate\"><b>Gate<\/b> A real work item must come back over OData. That is the Inbox proof available to you before there is a launchpad.<\/div>\n<ul class=\"steps\">\n<li class=\"step\"><span class=\"tcode\">SWU3<\/span>\n<div class=\"step-body\"><pee>Clear the two remaining reds: <em>Classify Scenario Tasks (Flexible Workflow) as General<\/em> and <em>Maintain HR control tables<\/em>. Run each with the execute icon, then Recheck the whole tree. The runtime RFC destination is already correct after the <code>WORKFLOW_REFERENCE_100<\/code> repair.<\/pee>\n<div class=\"expect\"><b>Expect<\/b> Entire SWU3 tree green. Message 5A378 on classification is cosmetic on a sandbox.<\/div>\n<\/div>\n<\/li>\n<li class=\"step\"><span class=\"tcode\">SM37<\/span>\n<div class=\"step-body\"><pee>Confirm <code>SAP_WORKFLOW_SYSTEM<\/code> is released and running \u2014 in <strong>client 000<\/strong>, not 100. Search with user <code>*<\/code>, job <code>*<\/code>, 30-day window, all statuses, or you will get BT145 again.<\/pee>\n<div class=\"expect\"><b>Expect<\/b> Recent successful runs; no cancelled entries.<\/div>\n<\/div>\n<\/li>\n<li class=\"step\"><span class=\"tcode\">\/IWFND\/MAINT_SERVICE<\/span>\n<div class=\"step-body\"><pee>Add and activate <code>\/IWPGW\/TASKPROCESSING<\/code> against alias LOCAL. In the same pass add the <code>\/IWNGW\/<\/code> notification services listed in the catalog. Check the ICF node status turns green in the service detail.<\/pee>\n<div class=\"expect\"><b>Expect<\/b> Both service groups show ICF node active and system alias LOCAL.<\/div>\n<\/div>\n<\/li>\n<li class=\"step\"><span class=\"tcode\">SWFVISU<\/span>\n<div class=\"step-body\"><pee>Check task visualisation entries exist for the flexible-workflow tasks you will use \u2014 this is what tells My Inbox which UI to open for a work item. A missing entry gives a work item that lists but will not open.<\/pee>\n<div class=\"expect\"><b>Expect<\/b> Entries present for the SES approval and PM notification tasks.<\/div>\n<\/div>\n<\/li>\n<li class=\"step\"><span class=\"tcode\">SWI1<\/span>\n<div class=\"step-body\"><pee>Create or locate one live work item to test with. The verification item you already completed proves the runtime; generate a fresh one so there is something open for the OData call to return.<\/pee>\n<div class=\"expect\"><b>Expect<\/b> At least one work item in status READY for your user.<\/div>\n<\/div>\n<\/li>\n<li class=\"step\"><span class=\"tcode\">\/IWFND\/GW_CLIENT<\/span>\n<div class=\"step-body\"><pee><strong>The gate.<\/strong> GET <code>\/sap\/opu\/odata\/IWPGW\/TASKPROCESSING;v=2\/TaskCollection<\/code>. The open work item should come back in the payload with its task title and decision options.<\/pee>\n<div class=\"expect\"><b>Expect<\/b> HTTP 200 and your work item in the response. Inbox is proved at the service layer.<\/div>\n<\/div>\n<\/li>\n<li class=\"step\"><span class=\"tcode\">SWI2_FREQ<\/span>\n<div class=\"step-body\"><pee>Glance at work item frequency and check <code>\/IWFND\/ERROR_LOG<\/code> is still empty after the calls. A silent 500 here becomes a mysterious empty Inbox in Phase 5.<\/pee>\n<div class=\"expect\"><b>Expect<\/b> No new gateway errors logged.<\/div>\n<\/div>\n<\/li>\n<\/ul>\n<\/div>\n<\/section>\n<section>\n<div class=\"phase\">\n<div class=\"phase-head\"><span class=\"phase-num\">P3<\/span><\/p>\n<h3>Content activation<\/h3>\n<p><span class=\"phase-count\">4 steps<\/span><\/div>\n<div class=\"phase-gate\"><b>Gate<\/b> Phases 1 and 2 both green. This is the run that failed at 1 of 613 roles \u2014 the role selection screen is where it went wrong.<\/div>\n<ul class=\"steps\">\n<li class=\"step\"><span class=\"tcode\">STC01<\/span>\n<div class=\"step-body\"><pee>Generate a task list run for <code>SAP_FIORI_CONTENT_ACTIVATION<\/code>. Before executing, walk every task&#8217;s parameters and fill in the Phase 0 request numbers. Run in <strong>dialog<\/strong>, not background, for this first pass.<\/pee>\n<div class=\"expect\"><b>Expect<\/b> Run generated with no task in error before execution starts.<\/div>\n<\/div>\n<\/li>\n<li class=\"step\"><span class=\"tcode\">STC01<\/span>\n<div class=\"step-body\"><pee>At <em>Select\/Confirm SAP Business Roles for FLP content activation<\/em>, select the seven roles below and keep prefix <strong>Z<\/strong>. Leave the OData, ICF and catalog activation sub-tasks ticked \u2014 that work is what SUPC mass generation would not have given you.<\/pee>\n<div class=\"expect\"><b>Expect<\/b> Counter reads 7 of 613 selected, not 1.<\/div>\n<\/div>\n<\/li>\n<li class=\"step\"><span class=\"tcode\">STC01<\/span>\n<div class=\"step-body\"><pee>Tick the two tasks skipped last time: <em>Create Users with generated Business Roles (SU01)<\/em> and <em>Assign generated Business Roles to Users (SU01)<\/em>. Then execute and let it run \u2014 this one takes a while.<\/pee>\n<div class=\"expect\"><b>Expect<\/b> Run log green throughout; save the log before leaving the screen.<\/div>\n<\/div>\n<\/li>\n<li class=\"step\"><span class=\"tcode\">PFCG<\/span>\n<div class=\"step-body\"><pee>Spot-check that the generated <code>Z*<\/code> roles exist and carry generated profiles, menus and catalog assignments \u2014 not empty shells.<\/pee>\n<div class=\"expect\"><b>Expect<\/b> Seven Z-roles, each with a Fiori catalog and group in the menu.<\/div>\n<\/div>\n<\/li>\n<\/ul>\n<div class=\"phase-gate\" style=\"border-top:1px solid var(--rule);border-bottom:none\"><b>Roles<\/b> Confirm exact names in the selection list \u2014 the supervisor variant differs slightly by release. <\/div>\n<div class=\"tablewrap\" style=\"padding:0 22px 20px\">\n<table>\n<thead>\n<tr>\n<th>Business role template<\/th>\n<th>Why it is on the list<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>SAP_BR_EMPLOYEE<\/td>\n<td>Base tile set and self-service apps \u2014 every trainee needs it underneath their persona role<\/td>\n<\/tr>\n<tr>\n<td>SAP_BR_ADMINISTRATOR<\/td>\n<td>Your own admin launchpad, including the launchpad and app-index tools<\/td>\n<\/tr>\n<tr>\n<td>SAP_BR_MAINTENANCE_PLANNER<\/td>\n<td>Order and notification planning apps \u2014 the core of the training scenario<\/td>\n<\/tr>\n<tr>\n<td>SAP_BR_MAINTENANCE_TECHNICIAN<\/td>\n<td>My Job List and confirmations \u2014 the execution side of the same scenario<\/td>\n<\/tr>\n<tr>\n<td>SAP_BR_MAINTENANCE_SUPERVISOR<\/td>\n<td>Supervisor persona; confirm the exact name this release ships in the list<\/td>\n<\/tr>\n<tr>\n<td>SAP_BR_ANALYTICS_SPECIALIST<\/td>\n<td>Satisfies the &#8220;build analytical reports&#8221; requirement in the sandbox spec<\/td>\n<\/tr>\n<tr>\n<td>SAP_BR_BPC_EXPERT<\/td>\n<td>Business process configuration \u2014 needed later for the Lean SES workflow definition<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/section>\n<section>\n<div class=\"phase\">\n<div class=\"phase-head\"><span class=\"phase-num\">P4<\/span><\/p>\n<h3>Index and cache<\/h3>\n<p><span class=\"phase-count\">3 steps<\/span><\/div>\n<div class=\"phase-gate\"><b>Gate<\/b> Skip this and the content exists in the database but nothing renders. It is the most commonly missed step of the whole sequence.<\/div>\n<ul class=\"steps\">\n<li class=\"step\"><span class=\"tcode\">\/UI2\/APP_INDEX_CALCULATE<\/span>\n<div class=\"step-body\"><pee>Run via SE38 as a full re-index, not a delta. Review the output for inconsistencies \u2014 unresolved target mappings surface here rather than in the browser.<\/pee>\n<div class=\"expect\"><b>Expect<\/b> Completed with zero inconsistent apps reported.<\/div>\n<\/div>\n<\/li>\n<li class=\"step\"><span class=\"tcode\">\/UI2\/INVALIDATE_GLOBAL_CACHES<\/span>\n<div class=\"step-body\"><pee>Run the global cache invalidation, then <code>\/UI2\/INVALIDATE_CLIENT_CACHES<\/code> for client 100. Order matters less than doing both.<\/pee>\n<div class=\"expect\"><b>Expect<\/b> Both reports complete without dumps.<\/div>\n<\/div>\n<\/li>\n<li class=\"step\"><span class=\"tcode\">SE38<\/span>\n<div class=\"step-body\"><pee>Run the launchpad health check report \u2014 search <code>\/UI2\/FLP_HEALTH*<\/code> in SE38, as the exact name shifts slightly between support packages. Work through anything it flags before logging on as a trainee.<\/pee>\n<div class=\"expect\"><b>Expect<\/b> No red findings on services, roles or caches.<\/div>\n<\/div>\n<\/li>\n<\/ul>\n<\/div>\n<\/section>\n<section>\n<div class=\"phase\">\n<div class=\"phase-head\"><span class=\"phase-num\">P5<\/span><\/p>\n<h3>Verify as a persona<\/h3>\n<p><span class=\"phase-count\">5 steps<\/span><\/div>\n<div class=\"phase-gate\"><b>Gate<\/b> Every check below is done as a generated Z-role user. HANADEMO holds SAP_ALL, which will make a broken launchpad look fine.<\/div>\n<ul class=\"steps\">\n<li class=\"step\"><span class=\"tcode plain\">Browser<\/span>\n<div class=\"step-body\"><pee>Open <code>https:\/\/&lt;host&gt;:44300\/sap\/bc\/ui2\/flp<\/code> and log on as one of the users the task list created. Certificate should now be clean after Phase 1.<\/pee>\n<div class=\"expect\"><b>Expect<\/b> Launchpad renders with populated groups or spaces \u2014 not an empty home page.<\/div>\n<\/div>\n<\/li>\n<li class=\"step\"><span class=\"tcode plain\">My Inbox<\/span>\n<div class=\"step-body\"><pee>Open the My Inbox tile. The work item from Phase 2 should be listed, open cleanly, and show its decision buttons. This is the UI half of the Inbox check.<\/pee>\n<div class=\"expect\"><b>Expect<\/b> Item opens via its SWFVISU-mapped UI and can be actioned.<\/div>\n<\/div>\n<\/li>\n<li class=\"step\"><span class=\"tcode plain\">Bell icon<\/span>\n<div class=\"step-body\"><pee>Check the notification badge counts the open item. If the bell is silent but the Inbox works, the APC push node from Phase 1 is the suspect.<\/pee>\n<div class=\"expect\"><b>Expect<\/b> Badge count matches the number of open items.<\/div>\n<\/div>\n<\/li>\n<li class=\"step\"><span class=\"tcode plain\">Search<\/span>\n<div class=\"step-body\"><pee>Use the launchpad search bar for a known equipment number and a functional location. The EAM connectors are already active \u2014 this confirms the InA nodes and the search UI are wired to them.<\/pee>\n<div class=\"expect\"><b>Expect<\/b> Equipment 10002984 and FL TEST both return.<\/div>\n<\/div>\n<\/li>\n<li class=\"step\"><span class=\"tcode plain\">Analytics<\/span>\n<div class=\"step-body\"><pee>Open one analytical app from the analytics specialist role. If the tiles are present but data is empty, the BW client setup task list is the next thing to run \u2014 not a content problem.<\/pee>\n<div class=\"expect\"><b>Expect<\/b> At least one analytical app renders a chart with data.<\/div>\n<\/div>\n<\/li>\n<\/ul>\n<\/div>\n<\/section>\n<section><pee class=\"eyebrow\">Standing constraints for this system<\/pee>\n<h2>Do not do these<\/h2>\n<div class=\"callout stop\">\n<div class=\"mark\">STOP<\/div>\n<div>\n<h4>No SFW5 activation for Lean Services<\/h4>\n<pee>No business function exists for Lean Services, several neighbouring ones are irreversible, and the real gate is <em>Enhanced Procurement Mode<\/em> in SPRO \u2014 which is not retroactive. That is why it has to be switched on before you create any service order you intend to keep, and why it sits in a later phase of its own rather than here.<\/pee><pee>Equally: do not verify anything on this system as HANADEMO once Phase 3 is done, and do not take a baseline snapshot until Phase 5 passes \u2014 a snapshot of a half-activated launchpad is worse than none.<\/pee><\/div>\n<\/div>\n<\/section>\n<section><pee class=\"eyebrow\">Session log \u2014 08 September 2026<\/pee>\n<h2>Phases 0\u20132 complete<\/h2>\n<div class=\"split\">\n<div class=\"panel before\">\n<div class=\"when\">All six phases closed<\/div>\n<h4>What was proved<\/h4>\n<ul>\n<li><strong>Phase 0<\/strong> \u2014 system Modifiable; client 100 already on automatic recording with cross-client changes allowed. Requests <code>S4HK903329<\/code> (customizing) and <code>S4HK903331<\/code> (workbench).<\/li>\n<li><strong>Phase 1<\/strong> \u2014 ICF tree open, Gateway active, alias <code>LOCAL<\/code> correct, both task lists green, V4 groups published, foundation roles generated. Gate: catalog service returned 200 with a full list.<\/li>\n<li><strong>Phase 2<\/strong> \u2014 SWU3 clean but for AIF; <code>SAP_WORKFLOW_SYSTEM<\/code> cycling every minute in client 100; <code>ZTASKPROCESSING<\/code> v1 and v2 both correct (not duplicates). Gate: <code>TaskCollection<\/code> returned the verification work items over OData, 12 KB payload.<\/li>\n<li><strong>Phase 3<\/strong> \u2014 content activation run for <strong>14<\/strong> business roles, prefix Z, package <code>$TMP<\/code>. <code>Z_BR_AA_ACCOUNTANT<\/code> spot-checked: Menu, Authorizations and User tabs all green, users assigned including &lt;user&gt; and &lt;basis-user&gt;.<\/li>\n<li><strong>Phase 4<\/strong> \u2014 <code>\/UI5\/APP_INDEX_CALCULATE<\/code> indexed 3,096 repositories; global and client caches invalidated.<\/li>\n<li><strong>Phase 5<\/strong> \u2014 launchpad renders, Maintenance Request opens, value help returns the 38-object compressor hierarchy. Notification <strong>10000741<\/strong> created on equipment 217100001, order <strong>4001560<\/strong> generated and approved through the phase model.<\/li>\n<\/ul>\n<\/div>\n<div class=\"panel after\">\n<div class=\"when\">Next session<\/div>\n<h4>Open items<\/h4>\n<ul>\n<li><strong>Repeat the create test as &lt;user&gt; or &lt;basis-user&gt;.<\/strong> Everything in Phase 5 was done as HANADEMO. That proves content, not authorisation \u2014 and authorisation gaps only appear on a user without SAP_ALL.<\/li>\n<li><strong>Define a flexible workflow for maintenance order approval.<\/strong> Order 4001560 auto-approved because no scenario exists, so the approval phase is currently decorative. Use <em>Manage Workflows for Maintenance Orders<\/em> (ships with <code>SAP_BR_BPC_EXPERT<\/code>). Same machinery as the Lean SES approval, so build this simpler case first.<\/li>\n<li><strong>Decide the org structure.<\/strong> This box is the delivered SAP structure \u2014 plant <code>1710<\/code>, planner group <code>920<\/code>, work centre <code>RES-0100<\/code>. Your prior sandbox and handover notes use company code 1030 and plants 102A\/103A. Train on delivered, or build Teck-named objects.<\/li>\n<li>Still unverified: My Inbox tile, notification bell count, Enterprise Search from the launchpad bar, one analytical app.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/section>\n<section><pee class=\"eyebrow\">Corrections and gotchas worth keeping<\/pee>\n<h2>What this system taught us<\/h2>\n<div class=\"stack\">\n<div class=\"layer\">\n<div><b>App index lives in \/UI5\/, not \/UI2\/<\/b><small>\/UI5\/APP_INDEX_CALCULATE \u00b7 caches stay \/UI2\/INVALIDATE_*_CACHES<\/small><\/div>\n<p><span class=\"owner\">naming<\/span><\/div>\n<div class=\"layer\">\n<div><b>SM37 defaults to your own user ID<\/b><small>set user to * or you get BT145 and conclude the job is dead<\/small><\/div>\n<p><span class=\"owner\">twice now<\/span><\/div>\n<div class=\"layer\">\n<div><b>SM37 groups by status, not date<\/b><small>the Finished block sorts ascending \u2014 sort by start date before drawing conclusions<\/small><\/div>\n<p><span class=\"owner\">cost an hour<\/span><\/div>\n<div class=\"layer\">\n<div><b>Green in SWU3 means the object exists<\/b><small>not that it runs \u2014 proof is a Finished job with today&#8217;s date<\/small><\/div>\n<p><span class=\"owner\">judgement<\/span><\/div>\n<div class=\"layer\">\n<div><b>ZTASKPROCESSING _0001 \/ _0002 are versions<\/b><small>v1 and v2 of one service, not duplicate registrations<\/small><\/div>\n<p><span class=\"owner\">false alarm<\/span><\/div>\n<div class=\"layer\">\n<div><b>FORMDESIGNER and FORMRUNTIME rejected on index<\/b><small>duplicate sap.app id in delivered content; PM shop-paper printing is unaffected<\/small><\/div>\n<p><span class=\"owner\">note only<\/span><\/div>\n<div class=\"layer\">\n<div><b>Server clock runs UTC\u22125:30<\/b><small>05:44 UTC displayed as 00:14 local \u2014 affects every log timestamp<\/small><\/div>\n<p><span class=\"owner\">confirm in STZAC<\/span><\/div>\n<\/div>\n<\/section>\n<section><pee class=\"eyebrow\">Evidence for the vendor \u2014 one pattern, six objects<\/pee>\n<h2>Instance-01 build residue<\/h2>\n<div class=\"stack\">\n<div class=\"layer\">\n<div><b>SSL server certificate<\/b><small>CN=vhcals4hci.dummy.nodomain, issuer CN=cal.dummy.nodomain<\/small><\/div>\n<p><span class=\"owner\">blocks nothing, looks bad<\/span><\/div>\n<div class=\"layer\">\n<div><b>Orphaned PSE<\/b><small>s4hana2025_S4H_01<\/small><\/div>\n<p><span class=\"owner\">cosmetic<\/span><\/div>\n<div class=\"layer\">\n<div><b>RFC destination FIORI_FLP_HTTPS<\/b><small>&lt;app-server&gt;:44301 \u2192 corrected to &lt;host&gt;:44300<\/small><\/div>\n<p><span class=\"owner\">fixed 08 Sep<\/span><\/div>\n<div class=\"layer\">\n<div><b>FIORI_CLASSICUI_HTTPS (alias FIORI_MENU)<\/b><small>:44301 \u2192 corrected<\/small><\/div>\n<p><span class=\"owner\">fixed 08 Sep<\/span><\/div>\n<div class=\"layer\">\n<div><b>RFC destination S4HCLNT100<\/b><small>blank target host, instance 00 \u2192 set to s4hana2025 \/ 55<\/small><\/div>\n<p><span class=\"owner\">broke My Inbox<\/span><\/div>\n<div class=\"layer\">\n<div><b>Batch capacity<\/b><small>6 BTC processes; workflow job delayed 43\u201351s every run, up to 1758s on 06 Sep<\/small><\/div>\n<p><span class=\"owner\">open<\/span><\/div>\n<\/div>\n<pee class=\"stack-note\">Five of the six carry instance-01 values. The appliance was built as instance 01 and re-homed to 55 without a cleanup pass \u2014 which justifies asking the vendor to sweep for the rest rather than fixing them one at a time as they surface. <code>S4HCLNT100<\/code> is the one that mattered: it made the Task Gateway service fail with a CPIC error, which would have presented in training as an empty My Inbox with no obvious cause.<\/pee><\/section>\n<section><pee class=\"eyebrow\">09 September \u2014 solved, and reusable<\/pee>\n<h2>Apps assigned but invisible<\/h2>\n<div class=\"split\">\n<div class=\"panel before\">\n<div class=\"when\">The diagnosis, in order<\/div>\n<h4>Five checks that split the problem<\/h4>\n<ul>\n<li><strong>PFCG \u2192 role \u2192 Applications.<\/strong> Apps present and Active? Then content activation worked and it is not a role problem.<\/li>\n<li><strong>App Finder.<\/strong> Apps findable and launchable? Then catalogs, authorisation, OData and the app index are all fine. What remains is placement.<\/li>\n<li><strong>Content Manager \u2192 catalog \u2192 Display Usages in Pages.<\/strong> &#8220;Not used in any page&#8221; is the smoking gun.<\/li>\n<li><strong>Roles tab \u2192 Show Spaces<\/strong> on the failing role and on a working one. 0 versus 1 proves whether it is systemic or a single gap.<\/li>\n<li><strong>Fiori apps reference library.<\/strong> Technical Catalog, Business Catalog, Business <em>Group<\/em>, Business Role \u2014 and no Space or Page. SAP&#8217;s own documentation confirming the omission.<\/li>\n<\/ul>\n<\/div>\n<div class=\"panel after\">\n<div class=\"when\">The fix<\/div>\n<h4>Build what SAP didn&#8217;t ship<\/h4>\n<ul>\n<li>SICF \u2192 activate <code>\/sap\/bc\/ui5_ui5\/sap\/sui_space_man<\/code>; <code>\/IWFND\/MAINT_SERVICE<\/code> \u2192 add <code>\/UI2\/FDM_SPACE_REPOSITORY_CUST_SRV<\/code>. Same pattern for the Pages app.<\/li>\n<li><strong>Manage Launchpad Pages<\/strong> \u2192 <code>Z_RSH_MAINT_PLANNER<\/code>, sections holding the RSH tiles. Merge ID blank for a standalone tab.<\/li>\n<li><strong>Manage Launchpad Spaces<\/strong> \u2192 <code>Z_RSH_SCHEDULING<\/code> \u2192 assign the page \u2192 assign the space to <code>Z_BR_MAINTENANCE_PLANNER_RSH<\/code> and <code>Z_BR_MAINT_SUPERVISOR<\/code>.<\/li>\n<li><code>\/UI2\/INVALIDATE_CLIENT_CACHES<\/code>, then log out and in.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<div class=\"callout\">\n<div class=\"mark\">WHY<\/div>\n<div>\n<h4>Groups are invisible on a spaces-enabled client<\/h4>\n<pee>SAP ships Resource Scheduling as catalog plus <em>business group<\/em>, with no page and no space. Groups are the legacy rendering model; with <code>SPACES = true<\/code> the launchpad ignores them entirely. The apps were assigned, authorised, indexed and launchable the whole time \u2014 nothing placed them on a page, so nothing rendered.<\/pee><pee><strong>Resolved the same day.<\/strong> The tiles first showing <em>Out of role context<\/em> \u2014 Manage Maintenance Planning Buckets, Schedule Output for Maintenance Job Packs, Manage Teams and Responsibilities \u2014 came from <code>SAP_TC_EAM_COMMON<\/code>, which neither role held. Assigning that content to both roles cleared them. The <strong>Maintenance Schedulling<\/strong> tab now renders all three sections in full.<\/pee><pee><strong>Two tidies left, cosmetic:<\/strong> the section heading has a double L, and <em>Manage Maintenance Planning Buckets (Old Version)<\/em> is still on the page beside the new one \u2014 worth removing before trainees see both and ask which to use. Also worth a ten-minute sweep of the remaining twelve Z roles with <em>Show Spaces<\/em>; anything reading 0 has the same gap this section describes.<\/pee><\/div>\n<\/div>\n<\/section>\n<section><pee class=\"eyebrow\">Deferred \u2014 before training, not today<\/pee>\n<h2>Pre-training actions<\/h2>\n<div class=\"callout\">\n<div class=\"mark\">TODO<\/div>\n<div>\n<h4>Five items carried forward<\/h4>\n<pee><strong>1 \u00b7 Certificate.<\/strong> Vendor must supply one issued for <code>s4hana2025.&lt;host&gt;<\/code> by a public CA. Every trainee currently meets a full-page security warning, and a managed Teck laptop may not let them click through.<\/pee><pee><strong>2 \u00b7 Batch capacity.<\/strong> Cut the workflow job in clients 200 and 400 to roughly every 30 minutes \u2014 two unused clients are each consuming a work process every minute. Separately, ask the vendor for more BTC processes.<\/pee><pee><strong>3 \u00b7 Residue sweep.<\/strong> SM59 for any destination carrying <code>&lt;app-server&gt;<\/code> or <code>:44301<\/code>, and the <code>\/UI2\/<\/code> alias tables.<\/pee><pee><strong>4 \u00b7 AIF monitoring.<\/strong> Left red deliberately \u2014 no interfaces in scope. Recorded as a decision so a later reader doesn&#8217;t treat it as an oversight.<\/pee><pee><strong>5 \u00b7 System time zone.<\/strong> Confirm the offset in STZAC. Server time runs UTC\u22125:30, which affects how every log timestamp reads and matters when scheduling anything around a training session.<\/pee><pee><strong>6 \u00b7 Phase model and approval.<\/strong> Maintenance orders enter an approval phase and currently auto-approve. Either define the workflow scenario so trainees see a real approval step, or confirm the auto-approve behaviour is what you want in class \u2014 but decide deliberately rather than discovering it during a session.<\/pee><\/div>\n<\/div>\n<\/section>\n<footer><span>S4H \u00b7 CLIENT 100 \u00b7 INSTANCE 55 \u00b7 TECK TRAINING SANDBOX<\/span><span>PHASES 0\u20135 \u00b7 32 STEPS \u00b7 PROGRESS SAVED IN THIS BROWSER ONLY<\/span><\/footer>\n<\/div>\n<\/div>\n<p>[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Thirty-two steps in strict dependency order, from the transport frame through Gateway, workflow runtime, content activation and the launchpad check, with a gate at the end of every phase.<\/p>","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[7],"tags":[],"class_list":["post-225","post","type-post","status-publish","format-standard","hentry","category-sap-eam"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>S\/4HANA 2025 Fiori Activation Runbook | AARS<\/title>\n<meta name=\"description\" content=\"A 32-step Fiori activation runbook for S\/4HANA 2025 in strict dependency order: Gateway and OData, workflow runtime, content activation, launchpad verification.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/agileassetreliabilitysolutions.com\/en\/s4hana-fiori-activation-runbook\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"S\/4HANA 2025 Fiori Activation Runbook | AARS\" \/>\n<meta property=\"og:description\" content=\"A 32-step Fiori activation runbook for S\/4HANA 2025 in strict dependency order: Gateway and OData, workflow runtime, content activation, launchpad verification.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/agileassetreliabilitysolutions.com\/en\/s4hana-fiori-activation-runbook\/\" \/>\n<meta property=\"og:site_name\" content=\"Agile Asset Reliability Solutions\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-12T15:28:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-12T16:04:25+00:00\" \/>\n<meta name=\"author\" content=\"Joshua Elaiho\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Joshua Elaiho\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"18 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/agileassetreliabilitysolutions.com\\\/s4hana-fiori-activation-runbook\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/agileassetreliabilitysolutions.com\\\/s4hana-fiori-activation-runbook\\\/\"},\"author\":{\"name\":\"Joshua Elaiho\",\"@id\":\"https:\\\/\\\/agileassetreliabilitysolutions.com\\\/#\\\/schema\\\/person\\\/004055869cececb52211f48a3e39e6b4\"},\"headline\":\"Activating Fiori on S\\\/4HANA 2025: a six-phase runbook\",\"datePublished\":\"2026-09-12T15:28:14+00:00\",\"dateModified\":\"2026-09-12T16:04:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/agileassetreliabilitysolutions.com\\\/s4hana-fiori-activation-runbook\\\/\"},\"wordCount\":3547,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/agileassetreliabilitysolutions.com\\\/#organization\"},\"articleSection\":[\"SAP and EAM\"],\"inLanguage\":\"en\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/agileassetreliabilitysolutions.com\\\/s4hana-fiori-activation-runbook\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/agileassetreliabilitysolutions.com\\\/s4hana-fiori-activation-runbook\\\/\",\"url\":\"https:\\\/\\\/agileassetreliabilitysolutions.com\\\/s4hana-fiori-activation-runbook\\\/\",\"name\":\"S\\\/4HANA 2025 Fiori Activation Runbook | AARS\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/agileassetreliabilitysolutions.com\\\/#website\"},\"datePublished\":\"2026-09-12T15:28:14+00:00\",\"dateModified\":\"2026-09-12T16:04:25+00:00\",\"description\":\"A 32-step Fiori activation runbook for S\\\/4HANA 2025 in strict dependency order: Gateway and OData, workflow runtime, content activation, launchpad verification.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/agileassetreliabilitysolutions.com\\\/s4hana-fiori-activation-runbook\\\/#breadcrumb\"},\"inLanguage\":\"en\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/agileassetreliabilitysolutions.com\\\/s4hana-fiori-activation-runbook\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/agileassetreliabilitysolutions.com\\\/s4hana-fiori-activation-runbook\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/agileassetreliabilitysolutions.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Activating Fiori on S\\\/4HANA 2025: a six-phase runbook\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/agileassetreliabilitysolutions.com\\\/#website\",\"url\":\"https:\\\/\\\/agileassetreliabilitysolutions.com\\\/\",\"name\":\"Agile Asset Reliability Solutions\",\"description\":\"Reliability and asset management consulting for mining, oil and gas, and petrochemicals\",\"publisher\":{\"@id\":\"https:\\\/\\\/agileassetreliabilitysolutions.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/agileassetreliabilitysolutions.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/agileassetreliabilitysolutions.com\\\/#organization\",\"name\":\"Agile Asset Reliability Solutions Inc.\",\"url\":\"https:\\\/\\\/agileassetreliabilitysolutions.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\\\/\\\/agileassetreliabilitysolutions.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/agileassetreliabilitysolutions.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/cropped-Logo-Joshua-Elaiho_logo-scaled-1.png\",\"contentUrl\":\"https:\\\/\\\/agileassetreliabilitysolutions.com\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/cropped-Logo-Joshua-Elaiho_logo-scaled-1.png\",\"width\":512,\"height\":512,\"caption\":\"Agile Asset Reliability Solutions Inc.\"},\"image\":{\"@id\":\"https:\\\/\\\/agileassetreliabilitysolutions.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/agileassetreliabilitysolutions.com\\\/#\\\/schema\\\/person\\\/004055869cececb52211f48a3e39e6b4\",\"name\":\"Joshua Elaiho\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/33eaa506e4e9af8237ee9a4c3855722fa234e179508934ad949fbb9f3a6cca63?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/33eaa506e4e9af8237ee9a4c3855722fa234e179508934ad949fbb9f3a6cca63?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/33eaa506e4e9af8237ee9a4c3855722fa234e179508934ad949fbb9f3a6cca63?s=96&d=mm&r=g\",\"caption\":\"Joshua Elaiho\"},\"url\":\"https:\\\/\\\/agileassetreliabilitysolutions.com\\\/en\\\/author\\\/joshua\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"S\/4HANA 2025 Fiori Activation Runbook | AARS","description":"A 32-step Fiori activation runbook for S\/4HANA 2025 in strict dependency order: Gateway and OData, workflow runtime, content activation, launchpad verification.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/agileassetreliabilitysolutions.com\/en\/s4hana-fiori-activation-runbook\/","og_locale":"en_US","og_type":"article","og_title":"S\/4HANA 2025 Fiori Activation Runbook | AARS","og_description":"A 32-step Fiori activation runbook for S\/4HANA 2025 in strict dependency order: Gateway and OData, workflow runtime, content activation, launchpad verification.","og_url":"https:\/\/agileassetreliabilitysolutions.com\/en\/s4hana-fiori-activation-runbook\/","og_site_name":"Agile Asset Reliability Solutions","article_published_time":"2026-09-12T15:28:14+00:00","article_modified_time":"2026-09-12T16:04:25+00:00","author":"Joshua Elaiho","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Joshua Elaiho","Est. reading time":"18 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/agileassetreliabilitysolutions.com\/s4hana-fiori-activation-runbook\/#article","isPartOf":{"@id":"https:\/\/agileassetreliabilitysolutions.com\/s4hana-fiori-activation-runbook\/"},"author":{"name":"Joshua Elaiho","@id":"https:\/\/agileassetreliabilitysolutions.com\/#\/schema\/person\/004055869cececb52211f48a3e39e6b4"},"headline":"Activating Fiori on S\/4HANA 2025: a six-phase runbook","datePublished":"2026-09-12T15:28:14+00:00","dateModified":"2026-09-12T16:04:25+00:00","mainEntityOfPage":{"@id":"https:\/\/agileassetreliabilitysolutions.com\/s4hana-fiori-activation-runbook\/"},"wordCount":3547,"commentCount":0,"publisher":{"@id":"https:\/\/agileassetreliabilitysolutions.com\/#organization"},"articleSection":["SAP and EAM"],"inLanguage":"en","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/agileassetreliabilitysolutions.com\/s4hana-fiori-activation-runbook\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/agileassetreliabilitysolutions.com\/s4hana-fiori-activation-runbook\/","url":"https:\/\/agileassetreliabilitysolutions.com\/s4hana-fiori-activation-runbook\/","name":"S\/4HANA 2025 Fiori Activation Runbook | AARS","isPartOf":{"@id":"https:\/\/agileassetreliabilitysolutions.com\/#website"},"datePublished":"2026-09-12T15:28:14+00:00","dateModified":"2026-09-12T16:04:25+00:00","description":"A 32-step Fiori activation runbook for S\/4HANA 2025 in strict dependency order: Gateway and OData, workflow runtime, content activation, launchpad verification.","breadcrumb":{"@id":"https:\/\/agileassetreliabilitysolutions.com\/s4hana-fiori-activation-runbook\/#breadcrumb"},"inLanguage":"en","potentialAction":[{"@type":"ReadAction","target":["https:\/\/agileassetreliabilitysolutions.com\/s4hana-fiori-activation-runbook\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/agileassetreliabilitysolutions.com\/s4hana-fiori-activation-runbook\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/agileassetreliabilitysolutions.com\/"},{"@type":"ListItem","position":2,"name":"Activating Fiori on S\/4HANA 2025: a six-phase runbook"}]},{"@type":"WebSite","@id":"https:\/\/agileassetreliabilitysolutions.com\/#website","url":"https:\/\/agileassetreliabilitysolutions.com\/","name":"Agile Asset Reliability Solutions","description":"Reliability and asset management consulting for mining, oil and gas, and petrochemicals","publisher":{"@id":"https:\/\/agileassetreliabilitysolutions.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/agileassetreliabilitysolutions.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en"},{"@type":"Organization","@id":"https:\/\/agileassetreliabilitysolutions.com\/#organization","name":"Agile Asset Reliability Solutions Inc.","url":"https:\/\/agileassetreliabilitysolutions.com\/","logo":{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/agileassetreliabilitysolutions.com\/#\/schema\/logo\/image\/","url":"https:\/\/agileassetreliabilitysolutions.com\/wp-content\/uploads\/2026\/04\/cropped-Logo-Joshua-Elaiho_logo-scaled-1.png","contentUrl":"https:\/\/agileassetreliabilitysolutions.com\/wp-content\/uploads\/2026\/04\/cropped-Logo-Joshua-Elaiho_logo-scaled-1.png","width":512,"height":512,"caption":"Agile Asset Reliability Solutions Inc."},"image":{"@id":"https:\/\/agileassetreliabilitysolutions.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/agileassetreliabilitysolutions.com\/#\/schema\/person\/004055869cececb52211f48a3e39e6b4","name":"Joshua Elaiho","image":{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/secure.gravatar.com\/avatar\/33eaa506e4e9af8237ee9a4c3855722fa234e179508934ad949fbb9f3a6cca63?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/33eaa506e4e9af8237ee9a4c3855722fa234e179508934ad949fbb9f3a6cca63?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/33eaa506e4e9af8237ee9a4c3855722fa234e179508934ad949fbb9f3a6cca63?s=96&d=mm&r=g","caption":"Joshua Elaiho"},"url":"https:\/\/agileassetreliabilitysolutions.com\/en\/author\/joshua\/"}]}},"_links":{"self":[{"href":"https:\/\/agileassetreliabilitysolutions.com\/en\/wp-json\/wp\/v2\/posts\/225","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/agileassetreliabilitysolutions.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/agileassetreliabilitysolutions.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/agileassetreliabilitysolutions.com\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/agileassetreliabilitysolutions.com\/en\/wp-json\/wp\/v2\/comments?post=225"}],"version-history":[{"count":1,"href":"https:\/\/agileassetreliabilitysolutions.com\/en\/wp-json\/wp\/v2\/posts\/225\/revisions"}],"predecessor-version":[{"id":227,"href":"https:\/\/agileassetreliabilitysolutions.com\/en\/wp-json\/wp\/v2\/posts\/225\/revisions\/227"}],"wp:attachment":[{"href":"https:\/\/agileassetreliabilitysolutions.com\/en\/wp-json\/wp\/v2\/media?parent=225"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/agileassetreliabilitysolutions.com\/en\/wp-json\/wp\/v2\/categories?post=225"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/agileassetreliabilitysolutions.com\/en\/wp-json\/wp\/v2\/tags?post=225"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}