Aller au contenu
Tutos SAP

Variante de sélection SAP : sauvegarder, réutiliser et planifier l’exécution d’un rapport

Chaque lundi matin, c'est le même rituel : vous ouvrez votre rapport, vous re-tapez la même société, le même magasin, la même plage de dates, les trois zon

Variante de sélection SAP : sauvegarder, réutiliser et planifier l’exécution d’un rapport

Chaque lundi matin, c’est le même rituel : vous ouvrez votre rapport, vous re-tapez la même société, le même magasin, la même plage de dates, les trois zones de filtre que vous connaissez par cœur. Cinq minutes perdues, et le risque, à la longue, de se tromper d’un caractère. La variante de sélection SAP existe précisément pour arrêter ça. C’est une fonction native, disponible sur presque tous les écrans de sélection de rapport, qui mémorise vos critères une bonne fois pour toutes et vous les ressert au clic. Et elle a un deuxième usage, moins connu : c’est elle qui rend possible l’exécution automatique d’un rapport en arrière-plan.

Bonne nouvelle, il n’y a rien à développer ni à demander à l’équipe technique. Vous savez déjà lancer votre rapport ; il vous manque juste deux ou trois gestes pour ne plus jamais re-saisir vos filtres.

À retenir en 30 secondes

Une variante de sélection mémorise les critères d’un rapport sous un nom, pour les rappeler au clic au lieu de tout re-saisir. On la crée depuis l’écran de sélection (SE38 / SA38), on passe ses dates en relatif pour qu’elles se mettent à jour seules, et c’est elle qu’un job planifié consomme en SM36 (puis se vérifie en SM37). L’un des rares gestes SAP qui se rentabilise dès la deuxième exécution.

Qu’est-ce qu’une variante de sélection SAP ?

Une variante de sélection SAP est un jeu de critères enregistré sur l’écran de sélection d’un rapport, que vous rappelez ensuite d’un clic au lieu de tout re-saisir. Concrètement : vous remplissez une fois les zones de l’écran (société, période, magasin, statut…), vous sauvegardez l’ensemble sous un nom, et ce nom devient réutilisable à chaque exécution. SAP ne réinvente rien à votre place ; il range simplement vos valeurs dans un tiroir étiqueté que vous rouvrez quand vous voulez.

Une variante, c’est l’écran de sélection figé sous un nom. Rien de plus, rien de moins.

Écran de sélection d'un rapport SAP avec critères saisis avant sauvegarde en variante
L’écran de sélection d’un rapport : c’est cet ensemble de critères que la variante mémorise sous un nom.

Variante de sélection, de programme, d’exécution : un seul et même objet

Vous allez croiser trois appellations, et elles désignent toutes la même chose. « Variante de sélection », « variante de programme » et « variante d’exécution » sont des synonymes : un rapport dans SAP est un programme, son écran d’entrée est l’écran de sélection, et la variante est ce que vous lancez à l’exécution. Trois angles de vue, un seul objet. Si un collègue parle de « variante de programme » et vous de « variante de sélection », vous parlez de la même chose.

Ne pas confondre avec la variante d’affichage ALV

La variante de sélection mémorise ce que vous cherchez (les critères avant exécution). La variante de mise en page d’une liste ALV mémorise comment le résultat s’affiche (colonnes, tris, sous-totaux après exécution). Deux mécanismes différents, deux boutons différents, à ne pas mélanger.

À quoi ça sert pour un key-user : le rapport récurrent

Le bénéfice se voit surtout sur les rapports que vous lancez encore et encore avec les mêmes filtres. Un état de stock par magasin, une liste de commandes ouvertes, un suivi de mouvements sur une période : dès qu’un rapport revient dans votre semaine, il mérite sa variante. Vous gagnez le temps de saisie, mais surtout vous supprimez l’erreur de frappe sur un critère, ce genre d’oubli qui fausse un résultat sans prévenir.

Il y a un troisième gain, et c’est le plus stratégique : une variante peut être partagée. Si trois personnes de votre service lancent le même rapport avec les mêmes critères, une variante commune garantit que tout le monde regarde exactement les mêmes données. Plus de « chez moi le chiffre n’est pas le même que chez toi ».

Créer et sauvegarder une variante en SE38 / SA38

Pour créer une variante, lancez le rapport, saisissez vos critères, puis utilisez la fonction « Sauvegarder comme variante » sur l’écran de sélection. Le geste est le même quel que soit le rapport, et c’est ce qui le rend facile à mémoriser une fois pour toutes.

