MasterAgreementRequest Processing
Master Agreements enable buyers to establish a commitment for goods and services with suppliers. They represent a common mechanism for managing supplier and budget commitments, and they enable buyers to negotiate better discounts by basing the discounts on future purchases, while enabling suppliers to more accurately forecast demand.
The MasterAgreementRequest document defines the Master Agreement created by the buying organization. It specifies beginning and end dates, and the committed maximum and minimum values of the agreement. It also lists maximum and minimum values and quantities for individual items. The MasterAgreementRequest document consists of MasterAgreementRequestHeader and AgreementItemOut. The MasterAgreement-RequestHeader contains the Master Agreement common to all contained items. The AgreementItemOut specifies the requirements of a particular line item that is part of the Master Agreement contract.
Ariba Supplier OnRamp provides sample services to create a MasterAgreement-Request test message and submit it to the configured URL. To test this transaction, see
Using the Test Module.
Ariba Supplier OnRamp processes a MasterAgreementRequest message received by the supplier as follows:
If logging is enabled, the document receiver service
receiveCXML logs an entry indicating that the MasterAgreementRequest was received. For a description of logging, see
Using the Logging Facility.
The
receiveCXML service queries the Configuration module to determine if a developer-defined event handler service is registered for the MasterAgreementRequestReceived event. If the handler service is registered, that service is invoked. For more information, see
Listening to and Processing Punchout Process
Events.
The
receiveCXML service obtains the operation type (
new,
update, or
delete) of the MasterAgreementRequest.
The
receiveCXML service searches for the user-defined MasterAgreementRequest handler for the particular operation type.
receiveCXML queries the Configuration Module for the handler service name by calling
wm.ariba.supplier.handlers:getHandler service
The
receiveCXML service invokes the appropriate handler. If an error occurs when the handler is invoked,
receiveCXML returns an ErrorResponse to the Ariba buyer. Any errors that occur while the handler executes are returned in a serviceError record (assuming that you designed the handler with the appropriate specifications). In addition, if logging is enabled, a log entry is entered to indicate that an error occurred. Furthermore, if an event service is registered for the MasterAgreementRequestFailure event, that service is invoked.
receiveCXML checks the serviceError record to see if an error occurred and will return an ErrorResponse to the Ariba buyer.
If an error did not occur,
receiveCXML calls the service and returns a MasterAgreementResponse to the Ariba Buyer.
If logging is enabled,
receiveCXML adds a log entry indicating that a MasterAgreementResponse was sent.
If an event service is registered for the MasterAgreementResponseSent event,
receiveCXML calls the service.