Accounting API Developer's Reference

c2g.AllocationsService

global with sharing class AllocationsService

The service class relating to Allocations.

Enums

DateRangeType

Indicates whether the allocation process will select transactions using a date range or a period range.

Value Description
DateRange By date range (FromDate and ToDate) on the allocation template.
PeriodRange By period range (FromPeriodId and ToPeriodId) on the allocation template.

FilterStructureType

The list of valid filter structure types. Set the FilterStructureType of the filterStructure with the field values of this enumeration.

Value Description
Company Company value
Dimension1 Dimension1 value.
Dimension2 Dimension2 value.
Dimension3 Dimension3 value.
Dimension4 Dimension4 value.
GeneralLedgerAccount General Ledger Account value.
Period Accounting period value.

DefaultFilterCriteria

The list of valid default filter criteria types.

Value Description
EqualsValue Enables you to select a single value. When this type is selected, the value must be unique.
FromToValue Enables you to select a range of values.
MultiselectValue Enables you to select multiple values.

FilterCriteria

The list of valid filter criteria types.

Value Description
EqualsValue Enables you to select a single value for the filter.
FromValue Enables you to select a From value for a range.
MultiselectValue This type indicates that the value will be used on the filter as the multi-select value. You could filter the object by more than one record.
ToValue Enables you to select a To value for a range.

DestinationType

The list of valid destination types. These are the document types that the Allocation process creates.

Value Description
Journals The process will create a journal.
Transactions The process will create a transaction. This is the default.

Methods

getFiltersWithValues

global static List<c2g.AllocationsService.FilterDataStructure> getFiltersWithValues(List<c2g.AllocationsService.RefineFilterStructure> refineFilterStructureList)

This method returns the reference values that contain the ID and Name.

Input Parameters

Name Type Description
refineFilterStructureList List<c2g.AllocationsService.RefineFilterStructure> A list of RefineFilterStructures

Return Value

This service returns a list of c2g.AllocationsService.FilterDataStructure objects

Sample Code

//Note: This sample code is for demonstration purposes only, it is not intended for
//use in a production environment, is not guaranteed against defects or errors and
//is in no way optimized or streamlined.

List<AllocationsService.FilterDataStructure> filterDataStructureList = c2g.AllocationsService.getFiltersWithValues( new 
List<c2g.AllocationsService.RefineFilterStructure>{ new 
c2g.AllocationsService.RefineFilterStructure('c2g__codaGeneralLedgerAccount__c', '', null) } );

retrieve

global static c2g.AllocationsService.RetrieveStructure retrieve(c2g.AllocationsService.Template template)

Retrieves a RetrieveStructure with the required information to create Allocation Transaction Line Items. For example, Company, General Ledger Accounts and Dimensions.

Input Parameters

Name Type Description
template c2g.AllocationsService.Template The information necessary to filter the transaction line items in the retrieve process.

Return Value

This service returns a c2g.AllocationsService.RetrieveStructure object.

Sample Code

//Note: This sample code is for demonstration purposes only, it is not intended for
//use in a production environment, is not guaranteed against defects or errors and
//is in no way optimized or streamlined.

c2g.AllocationsService.Template template = new c2g.AllocationsService.Template();
template.Id = 'a04240000008ALi';
template.ToDate = system.today();
c2g.AllocationsService.RetrieveStructure retrieveStr = c2g.AllocationsService.retrieve(template);

createAllocations

global static List<Id> createAllocations(List<c2g.AllocationsService.AllocationsStructure> allocationsStructureList)

This method creates the allocation transaction or journal based on an AllocationStructure created by the developer.

Input Parameters

Name Type Description
allocationsStructureList List<c2g.AllocationsService.AllocationsStructure> Holds a list of AllocationsStructures.

Return Value

This service a list of Id objects.

Sample Code

//Note: This sample code is for demonstration purposes only, it is not intended for
//use in a production environment, is not guaranteed against defects or errors and
//is in no way optimized or streamlined.

c2g.AllocationsService.RetrieveData retrieveData1 = new c2g.AllocationsService.RetrieveData();
retrieveData1.GeneralLedgerAccountId = 'a1Lw00000020For';
retrieveData1.Dimension1Id = 'a1Cw00000002w45';
retrieveData1.Dimension2Id = 'a1Dw0000001BIuj';
retrieveData1.Dimension3Id = 'a1Ew000000Io7j6';
retrieveData1.Dimension4Id = 'a1Fw00000014wzA';
retrieveData1.TransactionLineItemsSumValue = 100;
c2g.AllocationsService.SplitData splitData1 = new c2g.AllocationsService.SplitData();
splitData1.GeneralLedgerAccountId = 'a1Lw00000020For';
splitData1.Dimension1Id = 'a1Cw00000002w45';
splitData1.Dimension2Id = 'a1Dw0000001BIuj';
splitData1.Amount = 25;
c2g.AllocationsService.SplitData splitData2 = new c2g.AllocationsService.SplitData();
splitData2.GeneralLedgerAccountId = 'a1Lw00000020For';
splitData2.Dimension3Id = 'a1Ew000000Io7j6';
splitData2.Dimension4Id = 'a1Fw00000014wzA';
splitData2.Amount = 75;
c2g.AllocationsService.AllocationsStructure allocationStr = new c2g.AllocationsService.AllocationsStructure();
allocationStr.RetrieveDataList = new List<c2g.AllocationsService.RetrieveData> {retrieveData1};
allocationStr.SplitDataList = new List<c2g.AllocationsService.SplitData>{splitData1, splitData2};
allocationStr.AllocationsDate = System.today();
allocationStr.PeriodId = 'a1uw0000001Kd6l';
List<Id> transactionIdList = c2g.AllocationsService.createAllocations(new List<c2g.AllocationsService.AllocationsStructure> {allocStructure});

