You are on page 1of 7

introduction

The document provides an overview of the feasibility of multiple mail option for SAP
scripts. The challenge in SAP scripts is that the numbers of recipients in the external send
transmission medium is limited to one. So enhancing the standard functionality is required.
A general knowledge of SAP script and enhancements is required for understanding the
document.

Working of SAP script for Transmission Medium 5 (External Send)


In the FM OPEN_FORM (Function Module used for Opening the SAP script) the
Recipient and the Sender of the mail are given as importing parameters.
In the FM CLOSE_FORM (Function Module used at the end the SAP script) is the
where the Email is actually triggered. In CLOSE_FORM the Form that was generated is
converted to an OTF format which is in turn converted to a PDF. The PDF is then mailed to
Recipient.

Why the constraint for Multiple Recipients


In the FM OPEN_FORM the Importing Parameter mail_recipient is a structure of
type SWOTOBJID which means in only one mail recipient is possible. Thus we have to
overcome this constraint of standard SAP.
Enhancing FMs OPEN_FORM and CLOSE_FORM is not recommended as they are used
for all SAP scripts running in the system.

Solution
Below is an overview of the solution and then a detailed step by step procedure with
an example.

Overview
The SAP script creates an OTF format of the Form data, this data can be imported to
the program through CLOSE_FORM. The imported data is sent to the required mail
recipients. To be able to obtain the OTF format in CLOSE_FORM, the field ITCPO-TDGETOTF
has to be checked in the Importing parameters of OPEN_FORM.

Detailed example
Consider the following Business scenario.

When a Purchase Order is generated in ME21N transaction, a message type NEU is


to be triggered and
external mail is to be sent to the Vendor and the PO creator. (Note: This is not the
case of Release
strategy but during the creation of the Purchase Order).

If the Mail was to be sent only to the vendor then no enhancement of standard would have
been required.

During Purchase Order creation, the SAP script is called through FM ME_PRINT_PO. The
OPEN_FORM is called in the include LMEDRUCKF10.

Before the OPEN_FORM is called, in the structure ITCPO fill the field TDGETOTF = X to get
the OTF form as an importing parameter in CLOSE_FORM when External send is triggered
(NAST-NACHA = 5).

To do the above we can use the enhancement-point LMEDRUCKF10_02 of the


enhancement-spot ES_SAPLMEDRUCK. Refer below screen shot.

Declaration of variables for the functionality can be done in the enhancement-point


ENDE_01, enhancement-spot ES_SAPLMEDRUCK. Refer below screen shot.

The CLOSE_FORM which was already implemented by Standard SAP is over written as the
OTF data has to be imported. The enhancement-point ENDE_02, enhancement-spot
ES_SAPLMEDRUCK is used for the same. Refer below screen shot.

The OTF file is obtained in the TABLES parameter. Refer below screen shot.

When the OTF data is imported then standard SAP does not send mail to the
partner mentioned in External Send! Thus in
this case we will have to send mail to both the Vendor and PO creator. To determine the
mail address of the vendor use the FM ADDR_GET_NEXT_COMM_TYPE. Refer below screen
shot.

The Email address of the PO creator is obtained as below.

The OTF file format has to be converted to PDF. There are many ways to do the same.
Below mentioned is one method. The FM CONVERT_OTF input the OTF file obtained and
import the Hexadecimal PDF file.

We can use the Class CL_BCS to send the mail to more than one recipient and the PDF is
attached in the mail. Below screen shots show a sample of filling the data for the class. We
can check if the mail has been sent from SAP using the Transaction SOST.

Refer below the Overview of the Enhancement Implementation required.

You might also like