Skip to end of banner
Go to start of banner

Use CRM Session

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

CRM Session holds information about the logged in user, the server, the database and the general and formatting settings.

What does this section cover?

Retrieve CRM Session

To retrieve the current CRM 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.

Retrieve CRM Session
 public CRMDO copy(CRMDO dto)
{
	CRMSession session = getCRMSession();
	...
}

Use CRM Session

After retrieving the CRM Session, you can use it to get information about the logged in user, the server, the database and the general and formatting settings.

Example 1 - Logged In User
 public CRMDO copy(CRMDO dto)
{
	CRMSession session = getCRMSession();
	if( dto instanceof CUSTOMCRMDORentalTypeProduct)
	{
		CUSTOMCRMDORentalTypeProduct oldProduct = (CUSTOMCRMDORentalTypeProduct) dto;
		CUSTOMCRMDORentalTypeProduct newProduct = (CUSTOMCRMDORentalTypeProduct)oldProduct.clone();
		newProduct.setCreatedDate(getCurrentDate());
		newProduct.setCreatedByUnit(session.getUnit());
		newProduct.setCreatedByUser(ejbSession.getLoggedUser());
		newProduct.setUpdatedByUnit(null);
		newProduct.setUpdatedByUser(null);
		newProduct.setUpdatedDate(null);
	}
}
Example 2 - Formatting Settings
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;
}
Example 3 - General Settings
protected CRMDOContactInformation setDefaultResidenceCountry(CRMDOContactInformation contact) throws Exception {
		
	GeneralSetting generalSettings = getCRMSession().getGeneralSettings();
		
	if (generalSettings!=null)
	{
		contact.setResidenceCountry(generalSettings.getDefaultCountry());
	}
	
	return contact;
}
Example 4 - Translation
public LookupBuilder getAllowedProductOptions(CUSTOMCRMDORentalType rentalType) throws Exception {
         
       ArrayList<CRMDO> allowedProducts = rentalTypeProductBean.loadAllowedProducts(rentalType);
       if(allowedProducts!=null)
		{
			Iterator<CRMDO> iter = allowedProducts.iterator();	
			while (iter.hasNext())
			{
				CUSTOMCRMDORentalTypeProduct rtProduct = (CUSTOMCRMDORentalTypeProduct)iter.next();
				if(rtProduct!=null && rtProducT.getProduct()!=null)
				{
					String value = rtProducT.getProduct().getCode();
					if(rtProducT.getProduct().getType()!=null)
					{
						value += "(" + getCRMSession().getTranslation(rtProducT.getProduct().getType().getName()) + ")";
					}
					builder.build(rtProducT.getProduct().getId(),value); 
				}
			}
		} 
        return builder;
}
  • No labels