3464653 offline interactive pdf form using email

Upload: fede-lever

Post on 04-Apr-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 3464653 Offline Interactive PDF Form Using EMail

    1/18

    Tutorial

    Unit: Interactive Forms Integration into Web Dynpro for

    JavaTopic: Offline interactive form based on sending and

    receiving emails

    At the conclusion of this exercise, you will be able to:

    Send emails with an attached interactive form

    Read received emails with an attached interactive form

    Use the Java Mail API

    Integrate an interactive form within a Web Dynpro application

    Think of a company where employees need to fill out forms offline.

    Offline in this case means that the employees make their form entries on

    their local host without a server connection (e.g. at home, at a customer

    site, while traveling, etc.).

    This tutorial explains how to develop an offline interactive form scenario

    based on sending and receiving emails. In this case, an employee receives

    an email containing an empty or prefilled form, makes entries offline,

    and, after filling out the form, sends an email with the attached form back

    to a mail server. The server can identify the email with the attached form,

    extract the data and pass it to a backend system. You can use the Adobeintegration within Web Dynpro for this purpose. This exercise will show

    you which steps are necessary to develop such a scenario based on a

    travel request form.

    Page 1 / 18

  • 7/31/2019 3464653 Offline Interactive PDF Form Using EMail

    2/18

    1OverviewThe following screenshot shows the user interface of the Web Dynpro application you will

    develop in this exercise. Using the upper view, you can send an email with an attached travel

    request form to the address you enter. In the lower view, you can display all unread messages

    in your inbox containing an attached travel request form after clicking theRefresh button.

    2PrerequisitesTo be able to use PDF forms in Web Dynpro applications, the following prerequisites apply:

    2-1 The SAP NetWeaver Developer Studio (Support Package Stack 11) including AdobeLiveCycle Designer (forms design tool) is installed on your computer. Use the SAP

    NetWeaver 04 installation CDs/DVDs if it is not yet installed.

    2-2 You have access to the SAP J2EE Engine (Release 6.40).(Note that you can download an evaluation version (Sneak Preview SAP Web

    Application Server 6.40 Java) from the SDN Download Area at

    https://www.sdn.sap.com/sdn/downloadarea.sdn.)

    2-3 Adobe Reader 7.0.1 is installed on your computer. If this is not the case, downloadAdobe Reader 7.0.1 from the Adobe homepage (http://www.adobe.com) at

    http://www.adobe.com/products/acrobat/readstep2.html).

    2-4 The Active Component Framework (ACF) of the Interactive Forms integration isinstalled on your computer.

    With SP Stack 11, calling a Web Dynpro application that includes a PDF form for the

    first time should automatically install the ACF in the background. If you experience

    difficulties that may be related to the frontend installation, please see SAP Note 766191

    on the SAP Service Marketplace for manual installation.

    2-5 The Adobe document services are configured on the SAP J2EE Engine you are using.To access the Installation and Configuration Guides for Adobe document services, go

    Page 2 / 18

    https://www.sdn.sap.com/sdn/downloadarea.sdnhttp://www.adobe.com/http://www.adobe.com/products/acrobat/readstep2.htmlhttp://www.adobe.com/products/acrobat/readstep2.htmlhttp://www.adobe.com/https://www.sdn.sap.com/sdn/downloadarea.sdn
  • 7/31/2019 3464653 Offline Interactive PDF Form Using EMail

    3/18

    to http://service.sap.com/nw04installation SAP Web ASSAP Web AS 6.40 SR1

    and Related DocumentationAdobe Document Services.

    2-6 Basic knowledge of developing Web Dynpro applications. For helpful informationabout Web Dynpro, go to

    https://www.sdn.sap.com/sdn/developerareas/webdynpro.sdn?node=linkDnode6-2.

    3Importing a Project TemplateTo restrict the development of this sample application to the actual content covered, there is a

    predefined Web Dynpro project template available in SDN underWeb Dynpro Sample

    Applications and Tutorials. Follow the steps listed below to import the predefined Web

    Dynpro project:

    3-1 Unzip the contents of the ZIP file TutWD_EmailInteractiveForm_Init.zip into the workarea of the SAP NetWeaver Developer Studio or into a local directory.

    3-2 Start the SAP NetWeaver Developer Studio.3-3 Import (File Import Existing Project into Workspace) the Web Dynpro project

    TutWD_EmailInteractiveForm_Init.

    3-4 The Web Dynpro project TutWD_EmailInteractiveForm_Initthen appears in the WebDynpro Explorer for further processing and editing in the context of this tutorial. The

    information display triggered by the Web Dynpro project

    TutWD_EmailInteractiveForm_Initcan be ignored at this time, since we will extend the

    Web Dynpro project during the remainder of this exercise and will thus remove this

    information.

    Note: Depending on which Java compiler preferences are set, you may see some

    warnings in the Taskview after importing the project. If the severity level for problems

    of type Unused imports (set in Window Preferences Java Compiler) has thevalue Warning, the compiler will issue a warning for unused import references. Ignorethese warnings!

    Page 3 / 18

    http://service.sap.com/nw04installationhttp://service.sap.com/~form/sapnet?_SHORTKEY=01100035870000591425&_OBJECT=011000358700000307832005Ehttp://service.sap.com/~form/sapnet?_SHORTKEY=01100035870000591425&_OBJECT=011000358700000307832005Ehttp://service.sap.com/~sapidb/011000358700000307832005E/TemplatesWebAS_640sr1.htm#q2https://www.sdn.sap.com/sdn/developerareas/webdynpro.sdn?node=linkDnode6-2https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/unkown/Web%20Dynpro%20Sample%20Applications%20and%20Tutorials.htm#UIhttps://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/unkown/Web%20Dynpro%20Sample%20Applications%20and%20Tutorials.htm#UIhttps://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/unkown/Web%20Dynpro%20Sample%20Applications%20and%20Tutorials.htm#UIhttps://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/unkown/Web%20Dynpro%20Sample%20Applications%20and%20Tutorials.htm#UIhttps://www.sdn.sap.com/sdn/developerareas/webdynpro.sdn?node=linkDnode6-2http://service.sap.com/~sapidb/011000358700000307832005E/TemplatesWebAS_640sr1.htm#q2http://service.sap.com/~form/sapnet?_SHORTKEY=01100035870000591425&_OBJECT=011000358700000307832005Ehttp://service.sap.com/~form/sapnet?_SHORTKEY=01100035870000591425&_OBJECT=011000358700000307832005Ehttp://service.sap.com/nw04installation
  • 7/31/2019 3464653 Offline Interactive PDF Form Using EMail

    4/18

    4Initial Project StructureAfter you have imported the Web Dynpro project template TutWD_EmailInteractiveForm_

    Init, the following project structure is displayed in the Web Dynpro Explorer:

    Web Dynpro project structure

    Web Dynpro project: TutWD_EmailInteractiveForm_Init

    Web Dynpro application: EmailInteractiveFormApp

    The applicationEmailInteractiveFormApp displays the interface view of the Web

    Dynpro componentEmailInteractiveFormComp in the browser window.

    Web Dynpro component: EmailInteractiveFormComp

    This is the Web Dynpro component that contains our entire application.

    View: SendView

    In this view, you can enter the recipients email address, and, upon clicking the Send

    button, send an email with the attached travel request form to this address.

    View: ReceivedView

    After clicking theRefreshbutton, this view displays all unread messages with an

    attached travel request form.

    View: FormView

    This view displays the content of the received interactive form.

    Window:Window

    Initially contains a view set with two view areas represented by the two cells (ViewSet

    Definition: GridLayout with one column and two rows). The two views SendView and

    ReceivedView are already embedded. TheFormView becomes visible when double-

    clicking one of the unread messages. The attached travel request form is then

    displayed, and you can return from theFormView to theReceivedView.

    Page 4 / 18

  • 7/31/2019 3464653 Offline Interactive PDF Form Using EMail

    5/18

  • 7/31/2019 3464653 Offline Interactive PDF Form Using EMail

    6/18

    Design the SendView Layout

    We will use the following SendView layout for sending an email.

    View layout of the SendView modeled with the View Designer

    To design this view, we have to add the UI elements listed below and set their properties. In

    order to add these UI elements, choose theLayouttab of the SendView, add the UI elements

    in the Outline view, and set their properties as stated below in the corresponding Properties

    tab:

    UI Element

    Type

    UI Element

    Name

    Embedded in ...

    (Container

    Name)

    UI Element

    Property

    Value

    Properties of

    Label - text

    To:Label To_label Group0

    Properties of

    Label labelFor

    (Set this property

    after you entered

    the next UIelement)

    To

    InputField To Group0 Properties of

    InputField -

    value

    Email.To

    (Select button

    on the right in

    Properties

    window, then

    select To field

    from the context

    tree.)

    Button Button Group0 Properties of

    Button - text

    (Note: Leave

    blank!)

    Save the new metadata by choosing the (Save All Metadata) icon from the toolbar.

    Page 6 / 18

  • 7/31/2019 3464653 Offline Interactive PDF Form Using EMail

    7/18

    Implementation of the logic

    Follow these steps to implement the logic that sends the email to the recipients address.

    5-1 Open theActions tab of the SendView.5-2 Create a new action called SendForm, and set the text property to Send Email. Use the

    default settings for all other properties. ClickFinish.

    5-3 Choose theLayouttab of the SendView, and select the button in the Outline view. In thecorrespondingProperties tab, apply the new action for the property onAction.

    5-4 Switch to theImplementation tab, and add the following source code at the end of thewdDoInitmethod.

    Do not forget to enter your email address in the first and second lines of this code

    snippet.

    /*

    The following lines initialize the context elements; enter your

    email address in the setFrom-method

    */

    wdContext.currentEmailElement().setFrom( "[email protected]

    ");

    wdContext.currentEmailElement().setTo( "[email protected]

    ");

    wdContext.currentEmailElement().setCc( "");

    wdContext.currentEmailElement().setBcc( "");

    wdContext.currentEmailElement().setSubject( "Travel Request Form");

    wdContext.currentEmailElement().setBody( "You will find therequested Travel Request Form in the attachment of this email.

    Please fill out this form and send it back. \n\nYour TravelManagement Team");

    Page 7 / 18

  • 7/31/2019 3464653 Offline Interactive PDF Form Using EMail

    8/18

    5-5 Add the following coding lines to the onActionSendForm method in order to send anemail with an attached interactive form using the Java Mail API.

    Do not forget to enter the mail server host you want to use in the second line of this

    code snippet.

    Page 8 / 18

    Properties props = new Properties();

    String host = "your.smtp host";

    props.put("mail.smtp.host", host);

    Session session = Session.getInstance(props, null);

    MimeMessage message = new MimeMessage(session);

    Address toAddress = new InternetAddress();

    Address fromAddress = new InternetAddress();

    Address ccAddress = new InternetAddress();

    Address bccAddress = new InternetAddress();

    try

    {

    /* Creates an email object with different parts, one for the

    text and another for the attached file */MimeMultipart multipart = new MimeMultipart();

    BodyPart messageBodyPart = new MimeBodyPart();

    /* the following statements build up the email */

    if (! wdContext.currentEmailElement().getFrom().equals(""))

    {

    fromAddress = new

    InternetAddress(wdContext.currentEmailElement().

    getFrom());

    message.setFrom(fromAddress);

    }

    if (! wdContext.currentEmailElement().getTo().equals(""))

    {

    toAddress = newInternetAddress(wdContext.currentEmailElement().

    getTo());

    message.setRecipient(Message.RecipientType.TO,

    toAddress);

    }

    if (! wdContext.currentEmailElement().getCc().equals(""))

    {

    ccAddress = new

    InternetAddress(wdContext.currentEmailElement().

    getCc());

    message.setRecipient(Message.RecipientType.CC,

    ccAddress);

    }if (! wdContext.currentEmailElement().getBcc().equals(""))

    {

    bccAddress = new

    InternetAddress(wdContext.currentEmailElement().

    getBcc());

    message.setRecipient(Message.RecipientType.BCC,

    bccAddress);

    }

    if (!

    wdContext.currentEmailElement().getSubject().equals( "")

    )

    {

    message.setSubject(wdContext.currentEmailElement().getSubject());

    }

  • 7/31/2019 3464653 Offline Interactive PDF Form Using EMail

    9/18

    if (! wdContext.currentEmailElement().getBody().equals(""))

    {

    messageBodyPart.setText(wdContext.currentEmailElement()

    .getBody());

    }

    multipart.addBodyPart(messageBodyPart);

    /* a new part will be added, in the complete email this will

    be the attachment */

    messageBodyPart = new MimeBodyPart();

    String filename =

    "temp\\webdynpro\\web\\local\\TutWD_EmailInteractiveForm

    _Init\\Components\\com.sap.tut.wd.emailinteractiveform.EmailIn

    teractiveFormComp\\TravelRequest.pdf" ;

    DataSource source = new FileDataSource(filename);

    messageBodyPart.setDataHandler(new DataHandler(source));

    messageBodyPart.setFileName(source.getName());

    messageBodyPart.setHeader("Content-Type","application/pdf");

    multipart.addBodyPart(messageBodyPart);

    message.setContent(multipart);

    Transport.send(message);

    }

    /

    * the exceptions part */

    catch (AddressException e)

    {

    wdComponentAPI.getMessageManager().reportWarning(e.

    getLocalizedMessage());

    e.printStackTrace();

    }

    catch (SendFailedException e){

    wdComponentAPI.getMessageManager().reportWarning(e.

    getLocalizedMessage());

    e.printStackTrace();

    }

    catch (MessagingException e)

    {

    wdComponentAPI.getMessageManager().reportWarning(

    e.getLocalizedMessage());

    e.printStackTrace();}

    5-6 Include the Java Mail API.You can do this by choosingProperties in the context menu of the

    TutWD_EmailInteractiveForm_Initnode in the Web Dynpro Explorerview.

    Then chooseJava Build Path, switch to theLibraries tab, select Add Variable,

    chooseECLIPSE_HOME,press theExtendbutton, navigate topluginscom.tssap.ext.libs.j2ee_1.3lib, choose activation.jar, and press OK.Repeat these steps for the library mail.jar, and press OK.

    Select OKto close theProperties dialog.

    5-7 On theImplementation tab of the SendView, choose SourceOrganize Imports fromthe context menu. This will automatically add all necessary import statements to your

    Page 9 / 18

  • 7/31/2019 3464653 Offline Interactive PDF Form Using EMail

    10/18

    source code. Select only types in thejavax.mail.* orjavax.activation.* packages for

    this process.

    5-8 Save the new metadata by choosing the (Save All Metadata) icon from the toolbar.

    6Receive Email with Attached Interactive FormCreate ReceivedView Context

    6-1 Open theData Modelerof theEmailInteractiveFormComp by double-clicking on theEmailInteractiveFormComp node in the Web Dynpro Explorerview.

    Create a data link betweenReceivedView and the Component Controller. To do so, use

    the arrow icon on the tool bar on the left side of theDiagram View.

    6-2 Drag and drop theEmailnode on the right onto the Contextnode on the left side, checktheEmailnode, and confirm with OK. ChooseFinish.The result should look like the

    screenshot below:

    6-3 Save the new metadata by choosing the (Save All Metadata) icon from the toolbar.

    Page 10 / 18

  • 7/31/2019 3464653 Offline Interactive PDF Form Using EMail

    11/18

    Design ReceivedView layout

    We will use the followingReceivedView layout for receiving an email:

    View layout of theReceivedView modeled with the View Designer

    To design this view, we have to add the UI elements listed below and set their properties. In

    order to add these UI elements, double-click on theReceivedView within the Web Dynpro

    Explorer, choose theLayouttab of theReceivedView, add the UI elements in the Outline

    view, and set their properties as stated below in the corresponding Properties tab:

    UI Element

    Type

    UI Element

    Name

    Embedded in ...

    (Container Name)

    UI Element

    Property

    Value

    ToolBarButton RefreshButton ToolBar8 Properties of

    Element - text

    (Leave

    blank!)

    Properties of

    Element -

    dataSource

    Email

    Properties of

    Element - width

    100%

    Table Table Group3

    Properties ofElement -

    readOnly

    true

    Open the context menu of the Table node in the Outline view. Choose Create Binding. Check

    the context elementsAttachment, SentDate, From, Subject, and ContentType. PressNext. On

    the following screen, you can change the order of the table columns. PressFinish.

    Save the new metadata by choosing the (Save All Metadata) icon from the toolbar.

    Page 11 / 18

  • 7/31/2019 3464653 Offline Interactive PDF Form Using EMail

    12/18

    Implementation of the logic

    Follow these steps to implement the logic that retrieves the messages and extracts the

    interactive form.

    6-4 In the Web Dynpro Explorer, double-click the Component Controller.(TutWD_EmailInteractiveForm_InitWeb DynproWeb Dynpro Components

    EmailInteractiveFormCompComponent Controller), and switch to theMethods tab.6-5 Create a new method called readInbox by clickingNew, checkingMethod, pressing

    Next, entering readInbox, and pressingFinish.

    6-6 Switch to theImplementation tab of theEmailInteractiveFormComp, and add thefollowing source code at the end of the readInbox method.

    Do not forget to enter your host (mail server), user name and password in the

    corresponding coding lines.

    while (!wdContext.nodeEmail().isEmpty())

    {

    wdContext.nodeEmail().removeElement(wdContext.nodeEmail().getElementAt(0));

    }

    wdContext.nodeEmail().invalidate();

    Message[] message = new Message[1000];

    IPublicEmailInteractiveFormComp.IEmailElement newEmailNodeElement;

    //Set properties

    // enter email server, for example Microsoft Exchange Server, here

    String host = "your.mail.server";

    // enter email account user name here

    String username = "your username";// enter email account password here

    String password = "your password";

    Properties props = new Properties();

    props.put("mail.smtp.host", host);

    //Set Session

    Session session = Session.getInstance(props, null);

    //S

    try

    et the store

    {

    Store store = session.getStore("imap4");

    store.connect(host,username,password);

    //Get folder

    Folder folder = store.getFolder("INBOX");folder.open(Folder.READ_ONLY);

    //Get Mails

    message = folder.getMessages();

    //Fill table with mails

    for (int i = 0; i < message.length; i++)

    {

    // h are

    if (message[i].isSet(Flags.Flag.SEEN) == false)

    look for attachments only in mail whic marked as unread

    {

    Page 12 / 18

  • 7/31/2019 3464653 Offline Interactive PDF Form Using EMail

    13/18

    // only the mails with the right subject a processed

    if (message[i].getSubject().equals( "Travel Request Form"))

    {

    newEmailNodeElement = wdContext.createEmailElement();

    newEmailNodeElement.setFrom(message[i].getFrom()[0].toString());

    newEmailNodeElement.setSubject(message[i].getSubject());newEmailNodeElement.setSentDate(message[i].getSentDate().toString());

    //Check for right Attachment and extract it from the mail body

    Object content = message[i].getContent();

    if ( content != null && content instanceof Multipart)

    {

    for (int j = 0 , n = ((Multipart)content).getCount(); j < n; j++)

    {

    Part part = ((Multipart)content).getBodyPart(j);

    St par

    if ( disposition != null && (disposition.equals(Part.ATTACHMENT) ||

    ring disposition = t.getDisposition();

    disposition.equals(Part.INLINE)))

    {

    if (part.getFileName().equals("TravelRequest.pdf")){

    newEmailNodeElement.setAttachment( true);

    newEmailNodeElement.setContentType(part.getContentType().toString());

    InputStream is = part.getInputStream();

    ByteArrayOutputStream bo = new ByteArrayOutputStream();

    int ;c

    while ((c = is.read()) > -1) bo.write(c);

    byte[] pdfSource = bo.toByteArray();

    newEm

    break;

    ailNodeElement.setPdfSource(pdfSource);

    }

    else

    {newEmailNodeElement.setAttachment( false);

    }

    }

    }

    }

    wdContext.nodeEmail().addElement(newEmailNodeElement);

    }

    }

    }

    //Close connection and save changes (e.g. mark touched mails as read)

    folder.close(true);

    store.close();

    }catch (MessagingException e)

    {

    e.printStackTrace();

    }

    catch (IOException e)

    {

    e.printStackTrace();}

    Page 13 / 18

  • 7/31/2019 3464653 Offline Interactive PDF Form Using EMail

    14/18

    6-7 On theImplementation tab of theEmailInteractiveFormComp, choose SourceOrganize Imports from the context menu. This will automatically add all necessary

    import statements to your source code. Select only types in thejavax.mail.* or

    javax.io.* packages for this process.

    6-8 Open theActions tab of theReceivedView.6-9 Create a new action calledRefreshPressed, and setRefresh as text. Use the default

    settings for all other options. ClickFinish.

    6-10 Apply the new action to the button on theLayouttab. To do so, switch to theLayouttabof theReceivedView, select the button in the Outline view, switch to the corresponding

    Properties tab, and set the onAction property of the button toRefreshPressed.

    6-11 Switch to theImplementation tab of theReceivedView, and add the following sourcecode at the end of the onActionRefreshPressedmethod.

    wdThis.wdGetEmailInteractiveFormCompController().readInbox();

    6-12 Save the new metadata by choosing the (Save All Metadata) icon from the toolbar.

    Page 14 / 18

  • 7/31/2019 3464653 Offline Interactive PDF Form Using EMail

    15/18

    7Display Received Interactive FormExtend FormView context

    The data for the travel request form is already defined in the controller context of theFormView (see Contexttab ofFormView):Go to theWeb Dynpro Explorer,double-click the

    node for theFormView (TutWD_EmailInteractiveForm_InitWeb DynproWeb DynproComponentsEmailInteractiveFormCompViewsFormView)and choose theContexttab of theFormView):

    To display the interactive form you received, you need to map thePdfSource context element

    of the component controller and design theFormView layout.

    7-1 Open theDataModelerof theEmailInteractiveFormComp by double-clicking theEmail InteractiveFormComp node in the Web Dynpro Explorerview. Create a data link

    betweenFormView and the Component Controller. To do so, use the arrow icon on the

    tool bar on the left side of theDiagram View.

    7-2 Drag and drop theEmailnode from the right onto the Contextnode on the left side,selectPdfSource, and confirm with OK. ChooseFinish.

    Design FormView layout

    In this section, you will extend theFormView with an interactive form element and a toolbar

    button. The interactive form element is used for displaying the form, and the button is used

    for returning to theReceivedView.

    7-3 In the Web Dynpro Explorer, double-click the node for theFormView (Web DynproWeb Dynpro Components EmailInteractiveFormComp Views FormView), and

    choose theLayouttab.

    Page 15 / 18

  • 7/31/2019 3464653 Offline Interactive PDF Form Using EMail

    16/18

    7-4 In the Outline view, insert a child of typeInteractiveForm and IdInteractiveForm1 inthe Group1.

    7-5 Select theInteractiveForm1 element in the Outline view, switch to the correspondingProperties tab, and change the properties as shown below. Reference the corresponding

    dataSource andpdfSource from the context, and set the height, mode, width, hAlign and

    vAlign properties as shown below:

    The dataSource property is used to specify the data source. The data source

    encapsulates the data you can display in the form at runtime. For the dataSource

    property, you need to specify the path to the context node providing the data. In this

    step, we reference theDataSource context node, which is already defined in the context

    structure of the template used (see Contexttab of theFormView):

    Page 16 / 18

  • 7/31/2019 3464653 Offline Interactive PDF Form Using EMail

    17/18

    For more information related to context structures refer to the following tutorial, which

    you can find in the standard SAP library documentation:

    Application of Context Programming and Data Binding

    The usePdfvalue of the mode property is used for displaying the original PDF

    document. The data source and the template for the creation of the PDF document areignored.

    ThepdfSource property specifies the path of the context element that contains the PDF

    document. You must bind this property to a context attribute of the type binary. In this

    tutorial, the context attribute has already been defined in the context structure (see

    graphic above). This property allows an application developer to access the binary file

    and download it to the local hard disk or read and send the data to a backend.

    7-6 Choose theLayouttab of theFormView. In the Outline view, insert a ToolBarItem oftype ToolBarButton into the ToolBar, and call it SubmitButton.

    Create and assign actions

    To be able to display the form attached to an email after double-clicking an unread message,

    and to be able to return to theReceivedView after clicking on the Submitbutton, you need to

    create and assign actions.

    7-7 Create a new action called SubmitPressedon theActions tab of theFormView, andchoose ToReceivedView as the fire plug. PressFinish.

    7-8 Switch to theLayouttab of theFormView, and select the SubmitButton in the Outlineview. In theProperties tab of the SubmitButton, assign this new action to the onAction

    property, and set the text property to Submit.

    7-9 Open theReceivedView for editing. Create a new action called Selection on theActionstab of theReceivedView, and choose ToFormView as the fire plug. PressFinish.

    7-10 Switch to theLayouttab of theReceivedView. In the Outline view, choose Table, andassign this new action to the onLeadSelectproperty.

    7-11 Save the new metadata by choosing the (Save All Metadata)icon from the toolbar.

    Page 17 / 18

    http://help.sap.com/saphelp_nw04/helpdata/en/48/70b1c763a45a4a8bc7f2b7d2c171e6/frameset.htmhttp://help.sap.com/saphelp_nw04/helpdata/en/48/70b1c763a45a4a8bc7f2b7d2c171e6/frameset.htm
  • 7/31/2019 3464653 Offline Interactive PDF Form Using EMail

    18/18

    8Building, Deploying and Running the ProjectTo complete the tutorial,Rebuild ProjectandDeployNew Archiveand Run. A browser

    window displays the user interface that you know from the overview section. You can send

    the travel request form by email to your inbox and edit the form offline.

    In order to simplify the test, you can send the filled-out form back to your inbox (in a real

    scenario you would send the filled-out form back to a system inbox for further processing). If

    the subject of the incoming email is Travel Request Form (due to the coding lines in step 6-

    6), the unread message is displayed in the table after clicking the Refresh button on the

    ReceivedView. After double-clicking the unread message, the corresponding interactive form

    is displayed in theFormView.

    Congratulations, you have completed the offline interactive form scenario based on sending

    and receiving emails.

    Page 18 / 18