saveTemplates

global static List<Id> saveTemplates(List<c2g.AllocationsService.Template> templateList)

This method saves a list of templates. This method also deletes the existing record and creates a new one with the old and new values.

Input Parameters

Name Type Description
templateList List<c2g.AllocationsService.Template> Holds a list of AllocationsStructures.

Return Value

This service a list of Id objects.

Sample Code

//Note: This sample code is for demonstration purposes only, it is not intended for
//use in a production environment, is not guaranteed against defects or errors and
//is in no way optimized or streamlined.

c2g.AllocationsService.Filter filter1 = new c2g.AllocationsService.Filter();
filter1.FilterCriteria = c2g.AllocationsService.FilterCriteria.MultiselectValue;
filter1.Values = new List<Object> {'a1Cw00000002w45'};
c2g.AllocationsService.FilterStructure filterStr1 = new c2g.AllocationsService.FilterStructure();
filterStr1.FilterPosition = 1;
filterStr1.FilterStructureType = c2g.AllocationsService.FilterStructureType.Dimension1;
filterStr1.DefaultFilterCriteria = c2g.AllocationsService.DefaultFilterCriteria.MultiselectValue;
filterStr1.FilterList = new List<c2g.AllocationsService.Filter>{filter1};
c2g.AllocationsService.SplitStructure splitStr1 = new c2g.AllocationsService.SplitStructure();
splitStr1.GeneralLedgerAccountId = 'a1Lw00000020For';
splitStr1.Dimension1Id = 'a1Cw00000002w45';
splitStr1.Percentage = 20;
c2g.AllocationsService.SplitStructure splitStr2 = new c2g.AllocationsService.SplitStructure();
splitStr2.GeneralLedgerAccountId = 'a1Lw00000020For';
splitStr2.Dimension1Id = 'a1Cw00000002w45';
splitStr2.Percentage = 80;
c2g.AllocationsService.Template template = new c2g.AllocationsService.Template();
template.Name = 'Template1';
template.Description = 'Template Description';
template.FilterStructureList = new List<c2g.AllocationsService.FilterStructure> {filterStr1};
template.SplitStructureList = new List<c2g.AllocationsService.SplitStructure> {splitStr1, splitStr2};
List<id> templateId = c2g.AllocationsService.saveTemplates( new List<c2g.AllocationsService.Template> {template} );

loadTemplates

global static List<c2g.AllocationsService.Template> loadTemplates(Set<Id> templateIds)

This method creates the allocation transaction or journal based on an AllocationStructure created by the developer.

Input Parameters

Name Type Description
templateIds Set<Id> List of templates.

Return Value

This service returns a list of Id objects.

Sample Code

//Note: This sample code is for demonstration purposes only, it is not intended for
//use in a production environment, is not guaranteed against defects or errors and
//is in no way optimized or streamlined.

List<c2g.AllocationsService.Template> templateList = c2g.AllocationsService.loadTemplates(new Set<id> {'a04240000008ALi'});

calculateSplitDataLines

global static List<c2g.AllocationsService.SplitData> calculateSplitDataLines(List<c2g.AllocationsService.SplitStructure> splitStructureList, Decimal totalAmount)

This method calculates Split Data Lines from Split Structure Lines and total amount.

Input Parameters

Name Type Description
splitStructureList List<c2g.AllocationsService.SplitStructure> Holds a list of SplitStructures.
totalAmount Decimal Holds the total amount of the sum of transaction line item home values.

Return Value

This service a list of c2g.AllocationsService.SplitData objects.

Sample Code

//Note: This sample code is for demonstration purposes only, it is not intended for
//use in a production environment, is not guaranteed against defects or errors and
//is in no way optimized or streamlined.

c2g.AllocationsService.SplitStructure splitStr1 = new c2g.AllocationsService.SplitStructure();
splitStr1.GeneralLedgerAccountId = 'a1Lw00000020For';
splitStr1.Dimension1Id = 'a1Cw00000002w45';
splitStr1.Dimension2Id = 'a1Dw0000001BIuj';
splitStr1.percentage= 20;
c2g.AllocationsService.SplitStructure splitStr2 = new c2g.AllocationsService.SplitStructure();
splitStr2.GeneralLedgerAccountId = 'a1Lw00000020For';
splitStr2.Percentage = 80;
List<c2g.AllocationsService.SplitData> splitLines = c2g.AllocationsService.calculateSplitDataLines(new List<c2g.AllocationsService.SplitStructure>{splitStr1, splitStr2}, 33.33);

