AdobeFormspdf Slides
AdobeFormspdf Slides
Interactive Forms
Based on Adobe
Software
M. S. AHMED
Prerequisites for the
Workshop
Required:
• BC400 (ABAP Workbench: Basics)
• ABAP Programming background
Recommended:
• Knowledge of SAPscript and/or Smart Forms
Workshop
Context Layout
Interface
What Happens at Run Time
PDF-based
form template
activate
ABAP
Application function
program module
(generated)
Printout
= Form
= Document
Database
SOAP
PDF Object (ABAP)
Web Services
Web Services
Document Service
SOAP
(EJB)
Adobe Document Services
Core Components
Workshop
LOOP AT ...
* (4) Call function module dynamically
CALL FUNCTION <generated function module> ...
ENDLOOP.
...
LOOP AT ...
fp_docparams-langu = customer_language.
LOOP AT ...
CALL FUNCTION func_mod_name
(3) Call generated
EXPORTING ...
function module
IMPORTING ...
ENDLOOP.
Program: Example Used in
Workshop
Program
FP_EXAMPLE_01
Workshop
Double click
Dictionary
Encapsulated Parts of an
Interface
Workshop
Properties
Context
Designer: Overview
Properties
Context
Designer: Overview
Node properties/
Field properties
conditions
Context: Using the Interface
2
1
Detour: XML
Representations of Internal
Tables
XML Data Definition XML Data Stream
<BOOKINGS> <BOOKINGS>
<DATA>
<DATA dd:maxOccur="-1">
<CARRID>LH</CARRID>
<CARRID/> <CONNID>0400</CONNID>
</DATA>
<CONNID/>
<DATA>
</DATA> <CARRID>LH</CARRID>
</BOOKINGS> <CONNID>0402</CONNID>
</DATA>
</BOOKINGS>
Conditions for Context
Elements
to be done
Including Addresses
Form 2 Form 3
Deutsche Bank Hamburg,
(BLZ 699 700 99) 099 55555
SWIFT DEUT DESM 699
Vorstand: Chr. Sparwasser · Sharon Bishop
Chantal Willemin · Hassan Chaatouf
Registergericht Heidelberg HRB 999-WWW
Creating Text Modules
Form
• Package
Style
ADDR_FOOTER
• Translation attributes
Text Module
• Style
Display Change Create
Text Management
* Left-justified BO Bold
4 Truckee Way, New York, NY 12345-678
P.O. Box 16 05 29, New York NY 34573-134
Telephone (212) 990 Fax (212) 99 12 77
Including Text Modules
determined at runtime
Including SAPscript Texts
determined at runtime
Properties
Context
Designer: Overview
Palette menu
Palettes (can
be moved to
different
palettes)
Palettes: Overview
Objects
List of included on
available the pages
objects
Fields from
the context
Object details
Basic settings
for the
Layout Editor
Drawing Aids: Settings for
the Layout Editor
Objects
2 2
3 5
4 6
Nested Objects vs.
Consecutive
To nest an object
under another object
Objects
To place an object
underneath another
(making it a part of it) object in the
in the Hierarchy Hierarchy palette:
palette:
2
XML Data and Preview
Preview with test
data
Preview without
test data
Suggested Approach to
Designing Forms
Set up your design environment based on agreed standards.
• Settings are document-based and all members of the
development team should know what those settings are.
• Agree upon font, grids, guidelines and so on
• Build a library
Test your form frequently, if possible using different test
data.
Form Builder: Form
Properties
Context
Designer: Overview
will be overridden
by application program
Customer address
content area
boilerplate object
Bank information
Inserting Several Master
Pages
MP1 MP2 MP3
Restrict page
occurrence:
max count = 1
Suggested Approach to
Designing Forms
Create the master page first.
• Look for data that belongs to the background of the page
• Set your content area
4. Embed image in
XML source 3. Browse image
Inserting Sender’s Address
2
4
5
Inserting Recipient’s Address
3
1 2
4
5
Covering Opening & Closing
1
3
2
Booking Table: Inserting
Fields
1 2
3
Booking Table: Arranging
Columns
1 5
6
Booking Table
1
Booking Table: Creating
Subform for Header
1
3
2
Header: Inserting Text Fields
2
Header: Formatting Text
Fields
2
3
Setting Subform as Header
2
Inserting Totals Table
3
Formatting Totals Table
1
2
1
4
Formatting Totals Table
2
1
4
Totals Table: Inserting
Labels
1
2
3
New Page: Inserting the
Terms of Trades
Workshop
Display Options
Scripting
General Tips
Offset and Output Length
check notes
Date Pattern Symbols
give examples
Country-Specific Formatting
with no Patterns
9 a single digit, or
zero digit if empty or a space
z a single digit, or
nothing if empty, a space, or the
zero digit
Z a single digit, or
a space if empty, a space, or the
zero digit
S a minus sign if the number is
negative, and
a space otherwise
Pattern Examples (Numeric
Fields)
Custom Input Formatted value
pattern value
Locale Locale
en_US de_DE
99 155 "15" "15"
S999.9 1.55 " 001.6" " 001,6"
155 " 155.0" " 155,0"
SZZ9.99 15.5 " 15.50" " 15,50"
-15.5 "- 15.50" "- 15,50"
szz9.99 155 "155.00" "155,00"
-155 "-155.00" "-155,00"
Tips and Tricks
Display Options
Scripting
General Tips
Scripting
single-line display • FormCalc (recommended for print forms)
• JavaScript (recommended for interactive forms)
various events
• Client
• Server
multi-line display
option available in multi-line display only
Examples of FormCalc
to be done
CHECK notes
talk about variables
Tips and Tricks
Display Options
Scripting
General Tips
PROTECT (Controlling Page
Breaks)
To control content page breaks choose Palette Object
Subform Allow Page Break within Content.
Suggested Approach to
Designing Forms
Take the time to review the data schema (i. e. the context).
• Compare the flow of the data to the physical output of the form.
• Ideally, the data flow should have logical groups that match the
logical groupings of the physical file.
• Ensure that the data schema has a data node that is representative
of one transaction/form
The data view in the designer is a good tool for determining the
grouping.
Suggested Approach to
Designing Forms
• Draw the form initially without subforms or with only a few
subforms to start.
• To replicate objects choose Copy / duplicate multiple.
• If a field is not behaving as expected, try recreating it.
• For print forms, margins may not be required.
• Save the form frequently and incrementally if possible.
Suggested Approach to
Designing Forms
• Place the items / fields on the form in the order they appear on
the printout and in the order in which they appear on the form.
• After creating your subforms and before setting their properties,
test whether that data is still populating.
• Before setting the page content area to Flowed, set your layout
information for each subform.
Suggested Approach to
Designing Forms
The last step(s) you should take is/are
• Creating any reference / overflow items.
• Setting page content to Flowed
check ???
Downloading Form objects
Utilities
...
Uploading form object
Downloading form object
PDF Import Functionality of
Designer Importing an existing PDF form
means converting it to an XDP file
(containing the XFA, that is, the
XML description for the layout of
the form).
• Title page
• Chapters, headings
• Sections and subsections
• Multi-column text
• Tables
text
• Use thedescriptions
accessibility palette to define alternate texts, and add a custom
screen reader text.
Workshop
Public web:
SAP Service Marketplace: http://service.sap.com/adobe
SAP Developer Network: http://sdn.sap.com
Adobe: http://www.adobe.com/sap
SAP Contacts:
Product Management:
Markus Meisl (General): [email protected]
Carsten Brandt (Java development): [email protected]
Project Office (Development):
Christoph Wachter: [email protected]