QAmendment class
This article describes the properties and the global methods in the QAmendment class.
The QAmendment class is:
-
Designed to minimally represent the QuoteAmendment objects.
-
Used to interface with the QuoteAmendment objects in the CPQ X.
-
Used to track the state of the associated QPlan.
QAmendment Class Properties
The QAmendment class includes the following properties.
|
Property |
Type |
Description |
|---|---|---|
|
parentPlan |
QPlan |
The associated QPlan object. |
QAmendment Global Methods
The QAmendment class includes the following global methods.
|
Method |
Type |
Description |
|---|---|---|
|
get(String fieldName) |
Object |
Retrieves a field value from the QuoteAmendment record. |
|
getParentPlan |
QPlan |
Retrieves the parent QPlan reference of the QAmendment record. |
|
getRecord |
QuoteAmendment__c |
Retrieves the QuoteAmendment instance that the QAmendment represents. |
|
isChanged |
Boolean |
Returns true if the state of this record is different from what is last retrieved from DB. |
|
isSaved |
Boolean |
Returns true if this record has been inserted into the DB. |
|
put(String fieldName, Object value) |
Object |
Sets a field value on the QuoteAmendment object. Returns the previous field value. |
Amendment Type
An important feature of the QAmendment is that you can use it to track the state of the associated QPlan.
|
Amendment Type |
State Description |
|---|---|
|
NewProduct |
Describes a QPlan that has been added to the Quote. |
|
UpdateProduct |
Describes an Original QPlan that has been updated. |
|
RemoveProduct |
Describes an Original QPlan that has been removed. |
|
Original |
Describes that the associated QPlan is an existing QPlan that has been carried over to an Amendment or Renewal Quote. |
Sample Code
Update Contract Effective Date on QAmendment
The following sample code shows how to change the Contract Effective Date on the QuoteAmendment object through the QAmendment.public void test(zqu.QAmendment amendment) { // Get Initial Value System.assertEquals(Date.today(), (Date) amendment.get('zqu__ContractEffectiveDate__c')); System.assertEquals(false, amendment.isChanged()); // Update Contract Effective Date amendment.put('zqu__ContractEffectiveDate__c', Date.today().addMonths(6)); System.assertEquals(Date.today().addMonths(6), (Date) amendment.get('zqu__ContractEffectiveDate__c')); System.assertEquals(true, amendment.isChanged());}