function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
JPClark3JPClark3 

DML not allowed on MailmergeTemplate

 

Web Services API guide says:

MailmergeTemplate

Represents a mail merge template (a Microsoft Word document) used for performing mail merges for your organization.

Supported Calls

create(), delete(), getDeleted(), getUpdated(), query(), retrieve(), undelete(), update(), upsert(), describeSObjects()

 

 

But this Apex code doesn't compile:  

Save error: DML not allowed on MailmergeTemplate testMoveToMailMerge.cls /i360/src/classes line 12

public class testMoveToMailMerge 
{
public static MailmergeTemplate MoveFile(string FileName, string TemplateName)
{
Document doc = [Select ID, Body, BodyLength, ContentType, FolderID, Name, Description, DeveloperName, NamespacePrefix, Type, Keywords FROM Document WHERE Name = :FileName Limit 1];
System.Debug(doc);
MailmergeTemplate template = new MailmergeTemplate();
template.Name = TemplateName;
template.Body = doc.Body;
template.Description = doc.Description;
template.Filename = doc.Name;		
insert template;
MailmergeTemplate RetTemplate = [Select Name, Id, Filename, Description, BodyLength, Body From MailmergeTemplate WHERE Id = :template.Id];	
return RetTemplate;
}
public static testMethod void TestMove()
{
string FileName = 'TempTestMailMerge1';
string TemplateName = 'Ping Pong';
MailmergeTemplate template = MoveFile(FileName, TemplateName);
Document doc = [Select ID, Body, BodyLength, ContentType, FolderID, Name, Description, DeveloperName, NamespacePrefix, Type, Keywords FROM Document WHERE Name = :FileName Limit 1];
System.AssertEquals(template.Name, TemplateName);
System.AssertEquals(template.BodyLength, doc.BodyLength);
}
}