SAP transaction codeObjectSICFModuleBASIS

SICF — Maintaining and Troubleshooting the ICF Service Tree

SICF maintains the ICF service tree - the hierarchy of HTTP/HTTPS services (Fiori apps, OData endpoints, SOAP/REST services, ICF-based web services) that the Internet Communication Manager routes requests to. Activation is inherited down the tree, so a node showing active can still return 404 or 403 if a parent node above it in the path is inactive, wrongly authorized, or missing its handler class.

This page covers what SICF actually configures, when a consultant needs it versus a functional Fiori app, and the real diagnostic order for the classic symptoms - blank tile, 404, 403, 500 - that land here. It also covers the transport trap around service activation and the S/4HANA context where Gateway and Fiori make SICF far more central than it was in ECC.

Reviewed by an ERPClimb SAP consultant on 15 Sept 2026· 1,389 words

Purpose

SICF displays and maintains the ICF service tree, the path-based hierarchy under which every HTTP/HTTPS-facing service in the system is registered - Fiori UI5 applications, OData services exposed via Gateway, SOAP web services, ICF-based RFC, ABAP webservices, and internal SAP services like the ICM's own health checks. Each node in the tree carries an activation flag, a handler class or program that processes the request, and inherited authorization and logon settings. The structural fact that causes most confusion: the tree is a hierarchy, not a flat list. A leaf node can be individually active and correctly configured and still fail with 404, because any ancestor node on the same path - default_host, sap, bc, or an intermediate folder - is inactive or was deactivated by a later change and nobody rechecked the whole chain.

When it is used

SICF is reached for, not browsed, almost always because something client-facing is broken: a Fiori tile shows a blank iframe or 'service cannot be reached', an interface partner gets an HTTP 404 or 403 calling an inbound web service, or a newly built OData service refuses to respond even though the backend logic tests fine in the debugger. It sits below the functional layer - nobody configures business processes here - and is the second stop after the browser's network trace or the calling system's HTTP log confirms the failure is transport-level, not application-level. If the symptom is a wrong result inside a working call, the problem is not in SICF; if the symptom is that the call never reaches ABAP at all, or reaches it and gets rejected before business logic runs, SICF is where the activation, handler assignment, and node-level authorization live.

How to use it in practice

  • Open SICF and enter the service hierarchy filter, or drill from the root (default_host) down the known path, e.g. sap, bc, ui5_ui5 or sap, opu, odata
  • Check the traffic-light icon at every level from the root down to the target node, not just the target node itself - any grey icon in the chain blocks everything below it
  • Right-click the node and choose to activate the service; the system prompts whether to activate for the current client only or across all clients, and this choice matters
  • Use 'Test Service' on the node to fire the actual URL from the application server and see the raw HTTP response and status code, bypassing browser and proxy layers
  • If the handler class is unclear or missing, open the node's Handler List tab to confirm which class is assigned and whether it still exists in the system
  • Cross-check the authorization tab for the node and compare against the actual user or service user making the call, not the admin user doing the testing

Key data objects

  • ICF service tree storage - holds each node's path segment, parent node, activation flag, and assigned handler class; SAP exposes this only through SICF's own tree display rather than a single flat table meant for direct SE16 queries
  • Client-specific activation flag - a per-client attribute on the service definition, separate from the cross-client definition of the node itself, which is why activating in one client does not automatically activate in another
  • Authorization object for ICF service maintenance (S_ICF) - checked when a user tries to display, activate, or test a node in SICF itself, distinct from any authorization the handler class enforces on the caller

How to prove it in the data

There is no clean single-table SE16 recipe for ICF state because SAP does not expose it as a supported flat table for direct querying. The reliable proof path is inside the transaction itself: walk the tree from the root to the failing node and record the icon color and client scope at each level, then use Test Service on the exact failing node to capture the raw HTTP status returned by the application server. Cross-reference that status against the ICM trace in the ICM monitor for the same timestamp to confirm the request actually reached the node being tested and was not rerouted or cached upstream.

ECC vs S/4HANA

SICF itself is structurally unchanged between ECC and S/4HANA - same tree, same activation model, same handler concept. What changed is how much depends on it: Fiori Launchpad tiles, SAP Gateway OData services, and the UI5 application repository all resolve through ICF nodes under paths such as sap, opu, odata and sap, bc, ui5_ui5, so a blank tile or a launchpad app that will not open is now far more likely to trace back to an inactive or misconfigured ICF node than it was in an ECC GUI-only landscape. There is no dedicated Fiori app that replaces SICF; it remains a Basis transaction.

Common pitfalls and how to diagnose them

  • Inherited inactivation - the target node is green but a parent folder several levels up is grey; walking the full path top to bottom is the only reliable check, spot-checking the leaf node alone gives false confidence
  • Handler class mismatch - the node is active, the URL resolves, but the response is a 500 with a short dump; the assigned handler class was deleted, renamed, or never released after a transport, visible in ST22 as a class-not-found or method-not-implemented dump
  • Authorization gap - a 403 appears only for the real calling user (an RFC user, a service user, a background user) and never for the consultant testing with a broad admin ID; testing must be done as, or on behalf of, the actual failing user, not the tester's own account
  • Transport does not carry activation - the service definition transports cleanly from dev to QA or production, but the activation flag itself is not automatically part of that transport unless explicitly handled, so the node lands inactive in the target system and everyone assumes the transport failed
  • Client scope confusion - activated in client 100 during the 'activate for this client only' prompt, tested and failing in client 200; the fix is not to reactivate, it is to redo the activation with the correct client scope
  • Stale cache masking a real fix - the node has been corrected but the ICM or a reverse proxy is still serving a cached error response; clearing the relevant cache or restarting the affected work process is needed before retesting is meaningful
  • Blanket mass-activation as a fix - activating large sections of the default_host tree 'to rule it out' resolves the symptom but opens unnecessary services to the network and routinely gets flagged in later security or vulnerability reviews; each activation should be scoped to the exact node needed

Whose problem this is

Basis owns activation, SSL binding, authorization defaults, and the transport of service definitions across landscape stages. ABAP development owns handler class errors surfaced as dumps. Functional and Fiori consultants need enough SICF literacy to check node status and run Test Service before escalating. A good handover states the exact service path, the client, the observed HTTP status, and whether the test was run as the actual failing user or as an administrator.

Related SAP objects

Reviewed pages this object connects to in the ERPClimb knowledge graph.

Source: ERPClimb — https://erpclimb.com/sap-tcodes/sicfERPClimb is an independent platform and is not affiliated with SAP SE. Reference pages are written and reviewed by SAP consultants for learning and troubleshooting.