Skip to Content
0

How do i revoke deletion from tcode CRMD_ORDER based on some condition.

Jan 19, 2017 at 07:05 AM

92

avatar image

I wish to achieve below requirement:

Licensing deal should be deleted only if its *some condition* .

Deletion takes place from CRMD_ORDER.

In tcode CRMD_ORDER, after clicking Business transaction->Delete, i debugged the flow.

It calls CRM_ORDER_DELETE. And then badi ORDER_SAVE.

No other badi that i could see.

In order_save, code change cannot be made for below reason:

CRM_ORDER_READ throws exception "Document_not_found" . So i cannot really check conditions on the transaction.

Any help would be appreciated.

Thanks,

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

2 Answers

Yuan Fang
Jan 23, 2017 at 07:48 AM
0

Hi Shailendra,


I think authorization check badi CRM_ORDER_AUTH_CHECK
will be called. You can have a look if conditions can be set up
in its implementation.

Kind regards,

Yuan

,

Hi Shailendra,

I think authorization check badi CRM_ORDER_AUTH_CHECK can be called.

You can have a look if it's possible set conditions in its implementation.

Share
10 |10000 characters needed characters left characters exceeded
Rene Markytan
Jan 23, 2017 at 12:09 PM
0

Dear Mr. Baranwal,

I think that the order_save badi is not the right time to revoke the deletion. Once the system reached the order_save badi it is simple to late to revoke or influence the order, as it is already deleted (although not yet commited). Therefore you get error "document_not_found", I think the guid is already not found.

I am not sure what you are trying exactly, or what your business process is however to revoke the deletion once you have clicked on delete (and confirmed with yes) you will not be able to influence that. The user should know if he wants to delete the transaction or not.

But it is recommended that instead of deleting business transactions they should be archived.

Br

Rene Markytan

Share
10 |10000 characters needed characters left characters exceeded