calculateSplitDataLines

global static List<c2g.AllocationsService.SplitData> calculateSplitDataLines(List<c2g.AllocationsService.SplitStructure> splitStructureList, c2g.AllocationsService.AllocationsStructure allocationsStructure)

This method calculates Split Data Lines from Split Structure Lines and Allocations Structure in single or multi-company mode.

Input Parameters

Name Type Description
splitStructureList List<c2g.AllocationsService.SplitStructure> Holds a list of SplitStructures.
allocationsStructure c2g.AllocationsService.AllocationsStructure Used to calculate the total amount of the sum of transaction line item values. It sums the home values when only one company is selected, and as current and dual values otherwise.

Return Value

This service returns a list of c2g.AllocationsService.SplitData objects.

Sample Code

//Note: This sample code is for demonstration purposes only, it is not intended for
//use in a production environment, is not guaranteed against defects or errors and
//is in no way optimized or streamlined.

c2g.AllocationsService.SplitStructure splitStructure1 = new c2g.AllocationsService.SplitStructure();
splitStructure1.GeneralLedgerAccountId = 'a1Lw00000020For';
splitStructure1.Dimension1Id = 'a1Cw00000002w45';
splitStructure1.Dimension2Id = 'a1Dw0000001BIuj';
splitStructure1.percentage= 20;

c2g.AllocationsService.SplitStructure splitStructure2 = new c2g.AllocationsService.SplitStructure();
splitStructure2.GeneralLedgerAccountId = 'a1Lw00000020For';
splitStructure2.Percentage = 80;

List<c2g.AllocationsService.SplitStructure> splitStructureList = new List<c2g.AllocationsService.SplitStructure>{splitStructure1,splitStructure2};

c2g.AllocationsService.RetrieveData retrieveData = new c2g.AllocationsService.RetrieveData();
retrieveData.GeneralLedgerAccountId = 'a1Lw00000020For';
retrieveData.Dimension1Id = 'a1Cw00000002w45';
retrieveData.Dimension4Id = 'a1Dw0000001BIuj';
retrieveData.TransactionLineItemsSumValue = 10000;
List<c2g.AllocationsService.RetrieveData> retrieveDataList = new List<c2g.AllocationsService.RetrieveData>{retrieveData};

c2g.AllocationsService.AllocationsStructure allocationsStructure = new c2g.AllocationsService.AllocationsStructure();
allocationsStructure.RetrieveDataList = retrieveDataList;

List<c2g.AllocationsService.SplitData> splitDataList = c2g.AllocationsService.calculateSplitDataLines(splitStructureList, allocationsStructure);

c2g.AllocationsService.RefineFilterStructure

global class RefineFilterStructure

Holds the filters to retrieve the lookup values.

Sample Code

//Note: This sample code is for demonstration purposes only, it is not intended for
//use in a production environment, is not guaranteed against defects or errors and
//is in no way optimized or streamlined.

c2g.AllocationsService.RefineFilterStructure refineFilterStructure = new c2g.AllocationsService.RefineFilterStructure();
refineFilterStructure.ObjectAPIName = 'codaGeneralLedgerAccount__c';
refineFilterStructure.RefineSearch = 'Accounts';

Properties

Name Type Description
ObjectAPIName String ObjectAPIName The object API name to query the records on base data. For example: "codaGeneralLedgerAccount__c".
RefineSearch String RefineSearch The word to filter the names of the records. For example: "Accounts" for "codaGeneralLedgerAccount__c".
CompanyId Id CompanyId The company ID takes into account when the object belongs to a company.

Methods

RefineFilterStructure

global RefineFilterStructure()

RefineFilterStructure

global RefineFilterStructure(String objectAPIName, String refineSearch, Id companyId)

Holds the filters to get the lookup values.

Input Parameters

Name Type Description
objectAPIName String The object API name to query the records on base data. For example, "codaGeneralLedgerAccount__c".
refineSearch String The word to filter the names of the records. For example, "Accounts" for "codaGeneralLedgerAccount__c".
companyId Id The company ID.

Return Value

This constructor does not return a value.

hasObjectAPIName

global Boolean hasObjectAPIName()

Determines if the ObjectAPIName has been populated in the RefineFilterStructure.

Return Value

This service returns a Boolean object.

Sample Code

//Note: This sample code is for demonstration purposes only, it is not intended for
//use in a production environment, is not guaranteed against defects or errors and
//is in no way optimized or streamlined.

c2g.AllocationsService.RefineFilterStructure refineFilterStructure = new c2g.AllocationsService.RefineFilterStructure();
refineFilterStructure.ObjectAPIName = 'codaGeneralLedgerAccount__c';
System.assertEquals(true, refineFilterStructure.hasObjectAPIName());

c2g.AllocationsService.FilterDataStructure

global class FilterDataStructure

Holds a list of entities and the default entity value.

Sample Code

//Note: This sample code is for demonstration purposes only, it is not intended for
//use in a production environment, is not guaranteed against defects or errors and
//is in no way optimized or streamlined.

