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

user exist

Former Member
0 Likes
527

hi

if any one send me the sample coding for user exist

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
487

Hi,

look in txn CMOD or SMOD, check enhancement 0VRF0001. It uses function module EXIT_SAPL0VRF_001. It is used to manipulate route determination for SD.

Here is the code

DATA: ls_xvbpa LIKE xvbpa,

lf_aland LIKE tvst-aland,

lf_azone LIKE tvst-azone,

lf_lland LIKE trolz-lland,

lf_lzone LIKE trolz-lzone,

ls_vbadr LIKE vbadr,

ls_xvbap LIKE xvbap,

ls_tvst LIKE tvst,

lv_route LIKE trolz-route.

LOOP AT xvbap INTO ls_xvbap.

IF NOT ls_xvbap-vstel IS INITIAL.

SELECT SINGLE * FROM tvst

INTO ls_tvst

WHERE vstel EQ ls_xvbap-vstel.

IF sy-subrc = 0.

lf_aland = ls_tvst-aland.

lf_azone = ls_tvst-azone.

ENDIF.

ENDIF.

READ TABLE xvbpa INTO ls_xvbpa WITH KEY vbeln = ls_xvbap-vbeln

posnr = ls_xvbap-posnr

parvw = 'Q1'.

IF sy-subrc = 0.

CALL FUNCTION 'SD_ADDRESS_GET'

EXPORTING

fif_address_number = ls_xvbpa-adrnr

IMPORTING

fes_address = ls_vbadr

EXCEPTIONS

address_not_found = 1

address_type_not_exists = 2

no_person_number = 3

OTHERS = 4.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ELSE.

lf_lland = ls_vbadr-land1.

lf_lzone = ls_vbadr-lzone.

ENDIF.

ENDIF.

CALL FUNCTION 'SD_ROUTE_DETERMINATION'

EXPORTING

i_aland = lf_aland

i_azone = lf_azone

i_lland = lf_lland

i_lzone = lf_lzone

IMPORTING

e_route = lv_route

EXCEPTIONS

no_route_found = 1

departure_error = 2

destination_error = 3

invalid_generic_key = 4

customer_exit_error = 5

OTHERS = 6.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ELSE.

ls_xvbap-route = lv_route.

MODIFY xvbap FROM ls_xvbap TRANSPORTING route.

ENDIF.

ENDLOOP.

<b>Reward points</b>

Regards

2 REPLIES 2
Read only

Former Member
0 Likes
487

Hi

User exits (Function module exits) are exits developed by SAP. The exit is implementerd as a call to a function module. The code for the function module is written by the developer. You are not writing the code directly in the function module, but in the include that is implemented in the function module.

The naming standard of function modules for functionmodule exits is:

EXIT_<program name><3 digit suffix>

The call to a functionmodule exit is implemented as:

CALL CUSTOMER.-FUNCTION ❤️ digit suffix>

To find a Exit.

Goto Transaction -- Find The Package

SMOD >f4>Use the Package here to Find the Exits In the Package.

Else if you Want to search by Application Area wise ,

There is one more tab to find the Exits in the Respective Application Area.

Implementing the Exit-- CMOD Create ProjectsAssgn your Component .

Now Run ur Transaction to Check if it Triggers.

Thats it..

Suppose you need to find out all the user exits related to a tcode.

1. Execute the Tcode.

2. Open the SAP program.

3. Get the Development Class.

4. Execute Tcode SE84.

5. Open the Node 'Envir. -> Exit Techniques -> 'Customer Exits -> Enhancements'

6. Enter the Development class and execute.

Check out this thread..

1. Type the transaction : system->status-> <PROG. NAME>

2 open SE37 , type EXIT<PROG NAME> and press F4 to get the list of function exits available.

3. Open CMOD utilities->SAP enhancements

EDIT->All selections

4.type the function module name obtained in step 2, in fields 'component name' in 'additional selections' block. and execute.

5. The displayed list contains the enhancements names for the transaction You were looking for.

