cancel
Showing results for 
Search instead for 
Did you mean: 

User Exits in Picking and Delivery?

binayak_ghosh2
Participant
0 Kudos

Hi,

What are the User Exits in Picking and Delivery?

Regards,

Binayak

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi

Pl's go through below stuff ,hope it will help u

http://www.easymarketplace.de/userexit.php

[bHere is the list of user exit related to <b>VL01N</b> ]Delivery</b> and <b>Picking</b>

V02V0001 - Sales area determination for stock transport order

V02V0002 - User exit for storage location determination

V02V0003 - User exit for gate + matl staging area determination

V02V0004 - User Exit for Staging Area Determination (Item)

V50PSTAT - Delivery: Item Status Calculation

V50Q0001 - Delivery Monitor: User Exits for Filling Display Fields

V50R0001 - Collective processing for delivery creation

V50R0002 - Collective processing for delivery creation

V50R0004 - Calculation of Stock for POs for Shipping Due Date List

V50S0001 - User Exits for Delivery Processing

V53C0001 - Rough workload calculation in time per item

V53C0002 - W&S: RWE enhancement – shipping material type/time slot

V53W0001 - User exits for creating picking waves

VMDE0001 - Shipping Interface: Error Handling – Inbound IDoc

VMDE0002 - Shipping Interface: Message PICKSD (Picking, Outbound)

VMDE0003 - Shipping Interface: Message SDPICK (Picking, Inbound)

VMDE0004 - Shipping Interface: Message SDPACK (Packing, Inbound)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Biyank.,

These are the user exits used for picking & delivery

MV50AFZ1

MV50AFZ2

MV50AFX3

MV50AFZK

MV50AFZL

MV50AFZZ

REWARD if helpfull

Thanks & regards

Narayana

Former Member
0 Kudos

Dear Binayak,

Following are the customer exits available for VL01N/VL02N,

V02V0001 Sales area determination for stock transport order

V02V0002 User exit for storage location determination

V02V0003 User exit for gate + matl staging area determination (headr)

V02V0004 User Exit for Staging Area Determination (Item)

V50PSTAT Delivery: Item Status Calculation

V50Q0001 Delivery Monitor: User Exits for Filling Display Fields

V50R0001 Collective processing for delivery creation

V50R0002 Collective processing for delivery creation

V50R0004 Calculation of stock for POs for shipping due date list

V50S0001 User Exits for Delivery Processing

V53C0001 Rough workload calculation in time per item

V53C0002 W&S: RWE enhancement - shipping material type/time slot

V53W0001 User exits for creating picking waves

VMDE0001 Shipping Interface: Error Handling - Inbound IDoc

VMDE0002 Shipping Interface: Message PICKSD (Picking, Outbound)

VMDE0003 Shipping Interface: Message SDPICK (Picking, Inbound)

VMDE0004 Shipping Interface: Message SDPACK (Packing, Inbound)

You can search on your own.

Please check this sample program from other thread to find BADI and enhancement for a given transaction code. You just need to create a custom program in your system by cut and paste below codes.

REPORT ZTEST.

TABLES: TSTC,

TADIR,

MODSAPT,

MODACT,

TRDIR,

TFDIR,

ENLFDIR,

SXS_ATTRT ,

TSTCT.

DATA: JTAB LIKE TADIR OCCURS 0 WITH HEADER LINE.

DATA: FIELD1(30).

DATA: V_DEVCLASS LIKE TADIR-DEVCLASS.

PARAMETERS: P_TCODE LIKE TSTC-TCODE,

P_PGMNA LIKE TSTC-PGMNA .

DATA: WA_TADIR TYPE TADIR.

START-OF-SELECTION.

IF NOT P_TCODE IS INITIAL.

SELECT SINGLE * FROM TSTC WHERE TCODE EQ P_TCODE.

ELSEIF NOT P_PGMNA IS INITIAL.

TSTC-PGMNA = P_PGMNA.

ENDIF.

IF SY-SUBRC EQ 0.

SELECT SINGLE * FROM TADIR

WHERE PGMID = 'R3TR'

AND OBJECT = 'PROG'

AND OBJ_NAME = TSTC-PGMNA.

MOVE : TADIR-DEVCLASS TO V_DEVCLASS.

IF SY-SUBRC NE 0.

SELECT SINGLE * FROM TRDIR

WHERE NAME = TSTC-PGMNA.

IF TRDIR-SUBC EQ 'F'.

SELECT SINGLE * FROM TFDIR

WHERE PNAME = TSTC-PGMNA.

SELECT SINGLE * FROM ENLFDIR

WHERE FUNCNAME = TFDIR-FUNCNAME.

SELECT SINGLE * FROM TADIR

WHERE PGMID = 'R3TR'

AND OBJECT = 'FUGR'

AND OBJ_NAME EQ ENLFDIR-AREA.

MOVE : TADIR-DEVCLASS TO V_DEVCLASS.

ENDIF.

ENDIF.