List<AllocationsService.FilterDataStructure> filterDataStructureList = c2g.AllocationsService.getFiltersWithValues( new 
List<c2g.AllocationsService.RefineFilterStructure>{ new 
c2g.AllocationsService.RefineFilterStructure('c2g__codaGeneralLedgerAccount__c', '', null) } );

Properties

Name Type Description
DefaultEntityValue c2g.AllocationsService.EntityValue The default value of the list
FilterDataList List<c2g.AllocationsService.EntityValue> A list of entities.

Methods

FilterDataStructure

global FilterDataStructure()

FilterDataStructure

global FilterDataStructure(c2g.AllocationsService.EntityValue defaultEntityValue, List<c2g.AllocationsService.EntityValue> filterDataList)

Holds a list of entities as well as the default entity value.

Input Parameters

Name Type Description
defaultEntityValue c2g.AllocationsService.EntityValue The default value of the list.
filterDataList List<c2g.AllocationsService.EntityValue> A list of entities.

Return Value

This constructor does not return a value.

c2g.AllocationsService.RetrieveStructure

global class RetrieveStructure

Holds the company ID and required information to create Allocation Transaction Line Items grouped by general ledger accounts and dimensions.

Sample Code

//Note: This sample code is for demonstration purposes only, it is not intended for
//use in a production environment, is not guaranteed against defects or errors and
//is in no way optimized or streamlined.

List<c2g.AllocationsService.Template> templateList = c2g.AllocationsService.loadTemplates(new Set<id> {'a04240000008ALi'});
c2g.AllocationsService.RetrieveStructure retrieveStr = c2g.AllocationsService.retrieve(templateList[0]);
Decimal totalAmount = 0;
for (c2g.AllocationsService.RetrieveData retrieveData : retrieveStr.RetrieveDataList)
{
    totalAmount += retrieveData.TransactionLineItemsSumValue;
}
List<c2g.AllocationsService.SplitData> splitDataList = c2g.AllocationsService.calculateSplitDataLines(templateList[0].SplitStructureList, totalAmount);
c2g.AllocationsService.AllocationsStructure allocationStr = new c2g.AllocationsService.AllocationsStructure();
allocationStr.RetrieveDataList = retrieveStr.RetrieveDataList;
allocationStr.SplitDataList = splitDataList;
allocationStr.AllocationsDate = System.today();
List<Id> transactionIdList = c2g.AllocationsService.createAllocations( new List<c2g.AllocationsService.AllocationsStructure>{allocationStr} );

Properties

Name Type Description
CompanyInfo c2g.AllocationsService.CompanyData The CompanyData.
RetrieveDataList List<c2g.AllocationsService.RetrieveData> A list of RetrieveData.

Methods

RetrieveStructure

global RetrieveStructure()

RetrieveStructure

global RetrieveStructure(c2g.AllocationsService.CompanyData companyInfo, List<c2g.AllocationsService.RetrieveData> retrieveDataList)

Retrieves a RetrieveStructure with the required information to create Allocation Transaction Line Items. For example, Company, General Ledger Accounts and Dimensions.

Input Parameters

Name Type Description
companyInfo c2g.AllocationsService.CompanyData The values for CompanyData.
retrieveDataList List<c2g.AllocationsService.RetrieveData> Holds a list of RetrieveData.

Return Value

This constructor does not return a value.

c2g.AllocationsService.Entities

global abstract class Entities

Holds general ledger accounts (EntityValue), with Dimensions 1 to 4 (EntityValue). You can only populate the general ledger account or general ledger account and dimensions. The general ledger account is mandatory.

Sample Code

//Note: This sample code is for demonstration purposes only, it is not intended for
//use in a production environment, is not guaranteed against defects or errors and
//is in no way optimized or streamlined.

c2g.AllocationsService.Entities entities = new c2g.AllocationsService.Entities();
entities.GeneralLedgerAccountId = 'a1Lw00000020For';
entities.Dimension1Id = 'a1Cw00000002w45';
entities.Dimension2Id = 'a1Dw0000001BIuj';
entities.Dimension3Id = 'a1Ew000000Io7j6';
entities.Dimension4Id = 'a1Fw00000014wzA';

Properties

Name Type Description
GeneralLedgerAccountId Id The ID of the general ledger account.
Dimension1Id Id The ID of Dimension 1.
Dimension2Id Id The ID of Dimension 2.
Dimension3Id Id The ID of Dimension 3.
Dimension4Id Id The ID of Dimension 4.

Methods

Entities

global Entities()

Entities

global Entities(Id generalLedgerAccountId, Id dimension1Id, Id dimension2Id, Id dimension3Id, Id dimension4Id)

CHolds a general ledger EntityValue and may have Dimension1, 2, 3 or 4 EntityRetrieveValue.

Input Parameters

Name Type Description
generalLedgerAccountId Id The ID of the general ledger account.
dimension1Id Id The ID of the Dimension 1.
dimension2Id Id The ID of the Dimension 2.
dimension3Id Id The ID of the Dimension 3.
dimension4Id Id The ID of the Dimension 4.

Return Value

