Administration et dépannage

Invalidation des caches du launchpad

L'invalidation des caches du launchpad est l'ensemble des programmes et étapes qui vident les caches du SAP Fiori launchpad, principalement le cache UI2 côté serveur avec /UI2/INVALIDATE_GLOBAL_CACHES et les ressources côté navigateur avec /UI2/INVALIDATE_CLIENT_CACHES. C'est une correction ciblée du contenu obsolète après des transports, des mises à niveau ou des support packages, et non une première étape de routine.

L'essentiel

Type
Procédure d'administration (programmes ABAP et transactions)
Couche
Contenu, navigation et accès
Cache UI2 côté serveur
Programme /UI2/INVALIDATE_GLOBAL_CACHES ; transaction /UI2/INVAL_CACHES
Caches client
Programme /UI2/INVALIDATE_CLIENT_CACHES, pour tous les utilisateurs ou un seul
Évite les applications obsolètes
/UI5/APP_INDEX_CALCULATE planifié (jetons cache buster)
Exécuté par
Administrateurs basis et administrateurs du launchpad
S'applique à
SAP S/4HANA on-premise et Private Edition (serveur front-end ABAP)
Couche : Contenu, navigation et accèsOù se situe-t-il ? ▾
Où se situe-t-il ?: L2 · Contenu, navigation et accèsCouche : Contenu, navigation et accès.L1L2L3L4L5L6BTP

Couche : Contenu, navigation et accès

Ouvrir la carte d'architecture →

Quels caches le SAP Fiori launchpad utilise-t-il ?

Trois caches peuvent conserver un contenu de launchpad obsolète :

  • Le cache UI2 côté serveur, sur le serveur front-end, pour les services propres au launchpad comme la construction des pages et la personnalisation. Le système l'invalide automatiquement lorsqu'une configuration de tile ou de catalogue, un rôle PFCG, un contenu LPD_CUST ou une application SAPUI5 change.
  • Le cache du navigateur, pour les ressources SAPUI5, le code des applications, les target mappings et les métadonnées OData. Les jetons cache buster dans les URL des ressources font recharger par le navigateur uniquement ce qui a changé sur le serveur.
  • Le cache de métadonnées SAP Gateway, pour les modèles de services OData, vidé séparément avec /IWFND/CACHE_CLEANUP et /IWBEP/CACHE_CLEANUP.

Savoir lequel des trois contient les données obsolètes détermine l'étape d'invalidation des caches du launchpad nécessaire.

Quand vider les caches du launchpad ?

La position de SAP est que l'invalidation manuelle du cache UI2 ne devrait normalement pas être nécessaire, car les modifications la déclenchent automatiquement. Vider les caches se justifie lorsque :

  • un catalogue ou une application transportés n'apparaissent pas alors que les rôles et le contenu sont corrects ;
  • un support package, une note SAPUI5 ou une mise à niveau de release a été appliqué ;
  • les utilisateurs voient l'ancien comportement d'une application après un déploiement, et l'index des applications SAPUI5 n'a pas été recalculé.

Ne videz pas les caches par réflexe pour chaque tile manquante. Un catalogue absent du rôle ou un target mapping sans le type d'appareil de l'utilisateur produit le même symptôme, et /UI2/FLIA les détecte en quelques minutes. L'invalidation des caches du launchpad corrige des données obsolètes, pas un contenu erroné.

Comment vider les caches du launchpad pas à pas ?

Après l'import d'un support package sur le serveur front-end d'Alder Manufacturing :

  1. Exécutez /UI5/APP_INDEX_CALCULATE, ou vérifiez que son job planifié a tourné, afin que les jetons cache buster reflètent les nouvelles versions des applications.
  2. Exécutez /UI2/INVALIDATE_GLOBAL_CACHES dans SE38, ou la transaction /UI2/INVAL_CACHES, pour invalider tous les caches UI2.
  3. Si nécessaire, exécutez /UI2/INVALIDATE_CLIENT_CACHES dans SE38, pour tous les utilisateurs ou un seul. Invalider les caches d'autres utilisateurs requiert le rôle SAP_UI2_ADMIN_700.
  4. Exécutez /UI2/DELETE_CACHE_AFTER_IMP après l'import si le guide de mise à niveau de votre release le mentionne.
  5. Nettoyez le cache de métadonnées SAP Gateway si des services OData ont changé.
  6. Demandez aux utilisateurs concernés de recharger la page, ou de vider le cache du navigateur si les symptômes persistent.

