77
SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 (in SAP Web Application Server), you can use a new solution to create interactive forms and print forms for the optimization of your form-based business processes. This solution uses Portable Document Format (PDF) and software from Adobe Systems Inc. that has been integrated into the SAP environment. You can create interactive forms in PDF format that allow users to fill out the form on the screen and save their entries in XML format in the form. When the SAP system receives the PDF form, it extracts the data saved in the form, and can process it further. You can also merge a form template with current system data to generate a PDF document that can then be printed or sent by e-mail. SAP Interactive Forms by Adobe offer you the following business advantages: Interactive functions automate the creation of data for SAP systems Full integration into the SAP development environments for Java and ABAP User-friendly tools reduce the time and costs associated with creating form layouts. The usage of the PDF format means that forms retain their appearance regardless of the environment they are used in. In certain circumstances, you require a license for interactive forms. For more detailed information, read SAP Note 750784 on SAP Service Marketplace at service.sap.com/notes. Implementation Considerations SAP Interactive Forms by Adobe are particularly well suited to business processes in which employees enter data in a form-based solution and then want to transfer this data automatically to the SAP system. In the simplest cases, you only require the free Adobe Reader to display or fill out PDF forms on your front end. Integration SAP Interactive Forms by Adobe is included in SAP Web Application Server and can be used by any applications that are based on SAP NetWeaver ’04 or later. The following Adobe software is included in the form solution: Adobe LiveCycle Designer A graphical tool for designing form layouts; it is integrated into SAP NetWeaver Developer Studio and ABAP Workbench. Adobe Document Services Web services used to generate the PDF forms at runtime; in interactive scenarios, they extract the XML data from the form and send it to the system. Adobe Document Services run on SAP J2EE Engine. This means that you must install the Java Stack of SAP Web Application Server, regardless of the development language of your application (ABAP or Java). Features SAP Interactive Forms by Adobe offer the following basic functions: Create form templates for the layout that include logos or pictures

SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

Embed Size (px)

Citation preview

Page 1: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

SAP Interactive Forms by Adobe

PurposeAs of SAP NetWeaver ’04 (in SAP Web Application Server), you can use a new solution to create interactive forms and print forms for the optimization of your form-based business processes. This solution uses Portable Document Format (PDF) and software from Adobe Systems Inc. that has been integrated into the SAP environment.

You can create interactive forms in PDF format that allow users to fill out the form on the screen and save their entries in XML format in the form. When the SAP system receives the PDF form, it extracts the data saved in the form, and can process it further.

You can also merge a form template with current system data to generate a PDF document that can then be printed or sent by e-mail.

SAP Interactive Forms by Adobe offer you the following business advantages:

● Interactive functions automate the creation of data for SAP systems

● Full integration into the SAP development environments for Java and ABAP

● User-friendly tools reduce the time and costs associated with creating form layouts.

● The usage of the PDF format means that forms retain their appearance regardless of the environment they are used in.

In certain circumstances, you require a license for interactive forms. For more detailed information, read SAP Note 750784 on SAP Service Marketplace at service.sap.com/notes.

Implementation ConsiderationsSAP Interactive Forms by Adobe are particularly well suited to business processes in which employees enter data in a form-based solution and then want to transfer this data automatically to the SAP system. In the simplest cases, you only require the free Adobe Reader to display or fill out PDF forms on your front end.

IntegrationSAP Interactive Forms by Adobe is included in SAP Web Application Server and can be used by any applications that are based on SAP NetWeaver ’04 or later.

The following Adobe software is included in the form solution:

● Adobe LiveCycle DesignerA graphical tool for designing form layouts; it is integrated into SAP NetWeaver Developer Studio and ABAP Workbench.

● Adobe Document ServicesWeb services used to generate the PDF forms at runtime; in interactive scenarios, they extract the XML data from the form and send it to the system.

Adobe Document Services run on SAP J2EE Engine. This means that you must install the Java Stack of SAP Web Application Server, regardless of the development language of your application (ABAP or Java).

FeaturesSAP Interactive Forms by Adobe offer the following basic functions:

● Create form templates for the layout that include logos or pictures

Page 2: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

● Generate documents by merging form templates and current system data

● Edit forms online or offline

● Forms can be filled in advance automatically with specific data from SAP applications and then sent to the correct recipients using secure methods

● Automatic consistency checks for forms

● Activate enhanced functions such as comments

● Digital signatures and form certification

● Send completed forms to the SAP application with automatic updates of the business data

There are two basic types of forms:

Interactive Forms

For business processes that require close cooperation between employees, you can design interactive forms as a part of a Web Dynpro application.

You can use the following development environments:

● Interactive Forms in Web Dynpro for Java in SAP NetWeaver Developer Studio

● Interactive Forms in Web Dynpro for ABAP in ABAP Workbench

These forms can contain dropdown menus, pushbuttons, text fields, and other elements that enable users to enter data. The form is generated in PDF format, which, for example, can be displayed by the user in a browser. The user uses Adobe Reader or Adobe Acrobat to fill out the form and saves the changes made to the form in XML format. The SAP system extracts the data from the form and saves it to the database, where it can be processed further.

You can use these forms in two basic scenarios:

● OnlineThe user is logged on to the SAP system when he or she fills out the form.

● OfflineThe user is not logged on to the SAP system when he or she fills out the form. Once the form has been filled out, the user sends it to the issuer of the form, for example by e-mail. The SAP system of the issuer then extracts the data from the form.

Forms for Printing, E-Mail, or Fax

You can use the Form Builder (integrated into ABAP Workbench) to create PDF-based print forms that you can then print or send by e-mail or fax. When you create these print forms, you can rely on the tried and trusted principle of separate data retrieval and form layout processes. This enables you to make changes to either one of the processes, without affecting the other.

PDF-Based Print Forms

PurposePDF-based print forms are part of the SAP Interactive Forms by Adobe solution and are used for printing in SAP systems. As well as standard output on printers, and the option of archiving documents, you can also use your application to send a PDF to the Business Communication Services (BCS). Here, you have the option of faxing or e-mailing your documents.

The following gives you an overview of how a PDF-based print form is structured, and also tells you how to create a PDF-based print form in the development environment of the ABAP Workbench. The integrated Adobe LiveCycle Designer™ software supports you when you do this. This software must be installed on your front end before you can create a layout. To see a print

Page 3: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

preview of your form, you first need to install Adobe Reader or a complete version of Adobe Acrobat.

This documentation does not discuss how documents are printed and controlled on printers. Instead, it discusses the whole process up to when a file is sent to output management functions, such as the spool system in SAP systems. Note that, for printing and previewing PDF-based forms, you need to use a PCL, Postscript, or ZPL printer and an appropriate device type (such as POST2, HPLJ4, HP9500, PDF1, AZPL203, or AZPL300). You cannot use a printer with the device type SAPWIN/SWIN. More information is available in the SAP Printing Guide (BC-CCM-PRN), under Printing PDF-Based Forms.

IntegrationAn activated PDF-based print form corresponds to a callable function module in the SAP system. The complete logic of the form is represented by this function module. When a form is printed, it is called by an application program, which collects the relevant application data. The application program uses the function module interface to send the data. Therefore, the data collection process is split from the logic of the form. This means that you only need to adjust the form when you modify the logic or layout.

There are several ways of creating interactive forms. For more information, see Interactive Forms.

FeaturesTo develop a PDF-based print form, you use Form Builder, integrated with ABAP Workbench. This tool enables you to create a complete form description, even if you do not have extensive programming skills. The tool supports you in the following tasks:

● Creating layouts

Here, you use the Adobe LiveCycle Designer to design pages or create the layout.

● Specifying the data used in the form

In the form context, you specify which data, tables, texts, and graphics are sent to the form.

● Migration of Smart Forms

By migrating Smart Forms, you can reuse them as PDF-based print forms. You can find the Smart Form migration tool in transaction SMARTFORMS.

Smart Forms are still supported; you can continue to forms created in Smart Forms without making any changes.

● Importing existing PDF files or forms

This tool is integrated into Adobe LiveCycle Designer and enables you to use your own templates for your form.

● Scripting

Adobe LiveCycle Designer uses the script languages JavaScript and FormCalc. FormCalc is a simple Adobe script language for typical form calculations, including mathematical and logical functions, and date and character string functions. For more information about FormCalc, and a FormCalc language reference, see the online help of Adobe LiveCycle Designer.

To achieve the best level of performance when processing forms, use as little scripting as possible in the form. If possible, perform all calculations and data analysis in the application program, before the form is called.

● Printing and archiving the PDF-based print form:

Page 4: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

You can use output parameters to specify print and archive settings, and so adapt the output to your requirements. These parameters are not viewed in Form Builder. Instead, you control them with function modules that you integrate in your application program.

PDF-Based Print Form

DefinitionA PDF-based print form is a form designed for mass printing in SAP systems. It has the standard Portable Document Format (PDF).

UsePDF-based print forms can be used for the following:

• Order confirmations

• Invoices

• Account statements

• Checks

• Salary statements

• Delivery notes

• Customs forms

• Industry-specific forms, such as quality forms in the automotive industry

StructureA PDF-base print form has the following attributes:

• A form interface that sends the application data to the form.

• A form context that contains the form logic. This logic controls the dynamic formatting of the form. For example, it enables variable fields to be displayed; it specifies that certain texts appear only under certain conditions (one text for a first warning and a different text for a second warning); and it can specify that invoice items can be processed repeatedly in a table.

• A layout. In the layout, you define how the output data is positioned, its appearance in graphics, and the design of the pages.

Architecture The following graphics show you the architecture that is implemented when you create and print a PDF-based form.

Page 5: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

Creating a FormThe form interface is created separately from the form, which consists of the form context and layout. When you create a form, you must assign it to a form interface. You can assign multiple forms to the same interface, if they use the same data. Form interfaces and forms are stored as separate development objects in the repository. The form description includes the complete form design as a complex description in XML.

Form Output − RuntimeIf you use an application to create a form, you generally need to insert application data in the form. The architecture of PDF-based forms is designed to separate the collection of the application data from the definition of the actual form:

Page 6: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

When you activate the PDF-based form, a function module is generated that encapsulates all properties of the form. When the application program calls the function module, it uses its interface (corresponds to the form interface) to send it the application data. This can be, for example, table data selected previously in the application program. When the generated function module is called, the form description and application data is sent to Adobe document services. These services create the actual form:

● As a PDF to be processed later by the application or for the preview in Adobe Reader

● As a PCL, PostScript, or ZPL to be sent to the spool

A function module is available for more precise control of the output.

Page Concept and Elements of a Form

DefinitionYou specify the page layout for a form in Adobe Designer, and determine the order of the pages that have differing structures. Texts, data, tables, and various other types of objects can be displayed in the output range of a form page.

UseYou can create any number of pages for your form.

StructuresAdobe Designer includes two different types of pages that you can use to structure your form layout:

Page 7: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

• Master pages

• Body pages

You can position various elements on these pages. These elements are available in a library in Adobe Designer.

• Standard objects

• Static objects such as texts, graphics, rectangles, circles, and lines• Dynamic objects, such as option and list fields, date and time fields, text

fields, numeric fields, and password fields• Special date objects

• Your own user-defined objects

• Bar codes

For more information about the page concept, and the different types of page elements, see the online help in Adobe Designer.

To access the online help for Adobe Designer, call the Form Builder:

• • You are on the screen Form Builder: Change Form <Form Name> or Form Builder: Display Form ...

• • Choose Help → Help Topics under Layout.

Designing Forms with the Form Builder

PurposeYou can use this process to create or edit a PDF-based form. You can also edit a migrated Smart Form.

PrerequisitesYou have installed Adobe Designer on your front end.

Adobe Designer is installed with the SAP front end.

Process FlowTo create a form, you use the Form Builder that is integrated with the ABAP Workbench.

1. 1. 1. You create a form object.2. 2. In the interface, you define where the data comes from that you want to display

in the form. To do this, you call the interface function in the Form Builder.3. 3. You activate the interface.

Page 8: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

4. 4. In the context in the Form Builder, you drag and drop the required parameters from the interface you have defined. You can also insert texts, graphics, and addresses.

5. 5. In the layout function in the Form Builder, you create the layout. You use this graphical tool to design the printed appearance of the form, and drag and drop data from the form context you have defined.

6. 6. You activate form.

ResultYou have created a function module that encapsulates the form description. You can use an application program that collects the relevant data to call this function module. You then have a PDF-based document for mass printing in SAP systems.

Creating a Form Object

UseForm interfaces and form contexts with layouts are known as form objects. Before you can start to edit these objects in the Form Builder, you must create them. You have two options here:

Creating a Form Object in the Repository Browser2. ...

7. 1. You are in the Repository Browser of the ABAP Workbench.8. 2. Select a package.9. 3. To create a form interface, proceed as follows:

1. a. In the context menu of the package, choose Create ® Form Object ® Interface.

2. b. In the Create Interface dialog box, enter the name of the interface and select an interface type.

For more information about the different interface types, see Interface in the Form Builder.

3. c. Proceed as described under 5. below.10. 4. To create a form with a context and layout, proceed as follows:

4. a. In the context menu of the package, choose Create →Form Object → Form.

5. b. Enter the name of the form in the Create Form dialog box.6. c. Enter the name of the interface that you want the form to use.

11. 5. Choose Save.12. 6. The Create Object Directory Entry dialog box appears.13. 7. Enter your data and save the object.

Page 9: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

Creating a Form Object from a Transaction3. ...

14. 1. Call transaction SFP.15. 2. Enter the name of the interface or form.16. 3. Choose Create. 17. 4. If you want to create an interface, follow the procedure shown above under 3a.

If you want to create a form, follow the procedure show above under 4a.

ResultThe Form Builder starts. You can start to edit the interface or form.

Creating and Displaying Form Documentation

