Application Development 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: 

User Exit MV50AFZL / kzkor_determine not performed

Former Member
0 Kudos

Hello,

Through this user exit I need to control the system reaction when a Delivery Group is incomplete in delivery creation. When there´s no stock of one or more items in the delivery group, when creating an Outbound Delivery(VL01N) the standard reaction is a warning message. This can be changed with this user exit using flag cf_kzkor(FORM kzkor_determine).

The problem I have is that FORM kzkor_determine is never performed in include MV50AFDB. i've done some debugging and found that it's because variables vs_abpos and vs_bipos are empty but haven´t been able to find why.

Has anyone ever had this problem? How did you solve it?

Thanks for your help

1 ACCEPTED SOLUTION

david_liu1
Employee
Employee
0 Kudos

Hello,

The user-exit is only used when "From item" and "TO item" are set. In the initial screen of

VL01N you can select which are the items to delivery by setting the

values in "From item" and "To items" fields. The userexit only check

whether all the items within one group are selected with the given

values in "From item" and "TO item" fields. So the form only get

executed, if you select some of the items in VL01N.

Say for example, if you have 3 lines items in Sales order and you

try to 20 and 30 line items, then this userexit will be called.

Hope this information helps you.

I have some additional information regarding this issue:

User exit MV50AFZL states in the documentation:

This exit allows you to control the behavior of delivery creation for

order-based deliveries in the case of incomplete delivery groups.

In fact in the user exit, one can change variable CF_KZKOR according to

desired results. This form kzkor_determine is called from

MV50AFDB(VBAP_SELECT).

If structure lt_kor is not filled, the routine kzkor_determine is not

called and therefore user exit is not called.

OSS Notes 72688 and 72481 seem to provide Modification ways to get the

result this user exit would allow for.

Regards,

David

2 REPLIES 2

david_liu1
Employee
Employee
0 Kudos

Hello,

The user-exit is only used when "From item" and "TO item" are set. In the initial screen of

VL01N you can select which are the items to delivery by setting the

values in "From item" and "To items" fields. The userexit only check

whether all the items within one group are selected with the given

values in "From item" and "TO item" fields. So the form only get

executed, if you select some of the items in VL01N.

Say for example, if you have 3 lines items in Sales order and you

try to 20 and 30 line items, then this userexit will be called.

Hope this information helps you.

I have some additional information regarding this issue:

User exit MV50AFZL states in the documentation:

This exit allows you to control the behavior of delivery creation for

order-based deliveries in the case of incomplete delivery groups.

In fact in the user exit, one can change variable CF_KZKOR according to

desired results. This form kzkor_determine is called from

MV50AFDB(VBAP_SELECT).

If structure lt_kor is not filled, the routine kzkor_determine is not

called and therefore user exit is not called.

OSS Notes 72688 and 72481 seem to provide Modification ways to get the

result this user exit would allow for.

Regards,

David

0 Kudos

Thanks for your reply David.

As you say, this user exit only allows change of behaviour if the incomplete delivery group is selected in the From ITem and To item fields on Delivery creation(VL01n).

In my case one of the items in the delivery group is erased because it´s not available. It´s also useful note 546719 to understand that the system works differently whether the Delivery is created in Dialogue mode or in Background:

"The basic idea here is that the delivery group rejected in multiple processing can possibly be created with transaction VL01N and thus delivered incompletely. The assumption is made that only a person responsible who has the relevant knowledge can carry out this activity and make the decision as to whether an incomplete delivery group may be delivered."

If customer can´t accept this we will analyse the program modification proposed in note 72688

Best regards,

Marcelo