c# pdf : Add hyperlink to pdf control Library system web page asp.net html console 9781849684880_Chapter_111-part1967

Sending E-mail Using BCS Classes
192
Sending e-mail to Internet e-mail addresses
In this recipe, we will see how we can modify the existing program so that, instead of 
the SAP user, we can send the same e-mail to an Internet address. We will make a copy 
of the same program and add additional code. The class that is to be used, in this case, 
is cl_bcs_cam_address (instead of the cl_sapuser_bcs class). The method 
create_internet_address will be used for creating Internet user addresses.
How to do it...
We will now see the changes we need to make to the given program:
1.  Instead of the myrecipient object reference being based upon the class 
cl_sapuser_bcs, we will use the class cl_cam_address_bcs.
2.  Next, we will call the method create_internet_address of the 
cl_cam_addess_bcs class for creating an e-mail address.
3.  We may remove the i_express parameter assignment from the add_recipient 
method call of the cl_bcs class (since the e-mail is going to an e-mail address 
outside the SAP system, pop-up express messages are irrelevant).
4.  Next we defi ne a reference to the interface if_sender_bcs for our e-mail address 
(that is, sender e-mail address).
For More Information:  
www.packtpub.com/sap-advanced-business-application-programming-
cookbook/book
Add hyperlink to pdf - insert, remove PDF links in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Free C# example code is offered for users to edit PDF document hyperlink (url), like inserting and deleting
pdf links; adding links to pdf document
Add hyperlink to pdf - VB.NET PDF url edit library: insert, remove PDF links in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Help to Insert a Hyperlink to Specified PDF Document Page
convert excel to pdf with hyperlinks; add links to pdf file
Chapter 11
193
5.  An Internet address is created for our e-mail address using the same 
create_internet_address method  of the cl_cam_address_bcs class. 
The created object is stored in the variable myemailaddress defi ned earlier.
6.  Finally, the e-mail address is added as the sender of the send request using the 
set_sender method of the cl_bcs class.
7.  The rest of the coding remains the same as in the previous recipe.
How it works...
We made a copy of the program in the previous recipe. The class cl_cam_bcs_address 
is used for defi ning the recipient user. Since we have the e-mail address of the recipient, we 
used the static method create_internet_address of the cl_cam_address_BCS class. 
The necessary recipient is returned because of the method call. This is later added to the 
send request, thus specifying the Internet address.
Once the COMMIT WORK statement is executed, the e-mail is sent to the Internet user 
address. In the receiver's inbox, we will see our e-mail address as the sender (since the 
set_sender method has been used).
E-mail transfers are complicated. It may be possible that the programming done is correct 
but the e-mails are not sent. From experience, many times the problems arising when testing 
programmatic e-mail sending are e-mail server confi guration/routing problems.
For More Information:  
www.packtpub.com/sap-advanced-business-application-programming-
cookbook/book
VB.NET Create PDF from Word Library to convert docx, doc to PDF in
Change Word hyperlink to PDF hyperlink and bookmark. VB.NET Demo Code for Converting Word to PDF. Add necessary references: RasterEdge.Imaging.Basic.dll.
add hyperlink to pdf; add page number to pdf hyperlink
VB.NET Create PDF from Excel Library to convert xlsx, xls to PDF
Change Excel hyperlink to PDF hyperlink and bookmark. VB.NET Demo Code for Converting Excel to PDF. Add necessary references: RasterEdge.Imaging.Basic.dll.
change link in pdf file; add links to pdf online
Sending E-mail Using BCS Classes
194
Adding attachments to your message
In this recipe, we will see how we can add attachments to our e-mail message (we will use 
the program created in the previous recipe). We will also use the code fragment from the 
XML String (for Excel data) generated in the Downloading into Excel made easy using simple 
transformations recipe of Chapter 10, Simple Transformations chapter.
We will copy the program of the last recipe and add the transformation code for the 
conversion into binary fi le of the XML string. We will then write the code for attaching the 
XML fi le to the e-mail message. The recipe shows the additional code required to attach 
a fi le to the e-mail.
The necessary steps for defi ning the send request and the subsequent steps are the 
same. This recipe code will be inserted after the create_document method call of the 
cl_document_bcs class and before the set_document method call of the cl_bcs class.
How to do it...
We will now perform the steps shown as follows:
1.  After the CALL TRANSFORMATION statement, we will declare internal table 
attached_xml based on the table type solix_tab. We then call the static method 
string_to_solix of the cl_bcs_convert class for creating binary content out of 
the XML string. The solix_tab type is an internal table in binary format. The code 
page for Unicode UTF-16LE is passed 4103. The result is then stored in converted 
form in the attached_xml fi le.
For More Information:  
www.packtpub.com/sap-advanced-business-application-programming-
cookbook/book
How to C#: Basic SDK Concept of XDoc.PDF for .NET
You may add PDF document protection functionality into your C# program. Hyperlink Edit. XDoc.PDF for .NET allows C# developers to edit hyperlink of PDF document
c# read pdf from url; pdf link open in new window
VB.NET PDF: Basic SDK Concept of XDoc.PDF
You may add PDF document protection functionality into your VB.NET program. Hyperlink Edit. XDoc.PDF for .NET allows VB.NET developers to edit hyperlink of PDF
convert a word document to pdf with hyperlinks; add url to pdf
Chapter 11
195
2.    Next, we call the method add_attachment of the class cl_bcs_document. For 
the parameter attachment type I_ATTACHMENT_TYPE, we pass the value BIN. For 
the name of the fi le (i_attachment_subject), we specify the name XML Excel 
Data.XLS. The parameter i_att_content_hex is for passing the internal table 
containing the fi le to be attached.
How it works...
After the CALL TRANSFORMATION statement, we have the fi le content in the form of a 
large XML string. This string needs to be converted to an Excel format. We convert this into a 
binary format (an internal table based on dictionary structure SOLIX) using the static method 
string_to_solix of the class cl_bcs_convert. The structure of SOLIX is as follows:
For converting the XML string into binary data, we use the code page 4103. Excel fi les expect 
the data to be in the UTF-16 LE format, that is, 4103.
The code is then added to insert the attachment to the created document using the 
add_attachment method of the cl_bcs_document class.
For More Information:  
www.packtpub.com/sap-advanced-business-application-programming-
cookbook/book
C# Create PDF from Word Library to convert docx, doc to PDF in C#.
Change Word hyperlink to PDF hyperlink and bookmark. C#.NET Sample Code: Convert Word to PDF in C#.NET Project. Add necessary references:
add a link to a pdf file; adding links to pdf in preview
.NET PDF Document Viewing, Annotation, Conversion & Processing
Extract hyperlink inside PDF. PDF Write. Insert text, text box into PDF. Edit, delete text from PDF. Insert images into PDF. Edit, remove images from PDF. Add,
adding an email link to a pdf; add hyperlink to pdf in preview
Sending E-mail Using BCS Classes
196
The attachment subject is the name of the fi le (in our case XML Excel Data.XLS) as it 
should appear in the receiver's inbox, the type is BIN meaning binary. For the content of the 
fi le, the  i_att_content_hex parameter is supplied with the converted Excel fi le data. The 
attachment appears as shown in the following screenshot:
The fi le when opened in Excel looks like following screenshot:
There's more...
Similarly, other types of attachments such as PDF or HTML may be added to your documents.
If we need to know the code page of the underlying application server, we go to transaction 
SNL1. For our server, the code page 4103 is used for the UTF-16 LE encoding.
For More Information:  
www.packtpub.com/sap-advanced-business-application-programming-
cookbook/book
VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to
Export PowerPoint hyperlink to PDF. VB.NET Demo Code for Converting PowerPoint to PDF. Add necessary references: RasterEdge.Imaging.Basic.dll.
add a link to a pdf; add links pdf document
C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF
Export PowerPoint hyperlink to PDF in .NET console application. C#.NET Demo Code: Convert PowerPoint to PDF in C#.NET Application. Add necessary references:
adding a link to a pdf; adding links to pdf
Chapter 11
197
See also
http://scn.sap.com/thread/1842532
http://ceronio.net/2012/02/unicode-in-abap/
Creating HTML e-mail
In this recipe, we will see how we can display the body of our e-mail in HTML to our messages 
body. We will see how text may be displayed in bold, in various colors, for example, red and 
how to set the background color of the e-mail body. We will copy the program shown in the 
fi rst recipe and make few changes in it. The detail of HTML coding is beyond the scope of this 
book. The focus of the recipe will be on how basic HTML code is shown in the e-mail body.
How to do it...
We will now carry out the steps shown as follows; 
1.  For the email_text internal table, we will append a number of rows. Each 
row appended will correspond to the lines of the HTML code. We will specify a 
background color for the e-mail body. Then on the fi rst line, we will write a text Dear 
Sir in font size = 2. On the next line, we will write text in red color. Finally, on 
the last line we write text in bold format, as shown in the following screenshot:
For More Information:  
www.packtpub.com/sap-advanced-business-application-programming-
cookbook/book
Sending E-mail Using BCS Classes
198
2.  The e-mail text will then be used to create the document that will later be attached 
to the send request. While calling the create_document method, the type of 
document specifi ed will be HTML, rather than RAW in the previous recipes.
How it works...
We made a few changes in the program. First, we entered the entire HTML code in the form of 
an internal table. It should be made sure that the entire code is enclosed within <HTML> and 
</HTML> tags.
In the next step, the appropriate type (HTML) of the document that is to be created is specifi ed 
for the method create_document and the internal table containing the HTML coding is 
passed. The rest of the coding remains the same. The e-mail generated from the program 
appears as shown in the following screenshot:
We have used only one font size. However, within the HTML body we may have different 
font sizes. 
For More Information:  
www.packtpub.com/sap-advanced-business-application-programming-
cookbook/book
Chapter 11
199
Running a program and sending its output 
as an e-mail
In this recipe, we will see how we can create a small program that will run another ABAP 
program and will send the second program's output as an e-mail attachment in PDF form. 
The basic steps for creating the send request and defi ning the recipient will remain the same 
as mentioned in the previous recipes. This recipe will emphasize on the additional portion 
required in order to run the program, capture its output, and convert the output into PDF 
form. The second program (program to be called) is created fi rst and we have named it 
ZST_6_CALLED_PROGRAM.
How to do it...
We will now list the steps needed:
1.  We will call the SUBMIT statement that will call another program zst_6_called_
program (which simply prints Hello World). The EXPORTING LIST TO MEMORY 
AND RETURN addition is used along with the SUBMIT statement.
2.  Next, we defi ne an internal table based on the dictionary type abaplist. We then 
call the  LIST_FROM_MEMORY function module and use the prog_output object for 
storing the list fetched from the memory.
For More Information:  
www.packtpub.com/sap-advanced-business-application-programming-
cookbook/book
Sending E-mail Using BCS Classes
200
3.    We then defi ne an internal table binary_tab of dictionary type solix. The function 
module TABLE_COMPRESS is then called that converts the program output into a 
table of binary format solix.
4.  We then call the function module SX_OBJECT_CONVERT_ALI_PDF. Before the 
call of the function module, we defi ne necessary variables and internal tables 
necessary for the function module call. The various parameters should be provided 
with appropriate values. The format_src parameter should be assigned value 
ALI( meaning ABAP list), the format_dst parameter is assigned PDF, whereas the 
funcpara parameter is assigned the value DELETE. The address type addr_type 
is passed PRT, whereas devtype is passed PDF1.
For More Information:  
www.packtpub.com/sap-advanced-business-application-programming-
cookbook/book
Chapter 11
201
5.  We then call the  add attachment method of the class cl_bcs_document for the 
document object. The type is specifi ed as PDF and the binary_tab value is passed 
as the content of the fi le to be attached.   
How it works...
We have used the SUBMIT statement in order to run the other program. The output of the 
program is generated and sent to the memory using the SUBMIT statement. The function 
module list_from_memory then fetches the program's output from the memory and stores 
it in the internal table prog_output. We then use the function module table_compress 
in order to convert the ABAP list into an internal table of binary data format based on the 
dictionary structure solix.
The function module sx_object_convert_ali_pdf is then called. We supply it with the 
necessary parameters and the necessary variables and internal table. The ALI corresponds 
to the ABAP list format (for the source format) whereas the target format is specifi ed as PDF. 
The function module converts the ABAP list stored in the binary format into PDF. After the 
function module execution is complete, the PDF generated is stored in the internal table 
named binary_tab. For the parameters of the function module addr_type and device type 
devtype, the values PRT (meaning printer name) and PDF1 are passed, respectively. The 
funcpara parameter is supplied with DELETE. This is to delete the spool request created by 
this function module created during the PDF conversion process.
This PDF content stored in the internal table binary_tab is then attached to the e-mail 
document using the add attachment method. We specify the type as PDF and pass the 
binary_tab for the method's importing parameter i_att_content_hex.
The PDF output generated will be attached to the e-mail document.
For More Information:  
www.packtpub.com/sap-advanced-business-application-programming-
cookbook/book
Documents you may be interested
Documents you may be interested