cancel
Showing results for 
Search instead for 
Did you mean: 

Control changes in sales order when item is picked

Former Member
0 Kudos

Dear Sap Gurus,

My clients requirement is that we create a sales order and then perform delivery.In delivery we only do picking and save the document and not PGI.

Now client wants that no body should change the order quantity in the sales order(va02).If user tries to change the quantity then system should not allow, and show an error message.

Thanks..

Chinmoy

Accepted Solutions (1)

Accepted Solutions (1)

neeraj_lal
Contributor
0 Kudos

Hi Chinmoy,

You will require some development to get this.

There can be many way to achieve this

Option 1. Simple way by keeping as much as standard possible..

Whenever there is a delivery created for a sales order Item, sap throws message there is delivery created for Item...   Message no. V4096.

You can change this warning message to error message.. check with your abaper and your requirement.

Option2: .You can check Item status in sales order, If Item status is partially or fully delivered throw error message if any one want to change sales order ....

Option3. If your requirement is to set this error for complete order then check Order header status and give error if any one want to add or change Item in that sales order.

Regards

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

Chinmoy,

pls ask your abaper for user exit for eg:userexit_field_modification.

in that use your logic.

This will help u

Regards,

Atiq

0 Kudos

Hello Chinmoy,

You can able to block quantity modification or prevent user to delete line in the order when the item is delivered or when picking as been completed. Below is some code sample. First I think it is better to set gray on quantity not modifiable. In user exit USEREXIT_FIELD_MODIFICATION add the follow code. In the code below I mark as output fields quantity and others if the delivery status of the item is B or C (partially or fully delivered). You can do the same the picking status XVBUP-KOSTA.

IF SY-TCODE = 'VA02' AND VBAK-AUART = 'ZA01'.

     IF XVBUP-LFSTA CA 'BC'.

CASE SCREEN-NAME.
   WHEN 'RV45A-KWMENG'.
     SCREEN-INPUT = 0.
   WHEN 'VBEP-WMENG'.
     SCREEN-INPUT = 0.
   WHEN 'VBAP-VRKME'.
     SCREEN-INPUT = 0.
   WHEN 'RV45A-ETDAT'.
     SCREEN-INPUT = 0.
   WHEN 'RV45A-PRGBZ'.
     SCREEN-INPUT = 0.
   WHEN 'VBEP-ETTYP'.
     SCREEN-INPUT = 0.
   WHEN 'VBEP-LIFSP'.
     SCREEN-INPUT = 0.

     ENDCASE.

     ENDIF.
     ENDIF.

Hope this will help.