on ‎2022 Jan 28 9:40 AM
Hi Team,
Our requirement is external system will submit a Form and we will decide forward it C4C email channel. If email address on form is found as an account contact, it should create ticket or else it should go to unassciated email. You can refer then attached notepad_code.txt file for your reference.
We want to send an email via ABSL logic to C4C B2B Email Channel address. We have written ABSL logic as below for the same. When we save instance of custom BO, it trigger email to "guest@XXX.inc" which is configured as email channel.
Issue: When email is triggered it always takes default email address donotreply@myXXXXXX.crm.ondemand.com while we are giving From address in our code below. Hence it end up in unassociated mail always. This the issue.
Please let us know if its possible to send email from C4C script to C4C Email Channel address and how to send correct FROM Email Address.
import AP.FO.Activity.Global;
import AP.Common.GDT;
import BASIS.Global;
import DocumentServices.Global;
var elEmailroot : elementsof Activity;
var elEmailParty : elementsof Activity.Party;
var insEmail;
var emailBody;
var emailsubject;
var TXT_TYPE_BOF_DY_TEXT = "10002";
var elEmailTxtColl : elementsof Activity.TextCollection;
var elEmailTxtCollTxt : elementsof Activity.TextCollection.Text;
var elEmailTxtCollTxtCntnt : elementsof Activity.TextCollection.Text.TextContent;
var insEmailTxtColl;
var insEmailTxtCollTxt;
var insEmailTxtCollTxtCntnt;
//Email Creation
emailsubject = "Service Ticket";
elEmailroot.TypeCode = "39";
elEmailroot.SubjectName = emailsubject;
insEmail = Activity.Create(elEmailroot);
//AddParties
//elEmailParty.PartyName = "";
if (insEmail.MessageFromParty.IsSet())
{
// supply party either with ID: MC2471 or Name: Kate Jacob or Email: Kate.Jacob@xxxxxx.us, etc.
elEmailParty.EmailURI = "deepaks@xxxxxx.com";
elEmailParty.RoleCode = "33";
var check = insEmail.MessageFromParty.Create(elEmailParty);
elEmailParty.Clear();
}
if (insEmail.EmployeeResponsibleParty.IsSet()) {
elEmailParty.PartyName = "1000351";
//elEmailParty.RoleCode = "";
insEmail.EmployeeResponsibleParty.Create(elEmailParty);
elEmailParty.Clear();
}
elEmailParty.EmailURI = "guest@XXX.inc";
elEmailParty.RoleCode = "32";
insEmail.MessageToParty.Create(elEmailParty);
elEmailParty.Clear();
//create body
insEmailTxtColl = insEmail.TextCollection.Create();
elEmailTxtCollTxt.TypeCode.content = TXT_TYPE_BOF_DY_TEXT;
insEmailTxtCollTxt = insEmailTxtColl.Text.Create(elEmailTxtCollTxt);
elEmailTxtCollTxtCntnt.Text.content = "This is email body";
insEmailTxtCollTxt.TextContent.Create(elEmailTxtCollTxtCntnt);
//send email
insEmail.Send();
Thanks
Deepak
Request clarification before answering.
Hi Deepak,
Sending email via Activity BO is obsoleted, alternatively you use the platinum engineering libraries as described in below.
https://blogs.sap.com/2015/02/03/new-email-functionality-for-tenants-1502-sp01/
https://blogs.sap.com/2017/09/25/sap-platinum-engineering-libraries/
Regards,
Senthil
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.