UseYou can create documentation for each of your forms or form interfaces (form objects). This documentation is used as F1 help and contains information for support team members or form developers who need to examine the form. The documentation is not included in the form output and is only available in Form Builder.A form object is assigned to precisely one piece of documentation; the documentation object is copied, deleted, renamed, and transported automatically with its accompanying form object. Note, however, that the documentation is ignored by the functions Upload Form Object and Download Form Object. The creation of form documentation is integrated into the standard documentation environment (transaction SE61).

PrerequisitesYou require SAP NetWeaver SPS 8 or higher.

Creating or Changing Documentation4. ...

18. 1. Under Form Builder: Entry Point, specify a form or interface.19. 2. Choose Goto → Documentation ® Change.20. 3. The system calls the SE61 editor and you can create your documentation.21. 4. Save your changes.22. 5. Choose Back.

Displaying Documentation5. ...

23. 1. Under Form Builder: Entry Point, specify a form or interface.24. 2. Choose Goto ® Documentation ® Display.25. 3. The documentation is displayed.

Page 10: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

Interface in Form Builder

UseYou want to include data in your form that was not specified when the form was created. This can include the following data:● Data selected from the database tables of your application. You use the form interface to

specify this data.

● Data provided by the SAP system or by the PDF-based print forms solution, such as dates

● Data that you have calculated or implemented in a form yourself, such as totals for tables

For all three of these data types, the data is not specified or inserted in the form until runtime. You use fields inserted as placeholders in the form to specify the appearance and location of the data in the form. These fields are replaced by the current data at runtime.

FeaturesYou can choose from the following three interface types: ● ABAP Dictionary-based interface

● Smart Forms-compatible interface

● XML-based interface

ABAP Dictionary-Based or Smart-Forms-Compatible InterfaceThese two interface types have different standard parameters in the form interface. Both interface types give you the following options for including data in PDF-based print forms:● In the form interface, you specify the data that is exchanged with the application program

(such as tables).

● Under Global Definitions, you define your own fields.

● The system fields contain data with a predefined meaning (such as the date).

You cannot enter system fields directly. When you call the context in Form Builder, the system shows the available system fields automatically in the interface. You can then drag and drop the required fields to the context.

● Under Code Initialization, you can create program code to modify global definition data before the form is processed. You can use form routines that are defined in ABAP Editor.

● You can assign currency and quantity fields.

XML Schema-Based InterfaceYou use this interface type if you create your forms in Form Builder in Web Dynpro for ABAP. This interface is an XML schema, which must be constructed in accordance with the W3C standard. You create the XML schema as a local XSD-type file, in an appropriate editor on your front end. You cannot edit it within Form Builder. You load the finished interface into Form Builder. The XML schema already contains the form context, which is sent directly to the data view in Adobe LiveCycle Designer. Unlike ABAP Dictionary-based interfaces and Smart Forms-compatible interfaces, you do not need to create the form context here. The XML schema-based interface consists of the following:

Page 11: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

● The form interface with the parameters that specify the dataThe runtime data from the application program is specified in the import parameter /1BCDWB/DOCXML (type XSTRING).

● The XML schemaThe loaded XML schema is displayed here.

ActivitiesThere are two ways of calling Form Builder for the interface:

From the ABAP Workbench (Transaction SE80)

Choose Form Objects → Interfaces and select an interface.

From Transaction SFP

6. ...26. 1. Call transaction SFP.27. 2. Choose Interface.28. 3. Enter the name of the interface.29. 4. Choose Create, Change, or Display. Form Builder starts. 30. 5. You can start to edit the interface. To select the interface type, switch to the

Properties tab page.

You cannot make changes if you have chosen Display.

Defining a Form Interface

UseYou define a form interface to send data from your application to a form.

IntegrationThe form interface is a part of the Interface form object and is defined in the Form Builder. The form interface of a form is structured in the same way as the interface of a function module in the system. However, form interfaces do not support Changing parameters.

Prerequisites● You have created an Interface form object.

● The application program provides the data that you want to insert in the form. Therefore, you already know the types of the corresponding variables.

The semantics of the valid parameter types match the semantics of a function module,

See also:

Getting Information about Interface Parameters

Overview of Function Modules (in ABAP Workbench: Tools)

Page 12: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

Creating Function Modules (in ABAP Programming (BC-ABA))

Procedure7. ...

31. 1. Open the required interface in the Repository Browser of the ABAP Workbench.

32. 2. The Interface tab is displayed. Under Form Interface, double-click the Import node.

33. 3. You see a screen for entering import parameters. This screen also shows the standard parameter /1BCDWB/DOCPARAMS. You cannot change this parameter.

You use this parameter in your application program, to specify the value for the language setting, for example. To display this structure in the ABAP Dictionary, double-click the SFPDOCPARAMS type.

34. 4. XML schema-based interface• ○ The standard parameter /1BCDWB/DOCXML with the type XSTRING is

used for sending data from the application program.ABAP-based or Smart-Forms-compatible interface

• ○ To insert a new line, choose Insert Line ( ). Enter the parameter names of the data you want to import. These names are valid for the whole form and do not have to match the variable names in the data collection program. All data types are valid. TYPE can be selected under Type Assignment.

35. 5. When you double-click Export, you see the standard parameter /1BCDWB/FORMOUTPUT of the generated function module. You cannot change this parameter.

You use this parameter in your application program, to make the generated form available as a PDF for further processing, for example.

36. 6. To display the exceptions used by the generated function module, double-click Exceptions.

37. 7. Activate the interface.

At runtime, the application program must provide the parameters. If a parameter has been defined in the form, but is not defined when the application program is called, then the output of the form ends with the program crashing (hex dump).

However, it is also possible that the application program provides parameters that the form does not need. You do not need to mention these parameters in the form; they can also be specified in a different order from the code of the application program. This has the advantage that an application program can work with several different forms.

Migrated Smart Forms Interface or New Smart Forms-Compatible Interface

When you edit the interface of a migrated Smart Form or a new interface that is compatible with Smart Forms, the Tables option gives you extra parameters. When you set the Import, Export, and Exceptions parameters, the system also lets you use the standard parameters from the Smart Forms.

Page 13: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

If you have a Smart Forms-compatible interface, you can use the existing application program of this Smart Form without making any modifications. (See also Switching Runtime in Migrating Smart Forms.)

ResultYou have defined the form interface and you can use the specified parameter names in the form context.

Global Definitions

UseGlobal definitions belong to the interface in the Form Builder. Here, you have the option of defining your own fields to be used anywhere in the form. You can initialize global data before you start to process the form, for example, to convert selected application data.

FeaturesGlobal Data

Here, you define any data needed by the form, but which has not been provided by the form interface (for example, to display totals).

Types

Here, you create data types as free ABAP code, if the ABAP Dictionary does not provide a type.

Field Symbols

You can use field symbols as pointers when you extract data from internal tables.

ActivitiesDouble-click the node that you want to edit.

See also:

Initialization

Initialization

UseSAP customers can use this function to execute ABAP program code before a form is processed. You can initialize the global data, for example, to convert selected application data. You can also select additional data without having to make changes in the application program.

FunctionsYou use the ABAP Editor to write the program code (Code Initialization) that is executed before the form is processed. You can include subroutines (Form Routines) when you do this.

We recommend that you use Global Datain the initialization.

Page 14: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

See also:

Global Definitions

Specifying a Currency or Quantity Reference

UseIn the ABAP Dictionary, you can assign a currency or quantity field to a table field. In the output of these fields, the system can then insert the relevant currency or unit:

If the value field is in the same table as the corresponding currency or quantity field, the system recognizes the reference automatically, and formats the value field according to the currency or unit in the assigned field.

If the value field is in a different table from the currency or quantity field, the system cannot recognize this reference automatically.

In the second case, you must indicate this reference to the system in the form, to ensure that the value field is formatted correctly.

ProcedureYou want to assign a currency or quantity field in one table (for example, CURTAB) to a value field in another table (for example, VALTAB).

8. ...38. Create the reference to the currency field by entering the following values:

1. Field Name: VALTAB-VALUE, if this is the value field of VALTAB that you want to display.

2. Reference Field: CURTAB-CURRENCY, which is the currency field of CURTAB.

39. Under Data Type, specify whether the data type is a currency or quantity.

ResultIn the output of the PDF-based print form, the system formats the value field VALTAB-VALUE according to the assigned value in the currency or quantity field of the global variable CURTAB-CURRENCY.

Context in Form Builder

UseIn the context (also known as the form context), you specify which data is copied from the interface to the form. You include this data as a node in a hierarchy structure. In this hierarchy, you also decide the form logic by specifying conditions for processing the nodes.

Page 15: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

PrerequisitesYou have created the form objects Interface and Form.

IntegrationThe context function in Form Builder is the link that binds the interface to the layout. You construct the form context from the existing interface. The system sends the form context to the layout function of Form Builder automatically. The layout function calls Adobe Designer, and the form context itself appears as a hierarchy under Data View. When you create the layout, you use the Data View nodes to include the data in the form.

FeaturesYou use the form logic of the context to control which rules are used to send the hierarchy nodes to the layout, and how they are processed. To view the entire form logic, expand all nodes. The form logic determines the following:● Whether the content of the node (text, addresses, graphics) are included in the output

● Whether the data of a node is Active or Inactive

● Whether a specified node or an alternative node is processed

9. ...For each node, a properties window is displayed under the context. You can specify conditions, if this is supported by the selected node. If the condition is met, then the node is processed. If the condition is not met, then the node is skipped, as well as all its subnodes. You can also specify WHERE conditions for the selection of data from tables. Only active nodes are forwarded to Form Builder to be processed in the layout. In this way, you can hide any items, such as table fields, that you do not need.

ActivitiesThere are two ways of calling Form Builder for the context:

From ABAP Workbench (Transaction SE80)

From the object list, choose Form Objects → Forms and select a form.

From Transaction SFP

40. 1. Call transaction SFP.41. 2. Choose Form.42. 3. Enter the name of the form.43. 4. Choose Create, Change, or Display. Form Builder starts.

You cannot edit if you have chosen Display.

44. 5. Define the layout type of the form. To do this, choose the Properties tab page.45. 6. Create or edit the context. To do this, choose the Context tab page.

Editing the Form Context

You can edit the form context in the following ways: ● Create nodes

Page 16: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

● Move and copy nodes

● Set node as active or inactive

● Update nodes

For an overview of the graphical user interface, see Screen Display in the Context of Form Builder.

Screen Display in the Context of the Form Builder

The following graphic shows you the structure of the screen that appears when you select the Context tab in the Form Builder. The interface on which the form is based is displayed, but cannot be changed here.

To edit the interface, choose the Properties tab and double-click the name of the interface.

To edit the layout, choose the Layout tab.

Page 17: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

Nodes in the Context

DefinitionNodes in the context are organized in a hierarchy. The first node in the context is a folder node and has the name of the form. Some nodes represent the data in the form, others represent the form logic. You can use conditions to specify whether the data in the form is included and displayed at runtime.

Node TypesNodes Without Subnodes

Symbol Node Type Meaning

Text Text module, include text, or dynamic text

Graphic Graphic

Address Address; the address data is extracted directly from database tables and formatted for printing.

Other Nodes

Symbol Node Type Meaning Possible Direct Subnodes

Data node Elementary data field None

Structure Structure All nodes; data nodes are generated automatically.

Table/loop Dynamic table All nodes; data nodes are generated automatically.

Alternative Alternatives, depending on conditions

TRUE and FALSE; can have any node as a direct subnode

Folder Groups subnodes for clarity

Any nodes

Condition Not a separate node. Displayed directly after the node that is processed depending on this condition.

None

Page 18: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

Creating Nodes 10. ...

46. 1. To create one or more nodes, drag the required fields from the interface on the left of the screen to the context.

Double-click a field in the interface to display a dialog box with detailed information about the properties and type of the field.

47. 2. Click a node in the context with the secondary mouse button to display the context menu for this node. Depending on the data type, you have the following options:• You can set the node as Active or Inactive. Only active nodes are sent to the

layout in the Form Builder.• You can create a new node. As well as the data defined in the interface, you

can create nodes for text, graphics, and addresses.• You can copy, delete, cut, and paste nodes.

48. 3. Double-click the node to display more details about the node in a screen under the context. Depending on the node type, you can do the following:• Enter and change properties • Enter and change conditions

ResultYou have created nodes in the context.

Moving or Copying Nodes Moving or Copying Nodes with Drag&Drop

• To move a node, use Drag&Drop to drag it to the required place in the form context.

• To copy a node, drag it as above, but press the Ctrl key at the same time.

Moving or Copying Nodes with the Context Menu

11. ...49. 1. In the context, select a node that you want to move or copy.50. 2. Now perform the following:

• To move a node, choose Cut in the context menu of the node.• To copy a node, choose Copy.

To display the context menu of the node, click the secondary mouse button.

51. 3. In the context, select the node under which you want to insert the new or copied node.

52. 4. In the context of this node, choose Paste.

Page 19: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

You cannot delete, move, or copy generated nodes (flagged with ) in structures and tables. However, you can set them as Active or Inactive in the context menu.

Setting Nodes as Active or Inactive

UseTo hide one or more nodes in the form context, when sending them to the layout in the Form Builder, set these nodes as inactive. Only active nodes are sent to the layout and can be used by Adobe Designer in the data view. In this way, you only see the data that you actually need for the form, which makes it easier to use. At runtime, only the active nodes are included in the form.

Unlike the active or inactive setting, conditions are not implemented until runtime. A node with a condition always appears in the data view of Adobe Designer, as long as it is active.

Activities12. ...

53. 1. Select one or more nodes.54. 2. Click the secondary mouse button and choose Set to Active or Set to Inactive in

the context menu.You can set also set individual nodes as active or inactive in the Properties window.

