cancel
Showing results for 
Search instead for 
Did you mean: 

How to make certain fields of XD02 in display mode?

Former Member
0 Kudos

Hello Everyone,

The client wants to restrict changing all the fields of XD02. He wants the users to change only certain fields mentioned below in XD02 T-Code.

If the division is 01/03/05/06, then the fields mentioned below should be in editable mode and the remaining fields should be in display mode in XD02.

General Data -> Address Tab: Telephone phone, Mobile, Fax, Email and Comments

General Data -> Control Data: Industry, Train Station, VAT Reg no., and Corporate Group

General Data ->Marketing: Employees, Industry and Industry Code1

General Data ->Contact Person: Name, First name, Department and Function

Company Code Data -> Correspondence: Dunn Procedure

Sales Area Data -> Extra: Customer Group1, Customer Group2, Customer Group3, Customer Group4 and Customer Group5.

CIN Detail: All the fields in all tabs make editable.


If the division is 04/02, then the below mentioned fields should be in editable mode and the remaining fields should be in display mode in XD02.

General Data-> Address: Telephone number, Mobile number, Fax, Email.

General Data -> Control data: Industry, VAT Reg no. Corporate group,

General Data-> Marketing: Nielsen ID, Industry, Regional Market

General Data-> Contact Person: Name, First Name, Department and Function

Sales Area Data->Sales: Sales District, Sales Office, Sales Group, Customer group, Price group, Customer price procedure, Customer Stat Group.


Sales Area Data -> Extra: Customer Group1, Customer Group2, Customer Group3, Customer Group4 and Customer Group5.

Company code -> Correspondence:  Customer user, Act.Clk tel.no. Account memo

Company code -> Withholding Tax:  All fields should be allowed to change. With t type, W/tax code, w/tax, oblig, from, oblig to, W/tax number.

Remaining all the controls should be only in display mode in XD02.

I tried with SHD0, but it is very time-consuming. I checked with the ABAPER, too, but he isn't aware of any BAPI/BADI. Could you please suggest me the best possible solution for this requirement.

Thanks in advance.

Regards,

Anwar

Accepted Solutions (1)

Accepted Solutions (1)

jiteshmehta
Active Contributor
0 Kudos

Hi Mohammed

SHD0 is the best option, time consuming but standard.

I see following possibilities

1) check if field group in SPRO

Financial Accounting (New)

->Accounts Receivable and Accounts Payable

->Customer Accounts

->Master Data

->Preparations for Changing Customer Master Data

helps, although note says for F_LFA1_AEN, it is also for F_KNA1_AEN

-Change authorization for certain fields.

refer note 7545 - Authorization for master record field F_LFA1_AEN

2) in SMOD check for check for enhancement SAPMF02D, press enter, click on components

one exit EXIT_SAPMF02D_001 Customers: User Exit for Checks prior to Saving.

In this userexit you can put your checks. please refer the documentation in SMOD, sample code is given for reference

Same has been mentioned in SPRO

Financial Accounting (New)

->Accounts Receivable and Accounts Payable

->Customer Accounts

->Master Data

->Preparations for Creating Customer Master Data

->Develop Enhancements for Customer Master Data

Thanks

Jitesh

ravi_kumar100
Active Contributor
0 Kudos

Hi,

Check in SPRO - Logistics General - Business Partner - Customers - Define Transaction-  dependent Screen Layout.

As per your requirement choose the XD02 transaction and select the different fields which you need to make it as optional ,suppress, and editable.

Transaction is "OB20".

This do not require any special ABAP support.

Check it and revert back for clarification.

Regards,

SRK

Former Member
0 Kudos

Hi Ravi Kumar,

Thanks for your reply.

Will OB20 allow me to make the fields as display mode?

Regards,

Anwar

JL23
Active Contributor
0 Kudos

No it will not.

You cannot make address fields hidden based on a sales area.

You can even maintain and create the address data without specifying a sales area.

It would be possible if you create an extra account group per sales area or an extra transaction to maintain data specific to this account group.

ravi_kumar100
Active Contributor
0 Kudos

Hi,

In OB20, choose the "Change Customer (Centrally) "option as you have mentioned "XD02" and not "VD02"where you can customize as per your requirement.

You can hide/display address details .

Regards,

SRK

JL23
Active Contributor
0 Kudos

If you hide something in OB20 e.g. for XD02, then this is hidden regardless of a sales area, even regardless of the chosen account group. It is always suppressed when you use XD02

Former Member
0 Kudos

Hi Jurgen,

We do not want any field to be in "Hidden" mode....The fields should be in Display mode...Display mode is different from Hidden as hidden will suppress the fields and we won't be able to view them.

But, the requirement is NOT to hide the address fields first of all as you said. Request you to go through the requirement once again and you'll have a better understanding.

Apologize if I have not been able to express it properly.

Regards

Anwar

JL23
Active Contributor
0 Kudos

No matter if hidden or just display only, it cannot be made with standard customizing