SELECT * FROM TADIR INTO TABLE JTAB

WHERE PGMID = 'R3TR'

AND OBJECT in ('SMOD', 'SXSD')

AND DEVCLASS = V_DEVCLASS.

SELECT SINGLE * FROM TSTCT

WHERE SPRSL EQ SY-LANGU

AND TCODE EQ P_TCODE.

FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.

WRITE:/(19) 'Transaction Code - ',

20(20) P_TCODE,

45(50) TSTCT-TTEXT.

SKIP.

IF NOT JTAB[] IS INITIAL.

WRITE:/(105) SY-ULINE.

FORMAT COLOR COL_HEADING INTENSIFIED ON.

  • Sorting the internal Table

sort jtab by OBJECT.

data : wf_txt(60) type c,

wf_smod type i ,

wf_badi type i ,

wf_object2(30) type C.

clear : wf_smod, wf_badi , wf_object2.

  • Get the total SMOD.

LOOP AT JTAB into wa_tadir.

at first.

FORMAT COLOR COL_HEADING INTENSIFIED ON.

WRITE:/1 SY-VLINE,

2 'Enhancement/ Business Add-in',

41 SY-VLINE ,

42 'Description',

105 SY-VLINE.

WRITE:/(105) SY-ULINE.

endat.

clear wf_txt.

at new object.

if wa_tadir-object = 'SMOD'.

wf_object2 = 'Enhancement' .

elseif wa_tadir-object = 'SXSD'.

wf_object2 = ' Business Add-in'.

endif.

FORMAT COLOR COL_GROUP INTENSIFIED ON.

WRITE:/1 SY-VLINE,

2 wf_object2,

105 SY-VLINE.

endat.

case wa_tadir-object.

when 'SMOD'.

wf_smod = wf_smod + 1.

SELECT SINGLE MODTEXT into wf_txt

FROM MODSAPT

WHERE SPRSL = SY-LANGU

AND NAME = wa_tadir-OBJ_NAME.

FORMAT COLOR COL_NORMAL INTENSIFIED OFF.

when 'SXSD'.

  • For BADis

wf_badi = wf_badi + 1 .

select single TEXT into wf_txt

from SXS_ATTRT

where sprsl = sy-langu

and EXIT_NAME = wa_tadir-OBJ_NAME.

FORMAT COLOR COL_NORMAL INTENSIFIED ON.

endcase.

WRITE:/1 SY-VLINE,

2 wa_tadir-OBJ_NAME hotspot on,

41 SY-VLINE ,

42 wf_txt,

105 SY-VLINE.

AT END OF object.

write : /(105) sy-ULINE.

ENDAT.

ENDLOOP.

WRITE:/(105) SY-ULINE.

SKIP.

FORMAT COLOR COL_TOTAL INTENSIFIED ON.

WRITE:/ 'No.of Exits:' , wf_smod.

WRITE:/ 'No.of BADis:' , wf_badi.

ELSE.

FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.

WRITE:/(105) 'No userexits or BADis exist'.

ENDIF.

ELSE.

FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.

WRITE:/(105) 'Transaction does not exist'.

ENDIF.

AT LINE-SELECTION.

data : wf_object type tadir-object.

clear wf_object.

GET CURSOR FIELD FIELD1.

CHECK FIELD1(8) EQ 'WA_TADIR'.

read table jtab with key obj_name = sy-lisel+1(20).

move jtab-object to wf_object.

case wf_object.

when 'SMOD'.

SET PARAMETER ID 'MON' FIELD SY-LISEL+1(10).

CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.

when 'SXSD'.

SET PARAMETER ID 'EXN' FIELD SY-LISEL+1(20).

CALL TRANSACTION 'SE18' AND SKIP FIRST SCREEN.

ENDCASE.

Alternatively, you can do the following:

1. For what ever transaction u want the enhancement .. just check for the System-->status (menu) and find out the PROGRAM name....

2. Double click on to the program name and go inside the program (Abap editor)

3. Search for "Call Customer-function " ... and u'll get some search results .. If u get results then u have enhancement in that tcode .....

4. Then it actually calls a Function module .... copy the Function module name .... go to SE80 (object navigator) click on "Repository Information system" then Customer Enhancements .... Give the Function module name in the "Components" field and click Execute ....

ull get a list of Enhancements related to that Componene....

5. Choose which ever enhancement will suit ur business need ..

6. Go to CMOD... create a project .... assign ur enhancement ... and then code ur logic.... activate ur enhancement in CMOD ....... Ur Buisness need will be solved...

For a user exit......

Finding whether there is any User Exit or not for tcode VA42

1. For what ever transaction u want the user exit .. just check for the System-->status (menu) and find out the PROGRAM name.... ( The program name would be for our scenario "SAPMV45A" )

2. Double click on to the program name and go inside the program (Abap editor)

3. Search for the word "USEREXIT" .... u ll find all the user exits in the search result .. and find ur's then ...

Hope this will help.

Regards,

Naveen.