Introduction to SAP Fiori T-Codes
If you’ve worked with SAP for any stretch of time, T-codes are second nature. Open the GUI, punch in SE11 or MM03, hit enter. Done. No menus, no searching around. It has been doing its job for decades and for the people who know it well, it still does that job fine. Then SAP Fiori came along and the conversation about what the SAP front end should look like changed pretty fundamentally for most business users.
Tiles instead of command fields. A launchpad you can open in a browser. Apps that work on a phone. And with that shift came a whole set of new transaction codes that admins and Basis teams need to know, not because end users are typing them, but because someone has to set all of this up and keep it running.
This guide is exactly that. The Fiori T-codes worth knowing, what they actually do, and when you’d use them.
What are SAP Fiori T-Codes?
A transaction code is basically a shortcut. Type it into the SAP command field and you’re straight into whatever screen or function you need, no menu navigation required.
SE80 opens the ABAP Workbench. SU01 takes you to user maintenance. Most SAP professionals have a small set of these memorised and use them dozens of times a day.
SAP Fiori T-codes are transaction codes that relate specifically to the Fiori environment, meaning the launchpad, the Gateway, OData services, navigation configuration, and all the underlying infrastructure that makes Fiori applications actually work. They are not codes that a business user in Finance or HR would ever touch. They belong to the people responsible for deploying, configuring, and maintaining Fiori.
The most basic example is /UI2/FLP. That one opens the Fiori Launchpad straight from SAP GUI. Simple. But the list goes further than that, activating OData services, setting up system aliases, managing caching, sorting out Gateway errors, configuring the NetWeaver Business Client. Each has its own code, and knowing which to use when is something you only really get from having actually worked in a Fiori environment.
Worth saying upfront though: using these T-codes doesn’t mean you’re stuck in old-school SAP GUI territory.
You still enter them in the GUI command field, but what they open or configure is the Fiori layer. It is a bit like using a command line to manage a graphical application. The interface you are building is modern. The tools to build it are not always.
List SAP Fiori T-Codes by Function and Type
T-Code | Function | Type |
/UI2/FLP | Launch SAP Fiori Launchpad | Fiori Launchpad and UI2 Transaction Codes |
/UI2/FLPD_CUST | Launch Fiori Launchpad Designer (Client-specific customization) | Fiori Launchpad and UI2 Transaction Codes |
/UI2/FLPD_CONF | Launch Fiori Launchpad Designer (Cross-client configuration) | Fiori Launchpad and UI2 Transaction Codes |
/UI2/FLPCM_CUST | Launch Fiori Launchpad Content Manager – Client-specific customization | Fiori Launchpad and UI2 Transaction Codes |
/UI2/FLPCM_CONF | Launch Fiori Launchpad Content Manager – Cross-client configuration | Fiori Launchpad and UI2 Transaction Codes |
/UI2/FLC | Perform Fiori Launchpad configuration and consistency checks | Fiori Launchpad and UI2 Transaction Codes |
/UI2/FLIA | Analyze Fiori Launchpad intent navigation mapping | Fiori Launchpad and UI2 Transaction Codes |
/UI2/FLP_CONTCHECK | Check content configuration issues in Fiori Launchpad | Fiori Launchpad and UI2 Transaction Codes |
/UI2/FLP_INTENTCHECK | Verify intent-based navigation consistency in FLP | Fiori Launchpad and UI2 Transaction Codes |
/UI2/FLT | Maintain and translate Fiori Launchpad texts | Fiori Launchpad and UI2 Transaction Codes |
/UI2/CUST | Access SAP Fiori Implementation Guide (IMG) | Fiori Launchpad and UI2 Transaction Codes |
/UI2/CACHE | Register OData/UI2 services for caching | Fiori Launchpad and UI2 Transaction Codes |
/UI2/CACHE_DEL | Delete cache entries (global/user-level) | Fiori Launchpad and UI2 Transaction Codes |
/UI2/PERS_DEL | Cleanup personalization data (user-specific settings) | Fiori Launchpad and UI2 Transaction Codes |
/UI2/CHIP | Register UI2 CHIPs (reusable UI components) | Fiori Launchpad and UI2 Transaction Codes |
/UI2/NAV | Register target mappings for intent-based navigation | Fiori Launchpad and UI2 Transaction Codes |
/UI2/NAVPROV | Define navigation providers for UI2-based navigation | Fiori Launchpad and UI2 Transaction Codes |
/UI2/SEMOBJ | Define custom semantic objects for navigation | Fiori Launchpad and UI2 Transaction Codes |
/UI2/SEMOBJ_SAP | View SAP-delivered standard semantic objects | Fiori Launchpad and UI2 Transaction Codes |
/UI2/GW_ACTIVATE | Activate Gateway services for UI2 | SAP Gateway and OData Configuration |
/UI2/GW_APPS_LOG | Review Gateway application logs | SAP Gateway and OData Configuration |
/UI2/GW_ERR_LOG | Access Gateway error logs specific to UI2 apps | SAP Gateway and OData Configuration |
/UI2/GW_MAINT_SRV | Maintain Gateway UI2/OData services | SAP Gateway and OData Configuration |
/UI2/GW_SYS_ALIAS | Manage SAP system aliases for Gateway routing | SAP Gateway and OData Configuration |
/n/UI2/GW_SYS_ALIAS | Alias: Same as /UI2/GW_SYS_ALIAS | SAP Gateway and OData Configuration |
/UI2/NWBC | Start NWBC (NetWeaver Business Client) in UI2 environment | NWBC and POWL Tools |
/UI2/NWBC_CFG_CUST | Maintain customer-specific NWBC configuration | NWBC and POWL Tools |
/UI2/NWBC_CFG_SAP | Maintain SAP-delivered NWBC configuration | NWBC and POWL Tools |
/UI2/NWBC_CFG_P_CUST | Define customer-specific NWBC launch parameters | NWBC and POWL Tools |
/UI2/NWBC_CFG_P_SAP | Define SAP-specific NWBC launch parameters | NWBC and POWL Tools |
/UI2/POWL | Register Personal Object Worklist (POWL) for OData consumption | NWBC and POWL Tools |
Commonly Used SAP Fiori Related T-Codes
Out of everything in the table above, there is a smaller group of transaction codes that come up again and again in real Fiori environments. These seven sit at the core of SAP Gateway and OData management, which is where most of the actual troubleshooting and configuration work happens once a Fiori system is live.
Most Fiori issues, when you trace them back far enough, are Gateway issues. A service that was not registered properly. An alias pointing somewhere it should not. An error that nobody noticed because the log was not being checked. These T-codes are how you get visibility into all of that.
T-Code | Description |
/IWFND/MAINT_SERVICE | This is where you register new OData services with the SAP Gateway hub and activate them so client applications can actually reach the service endpoint. It is also the first place to look when an existing service stops working or a connection starts behaving inconsistently. |
/IWFND/ERROR_LOG | Every failed OData request writes something here. Authentication problems, backend connectivity issues, misconfigured services, all of it shows up in this log. Each entry can be expanded to show what actually went wrong, which makes it significantly more useful than generic system logs when you are trying to track down a specific failure. |
/UI2/GW_SYS_ALIAS | System aliases are what connect the Fiori Launchpad to the backend where your data actually lives. This T-code is how you define and manage those aliases. Get them wrong and OData requests from the Gateway hub go nowhere, or worse, somewhere they should not. |
/UI2/GW_ACTIVATE | Before the Gateway can do anything useful, the right ICF nodes and service components need to be switched on. This T-code handles that activation. It is usually one of the first things you run during a fresh Fiori setup. |
/UI2/GW_APPS_LOG | Different from the error log. This one gives you application-level logs specific to individual Fiori apps and Gateway services. When an app loads incorrectly or data is rendering in a way that does not make sense, this is where you look for the why. |
/UI2/GW_ERR_LOG | Focused specifically on Gateway errors rather than application-level issues. If apps are not loading at all or the launchpad is throwing rendering errors, start here before digging deeper. |
/UI2/GW_MAINT_SRV | Once a service is registered, this is what you use to manage it over time. Updating service details after a backend upgrade, refreshing metadata, swapping out a system alias without going through the full registration process again. Routine maintenance, but important. |
Difference Between SAP T-Codes and Fiori Apps
It’s a fair question and the confusion makes sense. Both get things done in SAP. Both can hit the same backend logic. So what’s the actual difference?
Put simply, a T-code is a shortcut inside a desktop client that’s been around since the 90s. A Fiori app is a web application built for a specific role, runs in a browser, designed from scratch with the user in mind. The data is the same. Everything around it isn’t.
SAP GUI, where T-codes live, was built for speed and depth. It gives trained users direct access to almost anything in the system. The tradeoff is that it is not intuitive for people who did not grow up using it, it does not work on mobile, and customising the interface for different user types is limited. A new employee sitting down in front of SAP GUI for the first time will have questions.
Fiori flips those priorities. It is built to be approachable, to surface only what a given role actually needs, and to work across devices. The tradeoff is that deep configuration tasks and complex system administration are often not available as Fiori apps at all. For those, you go back to the GUI and T-codes.
Aspect | SAP T-Codes | SAP Fiori Apps |
Interface | SAP GUI desktop client | Browser, any device |
Built for | Trained / technical users | Business users of all types |
Navigation style | Enter code in command field | Tile-based, intent-driven |
Mobile support | No | Yes |
Customisation | Limited | Configurable launchpad |
New feature delivery | Largely frozen | Active development |
Deployment requirement | SAP Logon client | URL access only |
Something worth noting here: the fact that Fiori exists does not mean T-codes become wrong to use. For technical teams doing system configuration, running transports, or managing security, T-codes are often faster and more direct than anything Fiori offers. The two tools are genuinely suited for different users doing different kinds of work.
SAP Fiori Apps Library Overview
SAP has a public catalogue of every Fiori app they ship. It’s called the SAP Fiori Apps Library.
It lives at fioriappslibrary.hana.ondemand.com and it is more useful than most people realise when they first stumble across it.
You can search it by role, module, deployment type, or business process. Each app entry shows you what OData services it requires, which you’d activate through /IWFND/MAINT_SERVICE, which SAP versions support it, whether it’s on-premise or cloud only, and the related classic T-code if one exists.
Each app also has its own App ID. That number shows up constantly once you’re in the weeds of launchpad configs, catalog assignments, and authorisation work. When someone mentions F0842A, they mean the Create Purchase Order app, the Fiori equivalent of ME21N.
Covers S/4HANA on-premise, S/4HANA Cloud, SAP ERP, BW, Ariba, and a few more. Starting a Fiori rollout? This is probably the first tab you open. Which apps exist for your modules, what they need to run, where activation work should start.
One practical tip: don’t search by app name alone.
Search by the T-code your users currently rely on. If you want to know whether there is a Fiori equivalent of SQ01 or FB03 or whatever transaction is central to a specific team’s workflow, the library will tell you directly. It saves a lot of time compared to hunting through SAP notes or asking on forums.
Mapping T-Codes to Fiori Apps
Mapping T-codes to Fiori apps is one of those exercises that comes up in almost every S/4HANA migration or greenfield deployment. And it’s more than just a documentation job.
It feeds directly into role design, catalog structure, and the authorisation concept for the whole Fiori landscape.
The mapping process has a few steps in practice. First, you need an accurate picture of which T-codes are actually being used and by whom, usage statistics from SM20 or similar tools help here. Then you check the Fiori Apps Library for each one. Some will have a direct equivalent. Some will have a partial equivalent where the Fiori app covers the most common use case but not every edge case. And some will have nothing at all, in which case those transactions stay in the GUI.
Below is a reference table for some of the most commonly mapped T-codes:
T-Code | SAP Fiori App | App ID |
ME21N | Create Purchase Order | F0842A |
ME23N | Display Purchase Order | F0843A |
FB50 | Post General Journal Entry | F1486 |
F-28 | Post Incoming Payment | F0718 |
VA01 | Create Sales Order | F0758 |
MM60 | Inventory Turnover | F1685 |
PA40 | Personnel Actions | F2163 |
SM30 | Maintain Table Views | F3040 |
/UI2/FLP | Fiori Launchpad | Built-in |
Keep in mind that some Fiori apps consolidate functionality that previously required going to multiple different T-codes. A single approval app might replace what used to be a three-step process across three separate transactions. That kind of consolidation is one of the genuinely useful things Fiori brings, though it also means the mapping is not always one-to-one.
Benefits of Using SAP Fiori
A lot has been written about why Fiori is better than the old SAP GUI experience, and some of it is marketing. But there are real, practical reasons why organisations that have gone through a proper Fiori implementation tend not to want to go back.
The most significant one is adoption. SAP GUI has always had a training problem. It is not immediately obvious how to navigate, and without coaching, new users struggle. Fiori removes most of that friction. The interface is close enough to what people already know from consumer apps that you do not need a week of classroom training to get someone functional. That matters especially when you are onboarding large numbers of users or dealing with high staff turnover in roles like warehouse operations or shared services.
The mobile access point is real too, not just a talking point. A finance manager approving payments from an airport, a warehouse supervisor checking stock on a handheld, an HR manager sorting out leave requests from their phone. SAP GUI has no answer for any of that.
Fiori handles them without any additional infrastructure beyond a mobile browser.
There is also a security angle that does not get discussed enough. Because Fiori is role-based by design, it naturally supports tighter access controls. Users only see what they are authorised to see. There are no screens full of buttons that do not apply to the person looking at them. This reduces both the risk of accidental misuse and the surface area for potential security issues.
For organisations running or planning to run SAP S/4HANA, there is also a practical roadmap argument. SAP is putting its development resources into Fiori. New features come out as Fiori apps. The GUI is maintained but not actively being expanded. Staying purely GUI-based means progressively falling behind on functionality that your competitors might be using.
That said, Fiori is not a magic fix. A poorly designed Fiori landscape with poorly structured catalogs and authorisations can be just as frustrating as a badly managed SAP GUI environment. The technology helps but the implementation still matters.
Using T-Codes in Fiori Launchpad
Something that catches people off guard when they start working in Fiori administration is how much T-codes and the Fiori Launchpad actually overlap. They’re not two separate systems running in parallel, there’s more crossover than the standard narrative lets on.
The launchpad search bar can be set up to recognise classic T-codes. A user types VA01, and instead of hitting a dead end, the system pulls up the corresponding Fiori app. Handy during transition periods where users are still defaulting to the T-codes they’ve always known but the business wants them in Fiori.
The deeper version of this is intent-based navigation, which is configured using /UI2/NAV for target mappings and /UI2/SEMOBJ for defining the semantic objects that drive routing. When set up properly, entering a T-code in certain contexts will automatically redirect to the Fiori app that covers that functionality. This is not the default behaviour, it requires configuration, but it is a powerful bridge for hybrid environments.
/UI2/FLP is the transaction code that opens the Fiori Launchpad from SAP GUI directly. It is the clearest example of T-codes and Fiori coexisting in a single action. You are in the GUI, you type a T-code, and it opens a browser-based launchpad. That is the transition point many organisations are sitting at right now.
For environments running both GUI and Fiori in parallel, /UI2/NWBC launches the NetWeaver Business Client, which can embed both interfaces within a single navigation framework. Does it add complexity? Yes. Is it perfect? No. But when you’re a large organisation stuck in the middle of a migration, it’s usually the most workable answer to keeping GUI users and Fiori users running on the same system without building out two completely different environments.
On the launchpad admin side, a few codes you’ll end up using regularly: /UI2/FLPD_CUST handles client-level launchpad customisation, /UI2/FLPD_CONF is for cross-client configuration, and then /UI2/FLPCM_CUST and /UI2/FLPCM_CONF cover catalog and group management, which is essentially controlling what tiles land in front of which users. If the Fiori launchpad is yours to manage, these will stop feeling unfamiliar pretty quickly.
Future of SAP Fiori vs T-Codes
The honest answer to where this is all heading is that both will be around for longer than either camp expects.
SAP has been clear that Fiori is the strategic interface. S/4HANA Cloud has no GUI access. New functionality ships as Fiori apps. SAP’s own design guidelines actively discourage building new GUI transactions. The momentum is real and it has been building for years.
But T-codes are not going anywhere soon, at least not for on-premise and hybrid customers. There are thousands of them, many covering configuration and administration tasks that do not have Fiori equivalents and may never get them because the user base for those screens is too small and too technical to justify building a tile for. Basis administrators doing transport management, security teams running authorisation traces, developers in SE80, none of those workflows are going away.
What is actually happening, if you look at organisations in the middle of this transition, is a gradual split. Business users, the people in Finance, HR, Procurement, Sales, move to Fiori. Technical users stay in the GUI. The two groups increasingly use the same SAP system in completely different ways. That split is not a problem to solve. It is probably just how enterprise SAP works now.
If you haven’t started with Fiori yet, the argument for doing so is more solid now than it was a few years back. App coverage is broader, the implementation tools are better, and the practical difference between organisations running Fiori and those still fully on GUI is getting harder to ignore.
For those already on Fiori, the questions shift. Which workflows are still T-code dependent and ready to move over? Where is the Fiori experience still weak enough that users are quietly going back to the GUI anyway? And maybe most importantly, how do you stop the launchpad from turning into the same bloated, over-permissioned mess that made people want to leave the GUI in the first place?
No straightforward answers to any of that. But they’re worth sitting with.
FAQ on SAP Fiori T-Codes
1. What are SAP Fiori T-Codes?
SAP Fiori T-codes are transaction codes used in SAP GUI to configure, manage, and troubleshoot the SAP Fiori environment. They cover the Fiori Launchpad, SAP Gateway, OData services, intent-based navigation, and related infrastructure. Basis admins and technical teams are the ones using these, not someone in Finance trying to post an invoice. Common examples include /UI2/FLP to open the Fiori Launchpad, /IWFND/MAINT_SERVICE to register and activate OData services, and /UI2/GW_ERR_LOG to review Gateway error logs.
2. How can I find the Fiori app for a specific T-Code?
The SAP Fiori Apps Library at fioriappslibrary.hana.ondemand.com is where most people start. Search by T-code, role, or business process and you’ll usually find what you need. If your admin has the Fiori Launchpad search set up properly, typing a T-code directly into the search bar can bring up the equivalent app without leaving the launchpad. SAP also puts out migration guides by module that go into T-code to Fiori app mappings in decent detail.
3. What is the difference between SAP T-Codes and Fiori apps?
T-codes live inside SAP GUI, a desktop client, and get you straight to a system function without any detours. Fiori apps are browser-based, sit on the Fiori Launchpad, and are built around what a specific business role actually needs rather than how the system is structured. T-codes are fast if you know them, but you need a desktop and mobile is off the table. Fiori works on anything, takes less time to get comfortable with, and is where SAP is putting new features.
4. Can I use SAP GUI T-Codes in SAP Fiori?
On-premise, yes. Not out of the box though, it needs configuration. Once that’s done, the Launchpad search can pick up T-codes and point users toward the right Fiori app.
You can also configure intent-based navigation so that entering a T-code routes straight to the relevant app without any extra steps. S/4HANA Cloud is a different story though. No SAP GUI access means no T-codes, full stop.
5. Is there a complete list of SAP Fiori T-Codes?
The table in this article covers the main Fiori-specific transaction codes across launchpad configuration, Gateway administration, and NWBC tools. For a broader reference covering all SAP T-codes including those with Fiori app equivalents, the SAP Fiori Apps Library and the SE93 transaction inside SAP GUI (which lists every transaction code in the system) are the most complete sources available.








