Application Development 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: 

Changing the atributes of a field in VA01

Former Member
0 Kudos

hi,

In transaction VA01, i need to make the field 'WBS Element', in the tab 'Account Assignment' for the items, editable. In order to achieve this, i´ve used the exit USEREXIT_FIELD_MODIFICATION in MV45AFZZ, with the following code:

CASE SCREEN-NAME.

WHEN 'COBL-PS_POSID'.

SCREEN-INPUT = 1.

ENDCASE.

but without any sucess! Does anyone know if there is anything missing in my aproach or an alternative way to achieve this?

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi Max,

In fact, normally that field is editable. But in our system, an integration is being made with the module PS (Project System) and that's the reason why it's not editable now. SAP itself replied that this is normal in those circunstances and the only way to go round it is through this exit:

"unfortunately I regret to tell you that the situation you describe is

the standard system behaviour. If you want to change it so that the

WBS element is ready for input in the sales order, you could consider

USEREXIT_FIELD_MODIFICATION (MV45AFZZ).."

but that didn't work, possibly because of what you said. If so, then what is the alternative?

Thanks

12 REPLIES 12

former_member181962
Active Contributor
0 Kudos

CASE SCREEN-NAME.

WHEN 'COBL-PS_POSID'.

SCREEN-INPUT = 1.

<b>modify screen.</b>

ENDCASE.

see the bold part.

former_member181962
Active Contributor
0 Kudos

Hi Bruno,

Also check if you have created a project for your enhancement in CMOD transaction and activated the same.

Regards,

Ravi

Former Member
0 Kudos

Hi, Ravi

I've already tried that. The thing is that the code that i´ve presented has worked for other fields, like 'VBAP-NETWR', but for some reason doesn't work for the 'COBL-PS_POSID'.

Thanks anyway.

0 Kudos

Are you sure the screen name for that field is the same as

'COBL-PS_POSID'??

I mean did you see the same screen field when you do a F1 and F9/Techinical Info over the screen field?

Go to the screen where you have this field and press F1 on that field and press the Techinical Information Button which shows you the screen field name and the structure/Table it is referring to.

Former Member
0 Kudos

Hi Ravi,

This is a user-exit and it does not relate with CMOD. That is the case of the customer-exits.

Thanks.

0 Kudos

Hi Bruno

The user-exit you're using can't work for that field, becouse the program of dynpro (where the field is shown) is not SAPMV45A, but SAPLKACB.

In my system that field is editble, so I think you need to manage it in customizing.

Max

Former Member
0 Kudos

Yes, Ravi. The name is 'COBL-PS_POSID'. You can check that also in function group KACB, screen 1006.

Thanks.

0 Kudos

HI Bruno,

Are you sure the User exit you are using is the right one? I just have a doubt if this is related to the sales process. It looks like you have to find a User exit in the Function Group KACB instead.

See the include LKACBF03 and the form FORM customer_exit_pbo.

Regards,

Ravi

Former Member
0 Kudos

Hi Max,

In fact, normally that field is editable. But in our system, an integration is being made with the module PS (Project System) and that's the reason why it's not editable now. SAP itself replied that this is normal in those circunstances and the only way to go round it is through this exit:

"unfortunately I regret to tell you that the situation you describe is

the standard system behaviour. If you want to change it so that the

WBS element is ready for input in the sales order, you could consider

USEREXIT_FIELD_MODIFICATION (MV45AFZZ).."

but that didn't work, possibly because of what you said. If so, then what is the alternative?

Thanks

0 Kudos

Hi Bruno

There's the following user-exit where you can try to change the attribute for that screen:

USEREXIT_COBL_SEND_ITEM in the include MV45AFZB

Here can try to work this code:

READ TABLE INT_COBLF WITH KEY FDNAM = 'PS_PSP_PNR'.

INT_COBLF-INPUT = 1.

INT_COBLF-OUTPUT = 1.

MODIFY INT_COBLF.

In the fm cobl_ex_send_pbo the input/output attributes of PS_PSP_PNR are transfered to PS_POSID.

Max

Message was edited by: max bianchi

Former Member
0 Kudos

Hi Ravi,

i also have the feeling that the answer may be through customer_exit_pbo, but i'm trying to see all the possibilities known to the community.

Thanks,

Bruno

Former Member
0 Kudos

Use enhancement ACCOBL01 ( Customer exits for PAI and PBO in coding block ) and restrict the execution for transaction VA01 and VA02.This exit is called from FG KACB, screen 1006, MODULE INIT, PERFORM customer_exit_pbo CHANGING cobl.

I hope it will solve your problem.