Aller au contenu
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 ?"

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

Un document de sortie SAP ne se déclenche jamais “parce que c’est comme ça”. Quand une commande client part en confirmation par e-mail, qu’une facture s’imprime sur la bonne imprimante, ou qu’un avis d’expédition s’envoie en EDI au client, le système a pris une décision. Et cette décision suit une mécanique précise, la même que celle qui sert au prix. C’est exactement ce que recouvre l’output management SAP (la gestion des messages de sortie), et le point d’entrée de cette mécanique côté paramétrage s’appelle 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 ?”. Cet article répond côté fonctionnel, en suivant le fil “comment SAP décide”, pas “comment je développe un formulaire”. On ne touche ni à SAPscript, ni à Adobe, ni à l’ALE. On regarde la logique de décision.

À retenir en 30 secondes
  • La sortie des documents SAP est pilotée par la technique de condition, exactement comme la détermination du prix.
  • La transaction NACE est le point d’entrée du paramétrage de l’output management classique (output types, séquences d’accès, tables et fiches conditions).
  • Le type de message (output type) dit quoi sortir, la fiche condition dit par quel support et pour quel destinataire.
  • La table NAST enregistre la décision de sortie et le statut du message (à traiter, traité, en erreur).
  • Un document “qui ne part pas” est souvent juste en attente de son job : le programme RSNAST00 balaie les messages en attente.
  • Pour diagnostiquer le “pourquoi”, l’outil officiel est l’analyse de détermination, équivalent exact de l’analyse de prix.

Le problème métier : à un instant T, SAP doit décider quoi sortir, pour qui, par quel canal

Prends une commande client que tu viens d’enregistrer. À cet instant, SAP doit répondre à trois questions, en même temps et automatiquement :

  • Quoi ? Faut-il sortir un document, et lequel (une confirmation de commande, un accusé, un avis) ?
  • Pour qui ? Quel destinataire, c’est-à-dire quelle fonction partenaire (le donneur d’ordre, le réceptionnaire des marchandises, le payeur) ?
  • Comment et quand ? Par quel support de sortie (medium) : impression, e-mail, EDI, fax ? Et à quel moment : tout de suite, ou plus tard par un job ?

Personne ne code en dur ces réponses. Si on le faisait, chaque client, chaque organisation commerciale, chaque type de document demanderait une exception dans le programme. Ce serait ingérable. SAP a donc besoin d’un mécanisme paramétrable qui regarde le contexte du document et en déduit la sortie correcte. Ce mécanisme, tu le connais peut-être déjà sous un autre nom.

La réponse de SAP : la technique de condition, la même que pour le prix

La documentation SAP est explicite sur ce point : tout comme la détermination du prix et la détermination des textes, la sortie des documents est pilotée par la technique de condition (condition technique). C’est le cœur de l’article, et c’est aussi le meilleur raccourci d’apprentissage que je puisse te donner.

Si tu as déjà compris la technique de condition expliquée dans la détermination du prix, tu connais déjà 90 % de l’output management. Ce sont les mêmes briques, dans le même ordre, avec le même vocabulaire. Seul l’objet change : au lieu de déterminer un montant, SAP détermine quel message de sortie proposer et avec quelles propriétés.

Voici la correspondance terme à terme entre les deux mondes :

Détermination du prix (SD)Output management (sortie des documents)Rôle commun
Type de condition (ex. PR00)Type de message / output type (ex. BA00)L’objet que SAP cherche à déterminer
Séquence d’accèsSéquence d’accèsLa stratégie de recherche, du spécifique au général
Tables de conditionTables de conditionLes combinaisons de champs clés possibles
Fiches conditions (prix)Fiches conditions de sortie / condition recordsLes données concrètes saisies par le métier
Procédure de prix (pricing procedure)Procédure de détermination des messagesLa liste ordonnée de ce que SAP doit chercher
Correspondance terme à terme entre la détermination du prix et l’output management : la même technique de condition appliquée à deux objets différents.
Le raccourci d’apprentissage