you can create transaction variants and restrict the usage via different roles

you can create own authority objects (own checks are needed too) for the address view

or you just do some coding in EXIT_SAPMF02D_001 to control if you allow saving when someone has changed those fields for which he is not responsible.

Answers (6)

Answers (6)

former_member221372
Participant
0 Kudos

Hi,

You have to check with your ABAPer for Enhancement or pls have a look for Screen Recording (Transaction and Screen Variants , SHD0).

Regards,

Bharath

Former Member
0 Kudos

Hi,

I had implemented the same requirement few years back. The field display/change is not possible with Basis hence you have to use ABAP and SHD0.

Step 1: Create 2 screen variants,

     If the division is 01/03/05/06 --> allow the above mentioned fields for change and display others.                                                        Create Tcode ZXD02 with this screen variant.

Similarly Create second screen variant and Create Tcode YXD02 with this second screen variant.

Step 2: Assuming this is for all users (otherwise differentiate users by adding some authorization object)

     Take help of ABAP and ask them to redirect the Tcode XD02 as:

          If the division is 01/03/05/06

               call Tcode ZXD02 with same parameter (customer number and sales area) as user input in                XD02.

          else If the division is 04/02

               call Tcode YXD02 with same parameter (customer number and sales area) as user input                in XD02.

User will never feel the difference and you will get your requirement done.

moazzam_ali
Active Contributor
0 Kudos

Hi

Strongly agreed with what Jurgen said here. Address field is not sales area relevant. Either you have to make sales area mandatory in XD02 screen or make some other transaction.

Being in standard settings we can maintain field level restriction for users and you can check the document just for reference.

Thank$

ravi_kumar100
Active Contributor
0 Kudos

Hi,

As per the requirement the changes are to be with divisions.

In your case you can check the "Change Customer(Sales) "instead of the "Change Customer (Centrally)

I had checked it by maintaining the display option for the general data and it affects only Sales related

general data that too in "VD02" transaction.

The changes are not impacted in the "XD02" transaction .

Kindly recheck and revert if any clarifications.

and in XD02

No effect in " XD02" transaction

In VD02 transaction

The change is effected in General Data:

Regards,

SRK

JL23
Active Contributor
0 Kudos

But  exact the same behavior for the other sales area, not able to have the field open for the other sales area in the same transaction, which was the initial request.

ravi_kumar100
Active Contributor
0 Kudos

Hi Jurgen

As per your comments i have rechecked for all other Sales Areas where the effect is not there and the values are open and editable.

Regards,

SRK

JL23
Active Contributor
0 Kudos

You want to say that in VD02 you get display only fields for 1000 10 10

while you get optional fields in VD02 for 1000 10 20 ?

I don't believe this, not with these screen shots

ravi_kumar100
Active Contributor
0 Kudos

Dear Jugen,

You were right . The changes in OB20 had been reverted and i have rechecked it and it is in display mode for all the sales areas,

Kindly note that the irrespective of Sales Area the changes are effected,

Sorry for the error full posting.

Regards,

SRK

Former Member
0 Kudos

Hi SRK,

If you still need this requirement, it is best that you implement GUI XT addon. This is the best solution.

Refer below link on some examples:

http://www.synactive.com/examples/examples.html

Regards

Former Member
0 Kudos

Interesting requirement but why they need to do this kind of control?

You have to ask them this question first. If only it is key sensitive fields, then you need special controls. if not just for segregation purpose, you have to try to say no to them.

SAP defines segregation by Finance and SD.

SD maintain general and sales area.

Finance maintain company code data or/+ General Data. These are controlled already through customizing.

Former Member
0 Kudos

Dear Anwar,

You can request to your ABAPer to make  two authorization objects to cater this requirement, and with the help of Basis team you can assign these  authorization objects under the Role of those users who will update these fields of customer master data in XD02.

Best Regards,

MH

Former Member
0 Kudos

Dear Minhajuddin,

Thanks for your reply.

So, it is not advisable to do with SHD0, correct?

And, will the ABAPER create authorization objects with fields as editable and display mode ?

Regards,

Anwar

adithya_velide
Participant
0 Kudos

Dear anwer,

            

            I think this requirement is possible with enhancement which mentioned by Mr.Laxmipathi ji. For that the logic is which you need to give it to the ABAPer is,

if the division is(01,03,05,06)

then {the fields you mentioned can editable}.   remaining fields are only for display.   

else(02,04) then

then { the other fields you mentioned are editable}.remaining fields are only for display.

but you you have to mention them in the technical names (table-field).

then your ABAPer will create an object.

iif you provide user exit also then your requirement will be fulfilled.

hope it will be helpful.

Regards,

Adithya.

Former Member
0 Kudos

First check with custom authorization object then test if your purpose solved well and good other wise check other options as well.

Regards,

MH

Lakshmipathi
Active Contributor
0 Kudos

Before going for an enhancement, better check with your Security team who can do this.

G. Lakshmipathi