Table of Contents

Open all
Close all
1 Introduction
17
2 Use of SAP Interactive Forms by Adobe
23
2.1 PDF, PDF-Based Print Forms, and Interactive PDF Forms
23
2.1.1 PDF File Format
23
2.1.2 PDF-Based Print Forms
24
2.1.3 Interactive PDF Forms
27
2.1.4 Accessibility of PDF Forms
28
2.1.5 Using Interactive PDF Forms
29
2.2 Adobe Reader and Adobe Acrobat Family
29
2.2.1 Comparing Adobe Reader and Acrobat Professional
30
2.2.2 Selecting the Appropriate Adobe Reader Version
33
2.2.3 Useful Settings of Adobe Reader
34
2.3 Examples of PDF-Based Print Forms and Interactive PDF Forms
34
2.3.1 Example for Print Output
34
2.3.2 Creating an Interactive PDF Form
38
2.4 Using Interactive Forms in Business Processes
40
2.4.1 Online Scenarios
41
2.4.2 Offline Scenarios
41
2.4.3 Combining Online and Offline Scenarios
43
2.4.4 When Do You Use Online and Offline Scenarios?
43
2.4.5 Notes on the Use of Interactive Forms
45
2.5 Software Components and Architecture
46
2.5.1 Adobe LiveCycle Designer
47
2.5.2 Adobe Document Services
52
2.5.3 Interaction of Components
56
2.6 Summary
60
3 Installation and Configuration
63
3.1 Prerequisites
63
3.1.1 Credentials and Password for SAP Interactive Forms by Adobe
64
3.1.2 Adobe LiveCycle Designer 8.2
64
3.2 Basic Configuration
64
3.2.1 ADSUSER
65
3.2.2 ADSCaller
68
3.2.3 Web Service Test
68
3.3 Scenario-Dependent Configuration
72
3.3.1 RFC Destination
73
3.3.2 Destination and ICF Service
75
3.3.3 Web Service Proxy
82
3.3.4 ReaderRights Credential
85
3.3.5 FPCONNECT
88
3.4 Configuration for Parallelization
89
3.4.1 Web Service for Parallelization
91
3.4.2 Web Service for Monitoring
93
3.4.3 Connection Test for the Two Web Services
94
3.4.4 Assigning the Logical Port to the ADS Connection
95
3.5 Optional Configuration
96
3.5.1 Licensing
96
3.5.2 Credentials, Trusted Anchors, Certificate Revocation Lists
98
3.5.3 Service Properties
101
3.5.4 Number of Parallel Print Jobs
103
3.5.5 Fonts
105
3.5.6 XDCs
105
3.6 Error Analysis
105
3.7 Using ADS
107
3.7.1 Monitoring and Performance Tracing
107
3.7.2 Log Configurator
108
3.8 Installation of Adobe LiveCycle Designer
110
3.9 Automatic Configuration via CTC
110
3.10 ADS Hub
111
3.11 Summary
114
4 Interface and Form Context
115
4.1 Structure of a Form
115
4.2 Interface of a Form
116
4.2.1 ABAP Dictionary-Based Interface
119
4.2.2 XML Schema-Based Interface
129
4.2.3 Smart Forms-Compatible Interface
131
4.2.4 Documentation of a Form Interface
132
4.3 Context of a Form
134
4.3.1 Creating a Form
134
4.3.2 Structure of a Form
137
4.3.3 Structures
141
4.3.4 Data Nodes
144
4.3.5 Text Nodes
146
4.3.6 Graphic Nodes
153
4.3.7 Address Nodes
157
4.3.8 Alternatives
160
4.3.9 Tables or Loops
163
4.3.10 Single Record Nodes
167
4.3.11 Conditions
170
4.3.12 Folders
171
4.4 Documentation of a Form
172
4.5 Summary
173
5 Creating Form Templates
175
5.1 Adobe LiveCycle Designer
175
5.1.1 Menu Bar and Toolbar
177
5.1.2 Script Editor
177
5.1.3 Hierarchy and Data View
178
5.1.4 Library and Object Palette
180
5.1.5 Form Design Area
182
5.2 The Basic Principles of the Form Template Design
182
5.2.1 Getting Started
184
5.2.2 Using Text Fields
187
5.2.3 Formatting Texts
193
5.3 Data Binding for Form Fields
195
5.3.1 Defining the Data Binding
195
5.3.2 Using Preview Data
198
5.4 Structuring Form Templates with Subforms
199
5.4.1 Adding a Hierarchy
200
5.4.2 Extending the Form Template
203
5.5 Using Master Pages and Rich Text Fields
209
5.5.1 Customizing the Master Page
209
5.5.2 Rich Text Fields
210
5.5.3 Alternative Method for Adding the Footer
213
5.5.4 Activating Forms
213
5.6 Reusing Form Objects
213
5.6.1 Creating Your Own Libraries
214
5.6.2 Adding Form Objects
215
5.6.3 Using Form Objects
216
5.7 Implicit Data Binding
217
5.7.1 Creating Copies of Forms
217
5.7.2 Implementing the Implicit Data Binding
218
5.8 Useful Functions in Adobe LiveCycle Designer
222
5.8.1 Customizing the Toolbars
222
5.8.2 Object Editor
222
5.8.3 Spelling
223
5.8.4 Hyphenation
223
5.8.5 Managing Multiple Form Fields
225
5.8.6 Managing Data Bindings
225
5.8.7 Adobe Reader Target Version for a Form Template
226
5.8.8 Defining the Tab Order
227
5.8.9 PDF Structure
228
5.9 Summary
228
6 Form Output
229
6.1 Print Program
230
6.1.1 Data Selection
230
6.1.2 Determining the Generated Function Module
232
6.1.3 Opening a Print Job
234
6.1.4 Calling the Generated Function Module
237
6.1.5 Closing the Print Job
239
6.1.6 Form Output
240
6.2 Spool System
244
6.3 Device Types for the Output
246
6.4 Special Output Scenarios
249
6.4.1 Archiving
249
6.4.2 Returning Documents
250
6.5 Error Analysis
254
6.5.1 Trace and PDF with Additional Information
254
6.5.2 Activating and Retrieving the Trace in the Print Program
258
6.5.3 More Detailed Error Messages
258
6.5.4 ICF Recorder
258
6.6 Performance Optimization Through Bundling
263
6.6.1 Bundling Forms
263
6.6.2 Activating Bundling
264
6.6.3 Deactivating Bundling
265
6.6.4 Bundling Example
266
6.6.5 Bundling the PDF Return
269
6.7 Parallelization of Print Jobs
270
6.7.1 Activating Parallelization in the Print Program
272
6.7.2 Monitoring Requests
273
6.7.3 Tracing Using the SOA Manager
276
6.8 Translating Forms
281
6.8.1 Translating Short Texts
282
6.8.2 Translating Long Texts
283
6.8.3 Output of a Translated Form
284
6.9 XFP Output
285
6.10 Summary
287
7 Advanced Form Template Design
289
7.1 Advanced Techniques for Print Forms
289
7.1.1 Preparations
289
7.1.2 Floating Fields
290
7.1.3 Using Tables
292
7.1.4 Page Breaks
296
7.1.5 Subform Set
300
7.1.6 Using Patterns for Display Formatting
302
7.1.7 Conditional Page Breaks
307
7.1.8 Form Output with Duplex Printing
309
7.1.9 Output of the Completed Form Template
311
7.2 Interactive PDF Forms
312
7.2.1 Preparations
313
7.2.2 From PDF-Based Print Forms to Interactive PDF Forms
317
7.2.3 Form Fields of Interactive PDF Forms
330
7.2.4 Dynamic Properties
338
7.3 Using Script Programs
341
7.3.1 First Script Program
342
7.3.2 Tips for Debugging Script Programs
346
7.3.3 Calculations via Script Programs
348
7.3.4 Input Validation via Script Programs
349
7.3.5 Controlling the Ready-for-Input Status and Visibility of Form Fields
350
7.3.6 Determining the Recipient Address for an Email Message at Runtime
352
7.3.7 Querying Reader Version Information
353
7.3.8 Access to Data Nodes and Form Fields
356
7.3.9 Dynamic Tables
357
7.4 Using Barcodes
361
7.4.1 Properties of Barcodes
362
7.4.2 Notes on the Output of Barcodes with Zebra Label Printers
363
7.5 Tips for Increasing Performance
363
7.5.1 Merging Static Texts
363
7.5.2 Resolution of Used Images
364
7.5.3 Ensuring Correct Data Bindings
364
7.5.4 Nesting Depth of Subforms
364
7.5.5 Gradient Fills for PostScript Level 2
365
7.5.6 Using Script Programs
365
7.5.7 Enforcing Strict Scoping Rules in JavaScript
365
7.5.8 Limiting the Volume of Transferred Data for the Form Output
366
7.5.9 Using Fonts
366
7.6 Introduction to Accessible PDF Forms
366
7.6.1 Creating Accessible PDF Forms
367
7.6.2 Tips for Creating Accessible PDF Forms
368
7.7 Additional Information
369
7.7.1 Additional Information on the Internet
369
7.7.2 Adobe Designer Scripting Reference
369
7.7.3 XFA
370
7.7.4 Acrobat JavaScript Reference
370
7.8 Summary
371
8 Integration with Web Dynpro ABAP
373
8.1 Web Dynpro ABAP
374
8.1.1 Initial Overview
374
8.1.2 Step by Step: Hello World
378
8.2 Scenarios for the Integration of Interactive Forms
385
8.2.1 Print Scenario
385
8.2.2 Online Scenario
387
8.2.3 Offline Scenario
388
8.3 The InteractiveForm UI Element
389
8.4 Interaction with Form Builder
391
8.4.1 Using Form Templates
391
8.4.2 The pdfOnly Case
404
8.5 Implementing Scenarios Using Web Dynpro ABAP
404
8.5.1 Print Scenario
405
8.5.2 Online Scenario
410
8.5.3 Offline Scenario
469
8.5.4 Migrating ACF to ZCI
497
8.5.5 Specialized Topics
498
8.6 Summary
500
9 Internal Service Request
501
9.1 Introduction
502
9.1.1 Concepts in the ISR Framework
502
9.1.2 Prerequisites
504
9.1.3 What Can Be Configured and Where Can It Be Programmed?
505
9.2 SAP NetWeaver Portal Scenarios
506
9.2.1 Grouping of the Provided Scenarios
507
9.2.2 Calling the Request Form in the Portal
507
9.2.3 Applicant Role
508
9.2.4 Approver Role
514
9.2.5 Processor Role
517
9.2.6 Workflow or Worklist?
518
9.3 Getting Started—Creating a Plain Scenario
518
9.3.1 Preliminary Considerations for a New ISR Scenario
519
9.3.2 ISR Wizard
520
9.4 Customizing and Programming a Scenario
529
9.4.1 General Details
529
9.4.2 Application and Version
532
9.4.3 Notification Type
533
9.4.4 Entry Type
534
9.4.5 Characteristics
535
9.4.6 Activities and Automatic Updates in Notifications
537
9.4.7 The Processor’s Activities from the Form
541
9.4.8 Processor Determination (BAdI QISR3) and Workflow
543
9.4.9 Service Costs and BAdI QISR2
548
9.4.10 Testing the Scenario
550
9.5 Request Forms as Adobe Forms
551
9.5.1 Specific Properties
551
9.5.2 Structure of the Interface and Form Context
552
9.5.3 Generating Adobe Forms from Characteristics
554
9.5.4 Generating New Characteristics from the Form
556
9.5.5 ISR Library—Special Screen Elements
556
9.6 Form Flow Logic
564
9.6.1 Data Structures within the ISR Framework
567
9.6.2 Default Values for the MODE, USER_COMMAND, and FORM_VIEW Parameters
568
9.6.3 Programming Examples
568
9.6.4 Reading and Setting the Special Request Fields in BAdI Methods
572
9.6.5 Error Handling During Checks
574
9.6.6 Controlling the Field Layout
574
9.7 ISR Architecture
575
9.7.1 ISR as a Toolset
575
9.7.2 Web Dynpro ABAP Component and How to Use It
577
9.7.3 Usage Options in SAP NetWeaver Portal
580
9.7.4 ISR_PROCESS_EVENT RFC
588
9.7.5 Additional Interfaces and Auxiliary Functions
590
9.8 ISR in the Application Basis (ABA)
592
9.8.1 Basic Concept
592
9.8.2 Defining a Scenario
594
9.8.3 Form Flow Logic
596
9.8.4 Architecture
600
9.9 Summary
603
10 ABAP Offline Infrastructure
605
10.1 Offline Scenarios Using Email Messages
605
10.2 Address Updating in the Flight-Booking Model as a Sample Scenario
606
10.3 Configuring the Email Inbound
608
10.4 Using ABAP Offline Infrastructure
609
10.4.1 Creating the Offline Handler
609
10.4.2 Interface and Context
610
10.4.3 Creating the Form Template
612
10.4.4 Generating and Sending the Form
618
10.4.5 Processing Forms Received
623
10.5 Testing the Offline Scenario
628
10.6 Summary
633
11 ABAP PDF Object
635
11.1 Overview
635
11.2 Instantiating the PDF Object
636
11.3 Creating a PDF Document
639
11.3.1 Retrieving a Form
640
11.3.2 Transferring a Form via a Reference
641
11.3.3 Creating an Interactive PDF Document
642
11.3.4 Usage Rights
645
11.4 Processing an Interactive PDF Document
647
11.4.1 Filling Out an Interactive PDF Document
648
11.4.2 Data Extraction
650
11.4.3 Validation of a Digital Signature
651
11.5 Certifying PDF Documents
653
11.6 Job Profiles
657
11.7 Additional Methods of the PDF Object
657
11.8 Summary
658
12 Offline Scenarios via Web Services
659
12.1 Overview
659
12.2 Using WSDL Data Connections
660
12.2.1 Creating a Web Service Based on a BAPI
660
12.2.2 Creating a Form Template
668
12.2.3 Testing the Form Template
674
12.3 Using the SOAP Object in JavaScript
678
12.3.1 Creating a Web Service on the Basis of a Function Module
678
12.3.2 Creating a Form Template
684
12.3.3 Implementing the Web Service Calls
685
12.3.4 Testing the Form Template
690
12.4 Tips for Using Web Services
692
12.4.1 Calling the Web Service in the Click Event
692
12.4.2 Calling the Web Service Automatically When Opening the Form
692
12.4.3 Calling Multiple Web Services Using a Button
692
12.5 Summary
693
13 Advanced Installation and Configuration
695
13.1 Configuring a Secure Connection to ADS
695
13.1.1 Setting Up Your Own Certification Authority
696
13.1.2 Creating an SSL Client Identity in the ABAP System
698
13.1.3 Configuring the Java System and ADS
709
13.1.4 Creating a Secure Connection in the ABAP System
727
13.2 Managing and Creating Job Profiles
730
13.2.1 Calling the Job Profile Management
730
13.2.2 Managing Job Profiles
731
13.2.3 Creating a New Job Profile
731
13.3 Installing and Using the XDC Editor
734
13.4 Summary
735
The Authors
737
Index
739