Business scenario:
Some companies require the credit check to be based on the order demand quantity, to reduce the number of users who use VA02 or V_V2 to modify the confirmation, and the confirmation quantity is greater than the confirmation quantity when the release, but no less than the order demand quantity, the system will lock the order again, the user has to apply again to release the order, causing trouble for business operations.
Cause:
In sap's standard system, the system uses the Order's confirmed quantity to confirm the credit value, and enters the release value (VBAK-AMTBL) at the time of release according to the confirmed quantity ). After an order is released, the user uses VA02 or V_V2 to modify the confirmed quantity. Then, the system compares the value of the new confirmed quantity with the value of the released quantity. If the value is greater than the original value, the system will lock the order again.
Solution:
We can modify the RMCS1US1 code to achieve our goal. The RMCS1US1 code is as follows:
* ** INCLUDE RMCS1US1.
*---------------------------------------------------------------------*
* FORM GET_QUANTITY_FOR_RELEASE *
*---------------------------------------------------------------------*
* This routine gives the possibility to set the quantity *
* Which is used for calculating the relased value *
* Credit release .*
**
* In SAP-Standard the field CH_QUANTITY has been filled *
* The confirmed quantity (VBAP-KBMENG )*
*---------------------------------------------------------------------*
* --> US_VBAK order header *
* --> US_VBAP order item line *
* --> US_VBUP order item line status fields *
* <-> CH_QUANTITY quantity which is used for calculation *
* The released value *
* Attention: the delivered amount will decreased *
* Automatically *
*---------------------------------------------------------------------*
Form get_quantity_for_release
Using us_vbak structure vbak
Us_vbap structure vbapvb
Us_vbup structure vbupvb
Changing ch_quantity like vbap-kbmeng.
* If the following coding shall be activated please deactivate
* The statement EXIT
Exit. "We can delete this row to meet your needs.
* >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>
If us_vbap-fkrel ca con_fkrel_lsmeng and
Us_vbap-lfrel ne true.
* Scheduling lines are relevant for delivery
If us_vbak-vkorg ne tvta-vkorg or
Us_vbak-vtweg ne tvta-vtweg or.
Us_vbap-spart ne tvta-spart.
Clear tvta.
Select single * from tvta where vkorg = us_vbak-vkorg
And vtweg = us_vbak-vtweg
And spart = us_vbap-spart.
Endif.
If tvta-revfp na 'ce '.
* If one-time or full delivery is required, the planned
* Quantity is copied, because there is only one delivery
Ch_quantity = us_vbap-lsmeng.
Endif.
Endif.
Endform.
At the same time, you must maintain "availability check"-"" availability check with ATP logic or not as planned "-" define default settings "such:
Corresponding Notes
100861-Release of blocked sales orders-loop check
149559-Update of requested delivery quantity, credit
Related connections:
Http://blog.csdn.net/sap_jack/article/details/8363842
Http://wiki.scn.sap.com/wiki/display/SD/Released+Sales+documents+are+Rechecked