Well this is something new I have just learned about. Tcode SDH0 or transactional variant. What is it about? Well its basically a method for you to customized a transaction screen in a way that it will show or hide tabs or field names, set it to only be display mode or default a value for the users in that very transaction. It’s a useful tool but it does getting some use to. For my case I customized a Sales Order Screen tcode VA01. So let’s see how we get to it.
Proceed to tcode SHD0 to open the Transaction and Screen Variants. For my case I will use VA01 – Create Sales Order as an example.
- Specify the transaction code you wish to use in the initial screen. (in this case VA01)
- Specify the variant name you plan to use. This will be based on your own naming convention. (in this case ZNDA_001)
- Once step 1 and 2 are specified, click on the Create button. (Or F5 for shortcut)
Next the screen will work the same way as LSMW in recording mode. So you’ll be seeing the Create Sales Order screen. So from here on, proceed as normal as if you will be creating a sales order. However there will be a few pop up options you’ll be seeing as we go along.
- Select the correct order type (in this case ZNDA)
- Fill in the appropriate Sales Organizational data you have configured prior to this.
- Finally press enter or click on this button to create the sales order.
As mention the next screen you’ll see is the one that will keep popping up as you go along with this transaction variant. Called the Confirm Screen Entries, this is where you customized what fields to view, what fields will be hidden, what fields will have a value and etc. The one you’re seeing is the Initial Screen of VA01, but the concept is applied all around to the rest of the step.
- Un-check the Copy Settings check box IF you do not want to make any changes to the screen. Therefore this screen will not be included in your transaction variant. Me, I’m maintaining the check button.
- Give a screen variant short text name for ease of identification if you want to make changes later.
- Here’s where you need to know the field names that you want to make changes to. There’s a few options available, each with a different purpose.
- Here example, I maintained checked under w. Content, what it means is during the creation this value will be defaulted into the screen.
- Here example, I maintained checked under Output Only, what it means this will only be displayed, the field name will be grayed out and you can’t input any values.
- Here example, I maintained checked under Invisible, what it means the field name will be remove and not shown during creation
- Here example, I maintained checked under Required, means the field name needs a value before it can be saved.
Here is an example of how I setup my transaction variant.
What i means is I have set the Sales Order type default value ZOR and it will only be in displayed mode and it’s a required field. While fields like the Business Entity, Sales Unit and it’s text are all removed and will not appear. Lastly I set the Sales Organization as required, meaning there’s no default value so user needs to enter before proceeding with the creation. So as you move along with the creation you will keep repeating the steps above depending on the functions and views. Once done click on the option Exit and Save.
Once this is done, the variant will prompt to save the configuration into a package. Well you need to identify the package that can be use for configuration which will later be transported to production. Then click on save.
Next you will need to save a workbench transport request of your own. Once that is done, the transaction configuration is done. Once completed in the Assigned Screen Variant you can see all the variant recording configurations you’ve done. Below is an example.
Next you either create a customized t-code for it OR you can assign to an existing Sales document type that when executed it will call that transaction variant screen instead of the standard order screen. My example is to assign a transaction variant to an existing customized Sales Document Type
- Go to tcode VOV8, select the order type that you want to assign the variant to. (in this ZOR)
- Under Change View “Maintain Sales Order Types”: Details maintain the created transaction variant in the Transaction Flow > Variant field
And that’s it. Give it a test and depending on what was set, some screen will disappear, shown, output only and required to be filled. Do take note however that SHD0 is not the answer to everything. It can only be used for transactional codes. I tried using SHD0 for MRKO but well it didn’t work. Either I’m missing something, or I did it wrong or it definitely cannot be done. Well have fun setting it up and though it does have it’s limitation, SHDO is indeed a helpful tool to simplfy the screen without the need for an ABAPER to customized the screen for you.