Le flux d’une variante de sélection SAP Trois étapes : l’écran de sélection avec ses critères, la sauvegarde sous un nom, puis la variante réutilisable au clic. Écran de sélection Critères saisis une fois Sauvegarder comme variante Nom Description Protégée Masquée Rangée sous un nom Variante réutilisable au clic STOCK_MAG Un clic et l’écran se remplit seul
Le geste en trois temps : vous saisissez vos critères une fois, vous les rangez sous un nom, puis vous rappelez la variante au clic à chaque exécution.
  1. 1
    Lancer le rapport

    Ouvrez le rapport par son code transaction métier, ou par une transaction générique : SE38 (l’éditeur ABAP, qui exécute un programme via le bouton d’exécution) ou SA38 (qui sert uniquement à exécuter un programme sans passer par l’éditeur). Pour un key-user qui connaît le nom technique du rapport, SA38 est souvent la porte d’entrée la plus simple.

  2. 2
    Saisir vos critères

    Sur l’écran de sélection, remplissez vos zones comme d’habitude : valeurs uniques, plages (de… à…), ou sélections multiples. Tout ce que vous saisissez à cet instant va être mémorisé par la variante. Prenez le temps de poser les critères que vous voudrez retrouver tels quels la prochaine fois.

  3. 3
    Sauvegarder comme variante

    Allez dans le menu « Aller à » puis « Variantes », ou utilisez directement la fonction « Sauvegarder comme variante » (souvent accessible par le bouton de sauvegarde de l’écran de sélection). SAP vous demande alors un nom (technique, sans espace) et une description (en clair, celle que les autres verront dans la liste).

  4. 4
    Régler les attributs, puis valider

    Au même écran, choisissez les attributs utiles : « Protégée » (la variante ne peut être modifiée que par son créateur) et « Invisible / masquée à l’affichage » (elle existe et fonctionne, mais n’apparaît pas dans la liste de sélection courante). Validez : votre variante est créée et rappelable en un clic.

Boîte de dialogue SAP Sauvegarder comme variante avec nom, description et attributs Protégée et masquée
L’écran « Sauvegarder comme variante » : nom technique, description en clair, et les attributs Protégée / masquée.

Les attributs de variante à connaître dès le départ

Deux attributs méritent votre attention dès la première sauvegarde :

  • Protégée : la variante ne peut être modifiée que par son créateur. Utile pour une variante de référence que vous ne voulez pas voir écrasée par erreur.
  • Invisible / masquée à l’affichage : la variante existe et fonctionne, mais n’apparaît pas dans la liste de sélection courante. Pratique pour les variantes purement techniques destinées aux jobs, qu’on ne veut pas voir polluer la liste des utilisateurs.
Référence officielle SAP

La documentation SAP sur la création de variantes détaille chaque option du programme standard et le comportement des attributs.

Bonnes pratiques de nommage

Un bon nom de variante se lit sans avoir à l’ouvrir. Évitez les « TEST1 », « VAR_MICHAEL », « ESSAI » qui ne diront rien à personne dans six mois. Préférez un nom parlant qui code l’usage : périmètre, fréquence, périmètre métier. Quelques principes simples :

  • mettez le périmètre dans le nom (le magasin, la société, le domaine) ;
  • indiquez la fréquence si elle est porteuse de sens (mensuel, quotidien) ;
  • restez cohérent entre collègues : convenez d’un préfixe commun pour les variantes partagées du service.
Cinq minutes de convention au départ

Une variante partagée mal nommée crée plus de confusion qu’elle n’en résout. Convenir d’un préfixe commun pour le service au début vous évite des allers-retours plus tard.

Réutiliser une variante existante

Pour réutiliser une variante, lancez le rapport puis rappelez la variante au lieu de re-saisir vos critères : SAP recharge instantanément toutes les valeurs mémorisées. C’est le moment où le temps investi à la création vous est rendu.

Récupérer une variante au lancement

Sur l’écran de sélection, deux chemins. Soit vous cliquez sur le bouton « Récupérer la variante » (l’icône de chargement de variante en haut de l’écran), choisissez votre variante dans la liste, et l’écran se remplit tout seul. Soit, si vous passez par SA38, vous renseignez directement le nom de la variante dans la zone prévue avant d’exécuter. Dans les deux cas, vous vérifiez d’un œil que les critères sont bons, et vous lancez.

Petit réflexe utile : avant d’exécuter, jetez un regard à la période. C’est le critère qui « vieillit » le plus vite dans une variante, et on y revient juste après.

Modifier ou supprimer une variante