This constructor does not return a value.

c2g.AllocationsService.RetrieveData

global class RetrieveData extends Entities

Holds the same fields as the Entities class as well as the sum of HomeValues.

This class extends - c2g.AllocationsService.Entities

Sample Code

//Note: This sample code is for demonstration purposes only, it is not intended for
//use in a production environment, is not guaranteed against defects or errors and
//is in no way optimized or streamlined.

c2g.AllocationsService.RetrieveData retrieveData1 = new c2g.AllocationsService.RetrieveData();
retrieveData1.GeneralLedgerAccountId = 'a1Lw00000020For';
retrieveData1.Dimension1Id = 'a1Cw00000002w45';
retrieveData1.Dimension2Id = 'a1Dw0000001BIuj';
retrieveData1.Dimension3Id = 'a1Ew000000Io7j6';
retrieveData1.Dimension4Id = 'a1Fw00000014wzA';
retrieveData1.TransactionLineItemsSumValue = 100;

c2g.AllocationsService.SplitData splitData1 = new c2g.AllocationsService.SplitData();
splitData1.GeneralLedgerAccountId = 'a1Lw00000020For';
splitData1.Dimension1Id = 'a1Cw00000002w45';
splitData1.Dimension2Id = 'a1Dw0000001BIuj';
splitData1.Amount = 25;

c2g.AllocationsService.SplitData splitData2 = new c2g.AllocationsService.SplitData();
splitData2.GeneralLedgerAccountId = 'a1Lw00000020For';
splitData2.Dimension3Id = 'a1Ew000000Io7j6';
splitData2.Dimension4Id = 'a1Fw00000014wzA';
splitData2.Amount = 75;

c2g.AllocationsService.AllocationsStructure allocationStr = new c2g.AllocationsService.AllocationsStructure();
allocationStr.RetrieveDataList = new List<c2g.AllocationsService.RetrieveData> {retrieveData1};
allocationStr.SplitDataList = new List<c2g.AllocationsService.SplitData>{splitData1, splitData2};
allocationStr.AllocationsDate = System.today();
allocationStr.PeriodId = 'a1uw0000001Kd6l';
List<Id> transactionIdList = c2g.AllocationsService.createAllocations(new List<c2g.AllocationsService.AllocationsStructure> {allocStructure});

Properties

Name Type Description
TransactionLineItemsSumValue Decimal The sum of the home values of the transaction line item, grouped by general ledger account and dimension.
CompanyId Id Automatically populated by the retrieve operation when in multi-company mode.

Methods

RetrieveData

global RetrieveData()

RetrieveData

global RetrieveData(Id generalLedgerAccountId, Id dimension1Id, Id dimension2Id, Id dimension3Id, Id dimension4Id, Decimal transactionLineItemsSumValue)

Holds the same fields as the Entities class and the sum of HomeValues.

Input Parameters

Name Type Description
generalLedgerAccountId Id The ID of the General Ledger Account.
dimension1Id Id The ID of Dimension 1.
dimension2Id Id The ID of Dimension 2.
dimension3Id Id The ID of Dimension 3.
dimension4Id Id The ID of Dimension 4.
transactionLineItemsSumValue Decimal The sum of the home values of the transaction line items grouped by general ledger account and dimension.

Return Value

This constructor does not return a value.

c2g.AllocationsService.SplitData

global class SplitData extends Entities

Holds the same fields as the Entities class as well as the split amount.

This class extends - c2g.AllocationsService.Entities

Sample Code

//Note: This sample code is for demonstration purposes only, it is not intended for
//use in a production environment, is not guaranteed against defects or errors and
//is in no way optimized or streamlined.

c2g.AllocationsService.SplitStructure splitStr1 = new c2g.AllocationsService.SplitStructure();
splitStr1.GeneralLedgerAccountId = 'a1Lw00000020For';
splitStr1.Dimension1Id = 'a1Cw00000002w45';
splitStr1.Dimension2Id = 'a1Dw0000001BIuj';
splitStr1.percentage= 20;
c2g.AllocationsService.SplitStructure splitStr2 = new c2g.AllocationsService.SplitStructure();
splitStr2.GeneralLedgerAccountId = 'a1Lw00000020For';
splitStr2.Percentage = 80;
List<c2g.AllocationsService.SplitData> splitLines = c2g.AllocationsService.calculateSplitDataLines(new 
List<c2g.AllocationsService.SplitStructure>{splitStr1, splitStr2}, 33.33);

Properties

Name Type Description
Amount Decimal Value of the amount of the split.

Methods

SplitData

global SplitData()

SplitData

global SplitData(Id generalLedgerAccountId, Id dimension1Id, Id dimension2Id, Id dimension3Id, Id dimension4Id, Decimal amount)

Holds the same fields as the Entities class as well as the amount of the split.

Input Parameters

Name Type Description
generalLedgerAccountId Id The ID of the General Ledger Account.
dimension1Id Id The ID of Dimension 1.
dimension2Id Id The ID of Dimension 2.
dimension3Id Id The ID of Dimension 3.
dimension4Id Id The ID of Dimension 4.
amount Decimal The value of the amount of the split.

