Monthly Reports Sending Mass Emails
Current Environment:
Zen 11.2.2 no MUs
Test Patch Applied:
database time sync patch where time showed it was off by 6 hours
Problem:
On January 31 and Feb 28 (End of the month days) it seems all my monthly reports are spamming the recipients. This started January 31 at 6pm CST and went on till 12pm CST. On February 28 at 6pm CST it starting spamming the reports again until I removed them from the report. We had upgraded to Zenwork 11.2.2 in January 2013 and this only started after the update.
Does anyone see this problem in their environment or is there a log I can see the email actions?
Thanks
Nhat
nhatdoan,
It appears that in the past few days you have not received a response to your
posting. That concerns us, and has triggered this automated reply.
Has your problem been resolved? If not, you might try one of the following options:
- Visit http://www.novell.com/support and search the knowledgebase and/or check all
the other self support options and support programs available.
- You could also try posting your message again. Make sure it is posted in the
correct newsgroup. (http://forums.novell.com)
Be sure to read the forum FAQ about what to expect in the way of responses:
http://forums.novell.com/faq.php
If this is a reply to a duplicate posting, please ignore and accept our apologies
and rest assured we will issue a stern reprimand to our posting bot.
Good luck!
Your Novell Forums Team
http://forums.novell.com
Similar Messages
-
How to use Forms10g to send mass email to users via MS Outlook?
Does anyone has tried to write a Forms that retrieve emails from a database schema and then send mass emails to these users viad Microsoft Outlook? If yes, would you like to share your valuable experience with us?
i would be easier to depend on database packages for achieving this result, whether you create procedures or database triggers, you can still invoke these construct form your form. If you database is a 10g database, it is easier to handle mass email since there is an already built-in package for this.
below is an example
Using UTL_MAIL (only for Oracle 10g)
make sure that the UTL_MAIL package is installed
SQL>start utlmail.sql
SQL>start prvtmail.plb
both can be found under $ORACLE_HOME/rdbms/admin
utl_mail.send(
sender IN VARCHAR2 CHARACTER SET ANY_CS,
recipients IN VARCHAR2 CHARACTER SET ANY_CS,
cc IN VARCHAR2 CHARACTER SET ANY_CS DEFAULT NULL,
bcc IN VARCHAR2 CHARACTER SET ANY_CS DEFAULT NULL,
subject IN VARCHAR2 CHARACTER SET ANY_CS DEFAULT NULL,
message IN VARCHAR2 CHARACTER SET ANY_CS DEFAULT NULL,
mime_type IN VARCHAR2 CHARACTER SET ANY_CS DEFAULT 'text/plain;
charset=us-ascii',
priority IN PLS_INTEGER DEFAULT 3);
Example
declare
vSend VARCHAR2(30) := '[email protected]';
vSubj VARCHAR2(50) := '10g new mail package';
vMesg VARCHAR2(4000);
vMType VARCHAR2(30) := 'text/plain; charset=us-ascii';
BEGIN
vmesg:= 'Hello mail 10g worked';
utl_mail.send(vSend, '[email protected]', NULL, NULL, vSubj,
vMesg, vMType, NULL);
END ;
Note: for this to work, you need to set the SMTP Server
SQL>ALTER SYSTEM SET smtp_out_server ='smtp.realsoft-me.com' scope=spfile ; -- added Aug 15,2005
-- Use your own smtp server name
Re-bounce the instance for the changes to take place
If you database is oracle 9i, then you have to depend on packages like UTL_SMTP , UTL_TCP. i have another example that uses the sames sample code that Mark refered to and you can find such example at my website
http://www.e-ammar.com/Oracle_TIPS/oramail.htm
The code my seem a bit complex, but you many not need to use it all, additionally, it makes a difference if you are going to use attachments or not.
hope this helps
Ammar Sajdi
www.e-ammar.com
www.palco-me.com
www.realsoft-me.com
Amman - Jordan Oracle certified partner
Partner, CEO and consultant -
Trying to Send Mass Email from my .Mac email account...
Hi,
I am trying to send a mass email to customers at our retail store. For some reason, it says I cannot do it! I actually even narrowed the customer list down to 25, and it still will not send... Is there something I can change in the preference list to make this happen?
Thanks so muchThere is no preference list for this. Any controls would be server-side, implemented by Apple to prevent spammers using .Mac for hawking their wares.
As such, there's not much you can do other than send multiple individual messages or run your own mail server. -
Sending mass email through macmail
MacMail: I'm wondering if there's an easy way to send an email (notice of changed email address) to all those who have ever emailed me in the past.
If you have all of those email addresses in your Address Book you can go to the View menu and select Groups. There should be a group called All Contacts. Select that group, then click on one member of the group. Next go to the Edit menu and choose Select All (or do Command-A on your keyboard.) Now drag those contacts into the To: field of your email.
Unfortunately if you have not put all the people you want to send this to into your address book, I do not believe there is any other way.
Note that depending on the number of people you send to, your ISP or mail service provider may object to mass emailing.
Best of luck. -
I have a document that has an email address field. I'd like to send a mass email to everyone at one time. Is there a way to do this?
Hello
may you explain with more details?
At this time I'm not sure of what you want.
I guess that the Numbers document contains a list of email addresses and that you want to send mails to the stored addresses.
You don't tell us if the contents of the mail is defined from an other tool or if it must be built by Numbers.
Assuming that the mail is defined and that a sheet contains the mail addresses.
I give you this AppleScript:
--(SCRIPT)
try
set theDatas to the clipboard as text
on error
return
end try
set theListe to every paragraph of theDatas
set AppleScript's text item delimiters to ", "
set theDatas to theListe as text
set AppleScript's text item delimiters to ""
set the clipboard to theDatas
--(/SCRIPT)
Select the column of mail addresses
copy to clipboard
call the script to arrange the addresses as they must be for Mail.app
Paste in the field To: of mail.app
pclick on "Send"
Yvan KOENIG (from FRANCE mardi 29 avril 2008 18:28:29) -
I would like to send an email to all my customers without typing their email addresses into the 'send to' box.
What is the easiest way to select the desired recipients and add them to my email?I am also looking for this solution.
I update my address book every so often and on my PC was doing this with a software that sent individual emails in small batches overnight.
How may I do this now that I'm on a Mac? -
How can Sales team assign groups to existing marketing campaigns and send mass emails?
We would like to empower our sales team to be able to identify small groups of contacts in their CRM and assign them to existing Eloqua campaigns that Marketing sets up and makes available to Sales. Ideally Marketing would enable specific campaigns to be available to Sales team through Engage, instead of sending a one off emails.
Does this functionality currently exist?Juan,
from an earlier post you noted you were using SFDC.
Your sales team could add multiple contacts to a campaign by creating a list view (or report) of your contacts and merely checking the box next to the name and hitting the 'add to campaign' button.
Then you can use the CDO method from this post to have your marketers find the campaign members and add to a campaign. This would work for ongoing campaigns as well as a 'one-time' send.
Nathan -
How do i send mass emails one at a time, without using CC or BCC
In other words, I have a mailing list for my band. When I send emails to myself and bcc a bunch of emails, many people don't receive them or they get bounced to their junk mails. Is there a way to automate Mail so that an email can be sent, one at a time, to a large list of people? I've tried looking through the help document but it doesnt' help. Thanks!
I am also looking for this solution.
I update my address book every so often and on my PC was doing this with a software that sent individual emails in small batches overnight.
How may I do this now that I'm on a Mac? -
Problem in opening report send through email
Hi
In my application if i run the report and mail to my client via mail option provided in Report Builder 3.0, then my client is not able to open this file (*.eps).
So how my client will see the report in same format.
Please Help it out.
Regards
isha
nullI just found the following 10 questions bellow!
With which application I can open *.eps file - Generated by report while choose mail option for output.
Thanks
IP: Logged
paul green ()
unregistered posted February 12, 2001 02:04 PM
there is an application called (i believe) ghostscript. The file format is postscript format, and thus, must be opened with a postscript reader. I believe adobe makes such a reader as well, although I'm not sure of the name.
null -
Please help to send an email with html page in body
I need an html page on the body of an email to send an email blast to our customers.
HTML Emails can be a bit tricky. You can design them in Dreamweaver, but you really shouldn't send mass email through your personal email account (or your company account). That could get you blacklisted by corporate spam filters and make your email addresses pretty much useless.
For mass email campaigns (over a few hundred email addresses) I use http://www.icontact.com.
You can build the email right through their site (without DW) or you can import your html from DW to their service.
Some things to keep in mind with HTML email...
1. Use absolute links to images and files on a server you control
2. Use a limited amount of inline css (no external or embedded css)
3. Use table based layouts, css support is spotty at best with email clients
4. The <head> will be stripped from a number of email clients, don't rely on anything between the <head> tags making it to your recipients
5. Don't use an image-only email. HTML text is very important to keep it from being labeled spam, make the images secondary to the message, many email clients will not download images without the user's say-so
6. Include an opt-out link so people can get off your list
There are more things to watch out for, but those are the big ones. Here is some more good info: http://alt-web.com/Articles/HTML-Emails.shtml -
What is the best program language for mass email (PHP, ASP, Coldfusion)?
I want to be able to send mass email (from a SQL db) with
stability and reliability.
I've used Coldfusion for some time (CFmail tag) and have not
been impressed.
It seems, at times, it has a mind of it's own, and is a
little unreliable, especially
when sending hundreds of emails at one shot. I'm not dogg'n
Codfusion,
that's what I program in, I just am looking for a method that
I can build on.
My question is this: What is the best and most reliable
coding when sending mass email?
Is it PHP, ASP, XML, Coldfusion....what?
You would think there has to be an optimum option out
there...right?
Thanks for the knowledge!Beezy wrote:
> say ...500-5,000, maybe larger. Any ideas?
>
I've used CF to send out as many as 50,000+ emails in a
single blast and
haven't ever had any problems with it. Particularly with CF
Enterprise,
CF is an extremely high-performance mail generation engine.
Remeber
that CF itself doesn't send the mail so you're dependent upon
the speed
of your mail server as a large part of the equation as well.
Matt
Matt Woodward
[email protected]
Adobe Community Expert - ColdFusion -
Reg: sending an email using report server
Hi,
i am using the below code to send an email using the report server.
When send button Click:
DECLARE
PL_ID ParamList;
repid REPORT_OBJECT;
v_rep varchar2(100);
rep_status varchar2(20);
l_host_name varchar2(50);
l_port_num varchar2(10);
l_server_name varchar2(50);
l_month_name varchar2(20);
l_from varchar2(50);
l_to varchar2(50);
l_cc varchar2(50);
l_property varchar2(1000);
l_sub_out varchar2(200);
l_sub varchar2(400);
L_BODY VARCHAR2(1000);
l_email_dir varchar2(50);
BEGIN
l_sub:=:block1.number||' '||replace(replace(:block1.desc,'&','ampersand'),'''','$quote');
if length(l_sub) >150 then
l_sub_out:=substr(l_sub,0,150);
else
l_sub_out:=l_sub;
end if;
l_host_name := (i used my host ip address local host);
l_port_num := '8889';
l_email_dir := 'C:\forms\';
l_from := [email protected];
l_cc := [email protected];
L_BODY:=' Please refer to the attached abc Report';
repid := find_report_object('PRINT_REPORT');
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_FILENAME,'abc');
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESTYPE,MAIL);
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESFORMAT,'PDF');
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_SERVER,l_server_name);
go_block('abc_MAIL_TO');
first_record;
if :abc.email_address is not null then
loop
l_to:=:abc.email_address;
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_OTHER, 'paramform=no DISTRIBUTE=YES DESTINATION='||l_email_dir||'test.xml'||' '||
' p_2='|| TO_CHAR(:control.sessionid)||' '||'P_ID='||TO_CHAR(:block1.ID)||' '
||'P_LIST_TYPE='||'A'||' '
||'DISTRIBUTE=YES DESTINATION=test.xml'||' '
||'P_FROM='||''''||l_from||''''||' '
||'P_SEND='||''''||l_to||''''||' '
||'P_CC='||''''||l_cc||''''||' '
||'P_FILE='||'C:\testfile.txt'||' '
||'p_email_path='||l_email_dir||' '
||'P_BODY='||''''||l_body||''''||' '
||'P_NUM='||''''||'Email report: '||l_sub_out||'''');
v_rep := RUN_REPORT_OBJECT(repid);
rep_status := REPORT_OBJECT_STATUS(v_rep);
WHILE rep_status in ('RUNNING','OPENING_REPORT','ENQUEUED')
LOOP
rep_status := report_object_status(v_rep);
END LOOP;
IF rep_status = 'FINISHED' THEN
null;
ELSE
message(rep_status);
message('Error when sending email to: '||l_to);
END IF;
if :system.last_record='TRUE' then
exit;
else
next_record;
end if;
end loop;
end if;
message ('Mail has been sent.');
END;
In the report:
I created all the required parameters and i wrote a trigger as
function AfterPForm return boolean is
dst_file text_io.file_type;
l_email_dir varchar2(50);
begin
dst_file := text_io.fopen(:p_email_path||'test.xml','w');
text_io.putf(dst_file, '<destinations>'||chr(13));
text_io.putf(dst_file, '<mail id="ex1" '||chr(13));
text_io.putf(dst_file, 'from="&P_FROM"'||chr(13));
text_io.putf(dst_file, 'to="&P_SEND"'||chr(13));
text_io.putf(dst_file, 'cc="&P_CC"'||chr(13));
text_io.putf(dst_file, 'subject="&<P_NUM>">'||chr(13));
text_io.putf(dst_file, '<body srcType="text">'||chr(13));
text_io.putf(dst_file,'<![CDATA>'||chr(13));
text_io.putf(dst_file, '</body>'||chr(13));
text_io.putf(dst_file, '<foreach>'||chr(13));
text_io.putf(dst_file, '<attach format="pdf" name="report.pdf" srcType="report" instance="all">'||chr(13));
text_io.putf(dst_file, '<include src="mainSection"/>'||chr(13));
text_io.putf(dst_file, '</attach>'||chr(13));
text_io.putf(dst_file, '</foreach>'||chr(13));
text_io.putf(dst_file, '</mail>'||chr(13));
text_io.putf(dst_file, '</destinations>'||chr(13));
text_io.fclose(dst_file);
return (TRUE);
end;
Then after compilation i click the button send. Then i got the message as
Mail has been sent to [email protected].
But i didn't receive any mail.
then i check the report job id. It was showing job was successful .
And i check whether the test.xml file was created or not. It has created the test.xml file as below:
<destinations>
<mail id="ex1"
from="&P_FROM"
to="&P_SEND"
cc="&P_CC"
subject="&<P_NUM>">
<body srcType="text">
<![CDATA Please refer to the attached abc Report]>
</body>
<foreach>
<attach format="pdf" name="report.pdf" srcType="report" instance="all">
<include src="mainSection"/>
</attach>
</foreach>
</mail>
</destinations>
I have 2 machines having dev 10g. one machine is working fine with this code. but in my machine it was not working.
Do any one of you had a solution for my case.
Thanks in advance.
Edited by: user648380 on Dec 29, 2009 5:59 PMSorry to all.
I made a mistake in the from email address.
Instead of gmail.com i had given gmail,com
I am really sorry about it. -
Hi,
I am using CRM ONLINE 2013.
How to automate below process?
1. On Approval Of Quotation, Run Report.
2. Generate PDF.
3. Send an Email With PDF as attachment.
As i have gone through many forums for this topic, but creating a plugin code for generating Report PDF is not possible in CRM ONLINE.
So, What is the alternate way to do this..?
Thanks.This is my entire code mentioned below:-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script type="text/javascript">
if (typeof (SDK) == "undefined")
{ SDK = { __namespace: true }; }
SDK.JScriptRESTDataOperations = {
_context: function () {
if (typeof GetGlobalContext != "undefined")
{ return GetGlobalContext(); }
else {
if (typeof Xrm != "undefined") {
return Xrm.Page.context;
else { return new Error("Context is not available."); }
_getServerUrl: function () {
var serverUrl = this._context().getServerUrl()
if (serverUrl.match(/\/$/)) {
serverUrl = serverUrl.substring(0, serverUrl.length - 1);
return serverUrl;
_ODataPath: function () {
return this._getServerUrl() + "/XRMServices/2011/OrganizationData.svc/";
_errorHandler: function (req) {
return new Error("Error : " +
req.status + ": " +
req.statusText + ": " +
JSON.parse(req.responseText).error.message.value);
_dateReviver: function (key, value) {
var a;
if (typeof value === 'string') {
a = /Date\(([-+]?\d+)\)/.exec(value);
if (a) {
return new Date(parseInt(value.replace("/Date(", "").replace(")/", ""), 10));
return value;
Create: function (object, type, successCallback, errorCallback) {
var req = new XMLHttpRequest();
req.open("POST", this._ODataPath() + type + "Set", true);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.onreadystatechange = function () {
if (this.readyState == 4 /* complete */) {
if (this.status == 201) {
successCallback(JSON.parse(this.responseText, SDK.JScriptRESTDataOperations._dateReviver).d);
else {
errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
req.send(JSON.stringify(object));
Retrieve: function (id, type, successCallback, errorCallback) {
var req = new XMLHttpRequest();
req.open("GET", this._ODataPath() + type + "Set(guid'" + id + "')", true);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.onreadystatechange = function () {
if (this.readyState == 4 /* complete */) {
if (this.status == 200) {
successCallback(JSON.parse(this.responseText, SDK.JScriptRESTDataOperations._dateReviver).d);
else {
errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
req.send();
Update: function (id, object, type, successCallback, errorCallback) {
var req = new XMLHttpRequest();
req.open("POST", this._ODataPath() + type + "Set(guid'" + id + "')", true);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.setRequestHeader("X-HTTP-Method", "MERGE");
req.onreadystatechange = function () {
if (this.readyState == 4 /* complete */) {
if (this.status == 204 || this.status == 1223) {
successCallback();
else {
errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
req.send(JSON.stringify(object));
Delete: function (id, type, successCallback, errorCallback) {
var req = new XMLHttpRequest();
req.open("POST", this._ODataPath() + type + "Set(guid'" + id + "')", true);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.setRequestHeader("X-HTTP-Method", "DELETE");
req.onreadystatechange = function () {
if (this.readyState == 4 /* complete */) {
if (this.status == 204 || this.status == 1223) {
successCallback();
else {
errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
req.send();
RetrieveMultiple: function (type, filter, successCallback, errorCallback) {
if (filter != null) {
filter = "?" + filter;
else { filter = ""; }
var req = new XMLHttpRequest();
req.open("GET", this._ODataPath() + type + "Set" + filter, true);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.onreadystatechange = function () {
if (this.readyState == 4 /* complete */) {
if (this.status == 200) {
successCallback(JSON.parse(this.responseText, SDK.JScriptRESTDataOperations._dateReviver).d.results);
else {
errorCallback(SDK.JScriptRESTDataOperations._errorHandler(this));
req.send();
__namespace: true
</script>
<script type="text/javascript">
//Create Email and link it with Order as Regarding field
var Xrm;
var email = new Object();
var ownerID = "";
var CustomerId = "";
if (window.opener) { Xrm = window.opener.Xrm; }
else if (window.parent) { Xrm = window.parent.Xrm; }
//Get ownerid who send email of quotation to customer
function GetOwnerID() {
var owner = Xrm.Page.getAttribute("ownerid").getValue();
ownerID = owner[0].id;
var ownerName = owner[0].name;
var entityType = owner[0].entityType;
GetToEmailGUID();
//Get customerid who receive email of quotation from owner
function GetToEmailGUID() {
var Customer = Xrm.Page.getAttribute('customerid').getValue();
CustomerId = Customer[0].id;
var CustomerName = Customer[0].name;
var entityType = Customer[0].entityType;
//if CustomerId is type of "Account" then get Primary Contact id of that account
if (entityType == "account") {
var contact = Xrm.Page.getAttribute("customerid").getValue();
if (contact === null) return;
var serverUrl = Xrm.Page.context.getClientUrl();
var oDataSelect = serverUrl + "/XRMServices/2011/OrganizationData.svc/AccountSet(guid'" + contact[0].id + "')?$select=PrimaryContactId";
var req = new XMLHttpRequest();
req.open("GET", oDataSelect, false);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json;charset=utf-8");
req.onreadystatechange = function () {
if (req.readyState === 4) {
if (req.status === 200) {
var retrieved = JSON.parse(req.responseText).d;
CustomerId = retrieved.PrimaryContactId.Id;
else {
alert(this.statusText);
req.send();
function CreateEmail() {
GetOwnerID();
email.Subject = "Email with Report Attachment";
//Set The current order as the Regarding object
email.RegardingObjectId = {
Id: Xrm.Page.data.entity.getId(), //Get the current entity Id , here OrderId
LogicalName: Xrm.Page.data.entity.getEntityName()//Get the current entity name, here it will be “salesOrder”
//Create Email Activity
SDK.JScriptRESTDataOperations.Create(email, "Email", EmailCallBack, function (error) { alert(error.message); });
// Email Call Back function
function EmailCallBack(result) {
email = result; // Set the email to result to use it later in email attachment for retrieving activity Id
var activityPartyFrom = new Object();
// Set the From party of the ActivityParty to relate an entity with Email From field
activityPartyFrom.PartyId = {
Id: CustomerId, //"79EBDD26-FDBE-E311-8986-D89D6765B238", // id of entity you want to associate this activity with.
LogicalName: "contact"
// Set the "activity" of the ActivityParty
activityPartyFrom.ActivityId = {
Id: result.ActivityId,
LogicalName: "email"
// Now set the participation type that describes the role of the party on the activity).
activityPartyFrom.ParticipationTypeMask = { Value: 2 }; // 2 means ToRecipients
// Create the from ActivityParty for the email
SDK.JScriptRESTDataOperations.Create(activityPartyFrom, "ActivityParty", ActivityPartyFromCallBack, function (error) { alert(error.message); });
var activityPartyTo = new Object();
// Set the From party of the ActivityParty to relate an entity with Email From field
activityPartyTo.PartyId = {
Id: ownerID, //"79EBDD26-FDBE-E311-8986-D89D6765B238", // id of entity you want to associate this activity with.
LogicalName: "systemuser"
// Set the "activity" of the ActivityParty
activityPartyTo.ActivityId = {
Id: result.ActivityId,
LogicalName: "email"
// Now set the participation type that describes the role of the party on the activity).
activityPartyTo.ParticipationTypeMask = { Value: 1 }; // 1 means Sender
// Create the from ActivityParty
SDK.JScriptRESTDataOperations.Create(activityPartyTo, "ActivityParty", ActivityPartyToCallBack, function (error) { alert(error.message); });
//ActivityParty From Callback
function ActivityPartyFromCallBack(result) {
//ActivityParty To Callback
function ActivityPartyToCallBack(result) {
GetReportId('ABM_Infotech_SalesQuote');
//Create attachment for the created email
function CreateEmailAttachment() {
//get reporting session and use the params to convert a report in PDF
var params = getReportingSession();
//Email attachment parameters
var activitymimeattachment = Object();
activitymimeattachment.ObjectId = Object();
activitymimeattachment.ObjectId.LogicalName = "email";
activitymimeattachment.ObjectId.Id = email.ActivityId;
activitymimeattachment.ObjectTypeCode = "email",
activitymimeattachment.Subject = "File Attachment";
activitymimeattachment.Body = encodePdf(params);
activitymimeattachment.FileName = "Report1.pdf";
activitymimeattachment.MimeType = "application/pdf";
//Attachment call
SDK.JScriptRESTDataOperations.Create(activitymimeattachment, "ActivityMimeAttachment", ActivityMimeAttachmentCallBack, function (error) { alert(error.message); });
//ActivityMimeAttachment CallBack function
function ActivityMimeAttachmentCallBack(result) {
var features = "location=no,menubar=no,status=no,toolbar=no,resizable=yes";
var width = "800px";
var height = "600px";
window.open(Xrm.Page.context.getServerUrl() + "main.aspx?etc=" + 4202 + "&pagetype=entityrecord&id=" + email.ActivityId, "_blank", features);
// To open window which works in outlook and IE both
//openStdWin(Xrm.Page.context.getServerUrl() + "main.aspx?etc=" + 4202 + "&pagetype=entityrecord&id=" + email.ActivityId, "_blank", width,
height, features);
//This method will get the reportId based on a report name that will be used in getReportingSession() function
function GetReportId(reportName) {
var oDataSetName = "ReportSet";
var columns = "ReportId";
var filter = "Name eq '" + reportName + "'";
retrieveMultiple(oDataSetName, columns, filter, onSuccess);
function retrieveMultiple(odataSetName, select, filter, successCallback) {
var serverUrl = Xrm.Page.context.getServerUrl();
var ODATA_ENDPOINT = "/XRMServices/2011/OrganizationData.svc";
var odataUri = serverUrl + ODATA_ENDPOINT + "/" + odataSetName + "?";
if (select) {
odataUri += "$select=" + select + "&";
if (filter) {
odataUri += "$filter=" + filter;
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
datatype: "json",
url: odataUri,
beforeSend: function (XMLHttpRequest) {
XMLHttpRequest.setRequestHeader("Accept", "application/json");
success: function (data) {
if (successCallback) {
if (data && data.d && data.d.results) {
successCallback(data.d.results);
else if (data && data.d) {
successCallback(data.d);
else {
successCallback(data);
error: function (XmlHttpRequest, errorThrown) {
if (XmlHttpRequest && XmlHttpRequest.responseText) {
alert("Error while retrieval ; Error – " + XmlHttpRequest.responseText);
function onSuccess(data) {
reportId = data[0].ReportId.replace('{', ").replace('}', ");
CreateEmailAttachment(); // Create Email Attachment
//Gets the report contents
function getReportingSession() {
var pth = Xrm.Page.context.getServerUrl() + "/CRMReports/rsviewer/reportviewer.aspx";
var retrieveEntityReq = new XMLHttpRequest();
var Id = Xrm.Page.data.entity.getId();
var quotationGUID = Id.replace('{', ""); //set this to selected quotation GUID
quotationGUID = quotationGUID.replace('}', "");
var reportName = "ABM_Infotech_SalesQuote"; //set this to the report you are trying to download
var reportID = "751089AA-74B8-E211-B52F-D8D3855B253B"; //set this to the guid of the report you are trying to download
var rptPathString = ""; //set this to the CRMF_Filtered parameter
var strParameterXML = "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'><entity name='quote'><all-attributes /><filter type='and'><condition
attribute='quoteid' operator='eq' uitype='quote' value='" + quotationGUID + "' /> </filter></entity></fetch>";
retrieveEntityReq.open("POST", pth, false);
retrieveEntityReq.setRequestHeader("Accept", "*/*");
retrieveEntityReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
rptPathString = "id=%7B" + reportID + "%7D&uniquename=" + Xrm.Page.context.getOrgUniqueName() + "&iscustomreport=true&reportnameonsrs=&reportName="
+
reportName + "&isScheduledReport=false&p:ABMFilteredQuote=" + strParameterXML;
//remove the part starting from &p:salesorderid if your report has no parameters
retrieveEntityReq.send(rptPathString);
var x = retrieveEntityReq.responseText.indexOf("ReportSession=");
var ret = new Array();
ret[0] = retrieveEntityReq.responseText.substr(x + 14, retrieveEntityReq.responseText.indexOf("&", x) - x - 14); //the session id
x = retrieveEntityReq.responseText.indexOf("ControlID=");
ret[1] = retrieveEntityReq.responseText.substr(x + 10, retrieveEntityReq.responseText.indexOf("&", x) - x - 10); //the control id
return ret;
var bdy = new Array();
var bdyLen = 0;
function concat2Bdy(x) {
bdy[bdyLen] = x;
bdyLen++;
function encodePdf(params) {
bdy = new Array();
bdyLen = 0;
var retrieveEntityReq = new XMLHttpRequest();
var pth = Xrm.Page.context.getServerUrl() + "/Reserved.ReportViewerWebControl.axd?ReportSession=" + params[0] +
"&Culture=1033&CultureOverrides=True&UICulture=1033&UICultureOverrides=True&ReportStack=1&ControlID=" + params[1] +
"&OpType=Export&FileName=Public&ContentDisposition=OnlyHtmlInline&Format=PDF";
retrieveEntityReq.open("GET", pth, false);
retrieveEntityReq.setRequestHeader("Accept", "*/*");
retrieveEntityReq.send();
BinaryToArray(retrieveEntityReq.responseBody);
return encode64(bdy);
var StringMaker = function () {
this.parts = [];
this.length = 0;
this.append = function (s) {
this.parts.push(s);
this.length += s.length;
this.prepend = function (s) {
this.parts.unshift(s);
this.length += s.length;
this.toString = function () {
return this.parts.join('');
var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
function encode64(input) {
var output = new StringMaker();
var chr1, chr2, chr3;
var enc1, enc2, enc3, enc4;
var i = 0;
while (i < input.length) {
chr1 = input[i++];
chr2 = input[i++];
chr3 = input[i++];
enc1 = chr1 >> 2;
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
enc4 = chr3 & 63;
if (isNaN(chr2)) {
enc3 = enc4 = 64;
} else if (isNaN(chr3)) {
enc4 = 64;
output.append(keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4));
return output.toString();
</script>
<script type="text/vbscript">
Function BinaryToArray(Binary)
Dim i
ReDim byteArray(LenB(Binary))
For i = 1 To LenB(Binary)
byteArray(i-1) = AscB(MidB(Binary, i, 1))
concat2Bdy(AscB(MidB(Binary, i, 1)))
Next
BinaryToArray = byteArray
End Function
</script>
</head>
<body>
<input type="button" onclick="CreateEmail();" value="Attach Report" />
</body>
</html> -
Sending an email when the report is being refreshed
Hi All,
Is it possible, in Answers, to send an email automatically when a report is being refreshed ?
Thanks in advance,
LauYou can do this multiple ways, As you mentioned using conditional ibot also. You should have flag or indicator in your database saying that ETL load was done. Then based on conditional request run a ibot. But the trick is after completing this ibot you need to turn of the flag.
Other easiest way is Create a report which runs ibot, Make sure you checked Oracle BI Server Cache feed check box, save the ibot. At the end of ETL execute a command which runs the ibot job for you. There is a command mode application available in Oracle BI called SASchInvoke.exe. This application will run the ibot for you.
here is the blog which explains more about it.
http://oraclebizint.wordpress.com/2008/03/06/oracle-bi-ee-101332-integrating-schedulerdelivers-into-other-applications/
- Madan -
Send an email to a mail box when generate a xml publisher report in R12
Dears,
I faced a tough problem about xml publisher, there is a user's requirement, they want to send an email to a common mail box after user run the xml publisher report in EBS R12 instance, and they can check the report in mail box, I have not met any reuqirement like this before, so anybody has the experience about this? and please kindly share it with me, thanks a lot.
It seems I need upload the rtf file or xml file to a directory and then system will send the mail automaticlly, but I do not know the detail information.
Best Regards
SparkHi Spark;
Please check below thread which could be helpful for your issue:
Concurrent Request Output via email
Re: concurrent ouput to email
Regard
Helios
Maybe you are looking for
-
Aple tv no longer showing up in iTunes
Anyone know why my 1st generation AppleTV's (2) are no longer showing up in itunes? I used to be able to see them and could tell when they are syncing. Now they no longer dowload content either. Thanks!
-
i NEED HELP!
-
Breaking up of, One IDoc to many IDocs & combing Many IDocs into one IDoc?
Does anybody have any sample code of: Splitting an IDoc into multiple IDocs and Combining many similar IDocs into one IDoc Any pointers will be appreciated. Regards Mahesh
-
What is username and password for sqlplus?
For oracle8.1.7: I tried using the following username/password to open sqlplus,but all failed: system/manager internal/oracle scott/tiger The error message is:ORA-12560 Please help me!!! Thanks!
-
Doubts about use of REPORTS_SERVERMAP with Forms11g HA
Hi, I'm configuring a Linux 64bits Forms/Reports 11g HA environment, the point is that i have two nodes, each one with its Forms and Reports servers, let's say FormsA and ReportsA for the first node and FormsB and ReportsB for the seconde node. i wan