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

Adding new screen field

Former Member
0 Likes
691

Hi! Gurus,

We would like to add a new screen field to our shipment document.

My ABAPper says there's no screen exit to do the same.

He talks something about breaking the code and stuff like that which I dont understand much.

Please let me know a way if you guys can think of something.

I need to add a field in VT01N transaction.

Thanks in advance.

2 REPLIES 2
Read only

Former Member
0 Likes
512

HI Runa

check this example code.

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.

Regards,

Laxmi.

Read only

Manohar2u
Active Contributor
0 Likes
512

Runa,

These are application specific exits, refer to this link below

<a href="http://help.sap.com/saphelp_47x200/helpdata/en/bf/ec07a25db911d295ae0000e82de14a/frameset.htm">http://help.sap.com/saphelp_47x200/helpdata/en/bf/ec07a25db911d295ae0000e82de14a/frameset.htm</a>

For this we need to get the access key for

<b>Programs with user exits contain subroutine calls at certain points in their syntax that are identified by the prefix USEREXIT</b>

Need to request basis person with the program details to get the access key.

Regds

Manohar