Skip to Content
Product Information
Author's profile photo PATHAN MASOOD AHMED KHAN

Freezing the Field [Ex: Payment Terms] at Transaction Level like Sale Order as the value should flow from Customer Master Data

If the Client requirement is to flow the Payment term field value from Customer Master instead of entering it at the Sale order level, we can make it happen by using the variants with the following steps.
Transaction code SHD0 is used for Transaction and Screen Variants in SAP. It comes under the package SMOD. When we execute this transaction code, SAPMSHD0 is the normal standard SAP program that is being executed in background.
Go to the Tcode – SHD0 and enter the Transaction Code in which we are going to freeze any specific field like VA01, and in ‘Standard Variants’ tab enter New name in field Name ex: ‘ZTEST2’ as variant and click on create button or menu Variant—>create or press F5.
System prompts message like Objects can only be created in Package, click on continue
”you will get the Tcode screen, in our case VA01 screen, enter the input values and press enter
Now system shows the “Confirm Screen Entries” message
where in we need to search for the field for which we need to change the status as freeze or grayed out.
We need to press continue till we get our screen in which our desired field comes ex: Payment terms
Now system will show the Sale Order screen enter the desired field values,
Now system shows next screen “Confirm Screen Entries” click on continue
Now system shows next screen “Confirm Screen Entries” click on continue
Now system shows next screen “Confirm Screen Entries” click on continue
Now system shows next screen “Confirm Screen Entries” click on continue
Now system shows next screen “Confirm Screen Entries” click on continue
In this screen [Dynpro 4440] we will find the field “Payment terms” and check the respective field in column “Output Only” which does the Payment term field as freezed and lick on “Exit and Save”.
After pressing “Exit and Save” button, system will show all screen fields in one screen for validation as like below,
after cross checking the values, go to menu “Variant” and click on “Save”.
Select the package and click on save button
Then system prompts for creation of Transport request and note that this object can be saved only in Workbench Request.
Now the Variant which we created now should be assigned to the Sales document type like ‘OR’, for that go to tcode VOV8, and enter the variant name ex: ‘ZTEST2’ and save it.
Now try creating the Sale Order with Tcode – VA01, and validate that the payment term should be grayed out or freezed as shown in the below pic.
As you can observe in the above screen shot, in VA01-Sale Order creation transaction code the Payment term field is freezed but filled.


If the Client requirement is to flow any specific field data in to Sale Order from Master Data and it should not be allowed to enter or edit at Sale Order level, like Payment Term from Customer Master in our example, we can fulfill the requirement with above mentioned process.


Kindly leave comments or Questions or suggestions if you have any about the Subject Scenario.





Best Regards,

Masood P

SAP SD Consultant

Knowledge Sharing is Power

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Jelena Perfiljeva
      Jelena Perfiljeva

      Hi Pathan!

      Thanks for sharing! This is a very old-fashioned approach and will work only in specific transaction in SAP GUI. What about VA02 transaction, for example? Or multiple other transactions (like VA41 or VA42) that handle different document types?

      This approach certainly can still work for its very limited scope but considering where we are in SAP world right now, I honestly would advise the customers to start abandoning such solutions, not implementing them. This will just add on top of "technical debt" whenever this customer wants to upgrade. Something to consider.

      P.S. Sorry but it's freeze-froze-frozen, not "freezed".


      Author's profile photo PATHAN MASOOD AHMED KHAN
      Blog Post Author

      Hi Jelena,

      Thanks for your comments.

      Even this is Very Old approach, but this is the flexible way to make changes in the fields at Transaction level.

      And to answer your question, we can use this approach for any of the transactions like as you mentioned, VA01,VA02, VA11, VA12, VA21,VA22, VA31,VA32, VA42,VA42, VL01N, VL02N,VF01,VF02 etc.

      Hope that answer your question.

      If you find any other approach, please let us know through this medium, then we can use it to its fullest.

      Best Regards,

      Masood P