The dunning program does not take into account the customer items which have the payment method for incoming payment. The payment method in the customer master record or in the post item only make sense if the automatic payment has to collect money from the customer account. But at the same time it means that you are responsible for the payment and not the customer. The dunning program works only if the customer does not have payment methods in the master record and/or in the post items.
If the line items are blocked for payment, then the dunning process can be carried out, including the payment methods marked as "Payment method for incoming payments".
If there are too many items in this situation you're welcome to use the mass change funcionality by choosing 'Environment -> mass change -> New values' .
Furthermore I suggest You the following workaround that You should test:
you can also block the customer for payment on the account level, then the customer is dunned in spite of the payment method. But then the drawing of the money is also stopped!
If you want to combine dunning with drawing the money from the account of the customer, you can make the following modifications to the program:
In Functin group F150:
FORM check_direct_debit USING i_t001 LIKE t001
i_zwels LIKE knb1-zwels
CHANGING e_xzalb LIKE boole-boole.
DATA: string LIKE knb1-zwels.
e_xzalb = space.
exit. < INSERT
string = i_zwels.
But then you have to make sure that you do not draw the money from the account and dunn it at the same time.
Hope this could help you with the resolution of this issue.
Please assign points if it useful.