Retiens cette correspondance. Si tu sais lire une analyse de prix, tu sais lire une analyse de sortie. La gymnastique mentale est identique : tu apprends, en réalité, la même technique deux fois.

Parallèle entre la détermination du prix et l’output management dans SAP Deux pipelines identiques côte à côte, prix à gauche et output à droite, partageant la même technique de condition : procédure, séquence d’accès, tables de condition, fiches conditions. Une seule technique de condition, deux objets Le prix et la sortie des documents suivent exactement le même chemin Détermination du prix (SD) Output management Procédure de prix liste ordonnée des types de condition Procédure de détermination liste ordonnée des types de message Séquence d’accès Séquence d’accès identique Tables de condition Tables de condition identique Fiches conditions (prix) Fiches conditions de sortie Objet déterminé : un montant le prix de la ligne Objet déterminé : un message support, timing, destinataireSeul l’objet final change. Le chemin de décision est le même.
Le prix et l’output management empruntent la même technique de condition : mêmes procédure, séquence d’accès, tables et fiches conditions. Seul l’objet déterminé change (un montant pour le prix, un message de sortie pour l’output).

Les briques de la détermination des messages : output type, séquence d’accès, tables, fiches, procédure

Reprenons chaque brique dans l’ordre où SAP les utilise.

La chaîne de détermination d’un message de sortie dans SAP Suite ordonnée des briques que SAP parcourt pour déterminer un message : procédure de détermination, type de message, séquence d’accès, tables de condition, fiches conditions, puis support de sortie et timing. Comment SAP détermine un message de sortie Du contexte du document jusqu’au support et au timing 1. Procédure de détermination des messages affectée selon le type de document 2. Type de message (output type) quoi sortir : confirmation, facture, avis 3. Séquence d’accès stratégie de recherche, du spécifique au général 4. Tables et fiches conditions la combinaison qui correspond au contexte fiche trouvée 5. Message retenu avec ses propriétés Support de sortie Timing PartenairePas de fiche trouvée = pas de message = rien ne sort
La chaîne de détermination d’un message de sortie, étape par étape : la procédure affectée au document lance la recherche des types de message, la séquence d’accès parcourt les tables du spécifique au général, et la première fiche condition trouvée fixe le support, le timing et le destinataire.

Le type de message (output type)

Le type de message, ou output type, est l’unité de base. C’est lui qui représente “une confirmation de commande”, “une facture imprimée”, “un avis d’expédition EDI”. Dans le standard SD, la confirmation de commande porte souvent le code BA00. Une fiche condition rattachée à un output type contient ses propriétés dans un contexte donné : le support de sortie, le timing, la langue, et la fonction partenaire destinataire.

La séquence d’accès (access sequence)

La séquence d’accès est la stratégie de recherche. La règle, écrite noir sur blanc dans la doc SAP, est de chercher “du spécifique au général”. Concrètement, chaque étape de la séquence pointe vers une table de condition, et SAP les parcourt dans l’ordre : d’abord la combinaison la plus fine (ce client précis, cette organisation commerciale), puis des combinaisons plus larges si rien n’a été trouvé. Dès qu’une fiche condition correspond, SAP s’arrête. Exactement comme pour le prix.

Les tables de condition (condition tables)

Chaque table de condition définit une combinaison de champs clés sur laquelle une fiche peut exister. Par exemple : une fiche par organisation commerciale, ou une fiche par client et type de document. C’est cette structure qui rend la sortie paramétrable sans toucher au code : on ajoute une combinaison, pas une exception logicielle.

Les fiches conditions de sortie (condition records)