Return Value

This constructor does not return a value.

c2g.AllocationsService.EntityValue

global class EntityValue

Holds the ID and name of the entity.

Sample Code

//Note: This sample code is for demonstration purposes only, it is not intended for
//use in a production environment, is not guaranteed against defects or errors and
//is in no way optimized or streamlined.

c2g.AllocationsService.EntityValue entityValue = new c2g.AllocationsService.EntityValue();
entityValue.Id = 'a1Lw00000020For';
entityValue.Name = 'Sales - Parts';

Properties

Name Type Description
Id String Globally unique string that identifies the record.
Name String The name of the entity.

Methods

EntityValue

global EntityValue()

EntityValue

global EntityValue(String id, String name)

Holds the ID and Name.

Input Parameters

Name Type Description
id String The ID of the entity.
name String The name of the entity.

Return Value

This constructor does not return a value.

c2g.AllocationsService.CompanyData

global class CompanyData

Holds the company ID.

Sample Code

//Note: This sample code is for demonstration purposes only, it is not intended for
//use in a production environment, is not guaranteed against defects or errors and
//is in no way optimized or streamlined.

c2g.AllocationsService.CompanyData companyData = new c2g.AllocationsService.CompanyData();
companyData.CompanyId = 'a0m24000000cST6';

Properties

Name Type Description
CompanyId Id The company ID.

Methods

CompanyData

global CompanyData()

CompanyData

global CompanyData(Id companyId)

Holds the company ID.

Input Parameters

Name Type Description
companyId Id The company ID.

Return Value

This constructor does not return a value.

c2g.AllocationsService.Template

global class Template

Holds the information necessary to filter the transaction line items in the retrieve process. It is also used to save, update and load a template.

Sample Code

//Note: This sample code is for demonstration purposes only, it is not intended for
//use in a production environment, is not guaranteed against defects or errors and
//is in no way optimized or streamlined.

// Using ID
c2g.AllocationsService.Template template = new c2g.AllocationsService.Template();
template.Id = 'a04240000008ALi';
template.ToDate = system.today();
c2g.AllocationsService.RetrieveStructure retrieveStr = c2g.AllocationsService.retrieve(template);
// Using Name
c2g.AllocationsService.Template template = new c2g.AllocationsService.Template();
template.Name = 'Template 2';
template.ToDate = system.today();
c2g.AllocationsService.RetrieveStructure retrieveStr = c2g.AllocationsService.retrieve(template);

Properties

Name Type Description
Id String An existing Allocation Template ID record.
Name String An existing Allocation Template Name record. This field is also used by the save method to specify the name for the new template.
Description String Template description.
FilterStructureList List<c2g.AllocationsService.FilterStructure> A list of FilterStructures.
SplitStructureList List<c2g.AllocationsService.SplitStructure> The list of SplitStructures.
DateRangeType c2g.AllocationsService.DateRangeType Select by date range or by period range.
FromDate Date The FromDate filter.
ToDate Date The ToDate filter.
FromPeriodId Id The FromPeriodId filter.
ToPeriodId Id The ToPeriodId filter.
CompanyId Id The Id of the corresponding company.
ICTOnly Boolean Indicates that you want to retrieve only intercompany transactions. The default is false.

Methods

Template

global Template()

Template

global Template(Id id, String name, Date fromDate, Date toDate)

Holds the information necessary to filter the transaction line items in the retrieve process.

Input Parameters

Name Type Description
id Id An existing Allocation Template ID record.
name String An existing Allocation Template Name record.
fromDate Date The from date filter.
toDate Date The to date filter.

Return Value

This constructor does not return a value.

Template

global Template(Id id, String name, String description, List<c2g.AllocationsService.FilterStructure> filterStructureList, List<c2g.AllocationsService.SplitStructure> splitStructureList)

Holds the information necessary to filter the transaction line items in the retrieve process.

Input Parameters

Name Type Description
id Id An existing Allocation Template ID record.
name String An existing Allocation Template Name record.
description String An existing Allocation Template Description.
filterStructureList List<c2g.AllocationsService.FilterStructure> A list of FilterStructures.
splitStructureList List<c2g.AllocationsService.SplitStructure> A list of the SplitStructures.

Return Value

This constructor does not return a value.

c2g.AllocationsService.FilterStructure

global class FilterStructure

Holds the structure of each filter set.

Sample Code

//Note: This sample code is for demonstration purposes only, it is not intended for
//use in a production environment, is not guaranteed against defects or errors and
//is in no way optimized or streamlined.

c2g.AllocationsService.Filter filter1 = new c2g.AllocationsService.Filter();
filter1.FilterCriteria = c2g.AllocationsService.FilterCriteria.MultiselectValue;
filter1.Values = new List<Object> {'a1Cw00000002w45'};
c2g.AllocationsService.FilterStructure filterStr1 = new c2g.AllocationsService.FilterStructure();
filterStr1.FilterPosition = 1;
filterStr1.FilterStructureType = c2g.AllocationsService.FilterStructureType.Dimension1;
filterStr1.DefaultFilterCriteria = c2g.AllocationsService.DefaultFilterCriteria.MultiselectValue;
filterStr1.FilterList = new List<c2g.AllocationsService.Filter>{filter1};
c2g.AllocationsService.Template template = new c2g.AllocationsService.Template();
template.ToDate = system.today();
template.FilterStructureList = new List<c2g.AllocationsService.FilterStructure> {filterStr1};
c2g.AllocationsService.RetrieveStructure retrieveStr = c2g.AllocationsService.retrieve(template);

