Newer Version Available
ForecastingSourceDefinition
Represents the object, measure, date type, and hierarchy that a forecast uses
to project sales. This object is available in API version 52.0 and later.
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);