2006 Jun 26 6:08 PM
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.
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.
2006 Jun 26 6:22 PM
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.
2006 Jun 26 8:34 PM
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
| User | Count |
|---|---|
| 6 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |