📨 What is NACE and Why Every SAP Consultant Must Know It
Today we are discuss SAP NACE Explained With Real Example.Every time a sales order is saved in SAP, the customer expects an order confirmation by E-mail. Every time a purchase order is created, the vendor needs it printed or sent by EDI. Every time an invoice is posted, it must be printed or dispatched to the customer. The Method that controls all of this- which document goes to whom, when, in what format, through which medium (print, email, fax, EDI)- is called Output Determination, and the transaction used to configure it is NACE. NACE stands for Nachrichten (In German for Messages) and it is built on SAP's Condition Technique- the same powerful logic that drives pricing, tax determination, and account determination. Understanding NACE is non-negotiable for any SAP SD, MM, or FI consultant: if output does not work, documents do not reach customers or vendors, and the business grinds to a halt. also explains every component of NACE from scratch using real company scenarios so that every concept clicks into place.This tutorial or document breaks down the process step by step, using simple language and real-world examples to help you master the skill.
Condition Technique
NACE uses the same condition technique as pricing - Condition Table, Access Sequence, Output Type, and Procedure working together to find the right output for every document.
Multiple Output Channels
One output type can trigger print, email, fax, EDI, or ALE at the same time - each channel configured with its own program, form (SAPscript/SmartForm/Adobe), and routine.
Across All Modules
NACE covers output for SD (order confirmations, invoices, deliveries), MM (PO output, GR slips), FI (dunning letters, payment advices), QM, and WM.
⚙️ The NACE Condition Technique -Four Layers Explained
Before touching NACE configuration, every consultant must understand the four-layer architecture that makes output determination work. These four layers always work in a fixed sequence -the system searches through them in a very specific order every time a document is saved. Skipping or misunderstanding any layer leads to output that fires at wrong times, goes to wrong partners, or never fires at all.
Think of the condition technique as a filing system. When SAP saves a sales order for Suraj Electronics Ltd in Bangalore, it needs to decide: should an order confirmation be sent? To whom? By print or email? The condition technique answers all three questions by searching through four layers in sequence.
Suraj Electronics Ltd- How the Four Layers Work on a Sales Order Save
A Condition Table defines the combination of fields SAP uses to search for a condition record. Think of it as the columns in a spreadsheet that SAP looks up. For SD output, SAP delivers standard condition tables like Table 1 (Sales Organisation + Distribution Channel + Customer) and Table 2 (Sales Organisation + Customer). The table determines the "key" -what combination of data from the document SAP will use to find the matching condition record. For Suraj Electronics: the condition table uses Sales Org 1000 + Distribution Channel 10 + Customer C-1001 as the search key. If a condition record exists for exactly this combination, SAP finds it and knows output should be triggered.
T-Code: NACE → select application V1 (Sales) → Condition Tables · Table fields stored in: TNABT · Standard tables: 1, 2, 5, 7, 9The Access Sequence defines the order in which SAP searches the condition tables -from most specific to least specific. It answers: if no record is found for the most specific combination, what should SAP try next? For output type BA00 (order confirmation), the access sequence might be: Step 10 -search Table 1 (Sales Org + Dist Channel + Customer). Step 20 -if nothing found, search Table 2 (Sales Org + Customer). Step 30 -if still nothing found, search Table 5 (Sales Org only). SAP searches Step 10 first. If a condition record exists for Suraj Electronics specifically, it is found immediately. If not, SAP falls back to the next step. This waterfall logic is the heart of the condition technique -general-to-specific or specific-to-general depending on configuration.
T-Code: NACE → Access Sequences · Stored in: TNAD5 (access sequence header), TNAD6 (steps) · Standard: 0001 for SD order outputThe Output Type is the central configuration object -it defines everything about one specific output: the name (e.g. BA00 for order confirmation), the description, the default medium (1=Print, 5=External Send/Email, 6=EDI), the timing (immediately on save, or in a background job), the partner function (SP=Sold-to, BP=Bill-to, SH=Ship-to), and the print program and form name. For Suraj Electronics order confirmation BA00: Medium = 5 (email), Timing = 4 (send immediately), Partner = SP (sold-to party). The output type also holds the processing routine -the ABAP function module that packages the document data and passes it to the output channel. This is the object that connects business intent ("send an order confirmation") to technical execution ("run program RVADOR01 with form RVORDER01").
T-Code: NACE → Output Types · Stored in: TNAPR (program/form), TNAST (default values) · Key output types: BA00, RD00, LIEF, NEU, MAHNThe Output Procedure is an ordered list of output types assigned to a specific document type. It tells SAP: when processing a sales order of type OR (standard order), which output types should be checked? The procedure V10000 for sales orders contains BA00 (order confirmation), BA01 (order confirmation to interco partner), and potentially custom output types. The procedure is assigned to the document type in configuration. When SAP saves a sales order, it loops through every output type in the procedure and runs the condition technique (access sequence → condition table → condition record) for each one. If a condition record is found, the output is triggered. This is why adding a new output type to a procedure immediately activates it for all new documents of that type.
T-Code: NACE → Procedures · SD: V/30, V/40 for assigning procedure to doc type · MM: M/40 · Procedure stored in: TNAPT tableReal Consultant Tip: The single most common NACE troubleshooting question is "why is my output not firing?" The answer is always in one of four places: the output type is not in the procedure, or the procedure is not assigned to the document type, or no condition record exists for the document's key combination, or the condition record exists but the medium/timing is wrong. Check these four in order and you will find the problem every time.
| Layer | Object | What It Defines | Where Configured | Key Table |
|---|---|---|---|---|
| 1 | Condition Table | Which fields SAP searches by (e.g. Sales Org + Customer) | NACE → Application → Condition Tables | TNABT |
| 2 | Access Sequence | Order in which condition tables are searched (Step 10, 20, 30...) | NACE → Application → Access Sequences | TNAD5 / TNAD6 |
| 3 | Output Type | What to send, how (medium, timing, partner, program, form) | NACE → Application → Output Types | TNAPR / TNAST |
| 4 | Output Procedure | Which output types apply to which document category | NACE → Application → Procedures | TNAPT / TNADP |
🛒 SD Output -Order Confirmation Email to Customer
The most common NACE scenario in SD is the automatic dispatch of an order confirmation to the customer when a sales order is saved. At Sira Garments Pvt Ltd in Tirupur -a garment exporter with 300 regular customers -the SD consultant must configure NACE so that every sales order saved automatically sends an order confirmation PDF by email to the customer's procurement team. Currently the team is manually printing and emailing PDFs, which causes delays and errors.
Sira Garments Pvt Ltd -Configure SD Order Confirmation Output (BA00)
The SD consultant, Kavita Sharma, opens T-code NACE. The initial screen shows all available applications -V1 (Sales), V2 (Shipping), V3 (Billing), EF (Purchase Orders), WA (Goods Movements), RD (FI Documents), and others. Each application is a separate output determination area with its own output types, procedures, and condition records. Kavita selects V1 (Sales) and clicks Output Types. She can see the standard output type BA00 (Order Confirmation) is already defined in the system from SAP standard delivery. She will now configure it to send email for Sira Garments' sales orders.
T-Code: NACE → Application V1 (Sales) → Output Types → BA00 (Order Confirmation)In the BA00 output type configuration, Kavita sets: Default Values tab -Transmission Medium = 5 (External Send / Email). Time = 4 (Send immediately when document is saved -for urgent order confirmations this is critical; setting 3 would mean "send at end of day batch"). Partner Functions tab -Partner Function SP (Sold-to Party) is the default recipient. This means the email goes to the email address maintained in customer master KNA1 under the AD_SMTPADR communication field. Processing Routines tab -Program: RVADOR01, FORM Routine: ENTRY_NEU, Form: RVORDER01 (SAPscript layout set for order confirmation). In S/4HANA this is often replaced with a SmartForm or Adobe Interactive Form but the concept is identical. The form RVORDER01 is what determines how the PDF looks when it reaches the customer.
BA00 settings: Medium=5 (email), Time=4 (immediate), Partner=SP · Program RVADOR01 · Form RVORDER01 · Table: TNAPRThe output type configuration in NACE tells SAP HOW to send the output. The condition record tells SAP WHEN -for which customers/sales orgs the output should fire. Without a condition record, NACE will never trigger BA00, even if it is perfectly configured. Kavita opens VV11 (Create Output Condition Records for Sales). She selects output type BA00 and condition table "1" (Sales Org + Dist Channel + Customer). She enters: Sales Org = 1000, Dist Channel = 10, Customer = ALL (or a specific customer range), Medium = 5 (Email), Language = EN, Date/Time = 4 (Immediate). She saves the record. Now every time a sales order for Sales Org 1000 / Dist Channel 10 is saved, SAP finds this condition record and triggers the BA00 email output.
T-Code: VV11 (create SD output condition records) · VV12 (change) · VV13 (display) · Records stored in: NACH tableKavita checks that BA00 is in the output procedure for document type OR (standard order). In NACE → V1 → Procedures → she opens procedure V10000. BA00 must be listed with Requirement = blank (always check) or a specific requirement routine number if conditional logic applies. The procedure V10000 is then assigned to document category C (Sales Order) via T-code V/30 (Sales: Output for Sales Documents → Assign Procedures to Document Types). She confirms OR is mapped to V10000. Now the chain is complete: OR document type → procedure V10000 → output type BA00 → access sequence 0001 → condition table 1 → condition record for Sales Org 1000 + Dist Channel 10 → email via RVADOR01.
NACE → Procedures → V10000 → check BA00 included · V/30 to assign procedure to doc type OR · Table: TNAPTKavita creates a test sales order in VA01 for customer C-1001 in Sales Org 1000. After saving, she opens the order in VA02 / VA03 and navigates to Extras → Output → Header → Edit. The output screen shows BA00 with status green (processed successfully) and medium 5 (email). She can see the email address it was sent to (from the customer master). If the status shows a yellow warning or red error, she clicks the Processing Log button -this shows the exact error message from the output processing routine, whether it was a missing email address on the customer master, a missing SAPscript form, or an SMTP configuration issue. The NAST table (SE16N → NAST) stores every output message for every document with its status, processing time, and error text.
VA02 / VA03 → Extras → Output → Header · Check: Status green, medium 5, email address shown · Debug: NAST table in SE16NOutput working at Sira Garments. BA00 now fires automatically on every VA01 save for Sales Org 1000. Email with order confirmation PDF delivered to customer procurement email within 30 seconds of save. Manual printing process eliminated. Condition record in NACH table, output status tracked in NAST table.
🏭 MM Output -Purchase Order Print and Email to Vendor
In MM, NACE application EF (Purchasing) controls output for purchase orders, RFQs, scheduling agreements, and outline agreements. The most critical MM output is the purchase order itself -when ME21N saves a PO, the vendor must receive it immediately. At Rupesh Steel Industries in Surat -a steel manufacturer purchasing raw materials from 180 vendors -the MM consultant must configure PO output so that local vendors receive printed POs and international vendors receive the same PO by email as a PDF attachment.
Rupesh Steel Industries -PO Output NEU for Print (Local) and Email (International)
In NACE, the MM consultant Rajesh Pillai navigates to application EF (Purchasing). The standard output type NEU (New PO -Erstdruck in German, hence NEU) handles the initial print of a purchase order. Unlike SD's BA00 which fires once on order creation, NEU is designed to fire on the first save and also when the PO is changed and a new version must be sent. Rajesh opens NEU in the Output Types screen and reviews: Default Medium = 1 (Print). He needs to create two separate condition records -one for local vendors with medium 1 (print) and one for international vendors with medium 5 (email). The output type itself stays the same. Only the condition record medium field differs between the two vendor groups.
T-Code: NACE → Application EF → Output Types → NEU · Change/New PO output · Program: SAPFM06P · Routine: ENTRY_NEUMM output condition records are maintained via T-code MN04 (Create PO condition records) or from within ME21N via Messages tab. Rajesh creates two condition records for NEU: Record 1 -Purchasing Org = 1000, Vendor range = domestic Indian vendors (country IN), Medium = 1 (Print), Output Device = LP01 (local printer), Timing = 3 (background job at night). Record 2 -Purchasing Org = 1000, Vendor range = international vendors (country not IN), Medium = 5 (Email), Timing = 4 (immediate send). The access sequence for NEU searches by Purchasing Org + Vendor first, then falls back to Purchasing Org only. Because Rajesh has set up records at Purchasing Org + Country level, the system correctly differentiates domestic from international vendors and sends the right output channel for each.
T-Code: MN04 (create MM PO output records) · MN05 (change) · MN06 (display) · Records stored in: NACH table · Application EFThe output procedure for purchasing documents is assigned in SPRO: Materials Management → Purchasing → Messages → Output Control → Assign Output Schema to Purchasing Document Types. The standard procedure for POs is RMBEF1. Rajesh verifies that NEU is in procedure RMBEF1 and the procedure is assigned to document type NB (standard PO). He also checks that the requirement field for NEU in the procedure is blank -meaning it fires for all POs. If a requirement routine number is set (e.g. routine 101), the system only triggers NEU when that ABAP routine returns TRUE. To manually trigger or resend PO output, the T-code is ME9F (Message Output for Purchase Orders). This is equivalent to VA02 output screen in SD -consultants use ME9F to resend failed outputs, change the output medium, or reprint specific POs.
T-Code: ME9F (resend/view PO output) · Procedure RMBEF1 assigned to doc type NB · SPRO: MM → Purchasing → Messages → Assign SchemaA crucial MM NACE concept is the difference between NEU (new PO) and NEUM (PO change notice). When a buyer changes delivery date or quantity on an existing PO in ME22N, the vendor needs to receive an amended PO -not just a new print of the original. The output type NEUM is designed specifically for this: it fires only when specific fields on the PO are changed (quantity, delivery date, price, plant). The relevant change fields are configured in the output type's Change Fields tab. Rajesh configures NEUM to trigger when MENGE (quantity), EINDT (delivery date), or NETPR (net price) changes. This means vendors automatically receive a "PO Amendment" document by email whenever these fields change in ME22N, with the changed values highlighted in the form layout.
Output type NEUM: PO change notice · Change Fields tab: MENGE, EINDT, NETPR · Fires from ME22N when configured fields changeReal Consultant Tip: The most overlooked step in MM NACE setup is maintaining the vendor email address. Output type NEU will be perfectly configured but emails will fail if the vendor's email is not maintained in vendor master LFA1. Check: FK03 → vendor → General Data → Address → Communication → Email address. Without this field populated, medium 5 will fail with error "No email address found for partner." Always include vendor email maintenance in the go-live data migration checklist.
💰 FI Output -Dunning Letters and Payment Advice Notes
In SAP FI, NACE application RD (FI Documents) controls output for financial documents -invoice print, dunning letters (payment reminders), payment advice notes, and account statements. The dunning process at Raj Pharma Ltd in Hyderabad is completely manual -the AR team emails overdue payment reminders individually. The FI consultant must configure NACE and the dunning program (F150) to automatically send graded dunning letters: a polite reminder at 7 days overdue, a firm notice at 21 days, and a final demand at 45 days.
Raj Pharma Ltd -Configure Dunning Output MAHN for Three-Level Dunning
In NACE the FI consultant Deepa Nair navigates to application RD (FI Documents). The output type MAHN (from German Mahnung = reminder) controls dunning letter output. Unlike SD's BA00 which fires when a document is saved, MAHN is triggered by the dunning run program F150 -it does not fire automatically on document posting. The MAHN output type configuration in NACE defines: the print program (RFKORD10 for dunning letters), the SAPscript form (F150_DUNN_01 for level 1, F150_DUNN_02 for level 2, F150_DUNN_03 for level 3), and the output medium. Deepa sets medium = 5 (email) for all three levels and assigns the correct form to each dunning level in the Dunning procedure configuration.
NACE → Application RD → Output Type MAHN · Program: RFKORD10 · Forms: F150_DUNN_01/02/03 · Triggered by: F150 dunning programThe dunning procedure is configured in SPRO: FI → AR → Business Transactions → Dunning → Dunning Procedure → Define Dunning Procedures. Deepa creates dunning procedure Z001 for Raj Pharma with three levels. Level 1 -triggered 7 days after due date. Grace days = 0. Interest = No. SAPscript form = F150_DUNN_01 (polite payment reminder text). Level 2 -triggered 21 days after due date. Interest = Yes (1.5% per month). Form = F150_DUNN_02 (firm notice with interest calculation). Level 3 -triggered 45 days after due date. Always dun = Yes (dun even if paid). Interest = Yes (2%). Form = F150_DUNN_03 (final demand with legal action warning). Each level links to the MAHN output type, and the form is swapped automatically based on the dunning level reached.
SPRO: FI → AR → Business Txns → Dunning → Define Dunning Procedures · T-Code equivalent: FBMP · Three levels with different forms and interest ratesThe dunning procedure Z001 must be assigned to each customer master record that should receive dunning letters. Deepa uses T-code FD02 (Change Customer Master -Company Code Data) → Correspondence tab → Dunning Procedure field. She sets Z001 for all overdue customers. The Dunning Block field is important: if a customer has an ongoing dispute, the AR team sets a dunning block here to prevent letters from being sent while the dispute is resolved. The dunning recipient (the contact person who receives the email) comes from the customer's contact person linked to communication type DUNN in the customer master. If this contact is not maintained, the dunning email fails with "no recipient found" even if NACE is perfectly configured -another common go-live issue.
T-Code: FD02 → Company Code Data → Correspondence tab → Dunning Procedure = Z001 · Dunning block for disputed customers · KNVK for contact personThe dunning letters are generated by the F150 dunning program, which is run periodically (typically weekly or daily). F150 scans all open customer items, compares due dates to today's date, identifies which dunning level applies, generates the MAHN output via NACE, and creates dunning history entries in table MHNK. The process: Step 1 -F150 Parameter Run (set dunning date, company code, customers). Step 2 -F150 Dunning Proposal (system shows all customers it will dun and at what level -review before finalising). Step 3 -F150 Release (final confirmation, output is generated and sent). The dunning proposal step is critical -always review before releasing because errors in this step can lead to sending incorrect letters to customers who have already paid, damaging the business relationship.
T-Code: F150 (dunning program) · Steps: Parameter → Proposal → Release · Dunning history: MHNK table · Output status: NAST tableReal Basis Interview Tip: When asked "what is NACE in SAP?" the answer that impresses interviewers is: "NACE is the output determination framework based on the condition technique. It has four layers -Condition Table, Access Sequence, Output Type, and Procedure. A condition record (VV11 for SD, MN04 for MM) activates output for specific documents, and the NAST table stores all output messages with their status. It controls print, email, fax, and EDI output across SD, MM, and FI." This shows you understand the architecture, not just the T-code name.
📦 WA Output -Goods Receipt Slip on MIGO Posting
Application WA (Goods Movements) in NACE controls output for goods receipts, goods issues, and stock transfers. At Manan Auto Parts Ltd in Chennai -a Tier-1 automotive supplier -every goods receipt against a PO must generate a printed GR slip for the warehouse team to attach to the physical goods. Without the slip, goods cannot be put away and inspections cannot proceed. The MM consultant must configure NACE application WA so that output type WE01 (GR slip) prints automatically when MIGO posts a goods receipt (movement type 101).
Manan Auto Parts Ltd -Configure WA Output WE01 for GR Slip on MIGO
In NACE, application WA (Inventory Management / Goods Movements) controls output for material documents -the documents created by MIGO (goods receipt, goods issue, transfer posting). The output type WE01 is the standard GR slip. The MM consultant Vijay Kumar opens WE01 in NACE → WA → Output Types and configures: Default Medium = 1 (Print), Timing = 1 (print immediately on MIGO save -critical for warehouse operations where the packer needs the slip before the goods are moved to storage). Print Program = RSNAST00 (standard output processing program), Form Routine = ENTRY_NEU, SAPscript Form = WA_SLIP (the GR slip layout showing material number, quantity, storage location, vendor, and PO reference).
NACE → Application WA → Output Types → WE01 · Program: RSNAST00 · Form: WA_SLIP · Medium: 1 (Print) · Time: 1 (Immediate)WA condition records are maintained from within SPRO: MM → Inventory Management → Output Determination → Maintain Output Condition Records -or alternatively via the NACE condition record maintenance. The key fields for WA condition records are typically Movement Type + Plant. Vijay creates a condition record: Movement Type = 101 (GR against PO), Plant = 1000 (Chennai plant), Medium = 1 (Print), Output Device = WH01 (warehouse printer near the GR dock), Timing = 1 (immediate). He also creates a separate record for movement type 122 (return to vendor) with output type WE03 (return slip) so the warehouse team always has a printed document for reversals. Without these condition records, MIGO saves will complete successfully but no slips will print -the warehouse team will have no paper trail.
Condition record: Movement Type 101 + Plant 1000 → WE01 print on WH01 · MT 122 → WE03 return slip · Records in NACH table, application WAWhen a GR slip fails to print (printer offline, paper jam, network error), the warehouse team needs to reprint it. The T-code for this is MB90 (Output for Inventory Documents -equivalent to ME9F for POs and VA02 output screen for sales orders). In MB90, the user selects the material document number, the output type WE01, and clicks Process. The output is resent to the printer. Vijay trains the warehouse supervisor to use MB90 for reprints. For bulk reprocessing of failed outputs across all modules, a Basis admin can use T-code RSNAST00 as a report to reprocess NAST records with status error. The NAST table is the universal output status table -one row per output message per document, with fields VSTAT (processing status: 0=not processed, 1=successfully processed, 2=error) and VSZTP (output time).
T-Code: MB90 (reprint GR slips) · NAST table: SE16N → NAST, filter KAPPL=WA, VSTAT=2 for errors · RSNAST00 for bulk reprocessing🔍 NAST Table and Output Troubleshooting -Finding Why Output Failed
Every output message generated by NACE -whether triggered from SD, MM, FI, or WM -leaves a record in the NAST table. This is the single most important table for NACE troubleshooting. Every consultant must know how to query NAST to diagnose output failures, find processing errors, and verify that outputs were sent.
| Field | Description | Key Values / What to Look For |
|---|---|---|
| KAPPL | Application (module) | V1=Sales, V2=Shipping, V3=Billing, EF=Purchasing, WA=Goods Mvt, RD=FI Docs, V5=SD Delivery |
| OBJKY | Document number (object key) | Sales order number, PO number, material doc number -the document this output belongs to |
| KSCHL | Output type | BA00, NEU, NEUM, WE01, MAHN, RD00 -the specific output type that was triggered |
| VSTAT | Processing status | 0 = Not yet processed / waiting, 1 = Successfully processed, 2 = Error in processing -look for 2s when debugging |
| NACHA | Transmission medium | 1=Print, 2=Fax, 3=Telex, 5=External Send (Email), 6=EDI/IDOC, 7=Simple Mail, 8=Special Function |
| VSZTP | Dispatch time | 1=Send with period. job, 3=Send with application own job, 4=Send immediately |
| ERDAT / ERUHR | Creation date and time | When this output record was created -useful for time-based debugging |
| USNAM | Created by user | Which user's save action triggered this output |
| PARNR | Partner number | Customer / vendor number the output was sent to |
| TELFX / ADSMTP | Fax / email address | Actual fax/email used -check this when output fires but recipient says they never got it |
Step-by-Step NACE Troubleshooting Sequence
When a user reports "output is not firing" or "customer did not receive the email", follow this diagnostic sequence:
Universal NACE Output Debug Checklist -Works for SD, MM, FI
SE16N → Table NAST → filter on KAPPL + OBJKY (document number). If NO record exists: the output type never fired. Root cause is either (a) output type not in procedure, (b) procedure not assigned to document type, or (c) no condition record exists for this document's key combination. If a record EXISTS: go to Check 2.
SE16N → NAST → filter KAPPL=V1, OBJKY=sales order number → check if BA00 row existsIf VSTAT = 1: output was sent successfully. If the customer/vendor still did not receive it, check the email address in ADSMTP field of the NAST record. If VSTAT = 2: output processed but error occurred. Go to VA02 / ME9F / MB90 → Output screen → Processing Log to see the exact error message. Common errors: "No email address", "Form not found", "Spool request creation failed". If VSTAT = 0: output is queued but not yet processed -check the timing field and whether the background job for output processing (RSNAST00 job) has run.
NAST.VSTAT: 0=pending, 1=success, 2=error · Processing log: VA02 → Extras → Output → Edit → select row → Processing Log buttonIf NAST has no record, use VV13 (display SD output condition records) to verify a condition record exists for the exact document's Sales Org + Customer combination. If no record found at that level, check if a more general record exists (Sales Org only). Use MN06 for MM PO condition records. If no condition record at any level: create one in VV11 / MN04. The most common root cause of "output never fires" on a new customer or vendor is a missing condition record.
T-Code: VV13 (display SD output records) · MN06 (display MM PO records) · Check: Sales Org + Customer combination has a valid active recordNACE → Application → Procedures → find the procedure (e.g. V10000) → verify the output type (e.g. BA00) is in the list. Then V/30 to verify procedure V10000 is assigned to document type OR. If the output type was added after go-live, it only affects new documents created after the assignment -existing documents are not retroactively updated. For MM: check SPRO → MM → Purchasing → Messages → Assign Output Schema to Document Types for NEU in procedure RMBEF1.
NACE → Procedures → V10000 → check BA00 present · V/30 (SD doc type to procedure assignment) · M/40 (MM) · Check: procedure assigned to correct doc type| Task | SD (V1/V3) | MM Purchasing (EF) | MM Goods Mvt (WA) | FI (RD) |
|---|---|---|---|---|
| Create condition record | VV11 | MN04 | SPRO / NACE | SPRO dunning |
| Change condition record | VV12 | MN05 | SPRO / NACE | SPRO dunning |
| Display condition record | VV13 | MN06 | SPRO / NACE | SPRO dunning |
| Resend / reprint output | VA02/VA03 (output tab) | ME9F | MB90 | F.61 / F150 |
| Configure output types | NACE → V1/V2/V3 | NACE → EF | NACE → WA | NACE → RD |
| Assign procedure to doc type | V/30 (sales), V/40 (billing) | SPRO MM Purchasing | SPRO IM | SPRO FI |
| Check output status | SE16N → Table NAST -universal for all applications | |||
| Bulk reprocess failed output | Report RSNAST00 -universal for all applications and output types | |||
📊 NACE Master Reference -Tables, T-Codes and Interview Questions
| Table | Description | Key Fields | Used For |
|---|---|---|---|
| NAST | Output messages (runtime) | KAPPL, OBJKY, KSCHL, VSTAT, NACHA | Check output status, processing history, errors for any document |
| NACH | Output condition records | KAPPL, KSCHL, plus key fields per condition table | Stores VV11/MN04 condition records -the "when to fire output" data |
| TNAPR | Processing programs per output type | KAPPL, KSCHL, NACHA, PGMNA, FONAM | Which ABAP program and form are used for each output type and medium |
| TNAST | Output type default values | KAPPL, KSCHL, NACHA, VSZTP | Default medium and timing for each output type in NACE config |
| TNAD5 | Access sequence header | KAPPL, NASGN | Access sequence definitions in NACE |
| TNAD6 | Access sequence steps | KAPPL, NASGN, STUNR, TABNO | Which condition tables are searched in what order per access sequence |
| TNAPT | Output procedure steps | KAPPL, NAPROC, KSCHL, NADSQ | Which output types are in which procedure |
| TNADP | Procedure assignment to doc category | KAPPL, NAPROC assigned to document category | Which procedure applies to which document type |
| MHNK | Dunning history | KUNNR, BUKRS, MABER, MANSP | Dunning levels reached per customer -driven by F150 + MAHN output |
| Interview Question | Senior Answer Approach | Key T-Codes / Tables |
|---|---|---|
| What is NACE in SAP and how does it work? | NACE is the output determination framework using the condition technique. Four layers: Condition Table (search key fields) → Access Sequence (search order) → Output Type (medium, timing, form, program) → Procedure (which output types apply to which document). A condition record (VV11/MN04) activates output for specific documents. NAST stores all output status. | NACE · VV11 · NAST · TNAPR |
| Customer says they never received the order confirmation. How do you debug? | 1. VA02 → Extras → Output → check if BA00 row exists and VSTAT. 2. SE16N → NAST → find the record, check ADSMTP for the email address used. 3. If VSTAT=2, check Processing Log for error. 4. If no NAST record, check VV13 for condition record and V/30 for procedure assignment. Most common cause: wrong email on customer master. | VA02 · SE16N/NAST · VV13 · V/30 |
| What is the difference between output type and condition record in NACE? | Output type (NACE config) defines HOW to send output -the program, form, default medium, and timing. It is master config, rarely changes. Condition record (VV11/MN04) defines WHEN to send -for which Sales Org + Customer or Purch Org + Vendor combination the output fires, and which specific medium (print vs email). Condition records are business data, changed often by functional users. | NACE · VV11/VV12/VV13 · NACH · TNAPR |
| What is the NAST table and why is it important? | NAST is the universal output message status table -one record per output per document. Fields: KAPPL (application), OBJKY (document number), KSCHL (output type), VSTAT (0=pending, 1=success, 2=error), NACHA (medium), ADSMTP (email address used). It is the first place to look when debugging any output issue across all SAP modules. RSNAST00 can reprocess records with VSTAT=2. | SE16N → NAST · RSNAST00 |
| How do you add a new output type for a custom requirement -e.g. WhatsApp notification? | 1. NACE → create new output type with medium 8 (Special Function). 2. Write custom ABAP function module as the processing routine. 3. Assign access sequence and condition table. 4. Add output type to the relevant procedure. 5. Create condition records via VV11. 6. The custom routine calls the WhatsApp API. The condition technique handles "when to trigger" -the custom routine handles "how to deliver." | NACE · Custom FM · VV11 · Procedure · TNAPR |
📘 Related SAP Tutorials
SAP System Monitoring- Step by Step
How SAP systems are monitored daily using SM51, SM66, ST22, SM37, SM21 and CCMS -complete Basis health check guide.
Read TutorialSAP Audit Trail- Real Scenario
How SAP tracks every change- CDHDR, CDPOS, FI document trail, HR infotype log, and complete change history.
Read TutorialSAP PS Interview Questions
Complete SAP Project Systems interview guide-with real examples.
Read Tutorial