6. Create a project in CMOD and the code in default include->activate.

http://www.erpgenie.com/sap/abap/code/abap26.htm

which gives the list of exits for a tcode

http://help.sap.com/saphelp_nw04/helpdata/en/bf/ec079f5db911d295ae0000e82de14a/frameset.htm

For information on Exits, check these links

http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm

http://www.sapgenie.com/abap/code/abap26.htm

http://www.sap-img.com/abap/what-is-user-exits.htm

http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction

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

http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm

http://www.sappoint.com/abap/userexit.pdfUser-Exit

http://www.planetsap.com/userexit_main_page.htm

User-Exits

http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm

http://www.sap-img.com/ab038.htm

http://www.planetsap.com/userexit_main_page.htm

http://www.sap-basis-abap.com/sapab013.htm

http://sap.ittoolbox.com/documents/popular-q-and-a/user-exits-for-the-transaction-code-migo-3283

These links will help you to learn more on user exits.

http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm

http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/frameset.htm

http://www.planetsap.com/userexit_main_page.htm

http://www.allsaplinks.com/user_exit.html

www.sap-img.com/abap/what-is-user-exits.htm

Also please check these threads for more details about user exits.

1. Document on UserExits in FI/CO

http://www.ficoexpertonline.com/downloads/User%20ExitsWPedit.doc

2. Finding User Exits...

http://sap.ionelburlacu.ro/abap/sap2/Other_Useful_Tips.html#Finding_User_Exits

3. List of all User Exits...

http://www.planetsap.com/userexit_main_page.htm

Reward points if useful

Regards

Ashu

Read only

Former Member
0 Likes
488

Hi,

look in txn CMOD or SMOD, check enhancement 0VRF0001. It uses function module EXIT_SAPL0VRF_001. It is used to manipulate route determination for SD.

Here is the code

DATA: ls_xvbpa LIKE xvbpa,

lf_aland LIKE tvst-aland,

lf_azone LIKE tvst-azone,

lf_lland LIKE trolz-lland,

lf_lzone LIKE trolz-lzone,

ls_vbadr LIKE vbadr,

ls_xvbap LIKE xvbap,

ls_tvst LIKE tvst,

lv_route LIKE trolz-route.

LOOP AT xvbap INTO ls_xvbap.

IF NOT ls_xvbap-vstel IS INITIAL.

SELECT SINGLE * FROM tvst

INTO ls_tvst

WHERE vstel EQ ls_xvbap-vstel.

IF sy-subrc = 0.

lf_aland = ls_tvst-aland.

lf_azone = ls_tvst-azone.

ENDIF.

ENDIF.

READ TABLE xvbpa INTO ls_xvbpa WITH KEY vbeln = ls_xvbap-vbeln

posnr = ls_xvbap-posnr

parvw = 'Q1'.

IF sy-subrc = 0.

CALL FUNCTION 'SD_ADDRESS_GET'

EXPORTING

fif_address_number = ls_xvbpa-adrnr

IMPORTING

fes_address = ls_vbadr

EXCEPTIONS

address_not_found = 1

address_type_not_exists = 2

no_person_number = 3

OTHERS = 4.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ELSE.

lf_lland = ls_vbadr-land1.

lf_lzone = ls_vbadr-lzone.

ENDIF.

ENDIF.

CALL FUNCTION 'SD_ROUTE_DETERMINATION'

EXPORTING

i_aland = lf_aland

i_azone = lf_azone

i_lland = lf_lland

i_lzone = lf_lzone

IMPORTING

e_route = lv_route

EXCEPTIONS

no_route_found = 1

departure_error = 2

destination_error = 3

invalid_generic_key = 4

customer_exit_error = 5

OTHERS = 6.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ELSE.

ls_xvbap-route = lv_route.

MODIFY xvbap FROM ls_xvbap TRANSPORTING route.

ENDIF.

ENDLOOP.

<b>Reward points</b>

Regards