ExampleYou have created a BOOKINGS table node in the form context. When you expand the table node and its subnodes, you can see all its data nodes (MANDT, CARRID, CONNID, FLDATE, PASSNAME, and so on). These nodes are flagged as generated ( ). To copy only the FLDATE and PASSNAME data nodes to the layout, select all the other data nodes in the table and set them as inactive. Accordingly, when you choose the Layout tab page, you see the BOOKINGS node with the row node and FLDATE and PASSNAME in the data view of Adobe Designer. Only these two data nodes in the table will be included in the form at runtime.

Updating Nodes

UseIf you have already started to edit the form context and you have made changes to the field definition of nodes, then you can use this function to update the context.The form context shows both generated and non-generated nodes.

Page 20: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

Generated nodes (flagged with ) are the fields of structures or tables that you have inserted in the context from the interface.

You cannot delete, copy, or move generated nodes. However, you can set any nodes that you do not need in your form as inactive. For more information, see Setting Nodes as Active or Inactive.

You can change the appearance of structures and tables by adding more data nodes or tables. These nodes are not generated. In this way, you can nest tables inside each other, for example.Non-generated nodes are, for example, the top nodes of structures or tables that you have inserted in the context from the interface. These nodes are not flagged with .

Activities13. ...

55. 1. Choose the node that you want to update.

You can choose non-generated nodes only.

56. 2. To update a node together with all of its subnodes (generated and non-generated nodes), choose the icon, with the text Update, on the right of the screen above the context.

Properties

UseProperties describe the content or meaning of a node.

Activities14. ...

57. 1. Double-click the node to open the properties screen.58. 2. You can now change general properties of the node, such as Name,

Description, and Status. A node can have active or inactive status. Only active nodes are sent to the layout in the Form Builder, and used in the form output.

If you use loop nodes, structure nodes, single record nodes, or data nodes that have a reference to the ABAP Dictionary, the system copies the short text of the type from the ABAP Dictionary under Description. You cannot change this. This has the advantage that these texts do not need to be saved in the form, and reduces the need for translations. For more information about converting older PDF-based print forms, see SAP Note 808116 at service.sap.com/notes.

59. 3. Depending on the chosen node, the system also displays additional node-specific properties (which you can change), as well as the general properties. For an explanation, see the description of the node.

Page 21: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

In many cases, you can enter static and dynamic values for the node properties:

• ■ An example of a static value is a text module, specified in quotation marks. It is entered in the format 'TEXTNAME'.

• ■ A dynamic field is the name of a field. This field can contain, for example, the text module name at runtime. It is not entered in quotation marks: FIELDFORNAME.

As well as the properties, for some nodes you can also specify conditions for the form output.

Conditions

UseYou can define conditions for individual nodes, or for whole subhierarchies of the context. A node, or all its subnodes, is then only processed if the related condition is met. To select from two alternative subhierarchies in the form output, use the alternative node.

PrerequisitesA node exists for which you want to define conditions. This node must allow conditions to be defined.

FeaturesYou can define conditions using logical relationships.

Activities15.

60. 1. Double-click the node for which you want to define a condition.61. 2. The Properties window opens.62. 3. Choose Conditions.63. 4. To insert a line, click .64. 5. For each line, you can enter a condition with two operands. The operand can be

a field (variable) or a value.65. 6. Choose Relational Operator to display a screen where you can make a

selection of relational operators.66. 7. Choose Operator to link successive lines with each other. You can choose both

AND and OR relationships.

In the first line, the Operator field stays empty.

Page 22: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

Inserting Data

UseYou want to insert elementary data fields ( ) that are specified in the interface on the left of the screen. You have two options here:

Inserting a Data Node with Drag&Drop

Use Drag&Drop to move the required data field from the interface to an existing node in the context.

Inserting a Data Node Using the Context Menu

16. ...67. 1. Select an existing node in the context, under which you want to create a data

node.68. 2. In the context menu of the node, choose Create → Data.

To display the context menu of the node, click the secondary mouse button.

69. 3. In the Create Data dialog box, enter a field name.

Use the F4 help to display a list of all data fields used in the interface.

70. 4. Choose Continue.The system creates a data node under the selected node.

Editing Properties and Conditions

• In the window under the context, the system displays the properties of the inserted data node.

• For data nodes that reference the ABAP Dictionary, the system takes the related short text from the ABAP Dictionary. You cannot change this. However, you can select the Field Label. The text chosen here is used in Adobe LiveCycle Designer to display the label of the data field in the layout.

• The full field name of the node is displayed under Data.• Under Status, you can set the data node as active or inactive.

• Under Conditions, enter the prerequisites that need to be met before the data node is processed at runtime and displayed in the form.

ResultYou have created a complete data node. In the layout in the Form Builder, you can insert this node in the form.

Page 23: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

Inserting a Structure

UseYou want to insert a structure ( ) from the interface on the left of the screen. You have two options:

Inserting a Structure Node with Drag&Drop

Use Drag&Drop to move the required structure from the interface to an existing node in the context.

Inserting a Structure Node Using the Context Menu

17. 71. 1. Select an existing node in the context, under which you want to create a

structure node.72. 2. In the context menu of the node, choose Create → Structure.

To display the context menu of the node, click the secondary mouse button.

73. 3. In the Create Structure dialog box, enter a structure name.

Use the F4 help to display a list of all structures used in the interface.

74. 4. Choose Continue.75. 5. The system creates a structure node under the selected node. The node is fully

expanded so that you can see the individual fields of the structure. In the window under the context, the system displays the properties of the node. Under Status, you can set the structure node as active or inactive.

76. 6. Under Conditions, enter the prerequisites that need to be met before the structure node is processed at runtime and displayed in the form.

You can specify conditions for each data node in the structure, or switch it to active or inactive.

ResultYou have created a complete structure node. When you expand the node, you can see the individual fields of the structure. These have been generated, which means they are flagged with the icon.In the layout in the Form Builder, you can insert the structure node in the form.

Page 24: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

Inserting a Table or Loop

UseYou want to include a table ( ) from the interface on the left of the screen and define the loop that selects the table data. You have two options here:

Inserting a Table Node with Drag&Drop

Use Drag&Drop to move the required table from the interface to an existing node in the context. Proceed as described under 5. below.

Inserting a Table Node Using the Context Menu

18. ...77. 1. Select an existing node in the context, under which you want to create a

table/loop node.78. 2. In the context menu of the node, choose Create → Loop.

To display the context menu of the node, click the secondary mouse button.

79. 3. In the Create Loop dialog box, enter a table name.

Use the F4 help to display a list of all tables used in the interface.

80. 4. Choose Enter81. 5. The system creates a table node under the selected node. The node is fully

expanded so that you can see the individual fields of the table. In the window under the context, the system displays the properties of this node. • ○ If you are using a migrated Smart Form as a form, specify the assignment

type under Output Behavior and also the work area of the table. For more information, see the documentation for Smart Forms, under Reading Internal Tables.

• ○ If required, restrict the table range that you want to read by setting the input fields From Row and To Row.

• ○ Under Status, you can set the table node as active or inactive.

You can set individual data nodes in the table as Active or Inactive in the context menu. Only active nodes are sent to the layout in the Form Builder.

82. 6. Under Conditions, enter the prerequisites that need to be met before the table is processed at runtime and displayed in the form.

You can also specify conditions for individual data nodes in the table.

83. 7. You can use WHERE conditions to select only parts of the data from the table at runtime.

84. 8. Under Control Levels, enter one or more data fields from the table that you want to use to group information in the output. When you choose this option, the

Page 25: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

context tree is changed. The grouping is indicated by the selected fields being placed before all other fields of the table.

You can choose between ascending and descending sorting. However, this is only active if you do not set the Already Sorted flag under Properties.

Data nodes that are defined as part of a structure within the table cannot be specified as a control level.

ResultYou have created a complete table node. When you expand the node, you can see the individual fields of the table. These have been generated, which means they are flagged with the icon. In the layout in the Form Builder, you can insert the table node in the form. At runtime, the data is selected according to your settings.

Inserting a Single Record Node

UseYou can use the single record node ( ) to extract single data records from internal tables. You can extract a single row (record) of a table in two ways:

19. ...85. 1. You enter the row number.86. 2. You specify a search key.

When you specify a search key, the table row is read by the ABAP statement READ TABLE itab WITH KEY k1 = f1 ... kn = fn result. In this case, the return code SY-SUBRC is inserted in the system field SFPSY-SUBRC. If multiple records are accessed, this system field contains the SY-SUBRC value of the last access. For more information about this statement, see Reading Rows of Tables.

Procedure20. ...

87. 1. Select an existing node in the context, under which you want to create a single record node.

88. 2. In the context menu of the node, choose Create → Single Record.89. 3. In the Create Single Record dialog box, enter a table name.

Use the F4 help to display a list of all tables used in the interface.

90. 4. Choose Continue.91. 5. The system creates a single record node under the selected node. The node is

fully expanded so that you can see the individual fields of the table. In the window under the context, the system displays the properties of this node. • ○ Under Status, you can set the single record node as active or inactive.

Page 26: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

You can set individual data nodes in the table as Active or Inactive in the context menu. Only active nodes are sent to the layout in Form Builder.

• ○ Under Row, enter the row number of the internal table that you want to extract.

• ○ Select the Binary Search option only if you want to use a search key to display the table row, and you want to perform a binary search.

92. 6. You can also use a search key to extract rows from the internal table. Enter this key under With-Key Conditions. Note that you cannot enter any information under Row.

93. 7. Under Conditions, enter the prerequisites that need to be met before the table row is processed at runtime and displayed in the form.

You can also specify conditions for individual data nodes in the table. To do this, select a data node. The properties and conditions that are displayed refer to the data node.

ResultYou have created a complete single record node. When you expand the node, you can see the individual fields of the table. These have been generated and cannot be deleted, which means they are flagged with the icon. In the layout in Form Builder, you can insert the single record node in the form. At runtime, the data is selected according to your settings.

Grouping Tables by Data Fields

UseYou can create control levels to group tables by data fields. In this way, you can, for example, define a nested output for a flat internal table.

PrerequisitesYou have created a table node or a loop node.

ProcedureYou enter the required information in the table node. For more information, see Inserting a Table or Loop.

Inserting a Text

UseYou can use a text node to insert texts in the output of a form. You can choose from various text types: ● Text modules

Page 27: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

● Include texts

● Dynamic texts

Include texts are SAPscript texts that already exist in the system. Text modules also exist in the system; you create and edit them in transaction SMARTFORMS. They are cross-client texts and are linked to the Change and Transport System and translation tools. For dynamic texts, the text and its name are not known until the output of the form is created. The text name is specified by the content of a variable field. None of these text types are inserted until the form is printed.

PrerequisitesThe text module or include text that you want to insert must exist in the system.

Remember the restrictions that apply when processing forms with inserted texts. You can find a list of restrictions under:

• ■ Entering Text Module Properties • ■ Entering Include Text Properties

Procedure21.

94. 1. Select an existing node in the context, under which you want to create a text node.

95. 2. In the context menu of the node, choose Create → Text.

To display the context menu of the node, click the secondary mouse button.

96. 3. The system creates a text node under the selected node. 97. 4. In the Properties window under the form context, choose Text Module, Include

Text, or Dynamic Text. 98. 5. Save and confirm your changes in the next dialog box. The system modifies

the Properties window according to your selection.99. 6. Under Properties, enter the required information about the text type. (See:

Entering Text Module Properties, Entering Include Text Properties)100. 7. Under Conditions, enter the prerequisites that need to be met before the text

node is processed at runtime and displayed in the form.

You can set a text node as Active or Inactive in the context menu. Only active nodes are sent to the layout in Form Builder.

Entering Text Module Properties

PrerequisitesYou have created a text node in the context and selected the text type Text Module. The text module exists in the system.

Page 28: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

RestrictionsThe following components are not supported in text modules and are ignored when the form is processed:● Outline paragraphs

● Paragraph properties: Page protection, next paragraph on same page

● Character formats: Superscript and subscript, bar codes

● Special characters

● System fields, such as SFSY-DATE

● Hyperlinks

The following are supported with restrictions:22. ...

● Tabulators, but not for aligning fields within texts

● SAP characters, but not SAP icons, for example

More information about these restrictions is available in the SAP Notes 894389 and 863893.

Procedure101. 1. Specify the general properties of the text module, such as the name,

description, and status.102. 2. Under Text Name, enter the name under which the text module is stored in the

system.

Choose F4 to see a selection of all text modules in the system.

103. 3. Enter the text language in which you want the text module to be inserted. Choose F4 to see a selection of languages.

104. 4. Set the flag No error if text not available if you still want the form to be printed, even if the inserted text module does not exist in the system. If you do not set this flag, the form is not printed, and an error message appears.

105. 5. Set the flag Copy Style from Text Module if you want to keep the style from the text module.

106. 6. Under Style, you can specify a different style.

ResultYou have created a text node. The corresponding text is not inserted until the form is processed.

For more information about creating and changing text modules, see Maintenance of Text Modules in the Smart Forms documentation.

Page 29: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

Entering Include Text Properties

UseYou want to display a SAPscript text in the form. This text type has the same function as the SAPscript command INCLUDE.

If you do not have to use SAPscript texts, we recommend that you use text modules. They are cross-client texts and are linked to Change and Transport System and the translation tools.

RestrictionsThe following components are not supported in SAPscript texts and are ignored when the form is processed:● SAPscript styles

● Outline paragraphs

● Control statements

● Paragraph properties: Page protection, next paragraph on same page

● Character formats: Superscript and subscript, bar codes

● Special characters

● System icons, such as ULINE

● Standard icons

● Hyperlinks

The following are supported with restrictions:● Tabulators, but not for aligning fields within texts

● SAP characters, but not SAP icons, for example

More information about these restrictions is available in the SAP Notes 894389 and 863893.

PrerequisitesYou have created a text node in the context and selected the text type Include Text. The include text, which has been created with SAPscript Editor, exists in the system.

Procedure107. 1. Specify the general properties of the include text, such as the name,

description, and status.108. 2. Under Text Name, enter the name under which the include text is stored in the

