cancel
Showing results for 
Search instead for 
Did you mean: 

user exits?

Former Member
0 Kudos

i need some user exits for sd , with the scenario for why were they used and how was the clients business requirement solved .

- i have been through userexits in "system modifications" and found a lot. i have had a lot of help from this forum from you guys.

- but all i was able to know was about the pricing user exits. the others which i found in smod/cmod . there was a huge list with description but how were they used and which field were effected and ultimately how did it solve the purpose , i still dont have any clue.

- friends i need a few good user exits like around 6- 7 examples with how did it actually effect the application and how did it actually enhance the application , for the interviewer to be convinced.

- friends please reply

n.bhardwaj

nehabhardwaj01@gmail.com

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Neha,

Find below , some of frequently used user-exits :

From include MV45AFZZ

USEREXIT_SAVE_DOCUMENT_PREPARE This userexit can be used for changes or checks, before a sales document is saved

USEREXIT_DELETE_DOCUMENT This userexit can be used to delete data in additional tables when a sales document is deleted.

USEREXIT_FIELD_MODIFICATION This userexit can be used to modify the attributes of screen fields

.

USEREXIT_MOVE_FIELD_TO_VBAK This userexit can be used to move some fields into the sales dokument header workaerea VBAK

USEREXIT_MOVE_FIELD_TO_VBAP This userexit can be used to move some fields into the sales dokument item workaerea VBAP

USEREXIT_MOVE_FIELD_TO_VBEP This userexit can be used to move some fields into the sales dokument schedule line workaerea VBEP

USEREXIT_MOVE_FIELD_TO_VBKD This userexit can be used to move some fields into the sales dokument business data workaerea VBKD

USEREXIT_NUMBER_RANGE This userexit can be used to determine the numberranges for the internal document number

USEREXIT_PRICING_PREPARE_TKOMK This userexit can be used to move additional fields into the communication table which is used for pricing:

USEREXIT_PRICING_PREPARE_TKOMP This userexit can be used to move additional fields into the communication table which is used for pricing:

USEREXIT_READ_DOCUMENT This userexit can be used to read data in additional tables when the program reads a sales document.

USEREXIT_SAVE_DOCUMENT This userexit can be used to save data in additional tables when a document is saved.

From Include RV60AFZZ

USEREXIT_NUMBER_RANGE This userexit can be used to determine the numberranges for the internal document number

Example :

Suppose , Instead of using standard number range, Client want plantwise different series of invoice numbers, further, we want to differentiate b/w LST Sale or CST Sale by using different number ranges for both sales.

Then, we can use USEREXIT_NUMBER_RANGE .

Hope this information helps you.

Reward Points if it helps you.

Regards,

Gaurav Raghav.

Answers (2)

Answers (2)

Former Member
0 Kudos

User Exits in Transaction ME21N

Transaction Code - ME21N Purchase Order

-


Exit Name

Description

-


MRFLB001

Control Items for Contract Release Order

AMPL0001

User subscreen for additional data on AMPL

LMEDR001

Enhancements to print program

LMELA002

Adopt batch no. from shipping notification when posting a GR

LMELA010

Inbound shipping notification: Transfer item data from IDOC

LMEQR001

User exit for source determination

LMEXF001

Conditions in Purchasing Documents Without Invoice Receipt

LWSUS001

Individual customer source determination in Retail

M06B0001

Role determination for purchase requisition release

M06B0002

Changes to comm. structure for purchase requisition release

M06B0003

Number range and document number

M06B0004

Number range and document number

M06B0005

Changes to comm. structure for overall release of requisn.

M06E0004

Changes to communication structure for release purch. doc.

M06E0005

Role determination for release of purchasing documents

ME590001

Grouping of requsitions for PO split in ME59

MEETA001

Define schedule line type (backlog, immed. req., preview)

MEFLD004

Determine earliest delivery date f. check w. GR (only PO)

MELAB001

Gen. forecast delivery schedules: Transfer schedule implem.

MEVME001

WE default quantity calc. and over/ underdelivery tolerance

MM06E001

User exits for EDI inbound and outbound purchasing documents

MM06E003

Number range and document number

MM06E004

Control import data screens in purchase order

MM06E005

Customer fields in purchasing document

MM06E007

Change document for requisitions upon conversion into PO

MM06E008

Monitoring of contr. target value in case of release orders

MM06E009

Relevant texts for "Texts exist" indicator

MM06E010

Field selection for vendor address

MMAL0001

ALE source list distribution: Outbound processing

MMAL0002

ALE source list distribution: Inbound processing

MMAL0003

ALE purcasing info record distribution: Outbound processing

MMAL0004

ALE purchasing info record distribution: Inbound processing

MMDA0001

Default delivery addresses

MMFAB001

User exit for generation of release order

-


Adding a Field Exit

To add a field exit first find the data element that is linked to the screen field- the screen number and program

Run program RSMODPRF. You will need to create two function modules one FIELD_EXIT_MEPO_VENDOR and

FIELD_EXIT_MEPO_VENDOR_A

FIELD_EXIT_MEPO_VENDOR should have code simply of input = ouput.

FIELD_EXIT_MEPO_VENDOR_A should have the code for whatever the functionality is required

Go back to RSMODPRF and run the program without parameters. Use the push buttons to assign the screen, 'A' and program. Use the drop down to activate the field list.

This should now work, but there is no way of debugging. For further information look at OSS 29377

program zzdirlist.

  • for AIX this method also works.

DATA: BEGIN OF TABL OCCURS 0,

TEXT(80) TYPE C,

END OF TABL.

DATA: COMMAND(256) TYPE C.

COMMAND = 'ls'.

CALL FUNCTION 'RFC_REMOTE_PIPE' DESTINATION 'SERVER_EXEC'

EXPORTING COMMAND = COMMAND

READ = 'X'

TABLES PIPEDATA = TABL.

LOOP AT TABL.

WRITE:/ TABL-text.

ENDLOOP.

reward if it helps

kiran

Former Member
0 Kudos

HI Neha,

Sent Mail.

Reward points if it helps

Regards

Srini