Une variante n’est pas gravée dans le marbre. Pour la faire évoluer, vous rappelez la variante, ajustez les critères, puis sauvegardez de nouveau sous le même nom (en écrasant l’ancienne version). Pour gérer l’ensemble de vos variantes d’un programme, le menu « Aller à » puis « Variantes » ouvre l’écran de maintenance où vous pouvez renommer, supprimer ou modifier les attributs.

Écran de maintenance des variantes SAP listant plusieurs variantes d'un même rapport avec leurs descriptions
L’écran de maintenance des variantes : la liste des variantes d’un programme, où l’on peut renommer, supprimer ou ajuster leurs attributs.

Une variante protégée ne se laissera modifier que par son créateur : c’est voulu, et c’est ce qui sécurise vos variantes de référence. Si vous héritez d’une variante de quelqu’un qui a quitté l’entreprise, votre administrateur SAP pourra en débloquer la maintenance.

Variables dynamiques : les dates qui se mettent à jour toutes seules

Une variante peut contenir des variables dynamiques, c’est-à-dire des valeurs recalculées automatiquement à chaque exécution, typiquement des dates relatives. Au lieu de figer « 01.06.2026 », vous dites à la variante « le premier jour du mois courant », et SAP calcule la bonne date à chaque lancement. C’est le levier de productivité que la plupart des tutoriels oublient, et c’est souvent celui qui change tout.

Le piège de la date figée

Imaginez la scène : vous créez en juin une variante « stock du mois » avec la période du 1er au 30 juin. Tant que vous la lancez en juin, parfait. Mais en juillet, votre variante ressort obstinément les chiffres de juin, parce que la date est gelée dans la variante. Le rapport tourne, ne renvoie aucune erreur, et vous donne une vieille donnée sans broncher. C’est l’un des bugs les plus sournois du quotidien key-user : le rapport ne plante pas, il vous sert un résultat faux qui a toutes les apparences du normal.

Une date figée dans un job, c’est un faux silencieux

Ce piège devient carrément dangereux quand la variante alimente un job automatique : un rapport qui s’envoie chaque mois avec les mêmes vieilles valeurs, sans erreur, sans alerte. Toute variante destinée à être relancée dans le temps doit utiliser une variable de date relative, jamais une date saisie en dur.

Date figée ou date relative : ce qui change concrètement

La parade tient en une option. Sur l’écran de sauvegarde de la variante, chaque zone de l’écran de sélection dispose d’un attribut. Pour une zone de date, vous pouvez choisir « variable dynamique de calcul des dates » et sélectionner une formule du standard SAP : premier jour du mois courant, jour du jour, dernier jour du mois précédent, et beaucoup d’autres. La date n’est alors plus saisie « en dur » mais calculée à l’exécution.

Date saisie en dur

  • La période reste gelée sur les valeurs du jour de création.
  • En juillet, la variante « stock du mois » ressort encore juin.
  • Aucune erreur affichée : le faux résultat passe inaperçu.
  • Il faut rouvrir et corriger la variante à chaque période.
  • Dans un job, le même vieux mois est renvoyé indéfiniment.

Date relative (variable dynamique)

  • La date est recalculée automatiquement à chaque exécution.
  • Lancée en juillet, elle prend juillet ; en août, elle prend août.
  • Le résultat reste juste sans aucune retouche.
  • Vous ne revenez plus jamais sur le critère de date.
  • Un job qui s’appuie dessus reste fiable pour toujours.
Attribut de variante SAP affectant une variable dynamique de date relative à une zone de date, avec la liste des formules de date standard
Sur l’écran d’attributs de la variante, une zone de date passe en « variable dynamique de calcul des dates » : on choisit une formule du standard SAP plutôt qu’une date en dur.
Date figée contre date relative dans une variante SAP Une date saisie en dur ressort le même mois en juin comme en juillet ; une date relative recalcule le bon mois à chaque exécution. Date saisie en dur Date relative (dynamique) Lancée en juin Lancée en juillet Variante = 01.06 au 30.06 Sort juin ✓ Variante = 01.06 au 30.06 Ressort encore juin Mois courant Calcule juin ✓ Mois courant Calcule juillet ✓ Résultat faux, sans aucune erreur affichée Toujours juste, sans retouche
Une date figée ressort obstinément le mois de création ; une date relative recalcule le bon mois à chaque exécution. Sur un rapport récurrent, c’est une condition de fiabilité, pas un confort.

Pour tout rapport périodique, cette option relève de la fiabilité, pas du confort. Votre variante « stock du mois » devient autonome, et un job qui s’appuie dessus reste juste sans intervention.

De la variante au job planifié (SM36 / SM37)

