cancel
Showing results for 
Search instead for 
Did you mean: 

Massive closure of Sales Orders

Former Member
0 Kudos

Hi all,

Does anyone know if there is a way in SAP to close Sales Orders in a massive way like there is with Production or Service Orders?

Thanks a lot in advance.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

Pls check the MASS transaction code, with object type BUS2032. Hope it helps you.

-Satya

Former Member
0 Kudos

Hi Satya,

I have allready checked this transaction but there is no possibility to close the SO. Actually I need this transaction to be used by end-users and they have no access to MASS transaction because of its risk.

Thanks a lot anyway.

former_member188076
Active Contributor
0 Kudos

Hi Alonso

I would suggest that the best option is MASS transaction, however if you feel that user can misuse it, create a variant for that.

There is a field Variant in the input screen, the F1 help of that says

You can use a variant to simplify mass maintenance. You can save your selection criteria and the new values in the variant.

To create a variant, carry out the necessary activities in dialog mode and then choose Variants -> Save as Variant.

To have the system immediately display a preferred variant when a variant is loaded, you can maintain the user parameter MASSD_VARIANT_NAME (prepopulation of variant name for mass maintenance).

So this way you can create variant for User and user will have authoriastion for that only

Else if this is one time process anyone from HELPDESK can run this transaction.

Regards

Amitesh Anand

Former Member
0 Kudos

Hi,

I had the same requirement earlier. So as you also told that it is not possible through MASS Transaction. So I have created one LSMW for this. Then creating one transaction for the created Recording and then gave authorization of that transaction only.

So you do the recording for REJECTION of 1 Sale Order.

Regards,

Vishal

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi,

To Close a Sales Order, you have to put REASON FOR REJECTION only. As SAP has given only this option for closing of Sale Orders.

So you have to follow that only.

Regards,

Vishal

jason_barton
Active Participant
0 Kudos

Txema, one other thought on this one as I had similar issue to deal with. I would agree that you first and foremost need to have rejection reason defined. This will be the driver of the document being "closed", etc. depending on how you define the rejection reason.

Once you have that data, you could have an ABAPer write a program off of BAPI_SALESORDER_CHANGE to update the field you wish. SAP recommended this approach to us for a performance issue we were having with rejection of sales documents with numerous line items (e.g. 15,000 +). We wrote a simple program on that function module, and found it to be incredibly efficient in processing the "rejection" field as we wished.

Just food for thought.

Thanks,

Jay

Former Member
0 Kudos

Hi,

You can do it in following method.

First create a "Reason for Rejection" as "COMPLETE" using below IMG Path;

Sales and Distribution/ Sales/ Sales Documents/ Sales Document ltem/ Define Reasons For Rejection

Then go to Tx: MASS

Select Object BUS2032

Execute

Select "Sales Order Item Data" line

Execute

Enter your sales document numbers there or if you have any criteria, get it from "Choose selection fields"

Execute

Now press "Select Fields" Icon

Browse "Reason for rejection" from the Pool

Highlight that and drop it to "Selection Criteria" table

Press OK

Now enter that "COMPLETE" reason in the top table.

Highlight that column

Press "Carry out Mass Change" button

Save

Best regards,

Anupa

Former Member
0 Kudos

Hi Anupa,

I am sorry but this is not the way I want to close SO, i don't want to reject it, I want to set in status CLD (closed).

Thanks a lot anyway.

Former Member
0 Kudos

Hi,

There is no such process available for Sales orders to set status as COMPLETE or CLOSED Manually, like in Production orders.

Only way possible is to set a Rejection Reason as COMPLETE, so that everyone knows it's completed.

Best regards,

Anupa