system.

Choose F4 to see a selection of the texts in the system.

109. 3. Specify the text object. TEXT indicates a standard SAPscript text.

You use transaction SE75 to define separate text objects with their own text IDs for applications. In this way, you can manage application-specific form texts. The TEXT

Page 30: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

text object with the text ID ST is used for general standard texts that you create with the standard text editor (transaction SO10).

Enter constant values in quotation marks.

110. 4. Specify the text ID. The usual ID of a standard SAPscript text is ST.111. 5. Enter the text language in which you want the include text to be inserted.

If specified, the system copies the values for Text Object, Text ID, and Text Language already stored for this text in the SAP system.

112. 6. Set the flag No error if text not available if you still want the form to be printed, even if the inserted include text does not exist in the system. If you do not set this flag, the form is not printed, and an error message appears.

113. 7. The style assigned to the text node contains formatting for standard paragraphs (‘*’). If you specify a paragraph format in the Standard Paragraph field, you override the format of all standard paragraphs in the include text with this format.

114. 8. Under First Paragraph, you can set a paragraph format for the first paragraph of the include text. This overrides the setting in the style. If you leave the Standard Paragraph field empty, all standard paragraphs in the include text are also formatted with this paragraph format.

115. 9. Specify the style that you want to use for the include text.

ResultYou have created a text node with the text type Include Text. The corresponding text is not inserted until the form is processed.

For more information about creating and editing SAPscript texts, see the SAPscript Editor documentation.

Inserting a Graphic

UseUnder the graphic node, you can insert graphics, such as a company logo, to be used in the form output. In Adobe LiveCycle Designer, you bind graphic nodes to an object of the type Image Field. You use the graphic node to specify where the content of the image comes from at runtime. To do this, you either specify the URL address of an image or the name of a field in which the image content is specified in binary code at runtime.

For information about the supported image file formats, see the online help in Adobe LiveCycle Designer under Defining Object Properties ® Image Fields ® About Image Fields.

Page 31: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

PrerequisitesAny graphics that you want to display with the Graphic Content option must be stored in MIME Repository. For more information about graphics used in Smart Forms, see Migrating BDS Graphics into MIME Repository.

Procedure23. ...

116. 1. Select an existing node in the context, under which you want to create a graphic node.

117. 2. In the context menu of the node, choose Create → Graphic.118. 3. The system creates a graphic node under the selected node. Enter the required

data about the graphic in the Properties window under the form context.You can choose from the following graphic types:

• ○ Graphic Reference Choose this option if you want to insert a graphic from its address (URL). The URL can point to a Web server or to a file system. You must be able to access the graphic at the specified URL. This means that you may have to configure appropriate access rights for Adobe Document Services (ADS). Graphics stored in MIME Repository cannot be accessed through a URL. To use these graphics, choose Graphic Content.

• ○ Graphic ContentChoose this option if you want to specify graphic content using a field. This field contains all image information at runtime. The graphics must be in MIME Repository.

119. 4. The entries you need to make depend on whether you chose Graphic Reference or Graphic Content in the last step.• ○ If you have chosen Graphic Reference as your graphic type, enter the URL of

the graphic.

In Adobe LiveCycle Designer, you can choose whether the system gets the graphic at runtime, or whether the graphic is embedded in the form. For more information, see the online help in Adobe Designer.

• ○ If you have specified Graphic Content as your graphic type, you must do the following:• ■ In Field, enter a field name from the interface. The field must have the

type STRING (graphical data is Base64-coded) or XSTRING (for binary-coded graphical data).

• ■ Enter a valid MIME type, such as ’image/bmp’.120. 5. Under Conditions, enter the prerequisites that need to be met before the

graphic node is processed at runtime and displayed in the form.

ResultYou have created a complete graphic node. You can insert this node in the layout in Form Builder.

Page 32: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

ExampleYou want to insert a graphic from the Website of the fictitious company AnyCompany in your form. You have chosen Graphic Reference as your graphic type. The example shows you two ways of specifying the URL.

1. Specifying a URL with Fixed Values

Graphic URL Delimiter

’http://www.anycompany.com/images/logo.gif’

If you have inserted the graphic node in Adobe LiveCycle Designer, the following URL is entered for the graphic object:http://www.anycompany.com/images/logo.gif

2. Specifying the URL by Using Fields

Graphic URL Delimiter

‘http://www.anycompany.com/images’ /

GRAPHIC_NAME

’.gif’

GRAPHIC_NAME is a field from the interface that is entered as an import parameter. At runtime, it contains the name of the graphic that you want to load. The graphic is unknown when the layout is created, which is why no URL appears in Adobe LiveCycle Designer.

Inserting an Address

UseMany applications use the Business Address Services (BAS) to manage addresses. The addresses are stored in a database, where they are identified by numbers.

PrerequisitesYour application must manage addresses in the BAS; otherwise, you must insert your addresses using text nodesor insert them directly in the layoutas text.

Procedure24.

121. 1. Select an existing node in the context, under which you want to create an address node.

122. 2. In the context menu of the node, choose Create → Address.

Page 33: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

To display the context menu of the node, click the secondary mouse button.

123. 3. The system creates an address node under the selected node. Enter the required data about the address in the Properties window under the form context.

The information required for the address node is similar to that in Smart Forms. One difference here is that you need to specify the sending country under Additional Specifications.

124. 4. Under Conditions, enter the prerequisites that need to be met before the address node is processed at runtime and displayed in the form.

See also:Inserting Addresses (from the Smart Forms documentation)

Inserting an Alternative

UseYou want to present an alternative option in a form. You want one of two nodes (and its subnodes) to be processed. To do this, you use the alternative node. This node has two successors. The first successor node (TRUE) is processed only if the condition is met; otherwise, the second successor node (FALSE) is processed.

Procedure125. 1. Select an existing node in the context, under which you want to create an

alternative node.126. 2. In the context menu of the node, choose Create → Alternative.

To display the context menu of the node, click the secondary mouse button.

127. 3. The system creates an alternative node under the selected node, with the two subnodes TRUE and FALSE. Enter the required data in the Properties window under the form context. Double-click the subnodes to enter their properties as well.

128. 4. Under Alternative Conditions, specify the conditions for a node to be processed.

The window in which you define the alternative conditions is the same as the window used for defining the conditions for nodes.

ResultYou have created an alternative node. In the context menu of the TRUE and FALSE nodes, choose Create → … to create nodes for the alternative options. You can use Drag&Drop to assign any existing node as a subnode.

Page 34: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

Inserting a Folder

UseThe more detailed a form becomes, the more difficult it is to get a clear overview of the hierarchy of nodes. To make the hierarchy easier to understand, you can organize nodes under folder nodes.

You want to begin a reminder with a different text, depending on which deadline has been missed. To do this, you create a text node with a different reminder text for each level of reminder. You then use conditions to display just one of these nodes at runtime. Here, it is a good idea to group these text nodes in a specific folder.

Procedure25.

129. 1. Select an existing node in the context, under which you want to create a folder node.

130. 2. In the context menu of the node, choose Create → Folder.

To display the context menu of the node, click the secondary mouse button.

131. 3. The system creates a folder node under the selected node.132. 4. In the Properties window under the form context, you can enter a name for the

folder node.133. 5. Under Conditions, enter the prerequisites that need to be met before the folder

node is processed at runtime (together with its subnodes) and displayed in the form.

ResultYou have created a folder node. In the context menu of the folder node, choose Create → ... to create subnodes. You can use Drag&Drop to assign any existing node as a subnode.

System Fields The interface of a form contains the field string SFPSY. This string contains a range of system fields that the system replaces with values when a form is processed. The field content is either taken from the SAP system or is created while the form is being processed. For example, you can use the system field SFPSY-DATE to display today’s date on your form. Migrated forms use the system fields from Smart Forms. The following general rules apply to system fields:

• You can display the value of any system field in the form.

Page 35: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

• You cannot assign a value to a system field.

• In general, you can query system fields (for example, in conditions) for any fields.

System Fields

Field Name Meaning

SFPSY-DATE Date and time, current date of the application server

SFPSY-TIME Date and time, current time of the application server

SFPSY-USERNAME Logon name for user in the SAP system

SFPSY-SUBRC If single record nodes are used, contains content of the SY-SUBRC field in the ABAP statement READ TABLE

Field List

UseThe field list shows you detailed information about the individual fields (such as structure and tables) of the form interface. It is displayed below the interface.

See Screen Display in the Context of the Form Builder

ActivitiesDouble-click a field in the interface to display information on the properties and type of this field in the lower screen area of the interface. If the field has a type from the ABAP Dictionary, you can double-click the type name to go to its entry in the ABAP Dictionary.

Reloading an Interface

UseYou have already started to edit the form context and you have made changes to the interface, in another session, for example. You can use this function to update the display of the form interface in the context without having to exit the Form Builder for the context.

ActivitiesTo reload the interface, choose the icon, with the text Reload Interface, on the left of the screen above the interface.

Page 36: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

Layout in the Form Builder

UseWhen you create a layout in the Form Builder, you define the graphical design of the PDF form. This includes the positioning of the data and the design of tables. You can also specify background pictures for the form, and define the order of the pages.

IntegrationThe Layout function in the Form Builder calls Adobe LiveCycle Designer, an integrated graphical software tool for creating forms.

PrerequisitesYou have created a form context or loaded an XML schema-based interface.

FeaturesUnder Layout in the Form Builder, you can use a wide range of functions to design your form. To do this, you use the form context you have created previously or an XML schema displayed as a tree structure under Data View in Adobe LiveCycle Designer. You can use Drag&Drop to insert data fields from the Data View section in the page layout.

ActivitiesThere are two ways of editing the layout:

• You choose the Layout tab page. Adobe LiveCycle Designer starts on this tab.

• In the application toolbar, you choose Layout (quick info Fullscreen Layout). Adobe LiveCycle Designer starts in fullscreen mode. To access the menu bar and application toolbar, you first have to close the tool.

For more information about editing layouts, see the online help in Adobe LiveCycle Designer.

Layout Type You use the layout type to define the runtime environment where the form is used.

The layout type you define must match the script code in the layout. Otherwise runtime errors can occur.

To select a layout type, choose the Properties tab page in Form Builder: Change Form.

Layout Types

Layout Type Meaning

Unknown layout type The form has not yet been classified. This is the case if you are creating a new form or editing a form created with an older version of SAP NetWeaver. You still have to classify the form.

Page 37: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

Standard layout Use this layout type for PDF-based print forms, or for interactive forms used in an offline scenario and not integrated in a Web Dynpro environment at runtime.

xACF layout The Active Components Framework technology is used to integrate the form at runtime in Web Dynpro applications; ActiveX must be enabled in the browser.

Note that you can make this setting only if the layout type of your form was previously Unknown. If your form is already set to Standard or ZCI, you cannot choose xACF. You can still, however, access your old form using version management.

ZCI layout Zero Client Installation (ZCI) technology is used to integrate the form at runtime in Web Dynpro applications. You specify this setting when you create new forms. The system enters this value automatically when you migrate old forms to ZCI. For more information, see Creating Forms for Integration with Web Dynpro and ZCI and Check and Update Functions for Zero Client Installation (ZCI).

Objects in Adobe LiveCycle Designer

DefinitionAdobe LiveCycle Designer provides you with objects that you can use to create your form. These objects contain special functions and can be found in the Designer’s library. Also included are some objects developed specially for the SAP development environment.

For more detailed information, see the Designer’s online help under Working with Objects → Using Custom Objects → Custom Objects for the SAP Environment.

Date Objects in Adobe LiveCycle Designer

DefinitionUnder Library ® Form Builder, Adobe LiveCycle Designer provides you with the following date objects:

• Localized Full Date

• Localized Long Date

Page 38: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

• Localized Medium Date

• Localized Short Date

UseYou use these date objects to format dates locally when you call the form. The dates are formatted according to the parameter values entered for language and country in the application program. These values are sent to the generated function module that contains the form description.

ExampleYou want to display the date objects on the form in US format or in German format.DATA FP_DOCPARAMS TYPE SFPDOCPARAMS.[...] * US format FP_DOCPARAMS-LANGU = 'EN'. FP_DOCPARAMS-COUNTRY = 'US'. * German format* FP_DOCPARAMS-LANGU = 'D'.* FP_DOCPARAMS-COUNTRY = 'DE'. * Call the generated function module CALL FUNCTION FM_NAME EXPORTING /1BCDWB/DOCPARAMS = FP_DOCPARAMS

Date Display as Specified by Date Objects

Date Object US Date German Date

Standard Date/Time Field May 17, 2004 17.05.2004

Localized Default Date May 17, 2004 17.05.2004

Localized Full Date Monday, May 17, 2004 Montag, 17. Mai 2004

Localized Long Date May 17, 2004 17. Mai 2004

Localized Medium Date May 17, 2004 17.05.2004

Localized Short Date 5/17/04 17.05.04

For more information, see Example: Calling Forms in the Application Program.

FormCalc Language Reference Your local Adobe Designer installation includes a FormCalc language reference in a PDF file that you can print out.

Page 39: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

If you have installed Adobe Designer on your C: drive, the FormCalc language reference is in the following location:C:\Program Files\Adobe\Designer 7.1\Documentation\<country>\FormCalc.pdf

You enter EN for <country> if you have an English installation, DE if you have a German installation, for example.

Checking and Testing a PDF-Based Print Form

UseTo guarantee that your form is free from errors, and that its layout meets your requirements, you can use a range of check options. You can run checks on the form and test it in the print preview. The system also runs automatic checks when you activate the form. You can run additional checks in the layout of the Form Builder. These checks test the data links between the context and the layout.

PrerequisitesTo check the layout and display the preview, you must have installed Adobe Reader or Adobe Acrobat (both with Version 7.0 or later) on your front end.

FeaturesThe system enables you to check your form in the following ways:

● Check the interface