Planifier l’exécution automatique d’un rapport en arrière-plan suppose d’avoir d’abord une variante de sélection : c’est elle qui dit au job avec quels critères exécuter le rapport. Sans variante, le job ne saurait pas quoi filtrer. La variante est donc le prérequis du job, pas une option.

De la variante au job planifié SM36 puis SM37 La variante de sélection fournit les critères au job défini en SM36, dont l’exécution se vérifie en SM37. Variante STOCK_MAG Quels critères filtrer consommée par Job en SM36 Programme Variante Étape programme ABAP vérifié en SM37 Terminé En cours En erreur Sans variante, le job ne saurait pas quoi filtrer : elle est le prérequis, pas une option.
Le chaînon que la plupart des tutoriels oublient : la variante fournit les critères, le job SM36 la consomme, et SM37 montre quelle variante a réellement servi.

Pourquoi un job a besoin d’une variante : le chaînon manquant

Un job tourne sans personne devant l’écran. Il ne peut donc pas vous demander interactivement « quelle société ? quelle période ? ». Toutes ces réponses, il les lit dans la variante que vous lui associez. C’est exactement ce chaînon que la plupart des contenus en ligne laissent de côté : ils expliquent la variante d’un côté, le job de l’autre, sans dire que l’un ne va pas sans l’autre.

Si vous voulez le détail du cycle de vie d’un job, de sa création à sa surveillance, nous l’avons traité dans notre guide dédié sur la planification d’un job SAP en arrière-plan avec SM36 et SM37. Le présent article couvre la brique d’amont : la variante que ce job va consommer.

Renseigner la variante en SM36

Dans SM36 (définition des jobs), vous créez le job, puis vous ajoutez une étape de type « programme ABAP ». À cette étape, deux zones comptent : le nom du programme (votre rapport) et le nom de la variante. C’est là que tout se relie : vous désignez la variante créée plus tôt, et le job saura exactement quels critères appliquer à chaque exécution.

Écran SM36 de définition d'une étape de job SAP de type programme ABAP avec le nom du rapport et le nom de la variante renseignés
Dans SM36, l’étape « programme ABAP » relie le nom du rapport et le nom de la variante : c’est là que la variante créée plus tôt est consommée par le job.

C’est précisément ici que les variables dynamiques prennent tout leur sens. Un job mensuel pointant vers une variante à date figée renverrait éternellement le même mois. Le même job pointant vers une variante à date relative (« mois courant ») produit, lui, le bon résultat à chaque passage, sans aucune intervention. La qualité de votre variante détermine la fiabilité de votre job.

Vérifier l’exécution en SM37

Après planification, SM37 (suivi des jobs) vous montre l’état de vos jobs : planifiés, en cours, terminés, ou en erreur. Vous y retrouvez les journaux d’exécution et, surtout, la variante effectivement utilisée. En cas de doute sur un résultat, c’est le premier réflexe : ouvrir le job dans SM37 et vérifier quelle variante il a réellement consommée. Neuf fois sur dix, un job « qui sort de mauvaises valeurs » pointe vers une variante figée qu’on a oublié de passer en date relative.

Un rapport refusé ? Regardez du côté des autorisations

Exécuter un programme, qu’il s’agisse de SA38 en interactif ou d’un job en arrière-plan, suppose les autorisations d’exécution de rapport (l’objet d’autorisation qui contrôle le lancement des programmes). Si un rapport ou un job vous est refusé, ce n’est pas la variante qui est en cause, c’est votre profil d’autorisations : voyez avec votre administrateur SAP.

Erreurs fréquentes et points d’attention

Quelques pièges reviennent assez souvent pour mériter une liste courte que vous pourrez garder sous le coude :

  • La date figée dans une variante récurrente. Le grand classique. Toute variante destinée à être relancée dans le temps doit utiliser une variable de date relative, jamais une date saisie en dur.
  • Confondre variante de sélection et variante d’affichage ALV. L’une mémorise les critères avant exécution, l’autre la mise en forme du résultat. Deux objets distincts.
  • Un nom de variante illisible. « TEST2 » ne survit pas à six mois ni à un transfert de poste. Nommez pour le collègue qui héritera de la variante.
  • Oublier l’attribut « protégée » sur une variante de référence. Sans protection, n’importe qui peut l’écraser, et votre job se met à tourner sur des critères modifiés à votre insu.
  • Chercher du côté de la variante quand le problème est une autorisation. Un rapport ou un job refusé relève du profil d’autorisations, pas de la variante.

Aucun de ces points n’est compliqué. Ils coûtent juste cher quand on les découvre en production, sur un chiffre déjà transmis.

FAQ

