The orderApproved pipeline chain processes an approval of a given order. When an approver submits her approval of an order via a form using the ApprovalFormHandler, the form handler’s handleApproveOrder() method executes the orderApproved pipeline chain. The pipeline chain’s transaction mode is TX_REQUIRED.
The following list describes each processor in the pipeline chain:
PipelineLink name:
addApproverIdToOrderForApprovalThis processor adds the profile ID for the approver who approved the order to the order’s
approverIdsproperty. TheapproverIdsproperty contains a list of approvers who have approved or rejected the order.Transactional mode: TX_MANDATORY
Nucleus component:
/atg/commerce/approval/processor/AddApproverIdToOrderPipelineProcessor object:
atg.b2bcommerce.approval.processor.ProcAddApproverIdToOrderTransitions: Return value of 1 executes
addApproverMessagesToOrderForApprovalnext.PipelineLink name:
addApproverMessagesToOrderForApprovalThis processor adds the message that the approver attaches to the order to the list of messages in the order’s
approverMessagesproperty. The message typically indicates the reason for approval. It is passed to theorderApprovedchain by theApprovalFormHandlerform handler, which is used to process the approval.Transactional mode: TX_MANDATORY
Nucleus component:
/atg/commerce/approval/processor/AddApproverMessagesToOrderPipelineProcessor object:
atg.b2bcommerce.approval.processor.ProcAddApproverMessagesToOrderTransitions: Return value of 1 executes
sendApprovalUpdateMessageForApprovalnext.PipelineLink name:
sendApprovalUpdateMessageForApprovalThis processor sends an
ApprovalUpdatemessage that includes the order requiring approval and the profile repository item for the customer associated with the order to both the/Approval/ApprovalUpdateJMS message queue and the/Approval/ScenariosJMS message topic. TheapprovalStatusproperty of the message is set to “approved”. TheApprovalCompleteServicelistens for the message sent to the/Approval/ApprovalUpdate JMS message queue. The message sent to/Approval/Scenarioscan be used to execute scenarios.Transactional mode: TX_MANDATORY
Nucleus component:
/atg/commerce/approval/processor/SendApprovalUpdateMessagePipelineProcessor object:
atg.b2bcommerce.approval.processor.ProcSendApprovalMessageTransitions: None. This is the last processor in the pipeline, which causes the
ApprovalPipelineManagerto return to the caller.

