Panel |
---|
|
CRM Session holds information about the logged in user, the server, the database and the general and formatting settings.
What does this section cover? |
Getting the session object
To get the current session object you have to use getCRMSession() method which is implemented in com.crm.businessobject.CRMBase super class. Note that all CRMBO, CRMUI, CRMProcess and CRMAPIBean classes extend CRMBase.
Code Block |
---|
title | Getting the session object |
---|
collapse | true |
---|
|
public CRMDO copy(CRMDO dto)
{
CRMSession session = getCRMSession();
...
} |
Using the session object
After getting the session object, you can use it to get information about the logged in user, the server, the database and the general and formatting settings.
Code Block |
---|
title | Example 1 - Logged In User |
---|
collapse | true |
---|
|
public CRMDO copy(CRMDO dto)
{
CRMSession session = getCRMSession();
if( dto instanceof CUSTOMCRMDORentalTypeProduct)
{
CUSTOMCRMDORentalTypeProduct product = (CUSTOMCRMDORentalTypeProduct) dto;
product.setCreatedByUnit(session.getUnit());
product.setCreatedByUser(session.getLoggedUser());
product.setUpdatedByUnit(session.getUnit());
product.setUpdatedByUser(session.getLoggedUser());
}
} |
Code Block |
---|
title | Example 2 - Formatting Settings |
---|
collapse | true |
---|
|
public BigDecimal getTotalAmount(ArrayList<CRMDO> rentalItems) {
{
BigDecimal totalAmount = new BigDecimal(0);
...
FormattingSetting formattingSetting = getCRMSession().getFormattingSettings();
Integer numberOfDecimalDigits = formattingSetting.getNumberOfDecimalDigits();
if (numberOfDecimalDigits!=null)
{
totalAmount = totalAmount.setScale(numberOfDecimalDigits.intValue(), BigDecimal.ROUND_HALF_UP);
}
return totalAmount;
} |
Code Block |
---|
title | Example 3 - General Settings |
---|
collapse | true |
---|
|
protected CRMDOContactInformation setDefaultResidenceCountry(CRMDOContactInformation contact) throws Exception {
GeneralSetting generalSettings = getCRMSession().getGeneralSettings();
if (generalSettings!=null)
{
contact.setResidenceCountry(generalSettings.getDefaultCountry());
}
return contact;
} |