The system runs a syntax check on the interface.

● Check the form

The system runs a syntax check in the context. For example, it checks to see whether all necessary field properties have been entered. The system also checks whether the assigned interface is active, and whether all the fields in the context have a link to the interface. Links to the interface can be lost when the interface is modified. These checks also run each time you start to edit the layout.

● Activation checks

The system checks the form each time it is activated.

● Check the layout

The system checks whether all fields from the context have been inserted in the layout, and also whether all fields in the layout have a data link to the context.

● Form preview with and without inserted data

The form is displayed in PDF format in Adobe Reader or Adobe Acrobat.

● Test the form

The system generates a function module that contains the form description. You can send test data to this function module, which then inserts this data in a print preview of the form.

Page 40: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

ActivitiesChecking an Interface

26. ...You are in the interface of the Form Builder.134. 1. Choose Check (Ctrl+F2) in the application toolbar. 135. 2. The system checks the interface and displays any errors or warnings in a list.136. 3. Double-click a message to locate the error in the interface.

Checking a Form

27. ...28. .

137. 1. You are in the context in the Form Builder or in the layout in the Form Builder.

138. 2. Choose Check (Ctrl+F2) in the application toolbar.139. 3. The system checks the interface and displays any errors or warnings in a list.140. 4. Double-click a message to locate the error in the context.

Checking a Layout

29. ...30. ...

141. 1. You are in the layout in the Form Builder.142. 2. Choose Layout in the application toolbar.143. 3. The system checks the layout and displays any errors in a list. These messages

are just warnings; you can still activate the layout later. You cannot navigate to the fields from this list.

Preview Without Data

You use the preview function in Adobe LiveCycle Designer to display the form in PDF format while you are creating the layout. However, this function does not insert any data. For more information, see the online help in Adobe LiveCycle Designer.

Print Preview with Inserted Data or Form

31. ...144. 1. You are in the context in the Form Builder or in the layout in the Form

Builder.145. 2. Choose Test (F8) in the application toolbar.146. 3. The screen Test Function Module: Initial Screen appears.147. 4. Enter the test data for the import parameters and choose Execute.148. 5. The printer settings dialog box appears. Enter your data and choose Print

Preview.149. 6. The system starts Adobe Acrobat or Adobe Reader and displays the PDF form

with your data inserted.

If the form does not appear how you want it to, or if errors occur, activate the function Saving Runtime Information and a Generated PDF Locally and repeat the test.

Page 41: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

Calling Forms in an Application Program

PurposeTo print or archive a form, you use function modules to call it in an application program. An initial function module determines the name of the generated function module that describes the PDF-based form. Two further function modules control the output of the form, and specify whether it is printed or archived.The form is then called in the application program after the necessary data has been selected. If you want to send your form as a fax or e-mail, you must forward the PDF to the Business Communication Services after the form has been called. You use the function module FP_JOB_OPEN to control how the form is sent back to the application program as a PDF. You get the PDF itself from the generated function module.The following process describes how a PDF-based form with a non-Smart Forms-compatible interface is called.

If you migrated the PDF-based form from a Smart Form, or if the interface is Smart Forms-compatible, the form is called in the application program in the same way as a Smart Form.

For more information, see the following Smart Forms documentation:

Integrating the Smart Form into the Application

Migrating Smart Forms (under Switching Runtime)

PrerequisitesYou have created and activated a PDF-based form. You have experience of programming with ABAP and handling function modules.

Process Flow150. 1. In the application program, you define a variable of the type RS38L_FNAM

for the name of the generated function module:151. 2. You call the function module FP_JOB_OPEN. You use this function module to

specify settings for the form output. You specify whether you want the form to be printed, archived, or sent back to the application program as a PDF. The form output is controlled using the parameters (IE_OUTPUTPARAMS) with the type SFPOUTPUTPARAMS.

For the individual fields of the structure SFPOUTPUTPARAMS and their meaning, see the ABAP Dictionary (transaction SE11).

152. 3. You determine the name of the generated function module by calling FP_FUNCTION_MODULE_NAME.

The name of the generated function module is unique only in one system. This is why you must first call the function module that gets the current name of the generated function module from the name of the form.

Page 42: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

153. 4. You call the generated function module and send the parameters to the form interface.

The structure SFPDOCPARAMS exists as an additional import parameter for the generated function module (for example, for setting the language); the structure FPFORMOUTPUT exists as an export parameter. For more information, see Parameters of the Generated Function Module.

154. 5. You call the function module FP_JOB_CLOSE to complete the processing of the form.

ResultThe system creates the form with the integrated application data in PDL (Printer Definition Language) form and forwards it to the spool processing tools. A PDF is created only if the appropriate parameters are sent to FP_JOB_OPEN when archiving, returning a PDF, or using print preview.As long as you do not modify the form interface, you can continue to edit the form without modifying the application program. However, if you modify the form interface, you must also modify the interface in the application program accordingly.See also:Example: Calling Forms in an Application Program

Parameters of the Generated Function Module You can use the parameters of the generated function module to define the way the form is displayed and its properties when it is called by the application program. The following lists these parameters:

From the perspective of the function module interface:

● The parameters of the structure SFPDOCPARAMS are import parameters (/1BCDWB/DOCPARAMS).

● The parameters of the structure FPFORMOUTPUT are export parameters (/1BCDWB/FORMOUTPUT).

Parameters of the Structure SFPDOCPARAMS

Parameter Name Type Meaning

LANGU LANGU Language in which the form is displayed

REPLANGU1 LANGU

REPLANGU2 LANGU

REPLANGU3 LANGU

If the form does not exist in the language specified in LANGU, the system evaluates these fields in the given sequence instead.

COUNTRY LAND1 Country key for date and

Page 43: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

number formatting

No setting is required if the SET COUNTRY command is used in the application program before the generated function module is called, and the same country is specified there.

FILLABLE FPINTERACTIVE FILLABLE = X generates an interactive form. This form can be displayed and edited in Adobe Acrobat or Adobe Reader. Usage rights are allocated to the form; these rights enable data to be entered and saved in Adobe Reader.

FILLABLE = N generates an interactive form without usage rights.

DYNAMIC FPDYNAMIC DYNAMIC = X generates an interactive, dynamic form to be displayed and edited in Adobe Acrobat or Adobe Reader versions higher than 7.0.

This parameter is valid only if the FILLABLE parameter is also set.

DARATAB TFPDARA If you want to archive the generated form, you must make at least one entry in this table (with archiving indexes).

Parameters of the Structure FPFORMOUTPUT

Parameter Name Type Meaning

PDF FPCONTENT Contains the generated PDF.

A PDF is generated only on demand by the GETPDF parameter of the function module FP_JOB_OPEN in the application program, or by the print preview function.

PDL FPCONTENT Contains the generated PDL.

PAGES FPPAGECOUNT Contains the number of

Page 44: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

generated pages in the form.

LANGU LANGU Language key

The parameters that control the output options are in the structure SFPOUTPUTPARAMS and are specified as import parameters when the function module FP_JOB_OPEN is called. For more information, see Form Output.

Example: Calling Forms in an Application Program The following is a program excerpt showing how the function modules are called.

32. ...155. 1. FP_JOB_OPEN opens the spool job.156. 2. FP_FUNCTION_MODULE_NAME gets the form name.157. 3. Generated function module of the form158. 4. FP_JOB_CLOSE closes the spool job.In this example, the parameters CUSTOMER, BOOKINGS, and CONNECTIONS are sent to the form interface, where they must already be defined. DATA: CUSTOMER TYPE SCUSTOM, BOOKINGS TYPE TY_BOOKINGS, CONNECTIONS TYPE TY_CONNECTIONS, FM_NAME TYPE RS38L_FNAM, FP_DOCPARAMS TYPE SFPDOCPARAMS, FP_OUTPUTPARAMS TYPE SFPOUTPUTPARAMS. * GETTING THE DATA

<data selection> * PRINT: * Sets the output parameters and opens the spool job CALL FUNCTION 'FP_JOB_OPEN' CHANGING IE_OUTPUTPARAMS = FP_OUTPUTPARAMS EXCEPTIONS CANCEL = 1 USAGE_ERROR = 2 SYSTEM_ERROR = 3 INTERNAL_ERROR = 4 OTHERS = 5.

Page 45: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

IF SY-SUBRC <> 0.<error handling>

ENDIF. * Get the name of the generated function module CALL FUNCTION 'FP_FUNCTION_MODULE_NAME' EXPORTING I_NAME = ‘<form name>’ IMPORTING E_FUNCNAME = FM_NAME. IF SY-SUBRC <> 0.

<error handling> ENDIF. * Language and country setting (here US as an example)fp_docparams-langu = 'E'.fp_docparams-country = 'US'. * Call the generated function module CALL FUNCTION FM_NAME EXPORTING /1BCDWB/DOCPARAMS = FP_DOCPARAMS CUSTOMER = CUSTOMER BOOKINGS = BOOKINGS CONNECTIONS = CONNECTIONS* IMPORTING* /1BCDWB/FORMOUTPUT = EXCEPTIONS USAGE_ERROR = 1 SYSTEM_ERROR = 2 INTERNAL_ERROR = 3.IF SY-SUBRC <> 0.

<error handling>ENDIF. * Close the spool job CALL FUNCTION 'FP_JOB_CLOSE'* IMPORTING* E_RESULT = EXCEPTIONS USAGE_ERROR = 1 SYSTEM_ERROR = 2 INTERNAL_ERROR = 3 OTHERS = 4. IF SY-SUBRC <> 0.

<error handling> ENDIF.

Page 46: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

Collecting the Application Data

BackgroundTo ensure a good level of performance when you print forms, you must separate the selection of the data from the processing of the form.The following questions need to be answered about the collection of the data:

• What application data do you want to appear on the form?

• Which database tables need to be accessed to get this data?

Process FlowYou write an ABAP program that collects the data or you include an appropriate routine in your application. These routines usually consist of statements that select data from the database. You save the data in internal tables, structures, or variables, which you then bundle and send to the form.

Customers who want to change the way the data is collected, and do not want to modify the application program, can extract data when the interface is initialized, and then use this data in the form under Global Data.

ResultThe data is saved to internal tables in the application program. Now that you know all the types of tables that are used, you can define a form interface to send this data to a form.

Getting the Used Interface Fields

UseYou can use the same interface for multiple forms, but not all fields of the interface need to be used in every form. You use the function module FP_FIELD_LIST to get all fields of the interface that are used in the form. This enables you to optimize the way the data is collected in the application program. The performance of the application program improves because it only needs to provide the parameters required by the relevant form.

PrerequisitesYou have created a PDF-based form with an interface, and created and activated the form context.

Page 47: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

IntegrationThe function module is included in the application program that collects the data and calls the form.

FeaturesThe function module FP_FIELD_LIST provides you with the following information:

• All fields from the interface that are used in active nodes in the form context. This includes fields referenced by the data node and fields that are used in conditions, alternatives, text nodes, address nodes, and graphic nodes.

You can also see the used field names in the form context by displaying the properties and conditions for each node. You can also see field names under Where Conditions for table nodes, if any are defined.

• All fields from the interface that are used in the ABAP code (initialization) of the interface.

ActivitiesYou include the function module in the application program that collects the data and calls the form.

• You specify the name of the form as an import parameter.

• You get a table of the used fields (with the type TFPFIELDS) that can then be used for data collection in the application program.

See also:Collecting the Application Data

Saving Runtime Information and a Generated PDF Locally

UseForm developers and support desk staff can use this function to analyze the causes of any errors that occur when forms are generated. You can save files that contain the following information to your local client:

● Runtime information (also known as trace information), created by the system when forms are generated

● PDF with additional information

Once a setting is chosen, the system saves this information for all forms that are generated while the user is logged on.

IntegrationYou can also get the runtime information directly in the application program that calls the form, using a function module. For more information, see Troubleshooting.

PrerequisitesYou have debugging authorization in the system where you want to use this function.

Page 48: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

Features● Saving runtime information

The system saves the trace information returned by Adobe document services to your local client. This information is a subset of the trace information stored by the J2EE Engine used as a host system for Adobe document services. The detailed trace information is located in the file defaultTrace.trc on the J2EE Engine.

● Saving the PDF with additional information

The PDF with additional information consists of the generated PDF form or, in the event of errors, an error file. Attached to either of these files are various additional files including, for example, application data (in XML format), sent to the form at runtime, and the runtime information mentioned above. For a detailed description of the information provided by the system, see the section Execution in the problem analysis scenario Adobe Rendering Error (in English only).

● Saving runtime information and a PDF with additional information for multiple forms

If multiple forms are called in the application program, the information is saved to separate files. An extra sequential number is added to each file, in addition to the existing numbering.

Activities33. ...

Choose Utilities → Settings. A dialog box appears.● To specify how the runtime information is saved locally, choose an option under Trace

Level and enter the name of the file. If you do not specify an extension for the file name, the system saves the runtime information automatically with the extension TXT.

● To activate the function PDF with Additional Information, proceed as follows:

• ○ Under Runtime Information → Trace Level, select the option Very Detailed Trace.

• ○ Select PDF with Additional Information and specify a file name.

When you choose F4 for the file name, you can navigate to your system to choose a file.

Troubleshooting for Runtime Errors FPRUNX001, 002, and 004

UseYou want to display a PDF-based print form. However, the system displays the runtime error FPRUNX001, FPRUNX002, or FPRUNX004 when the generated function module is called. You can use the troubleshooting options to find out the cause of the error.

FeaturesYou are provided with various function modules for troubleshooting purposes. You can use these function modules to extract the following information:

Page 49: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

• Texts about the cause of the error (with the FP_GET_LAST_ADS_ERRSTR function module)

• A trace of the Adobe document services (with the FP_GET_LAST_ADS_TRACE function module)

ActivitiesTo perform the troubleshooting actions, call the function modules in your application program.

Troubleshooting Texts1. Call the function module FP_GET_LAST_ADS_ERRSTR after