C’est quoi une variante de sélection dans SAP et comment je la sauvegarde ?

Une variante de sélection est un jeu de critères enregistré sur l’écran de sélection d’un rapport. Vous saisissez vos valeurs une fois, vous utilisez « Sauvegarder comme variante », vous donnez un nom et une description, et vous la rappelez ensuite d’un clic à chaque exécution au lieu de tout re-saisir.

Comment éviter de re-saisir les mêmes critères à chaque rapport SAP ?

En créant une variante pour chaque rapport que vous lancez de façon récurrente. Une fois la variante enregistrée, vous la récupérez sur l’écran de sélection (bouton de récupération de variante) ou en renseignant son nom dans SA38, et tous vos critères se rechargent automatiquement.

Quelle différence entre variante de sélection, de programme et d’exécution SAP ?

Aucune : ce sont trois noms pour le même objet. Un rapport est un programme, son écran d’entrée est l’écran de sélection, et la variante est ce qu’on lance à l’exécution. Attention en revanche à ne pas la confondre avec la variante de mise en page d’une liste ALV, qui gère l’affichage du résultat, pas les critères.

Comment faire pour que la date dans ma variante SAP se mette à jour toute seule ?

En remplaçant la date saisie en dur par une variable dynamique de date relative au moment de sauvegarder la variante. Vous choisissez une formule du standard (premier jour du mois courant, jour du jour…) et SAP recalcule la date à chaque exécution. C’est indispensable pour toute variante relancée dans le temps ou utilisée par un job.

Comment planifier l’exécution automatique d’un rapport SAP avec mes critères ?

Vous créez d’abord une variante de sélection avec vos critères, idéalement avec des dates relatives. Puis dans SM36 vous définissez un job avec une étape « programme ABAP », en renseignant le nom du rapport et le nom de votre variante. Le job appliquera ces critères à chaque exécution. Vous suivez ensuite son déroulement dans SM37.

Pourquoi mon job SAP utilise-t-il une vieille date ou de mauvaises valeurs ?

Presque toujours parce que la variante associée au job contient une date figée au lieu d’une date relative. Le job ressort alors la même période à chaque passage. Ouvrez le job dans SM37 pour identifier la variante utilisée, puis repassez cette variante en variable de date dynamique.

En résumé

La variante de sélection transforme un geste répétitif en réflexe : vous saisissez vos critères une fois, vous les sauvegardez sous un nom clair, et vous les retrouvez au clic, y compris pour planifier un rapport en arrière-plan. Le vrai déclic, c’est de passer vos dates en relatif : la variante reste juste, semaine après semaine, sans que vous y touchiez.

Pour commencer, créez aujourd’hui une variante sur le rapport que vous lancez le plus souvent, et donnez-lui un nom qu’un collègue comprendrait du premier coup.

La variante de sélection est le petit geste qui sépare le key-user qui re-tape ses filtres chaque matin de celui qui lance ses rapports au clic et dort tranquille sur ses jobs automatiques. La prochaine fois que vous ouvrez votre rapport hebdomadaire, prenez les deux minutes pour créer la variante. Et si vous voulez aller un cran plus loin et automatiser complètement l’exécution, c’est par la planification d’un job en arrière-plan que ça passe.

Partager

À lire ensuite

Tutos SAP

IDoc SAP : lire un IDoc, analyser une erreur (WE02 / WE19 / BD87) et savoir quand l’utiliser

Un IDoc SAP en erreur, c'est souvent le premier vrai test d'autonomie d'un consultant junior. Le métier vous signale qu'une commande n'est pas arrivée dans

Michael Antoine Michael A. 19 min de lecture
Tutos SAP

Output management SAP : comment SAP décide quel document imprimer ou envoyer (NACE)

Si tu es key-user ou consultant junior SD, tu vas tôt ou tard tomber sur la question : "pourquoi ce document est sorti, et pourquoi celui-là ne part pas ?"

Michael Antoine Michael A. 17 min de lecture
Tutos SAP

SM30 : maintenir une table de paramétrage SAP sans développeur (et quand passer par SM31 ou SE11)

Un consultant me transfère une copie d'écran : « Michael, le client veut ajouter trois lignes dans une table de paramétrage, et l'équipe technique annonce

Michael Antoine Michael A. 18 min de lecture
Tutos SAP

Déterminer le prix dans SAP SD : la mécanique de la condition technique

Comment SAP détermine le prix d'une ligne de commande SD : schéma de calcul, types de condition, séquence d'accès et enregistrements de condition, expliqués pas à pas pour un consultant...

Michael Antoine Michael A. 16 min de lecture