C’est la donnée de maître que le métier saisit. Une fiche condition de sortie dit, par exemple : “pour le client C650 en organisation commerciale 1010, sortir la confirmation BA00 par fax”. C’est là que se décide concrètement le support et le destinataire. Le consultant met en place la mécanique ; le key-user, lui, vit le plus souvent dans les fiches conditions, car c’est l’endroit où l’on règle un cas client sans demander de développement.

La procédure de détermination des messages

La procédure est la liste ordonnée des output types que SAP doit évaluer pour un objet donné (l’en-tête de la commande, ou un poste). Elle est affectée selon le type de document. C’est l’équivalent direct de la procédure de prix : sans procédure affectée, SAP ne sait pas quoi chercher, et rien ne sort.

NACE : la transaction où tout se règle

À quoi sert la transaction NACE ? C’est le point d’entrée unique du paramétrage de l’output management classique. Depuis NACE, tu choisis l’application concernée (par exemple V1 pour les ventes, V3 pour la facturation) puis tu accèdes à tout l’arbre de la technique de condition : les output types, les séquences d’accès, les tables de condition, les procédures, et l’affectation aux types de documents. C’est l’écran où le consultant assemble la mécanique décrite plus haut.

Écran d'accueil de la transaction NACE : liste des applications de l'output management (V1 ventes, V3 facturation) donnant accès aux types de message et séquences d'accès
L’écran d’accueil de NACE : on choisit l’application (V1 ventes, V3 facturation) pour accéder aux output types, séquences d’accès, tables et procédures.
Customizing des output types dans NACE pour une application (commande d'achat) : liste des types de message NEU et Z08 et structure de paramétrage (titres de mail, routines de traitement, fonctions partenaires)
Une fois l’application choisie (ici EF, commande d’achat), NACE affiche ses output types : NEU, Z08… C’est là qu’on définit chaque type de message de sortie et son comportement.

Un point de vocabulaire important sur les versions de SAP S/4HANA. À côté de l’output management classique piloté par NACE, SAP propose le New Output Management, qui ne repose plus sur la technique de condition mais sur un moteur de règles, le BRF+ (Business Rule Framework plus), avec des tables de décision à la place des séquences d’accès et des fiches conditions. Il se paramètre ailleurs, via les composants Cross-Application et l’activation par type d’objet applicatif, par exemple SALES_DOCUMENT. Les deux mondes coexistent. Pour savoir lequel s’applique, on vérifie d’abord si le New Output Management est actif pour l’objet concerné. Tant qu’il est inactif, c’est bien la mécanique NACE classique qui pilote la sortie. Pour le détail officiel des deux mondes selon ta version, la documentation officielle SAP S/4HANA on-premise fait foi.

Pour un key-user, la bonne nouvelle est que la logique de décision reste la même dans les deux cas : SAP regarde le contexte du document, du plus spécifique au plus général, pour en déduire quoi sortir, par quel canal et pour qui. Seuls le moteur et l’emplacement du paramétrage changent.

Medium et timing : par quel canal et à quel moment SAP sort le document

Une fois que SAP a déterminé quel output type proposer, deux propriétés de la fiche condition pilotent la sortie réelle.

Le support de sortie (medium) dit comment le document est émis. La doc SAP cite l’impression, l’e-mail, l’EDI (Electronic Data Interchange, pour les échanges automatisés entre systèmes), le fax. Concrètement : une confirmation de commande peut partir en impression pour un client, et en EDI pour un autre, simplement parce que leurs fiches conditions diffèrent. C’est de la donnée, pas du développement.

Le timing (dispatch time) dit quand le document part. SAP propose plusieurs moments standards. Le document peut être émis automatiquement dès que l’objet est enregistré (envoi immédiat), ou bien mis en file d’attente pour être traité par un programme qui tourne à intervalles réguliers (par job). Le programme standard RSNAST00 est précisément celui qui balaie les messages en attente et les émet au tour suivant. C’est une distinction qui sauve beaucoup de temps en diagnostic : un document “qui ne part pas” est très souvent un document parfaitement déterminé, mais simplement en attente de son job.

NAST : la table où SAP enregistre sa décision et le statut du message

Quand SAP a décidé de sortir un message pour un document, il enregistre cette décision et son statut dans la table des messages, NAST. Chaque enregistrement y porte un statut de traitement : à traiter, traité avec succès, ou en erreur. C’est la mémoire de la décision de sortie.

Le cycle de vie d’un message dans la table NAST Un message de sortie passe du statut à traiter au statut traité avec succès ou en erreur, selon le résultat de son émission, immédiate ou par le programme RSNAST00. Le cycle de vie d’un message dans NAST Le statut raconte où en est le document de sortie 0 À traiter message déterminé, pas encore émis Émission immédiate ou via RSNAST00 1 Traité document émis avec succès 2 En erreur échec d’émission, à analyser Un document qui ne part pas reste souvent en statut 0 : il attend son job, ce n’est pas une erreur
Le cycle de vie d’un message dans la table NAST : du statut à traiter (0) vers traité avec succès (1) ou en erreur (2), selon le résultat de l’émission, immédiate ou déclenchée par le programme RSNAST00. Un statut 0 persistant signale un message en attente de job, pas un bug.

Pour le key-user, NAST et l’écran de sortie d’un document sont les deux premiers réflexes de diagnostic. Sur le document lui-même, l’écran de sortie liste les messages déterminés et leur statut. Et SAP fournit une fonction d’analyse dédiée : depuis un document de vente, on ouvre l’écran de sortie puis l’analyse de détermination, en suivant ce chemin de menu :

Chemin de menu :

Extras → Output (Sortie) → En-tête (ou Poste) → Edit → Goto → Analyse de détermination

Cette analyse te dit pourquoi un output type a été proposé, ou pourquoi il ne l’a pas été. C’est l’exact équivalent de l’analyse de prix. Quand on me demande “pourquoi mon document de sortie SAP ne part pas”, ma première réponse est presque toujours : lance l’analyse de détermination, puis regarde le statut dans la sortie du document.

Écran de sortie d'une commande d'achat SAP : le message déterminé NEU avec son support de sortie Print output, sa fonction partenaire et son statut de traitement
L’écran de sortie d’un document (ici une commande d’achat) : le message déterminé apparaît avec son support de sortie (Print output), sa fonction partenaire et son statut de traitement. C’est la décision de sortie, concrète, au niveau du document.
Contenu de la table NAST des messages SAP affiché en SE16N : type de message, support de sortie et statut de traitement (0 non traité, 1 traité, 2 en erreur)
La table NAST affichée en SE16N : type de message, support de sortie et statut de traitement (0 non traité, 1 traité, 2 en erreur).

Cas pratique de bout en bout : de la commande au document sorti

Suivons une confirmation de commande, du clic d’enregistrement jusqu’au document émis. C’est cette séquence que SAP exécute, et c’est aussi celle que tu remontes à l’envers quand quelque chose cloche.

  1. 1
    Identification de la procédure

    Tu enregistres la commande client. SAP regarde le type de document et identifie la procédure de détermination des messages affectée à l’en-tête.

  2. 2
    Lancement de la séquence d’accès

    Pour chaque output type de la procédure (par exemple BA00), SAP lance la séquence d’accès et parcourt les tables de condition du spécifique au général.

  3. 3
    Correspondance d’une fiche condition

    Dès qu’une fiche condition correspond au contexte (ce client, cette organisation commerciale), SAP retient l’output type avec ses propriétés : support de sortie, timing, fonction partenaire.

  4. 4
    Enregistrement dans NAST

    SAP crée l’enregistrement de message dans NAST, avec son statut initial.

  5. 5
    Application du timing

    Selon le timing, le message part immédiatement, ou attend le passage du programme d’émission (RSNAST00 pour le traitement par job).

  6. 6
    Transmission sur le medium

    Le document est transmis sur le bon medium (imprimante, e-mail, EDI) au partenaire retenu.

Si à l’arrivée rien n’est sorti, tu rejoues cette chaîne à l’envers : le statut NAST d’abord, puis l’analyse de détermination pour voir où la recherche a échoué, puis la fiche condition manquante ou mal ciblée. Neuf fois sur dix, le problème est une fiche condition absente ou un timing mal compris, pas un bug.

Erreurs fréquentes et points de contrôle pour le key-user

Voici les confusions que je vois le plus souvent chez les juniors, et le réflexe de contrôle associé.

  • Confondre “pas déterminé” et “pas encore parti”. Un message déterminé mais en attente de job n’est pas une erreur. Vérifie le timing avant de paniquer.
  • Chercher le problème dans le formulaire. Si aucun message n’apparaît dans la sortie du document, le souci est dans la détermination (technique de condition), pas dans le SAPscript ou l’Adobe. Le formulaire ne se pose la question qu’une fois le message déterminé.
  • Oublier la fonction partenaire. Un output type peut être parfaitement déterminé mais ne jamais arriver si le partenaire destinataire n’a pas d’adresse e-mail ou de coordonnées valides pour le medium choisi.
  • Ignorer l’analyse de détermination. C’est l’outil que SAP fournit exprès pour répondre à “pourquoi”. Ne devine pas, lance l’analyse.
  • Penser que NACE et le New Output Management s’excluent. Les deux coexistent sur le même système (le New Output Management repose sur un moteur de règles BRF+, pas sur la technique de condition classique). Vérifie lequel est actif pour ton objet avant de chercher au mauvais endroit.

Questions fréquentes

Comment SAP décide-t-il quel document imprimer ou envoyer ?

SAP utilise la technique de condition. À l’enregistrement d’un document, il lit la procédure de détermination des messages, lance la séquence d’accès sur les tables de condition, et dès qu’une fiche condition correspond au contexte, il retient l’output type avec son support de sortie, son timing et son destinataire.

À quoi sert la transaction NACE dans SAP ?

NACE est le point d’entrée du paramétrage de l’output management classique. On y règle, par application (ventes, facturation), les output types, séquences d’accès, tables de condition, procédures et leur affectation aux types de documents.

Quelle différence entre output type, séquence d’accès et fiche condition ?

L’output type est ce que SAP cherche à proposer (un type de document). La séquence d’accès est la stratégie de recherche, du spécifique au général. La fiche condition est la donnée concrète saisie par le métier qui dit, pour un contexte précis, quel support et quel destinataire utiliser.

Pourquoi mon document de sortie SAP ne part pas, et comment vérifier son statut ?

Vérifie d’abord le statut du message dans la table NAST et dans l’écran de sortie du document. Si le message n’apparaît pas, lance l’analyse de détermination depuis l’écran de sortie pour voir pourquoi aucun output type n’a été retenu. S’il apparaît mais n’est pas parti, regarde le timing : il attend peut-être son job.

La détermination du prix et l’output management utilisent-ils la même mécanique ?

Oui. Les deux reposent sur la technique de condition : séquence d’accès, tables de condition, fiches conditions et procédure. Qui sait lire une analyse de prix sait lire une analyse de sortie. C’est le même réflexe.

Pour conclure

L’output management SAP n’est pas une boîte noire : c’est une décision, prise par la technique de condition, exactement comme le prix. Une fois que tu vois NACE, les output types, la séquence d’accès, les fiches conditions et la table NAST comme un seul mécanisme de décision, le diagnostic devient mécanique plutôt que magique. La prochaine fois qu’un document ne sort pas, ne cherche pas au hasard : ouvre l’analyse de détermination et regarde le statut NAST. Et si tu veux ancrer définitivement la mécanique, relis la détermination du prix SAP SD en gardant en tête que tu apprends, en réalité, la même technique deux fois.

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

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

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

Michael Antoine Michael A. 19 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