the generated function module.2. 2. FP_GET_LAST_ADS_ERRSTR gives you a text that

indicates the cause of the error.

Trace34. ...

1. To activate the trace output, set the ADSTRLEVEL field in the IE_OUT_OUTPARAMS parameter (type SFPOUTPUTPARAMS) of the FP_JOB_OPEN function module to values between 01 and 10. 2. Call the function module FP_GET_LAST_ADS_TRACE after the generated function module. 3. FP_GET_LAST_ADS_TRACE gives you the trace.

Read the SAP Note 717568 on the SAP Service Marketplace at service.sap.com/notes. This note gives you precise and up-to-date information about how to proceed when troubleshooting.

Form Output

PurposeYou can send a PDF-based form to various types of output media. You can choose one of the following options:

35. ...● Printer

● Archiving

In this case, the form is forwarded to ArchiveLink. ArchiveLink is a communication interface that manages archiving systems in the SAP system. This interface allows you to link the form with application data, for example.

Page 50: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

For more information, see the ArchiveLink documentation under Storing Outgoing Documents.

● Fax and e-mail

If you send the form back to the application program as a PDF, the application program can forward it to Business Communication Services, from where it can be sent as a fax or e-mail.

PrerequisitesThe form is sent to the output media through interfaces. The SAP system must be configured to be compatible with each output medium. For example, if you want to print your PDF form, you must configure a PCL-compatible printer.

Process FlowTo control the output of the form, you use various fields in a structure with the type SFPOUTPUTPARAMS. When the form is called in the application program, these fields are sent to the function module FP_JOB_OPEN as parameters (IE_OUTPUTPARAMS).

To see how function modules are called, see Example: Calling Forms in the Application Program.

For the individual fields of the structure SFPOUTPUTPARAMS and their meaning, see the ABAP Dictionary (transaction SE11).

Output to Printer

Forms are sent to a printer by default; this is what happens when you use the initial values of the structure when you call FP_JOB_OPEN. You can modify the print parameters and the spool dialog parameters by setting the fields accordingly.

For more information, see Spool Processing and Controlling the Spool Dialog.

For general information about printing and printer setups, see SAP Printing Guide (BC-CCM-PRN)..

Output to Archive

159. 1. If you create the form output with a dialog, you see the spool dialog. Here, you specify an archiving mode for the document:• ○ Archive only• ○ Print and archive

If you create the form output without a dialog, specify the archiving mode in the ARCMODE field of the structure mentioned above.

• ○ Archive only: SFPOUTPUTPARAMS-ARCMODE = ’2’• ○ Print and archive: SFPOUTPUTPARAMS-ARCMODE = ’3’

You use the NODIALOG field to display the output of the dialog. For more information, see Controlling the Spool Dialog.

2. You write at least one entry to the table with archive indexes (SFPDOCPARAMS-DARATAB). 3. The system forwards the form to ArchiveLink.

Page 51: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

Output as Fax or E-Mail

36. ... 1. In your application program, set the field SFPOUTPUTPARAMS-GETPDF. 2. The system sends the generated PDF form back to the application program, where it can then be forwarded to the interface of the Business Communication Services.

Font Replacement

UsePDF-based forms are created in an original language. When you use the appropriate tools to translate forms, all texts are translated from the interface, the context, and the layout. When you process forms in another language (referred to here as the target language), the fonts used in the layout are retained. However, if a font does not support all characters in the target language, the system replaces these characters automatically with suitable replacement fonts. This function also gives you the option of setting a default font or fonts to be used as a replacement in forms. You make the required settings in the table FPFONTREPL.

IntegrationYou can specify replacement fonts for forms that have been created and translated in ABAP systems. The settings are cross-client settings.

Prerequisites• To edit the table FPFONTREPL, you require administrator authorization.

• The fonts you want to use must be installed for Adobe document services. For more

information, see Adobe Document Services − Configuration .

ActivitiesTo define replacement fonts, edit the table FPFONTREPL in the Data Browser (transaction SE16).

37. ...160. 1. Under Name of Form Object, enter the form name. You can do this in the

following ways:• You can define replacement fonts for specific forms. To do this, enter the

name of the form.• You can define replacement fonts for all forms in the system. In this case, you

enter a wildcard character * in the table under Name of Form Object. 2. Under Language, enter the target language in which the form and the replacement font or fonts are displayed.

Page 52: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

Remember that the form is only displayed in the target language if this is specified for form calls in the field LANGU of the import parameter /1BCDWB/DOCPARAMS of the generated function module.

3. Under Source Font, specify the font in the original form. 4. Under Target Font, enter the font that you want to replace the source font with.

ExampleFor the Japanese version of the form FP_name, you want to use the character set MS MINCHO instead of Times New Roman. To do this, you make the following settings in FPFONTREPL:

Font Replacement in Table FPFONTREPL for Form Processing

Name of a Form Object

Language Source Font Target Font

FP_name J Times New Roman MS Mincho

Spool Processing

UseAs a default setting, the system forwards the generated PDF forms to the spool processing functions and sends parameters to the spool dialog. You can use this spool dialog to control the output, by doing the following, for example:

• Opening a new spool job

• Specifying the retention period of a job in the spool

IntegrationThe functions related to these settings are no longer part of the process of creating PDF-based forms.

FeaturesYou can use parameters in the structure SFPOUTPUTPARAMS to make print and spool dialog settings. When you call the form, you send these parameters (IE_OUTPUTPARAMS) to the function module FP_JOB_OPEN.

For the individual fields of the structure SFPOUTPUTPARAMS and their meaning, see the ABAP Dictionary (transaction SE11).

See also:

Page 53: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

Controlling the Spool DialogPrinting PDF-Based Forms in the SAP Printing GuideDisplaying and Printing PDF-Based Forms in the SAP Printing Guide

Controlling the Spool Dialog

UseIn the application program, you want to adjust the spool dialog to your requirements when printing a PDF-based form, or hide the spool dialog completely.

If a form is migrated from a Smart Form, or if it is compatible with Smart Forms, the spool dialog is controlled by different parameters.

See also:

Controlling the Spool Dialog in the Smart Forms documentation

PrerequisitesThe DEVICE parameter of the structure SFPOUTPUTPARAMS must have the value ’PRINTER’.

FeaturesThe following Changing parameters (set with the function module FP_JOB_OPEN) are relevant for controlling the spool dialog:

Fields from the Structure SFPOUTPUTPARAMS for Controlling the Spool Dialog

Field Component Type

