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: 

Sales Order User exit

Former Member
0 Kudos

Hi,

I need to add additional tab in sales order. For that i have two screens SAPMV45A 8309,SAPMV45A 8459 as subscreen. But how to get this screen in sales area. Can any guide step by step ?

Prakash

1 ACCEPTED SOLUTION

Former Member
0 Kudos

If you want to add additional field to sap sales order, that you can do in

Sales order header ‘Additional Data B’ is on screen SAPMV45A 4002. These screens contain the Include screens SAPMV45A 8309 as user exits.
Application-specific check module are to be included in the Include Program MV45AIZZ

Cheers,

Thomas.

9 REPLIES 9

Former Member
0 Kudos

Prakash,

Sorry...I didnt get your question. What do you mean by getting this screen in sales area.

Basically if you want to modify the additional data tabs then you will work with screen 8459 and put code in the screen logic.

If I am missing something here, can you please explain me a bit.

Thanks,

Former Member
0 Kudos

If you want to add additional field to sap sales order, that you can do in

Sales order header ‘Additional Data B’ is on screen SAPMV45A 4002. These screens contain the Include screens SAPMV45A 8309 as user exits.
Application-specific check module are to be included in the Include Program MV45AIZZ

Cheers,

Thomas.

0 Kudos

Hi thomas,

i have been changing the SAPMV45A 8309 screens.Can i edit MV45AIZZ,and call subscreen 8309 ???

Can you tell me step by step pls ??

0 Kudos

Hi Prakash,

SAPMV45A 8309 screen can be used for <b>Additional Data B</b>

Here you can add your own custom fields in the screens

and this screen is called in the include <b>MV45AOZZ</b>

Not in <b>MV45AIZZ</b>

Regards

vijay

0 Kudos

Ok thank you vijaya babu

0 Kudos

Prakash,

please note that Lakshminarayanan had already mentioned MV45AOZZ, so deserved some points.

Also, MV45AIZZ might also be needed as that's where PAI logic is to go.

former_member404244
Active Contributor
0 Kudos

Hi Prakash,

i Guess u want to add field in salesorder screen.u can do it in header level or item level..

For header level -Goto(in menu) header->Additional data A and Additional data B and the screen numbers r 4309 and 4012

For item level - Goto (in menu) item ->Morefunctions->Additional data A ,screen number is 4459 and Additional data B ,screen number 4013.

U can add the fields.

Regards,

Nagaraj

former_member186741
Active Contributor
0 Kudos

Prakash is asking about SAPMV45A 8309 and SAPMV45A 8459. Does anybody knopw anything about these customer screens?

Former Member
0 Kudos

Hi,

First of all after adding the fields, you need to display those new fields in the VA01 transaction while creating a new sale order. So for that you need to first use the exit MV45A0ZZ. In this exit under the PBO, declare any form like eg: module zz_blank_fields. The coding for the module must be like as follows:

LOOP AT SCREEN.

IF SCREEN-GROUP1 = '002'.

SCREEN-INPUT = '0'.

elseif screen-group1 = '123' or

screen-group1 = 'QUO'.

screen-active = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

WHEN 'VA12'.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = '123' OR

SCREEN-GROUP1 = 'QUO' .

screen-active = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

WHEN 'VA13'.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = '001' OR

SCREEN-GROUP1 = '002'.

SCREEN-INPUT = '0'.

elseif screen-group1 = '123' OR

SCREEN-GROUP1 = 'QUO' .

screen-active = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

ENDCASE.

when 'B'."Quotation

CASE SY-TCODE.

WHEN 'VA21' OR 'VA22'.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = '002'.

SCREEN-INPUT = '0'.

elseif screen-group1 = '123'.

screen-active = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

WHEN 'VA23'.

LOOP AT SCREEN.

IF SCREEN-GROUP1 = '001' OR

SCREEN-GROUP1 = '002' OR

SCREEN-GROUP1 = 'QUO' .

SCREEN-INPUT = '0'.

elseif screen-group1 = '123'.

screen-active = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

ENDCASE.

when 'C'."Order

**Additinal fields for capturing DI Details in Order

case sy-tcode.

when 'VA01' OR 'VA02'.

LOOP AT SCREEN.

IF SCREEN-GROUP1 <> '123' .

SCREEN-ACTIVE = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

when 'VA03'.

LOOP AT SCREEN.

IF SCREEN-GROUP1 <> '123' .

SCREEN-ACTIVE = '0'.

ELSE.

SCREEN-INPUT = '0'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

ENDCASE.

when others.

loop at screen.

screen-active = '0'.

modify screen.

endloop.

endcase.

Lakshminarayanan.

P.S.Reward points for Helpful answers