Chaque invalidation des caches client est consignée dans le journal d'application (SLG1). Respecter cet ordre rend l'invalidation des caches du launchpad prévisible au lieu de procéder par tâtonnements.

Que fait réellement /UI2/INVALIDATE_CLIENT_CACHES ?

/UI2/INVALIDATE_CLIENT_CACHES renouvelle le jeton cache buster global. Depuis que SAP a introduit le cache busting spécifique à chaque application, les applications SAP Fiori du référentiel SAPUI5 obtiennent leurs propres jetons à partir de l'index des applications SAPUI5, et le navigateur ne recharge une application que si elle a changé. Le jeton global couvre encore :

  • les données des requêtes OData propres au launchpad, comme les target mappings et la personnalisation ;
  • les ressources SAPUI5 classiques qui ne sont pas des composants, par exemple certaines implémentations de tiles spécifiques ;
  • les applications absentes d'un index des applications incomplet.

SAP décrit donc l'exécution de /UI2/INVALIDATE_CLIENT_CACHES comme nécessaire uniquement dans des cas exceptionnels. Un index des applications planifié régulièrement rend /UI2/INVALIDATE_CLIENT_CACHES rarement nécessaire.

Cache UI2, cache client ou cache de métadonnées Gateway : quelle différence ?

Cache UI2 côté serveurCache client (navigateur)Cache de métadonnées SAP Gateway
ContientDonnées des services du launchpad sur le serveur front-endRessources SAPUI5, target mappings, métadonnées ODataModèles de services OData et d'annotations
Vidé avec/UI2/INVALIDATE_GLOBAL_CACHES ou /UI2/INVAL_CACHES/UI2/INVALIDATE_CLIENT_CACHES ; rechargement du navigateur/IWFND/CACHE_CLEANUP, /IWBEP/CACHE_CLEANUP
Actualisé automatiquement parModifications des rôles, catalogues, LPD_CUST, applicationsJetons cache busterComparaison des horodatages du modèle
Déclencheur typique du vidageContenu transporté non visibleAncienne version de l'application après un déploiementModèle de service ou annotations modifiés

Chaque cache a son propre nettoyage ; vider le mauvais laisse les données obsolètes en place.

Questions fréquentes

/UI2/INVALIDATE_GLOBAL_CACHES est-il une transaction ou un programme ?

/UI2/INVALIDATE_GLOBAL_CACHES est un programme ABAP, lancé dans SE38. SAP documente aussi la transaction /UI2/INVAL_CACHES pour invalider tous les caches UI2. Exécuter l'un ou l'autre sur le serveur front-end vide les caches du launchpad côté serveur, pas le cache du navigateur.

Vider le cache déconnecte-t-il les utilisateurs ou supprime-t-il la personnalisation ?

Aucune déconnexion n'est décrite. L'invalidation oblige le launchpad à reconstruire les données en cache à partir du serveur, si bien que le démarrage suivant peut être plus lent. Les caches client contiennent des données du launchpad comme les target mappings et les données de personnalisation issues des requêtes OData : le launchpad redemande donc ces données au serveur.

Pourquoi les utilisateurs voient-ils encore l'ancienne tile après le vidage des caches ?

Le contenu lui-même est probablement erroné, et non obsolète. Vérifiez que le catalogue figure dans le rôle de l'utilisateur, que le target mapping prend en charge le type d'appareil et qu'une couche de customizing ne masque pas le nouveau contenu de configuration. /UI2/FLIA montre le contenu que le launchpad résout réellement.

Comment savoir pourquoi le cache UI2 a été invalidé ?

Le Cache Statistics Utility, transaction /UI2/CSU, indique la fréquence de lecture des données dans le cache et la raison de son invalidation. Il est utile lorsque des utilisateurs signalent des démarrages lents du launchpad après des invalidations fréquentes.

Sources

S'applique à
SAP S/4HANA on-premise · SAP S/4HANA Cloud Private Edition
Dernière relecture

SAP, SAP Fiori, SAPUI5, SAP S/4HANA, SAP BTP et les autres produits et services SAP mentionnés sont des marques commerciales ou des marques déposées de SAP SE (ou d'une société affiliée à SAP) en Allemagne et dans d'autres pays. Ce guide est indépendant ; il n'est ni affilié à SAP SE, ni sponsorisé, ni approuvé par SAP SE.