Hello All ,
I would like to share a document with you all which is related to my recent work using SHD0.
This is a very familiar Tcode used by both Technical and Functional Consultants but if its used correctly and appropriately am sure it can avoid many Enhancement and Modification developments.
I was not able to find any related documents about this here when I needed that’s why I would like to take this opportunity to provide an informative content to our own SCN so that its helpful for all others.
Lets take a very general example of CO11N ( I was to work over this only ).
This tcode is used to confirm Production Order , Production Order indeed contains all BOM related materials required for a Particular Production. Now what happens sometimes end users use to delete or alter these BOM materials and in our company the requirement was to stop this at user ID level.
Usually while using SHD0 everyone use to create a ZTcode for using it , but we can do it without creating a Ztcode which I am going to explain.
1. Tcode SHD0
Give the Transaction code for which you want to Create Transaction and Screen Variants eg . CO11N here
And Select the Standard Variants tab and Further Select Variant Groups tab.
Give a Group Name say ZSIJIN as given here :
You can see that within the Press of Enter System automatically generates the Transaction Variant ZSIJINCO11N ( System Concatenates Group Name + Transaction Code ).
Transaction Variant can contain many Screen Variants inside it.
With the Press of Create Button (F5) it will start simulating CO11N and with each processing , system will propose for Screen Variants to be created for each screen elements such as Buttons , Tool Bars , Menu functions , Sub Screens with fields.
Which will continue as below :
By clicking on the Menu Functions button here you can also Edit functionality of Menu Functions
The above screen variant is for the Pushbuttons of CO11N and you can see that I have done some settings . We will see their effects in the last.
You can see the above proposal gives whole description about that Screen element like Program name with screen number , if you have any confusion you can simulate the same using SE51 and confirm.
We will continue like this ,
This for making Order field mandatory with Material field Output only.
Now press Goods Movement , for further processing.
with the press of enter it will again continue in the same fashion ,
Here comes the ToolBar and you can see that I have set DELETE option to Output only.
And Here I have removed the change in Quantity option.
Now press Exit and Save ( when you get your things done ) option .
2. Assigning Users
Now with the Variant Group created initially ( ZSIJIN in this case ) we can collect the Users for whom the Above Transaction and Screen Variant need to be applied.
Here we are now going to assign Users. And for this Users Transaction variant will come into action.
Don’t forget to press Assign and Set Proposal Buttons.
3. Now lets see the overall effect. I have highlighted them.
Hope this will be helpful to many and is a worthy document
In the document Transaction and Screen Variants for limiting Standard Transactions ,we have learned how to create Transaction and Screen variants and then assigning it to the Z-Transaction.
But in some of the cases requirement can be to assign the transaction variant in the standard transaction only for specific users or for all the users.Then SHD0 has the functionality to fulfill this requirement.To understand this we will take the same transaction used earlier i.e. CV01N.Assuming that transaction variant is already created by the method described in the previous document.
Case-1. Assigning the created Transaction and screen variant to the standard transaction for specific users
a.) Create a variant group say ZDMS.
b.) Enter the user to which Transaction variant is to be assigned and click on Assign.
c.) Click on Set Proposal
Now create a Transaction Variant as desired which is explained in the earlier document.Suppose you have created that then your screen will look like this
Now when that particular assigned user uses that standard transaction, in our case which is CV01N the screen will be that of the transaction variant created.
We can add as many user we want.Just assign the User to the Variant group and Set the proposal for each user.For removing any user first Reset the proposal and then Delete Assignment for each of the user.
Case-2 Assigning the created Transaction and screen variant to the standard transaction irrespective of the user
After creating the desired Transaction Variant, go to the Standard Variants Tab and then Click on Activate Button.
Now for the standard transaction in our case that is CV01N has adopted the screen of the created transaction variant irrespective of any user.
For removing this transaction variant,just Click on the Deactivate button.
Hope this document is self explanatory one to fulfill your requirements.