Properties

Name Type Description
FilterStructureType c2g.AllocationsService.FilterStructureType The filter structure types.
FilterPosition Integer The integer of the filter set position.
FilterList List<c2g.AllocationsService.Filter> A list of filters.
DefaultFilterCriteria c2g.AllocationsService.DefaultFilterCriteria The picklist value of FilterCriteria by default.

Methods

FilterStructure

global FilterStructure()

FilterStructure

global FilterStructure(String type, Integer filterPosition, List<c2g.AllocationsService.Filter> filterList)

Holds the structure of each filter set.

Input Parameters

Name Type Description
type String The filter structure types. For example, GeneralLedgerAccount, Dimension1, 2, 3 or 4.
filterPosition Integer The position of the filter set.
filterList List<c2g.AllocationsService.Filter> A list of filters.

Return Value

This constructor does not return a value.

FilterStructure

global FilterStructure(c2g.AllocationsService.FilterStructureType filterStructureType, Integer filterPosition, List<c2g.AllocationsService.Filter> filterList, c2g.AllocationsService.DefaultFilterCriteria defaultFilterCriteria)

Holds the structure of each filter set.

Input Parameters

Name Type Description
filterStructureType c2g.AllocationsService.FilterStructureType The filter structure types.
filterPosition Integer The position of the filter set.
filterList List<c2g.AllocationsService.Filter> A list of filters.
defaultFilterCriteria c2g.AllocationsService.DefaultFilterCriteria The value of FilterCriteria by default.

Return Value

This constructor does not return a value.

c2g.AllocationsService.Filter

global class Filter

Holds the values for each FilterStructure depending on the FilterCriteria.

Sample Code

//Note: This sample code is for demonstration purposes only, it is not intended for
//use in a production environment, is not guaranteed against defects or errors and
//is in no way optimized or streamlined.

c2g.AllocationsService.Filter filter1 = new c2g.AllocationsService.Filter();
filter1.FilterCriteria = c2g.AllocationsService.FilterCriteria.MultiselectValue;
filter1.Values = new List<Object> {'a1Cw00000002w45'};
c2g.AllocationsService.FilterStructure filterStr1 = new c2g.AllocationsService.FilterStructure();
filterStr1.FilterPosition = 1;
filterStr1.FilterStructureType = c2g.AllocationsService.FilterStructureType.Dimension1;
filterStr1.DefaultFilterCriteria = c2g.AllocationsService.DefaultFilterCriteria.MultiselectValue;
filterStr1.FilterList = new List<c2g.AllocationsService.Filter>{filter1};
c2g.AllocationsService.SplitStructure splitStr1 = new c2g.AllocationsService.SplitStructure();
splitStr1.GeneralLedgerAccountId = 'a1Lw00000020For';
splitStr1.Dimension1Id = 'a1Cw00000002w45';
splitStr1.Percentage = 20;
c2g.AllocationsService.SplitStructure splitStr2 = new c2g.AllocationsService.SplitStructure();
splitStr2.GeneralLedgerAccountId = 'a1Lw00000020For';
splitStr2.Dimension1Id = 'a1Cw00000002w45';
splitStr2.Percentage = 80;
c2g.AllocationsService.Template template = new c2g.AllocationsService.Template();
template.Name = 'Template1';
template.Description = 'Template Description';
template.FilterStructureList = new List<c2g.AllocationsService.FilterStructure> {filterStr1};
template.SplitStructureList = new List<c2g.AllocationsService.SplitStructure> {splitStr1, splitStr2};
List<id> templateId = c2g.AllocationsService.saveTemplates( new List<c2g.AllocationsService.Template> {template} );

Properties

Name Type Description
Values List<Object> A list of the objects with the ID of the general ledger accounts or dimensions depending on FilterCriteria.
FilterCriteria c2g.AllocationsService.FilterCriteria The FilterCriteria values.

Methods

Filter

global Filter()

Filter

global Filter(c2g.AllocationsService.FilterCriteria filterCriteria, List<Object> values)

Holds the values for each FilterStructure depending on the FilterCriteria.

Input Parameters

Name Type Description
filterCriteria c2g.AllocationsService.FilterCriteria The filter criteria values
values List<Object> A list of objects with the ID of general ledger accounts or dimensions depending on FilterCriteria.

Return Value

This constructor does not return a value.

c2g.AllocationsService.SplitStructure

global class SplitStructure extends Entities

Holds the same fields as the Entities class as well as the split percentage.

This class extends - c2g.AllocationsService.Entities

Sample Code

//Note: This sample code is for demonstration purposes only, it is not intended for
//use in a production environment, is not guaranteed against defects or errors and
//is in no way optimized or streamlined.

