We just started using Salesforce forecasting subsystem and needed to initialize Opportunity.ForecastCategory based on two Opportunity custom fields. Hundreds of records had to be updated -- doing it by hand was not a good option.
The solution...the following short SQL Force script:
import SQLForce
session = SQLForce.Session("sandbox")
nUpdated = 0
##
## Case where ForecastCategory should be Best Case
##
for record in session.select("""SELECT id, forecastCategory FROM Opportunity
WHERE (forecastCategory='Commit' OR forecastCategory='Pipeline')
AND isClosed=false
AND include_in_estimate__c=false
AND include_in_upside__c=true
AND license_type__c!=null
AND closeDate > LAST_YEAR
"""):
nUpdated += 1
print nUpdated
session.runCommands("UPDATE Opportunity SET forecastCategoryName='Best Case' WHERE id='" + record[0] + "'" )
There were a couple of addition loops in the code for setting other Opportunity.ForecastCategory values. Looks useful? See SQLForce Project on code.google.
No comments:
Post a Comment