cancel
Showing results for 
Search instead for 
Did you mean: 

How to change form depending on condition record?

Former Member
0 Kudos

Hi,

in the SD condition records/communication there are 3 fields under the "Printing settings" that look like can be used to change the form for each condition record individually.

But i could not find a way to use this fields in the print program.

This condition records have always different keys and in the standard SAP print-program i could not find a hint on how to read the right record.

In the standard print-programm there are only the tables NAST and TNAPR, but no NACH where this information are stored.

Does someone has an idea on how to use this fields?

Or are this fields used for something completely different?

I would like to use 1 message type for 1 kind of label(e.g. master label), but depending on the customer i have to use a different form.

If i could use the information from the condition records, i could have a generall form and for specific customer i could use a special form.

Regards

Alexander

Accepted Solutions (1)

Accepted Solutions (1)

former_member186385
Active Contributor
0 Kudos

Hi,

If you want to use the Layout from condition records, you have to call this to the processing program under

" TNAPR-FUNCNAME"

The value used under this field will override the value from Output configuration ( which is NACH)

So the condition records will have preference over Configuration

regards,

santosh

Former Member
0 Kudos

Hi Santosh,

well yes, that might work if i just have to change the layout in SAPScript.

But we have also customer that want to have different size of paper, e.g. US customer want letter and EU customer want DINA4.

And we also use SmartForms and AdobeForms.

I want to change the entire form depending on the customer. And for this i have to place the information somewhere i can access it during the print process.

My understand was, that if i have a different form in the condition record, this will override the form in the message type, if this condition record was found.

But this didn't worked, here the example:

In message type WA00 i have form A, as the standard form.

And for customer X, i have form B in the condition record.

When i create a delivery and the condition record is found, the system still prints out form A. But i want it to print out form B, which is specific for this customer.

In the NAST i couldn't find any hint of form B.

I also debugged it, to see if i can find a hint on which condition record was found, so maybe i could look this up manually and put form B into the tnapr-fonam/sform, but i didn't find anything.

Regards

Alexander

jignesh_mehta3
Active Contributor
0 Kudos

Hello,

Go to T-Code NACE, select V3 & go to Output Types.

Select your Output Type & select Processing Routine from Laft side menu.

In the subsequent screen, you will see between Medium & form / smartform, there is Program.

This Program is Print Program, which actually fetches data from SAP Standard tables & supply the same to Form Layout.

Now in your case, you can built a logic in this Program to fetch separate Layout (Form) if certain conditions are fulfilled, say, Customer located in certain country. You can also maintain a Z-Table where you can maintain say Country & Smartform, which will be referred in Printed in Print Program.

Thanks,

Jignesh Mehta

Former Member
0 Kudos

Thanks for your reply.

I thought it was possible to do this without Z-tables, because now we would have to maintain 2 different tables at the same time.

I thought you can use the standard functionalities, because you can enter a different form in the condition record.

But it seems you can't really use it anywhere. You would have to rebuild the whole access sequence logic in the print-program.

Regards

Alexander

Answers (0)