Share This:

In this post, I will describe the concepts and importance of Contract and ContractLine in BMC Cloud Lifecycle Management. By taking a closer look at how this functionality works, we can understand the behavior observed in the application at a deeper level.


BMC Cloud Lifecycle Management maintains information about tenants and the service offerings provisioned for those tenants by using several classes in the Database.


This information, which is available in contract lines, can be used to develop BMC Cloud Lifecycle Management customizations that provide showback or chargeback functionality.


When BMC Cloud Lifecycle Management onboards a new tenant, it ensures that there is a BMC_Organization configuration item for the tenant in which the Name field is set to the name of the tenant company.




BMC Cloud Lifecycle Management also creates an instance of BMC_Contract to represent the tenancy relationship between the provider and tenant.




Select the record and click on “View Related CI”.




The BMC_Contract configuration item has BMC_Contract.ContractType set to SLA (service level Agreement) and BMC_Contract.TenantCompany set to the tenant name.






Select the record and click on “View Relationship”


The BMC_Organization configuration item is related to the BMC_Contract configuration item with a BMC_Dependency relationship where the name is ORGANIZATIONISCUSTOMERFORCONTRACT.




In the following screenshot, the BMC_Contract.StartDate is the contract start date entered at the time the tenant is onboarded. The BMC_Contract.EndDate is the contract end date entered optionally when the tenant is onboarded. If the tenant is offboarded prior to the end date, BMC_Contract.TerminationDate is set to the offboarding date and the end date is not changed.




A BMC_Dependency with the name TAGGEDWITH relates the contract to an instance of BMC_Tag in which BMC_Tag.Name is set to Tenant and BMC_Tag.CategoryName is set to CSM.






When a service offering is provisioned, a BMC_ContractLine configuration item is created. This BMC_ContractLine is related to the tenant's BMC_Contract by a BMC_ContractComponent relationship with a Name of CONTRACTLINEINCONTRACT.




BMC_ContractLine.ContractLineType is set to ServiceOfferingLine.




The contract line is related to the BMC_ServiceOffering representing the service offering by a BMC_Component relationship with a Name of SOCONTRACTASSOLINE.




BMC_ContractLine.StartDate is the date the service offering was ordered. If a decommission date is entered during the order, the BMC_ContractLine.EndDate field is populated. If the service offering instance is manually decommissioned, BMC_ContractLine.TerminationDate is set to the decommission date and the end date is not changed.






BMC_ContractLine.ServiceRequestId holds the ID of the service request in SRM.




At the end of the provisioning process, the BMC_ContractLine is related to the BMC_ServiceOfferingInstance by a BMC_Component relationship where the Name is CONTRACTLINECOVERSOFFERINGINSTANCE.




Other References:


Up to version CLM 3.1 SP1, Contract lines for a service offering instance (SOI) are created in the enterprise BMC Remedy AR System server in draft mode and then transitioned to the cloud BMC Remedy AR System. After the SOI is provisioned, a notification for task completion is sent to the GUI, triggering the service request to be closed. After the service request is closed, Service Request Management changes the status of the contract lines to Active. If any error occurs in provisioning, the contract lines are set to Cancelled.


When you use the ServiceOfferingInstance bulkcreate request and the ServiceOfferingInstance applyOptionChoice request, contract lines for each SOI are created in a draft mode before the provisioning starts. If one of the SOIs fails, all contract lines are canceled even if the rest of the SOIs are provisioned successfully.


After CLM 3.1 SP1 patch 1, contract lines are created in the cloud AR System server first and then set to the Active state only after the provisioning is successful. These contract lines are then transitioned from the cloud AR System server to the enterprise AR System server.


Note: Since CLM 3.1 SP1 Patch1, BMC Cloud Lifecycle Management will not populate the BMC_ContractLine.EndDate even though there is a “Propose Decommision” date while submitting the “ServiceOfferingInstance” request.


The EndDate gets populated if you “extend” the “ProposeDecommission” date. This is a defect which will be fixed in latest hot fix on top of CLM 3.1 SP1 Patch 2.


KA358692 - "Modify Actions" (Options) are not creating "BMC_ContractLine" records


KA407880 - How to manually create a missing Service Offering relationship with Service Offering Instance?


I hope this information is useful to understand the processing that occurs with Contracts and Contractline to make the functionality work seamlessly for the user.  Please rate this blog below to let me know if this was useful.


Visit my other blogs. You can share the links with others if you find these useful.


Please rate this blog, regarding the usefulness of the shared information, by clicking below option.


PS: At BMC we always strive to make our customers realize more value from our Products and be successful.


As you all know that we have introduced a new communication channel-“CHAT”. This gave our customers an additional option to contact us. For details, please refer Connect with BMC Support Team over Chat sessions.


You can also join the Customer Support Community to learn about and provide feedback on ways Customer Support can enable your success.