13/03/2023, 15:30 Learning SHD0 with Example | SAP Blogs
Community
Ask a Question Write a Blog Post Login
Sijin Chandran
March 26, 2013 | 3 minute read
Learning SHD0 with Example
47 69 100,373
Follow Hello All ,
I would like to share a document with you all which is related to my recent work using
Like SHD0.
This is a very familiar Tcode used by both Technical and Functional Consultants but if its
RSS Feed 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.
Steps :
1. Tcode SHD0
Give the Transaction code for which you want to Create Transaction and Screen
Variants eg . CO11N here
https://blogs.sap.com/2013/03/26/learning-shd0-with-example/ 1/26
13/03/2023, 15:30 Learning SHD0 with Example | SAP Blogs
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.
https://blogs.sap.com/2013/03/26/learning-shd0-with-example/ 2/26
13/03/2023, 15:30 Learning SHD0 with Example | SAP Blogs
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 :
https://blogs.sap.com/2013/03/26/learning-shd0-with-example/ 3/26
13/03/2023, 15:30 Learning SHD0 with Example | SAP Blogs
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.
https://blogs.sap.com/2013/03/26/learning-shd0-with-example/ 4/26
13/03/2023, 15:30 Learning SHD0 with Example | SAP Blogs
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.
https://blogs.sap.com/2013/03/26/learning-shd0-with-example/ 5/26
13/03/2023, 15:30 Learning SHD0 with Example | SAP Blogs
Now press Goods Movement , for further processing.
https://blogs.sap.com/2013/03/26/learning-shd0-with-example/ 6/26
13/03/2023, 15:30 Learning SHD0 with Example | SAP Blogs
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.
https://blogs.sap.com/2013/03/26/learning-shd0-with-example/ 7/26
13/03/2023, 15:30 Learning SHD0 with Example | SAP Blogs
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.
https://blogs.sap.com/2013/03/26/learning-shd0-with-example/ 8/26
13/03/2023, 15:30 Learning SHD0 with Example | SAP Blogs
Don’t forget to press Assign and Set Proposal Buttons.
3. Now lets see the overall effect. I have highlighted them.
https://blogs.sap.com/2013/03/26/learning-shd0-with-example/ 9/26
13/03/2023, 15:30 Learning SHD0 with Example | SAP Blogs
Hope this will be helpful to many and is a worthy document
Alert Moderator
Assigned Tags
ABAP Development
co11n
screen
https://blogs.sap.com/2013/03/26/learning-shd0-with-example/ 10/26
13/03/2023, 15:30 Learning SHD0 with Example | SAP Blogs
shd0
transaction
transaction variant
transaction variants
View more...
Similar Blog Posts
Learning frustrations of an SAP Developer
By Radoslaw Chudziak Jan 14, 2022
Dynamic Internal Table iIlustrated with an example of creating the transpose of internal table
By Susmitha Susan Thomas Jun 11, 2013
SAP S/4HANA Extensibility: A Learning Journey
By Thomas Schneider Jul 25, 2019
Related Questions
Tcode for Varaints
By Former Member Jul 04, 2007
variant
By Former Member Sep 20, 2007
variant
By Former Member Sep 20, 2007
47 Comments
You must be Logged on to comment or reply to a post.
https://blogs.sap.com/2013/03/26/learning-shd0-with-example/ 11/26
13/03/2023, 15:30 Learning SHD0 with Example | SAP Blogs
Former Member
March 26, 2013 at 9:21 am
Very Thanks Sijin ,
For this very valuable document.
Good job!
Like 0 | Share
Sijin Chandran | Blog Post Author
March 26, 2013 at 9:30 am
Thanks Prasanna for your motivating words ,
BTW forgot to mention the below SAP Wiki link will also be very helpful :
http://help.sap.com/saphelp_46c/helpdata/en/bf/ec07845db911d295ae0000e82de14a/frames
et.htm
Like 0 | Share
Former Member
December 31, 2013 at 8:27 am
Hi Sijin,
I would like to make tax code as a default value whenever a purchase order created. Can we achieve this
through screen variant. If yes can you elaborate the steps?
Like 0 | Share
Sijin Chandran | Blog Post Author
January 6, 2014 at 11:43 am
Hello Kishan ,
Yeah you can set a default tax code ,
Just see the below screen shot ,
https://blogs.sap.com/2013/03/26/learning-shd0-with-example/ 12/26
13/03/2023, 15:30 Learning SHD0 with Example | SAP Blogs
Say for example here you want to set a Default date using Screen Variant .
Then first give the default value in the Contents column and after that check W. content ( With
content) checkbox.
But instead I would like you to suggest BADI with SET DATA technique for Tax Code field in me21n.
Reason being you can assign Tax Codes based on conditions ( for eg based on Purchase Order
type ) if you use BADI whereas in case of SHD0 conditions cannot be specified.
Like 0 | Share
sandeep praharaj
April 26, 2014 at 6:36 am
Hi Sijin,
Really a nice document . I have one doubt how can assign all user assignment in one shot.& can i generate
transport request & transport it to production.
Thanks & Regards
Sandeep kumar praharaj
Like 0 | Share
Sijin Chandran | Blog Post Author
April 29, 2014 at 4:42 am
Hi Sandeep ,
As per my knowledge you can assign user ids one by one only.
Yeah you can generate transport requests and this is the proper way it should be done.
For generating request just press the Transport button ( Refer Screenshot 1 ).
https://blogs.sap.com/2013/03/26/learning-shd0-with-example/ 13/26
13/03/2023, 15:30 Learning SHD0 with Example | SAP Blogs
And also check with your basis team that no one other than Basis Team members and ABAP
Developers have the access of Tcode in Production Client.
Thanks for your appreciation .
Like 0 | Share
sandeep praharaj
April 29, 2014 at 5:10 am
Hi Sijin,
Thanks for the answer. I have done the same. but i have one doubt at the time of saving i
have generated a workbench request .
but after clicking over the truck button (Transport Button) it is generating the customizing
Request why so just to gain some little clarity i asked this.
Thanks & Regards
Sandeep Kumar Praharaj
Like 0 | Share
Sijin Chandran | Blog Post Author
April 29, 2014 at 5:23 am
but after clicking over the truck button (Transport Button) it is generating the
customizing Request why so just to gain some little clarity i asked this
Am not able to recall the reason for this . I don't have system access right now.
While changing the variant in DEV client and at the time of saving the Workbench
request you are getting , check the attributes inside it , probably you would able to
see all the participating Screen variants and Transaction variant.
Get this request transported , it will do the purpose.
Like 0 | Share
sandeep praharaj
April 29, 2014 at 5:41 am
thanks
Like 0 | Share
https://blogs.sap.com/2013/03/26/learning-shd0-with-example/ 14/26
13/03/2023, 15:30 Learning SHD0 with Example | SAP Blogs
K Jogeswara Rao
April 26, 2014 at 9:21 am
Hi Sijin,
Helpful document.
Jogeswara Rao K
Like 0 | Share
Former Member
April 29, 2014 at 5:36 am
Useful one...Thanks.
BR,
Naresh K.
Like 0 | Share
Rupesh Dhiwar
July 2, 2014 at 11:59 am
Its very good information thank you it will help us to make some settings in standard...
and its easy also.
Thanks
Like 0 | Share
Former Member
August 28, 2014 at 11:44 am
Grt Work sir.....
Like 0 | Share
https://blogs.sap.com/2013/03/26/learning-shd0-with-example/ 15/26
13/03/2023, 15:30 Learning SHD0 with Example | SAP Blogs
Former Member
September 12, 2014 at 5:30 am
gud
Like 0 | Share
Former Member
September 12, 2014 at 6:14 am
Thanks a lot for useful sharing.
Regards.
Like 0 | Share
Phillip Morgan
September 12, 2014 at 7:12 am
Thanks for this document. I know and have used SHD0 before but never saw I could assign to specific
users. Very useful!
Like 0 | Share
Atul Saxena
December 9, 2014 at 5:40 am
Great Effort really....................
Regards,
Atul Saxena
Like 0 | Share
Vipul Fegade
April 10, 2015 at 6:57 am
Nice sharing ....
https://blogs.sap.com/2013/03/26/learning-shd0-with-example/ 16/26
13/03/2023, 15:30 Learning SHD0 with Example | SAP Blogs
Do we need to activate transaction variant in Each system ex. QA , PRD ? I created transaction Variant for
PK05 and working well in Development server but after transport to QA T varaint is not working , status in
QA shows inactive .......please help.
Like 0 | Share
Former Member
May 16, 2015 at 11:57 am
After testing only i can confirm the procedure.
Thanks for the info.
Like 0 | Share
Former Member
May 29, 2015 at 8:32 am
Nice writeup for SHD0.
Thanks.
Like 0 | Share
Former Member
June 11, 2015 at 5:23 pm
Comprehensive Information about SHD0.
Its indeed very useful and flexible.
Like 0 | Share
Glen Anthony
October 6, 2015 at 3:14 pm
Very useful! Thank you so much for posting this it is really a great help.
Like 0 | Share
https://blogs.sap.com/2013/03/26/learning-shd0-with-example/ 17/26
13/03/2023, 15:30 Learning SHD0 with Example | SAP Blogs
Wagner Silva
October 23, 2015 at 4:03 pm
Hi Sijin Sij,
Very good and useful information.
Like 0 | Share
Praveen K Parakkat
December 4, 2015 at 6:39 am
Nice document..Very informative..Kudos Sijin
Like 0 | Share
Former Member
December 4, 2015 at 7:49 am
Thanks for useful information.
Like 0 | Share
ananthachari enjarapu
April 14, 2016 at 5:27 am
Hi Sijin,
Thanks alot. it gives us solution.
Regards,
E.Ananthachari.
Like 1 | Share
https://blogs.sap.com/2013/03/26/learning-shd0-with-example/ 18/26
13/03/2023, 15:30 Learning SHD0 with Example | SAP Blogs
Former Member
December 13, 2016 at 11:35 pm
Hi Sijin,
Thanks for sharing.
Cheers
vwa
Like 1 | Share
Darcy Morse
December 14, 2016 at 5:17 pm
What client should this be done in? In our development system, 100, and 200 doesn't have data, but 300
gives an error that changes to repository or cross-client customizing are not permitted. Then there is also
the issue where not all of our users are in our development system.
Like 0 | Share
Sijin Chandran | Blog Post Author
December 27, 2016 at 1:05 pm
In our development system, 100, and 200 doesn’t have data,
You would need data for saving Screen Variants.
Its just like BDC recordings.
Then there is also the issue where not all of our users are in our development system.
Users you can assign in Production Client.
Like 0 | Share
Narender Kumar Singh
September 15, 2017 at 4:43 am
https://blogs.sap.com/2013/03/26/learning-shd0-with-example/ 19/26
13/03/2023, 15:30 Learning SHD0 with Example | SAP Blogs
HI Sijin,
Thanks for the documentation.
Is it possible to restrict the F4 dropdown list? for example, in the screen shot, we would like to restrict for a
set of personnel numbers.
Thanks and regards,
Narender.
Like 0 | Share
Sijin Chandran | Blog Post Author
November 10, 2017 at 10:17 am
Hi Narender,
I don’t think it would be feasible for restricting F4 help results using SHD0.
Please try with “Search help exits” for achieving this.
Function Module “F4IF_SHLP_EXIT_EXAMPLE” is a reference implementation of Search help Exit
implementation.
Thanks,
https://blogs.sap.com/2013/03/26/learning-shd0-with-example/ 20/26
13/03/2023, 15:30 Learning SHD0 with Example | SAP Blogs
Sijin
Like 0 | Share
Dhananjay Mhetre
January 9, 2018 at 8:46 am
Hi Sijin,
Many thanks for sharing information. It helped me on right time.
Cheers,
Dhananjay Mhetre
Like 1 | Share
Julio Cesar Quiñones Niño
February 16, 2018 at 11:38 pm
Thanks for this great document.
I want to make as display only the Batch field in the same CO11N transaction in the section Goods
Movements, in fact same screen 0500 as you showed, but I can make it work, any ideas why, even I am
marking the field as "Output Only"
Thanks
Like 0 | Share
Sijin Chandran | Blog Post Author
March 12, 2018 at 5:52 am
Hello Julio,
I don't have SAP ECC access now.
https://blogs.sap.com/2013/03/26/learning-shd0-with-example/ 21/26
13/03/2023, 15:30 Learning SHD0 with Example | SAP Blogs
Actually it should work, really clueless why its not working for you.
Like 0 | Share
Barkath Basha
August 28, 2018 at 9:40 am
Hi Sijin,
Thanks for the helpful document. Could you please help me with the below requirement.
I have created a Transaction Variant for TCode "IE01" and made reference equipment as mandatory but
have to make it mandatory based only on selection of equipment category as "D" not for all.
Thanks.
Like 0 | Share
Sijin Chandran | Blog Post Author
August 29, 2018 at 6:15 am
Hi Barkath,
Unfortunately these kind of conditional logic is where SHD0 fails.
You would need to go for Enhancements then.
Thanks,
Sijin
Like 0 | Share
Ashok Babu Dasari
October 24, 2019 at 6:59 am
Hello ..
Thanks for this document.. its very helpful..
But this variants are only for Dialog transactions.
https://blogs.sap.com/2013/03/26/learning-shd0-with-example/ 22/26
13/03/2023, 15:30 Learning SHD0 with Example | SAP Blogs
I want to default variant for standard transaction of report like S_ALR_*
Can you please help me with this
Like 0 | Share
Sijin Chandran | Blog Post Author
October 24, 2019 at 7:09 am
Yes this is for controlling Screen Elements (Dialog).
For the variants related to Report programs Selection Screens this won't be effective. And I
clueless how we can set a default variant for Report program's Selection Screens.
May be someone else here can comment on the same.
Thanks,
Sijin
Like 0 | Share
prabakaran k
September 21, 2020 at 5:57 am
Good Document.
One Requirement Is that can be meet in Transaction Variant and Screen Variant.Please suggest
Requirement: In CO11N confirmation there are 5 operations 0010,0020,0030,0040,0050 . Here
operation 10 conf qty=10 pcs
operation 20 conf qty <= or >= confirmed qty of operation 10 (example 9,10,11,12..) flexible
Operation 30 conf qty <= operation 20 conf qty
same condition of 30 for 40,50
Usually standard config will uniformly control for all operation. Here some specific to operation control
needed
Thanks
https://blogs.sap.com/2013/03/26/learning-shd0-with-example/ 23/26
13/03/2023, 15:30 Learning SHD0 with Example | SAP Blogs
Like 0 | Share
Sijin Chandran | Blog Post Author
September 21, 2020 at 6:39 am
Hi Prabakaran,
As mentioned by me in earlier comments such kind of conditional logic is where SHD0 fails.
For these kind of requirements we would need to go for Coding EXITS/Enhancements.
Thanks,
Sijin
Like 0 | Share
Shivom Bhardwaj
January 13, 2021 at 10:01 am
Dear Sijin ji,
could you please show me, how to hide entire "Item details " in Transaction code ME29N. we tried you flow
you shown in blog...but i could not....
screen shot attached for your reference.
Like 0 | Share
Sijin Chandran | Blog Post Author
January 19, 2021 at 5:25 am
Hi Shivom,
Can you tell precisely what error/issue you are facing.
It would be really difficult for me to do the entire process here in my client’s system for ME29N
considering here nothing like this is needed.
Please put further details.
I think you might not have assigned properly to users.
And one important thing, you can clearly see that this SHD0 is used for setting screen element's
properties and not for hiding entire screen ( if my understanding is correct, that is your
requirement ).
Nowhere you can see any option like that to Hide entire screen/subscreen, you need to
understand that this feature is for controlling screen element properties like setting a I/P field
https://blogs.sap.com/2013/03/26/learning-shd0-with-example/ 24/26
13/03/2023, 15:30 Learning SHD0 with Example | SAP Blogs
Editable/Output Only/Mandatory/Hard code a value etc.
Thanks,
Sijin
Like 0 | Share
Shivom Bhardwaj
January 19, 2021 at 5:30 am
thank you, i got the solution and achieved what i want.
Like 0 | Share
HARSHAD PATIL
June 29, 2021 at 5:09 am
Dear Sigin,
Really nice document. while executing the steps getting following message. What would be the reason...
Like 0 | Share
Sijin Chandran | Blog Post Author
June 29, 2021 at 6:27 am
Choose the other cross-client for the landscape you logged in.
Thanks,
Sijin
Like 0 | Share
https://blogs.sap.com/2013/03/26/learning-shd0-with-example/ 25/26
13/03/2023, 15:30 Learning SHD0 with Example | SAP Blogs
Thakur Sai Ram Singh
March 16, 2022 at 6:38 am
Sijin Chandran
Thank You.
Sir I will try this one and I will Inform you.
Like 1 | Share
soli98 soli98
May 28, 2022 at 9:04 am
Thanks for your valuable document. But how we can choose right package for the Transaction Variant?
Like 0 | Share
Find us on
Privacy Terms of Use
Legal Disclosure Copyright
Trademark Preferências de Cookies
Newsletter Support
https://blogs.sap.com/2013/03/26/learning-shd0-with-example/ 26/26