Adobe Form
Adobe Form
Adobe Form
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
● 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
Integration
An 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.
Features
To 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:
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.
Use
PDF-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
Structure
A 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.
Creating a Form
The 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.
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.
Purpose
You can use this process to create or edit a PDF-based form. You can also edit a migrated
Smart Form.
Prerequisites
You have installed Adobe Designer on your front end.
Process Flow
To 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.
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.
Result
You 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.
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.
Creating a Form Object from a Transaction
3. ...
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.
Result
The Form Builder starts. You can start to edit the interface or form.
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.
Activities
There 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.
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)
Creating Function Modules (in ABAP Programming (BC-ABA))
Procedure
7. ...
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.
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.)
Result
You have defined the form interface and you can use the specified parameter names in the
form context.
Global Definitions
Use
Global 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.
Features
Global 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.
Activities
Double-click the node that you want to edit.
See also:
Initialization
Initialization
Use
SAP 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.
Functions
You 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.
Integration
The 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.
Features
You 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.
Activities
There 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.
To edit the interface, choose the Properties tab and double-click the name of the
interface.
To edit the layout, choose the Layout tab.
Nodes in the Context
Definition
Nodes 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 Types
Nodes Without Subnodes
Other Nodes
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
Result
You have created nodes in the context.
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.
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.
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.
Activities
12. ...
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.
Example
You 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
Use
If 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.
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 .
Activities
13. ...
55. 1. Choose the node that you want to update.
Properties
Use
Properties describe the content or meaning of a node.
Activities
14. ...
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.
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
Use
You 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.
Prerequisites
A node exists for which you want to define conditions. This node must allow conditions
to be defined.
Features
You can define conditions using logical relationships.
Activities
15.
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.
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.
Result
You have created a complete data node. In the layout in the Form Builder, you can insert
this node in the form.
Inserting a Structure
Use
You want to insert a structure ( ) from the interface on the left of the screen. You have
two options:
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.
Result
You 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.
Inserting a Table or Loop
Use
You 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 Enter
81. 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
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.
Result
You 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.
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.
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.
Result
You 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.
Prerequisites
You have created a table node or a loop node.
Procedure
You enter the required information in the table node. For more information, see Inserting a Table
or Loop.
Inserting a Text
Use
You can use a text node to insert texts in the output of a form. You can choose from
various text types:
● Text modules
● 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.
Prerequisites
The 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
Procedure
21.
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.
For more information about creating and changing text modules, see
Maintenance of Text Modules in the Smart Forms documentation.
Entering Include Text Properties
Use
You 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.
Restrictions
The 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.
Prerequisites
You 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.
Procedure
107. 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.
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
text object with the text ID ST is used for general standard texts that you create with
the standard text editor (transaction SO10).
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.
Result
You 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
Use
Under 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.
Prerequisites
Any 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.
Procedure
23. ...
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 Content
Choose 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.
Result
You have created a complete graphic node. You can insert this node in the layout in Form
Builder.
Example
You 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
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
Inserting an Address
Use
Many applications use the Business Address Services (BAS) to manage addresses. The
addresses are stored in a database, where they are identified by numbers.
Prerequisites
Your application must manage addresses in the BAS; otherwise, you must insert your
addresses using text nodesor insert them directly in the layoutas text.
Procedure
24.
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.
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
Use
You 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.
Procedure
125. 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.
Result
You 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.
Inserting a Folder
Use
The 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.
Procedure
25.
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.
Result
You 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.
• You can display the value of any system field in the form.
• 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 List
Use
The 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
Activities
Double-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
Use
You 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.
Activities
To reload the interface, choose the icon, with the text Reload Interface, on the left of the
screen above the interface.
Layout in the Form Builder
Use
When 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.
Integration
The Layout function in the Form Builder calls Adobe LiveCycle Designer, an integrated
graphical software tool for creating forms.
Prerequisites
You have created a form context or loaded an XML schema-based interface.
Features
Under 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.
Activities
There 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
Use
You 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.
Example
You 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'.
For more information, see Example: Calling Forms in the Application Program.
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.
Calling Forms in an Application Program
Purpose
To 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)
Prerequisites
You have created and activated a PDF-based form. You have experience of programming
with ABAP and handling function modules.
Process Flow
150. 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.
153. 4. You call the generated function module and send the parameters to the form
interface.
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.
* PRINT:
Process Flow
You 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.
Result
The 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.
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.
Activities
You 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
Activities
33. ...
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.
Activities
To perform the troubleshooting actions, call the function modules in your application
program.
Troubleshooting Texts
1. 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.
Trace
34. ...
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.
Form Output
Purpose
You 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.
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.
Prerequisites
The 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 Flow
To 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.
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
Use
PDF-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.
Integration
You 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.
Activities
To 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.
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.
Example
For 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
Spool Processing
Use
As 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
Integration
The functions related to these settings are no longer part of the process of creating PDF-
based forms.
Features
You 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:
Controlling the Spool Dialog
Printing PDF-Based Forms in the SAP Printing Guide
Displaying and Printing PDF-Based Forms in the SAP Printing Guide
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
Prerequisites
The DEVICE parameter of the structure SFPOUTPUTPARAMS must have the value ’PRINTER’.
Features
The 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
See also:
Example: Calling Forms in an Application Program
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.
Integration
You can edit XDC files in a text editor and manage them in the SAP system.
Functions
The 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)
Activities
For 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.
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.
Integration
XFP output corresponds to XSF output for Smart Forms and RDI output for SAPscript.
Prerequisites
Since XFP uses spool processing, at least one printer of device type XFP must be set up
in the system.
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.
Performance Analysis
You can obtain precise details about the performance of Adobe document services. For
more information, see Adobe Performance Analysis (in English only).
Cross-Client Objects
The interfaces and forms for PDF-based forms are cross-client objects.
Translating Texts
PDF-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 nodes
These 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 Designer
From 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 Language
When 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 Forms
Different 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.
Tools Associated with Form Development
Use
When 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
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.
See also:
Documentation about Version Management
Integration
This 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).
• ○ 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.
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).
Procedure
39. ...
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.
Check and Update Functions for Zero Client
Installation (ZCI)
Use
You use transaction SFP_ZCI_UPDATE to check forms and update them to ZCI.
Integration
This 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.
Features
This 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.
Activities
41. ...
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.
Features
This 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 layouts
This 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).
Activities
42. ...
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.
Example
For 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.
Performance Analysis
You can obtain precise details about the performance of Adobe document services. For
more information, see Adobe Performance Analysis (in English only).
Caching Forms
Use
Forms 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).
Prerequisites
To use this function, you require SAP NetWeaver Support Package Stack 6 or higher.
Activities
You 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.
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.
Prerequisites
To 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
Features
Form 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.
Activities
There 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
MBATCHING X to activate complex bundling
CACHING Not required for bundling. See Caching Forms.
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.
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.
Features
You 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.
Activities
Set 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.
This guide does not replace the daily operations handbook that we recommend
customers to create for their specific productive operations.
Application Guide
SAP Web Application Server SAP NetWeaver Application Server ABAP
Security Guide
SAP NetWeaver Application Server Java
Security Guide
Referenced documentation
For 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
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
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.
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.
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.
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 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
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
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 Security role that allows the ADSuser to access
(in J2EE Engine) the Adobe document services. Created when
system was installed.
SAP_BC_FP_ICF Role that allows the ADS_AGENT to access
(in ABAP Engine) the ICF service in the SAP Web AS ABAP. See
Technical System Landscape.
ADSCallers Only if ADSuser is located in the SAP Web AS
(in ABAP Engine) ABAP (Transaction PFCG). The ADSCallers
role in SAP Web AS ABAP appears
automatically as the ADSCallers group in the
J2EE Engine. See User Management.