You can use this function to set up an approval process for price changes made by an employee, and thereby allow only certain employees to make and approve price changes.
If an employee is not authorized to change prices, the system triggers an approval process. When the new price condition is saved, it is set to
Inactive
status.
You can find more information about this process in the workflow document Workflow for Approving Condition Change for Master Data .
You have maintained SAP Note 986344 and set up the appropriate authorization concept. New condition records for employees without approval authorization are thereby set to
Inactive
status.
You have activated the workflow template
CND_APPR
.
If an employee wants to change or create a price, the system checks whether they are authorized to change prices. If the employee is not authorized to do this, this change must be approved by an authorized party, such as the head of department. The system therefore triggers a workflow (approval process).
The changes that the employee made are appraised by the head of department and then approved or rejected. If a condition record is created by an employee who does not have change authorization, this condition record is created with status
Inactive
. The new condition record for the corresponding pricing element is only factored into pricing if the authorized party approves the price change.
If you have accidentally selected active condition records for processing on the price maintenance user interface, an error message is output. You cannot approve or reject active condition records. Condition records that have already been rejected are deleted, and no longer displayed in the list.
When you approve or reject the condition records that you have directly called in price maintenance, they are activated or deleted but the workflow tasks are not automatically deleted with them. If you then navigate to general price maintenance via the worklist, the corresponding workflow task is still available. When you open the workflow task you get an information message that the condition records have already been approved or rejected, and so no further action is required. The workflow task is deleted when you leave price maintenance.
This approval process is supported by the following BAdI implementations:
Implementation CRM_CND_APPROVE (BAdI /SAPCND/DBA_SAVE_WS)
Using this implementation, the price maintenance group for the changed conditions is found and the BAdI CRM_CNDCHG_APPROVAL_WF is called.
Implementation CNDCHG_APPROVAL_GCM (BAdI CRM_CNDCHG_APPROVAL_WF)
Using this implementation, the workflow (approval process) is triggered.
The employee creates a new condition record for a pricing element and saves the entry. If the employee is not authorized, the condition records are created with
Inactive
status.
The system checks whether this change must be approved and triggers an approval process.
A new workflow task for the approval of the new condition record appears in the worklist of the authorized party.
The authorized party uses a link to open the user interface for pricing condition maintenance.
The authorized party can approve or reject the change. They also have the option of changing the new condition records themselves.
The system preselects all inactive condition records on the user interface. Possible conflicts brought up by previously approved price changes are automatically solved. For example, the system automatically changes the validity period of a condition record if it overlaps with the validity period of another condition record.
The system closes the workflow only when there are no more inactive condition records.