SQL Server administration and T-SQL development, Web Programming with ASP.NET, HTML5 and Javascript, Windows Phone 8 app development, SAP Smartforms and ABAP Programming, Windows 7, Visual Studio and MS Office software
Development resources, articles, tutorials, code samples, tools and downloads for SAP HANA and ABAP, HANA Database, SQLScript, SAP UI5, Screen Personas, Web Dynpro, Workflow

SAP Invoice Output ZZZZ is not Defined

I define a new sales invoice output type to print invoices with a different layout using SAP Smartform. When I tried to add the new output message type as a new header output to the invoice, I got following error message:
Output ZTDC is not defined
Message no. VN024
You have specified an output category which has not been defined according to the output determination procedure.
Make sure your entries are correct.
If you really want to use this output category, assign it to the output determination procedure

The SAP error message states that the SAP user must assign the output category (output message type) to the output determination procedure at the last sentence. In fact, although I've completed output type creation step, access sequence creation and assigning the access sequence to the output type step. After these steps, I also add new condition records in order to create sample invoices with outputs of the target output type. But I've forgotten to complete to assign output type to output determination procedure.

If you also experience the same SAP error "Output ZZZZ is not defined", you can first check if you have assigned output message type to output procedure. SAP customizers and Output developers can use SAP transaction NACE to assign output type to output procedure as well as creating new output type and new access sequence.

In below VF02 transaction screen, I'm adding a new output to the sample SD invoice.

add new output for SAP sales invoice
Output message type ZTDC is not listed in the Output Types list. And when I enter it manually SAP screen prevents to new output row to be saved.

Although I think I create output type ZTDC successfuly, I got the below error message displayed at the bottom of the SAP screen.

SAP Sales Billing output is not defined
Output ZTDC is not defined error message

And when you click the error message, the error details are displayed in Performance Assistant screen.

SAP Performance Assistant for Output is not defined error
Detailed SAP error message: Output ZTDC is not defined

When I check the steps I followed to create a new output type and assign it to a billing type in SAP Sales and Distribution system, I noted the below list.

Create New Output Type

First, call NACE SAP transaction and highlight V3 Billing. Then clicked Output Types button on top menu
Then copy existing output type (ZTF0) with a new name (ZTDC TR Invoice D2C) using "Copy As" button

create new output type using copy of an existing output message type
In SAP NACE transaction screen for Billing (V3), you can highlight a suitable output type and then create a copy of it using "Copy As... (F6)" button on top menu.

Create New Access Sequence

Second, call SAP transaction NACE and highlight V3 for Billing. Click on Access Sequences button using menu above
Then create an access sequence in SAP for Sales Billing output documents. You can copy an existing access sequence. Then change access sequence details according to your requirements using Accesses and Fields SAP customization screens.

create new access sequence using SAP NACE transaction code
New Access Sequence creation using Copy As button and modifying or adding Accesses and Fields

Now we are ready to modify new output type access sequence field with new access sequence. We can follow the menu options descibed at first step:
SAP NACE transaction > V3 (Billing) > Output Types > (new output type) > Details
Then change the Access sequence value with the new created access sequence code.

change output type for access sequence value

Assign Output Type to Output Procedure

This is the third step which I actually missed to complete. In order to use an SAP document output type, we have to assign it to a valid output procedure. This enables SAP users to use the output message type for that output procedure.
Call NACE transaction, highlight V3 Billing and then click Procedures button on top

output procedures in SAP NACE transaction

Highlight the related output procedure among all other listed output procedures and click Control on the left side of the SAP Procedures Overview screen.
Add the new output type we have created at step 1 among all other output types for target output procedure.

assign output type to output procedure for SAP Billing documents
Assign new output type to output procedure

Create Condition Records for new Output Type

Using SAP transaction VV31, SAP users can create condition records in target SAP systems.
SAP will generate billing output documents using these condition records.
You can first check existing condition records using VV33 SAP transaction and change existing ones using VV32 transaction code.

use VV31 to create condition records for new output type in SAP
SAP transaction VV31 to create condition records for the new output type

Finally, we are now ready to go back to the error and try the same step that produced the error message. Open VF02 billing document change transaction screen for the target sales invoice number. Go to Outputs and try to add the new output message type for the selected invoice.

As seen in below Change Output screen, the new output type ZTDC is listed in the possible entries list without any error. I could select and create a new output using this output type for that invoice.

new output type is now defined successfuly for billing document
output type ZTDC is now listed in allowed output types list and SAP billing output is not defined error is solved by assigning the output type to output procedure.


Install SAP Free
CRM Companies List
Web Based CRM Software

Copyright © 2004 - 2021 Eralper YILMAZ. All rights reserved.