Data Type (Length

Meaning (when set)

NODIALOG FPNODIALOG

CHAR(1)

Suppress user dialog

TITLE FPTITLE

CHAR(50)

Title of the dialog box

NOPREVIEW FPNOPREVIEW

CHAR(1)

Suppress print preview

NOPRINT FPNOPRINT

CHAR(1)

No print from print preview

NOARCHIVE FPNOARCHIVE

CHAR(1)

No archiving from print preview

IMMEXIT FPIMMEXIT

CHAR(1)

Exit preview immediately after printing

NOPRIBUTT FPNOPRIBUTT

CHAR(1)

No pushbuttons

Page 54: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

ActivitiesIn the application program, call the function module FP_JOB_OPEN and specify the required parameters. To set a parameter with the data type CHAR(1), specify the value ’X’ (for example, NODIALOG = ’X’, to suppress the user dialog).

See also:

Example: Calling Forms in an Application Program

Printing Multiple Forms in a Print Request

UseYou want to print multiple forms in a single print request.

Procedure38. ..

1. When you call the form in the application program, first call the function module FP_JOB_OPEN. 2. Determine the names of the generated function modules with FP_FUNCTION_MODULE_NAME. 3. Then call the generated function module(s) that you want to use in the output. 4. The function module FP_JOB_CLOSE is the last function module to be called.

ResultYou have placed the selected forms in a print request.See also:Calling Forms in an Application Program

XDC Scenarios for Print Control

UseAn XDC file is a printer description in XML format. Adobe Document Services require this file to create the print files. PDF documents can only be printed on printers of SAP device types for which there is an XDC file in the system. XDC files are shipped for the following SAP device types: POST2 (generic device type that can be used for every PostScript printer), HPLJ4, HP9500, AZPL203, and AZPL300.

You do not usually need to make any modifications to these XDC files to use them for successful printing.

The XDC scenarios provide you with examples of how you can make specific settings for your printer.

Page 55: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

IntegrationYou can edit XDC files in a text editor and manage them in the SAP system.

FunctionsThe documentation about the XDC scenarios describes the entries in the XDC file, so enabling you to make the following settings:

• Printer

• Paper tray (not defined by default)

• Paper format (such as A3)

ActivitiesFor documentation about the XDC scenarios, see SAP Service Marketplace at Adobe → Media Library → Documentation.

For up-to-date information about downloading this documentation, see SAP Note 766410 on SAP Service Marketplace at service.sap.com/notes.

Output in XFP Format

UseUsing the XML interface for PDF-based forms (XFP), external applications outside the SAP system can access and process the contents of forms. The XFP output contains all form data in XML format, but does not contain any layout information about the form.

Software partners can receive a certificate from SAP for products that access the XFP interface. For more information, see the Software Partner pages at http://www.sap.com/spp.

IntegrationXFP output corresponds to XSF output for Smart Forms and RDI output for SAPscript.

PrerequisitesSince XFP uses spool processing, at least one printer of device type XFP must be set up in the system.

In spool administration, we recommend that you set up an XFP output device. By default, this output device is used as a virtual device for connecting to the external application. You can override this default by setting the output parameter IE_OUTPUTPRAMS of the function module FP_JOB_OPEN accordingly (the ABAP Dictionary reference is SFPOUTPUTPARAMS-XFPOUTDEV).

See also: SAP Printing Guide (BC-CCM-PRN).

Page 56: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

FeaturesThe XFP output is activated at runtime by the calling application program. The XML data can be displayed in two different ways:

• XML data stream with context evaluation

The data stream describes the structure of the PDF-based form at runtime with the data integrated from the application program. This means the form context is already evaluated, together with all its conditions.

• XML data stream without context evaluation

The data stream contains the data from the application program, but the form context has not been evaluated.

Performance Aspects The following information is targeted mainly at developers, who can use it to achieve an optimal level of runtime performance when using Interactive Forms based on Adobe software. Unless specified otherwise, these recommendations apply both to interactive forms in Web Dynpro and to PDF-based print forms.

Recommendations for Adobe LiveCycle Designer● For interactive forms, use the Form Caching function in the Designer. For more information,

see the online help for the Designer.

● Minimize the amount of communication that takes place with the server in interactive forms. Only use those interactive functions (such as dynamic value help that sends queries to the server) that are strictly necessary.

● Keep scripting to a minimum, since scripting in a form can have an effect on performance.

● If possible, use only the following character sets, even if the Designer supports others: Courier, Arial, Times New Roman. These character sets do not need to be embedded in the form, which improves performance.

● For a detailed description of how to improve performance, see the online help of the Designer, under Creating Forms for Optimal Performance.

Recommendations for Form Builder● For each business scenario, design an individual form that uses its own data retrieval

methods. Do not implement the condition-driven output of multiple forms from the same form object.

● Structure the form context in accordance with the logical flow of data. Place the context nodes used at the top of the form at the initial position in the context tree.

● Deactivate any context nodes that you do not need.

Recommendations for Calling Forms and Form Output● When you create forms for mass printing, design the data retrieval process in the

application program and interface in accordance with your individual requirements. To support you in your work, use the function module FP_FIELD_LIST, which determines all fields used in the interface.

● Bundle print forms.

Page 57: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

● Cache forms that you want to process with Adobe document services.

Performance AnalysisYou can obtain precise details about the performance of Adobe document services. For more information, see Adobe Performance Analysis (in English only).

Handling Errors and Problems

UseInteractive Forms based on Adobe software provide you with comprehensive support for detecting and resolving errors and problems when you create, display, and print forms.

Features

Utilities in the Form BuilderThe Form Builder that you use to create PDF-based print forms and interactive forms in Web Dynpro for ABAP offers you a wide range of functions:

● Checking and Testing a PDF-Based Print Form

● Saving Runtime Information and a Generated PDF Locally

You activate this function in the Form Builder. When you call the form, it gives you detailed information about the form data and runtime information specified by Adobe document services.

Utilities in the Application Program that Calls the FormThe following function modules provide you with support when you work with PDF-based print forms:

● Getting the Used Interface Fields

● Troubleshooting for Runtime Errors FPRUNX001, 002, and 004

You use this function module to find out the causes of any errors you encounter when displaying forms.

Communication Errors, Runtime Errors, No Form OutputIf you encounter any connection errors or configuration errors when you use Adobe document services, see the description under Problem Analysis Scenarios for Adobe Document Services for detailed troubleshooting information.

Page 58: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

Delivery and Translation

Transport ObjectThe interface and form (context and layout) of a PDF-based form are separate development objects. An entry is created in the TADIR (object directory) table for each interface and each form. The corresponding transport objects are as follows:

● SFPF for the form (R3TR SFPF <name>)

● SFPI for the interface (R3TR SFPI <name>)

The system uses the Transport Organizer in the usual way to create the TADIR entries or transport objects and their attributes. The Transport Organizer distributes the interfaces and forms to other systems. Local objects are not included in this process. You assign a package to an interface or form when you create it.

Cross-Client ObjectsThe interfaces and forms for PDF-based forms are cross-client objects.

Translating TextsPDF-based forms are integrated in the same translation process as other development objects; this means that the SFPF and SFPI transport objects are recognized by the translation tools (transaction SE63) and are included in the relevant worklists. The translation-relevant texts in a PDF-based form are as follows:

● Descriptions of the nodesThese are translated in the same way as other system short texts.

● Texts in the layout of the PDF-based form that you created in the Form Builder with Adobe LiveCycle DesignerFrom SAP NetWeaver ´04 SPS 11, texts are translated in a splitscreen editor that displays the texts in plain text format. If you want to translate older forms in this way, you must first display the layout in edit mode, and then save it again. For the procedure for editing a form in Adobe LiveCycle Designer, see Layout in the Form Builder.

For more information about translation, see the documentation on transaction SE63 under Translating PDF-Based Forms .

Original LanguageWhen you create a PDF-based form, the system specifies the logon language as the original language. You create the form and all its language-specific parts (such as texts and meanings) in the original language.

Standard FormsDifferent applications in the SAP system use different standard PDF forms. If you want to adapt these forms to your own requirements, copy the standard form, make your changes to this copy only, and then link it to the application. (The system does not log any modifications to the standard form.) In this way, your customer-specific changes are not lost when an updated version of the standard form is imported in an upgrade.

Page 59: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

Tools Associated with Form Development

UseWhen you develop forms, you will also need to make use of functions and components that are not included in the development environment for PDF-based forms. The following gives you an overview of these tools and links to additional information.

See also:

Creating Text Modules

Business Address Services

Creating Text Modules

UseYou can insert text modules in a PDF form as text nodes. For more information on inserting a text module, see the following:

Inserting a Text

You create and edit text modules in Smart Forms (transaction SMARTFORMS). For more information, see the Smart Forms documentation under:

Maintenance of Text Modules

You can assign a format (also known as a style) to a text module. For more information, see the following:

Maintenance of Styles with the Style Builder

Smart Styles

Header Data of a Smart Style

Paragraph Formats

Character Formats

Note that the documentation linked to here relates to creating forms in Smart Forms. This information does not always apply to PDF-based forms.

Business Address Services

UseYou can insert an address node in a PDF-based form. You use the addresses managed in the Business Address Services (BAS).

For more information about address management, see the documentation Business Address Services (BC-SRV-ADR).

Page 60: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

Version Management

UseThe PDF-based forms solution is integrated with version management tools. You can save different versions of both forms and interfaces.

ActivitiesUnder Form Builder: Entry Point, enter a form or interface.

● To save a version of the form or interface in the version management database, choose Utilities → Versions → Generate Version.

● To access the version management functions, choose Utilities → Versions → Version Management.

See also:Documentation about Version Management

Migration of Smart Forms

UseYou want to migrate a Smart Form to a PDF-based form.

IntegrationThis function is integrated into the Smart Forms transaction, and you call it there.

See also:

Migrating Smart Forms in the Smart Forms documentation

Interactive Forms There are several ways of creating an interactive form. You use one of the following development environments, depending on your application scenario:● Web Dynpro for ABAP in SAP NetWeaver AS ABAP

● Web Dynpro for Java in SAP NetWeaver AS Java

● Guided Procedures

● Forms in SAP Business Workflow for various mySAP ERP business packages (in particular, Manager Self-Services) are developed in ABAP Workbench (transaction SFP) and implemented in the Web Dynpro for Java runtime environment.

• ○ For general information about using forms, see the mySAP ERP documentation under HCM Processes and Forms and Internal Service Request (ISR).

Page 61: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

• ○ For information about creating forms in Form Builder, see Creating Forms for Integration with Web Dynpro and ZCI.

● ABAP Workbench, Transaction SFP. This development environment is intended mainly for creating print forms. You can, however, generate a PDF when you call a form, and use certain parameters to control which input is allowed. Note that you need to program some steps manually when you use ABAP Workbench; these steps run automatically in the environments listed above.

All of these options require Reader Rights to be granted before you can use interactive forms in Adobe Reader. A user in Adobe Reader cannot enter and save data in an interactive form until these rights are granted. Reader Rights are configured as part of the installation and configuration process of Adobe Document Services. For more information, see Reader Rights Credential in the Adobe Document Services Configuration Guide.

In certain circumstances, interactive forms require licenses. For more information, see SAP Note 750784.

Interactive Forms in Web Dynpro for ABAP You develop interactive forms as part of a Web Dynpro application in ABAP Workbench.See also:

• Web Dynpro for ABAP

General information about the solution

• Adobe Integration

Information about creating a PDF form in Web Dynpro for ABAP

• InteractiveForm

Interface element for creating forms in View Designer

Interactive Forms in Web Dynpro for Java You develop interactive forms as part of a Web Dynpro application in SAP NetWeaver Developer Studio.See also:

• Concepts of Developer Studio

Detailed information about SAP NetWeaver Developer Studio

• Development of Interactive Adobe Forms for the Web Dynpro UI

Explanation of the concepts behind creating forms

• Example of the Use of an Interactive PDF Form

This documentation gives you a short introduction to creating an interface PDF form, including information about constructing the view, the context structure, and data bindings.

• Web Dynpro InteractiveForm API − IWDInteractiveForm

Page 62: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

Interface element in View Designer

• Adobe Library

Documentation about specific objects in Adobe LiveCycle Designer, on the Web Dynpro tab page

Creating Forms for Integration with Web Dynpro and ZCI

UseThis procedure is only relevant for forms created with Form Builder at design time and that run in a Web Dynpro application at runtime.These include interactive forms in the ISR Framework, such as forms for Business Package Manager Self-Service. They can be used (from SAP NetWeaver SPS 8) at runtime in Web Dynpro for Java based on Zero Client Installation (ZCI). To enable this, the forms must contain special scripting, which you insert when you create new forms in Form Builder.

You can use transaction SFP_ZCI_UPDATE to make any interactive forms you created with an older version of SAP NetWeaver ZCI-compliant. For more information, see Check and Update Functions for Zero Client Installation (ZCI).

Prerequisites● You use SAP NetWeaver 2004s SPS 8 or higher.

● You use SAPGUI Release 6.40 Support Package Level 20 or higher (see SAP Note 940637).

● You use Adobe LiveCycle Designer 7.1 (see SAP Note 962763).

Procedure39. ...40. ...

161. 1. Create a form.162. 2. Select ZCI Layout in the Layout Type field under Properties.163. 3. Switch to the Layout tab page. This starts Adobe LiveCycle Designer in

SAPGUI.164. 4. Choose Utilities → Insert Web Dynpro Script. The system inserts scripting

into the form layout in Adobe LiveCycle Designer. You can see the scripting in the node (Variables)->ContainerFoundation_JS under Hierarchy in Adobe LiveCycle Designer.

165. 5. If you want to use Web Dynpro-specific objects in the design of your form layout, use the Adobe Designer library Web Dynpro Native.

Page 63: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

Check and Update Functions for Zero Client Installation (ZCI)

UseYou use transaction SFP_ZCI_UPDATE to check forms and update them to ZCI.

IntegrationThis transaction calls the report FP_CHK_UPDATE especially for ZCI.

Prerequisites● If you want to update forms from ISR Framework to ZCI, you must first run the report

FP_CHK_UPDATE with the ISR object. For more information, see SAP Note 956074.

● You can use this transaction to update only those forms that are not in editing.

● The same prerequisites apply as described in Check and Update Functions with the Report FP_CHK_UPDATE.

FeaturesThis transaction calls the report FP_CHK_UPDATE especially for checking and updating forms to ZCI. It selects the required check and update objects automatically, runs the report for them, and switches the layout type of the migrated forms to ZCI Layout.

Activities41. ...

166. 1. Call transaction SFP_ZCI_UPDATE.167. 2. Proceed as described in the documentation for the report FP_CHK_UPDATE.

Note that you do not need to perform step 7 to select the objects.

Check and Update Functions with the Report FP_CHK_REPORT

UseThe report FP_CHK_REPORT enables you to check the layout of a form, and update it if necessary. You created a layout previously with the integrated Adobe LiveCycle Designer tool. Various objects can be selected for both the check function and the update function. Only those objects used to migrate forms for Zero Client Installation (ZCI) are currently available. We therefore recommend that you use the transaction SFP_ZCI_UPDATE. This transaction calls this report with the required objects.

Prerequisites● To be able to use the update function, you require a role that is assigned to authorization

object S_FP_CHK. For more information, see SAP Authorization Concept.

● Any forms that you want to check or update have to be active.

Page 64: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

● Since Adobe Document Services (ADS) are called for this function, you must know the name of the appropriate RFC connection to ADS.

● The check and update objects must be on the ADS server.

● If you want to migrate forms for ZCI, read SAP Note 956074.

FeaturesThis function allows you to check and update one or more forms in a batch process. The link to Change and Transport System guarantees that updated forms are transported further in your landscape. You can choose one of the following options:● Check form layouts

This only checks the forms and does not modify them.

● Update form layoutsThis checks the forms and updates them if necessary, by inserting scripting.

Before it changes a form, the system creates a version of it automatically and saves it to version management. This guarantees that you always have access to a backup copy of the original form.

You can determine the scope of the check or update by selecting appropriate objects.Detailed results of the check or update are shown in a log. The system also shows you a list of inactive forms that cannot be used with this function (if available).

Activities42. ...

1. Run report FP_CHK_REPORT in transaction SA38. 2. Enter the name or names of the forms under Form(s).

You can select forms by attributes such as Name, Created By, Changed By, or Changed On in a dialog box. You can also select forms in the Multiple Selectiondialog box. You can also copy form names from a text file or the buffer.

3. Under Activity, specify whether you want the system to run a check or an update. 4. Under ADS Connection, specify the RFC connection to Adobe Document Services.

The default shown by the system is ADS.

5. Choose Execute (F8). 6. The system determines the number of forms on which the function is used and displays it in the status bar. 7. Select at least one object to be checked or updated from the list of available check and update objects.

A dialog box tells you if no check or update objects are available.

Page 65: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

You must read SAP Note 956074 before you select an object if you want to run an update before migrating forms for ZCI.

8. For any forms assigned to a package, the system prompts you to enter the appropriate transport request for each transport layer. This guarantees that your updates are transported. This prompt does not appear for forms or packages created as local objects. 9. The check or update runs, and may take some time depending on the number of forms selected. You can see the results in a log. These logs are saved in the application log, where you can display and analyze them later.

Program-Driven Generation of Form Templates

UseSAP provides an API (application programming interface) that you can use to generate a form template. This API generates an XFA (XML Forms Architecture) document that can be displayed in Adobe LiveCycle Designer. This enables you to implement the program-driven generation of form templates, without using Adobe Designer. The API is based on Adobe XFA Version 2.2. It offers only a selection of the XML tags and attributes from the XFA specification. Adobe Designer itself offers a much wider range of functions. For this reason, we recommend that you restrict program-driven generation to simple form templates only.

IntegrationTo fully understand how to use the API, you must read this description together with the XFA specification. To access the Adobe XFA specification, go to the following Internet address: http://partners.adobe.com/public/developer/xml/index_arch.html.This specification contains explanations of all elements and attributes, as well as suggestions for the hierarchical structure of the elements.

ActivitiesYou can use all interfaces from the package SAXFT. Each interface corresponds to precisely one tag in the XFA specification.You generate the root node by using CREATE_OBJECT to instantiate an object from the class CL_SXFT_TEMPLATE. For this object, you can call the method GET_FACTORY( ) to create a factory object. You can generate all subsequent XFA elements by using a “create” method of the factory method to instantiate the corresponding object. You create the structure of the XFA document as follows:

● You use “set” methods to set simple attributes and to send the attribute value to the VALUE parameter in quotation marks.

● You use “set” methods to set attributes that are themselves elements, and to send an object to the VALUE parameter that represents the attribute (and the new element).

Page 66: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

An exception to this are attributes that are themselves elements but only have a few of their own attributes; these attributes do not need to be generated. The values can be set directly by using the corresponding “set” method (such as <margin> and <color>).

● You use the method IF_SXFT_NODE~APPEND_CHILD( NEW_CHILD ) to set child elements. The interface IF_SXFT_NODE is included in all interfaces that represent XFA elements.

Grouping interfaces are used for attributes that are used very frequently● The interface IF_SXFT_ALIGNMENT groups the “set” methods for the attributes VALIGN

and HALIGN. This interface is included in all interfaces that represent elements with these attributes.

● The interface IF_SXFT_MEASUREMENT groups the “set” methods for the attributes X, Y, W, H, and Layout. This interface is included in all interfaces that represent elements with these attributes.

ExampleFor an example implementation, see the program RSXFT_XFT_API_DEMOII. This program generates a template that includes the following: header and footer, a static text, a selection list, option fields, a text input field, and a pushbutton. Since no context is generated, no data binding is created.

Performance Aspects The following information is targeted mainly at developers, who can use it to achieve an optimal level of runtime performance when using Interactive Forms based on Adobe software. Unless specified otherwise, these recommendations apply both to interactive forms in Web Dynpro and to PDF-based print forms.

Recommendations for Adobe LiveCycle Designer● For interactive forms, use the Form Caching function in the Designer. For more information,

see the online help for the Designer.

● Minimize the amount of communication that takes place with the server in interactive forms. Only use those interactive functions (such as dynamic value help that sends queries to the server) that are strictly necessary.

● Keep scripting to a minimum, since scripting in a form can have an effect on performance.

● If possible, use only the following character sets, even if the Designer supports others: Courier, Arial, Times New Roman. These character sets do not need to be embedded in the form, which improves performance.

● For a detailed description of how to improve performance, see the online help of the Designer, under Creating Forms for Optimal Performance.

Recommendations for Form Builder● For each business scenario, design an individual form that uses its own data retrieval

methods. Do not implement the condition-driven output of multiple forms from the same form object.

● Structure the form context in accordance with the logical flow of data. Place the context nodes used at the top of the form at the initial position in the context tree.

Page 67: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

● Deactivate any context nodes that you do not need.

Recommendations for Calling Forms and Form Output● When you create forms for mass printing, design the data retrieval process in the

application program and interface in accordance with your individual requirements. To support you in your work, use the function module FP_FIELD_LIST, which determines all fields used in the interface.

● Bundle print forms.

● Cache forms that you want to process with Adobe document services.

Performance AnalysisYou can obtain precise details about the performance of Adobe document services. For more information, see Adobe Performance Analysis (in English only).

Caching Forms

UseForms are sent to Adobe document services (ADS) for processing. This function enables you to optimize communication with ADS by caching the form layout on the server where ADS is installed.

There are two types of caching in ADS. As well as caching the form layout, you can also cache the processed PDF (for interactive forms). In the latter case, you can optimize performance on the ADS server since it retains a ready-made PDF that only needs to be filled with application data at runtime. For more information, see the documentation Form Caching in the online help of Adobe LiveCycle Designer (mentioned further below).

PrerequisitesTo use this function, you require SAP NetWeaver Support Package Stack 6 or higher.

ActivitiesYou activate this function by setting the field CACHING in the table FPCONNECT in the Data Browser (transaction SE16). This setting then applies to all forms in your Web AS ABAP.

CACHING in Table FPCONNECT

Value Meaning

x Activate caching

- Deactivate caching

space Use the system setting; caching activated

The table FPCONNECT also contains other fields, which are used to define the bundling of forms.

Page 68: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

See also:

Form Caching in the online help of Adobe LiveCycle Designer under Creating Forms for Adobe Document Services → Designing Forms for Adobe Document Services → Optimizing and Improving Adobe Document Services.

Bundling of PDF-Based Forms

UseForms are sent to Adobe document services (ADS) for processing. The function described here enables you to optimize communication with ADS by bundling forms in a single call.

PrerequisitesTo use this function, you require the following:

● SAP NetWeaver Support Package Stack 6 or higher

● Adobe document services installed in an SAP NetWeaver AS ABAP + Java system (J2EE Add-In), which enables the system to exchange data using the global directory

FeaturesForm bundling is supported for the following scenarios:

● Print

● Print and archive

● Archive only

In all other cases (such as print previews, requesting PDFs, and output in XFP format), bundling is deactivated automatically by the system.

You can choose one of two bundling types:

● Simple bundling

Any forms with the same form design (layout and context) and the same language are bundled together. The data in the forms can be different.

● Complex bundling

Forms with different form designs and different languages are bundled together. The data in the forms can be different.

ActivitiesThere are two ways of bundling PDF-based print forms:

Using a Table to Define Form Bundling

To set this function in your system, make the required settings in the table FPCONNECT in the Data Browser (transaction SE16).

Table FPCONNECT

Field Required Setting

DESTINATION Connection to ADS

DIR_GLOBAL X is a prerequisite for bundling

BATCHING X to activate simple bundling

Page 69: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

MBATCHING X to activate complex bundling

CACHING Not required for bundling. See Caching Forms.

To deactivate a field, specify –; to use the system setting, specify space.

If both BATCHING and MBATCHING are set in the table, complex bundling is activated.

Using the Application Program to Define Form Bundling

You can also use the application program that calls the form to define form bundling. This has the advantage that you can specify which type of form bundling to run depending on your application. To do this, set the parameter IE_OUTPUTPARAMS-BUMODE in the function module FP_JOB_OPEN:

Parameter IE_OUTPUTPARAMS-BUMODE

Value Meaning

x Simple bundling

M Complex bundling

space Setting taken from FPCONNECT

- No bundling

Form bundling is particularly effective at improving performance for small forms. Any gains in performance are also system-dependent. If bundling has been activated in the system (using the entry in table FPCONNECT), it may be a good idea to deactivate it occasionally for very large forms.

Generation of PDF Forms Without Tags

UseApplications that do not require accessible forms can improve runtime performance by creating PDF forms without tags. PDF forms generated in this way need less memory. A PDF file with tags, however, uses them to describe and flag the document structure, including elements such as headers, texts, and tables. They are a requirement for the generation of accessible PDFs. Adobe Acrobat or Adobe Reader tells you whether your PDF document has tags.

You cannot use the function described here if you want your PDF forms to be accessible.

Check your requirements in advance, especially the applicable legal requirements.

Page 70: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

FeaturesYou can use the PDFTAGGED field in the IE_OUTPUTPARAMS parameter (type SFPOUTPUTPARAMS; function module FP_JOB_OPEN) to define whether PDF forms are generated with or without tags.

ActivitiesSet the PDFTAGGED field to your requirements in your application program and send it to the function module FP_JOB_OPEN.

Parameter PDFTAGGED

Value Meaning

x Generated PDF form is a PDF with tags.

space The user settings or the scenario decide how to generate the PDF:

● The way the PDF is displayed in the print preview depends on the GUI settings on the front-end PC (accessibility mode).

● The PDF is always given tags when archived or returned to the application program.

- Generated PDF form is a PDF without tags.

Handling Errors and Problems

UseInteractive Forms based on Adobe software provide you with comprehensive support for detecting and resolving errors and problems when you create, display, and print forms.

Features

Utilities in the Form BuilderThe Form Builder that you use to create PDF-based print forms and interactive forms in Web Dynpro for ABAP offers you a wide range of functions:

● Checking and Testing a PDF-Based Print Form

● Saving Runtime Information and a Generated PDF Locally

You activate this function in the Form Builder. When you call the form, it gives you detailed information about the form data and runtime information specified by Adobe document services.

Page 71: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

Utilities in the Application Program that Calls the FormThe following function modules provide you with support when you work with PDF-based print forms:

● Getting the Used Interface Fields

● Troubleshooting for Runtime Errors FPRUNX001, 002, and 004

You use this function module to find out the causes of any errors you encounter when displaying forms.

Communication Errors, Runtime Errors, No Form OutputIf you encounter any connection errors or configuration errors when you use Adobe document services, see the description under Problem Analysis Scenarios for Adobe Document Services for detailed troubleshooting information.

Security Aspects of SAP Interactive Forms by Adobe The following documents provide you with information about the security functions available when you develop and exchange SAP Interactive Forms by Adobe.

Settings and procedures that are the responsibility of the administrator are described in the following two documents. Note that these documents are available in English only:

● Interactive Forms based on Adobe Software Security Guide

Overview of the architecture and required security-relevant settings in user management and SSL connections

● Adobe Document Services Configuration Guide

Detailed description of each configuration step needed to set up the required users and communication pathsInstallation and configuration of the certificates for SSL connections, signatures, and certification

For notes for form developers and end users, see the following:

● Digital Signatures and Certification in Forms

Overview of the features that guarantee document security in forms plus a description of individual functions such as setting and checking signaturesDetailed explanation of the validity of certifications and signatures

SAP Interactive Forms by Adobe Security Guide

This guide does not replace the daily operations handbook that we recommend customers to create for their specific productive operations.

About this GuideThis guide is to provide you with an overview of the security aspects and recommendations when using SAP Interactive Forms by Adobe for your applications. The technology is implemented in

Page 72: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

the Adobe document services. Although running within the J2EE Engine, there are security requirements in the SAP Web AS ABAP and in the SAP Web AS Java.

Related Security Guides

Application Guide

SAP Web Application Server SAP NetWeaver Application Server ABAP Security Guide

SAP NetWeaver Application Server Java Security Guide

Referenced documentationFor detailed information on the procedure of configuring the security-related settings in your system, see Adobe Document Services Configuration Guide, also available at: http://service.sap.com/adobe → Media Library → Documentation

Why is Security Necessary?

The Adobe document services may deal with confidential data. In this case we recommend that you activate SSL on all communication links.

In addition, the Adobe document services offer functions which require keys and certificates associated with your company. These functions are:

● Creating and verifying digital signatures and certification

For these functions the use of SSL is mandatory, because high authentication, data integrity and confidentiality are required.

Target Groups● Technical consultants

● System administrators

Important SAP NotesThe most important SAP Notes that apply to the security of SAP Interactive Forms by Adobe are shown in the table below.

Important SAP Notes

SAP Note Number Title

682619 Adobe document services: Configuration Guide

752153 Adobe: PDF Manipulation Module High Encryption

736902 Adobe Credentials

853497 Adobe Acrobat Reader creates temporary files

894389 Rel. Restr.: SAP NW 2004s - Adobe Document Services

Page 73: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

Technical System Landscape

PDF-based Forms in ABAP Environment and Interactive Forms in Web Dynpro for ABAPPDF-based forms created in the ABAP Workbench and forms created in Web Dynpro for ABAP use the Adobe document services in the J2EE Engine for processing. The figure below gives you an overview of the communication paths.

Communication path 1:

43. ...The Form Processing Runtime sends the application data of the form and a link to the form design (template of the form) to the Adobe document services using SOAP, through the RFC destination (SM59).

Communication path 2:

Before processing the form and creating a PDF file, the Adobe document services calls the form design, which is stored in the Form Design Repository of the ABAP Engine. Thus the Destination Service communicates with the Internet Communication Framework (ICF).

The protocol for both communication paths is HTTP using the default HTTP port. In the case of SSL, it is HTTPS, respectively HTTPS-Port.

You must configure SSL on both communication path 1 and path 2, if your scenarios use digital signatures and certification.

Page 74: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

Communication path 3:

The Adobe document services are installed on the J2EE Engine and consist of two parts. The communication between these parts uses the IIOP service (IIOP port). In case of SSL it is the IIOP SSL port of the J2EE Engine. You only need to configure SSL on this communication path if your scenarios require a high level of security.

If you configure IIOP SSL, you also have to download and deploy the Binaries SSL-2 Library. This library contains strong encryption. You may need authorization to receive this library. For more information, see SAP Note 752153 and Configuration of the IIOP SSL in the Adobe Document Services Configuration Guide.

To configure SSL you have to make settings in the User Management and in Communication Destinations.

Interactive Forms in Web Dynpro for JavaInteractive forms created with Web Dynpro in the SAP NetWeaver Developer Studio communicate with the Adobe document services in the J2EE Engine for processing. The figure below gives you an overview of the communication paths.

Communication path 1:

Communication between Web Dynpro and the Adobe document services uses a Web Service. You have the option of storing the URL of the Adobe document services in the System Landscape Directory (SLD).

You must set the Web Service Client Proxy as an SSL connection, if your scenarios use digital signatures and certification.

Page 75: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

Communication path 2:

The Adobe document services are installed on the J2EE Engine and consist of two parts. The communication between these parts uses the IIOP service (IIOP port). In case of SSL it is the IIOP SSL port of the J2EE Engine. You only need to configure SSL on this communication path if your scenarios require a high level of security.

If you configure IIOP SSL, you also have to download and deploy the Binaries SSL-2 Library. This library contains strong encryption. You may need authorization to receive this library. For more information, see SAP Note 752153 and Configuration of the IIOP SSL in the Adobe Document Services Configuration Guide.

See also:Configuration of the Web Service SSL Connection in the Adobe Document Services

Configuration Guide.

User Administration and Authentication The communication links described in the Technical System Landscape need a user in the SAP Web AS ABAP and in the J2EE Engine. See following topics:

User Management

In this section, we provide an overview of the tools for user management and type of users which are necessary.

1. Communication Destinations

In this section, we provide an overview of configuring the Web Service Communication between the ABAP and the J2EE environment.

User Management The Adobe document services uses the authorization provided by the SAP Web Application Server. Therefore, the recommendations and guidelines for authorizations as described in the SAP Web AS Security Guide ABAP and SAP Web AS Security Guide Java apply here also.For maintaining a user, you may use tools in both application platforms, Java and ABAP. See the table below.

User Management Tools

Tool Detailed Description

SAP Web AS Java user management using the Visual Administrator

Use the Security Provider node in the Visual Administrator to maintain a service user on the SAP J2EE Engine. For more information, see

SAP J2EE Engine User Management Using the Visual Administrator.

Page 76: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

SAP Web AS ABAP user management and role maintenance (Transactions SU01, PFCG)

Use transaction SU01 to maintain a service user on the ABAP engine for the Adobe document services. For more information, see

Users and Roles (BC-SEC-USR).

Standard User As of NetWeaver 2004s the standard users that are needed for communication, that is described under Technical System Landscape, are created during installation of SAP NetWeaver. For more information see the Installation Guide on the SAP Service Marketplace at the internet address http://sap.service.com/instguidesNW2004s.The ADSuser is required for the communication between the J2EE Engine and the Adobe document services. This user was created in the J2EE Engine or in the SAP Web AS ABAP depending on the J2EE installation settings for the SAP User Management Engine (UME). It is in the SAP Web AS ABAP when the UME is configured against the SAP Web AS ABAP backend. Thus also a role ADSCallers in the SAP Web AS ABAP was created. The ADSuser is assigned to this role. The ADSCallers role in SAP Web AS ABAP appears automatically as the ADSCallers group in the J2EE Engine.The service user ADS_AGENT in the SAP Web AS ABAP is required for the communication between the SAP Web AS ABAP and the Adobe document services when you use PDF-based printforms in the ABAP environment.Each user has a security role assigned to it, which has been predefined in the system.

User

System Grou/Role User Type Security Role

J2EE Engine

or

ABAP Engine

ADSCallers

ADSuser

Service user

System user

ADSCaller

ABAP Engine - ADS_AGENT Service user SAP_BC_FP_ICF

See also:

1. Communication Destinations

2. Configuring the User ADSUser for the SSL Connection

Authorizations The table below shows the standard roles that are used by the Interactive Forms based on Adobe software.

Standard Roles

Role Description

ADSCaller

(in J2EE Engine)

Security role that allows the ADSuser to access the Adobe document services. Created when system was installed.

Page 77: SAP Interactive Forms by Adobe - clickforinterview.com Forms... · SAP Interactive Forms by Adobe Purpose As of SAP NetWeaver ’04 ... Full integration into the SAP development environments

SAP_BC_FP_ICF

(in ABAP Engine)

Role that allows the ADS_AGENT to access the ICF service in the SAP Web AS ABAP. See Technical System Landscape.

ADSCallers

(in ABAP Engine)

Only if ADSuser is located in the SAP Web AS ABAP (Transaction PFCG). The ADSCallers role in SAP Web AS ABAP appears automatically as the ADSCallers group in the J2EE Engine. See User Management.