Note: This release is in preview. Features described here don’t become generally available until the latest general availability date that Salesforce announces for this release. Before then, and where features are noted as beta, pilot, or developer preview, we can’t guarantee general availability within any particular time frame or at all. Make your purchase decisions only on the basis of generally available products and features.
ForecastingSourceDefinition
Supported Calls
create(), delete(), describeSObjects(), query(), retrieve(), update(), upsert()
Fields
| Field | Details |
|---|---|
| CategoryField |
|
| DateField |
|
| DeveloperName |
|
| FamilyField |
|
| Language |
|
| MasterLabel |
|
| MeasureField |
|
| SourceObject |
|
| Territory2Field |
|
| UserField |
|
Usage
Use ForecastingSourceDefinition to define a forecast type’s structure. A forecasting source definition is joined via ForecastingTypeSource to ForecastingType.
In this example, a user role-based forecast type called Custom Amount Forecast is based on the Amount and Close Date fields on opportunities.
1ForecastingType type = new sforce.SObject("ForecastingType");
2type.DeveloperName = "Custom_Amount_Forecast";
3type.MasterLabel = "Custom Amount Forecast";
4type.IsAmount = true;
5type.IsQuantity = false;
6type.RoleType = "R";
7type.DateType = "OpportunityCloseDate";
8String typeId = insert(type);
9
10ForecastingSourceDefinition sourceDefinition = new sforce.SObject("ForecastingSourceDefinition")
11sourceDefinition.DeveloperName = "Custom Amount Source";
12sourceDefinition.MasterLabel = "Custom_Amount_Source";
13sourceDefinition.SourceObject = "Opportunity";
14sourceDefinition.MeasureField = "Opportunity.Amount";
15sourceDefinition.DateField = "Opportunity.CloseDate";
16sourceDefinition.UserField = "Opportunity.OwnerId";
17sourceDefinition.CategoryField = "Opportunity.ForecastCategoryName";
18String sourceDefinitionId = insert(sourceDefinition);
19
20ForecastingTypeSource typeSource = new sforce.SObject("ForecastingTypeSource");
21typeSource.MasterLabel = "Custom Amount Type Source";
22typeSource.DeveloperName = "Custom_Amount_Type_Source";
23typeSource.ForecastingTypeId = typeId;
24typeSource.ForecastingSourceDefinitionId = sourceDefinitionId;
25typeSource.SourceGroup = 1;
26insert(typeSource);