Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Create a Transaction Variant

Former Member
0 Likes
3,149

Hi Gurus,

My requirement is to create a transaction (ZSE16) similar to SE16 the only difference is to disable the Create entries button in ZSE16.

I got an approach using Transaction variant but I am struck up with it

Guide me how to disable the create entries button in SHD0 with the step

Regards

Paul

4 REPLIES 4
Read only

Former Member
0 Likes
1,645

To create a variant transaction, proceed as follows:

Choose Goto > Create vari. trans. from the initial transaction variant maintenance screen.

Enter a transaction name and corresponding short text. Transaction type Variant transaction is already set. The following screen already contains default values for the name of the calling transaction, the variant name, and the client-specific or cross-client variant checkbox.

Save your entries.

Example:

Variant ABC has been defined for transaction Z000. We now want to create the variant transaction ZVAR.

Name of the new transaction: ZVAR

Name of the calling transaction: Z000

Name of the variant: ABC

Transaction ZVAR starts transaction Z000 with variant ABC.

If the variant specified for a variant transaction does not exist (in the current client), then the calling transaction will be started without variant.

A transaction can be started with a variant:

Using the Test function from the maintenance transaction

By a program that includes a call to function module RS_HDSYS_CALL_TC_VARIANT

Function module RS_HDSYS_GET_TC_VARIANT checks to see if a transaction variant is active and returns its name and (if possible) its current values (screen variants, inactive functions).

Using its own transaction code as a variant transaction.

When a transaction with variant is called using the Test function, for technical reasons it is started in call mode. Some transactions behave differently in call mode than when called directly.

A variant transaction is started either in call mode or LEAVE TO TRANSACTION, depending to how it is called.

If you call a transaction with variant from a program using the function module RS_HDSYS_CALL_TC_VARIANT, you can use the function module to determine which mode is called (call mode or LEAVE TO TRANSACTION).

Variant Transactions

A transaction with a variant can have its own transaction code, which you can then use to execute the transaction with the appropriate variant.

Have a look at below link.

[Transaction Variant|http://help.sap.com/saphelp_nw70/helpdata/en/7d/f63a0a015111d396480000e82de14a/frameset.htm]

Read only

Former Member
0 Likes
1,645
Read only

Former Member
0 Likes
1,645

Hi,

You can hide unwanted screens and fields in any of the standard SAP programs without changing any of the standard programs. Additional features such as making the variant as default on the standard SAP transaction code is only available as of 4.6x.

Transaction SHD0 - Create a variant for the required transaction by changing the layout through hiding fields and screens.

Transaction SE93 - Create a variant transaction (e.g. for VA02 = ZVA02).

Next allocate the transaction variant to this variant transaction.

In 4.6c, you can default your transaction variant as the standard variant. (SHD0 - Edit -> Activate/Deactivate as standard variant)

Refer this link also ...

http://help.sap.com/saphelp_nw70/helpdata/en/67/232037ebf1cc09e10000009b38f889/content.htm

Reward if it useful...

Thanks in Advance

Read only

Former Member
0 Likes
1,645

hi,

The Purpose of transaction variants is to hide fields, menu functions, screens, to supply individual fields with default values or to change the ready for input status of one or more fields.

Using transaction variant, you can tailor screens to meet your required business process, and it can be used to accomplish security task, not directly supported by SAP’s security concepts.

A Transaction variant consist of a number of screen variants, customized to meet your requirements, Transaction variant only alters the layout of the screen. The Business processes delivered by SAP retain their integrity

Scenario

In this example the scenario is:

• In transaction BP – Business Partner, the user should not be able to create a new person.

Recording a Transaction Variant

Transactions variant are recorded through transaction SHD0

1.Enter the transaction code you want to record – here BP, and press enter

2.Enter a name for your transaction variant – here Z_BP_PERSON. Please notice that the naming convention for transaction variant requires that it starts with Z or Y.

3. Push Create then you will see the following template after you clicked on create.

You have now called transaction BP in recording mode.

1.When you push the EXIT button you will get the following popup as shown below.

2.Enter a name for the screen variant – e.g. Z_BP_PERSON or by default it will get as Z_BP_PERSON_3000,

3.Press the DEACTIVE MENU FUNCTION, and you get the following popup.

In this Popup you can deactivate menu functions.

1.Open the Menu Bar à Business Partner à Create

Position the cursor on “SCREEN_1000_CRE_PERS Person”

2.And push the DEACTIVE button .

3.Push ENTER.

4. And CLICK ON “Exit and Save”

Save the Transaction Variant.

Click on BACK button .

7.Select “ Z_BP_PERSON ” and click “WITHPROCESSING”.

a.)As you see the template, the Person button is grayed out, and if you go to the menu Business partner à Create, you can see that you’re not allowed to create a person for the menu either.

b) Save, check and execute.

c.) Go to transaction code se93 to create transaction code for Z_BP_PERSON.

d) Provide the name and click on CREATE.

e.)Provide short description and select start object as “TRANSACTION WITH VARIANT” and ENTER.

f.) Enter TRANSACTION as BP and TRANSACTION VARIANT as Z_BP_PERSON.

g.) Select CROSS CLIENT.

Save, check and Execute.

i.) The output will be displayed and observe that PERSON button is grayed out.