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
Diagnosis
You have specified an output category which has not been defined according to the output determination procedure.
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.
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.
Output ZTDC is not defined error message
And when you click the error message, the error details are displayed in Performance Assistant screen.
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
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.
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.
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
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 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.
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.
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.