In some cases you have to customize standard SAP Delivery process and you are not sure which user exit you can use and how the data can be changed during this user exits execution so that it will conforms with the standard.
You can read a little bit more about Sales & Distribution to better understand how the standard SD process is implemented in SAP ERP .
User exits(includes) in delivery processing is an programs that can’t be changed by SAP during the upgrade or when you import Support Package. All user exits is an empty Form routines that are called from different points in delivery processing. With this approach you can fill the from routines with your own source code or process your own data.
To better understanding which user exits and when you can use please read SAP Note 415716 – User exits in delivery processing.
Where they can be used: MV50AFZ1, VL01, VL02, VL01N, VL01NO, VL02N, VL04, VL10, SAPMV50A
|FORM routine USEREXIT_REFRESH_DOCUMENT (include MV50AFZ1)||The FORM routine USEREXIT_REFRESH_DOCUMENT is used for the initialization of your own data areas before the processing of a new delivery document||SAP Note 415716|
|FORM routine USEREXIT_DELETE_DOCUMENT (include MV50AFZ1)||If a delivery is deleted, you can delete your own dependent data using this FORM routine.||SAP Note 415716|
|FORM routine USEREXIT_READ_DOCUMENT (include MV50AFZ1)||The exit is used to make your own data available for processing in the delivery.||SAP Note 415716|
|FORM routine USEREXIT_MOVE_FIELD_TO_LIKP (include MV50AFZ1)||The exit is used to provide your own additional fields of the header table LIKP with data.||SAP Note 415716|
|FORM routine USEREXIT_MOVE_FIELD_TO_LIPS (include MV50AFZ1)||The routine is used to provide your own additional fields of the table LIPS with data||SAP Note 415716|
|FORM routine USEREXIT_BATCH_DETERMINATION (include MV50AFZZ)||You can use the routine to determine the batch, which is to be assigned to the delivery item, in accordance with your own criteria.||SAP Note 415716|
|FORM routine USEREXIT_SAVE_DOC_BEFORE_PREP (include MV50AFZ1)||This routine can be used for the final change of all delivery data. At the time of the call, the delivery is complete and consistent; only the document number has not yet been determined in the creation case and the final processing of the requirements has not yet taken place. Therefore, changes to the delivery at this time must be made with particular care because no subsequent checks can prevent possible data inconsistencies.
Since requirements processing has not yet occurred, this user exit is, in particular, suitable for changes relevant for requirements when the delivery is saved.
|SAP Note 415716,
SAP Note 751000
|FORM routine USEREXIT_SAVE_DOCUMENT_PREPARE (include MV50AFZ1)||This routine is the most powerful exit in delivery processing and can be used for the final change of all delivery data. At the time of the call, the delivery is complete and consistent, only the document number has not yet been determined in the creation case. Therefore, changes to the delivery at this time must be made with particular care because no subsequent checks can prevent possible data inconsistencies.||SAP Note 415716|
|FORM routine USEREXIT_SAVE_DOCUMENT (include MV50AFZ1)||The routine is used to save your own data when saving deliveries. Delivery data cannot be changed here anymore since it has already been transferred to the update.||SAP Note 415716|