c2g.AllocationsService.SplitStructure splitStr1 = new c2g.AllocationsService.SplitStructure();
splitStr1.GeneralLedgerAccountId = 'a1Lw00000020For';
splitStr1.Dimension1Id = 'a1Cw00000002w45';
splitStr1.Dimension2Id = 'a1Dw0000001BIuj';
splitStr1.percentage= 20;
c2g.AllocationsService.SplitStructure splitStr2 = new c2g.AllocationsService.SplitStructure();
splitStr2.GeneralLedgerAccountId = 'a1Lw00000020For';
splitStr2.Percentage = 80;
List<c2g.AllocationsService.SplitData> splitLines = c2g.AllocationsService.calculateSplitDataLines(new 
List<c2g.AllocationsService.SplitStructure>{splitStr1, splitStr2}, 33.33);

Properties

Name Type Description
Percentage Decimal Value of the split percentage.

Methods

SplitStructure

global SplitStructure()

SplitStructure

global SplitStructure(Id generalLedgerAccountId, Id dim1Id, Id dim2Id, Id dim3Id, Id dim4Id, Decimal percentage)

Holds the same fields as the Entities class as well as the split percentage.

Input Parameters

Name Type Description
generalLedgerAccountId Id The ID of the general ledger account.
dim1Id Id The ID of Dimension 1.
dim2Id Id The ID of Dimension 2.
dim3Id Id The ID of Dimension 3.
dim4Id Id The ID of Dimension 4.
percentage Decimal The value of the split percentage.

Return Value

This constructor does not return a value.

c2g.AllocationsService.AllocationsStructure

global class AllocationsStructure

Holds information of the RetrieveDataList and the SplitDataList of the RetrieveStructure.

Sample Code

//Note: This sample code is for demonstration purposes only, it is not intended for
//use in a production environment, is not guaranteed against defects or errors and
//is in no way optimized or streamlined.

c2g.AllocationsService.RetrieveData retrieveData1 = new c2g.AllocationsService.RetrieveData();
retrieveData1.GeneralLedgerAccountId = 'a1Lw00000020For';
retrieveData1.Dimension1Id = 'a1Cw00000002w45';
retrieveData1.Dimension2Id = 'a1Dw0000001BIuj';
retrieveData1.Dimension3Id = 'a1Ew000000Io7j6';
retrieveData1.Dimension4Id = 'a1Fw00000014wzA'; 
retrieveData1.TransactionLineItemsSumValue = 100;
c2g.AllocationsService.SplitData splitData1 = new c2g.AllocationsService.SplitData();
splitData1.GeneralLedgerAccountId = 'a1Lw00000020For';
splitData1.Dimension1Id = 'a1Cw00000002w45';
splitData1.Dimension2Id = 'a1Dw0000001BIuj';
splitData1.Amount = 25;
c2g.AllocationsService.SplitData splitData2 = new c2g.AllocationsService.SplitData();
splitData2.GeneralLedgerAccountId = 'a1Lw00000020For';
splitData2.Dimension3Id = 'a1Ew000000Io7j6';
splitData2.Dimension4Id = 'a1Fw00000014wzA';
splitData2.Amount = 75;
c2g.AllocationsService.AllocationsStructure allocationStr = new c2g.AllocationsService.AllocationsStructure();
allocationStr.RetrieveDataList = new List<c2g.AllocationsService.RetrieveData> {retrieveData1};
allocationStr.SplitDataList = new List<c2g.AllocationsService.SplitData>{splitData1, splitData2};
allocationStr.AllocationsDate = System.today();
allocationStr.PeriodId = 'a1uw0000001Kd6l';
List<Id> transactionIdList = c2g.AllocationsService.createAllocations(new List<c2g.AllocationsService.AllocationsStructure> {allocStructure});

Properties

Name Type Description
RetrieveDataList List<c2g.AllocationsService.RetrieveData> A list of RetrieveData.
SplitDataList List<c2g.AllocationsService.SplitData> A list of SplitData that represents values where total amount is split.
AllocationsDate Date The date for all AllocationsRetrieveData.
PeriodId Id The period for all RetrieveData.
Description String Details of the allocation transaction description.
DestinationCompanyId Id Selects the destination company in multi-company mode.
DestinationType c2g.AllocationsService.DestinationType The type of document created when createAllocations is called. Values: Transactions (default) or Journals.

Methods

AllocationsStructure

global AllocationsStructure()

AllocationsStructure

global AllocationsStructure(List<c2g.AllocationsService.RetrieveData> retrieveDataList, List<c2g.AllocationsService.SplitData> splitDataList, Date allocationsDate, Id periodId, String description)

Holds the RetrieveStructure and adds the SplitDataList.

Input Parameters

Name Type Description
retrieveDataList List<c2g.AllocationsService.RetrieveData> A list of RetrieveData.
splitDataList List<c2g.AllocationsService.SplitData> A list of SplitData that represents values where total amount is split.
allocationsDate Date The date for all RetrieveData.
periodId Id The period for all RetrieveData.
description String The description for the allocation structure.

Return Value

This constructor does not return a value.