Send vars to fdf -- pdf
How do I send vars to a PDF file i built using Adobe Designer
7? I had a great CF script i would use to send to my old Pdf files
building an fdf file but that doesnt seem to work with these
designer 7 publications. Is it because its all XML?
Ill include my old script maybe i can modify it =) Thanks for
any help.
<cfcontent type="application/vnd.fdf">
<cfoutput>%FDF-1.2
1 0 obj <<
/FDF <<
/Fields
</cfoutput>
<cfloop collection=#VarStruct# item="VarName">
<cfif '#VarName#' neq 'PDFURL'>
<cfoutput> << /T (#VarName#) /V
(#Evaluate("VarStruct.#VarName#")#)>>
</cfoutput>
</cfif>
</cfloop>
<cfoutput> ]
/F
(#siteRoot#v#Session.versionID#/contact/forms/acord/#VarStruct.PDFURL#)
>>
>>
endobj
trailer
<</Root 1 0 R>>
%%EOF
</cfoutput>
I have modified the above using the xfdf Draft Arc Document
however i am having difficulty bringing it up due to an XML parsing
error. Here is my modified code.
<cfcontent type="application/vnd.adobe.xfdf">
<cfoutput>
<?xml version="1.0" encoding="UTF-8"?>
<xfdf xmlns="
http://ns.adobe.com/xfdf/"
xml:space="preserve">
<f
href="#siteRoot#v#Session.versionID#/contact/forms/acord/#VarStruct.PDFURL#"/>
<ids original="7A0631678ED475F0898815F0A818CFA1"
modified="BEF7724317B311718E8675B677EF9B4E"/>
<fields>
<cfloop collection=#VarStruct# item="VarName">
<field name="#VarName#">
<value>#Evaluate("VarStruct.#VarName#")#</value>
</field>
</cfloop>
</fields>
</xfdf>
</cfoutput>
Is there something wrong with using that cfcontect
type?
Similar Messages
-
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> -
How to send a picture in pdf file when it is in jpeg file
how do I send an attachment in PDF file when it is now in jpeg file. I want to send this attachment in an email.
Hi,
Please convert your JPEG files to PDF file using "Convert to PDF" tool at https://createpdf.acrobat.com/signin.html or Adobe Reader X or Reader XI(using Tools >CreatePDF).
After converting the file please download it to your computer then attach it in your email.
Thank you.
Hisami -
I can't use thunderbird 31.2.0 to send attachement from a pdf file with Acrobat PRO XI
I can't use thunderbird 31.2.0 (Mozilla) to send attachement from a pdf file with Acrobat PRO XI. Each time, Acrobat replies (in french) : "il n'y a pas de client pour la messagerie par défaut". Thunderbird is indicated as "by default" in the list of programs of Windows.
Even if I type my e-mail address, etc. in the account of Acrobat, it doesn't change. Each time, I have to record a PDF file in a folder and return to Thunderbird to send it as attached. It is a too long process, compared with Windows XP with Acrobat Reader or Acrobat 5, I had before.
Would you please help me to explain the process. My OS is Windows 8.1.
Thank youThank you for your answer.
What i want to do : to send PDF files as attached documents in a message
generated by thunderbird by my e-mail address [email protected] or
another one I have.
When I introduce my e-mail address under Edit-Preferences-Email
Accounts, Acrobat ask the e-mail account, the password, the IMAP for
ingoing message (and I use POP) and SMTP for outgoing messages. Even I
introduce all the datas, it doesn't change, Acrobat is unable to send
the message. And the process is not convenient, because I need all my
outgoing messages be documented inside Thunderbird.
So, I repeat my request : how can I use thenderbird as program by
default from Acrobat or any other software ?
Thank you for your next message.
Jean-Luc Rongé
Le 21-10-14 14:24, ANAND8502 a écrit :
>
I can't use thunderbird 31.2.0 to send attachement from a pdf
file with Acrobat PRO XI
created by ANAND8502 <https://forums.adobe.com/people/ANAND8502> in
/Acrobat Installation & Update Issues/ - View the full discussion
<https://forums.adobe.com/message/6850947#6850947> -
How to send a mail with PDF attachment
Hello
Good Day!
We have a requirement to send the mail with pdf attachment. Pdf file will be remain same for all mails and it will be placed at server. We are on R12.4 and below is the database information :
BANNER
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for Linux: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production
Thanks a ton for your anticipated help!
Thanks
GauravThe word URGENT is considered as rude in this forum.. Nobody here is getting paid for the ansers they are giving..
Just have a look at These threads.Those will help you. -
How to send a mail in pdf format file in sbwp??
how to send a mail in pdf format file in sbwp?? and how to read the content of the mail?
Refer the following link for Sample Program:
http://www.sapdevelopment.co.uk/reporting/rep_spooltopdf.htm -
Function Module to send a mail in PDF/ XLS format
Can you please tell me the name of a function module where a mail to be send in a non-sap box. And then mail which will be send is in a PDF/ XLS format.
Regards,
SubhasishHi Subhasish,
These are the FM for sending external email :-
SO_DOCUMENT_SEND_API1
SAPoffice: Send new document with attachments via RFC
SO_NEW_DOCUMENT_ATT_SEND_API1
(In 4.6C only, You can go to SE37 and click the documentation on how to use it. A sample program is provided there.)
SAPoffice: Send new document with attachments via RFC
Note : If you are using FM SO_NEW_DOCUMENT_ATT_SEND_API1 then Export Parameter DOCUMENT_DATA-OBJ_DESCR contains the Subject.
SO_NEW_DOCUMENT_SEND_API1
SAPoffice: Send new document
How to send a report to an external mail-id?
Try this sample code :-
REPORT ZREPORT_TO_EMAIL NO STANDARD PAGE HEADING LINE-SIZE 200.
DATA : BEGIN OF ITAB OCCURS 0,
PERNR LIKE PA0001-PERNR,
ENAME LIKE PA0001-ENAME,
END OF ITAB.
DATA: message_content LIKE soli OCCURS 10 WITH HEADER LINE,
receiver_list LIKE soos1 OCCURS 5 WITH HEADER LINE,
packing_list LIKE soxpl OCCURS 2 WITH HEADER LINE,
listobject LIKE abaplist OCCURS 10,
compressed_attachment LIKE soli OCCURS 100 WITH HEADER LINE,
w_object_hd_change LIKE sood1,
compressed_size LIKE sy-index.
START-OF-SELECTION.
SELECT PERNR ENAME
INTO CORRESPONDING FIELDS OF TABLE ITAB
FROM PA0001
WHERE PERNR < 50.
LOOP AT ITAB.
WRITE :/02 SY-VLINE , ITAB-PERNR, 15 SY-VLINE , ITAB-ENAME, 50
SY-VLINE.
ENDLOOP.
Receivers
receiver_list-recextnam = '[email protected]'. "-->
EMAIL ADDRESS
RECEIVER_list-RECESC = 'E'. "<-
RECEIVER_list-SNDART = 'INT'."<-
RECEIVER_list-SNDPRI = '1'."<-
APPEND receiver_list.
General data
w_object_hd_change-objla = sy-langu.
w_object_hd_change-objnam = 'Object name'.
w_object_hd_change-objsns = 'P'.
Mail subject
w_object_hd_change-objdes = 'Message subject'.
Mail body
APPEND 'Message content' TO message_content.
Attachment
CALL FUNCTION 'SAVE_LIST'
EXPORTING
list_index = '0'
TABLES
listobject = listobject.
CALL FUNCTION 'TABLE_COMPRESS'
IMPORTING
compressed_size = compressed_size
TABLES
in = listobject
out = compressed_attachment.
DESCRIBE TABLE compressed_attachment.
CLEAR packing_list.
packing_list-transf_bin = 'X'.
packing_list-head_start = 0.
packing_list-head_num = 0.
packing_list-body_start = 1.
packing_list-body_num = sy-tfill.
packing_list-objtp = 'ALI'.
packing_list-objnam = 'Object name'.
packing_list-objdes = 'Attachment description'.
packing_list-objlen = compressed_size.
APPEND packing_list.
CALL FUNCTION 'SO_OBJECT_SEND'
EXPORTING
object_hd_change = w_object_hd_change
object_type = 'RAW'
owner = sy-uname
TABLES
objcont = message_content
receivers = receiver_list
packing_list = packing_list
att_cont = compressed_attachment.
Reward points if useful..
Regards,
Goutham. -
How to send the output to PDF format in reports 6i?
Hi,
How to send the output to PDF format in reports 6i? I given Mode = BITMAP.
DESTYPE = File, DESFORMAT = PDF, DESNAME = C:\x.pdf.
Report is running fine. But PDF file not generated. I don't know what i missed. Any one can help this?
Thanks
KavithaHello,
Do you get this problem only for DESFORMAT=PDF ?
Test with :
DESFORMAT = RTF, DESNAME = C:\x.rtf
or
DESFORMAT = HTMLCSS, DESNAME = C:\x.html
does it work ?
Check if DESNAME is modified in the reports itself.
Regards -
How can scripts and smart forms send to mail and pdf?
HI i want to know how script and smartforms will send to mail and pdf formates>?
Dear Anees ,
Pleas pass on the parameter in itcpo - (getotf ) structure while calling OPEN_FORM as 'X' .
I have answered it in detail in your earlier post .
also giving below sample program for sending SAPSCRIPT as PDFattachment in email :
REPORT zsapscript_pdf_via_mail MESSAGE-ID zvele LINE-SIZE 68
NO STANDARD PAGE HEADING.
TABLES: itcpo.
Open your usual sapscript specifying that the output will be OTF
itcpo-tdgetotf = 'X'.
CALL FUNCTION 'OPEN_FORM'
EXPORTING
device = 'PRINTER'
dialog = ''
form = '............'
language = sy-langu
options = itcpo
EXCEPTIONS
canceled = 1
device = 2
form = 3
options = 4
unclosed = 5
OTHERS = 6.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
window = '............'
element = '............'
EXCEPTIONS
window = 1
element = 2.
DATA: BEGIN OF t_otfdata OCCURS 0.
INCLUDE STRUCTURE itcoo.
DATA: END OF t_otfdata.
Closing the Sapscript, we save data (OTF) in a table
CALL FUNCTION 'CLOSE_FORM'
TABLES
otfdata = t_otfdata
EXCEPTIONS
unopened = 1
bad_pageformat_for_print = 2
send_error = 3
spool_error = 4
OTHERS = 5.
DATA: len_in LIKE sood-objlen,
len_out LIKE sood-objlen.
DATA: BEGIN OF t_pdfdata OCCURS 0.
INCLUDE STRUCTURE solisti1.
DATA: END OF t_pdfdata.
DATA: BEGIN OF t_otfdata2 OCCURS 0.
INCLUDE STRUCTURE solisti1.
DATA: END OF t_otfdata2.
Move OTF data to another table with lenght 255
LOOP AT t_otfdata.
CONCATENATE t_otfdata-tdprintcom t_otfdata-tdprintpar INTO t_otfdata2.
APPEND t_otfdata2.
ENDLOOP.
Convert OTF format to PDF
CALL FUNCTION 'SX_OBJECT_CONVERT_OTF_PDF'
EXPORTING
format_src = 'OTF'
format_dst = 'PDF'
devtype = 'PRINTER'
FUNCPARA =
len_in = len_in
IMPORTING
len_out = len_out
TABLES
content_in = t_otfdata2
content_out = t_pdfdata
EXCEPTIONS
err_conv_failed = 1
OTHERS = 2.
Download on local directory
*CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
BIN_FILESIZE = len_out
FILENAME = 'c:\test.pdf'
FILETYPE = 'BIN'
TABLES
data_tab = t_pdfdata.
Mail settings
DATA: objpack LIKE sopcklsti1 OCCURS 2 WITH HEADER LINE.
DATA: objhead LIKE solisti1 OCCURS 1 WITH HEADER LINE.
DATA: objbin LIKE solisti1 OCCURS 10 WITH HEADER LINE.
DATA: objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE.
DATA: reclist LIKE somlreci1 OCCURS 5 WITH HEADER LINe.
DATA: doc_chng LIKE sodocchgi1.
DATA righe_attachment TYPE i.
DATA righe_testo TYPE i.
DATA z_email(80) TYPE c.
Receivers parameters
SELECT-OPTIONS: s_email FOR z_email LOWER CASE NO INTERVALS.
PARAMETERS rec_type LIKE reclist-rec_type
DEFAULT 'U'. " type of sending address
CLEAR: reclist, reclist[],
objhead, objhead[],
objtxt, objtxt[],
objbin, objbin[],
objpack, objpack[].
Attachment filling
LOOP AT t_pdfdata.
objbin-line = t_pdfdata.
APPEND objbin.
ENDLOOP.
DESCRIBE TABLE objbin LINES righe_attachment.
Text filling
objtxt = 'Testo della Mail - Riga 1'.APPEND objtxt.
objtxt = 'Testo della Mail - Riga 2'.APPEND objtxt.
objtxt = 'Testo della Mail - Riga n'.APPEND objtxt.
DESCRIBE TABLE objtxt LINES righe_testo.
Other filling
doc_chng-obj_name = 'URGENT'.
doc_chng-expiry_dat = sy-datum + 10.
doc_chng-obj_descr = 'Prova invio Mail con PDF'.
doc_chng-sensitivty = 'O'.
doc_chng-doc_size = righe_testo * 255.
CLEAR objpack-transf_bin.
objpack-head_start = 1.
objpack-head_num = 0.
objpack-body_start = 1.
objpack-body_num = righe_testo.
objpack-doc_type = 'RAW'.
APPEND objpack.
objpack-transf_bin = 'X'.
objpack-head_start = 1.
objpack-head_num = 1.
objpack-body_start = 1.
objpack-body_num = righe_attachment.
objpack-doc_type = 'PDF'.
objpack-obj_name = 'TEST'.
objpack-obj_descr = 'File.pdf'.
objpack-doc_size = righe_attachment * 255.
APPEND objpack.
Receivers filling
LOOP AT s_email WHERE sign = 'I'
AND option = 'EQ'
AND NOT ( low IS initial ).
CLEAR reclist.
IF sy-tabix > 1.
reclist-copy = 'X'.
ENDIF.
reclist-receiver = s_email-low.
IF rec_type IS INITIAL.
reclist-rec_type = 'U'. " Internet e-mail
ELSE.
reclist-rec_type = rec_type.
ENDIF.
reclist-notif_del = 'X'. " request delivery notification
reclist-notif_ndel = 'X'. " request not delivered notification
APPEND reclist.
ENDLOOP.
Mail Send
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = doc_chng
put_in_outbox = 'X'
IMPORTING
SENT_TO_ALL =
NEW_OBJECT_ID =
TABLES
packing_list = objpack
object_header = objhead
contents_bin = objbin
contents_txt = objtxt
OBJECT_PARA =
OBJECT_PARB =
receivers = reclist
CONTENTS_HEX =
EXCEPTIONS
too_many_receivers = 1
document_not_sent = 2
document_type_not_exist = 3
operation_no_authorization = 4
parameter_error = 5
x_error = 6
enqueue_error = 7 -
How do I send part of a pdf?
I have the Adobe reader, but not Acrobat. How do I send part of a pdf file that I have to someone else? I tried copying and pasting the excerpt into a Microsoft Word document but when I do this the text prints out blurry. Thanks in advance for any advice!
Copy and paste will work with text, but you can loose formatting.
Graphics will not necessarily go over either.
On a Mac, you can use Reader or Preview and print to pdf the part of the
pdf you want. It won't be the same as the original, but it will be
close. On a PC (and on some Macs) you can fax the pages of interest.
Some fax drivers will allow you to save the Fax as a TIFF and you can
send that via the internet.
You can also, print to paper the pages of interest.
Place paper in an envelope.
Add address and stamp.
Drop in post box.
Mike -
To send the Payload as PDF Attachment in mail in PI 7.1
Hi All,
I have to send a file as PDF attachment using a mail adapter. I gave the Content_Type as 'application.pdf'. I am receiving the mail, but I am unable to open the PDF. It says 'Could not open because the type is not supported or unable to decode'. How do I resolve this?
Thanks,
GeethaHi,
You need to perform the conversion usign the PayloadSwapBean in the Module tab.
Please refer to the following link
/people/sravya.talanki2/blog/2006/11/28/e-mail-xml-messages-in-pdf-format-from-sap-xi
http://help.sap.com/saphelp_nw04/helpdata/en/2e/bf37423cf7ab04e10000000a1550b0/frameset.htm
http://help.sap.com/saphelp_nw70ehp1/helpdata/en/cd/5af7c0c994e24fb0d0088443513de2/content.htm
http://help.sap.com/saphelp_nw70ehp1/helpdata/en/57/0b2c4142aef623e10000000a155106/frameset.htm
hope this helps,
Regards,
Bhanu
Edited by: nanduri bhanu on May 21, 2009 5:21 AM -
With Forms Central can I set up a form to send out an automatic PDF document like a quote?
With Forms Central can I set up a form to send out an automatic PDF document like a quote? In other words when my customer fills out the form and puts their email address on the form it automatically sends them a PDF quote on a piece of merchandise that I have. If not is Form Central compatible with Web Merge?
Hi;
At this time FormsCentral does not have the ability to send the PDF in the "Email Reciept", you can set up Email Reciepts to send the form filler a reciept with the form data, but it does not attach a PDF of the form.
FormsCentral is not compatible with Web Merge.
Thanks,
Josh -
my phone has been changed under warranty by the apple store in germany.
ı need a change document to register the phone in my country again.
ımeı numbers of old and new must be in the document.you can send an mail in pdf format
as soon as possible please.
your's respectfully.
new phone serial no:DQ******TC0
old phone serial no:DN*******T9Y
Product:
iPhone 4S
Serial Number:
DN*******T9Y
Service Requested:
December 3, 2012
Status:
Repair Complete
<Edited by Host>No we cannot send it to you because we are users just like you and Apple does not monitor these forums.
But you can find the IMEI numbers yourself. Read the ENTIRE article:
http://support.apple.com/kb/HT4061 -
Send XSTRING as a PDF attchament in Email
Dear Experts,
I have RFC which is retuning XSTRING as a PDF, by converting XSTRING to Sttring i'm able to display the PDF on portal
Now my requirement is to send the PDF in attached email, can any one help me out how to send XSTRING data(Formally PDF) in attachement email.
Thanks for you help.
Thanks
ABGot the soluation...By convering Xstign to Byte
Byte [] a = RFC return Xstring context attributes.();
Thanks -
HT1355 How to send 2 or more pdf files in e mail
How to send 2 or more pdf files in e mail...????????
Also i have a workspace created in html.oracle.com in that when i want to upload excel file or copy data from excel i am getting error as......
ORA-20001: create_table error: ORA-20001: Excel load run ddl error: ORA-01658: unable to create INITIAL extent for segment in tablespace FLOW_6868Looks like the data you're trying to load will exceed your workspace quota (2MB small, 5MB medium). Try loading fewer rows.
Maybe you are looking for
-
Hello, The Hard Drive failed and I purchased a new one. Purchaed recovery (DVD) disks. Have tried twice to recover and in each occuance recieved the error recoevery Failed. How do I create a PIN-log [13:18:01.07] -------------------------------------
-
Old, deleted e-mails in mail app rise from the dead...
I decided to change from hotmail to gmail because I thought it would sync and work well with the Mail app. - Guess not. Over the past week I've discovered several problems. Firstly, any incoming e-mails are in two different folders. They are under "I
-
Settlements from revenues/debit-side down payments to receiver fixed asset
Hi while settling the WBS to AUC i am getting the below error settlements from revenues/debit-side down payments to receiver fixed asset is not allowed please advise how to resolve the issue Thanks Rao...
-
Backup_restore problem with sapdb
Hello, i'm searching a way to backup my sapdb of my content server. And I'm using dbmcli at the moment. so i made 2 backup_media stores with the following instruction <i>dbmcli -d SDB -u superdba,admin backup_media_put datafiles J:\Backup_content\da
-
Photo booth freezes and closes
Every time i open photo booth it just freezes, it doesn't do nothing for 3-4 seconds. Then it force quits. Is there any way to fix it? :/ The camera is responsive because it works with Skype and iChat.