You are on page 1of 72

INTEGRATION GUIDE | PUBLIC

SAP Cloud Platform Forms By Adobe


Document Version: CLOUD – 2018-11-08

SAP Cloud Platform Forms by Adobe


© 2018 SAP SE or an SAP affiliate company. All rights reserved.

THE BEST RUN


Content

1 SAP Cloud Platform Forms by Adobe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.1 Use Cases. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2 Architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6

1.3 Initial Steps in Your SAP Cloud Platform Subacccount. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Enabling SAP Forms by Adobe for Your Subaccount. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Assigning Roles to Users. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.4 Connecting Your ABAP System. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10

Configuring the ABAP System. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Installing and Configuring the Cloud Connector. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18

Configure the Destination in Your SAP Cloud Platform Subaccount. . . . . . . . . . . . . . . . . . . . . . .22

1.5 Test Your Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

1.6 Migration from On-Premise ADS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

1.7 Configuration Tool. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Upload Fonts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

Configure Fonts and Print Information using XDC and XCI Files. . . . . . . . . . . . . . . . . . . . . . . . . 28

Configure Document Security. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Manage Job Profiles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30

Download Support Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31


Configure Caching. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Data Migration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

1.8 Connect a WebDynpro Java Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

1.9 SAP Forms by Adobe REST API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Connection Setup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Tutorials: OAuth Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39

Call the REST API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Tutorial: Implement a Simple REST Client in Java. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Using the Adobe LiveCycle Designer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Supportability and Troubleshooting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60

1.10 Data Protection and Privacy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

2 REFCONT: Data sheet for SAP Forms by Adobe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

SAP Cloud Platform Forms by Adobe


2 PUBLIC Content
1 SAP Cloud Platform Forms by Adobe

Use SAP Forms by Adobe to manage print and interactive forms.

SAP Forms by Adobe is a cloud service based on the ADS (Adobe Document Services) component by Adobe. It
is hosted on the SAP Cloud Platform (Neo environment). Since SAP Forms by Adobe provides virtually the
same features, you can use it as an alternative to ADS based on SAP NetWeaver and call it from an application
running on an ABAP or Java backend system.

 Note

See also: Adobe Document Services for Form Processing (SAP NetWeaver).

Using SAP Forms by Adobe, SAP manages the complete service for you and is responsible for all patches and
updates.

After performing the configuration tasks to connect your ABAP system to SAP Forms by Adobe, you can start
using the service immediately without the need to manage any additional hardware resources.

As a system administrator, learn more in the following sections about the required configuration tasks on your
ABAP system, the Cloud Connector, your SAP Cloud Platform subaccount, and the ADS configuration tool.

 Note

This guide assumes familiarity with the SAP Cloud Platform.

If you want to consume SAP Forms by Adobe from your own application developed and hosted on SAP Cloud
Platform, you can use the SAP Forms by Adobe REST API [page 36] to call the service.

 Note

Using the SAP Forms by Adobe REST API for your Cloud application requires you to provide your own form
templates (using the Adobe LiveCycle Designer), as well as your own data files. See also: Using the Adobe
LiveCycle Designer [page 53].

For detailed information on the SAP Forms by Adobe scenarios, see: Use Cases [page 5].

Features

The capabilities of SAP Forms by Adobe enable you to:

● Create interactive forms that look exactly like their paper counterparts
● Work with forms in online and offline scenarios
● Annotate PDF documents and collaborate on PDF document reviews
● Capture data using forms and import the data directly into the SAP system
● Allow users to digitally sign PDF documents
● Embed other file formats inside PDF documents as attachments

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 3
Prerequisites

● You have a consumer subaccount on the SAP Cloud Platform, which is subscribed to SAP Forms by
Adobe.

 Note

To get started with the SAP Forms by Adobe trial version, see this blog on SCN: SAP Forms by Adobe:
How to try out .

● On your own subaccount, you have a user ID that is registered with SAP ID service. See Assigning
Members in the Neo Environment.

● You have purchased the license for SAP Cloud Platform Forms by Adobe and received an e-mail
notification that SAP Forms by Adobe has been configured for your subaccount (productive use)
● You have enbaled the service for your productive subaccount, see Enabling SAP Forms by Adobe for Your
Subaccount [page 7].
● You operate an ABAP system based on version SAP NetWeaver 7.0 SP13 or higher.

Restrictions

Not supported:

● Parallelization
● HSM (Hardware Security Module) / MS-CAPI (Microsoft CryptoAPI) credentials for digital signatures
(including USB hardware token)
● Custom Identity Provider (supported instead: SAP ID service, see Prerequisites).
● ABAP test report FP_PDF_TEST_28

Supported with restrictions:

● Direct access to graphic URLs on customer internal server networks is not supported.

 Note

Find a workaround for accessing internal graphic URLs using the Cloud Connector in SAP Note
2171542 .

● NW 7.0, NW 7.01: in ABAP report RSPO0022, add the prefix XDC/Customer/ to the xdc file name you want
to assign to a SAP device.

 Note

For more details and the current list of known restrictions, see also SAP Note 2171547 .

Enhancements

SAP Cloud Platform Forms by Adobe


4 PUBLIC SAP Cloud Platform Forms by Adobe
● Support of software-based Aztec Barcode. See SAP Note 2699022 .
● Change or create custom locale definitions. See SAP Note 2696301 .
● Support of extended decimal data fields (AFLE). See SAP Note 2699015 .

Related Information

Use Cases [page 5]


Architecture [page 6]
Initial Steps in Your SAP Cloud Platform Subacccount [page 7]
Connecting Your ABAP System [page 10]
Test Your Configuration [page 24]
Migration from On-Premise ADS [page 25]
Configuration Tool [page 26]
Connect a WebDynpro Java Application [page 35]
SAP Forms by Adobe REST API [page 36]
Data Protection and Privacy [page 67]

1.1 Use Cases

SAP applications can call the SAP Forms by Adobe REST API of SAP Cloud Platform Forms by Adobe to
generate print or interactive PDF forms.

There are currently two use cases for calling SAP Forms by Adobe:

1. SAP Forms by Adobe is called directly by an application running on a NetWeaver-based ABAP or Java
backend.
The application running on the ABAP backend uses the ABAP PDF Object, also known as the Forms
Processing Runtime. Java applications make use of the Java PDF Object. The ABAP backend can be an on-
premise system or a cloud-based system.
Example: Applications on Business Suite, S/4HANA on-premise edition, S/4HANA cloud edition.
2. The second use case is following the RESTful service principle. SAP Forms by Adobe is not called directly.
Instead, the application calls the SAP Forms by Adobe REST API via HTTP.
The first edition provides a subset of the already known ABAP PDF Object features. They are addressed by
different URIs (Uniform Resource Identifiers) where each URI supports data and document exchange in a
JSON format. The SAP Forms by Adobe REST API delivers a comprehensive description and is easy to test.
Similar to the first use case, the application calls the REST API via an SAP Cloud Platform subaccount that
must be subscribed to SAP Forms by Adobe.
Example: Services/applications running on SAP Cloud Platform.

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 5
Related Information

Architecture [page 6]
Initial Steps in Your SAP Cloud Platform Subacccount [page 7]
Connecting Your ABAP System [page 10]
SAP Forms by Adobe REST API [page 36]

1.2 Architecture

SAP Cloud Platform Forms by Adobe: Architecture

You can use the service SAP Forms by Adobe in two different scenarios:

1. Calling SAP Forms by Adobe from an application running on an ABAP or Java backend.
In this use case, there are three sections where you connect your ABAP system to SAP Forms by Adobe:
○ Configuration UI: You use the configuration UI to manage your own fonts, XDC files, credentials, and so
on.
○ Web Service: Your ABAP system calls SAP Forms by Adobe in a web service using an SSL connection.
○ Destination Service: SAP Forms by Adobe calls back to the ABAP system to retrieve the form template,
using a secure connection in the cloud connector.
2. Calling SAP Forms by Adobe from an application through the SAP Forms by Adobe REST API via HTTP.
The diagram below shows examples (scenarios 1 and 2) for these use cases:

SAP Cloud Platform Forms by Adobe


6 PUBLIC SAP Cloud Platform Forms by Adobe
1.3 Initial Steps in Your SAP Cloud Platform Subacccount

Enable SAP Forms by Adobe for your subaccount and perform basic role assignment.

● Enabling SAP Forms by Adobe for Your Subaccount [page 7]


● Assigning Roles to Users [page 8]

1.3.1 Enabling SAP Forms by Adobe for Your Subaccount

Before you can configure SAP Forms by Adobe, you must enable the service for your subaccount from the
cockpit.

Prerequisites

You must have a valid license for SAP Forms by Adobe, see Pricing Information .

Procedure

Once you are logged on to the SAP Cloud Platform cockpit, you can use a self-service to enable SAP Forms by
Adobe from your subaccount.

 Note

If you use SAP Forms by Adobe from more than one subaccount, the following steps apply to each of these
subaccounts.

1. From your subaccount, choose Services from the navigation panel to access the list of available services.
SAP Forms by Adobe is still in status Not enabled.

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 7
2. Click on the service to access the detail view. The configuration links at the bottom of the screen are still
disabled. To activate them, press Enable.

3. After a short processing time, the service and the configuration links are enabled.

4. Proceed with the next configuration step: Assigning Roles to Users [page 8].

1.3.2 Assigning Roles to Users

How to assign roles to users for SAP Forms by Adobe in your SAP Cloud Platform subaccount.

Your subaccount user needs a basic role assignment to be able to work with SAP Forms by Adobe:

● The role ADSAdmin is required for calling the configuration tool of SAP Forms by Adobe.
● The role ADSCaller is required for calling the web service of SAP Forms by Adobe.

SAP Cloud Platform Forms by Adobe


8 PUBLIC SAP Cloud Platform Forms by Adobe
Prerequisites

SAP Forms by Adobe must be enabled for your subaccount, see Enabling SAP Forms by Adobe for Your
Subaccount [page 7].

Procedure

To enable access to the web service of SAP Forms by Adobe, do the following:

1. Open the SAP Cloud Platform cockpit for your subaccount that is subscribed to SAP Forms by Adobe.
2. Choose Services.
3. Select SAP Forms by Adobe and in section Service Configuration of the detail view choose the link SAP
Forms by Adobe (Roles & Destinations).
4. Choose Roles in the navigation pane on the left-hand side. On the Roles screen, the roles ADSAdmin and
ADSCaller are displayed.
5. Select ADSAdmin to see the users assigned to this role in the frame below.

 Note

This could be either your user for the Service Marketplace (s user) or your user for the SAP Community
Network (SCN user).

6. Choose Assign to add new users.


7. Repeat all steps for the role ADSCaller.

Result

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 9
Related Information

Connecting Your ABAP System [page 10]


Configure the Destination in Your SAP Cloud Platform Subaccount [page 22]

1.4 Connecting Your ABAP System

Configure AS ABAP, the SAP Cloud Platform cloud connector, and your SAP Cloud Platform subaccount to
enable communication with SAP Forms by Adobe.

To establish the connection between SAP Forms by Adobe and your ABAP system, you need to perform several
configuration steps on AS ABAP, the SAP Cloud Platform cloud connector (formerly known as SAP HANA
Cloud connector), and your SAP Cloud Platform subaccount.

The key task is to specify and map the required destinations for RFC/HTTP communication.

Learn more about the configuration details for each component in this section.

SAP Cloud Platform Forms by Adobe


10 PUBLIC SAP Cloud Platform Forms by Adobe
Related Information

Configuring the ABAP System [page 11]


Installing and Configuring the Cloud Connector [page 18]
Configure the Destination in Your SAP Cloud Platform Subaccount [page 22]

1.4.1 Configuring the ABAP System

Setting up the SSL connection, RFC destination, and HTTP communication in AS ABAP.

You have to perform several configuration steps in your ABAP system to use it with SAP Forms by Adobe.

Prerequisites

The communication between the ABAP system and SAP Cloud Platform must use SSL.

● If not already done, configure SSL on your ABAP System.

 Note

For more information, see Configuring SAP NetWeaver AS for ABAP to Support SSL.

Related Information

Establish the SSL Connection to SAP Cloud Platform [page 11]


Configure the RFC Destination [page 13]
Configure the ICF Service on your ABAP System [page 18]

1.4.1.1 Establish the SSL Connection to SAP Cloud


Platform

Configure your SSL connection to SAP Cloud Platform in the ABAP Trust Manager.

To set up an SSL connection between the ABAP system andSAP Cloud Platform, you have to import the
required security certificates into AS ABAP.

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 11
 Note

We recommend you to create and use your individual SSL Client PSE for importing the required Root CA
certificates. For more information, refer to the Help Portal documentation Creating Individual SSL Client
PSEs.

Procedure

Perform the following steps to set up the SSL connection to the SAP Cloud Platform:

 Note

For more information about managing certificates in AS ABAP, see also: Configuring SAP NetWeaver AS for
ABAP to Support SSL.

1. Open https://www.digicert.com/digicert-root-certificates.htm in your web browser and


download the following certificate:
○ DigiCert Global Root CA
2. In the ABAP system, open the Trust Manager (transaction STRUST) and navigate to the individual SSL
client PSE you defined before. Double click this entry.
3. Import the certificate:
1. Choose the menu path: Certificate Import .
2. Select the file you downloaded previously and continue.
3. Press Add to Certificate List in the Certificate view. This certificate file will then be listed in the
Certificate List view.
4. Save your changes.

 Note

Due to a switch of root certificates on SAP Cloud Platform, certificates on all new SAP Cloud Platform
data centers and certificate renewals on the existing data centers use the new root CA issuer DigiCert.

For up-to-date information on the domain-specific validity of certificates on SAP Cloud Platform,
please follow this SCN blog: Certificate Authority Change .

Result

After importing the certificate, the certificate list and details in ABAP Trust Manager look like this:

SAP Cloud Platform Forms by Adobe


12 PUBLIC SAP Cloud Platform Forms by Adobe
1.4.1.2 Configure the RFC Destination

Create and configure an RFC destination for SAP Forms by Adobe in AS ABAP.

To access the web service of SAP Forms by Adobe, you need to create and configure an RFC destination.

 Note

For more information, see also: Maintaining Remote Destinations.

Procedure

Perform the following steps:

Technical Settings

1. Log on to the central instance host of your SAP NetWeaver AS ABAP.


2. Call transaction SM59.

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 13
3. Choose Create or select an existing SAP Forms by Adobe connection to change it.
4. On tab Technical Settings, enter at least the following:
○ RFC destination : ADS
○ Connection type : G
○ Description
5. Choose Enter.
6. Choose the Technical Settings tab and enter at least the following:
○ <Target Host>
The host name is a combination of SAP’s SAP Forms by Adobe subaccount name and your subaccount
name:
adsformsprocessing-<Your Tenant Subaccount ID>.hana.ondemand.com

 Note

You can find your tenant subaccount name (ID) in the SAP Cloud Platform cockpit of your
subaccount:

Subaccount Subaccount Details (right frame) Subaccount Name

 Note

The complete domain name for the target host hana.ondemand.com depends on your location.
For more information on available landscapes (data centers) see: Regions and Hosts.

○ <Service No.>
Enter 443, which is the default SSL port of the SAP Cloud Platform service.
○ <Path Prefix>
Enter the string /ads.web/AdobeDocumentServicesSec/Config?style=rpc

 Note

All entries are case-sensitive.

 Note

Ignore the warning Query String Not Allowed by pressing Enter.

○ Specify also the HTTP proxy parameters if an HTTP proxy is required for your ABAP system to access
the internet.

SAP Cloud Platform Forms by Adobe


14 PUBLIC SAP Cloud Platform Forms by Adobe
Logon and Security

1. Choose the Logon/Security tab and select Basic Authentication.


2. In the <User> and <Password> fields, enter the same user as is used on your subaccount and the
password.

 Note

This user must be assigned to the role ADSCaller. Enter the same password you defined on the SAP
ID service for this user.

3. In Security Options , select Active to enable SSL and specify the name of the SSL certificate store where
you imported the SAP Cloud Platform root certificate.
4. Save your entries.

 Note

If you perform the connection test in SM59, you get an HTTP 500 error. You can ignore this error message.
To test the connection, use the ABAP test report FP_PDF_TEST_00 instead.

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 15
Special Options

1. Choose the Special Options tab.


2. In section HTTP Setting, select HTTP 1.1 as HTTP version.

 Note

Using HTTP 1.0, the connection will not work!

SAP Cloud Platform Forms by Adobe


16 PUBLIC SAP Cloud Platform Forms by Adobe
Result

If the connection test (using ABAP report FP_PDF_TEST_00) is successful, you see the version information
from SAP Forms by Adobe:

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 17
1.4.1.3 Configure the ICF Service on your ABAP System

Set up the ICF service in AS ABAP to enable HTTP communication with SAP Forms by Adobe.

In the ABAP system, an active ICF service is required to enable communication between AS ABAP and the SAP
Forms by Adobe destination service through the cloud connector.

Procedure

Perform the following steps:

 Note

These steps might not be required if you have already configured the destination and ICF service on your
ABAP system for the ADS running on SAP NetWeaver AS Java.

1. Create the service user ADS_AGENT in your ABAP system:


Creating the Service User for Communication with ADS
2. Activate the ICF service:
Activating the ICF Service

1.4.2 Installing and Configuring the Cloud Connector

Download, install, and configure the SAP Cloud Platform cloud connector for secure communication between
SAP Forms by Adobe and the ABAP system.

The SAP Cloud Platform cloud connector (Cloud Connector) provides a secure connection between the
services running on SAP Cloud Platform and the on-premise system. The Forms scenario uses this connection
for callbacks of SAP Forms by Adobe to the ABAP system. Some use cases transfer template and runtime data
using this channel.

Form templates are stored in the ABAP system and also cached on ADS. ADS loads the template from the
ABAP system when the form is rendered the first time and also when the template was updated. An ICF service
of the ABAP system performs this process using path /sap/bc/fp. If you use bundling of forms, the runtime
data is transferred using the path /sap/bc/fpads.

 Note

For more information about bundling, see Bundling Form Templates in a Call.

The Cloud Connector is available for Linux and Windows. You can install it on the application server of your
ABAP system or on separate hardware. The prerequisite is that it is in the same network as your ABAP system.

● For more information about installing the Cloud Connector, refer to: Installing the Cloud Connector.
● For more information about initial configuration of the Cloud Connector, see: Initial Configuration

SAP Cloud Platform Forms by Adobe


18 PUBLIC SAP Cloud Platform Forms by Adobe
● For more information about operating the Cloud Connector, refer to the Cloud Connector - Operator's
Guide.

 Note

Depending on the Cloud Connector version you use, the procedures may vary slightly. To find the suitable
Cloud Connector documentation version, see SAP Cloud Platform Cloud Connector.

Related Information

Configure the Destination in the Cloud Connector [page 19]

1.4.2.1 Configure the Destination in the Cloud Connector

Specifiy the target ABAP system in the Cloud Connector.

In the SAP Cloud Platform subaccount, the "real" (internal) host information of the ABAP system is not visible.
A virtual host name is used instead. In theCloud Connector, you perform the mapping between the virtual and
internal host name.

Prerequisite

The Cloud Connector is installed and initially configured.

Procedure

1. Open the Cloud Connector administration UI.


2. From your subaccount menu, choose Cloud to On-Premise and select tab Access Control to define the
destination information:
1. Add (+) a new entry. The Add System Mapping dialog opens.
2. As <Back-end Type>, leave the default value ABAP System and choose Next:

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 19
3. Select HTTP or HTTPS as <Protocol> and press Next.
4. Enter an <Internal Host> and <Internal Port>. <Internal Host> is the host address of your
ABAP system and <Internal Port> is your ICM HTTP(S) port.

 Note

The <Internal Host> corresponds to the ABAP system you want to connect to the Cloud
Connector.

 Note

To display the host name of your AS ABAP, log on to AS ABAP and call transaction SICF. In the main
menu, choose Goto Port Information . The information is displayed on a screen, where the
HTTP port is specified under Services.

Choose Next.
5. Specify the <Virtual Host>: <virtual hostname>:<virtual port>. Any entry for <Virtual
Host> and for <Virtual Port> is OK.

 Note

You should remember your entries for <virtual hostname>:<virtual port>, because you
need them later when configuring the destination in your SAP Cloud Platform subaccount.

6. Select a <Principal Type> (Kerberos or X.509 Certificate) if you are using principal
propagation, otherwise leave the default value None. Choose Next.
7. Optionally, you can enter a <Description> for your system mapping. Choose Next.
8. Check the summary of your entries and select Check Internal Host, if you want to verify the internal
host name you entered before.
3. Choose Finish.

Now you can see your mapping in section Mapping Virtual to Internal System in the list of mapped systems. To
add accessible resources for your mapping, do the following:

1. Highlight the row with the Virtual and Internal hosts you just added .

 Note

After adding resources, the resources accessible on the internal host will be displayed in section
Resources Accessible On... below the list of mapped systems.

2. Choose Add (+) in the Resources Accessible On... section.


3. Enter for <URL path> : /sap/bc/fp.
4. For <Access Policy> choose Path and all sub-paths.

SAP Cloud Platform Forms by Adobe


20 PUBLIC SAP Cloud Platform Forms by Adobe
5. Press Save.
6. Repeat the steps by adding a second resource and enter the additional <URL path> /sap/bc/fpads.

Result

The screenshot below shows the mapping of a virtual host to an internal host (this is the ABAP system) and the
resources used on the ABAP system.

Defined resources:

● /sap/bc/fp (subfolders included) and


● /sap/bc/fpads (subfolders included)

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 21
1.4.3 Configure the Destination in Your SAP Cloud Platform
Subaccount

Enter ABAP destination data for SAP Forms by Adobe in yourSAP Cloud Platform subaccount.

The destination information you specified for the ABAP system on the Cloud Connector also needs to be stored
in your SAP Cloud Platform subaccount.

Procedure

Proceed as follows to configure the destination in your SAP Cloud Platform subaccount:

1. Open your subaccount in the SAP Cloud Platform cockpit.


2. Select Services.
3. Select SAP Forms by Adobe and in section Service Configuration of the detail view choose the link SAP
Forms by Adobe (Roles & Destinations).
4. Select Destinations.
5. Choose New Destination....
6. As a name, enter FP_ICF_DATA_<SID>, where <SID> is the system ID of your ABAP system.
7. For <Type> , choose HTTP.
8. (Optional) Enter any <Description>.
9. (Optional) If you are using more than one Cloud Connector for your subaccount, you can enter the
<Location ID> of the Cloud Connector to which the data should be routed. To see the <Location ID>
field, you must first set the <Proxy Type> to OnPremise (see step 11).

 Note

The location ID must be specified in the Cloud Connector, see Set up Connection Parameters and
HTTPS Proxy.

10. Under <URL>, specify the Virtual host name you specified in the Cloud Connector for your ABAP system
before.

 Note

The URL string looks like this: http://<virtual host name>:<virtual port>. Enter the values
for <virtual host name>, and <virtual port> as specified when you configured the destination
in the Cloud Connector.

11. As <Proxy Type>, choose OnPremise.


12. <Cloud Connector Version>: Choose the proposed value, which is 2(Nov 2014).
13. For <Authentication>, choose BasicAuthentication.
14. Enter ADS_AGENT as a user and enter the password. Use the same password that is used for the
<ADS_AGENT> in your ABAP system.
15. Save your settings.

SAP Cloud Platform Forms by Adobe


22 PUBLIC SAP Cloud Platform Forms by Adobe
 Note

Per default, destination FP_ICF_DATA_<SID> calls the default ABAP client (specified by the profile
parameter login/system_client).In order to use a non-default ABAP client, perform the following steps
in the ABAP system:

1. Call transaction SICF and press Execute.


2. Select the node: default_host sap bc fp .
3. Double-click the node fp and choose Change.
4. Select the tab Logon Data and change the following parameters:
○ <Procedure>: Required with Logon Data
○ <Client>: <number of the client to be called>
5. Save your entries.
6. Perform the same steps in the node fpads.

Result

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 23
The specified destination looks like this:

Related Information

Configure the Destination in the Cloud Connector [page 19]

1.5 Test Your Configuration

Using ABAP reports to test your SAP Forms by Adobe configuration.

After finishing all configuration steps, you can use several ABAP reports to test whether the connection is
working fine.

SAP Cloud Platform Forms by Adobe


24 PUBLIC SAP Cloud Platform Forms by Adobe
Procedure

Call the following ABAP test reports:

● FP_PDF_TEST_00
● FP_CHECK_DESTINATION_SERVICE
● FP_TEST_03
● FP_TEST_IA_01
● FP_CHECK_HTTP_DATA_TRANSFER

 Note

For more information, see also: Checking ADS Configuration in an ABAP Environment.

Result

If all test reports run without issues, your configuration is correct.

In case of problems, see SAP Note 944221 (currently only for configuration on the ABAP back end, for
example ICF service settings).

1.6 Migration from On-Premise ADS

If you already have specific configuration settings or files on your NetWeaver ADS, you can migrate them to
SAP Forms by Adobe.

In NetWeaver, these files are located in the following directories::

● Fonts: /usr/sap/<SID>/SYS/global/AdobeDocumentServices/FontManagerService/fonts/customer
● XDC files: /usr/sap/<SID>/SYS/global/AdobeDocumentServices/lib
● Custom_xfa.XCI file: /usr/sap/<SID>/SYS/global/AdobeDocumentServices/lib
● Credentials: /usr/sap/<SID>/SYS/global/AdobeDocumentServices/TrustManagerService/trust/
credentials
● Job Profiles: /usr/sap/<SID>/SYS/global/AdobeDocumentServices/JobProfiles/Adobe/Print

Procedure

To do this, use the ADS Configuration Tool.

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 25
Related Information

Configuration Tool [page 26]

1.7 Configuration Tool

Use the Configuration UI to upload, download, or configure:

● Your own fonts


● XDC/XCI files (fonts and print information)
● Document Security (credentials, trusted anchors, certificate revocation lists, passwords)
● Job Profiles (jobs to be used by the application, provided by you or by Adobe)
● Support Files (error logs)
● Caching (maximum cache size)

 Note

These files and settings are stored on SAP Cloud Platform in an area that is reserved exclusively for your
tenant and can only be accessed by members of your subaccount.

To access the configuration tool

1. Open the SAP Cloud Platform cockpit.


2. Choose Services.
3. Select SAP Forms by Adobe and choose Launch Configuration Tool in the detail view of the service.

or, alternatively, enter the following URL in your browser:

https://adsformsprocessing-<Your Tenant Subaccount ID>.hana.ondemand.com/


ads.web/ui/customer/index.html.

SAP Cloud Platform Forms by Adobe


26 PUBLIC SAP Cloud Platform Forms by Adobe
Prerequisites

● Your user is assigned to the role ADSAdmin.


See also: Initial Steps in Your SAP Cloud Platform Subacccount [page 7].

● Internet Explorer > 10 or


● Chrome browser (recommended)

Related Information

Initial Steps in Your SAP Cloud Platform Subacccount [page 7]


Upload Fonts [page 27]
Configure Fonts and Print Information using XDC and XCI Files [page 28]
Configure Document Security [page 29]
Manage Job Profiles [page 30]
Download Support Files [page 31]
Configure Caching [page 32]
Data Migration [page 33]

1.7.1 Upload Fonts

In the Fonts section, you can upload and download fonts required for PDF rendering.

● Press Upload to add a new fonts file to the list.


● Select the fonts file you want to download and choose Download to save or open it.
● To delete a fonts file from the list, select it and choose Delete.
● To update a font, just upload the new version of the font. The system will ask you if the existing font should
be overwritten.

SAP Forms by Adobe supports the following Font types:

● OpenType® (.otf)
● TrueType® (.ttf)
● PostScript® Type 1 (.pfb, .pfm)

 Note

Font operations may take some time

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 27
1.7.2 Configure Fonts and Print Information using XDC and
XCI Files

In the XDC, XCI Administration section, you can manage various XDC and XCI files.

● XDC files contain print information, such as printer details and page layout information required to render
documents in various print formats, including PDF.
○ Under Customer XDC File, you can upload, download, display, and configure your own XDC files.
○ Under Adobe XDC File, you can view and download the XDC files that Adobe provides.

● XCI files contain various configurations related to fonts.


○ For XCI files, you can perform the same processing steps as for XDC files.
○ You can only upload one custom_xfa.xci file. The name must be exactly as given here (case sensitive).

 Note

Find more information in the Help Portal documentation about Mapping Fonts and Changing the Default
PDF Version.

 Note

For details about setting printer options in your ABAP system (without modifying XDC files), see also:
Settings Using Additional Print Options in the Help Portal documentation.

SAP Cloud Platform Forms by Adobe


28 PUBLIC SAP Cloud Platform Forms by Adobe
1.7.3 Configure Document Security

In the Document Security section, you can configure the following:

● Credentials: Upload signatures used to sign PDF documents to the server and configure the signatures
with an alias name. You can also create new credentials here.

 Note

The ReaderRights credential is preconfigured for your subaccount. You cannot install or delete
ReaderRights.

 Note

For more information, refer to Installing and Configuring Credentials in the Help Portal documentation..

● Trusted Anchors: Upload certificates required for verifying PDF signatures to the server and configure the
certificates with an alias name. You can also create new certificates here.
● Certificate Revocation Lists (CRL):
○ Manage a list of revoked signatures.
○ Upload a new list to the server from your local machine and define URLs for these CRL files.
○ You can configure the CRL Invalidation Period to customize how CRL files are fetched from URLs.
For example, if you set its value to 0, the CRL file is fetched from the URL for every request. If you set
the value to -1, the CRL is not fetched from the URL.
● Passwords: Configure passwords required to protect rendered PDF files with their alias names.

 Note

A password must be at least 6 characters long. The maximum length is 255 char.

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 29
1.7.4 Manage Job Profiles

You can add job profiles for different jobs that the application can use. Choose Job Profiles in the left pane and
expand a node in the Details pane to view job profiles in the system.

Some predefined Job Profiles are available in the Adobe folder. In addition, you can upload XML files containing
custom job profiles.

● To view the contents of a job profile, select the profile and choose Show Job Profile Content.
○ To view job profile templates provided by Adobe, expand the Adobe node and double-click a template.

● First, select the row JobProfiles. Then, choose Create Folder to create a folder to upload a custom profile.
○ To upload a custom job profile, choose Upload and browse to the folder containing the XML file that
specifies the custom profile.

● Choose Download to download a job profile to your system.

SAP Cloud Platform Forms by Adobe


30 PUBLIC SAP Cloud Platform Forms by Adobe
1.7.5 Download Support Files

Configure system error logs and download support files.

You can use the Configuration UI to download PDF files containing system error logs.

 Note

Important:

Support files will only be created and available, if the folder size is larger than 0 MB. The default size of the
folder is 0 MB.

 Note

Important:

Be aware that support files may contain your business data. For more information on data security, see:
Data Storage Security.

For security reasons, you should delete stored Error.PDF files on a regular basis.

● Choose Support Files in the left pane to view the PDF files containing error logs.

● To download a PDF file, select it in the Details section and choose Download.

You can also configure the size of the folder that contains the error files.

● Choose Configure Folder Size and drag the slider to configure the folder size.

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 31
 Note

You can configure the size to a maximum of 10 MB. If the combined size of the error files exceeds the set
size, the oldest files are replaced by the most recent error files that are stored in the folder. If you reduce the
folder size, older error files will be deleted until the folder size is reached.

1.7.6 Configure Caching

You can also configure the cache for the destination folder using the Configuration UI.

SAP Cloud Platform Forms by Adobe


32 PUBLIC SAP Cloud Platform Forms by Adobe
● Choose Configure Destination Cache Size to configure the size of the destination folder cache.

 Note

You can configure the cache size to a maximum of 15 MB.

● Choose Clear Cache to delete the cache for PDF Forms or the destination cache.

1.7.7 Data Migration

Upload or download your configuration data for data migration purposes.

You can use the configuration UI to download or upload your configuration data.

Choose Data Migration in the left navigation pane of the configuration UI to access the Download and Upload
functions:

If you choose Download Data, the following data will be downloaded:

● Fonts: custom fonts


● XDC, XCI Administration: customer files for XDC and XCI settings
● Document Security: certificates, credentials, Certificate Revocation Lists (CRLs)

 Note

You cannot download the alias names. After uploading downloaded files you have to re-enter the
corresponding alias names manually.

● Job Profiles: customer job profiles


● Support Files: setting for storage size of error.pdf files

 Note

Error.pdf files and passwords will not be downloaded.

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 33
● Caching: setting for destination cache size

 Note

You can only download the files that you uploaded previously. Predefined data are not downloaded.

If you choose Upload Data, you can browse for the files to be uploaded. When uploading files, keep in mind the
following upload behavior:

● If you upload a file that already exists in the target tenant, the file will be overwritten.

 Note

Uploading Support File settings overwrites the size configuration only. Existing error.pdf files are not
changed.

 Note

Uploading Caching information only overwrites the cache size setting, not the cached content.

● When uploading files that don't exist in the target tenant, other existing files won't be touched.
● After uploading downloaded files from Document Security, you have to re-enter the corresponding alias
names manually.

SAP Cloud Platform Forms by Adobe


34 PUBLIC SAP Cloud Platform Forms by Adobe
1.8 Connect a WebDynpro Java Application

Import a certificate and configure the required templates to connect your WebDynpro Java application to SAP
Forms by Adobe.

The following procedure describes the required steps for connecting a WebDynpro Java application to SAP
Forms by Adobe.

 Note

This procedure applies for SAP NetWeaver 7.1 or higher releases.

1. Open the NetWeaver Administrator (NWA) UI of your AS Java.


2. Import a root CA file into the AS Java keystore:
1. Open http://cacert.omniroot.com/ in your web browser and download the following certificate:
baltimoreroot.crt
2. In NWA, goto: Configuration Security Certificate and Keys .
3. In the Key Storage view, select WebServiceSecurity:

4. In Details of view ‘WebServiceSecurity’ at the bottom of the screen, choose Import Entry:

5. In the popup, select entry type X.509 Certificate and import baltimoreroot.crt:

 Note

Due to a planned switch of root certificates on SAP Cloud Platform from Baltimore/Verizon to
VeriSign/Symantec, for some domains (regions) the Baltimore/Verizon certificate can no longer be
used after the current validity period has ended. To make sure that you have a valid certificate in the
future, you should also download and import the following Symantec certificate . The procedure is
the same as for baltimoreroot.crt (step 1 may require to save the public key content as local file
using Copy & Paste in case there is no automatic Save As option provided by your browser).

For up-to-date information on the domain-specific validity of certificates on SAP Cloud Platform,
please follow this SCN blog: Certificate Authority Change .

3. Create or adjust the destination template ConfigPort_Document:


1. In the NWA, choose SOA Technical Configuration Destination Template Management .
2. Check if there is an entry ConfigPort_Document.
1. If it does not exist, create a new template by choosing New in the Destinations section. Choose
the following values: Type = WSDL Destination, Name = ConfigPort_Document (case
sensitive), URL = https://adsformsprocessing-<tenant id>.<landscape>/ads.web/
AdobeDocumentServices/Config?wsdl&mode=ws_policy&style=document.

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 35
2. If the template exists, highlight the element and check the field <Destination Type> in the
detail view below, tab General. In case the value is WSIL, delete the template and create a new one
according to step 3.b.a.
3. If the template exists with <Destination Type> WSDL, modify the URL string according to step
3.b.a by choosing Edit in the detail view:

4. Choose the Security tab and select HTTP Authentication from the Authentication dropdown list.
5. Select the option User ID/Password (Basic).
6. In the Details section, enter a user/password combination that is assigned to the role ADSCaller.
7. In section SSL Server Certificates, select Accept Certificates in Keystore View.
8. Select WebServiceSecurity from the dropdown list.
9. Choose Finish to save your entries:

10. Create or adjust a second destination template SecureConfigPort_Document performing the same
steps as described in 3.-9. As URL string, enter https://adsformsprocessing-<tenant
id>.<landscape>/ads.web/AdobeDocumentServicesSec/Config?
wsdl&mode=ws_policy&style=document.
11. Check your configuration as described in SAP Note 1443819

1.9 SAP Forms by Adobe REST API

The following sections show you how to get started with the SAP Forms by Adobe REST API and how to
implement a simple REST client in Java. Also, you can find information on supportability and troubleshooting.

Related Information

Connection Setup [page 37]


Tutorials: OAuth Setup [page 39]
Call the REST API [page 49]
Tutorial: Implement a Simple REST Client in Java [page 50]
Using the Adobe LiveCycle Designer [page 53]
Supportability and Troubleshooting [page 60]

SAP Cloud Platform Forms by Adobe


36 PUBLIC SAP Cloud Platform Forms by Adobe
1.9.1 Connection Setup

The SAP Forms by Adobe REST API uses a preconfigured destination to connect to the Adobe Document
Services (ADS) of SAP Forms by Adobe.

Assign the User to the ADSCaller Role

To call SAP Forms by Adobe you need a user who is assigned to the role ADSCaller.

1. Go to the main screen of your subaccount in the SAP Cloud Platform cockpit and choose Services from the
main menu.
2. Select the tile SAP Forms by Adobe and choose the link SAP Forms by Adobe (Roles and Destinations).

3. Check, which user is assigned to the ADSCaller role.

 Note

By default, the user who enabled the service is assigned to the ADSCaller role.

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 37
4. You can also enter a new user and assign this user to the ADSCaller role.
5. Press Save.

Finalize the Destination

The SAP Forms by Adobe destination ADS is partly preconfigured for your subaccount. To use it, you must
finalize it by defining the authentication.

1. Go to the main screen of your subaccount in the SAP Cloud Platform cockpit and choose Services from the
main menu.
2. Select the tile SAP Forms by Adobe and choose the link Destination for SAP Forms by Adobe REST API.

3. The Destinations screen opens. Press the Edit button of the SAP Forms by Adobe destination ADS.

4. Specify <Basic Authentication>, <User> and <Password>.

 Note

The user must be the same user that you assigned to the ADSCaller role.

SAP Cloud Platform Forms by Adobe


38 PUBLIC SAP Cloud Platform Forms by Adobe
5. Press Save.
6. To test the connection choose Check Connection.

7. If the connection test is successful, you get the following message.

 Note

The system performs a network ping. It does not check any authentication.

1.9.2 Tutorials: OAuth Setup

The SAP Forms by Adobe REST API requires OAuth for authentication.

The following tutorials describe two different ways to setup OAuth:

● using Java
● using the Postman OAuth client

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 39
 Note

If you use a different client, refer to the corresponding product-specific documentation and apply the
settings accordingly.

Related Information

Tutorial: Retrieving an OAuth Token in Java [page 40]


Tutorial: OAuth Setup using the Postman Client [page 45]

1.9.2.1 Tutorial: Retrieving an OAuth Token in Java

This tutorial shows an example implementation based on Java.

 Note

Depending on your specific implementation, retrieving the OAuth credentials may be different.

We use the Java Apache HttpComponents to generate an OAuth token from the SAP Cloud Platform OAuth
service.

Related Information

Register an OAuth Client in the Cockpit [page 40]


Implement an OAuth Client in Java [page 41]
Full Example Implementation [page 43]

1.9.2.1.1 Register an OAuth Client in the Cockpit

Register the OAuth client in the SAP Cloud Platform cockpit.

This section shows you how to register an OAuth client in the SAP Cloud Platform cockpit.

1. Go to the main page of your subaccount in the SAP Cloud Platform cockpit and choose Security → OAuth.
2. Go to the Clients tab. Here you can register new clients that are authorized to use the SAP Forms by Adobe
REST API.
3. Press the button Register New Client.

SAP Cloud Platform Forms by Adobe


40 PUBLIC SAP Cloud Platform Forms by Adobe
4. Enter a <Name> (<any name>) and <Description> (<optional>).
5. For <Subscription> select the entry formsprocessing/adsrestapi from the drop down list.
6. In <Authorization Grant>: select Client Credentials from the drop down list.
7. In field <Secret>, enter a <secret of your choice>.
8. Adjust the <Token Lifetime> according to your needs (leave empty or enter a preferred value).
9. Press Save.

1.9.2.1.2 Implement an OAuth Client in Java

Apache HTTPClient java object is used to establish the communication between client/OAuth server and SAP
Cloud Platform. This client helps to send and consume the information that you need to retrieve the access
token.

HttpClient httpClient = HttpClientBuilder.create().build();

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 41
The communication between client and OAuth Server is based on HTTP (POST request). You can retrieve the
OAuth token by accessing the Token Endpoint URL which can be found in the SAP Cloud Platform cockpit.
Logon to the cockpit and choose Security OAuth Tab: Branding Section: OAuth URLs :

By sending an HTTP Post request to this URL a valid token will be returned as a response. You can use this
token for further requests sent to the REST API.

String tokenEndpoint = “https://oauthasservices-<yoursubaccount-id>.


[xxx.]hana.ondemand.com/oauth2/api/v1/token”;
HttpPost httpPost = new HttpPost(tokenEndpoint);

The Token Endpoint is protected by Basic Authentication. The <client ID> serves as user name and
<client secret> as password.

 Note

Use the configuration of the previously created OAuth client.

The credentials must be encoded with BASE 64 and added to the header of HTTP Post object.

String base64Credentials = Base64.getEncoder().encodeToString((client_id +


":" + client_secret).getBytes());
httpPost.addHeader("Authorization", "Basic " + base64Credentials);

It is required that you define the grant type parameter and the scope within the request. Add the parameters to
the HTTP body of the request as content-type: “application/x-www-form-urlencoded”.

String grant_type = "client_credentials";


String scope = "generate-ads-output";
httpPost.addHeader("Content-Type", "application/x-www-form-urlencoded");
StringEntity input = null;
try {
input = new StringEntity("grant_type=" + grant_type +
"&scope=" + scope);
httpPost.setEntity(input);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();

SAP Cloud Platform Forms by Adobe


42 PUBLIC SAP Cloud Platform Forms by Adobe
}

The HTTP response message from the server can be interpreted by the HttpResponse object after executing
the POST request.

HttpResponse response = null;


try {
response = httpClient.execute(httpPost);
} catch (IOException e) {
e.printStackTrace();
}

HttpResponse includes the message entity which has been returned by the REST API. Therefore, we should
unwrap this response object to process the JSON entity accordingly.

We convert the response InputStream to a String using Apaches IOUtils:

String result = null;


try {
result = IOUtils.toString(response.getEntity().getContent(), "UTF-8");
} catch (IOException e) {
e.printStackTrace();
}
return result;

The returned String is a JSON. It includes the actual access token:

{
"access_token":"abcabcabcabcabcabcabcabcabc00",
"token_type":"Bearer",
"expires_in":5184000,
"scope":"generate-ads-output"
}

Dealing with Proxies

In case your requests are sent through a proxy, add the following code lines to your HTTP Post object before
sending the actual request:

HttpHost target = new HttpHost("proxy", 8080, "http");


RequestConfig config = RequestConfig.custom().setProxy(target).build();
httpPost.setConfig(config);

1.9.2.1.3 Full Example Implementation

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 43
 Sample Code

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Base64;
import org.apache.commons.io.IOUtils;
import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.HttpClientBuilder;
public class OAuthClient {
private String tokenEndpoint = "https://oauthasservices-
<subaccountuser>.[xxx.]hana.ondemand.com/
oauth2/api/v1/token";
private String client_id = "myclient_id";
private String client_secret = "mysecret";
private String grant_type = "client_credentials";
private String scope = "generate-ads-output";
public String callService() {
/* HTTPCLIENT AND HTTPPOST OOBJECT */
HttpClient httpClient = HttpClientBuilder.create().build();
HttpPost httpPost = new HttpPost(tokenEndpoint);
/* AUTHENTICATION CREDENTIALS ENCODING */
String base64Credentials =
Base64.getEncoder().encodeToString((client_id + ":"
+ client_secret).getBytes());
/* HEADER INFO */
httpPost.addHeader("Authorization", "Basic " + base64Credentials);
httpPost.addHeader("Content-Type", "application/x-www-form-
urlencoded");
/* PROXY CONFIG */
HttpHost target = new HttpHost("proxy", 8080, "http");
RequestConfig config =
RequestConfig.custom().setProxy(target).build();
httpPost.setConfig(config);
/* OAUTH PARAMETERS ADDED TO BODY */
StringEntity input = null;
try {
input = new StringEntity("grant_type=" + grant_type + "&scope=" +
scope);
httpPost.setEntity(input);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
/* SEND AND RETRIEVE RESPONSE */
HttpResponse response = null;
try {
response = httpClient.execute(httpPost);
} catch (IOException e) {
e.printStackTrace();
}
/* RESPONSE AS STRING */
String result = null;
try {
result = IOUtils.toString(response.getEntity().getContent(),
"UTF-8");
} catch (IOException e) {
e.printStackTrace();
}
return result;
}
public static void main(String[] args) {
OAuthClient oauthClient = new OAuthClient();

SAP Cloud Platform Forms by Adobe


44 PUBLIC SAP Cloud Platform Forms by Adobe
String res = oauthClient.callService();
System.out.println(res);
}
}

1.9.2.2 Tutorial: OAuth Setup using the Postman Client

The following tutorial describes how to configure OAuth with the Postman client.

Related Information

Register the OAuth Client in the Cockpit (Postman) [page 45]


Get the OAuth Access Token (Postman) [page 47]
OAuth Token Administration (Postman) [page 49]

1.9.2.2.1 Register the OAuth Client in the Cockpit


(Postman)
Register the OAuth client in the SAP Cloud Platform cockpit.

This section shows you how to register an OAuth client in the SAP Cloud Platform cockpit. The following
procedure uses the Postman client as example.

 Note

If you use a different OAuth client, enter the product-specific data accordingly.

1. Go to the main page of your subaccount in the SAP Cloud Platform cockpit and choose Security → OAuth.
2. Go to the Clients tab. Here you can register new clients that are authorized to use the SAP Forms by Adobe
REST API.
3. Press the button Register New Client.

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 45
4. Enter <Name> and <Description> of the OAuth client used.
5. For <Subscription> select the entry formsprocessing/adsrestapi from the drop down list.
6. In <Redirect URI>: enter the redirect URL of the OAuth client you use, e.g. https://
www.getpostman.com/oauth2/callback.
7. Adjust the <Token Lifetime> according to your needs.
8. Press Save.

The following screenshot of the SAP Cloud Platform cockpit shows the usage of Postman as client:

8. Make a copy of the ID. You will need it later in Postman.

9. Go to the tab Branding.

10. Make a copy of the URLs for <Authorization Endpoint> and <Token Endpoint>.

You will need to enter these URLs later in your OAuth client:

SAP Cloud Platform Forms by Adobe


46 PUBLIC SAP Cloud Platform Forms by Adobe
1.9.2.2.2 Get the OAuth Access Token (Postman)

Configure an OAuth client to get an access token.

The following example procedure describes how to get an access token using the Postman client.

 Note

For other OAuth clients, please refer to the corresponding product documentation.

1. In Postman, go to Authorization and select OAuth 2.0 as Type


2. Press button Get new Access Token.

3. Enter any name for <Token Name>.


4. In <Auth URL> enter the Authorization Endpoint URL you have copied before.
5. In <Access Token URL> enter the Token Endpoint URL you have copied before.
6. In <Client ID> enter the ID from the client you have registered in the SAP Cloud Platform cockpit before.
7. Under <Scope>, enter generate-ads-output.

 Note

This entry is mandatory!

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 47
8. Press the button Request Token.
9. The SAP Cloud Platform Authorization Endpoint page opens. Press Authorize.

10. In Postman choose the newly created Token.


11. Under Add token to select Header from dropdown list.
12. Press the button Use Token.
13. You have now created a token. Postman will use it for each request to the SAP Forms by Adobe REST API.

SAP Cloud Platform Forms by Adobe


48 PUBLIC SAP Cloud Platform Forms by Adobe
1.9.2.2.3 OAuth Token Administration (Postman)

The newly created Token is visible in the Token Management. You can open the management via the SAP Cloud
Platform cockpit.

1. Go to the main page of your subaccount in the SAP Cloud Platform cockpit and choose Security → OAuth.
2. Go to the tab Branding.
3. Choose the End User UI URL. The following screen appears (example):

1.9.3 Call the REST API

The base URL for calling the API features is:

● https://adsrestapiformsprocessing-<yoursubaccount>.<yourregionhost:
[xxx.]hana.ondemand.com>/ads.restapi/v1/

 Note

See also: Regions and Hosts.

To find out the available features, read the documentation of the ADS REST API Specification available under:

● https://adsrestapiformsprocessing-<yoursubaccount>.<yourregionhost:
[xxx.]hana.ondemand.com>/ads.restapi/

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 49
 Note

See also: Regions and Hosts.

You can directly access the documentation via your subaccount:

Go to Your subaccount on SAP Cloud Platform cockpit and choose Services → Forms by Adobe → ADS REST API
Specification.

Related Information

Tutorial: Implement a Simple REST Client in Java [page 50]

1.9.4 Tutorial: Implement a Simple REST Client in Java

This tutorial shows how to create a simple REST client being able to call the SAP Forms by Adobe REST API in
Java and to process the JSON response entity. We will send an ADS Render Request to the REST API and
process the REST response accordingly.

Rest Libraries in Java

There are numerous possibilities and libraries which can help to create a simple REST client in Java. In this
example, we are using the Apache HttpComponents. This library provides a wide toolset for the creation and
maintenance of low-level Java components focused on HTTP and associated protocols. Following packages are
required:

import org.apache.http.HttpHost;

SAP Cloud Platform Forms by Adobe


50 PUBLIC SAP Cloud Platform Forms by Adobe
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.commons.io.IOUtils;

Example Code

As the communication between client and server is done via HTTP we create an Apache HTTPClient. This client
side HTTP transport library can transmit and receive HTTP messages.

HttpClient httpClient = HttpClientBuilder.create().build();

In the next step, we create an HttpPost Object. This object enables an HTTP Post request. Thus, a target URL
and head information should be added as well as the actual JSON input.

HttpPost request = new HttpPost("<<BASE PATH>>/adsRender/pdf");

The API is protected by OAuth2. For configuration details, see Configuring OAuth 2.0.

The OAuth token must be added to the header of every request send to the service.

request.addHeader("authorization", "BEARER " + <<OAuth Token>>);

Data input and output is always wrapped in JSON envelope. For this reason, content-type should be always
application/json.

request.addHeader("content-type", "application/json");

The JSON input string can be mapped to a StringEntity object which is added as an entity to the POST request.

StringEntity input = null;


try {
input = new StringEntity(<<JSON String>>);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
request.setEntity(input);

The HTTP response message from the server can be interpreted by the HttpResponse object after executing
the post request.

HttpResponse response = null;


try {
response = httpClient.execute(request);
} catch (IOException e) {
e.printStackTrace();
)

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 51
Encode and Interpret the REST API Response

HttpResponse includes the message entity which has been returned by the REST API. Therefore, we should
unwrap this response object to process the JSON entity accordingly.

We convert the response InputStream to a String using Apaches IOUtils:

String result = null;


try {
result = IOUtils.toString(response.getEntity().getContent(), "UTF-8");
} catch (IOException e) {
e.printStackTrace();
}

The resulting String now includes the JSON returned from the REST Service. This is just one possibility to
convert the HTTP response. Of course, any other method can be applied in to fit best to your implementation.

Dealing with Proxies

In case requests being sent behind a proxy please add following configuration to your HttpPost object.

HttpHost proxy = new HttpHost("<<proxy host>>", <<port>>, "<<http/https>>");


RequestConfig config = RequestConfig.custom().setProxy(proxy).build();
request.setConfig(config);

Full Example Implementation

 Sample Code

package com.sap.formsprocessing.rest;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import org.apache.commons.io.IOUtils;
import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.HttpClientBuilder;
public class RestClient {
public String callService() {
/* TARGET URL AND JSON */
String url = "<<base url>>/ads.restapi/v1/adsRender/pdf";
String json = "<<your json (please find the Example JSON in the
content section)>>";
/* HTTPCLIENT AND HTTPPOST OOBJECT */
HttpClient httpClient = HttpClientBuilder.create().build();
HttpPost request = new HttpPost(url);
/* ADD HEADER INFO */
request.addHeader("authorization", "Bearer <<token>>");

SAP Cloud Platform Forms by Adobe


52 PUBLIC SAP Cloud Platform Forms by Adobe
request.addHeader("content-type", "application/json");
/* PROXY CONFIG */
HttpHost target = new HttpHost("proxy", 8080, "http");
RequestConfig config =
RequestConfig.custom().setProxy(target).build();
request.setConfig(config);
/* JSON AS STRINGENTITY */
StringEntity input = null;
try {
input = new StringEntity(json);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
request.setEntity(input);
/* SEND AND RETRIEVE RESPONSE */
HttpResponse response = null;
try {
response = httpClient.execute(request);
} catch (IOException e) {
e.printStackTrace();
}
/* RESPONSE AS JSON STRING */
String result = null;
try {
result = IOUtils.toString(response.getEntity().getContent(),
"UTF-8");
} catch (IOException e) {
e.printStackTrace();
}
return result;
}
public static void main(String[] args) {
RestClient restClient = new RestClient();
String response = restClient.callService();
System.out.println(response);
}
}

1.9.5 Using the Adobe LiveCycle Designer

Using the SAP Forms by Adobe REST API for your Cloud application requires you to provide your own form
templates using the Adobe LiveCycle Designer.

Adobe LiveCycle Designer supports you in creating templates for interactive and print forms by providing a
wide set of design functions.

Find more information in this section on how to install and use the Adobe LiveCycle Designer.

 Note

For a complete documentation of the tool, refer to the Adobe product documentation .

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 53
Download and Installation

To download and install or update the Adobe LiveCycle Designer, follow the instructions given in SAP Note
2187332 (download and installation of version 11.0).

Related Information

Tutorial: Create a Simple Template with Generated Sample Data [page 54]

1.9.5.1 Tutorial: Create a Simple Template with Generated


Sample Data

In this short and simplified example, we will demonstrate how to create a template and a sample data file
binding using the Adobe LiveCycle Designer.

 Note

This example does not include all capabilities of the LiveCycle Designer. It can be used as a starting point
for later development.

1. Open the LiveCycle Designer.


2. Select New Form.

SAP Cloud Platform Forms by Adobe


54 PUBLIC SAP Cloud Platform Forms by Adobe
3. Select Use a blank form and press Next.

4. On the next page choose Finish, the template overview will open.
5. Add objects from the object library to the design view via drag and drop.
1. Several text fields
2. Date/time field
3. Time field
We will use these objects to demonstrate the sample data generation and data binding.

6. On the top menu bar, select File Form Properties .

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 55
7. Select Preview Generate Preview Data… .

8. In the next view select an appropriate file path and file name and generate the data xml-file.

SAP Cloud Platform Forms by Adobe


56 PUBLIC SAP Cloud Platform Forms by Adobe
Content of the generated data xml file:

In the next steps, this file will be integrated into LiveCycle Designer’s Data View:
9. Close the Form Properties window and select the Data View tab next to the Design View. Right-Click below
the Data View tab and choose New Data Connection….

10. Select Sample XML Data and press Next.

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 57
11. Choose the previously created data xml file and choose Finish to integrate the data xml.

(Confirm the prompt about the clearance of Use Name data bindings).
12. On the Data View you should now find the data nodes from the data xml file. These nodes can be bound to
the fields on the template’s Design View.

SAP Cloud Platform Forms by Adobe


58 PUBLIC SAP Cloud Platform Forms by Adobe
13. Bind the data node TextField1 to field <TextField1>: click on the field, then, in the Object tab choose
Binding and create a new data binding Data Binding (Open, Save, Submit). Choose Use DataConnection
TextField1 .

14. Confirm the binding and select Update all related properties. Press Ok.

15. Repeat the data binding for all remaining fields accordingly.
16. For every data node bound to a field you will find a new tag/symbol in the Data View.

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 59
17. Save the template as Adobe XML Form (*xdp).
18. Send template and data file via a render request to the REST API (within the pre-defined JSON structure).
19. The resulting PDF will include all template fields and dummy data.

 Note

It is the responsibility of the application implementing the REST Service to maintain and provide the XML
data structure that fits the preferred PDF template. External data that you may want to include in a
resulting PDF must be transferred in this XML structure accordingly. Otherwise, it is not possible to render
a PDF based on template and data file.

1.9.6 Supportability and Troubleshooting

This document provides information related to SAP Cloud Platform Forms by Adobe. It is directed to SAP
developers and support teams who work with applications for generating print or interactive PDF forms by
using the Adobe Document Services. Read the below prerequisites and guidelines for the usage of SAP Forms
by Adobe.

● As a developer, implement the supportability functions into your application to ensure that your
application can be supported. If you need to analyze problems, follow the instructions given in section
Analyze Issues.
● As a supporter, check the supportability functions of the application and follow the same instructions
mentioned in Analyze Issues.

SAP Cloud Platform Forms by Adobe


60 PUBLIC SAP Cloud Platform Forms by Adobe
Related Information

First Steps [page 61]


Analyze Issues [page 63]

1.9.6.1 First Steps

If you want to analyze and troubleshoot errors occurring in your application that are related to the SAP Forms
by Adobe REST API, perform the initial steps described below:

Implement Supportability Functions

The SAP Forms by Adobe REST API provides supportability functions that help to analyze connectivity issues
or render problems. Error messages and Error.PDF in the response streams inform about the reason of issues.
The possibility of setting traces helps to better understand the root causes.

To call the SAP Forms by Adobe REST API in your application you must implement a handling of error
messages and response streams that are provided by the REST API.
In detail you need to:

● process the JSON response


● catch and store the Error.PDF
● use a function to set a trace level (value 0 to 2).

In case of HTTP 200 response code, a TraceString node will be added to the resulting JSON, showing additional
runtime information.

Trace level options:

● 0 = no trace information (default)


● 1 = processing time information
● 2 = full trace information including the generation of a PDF file with additional information

The following sections provide more details and examples explaining the JSON structure.

Process the JSON Response

The JSON response contains responses and error messages from SAP Forms by Adobe. Depending on the
feature called by the user the JSON output will vary. See the documentation of the REST API for each feature
under:

https://adsrestapiformsprocessing-<yoursubaccount>.<yourregionhost:
[xxx.].hana.ondemand.com>/ads.restapi/

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 61
 Note

See also: Regions and Hosts.

Besides rendering request errors, the general Error JSON will always have the same structure.

Example: Response (Error)

HTTP 500
{ "message": "Internal API or ADS Error",
"results": "Short description of error",
"traceString": "Detailed description about what exactly went wrong",
"errorLevel": "ADS or API Error Level" }

Catch and Store the Error.PDF

When SAP Forms by Adobe fails to generate an output, it returns an Error.pdf file. The REST API provides this
Error.pdf as part of the JSON response (HTTP 500). This is restricted to the rendering feature of the service.

The Error.PDF contains information that is useful to analyze and to reproduce the issue if needed. Parts are, for
example, the template file, the runtime xml data and trace information.

Example: Response (Error.pdf)

HTTP 500
{ "message": "Internal ADS Rendering Error",
"results": "Error during rendering of PDF file",
"traceString": "Detailed description about what exactly went wrong",
"errorLevel": "ADS Error Level",
"errorPDF": "V2hvIGluIHRoZSB3b3JsZCB3aWxsIGRlY29kZSB0aGlzIFN0cmluZz8=" }

Implement a Function to Set the Trace Level

If the output of the returned PDF is not as expected, for example if there are problems with pagination or
layout, or if the trace information contained in the Error.pdf is not detailed enough, set a higher trace level.

The recommendation is to set a trace level value of 2. The REST API will return a JSON response that contains a
PDF with additional information or if no PDF can be created at all, a detailed trace.

Example: Request with TraceLevel

POST
https://adsrestapiformsprocessing-<yoursubaccount>.[xxx.]hana.ondemand.com/
ads.restapi/v1/adsRender/pdf?TraceLevel=2
Content-Type: application/json
{ "template" : "VGhpcyBjb3VsZCBiZSB5b3VyIHRlbXBsYXRl",
"data" : "VGhpcyBjb3VsZCBiZSB5b3VyIGRhdGEgZmlsZQ=="}

SAP Cloud Platform Forms by Adobe


62 PUBLIC SAP Cloud Platform Forms by Adobe
1.9.6.2 Analyze Issues

The following section provides an overview of different issue types related to the SAP Forms by Adobe REST
API that may occur in your application. Basically, you can distinguish between internal API errors and internal
ADS errors (i.e. errors related directly to the ADS component of SAP Forms by Adobe).

Issue Types

The primary piece of information helping to understand and correct the problem is usually included in the
response error JSON. Within the JSON, detailed information about the corresponding processing issue is
shown.

To analyze, check the response strings in JSON from the API. The message in the response JSON tells you, if
it’s an ADS error or an API error. This could be Internal API Errors or Internal ADS Errors.

Internal API Errors

● Corrupted JSON or missing mandatory JSON fields


● BASE64 encoding issues in Input JSON
● SAP Forms by Adobe connection issues, e.g. wrong destination
● SAP Forms by Adobe REST API connection issues

Internal API Errors are usually assigned a specific HTTP Error Code. Besides the information included in the
JSON, this code may help to interpret the error cause:

HTTP Code HTTP Text Error Cause

500 Internal Server Error Due to unexpected behavior or ADS is­


sues, the API is not able to process the
request.

400 Bad Request The JSON send to the API is corrupted


and does not follow the usual format.

401 Unauthenticated This can be caused by wrong OAuth


credentials or missing OAuth configura-
tion.

404 Not Found The URL which is accessed is not avail­


able.

406 Not Acceptable The API is not able to respond to the


Accept Header of the API request.

409 Conflict Mandatory fields in the JSON are miss­


ing or file content is not encrypted by
BASE64.

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 63
HTTP Code HTTP Text Error Cause

415 Unsupported Media Type The Media Type send to the API is not
application/json.

Internal ADS Errors

● PDF Rendering issues


● Unexpected Output
● Other Errors

Internal ADS Errors are always assigned to an HTTP 500 status code.

The following information describes the recommended action for each error type.

Related Information

Error Types [page 64]

1.9.6.2.1 Error Types

Internal API Error - Corrupted JSON or missing mandatory JSON fields

HTTP 400 - Bad Request or HTTP 409 - Conflict

If you receive an error, proceed as follows:

1. Follow the instructions stated in the JSON Error response to detect missing mandatory fields or formatting
issues.
2. Check your application:
1. Is a JSON envelope send as Content-Type: application/json within the request?
2. Is the JSON envelope formatted correctly?
3. Are all mandatory fields included in the JSON?
3. Correct your application by adding missing fields to the JSON input of your request or correcting the JSON
format.

Internal API Error - BASE64 encoding issues in the JSON input

HTTP 409 - Conflict

SAP Cloud Platform Forms by Adobe


64 PUBLIC SAP Cloud Platform Forms by Adobe
If you receive an error, proceed as follows:

1. Identify and fix all wrong BASE64 strings based on the information given in the JSON error response.
2. Check your application:
1. Does the BASE64 string contain the expected BASE64 string set?
2. Is the BASE64 string length valid?
3. Is the BASE64 encoding technique correctly applied?
3. Correct your application.

Internal API Error - SAP Forms by Adobe connection issues

HTTP 500 – Server Error

If you receive an error, do the following checks in the SAP Cloud Platform cockpit of the consumer subaccount.
The required check may depend on the error message.

1. Is destination ADS defined?


2. Is an authentication defined for the destination ADS?
3. Are the authentication credentials valid?
4. Is the destination able to contact SAP Forms by Adobe?

 Note

See also Tutorial: OAuth Setup using the Postman Client [page 45]

5. Correct the URL.

 Note

The Base URL for the calling features of the SAP Forms by Adobe REST API is: https://
adsrestapiformsprocessing-<yoursubaccount>.<yourregionhost:
[xxx.]hana.ondemand.com>/ads.restapi/v1/ (see also: Regions and Hosts).

Internal API Error - SAP Forms by Adobe REST API connection issues

HTTP 401 - Unauthorized or HTTP 404 – Not Found

If you receive a not found error, do the following checks:

1. Is the URL pointing to the API valid? Check, if the name of the consumer subaccount <yoursubaccount> is
correct. See step 4.
2. Correct the URL according to the available REST resources in the documentation.
3. Check if the SAP Forms by Adobe REST API works by opening the API documentation in your browser.
Example: https://adsrestapiformsprocessing-<yoursubaccount>.
[xxx.]hana.ondemand.com/ads.restapi/
4. You will receive a response, if you enter the correct URL and the SAP Forms by Adobe REST API is up and
running.

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 65
In case you receive an error message, create a message under BC-SRV-FP-CLD.

If you receive an unauthorized error, do the following checks:

1. Did you include the OAuth Token to the Authorization part of the http header?
2. If the token is not available yet, follow the instructions in Tutorial: OAuth Setup using the Postman Client
[page 45].

Internal ADS errors - PDF Rendering issues

HTTP 500 – Server Error

The JSON response contains am Error.PDF, when SAP Forms by Adobe detected a render problem.

If you receive such problem, proceed as follows:

1. Call the SAP Forms by Adobe REST API by sending the application request again, but set trace level to 2.
This will request the generation of a PDF with additional information. Extend the URL as follows (example):

POST
https://adsrestapiformsprocessing-<yoursubaccount>.[xxx.]hana.ondemand.com/
ads.restapi/v1/adsRender/pdf?TraceLevel=2
Content-Type: application/json
{ "template" : "RXJyb3I=",
"data" : "RXJyb3I=" }

The SAP Forms by Adobe REST API returns the JSON including the PDF with additional information and
the response of the ADS. The SAP Forms by Adobe REST API adds a TraceString to the PDFOut.PDF with
detailed Information about the response from ADS.

{ "name" : "PDFOut.PDF",
"file" : "VGhpcyBpcyByYW5kb20gb3V0cHV0IGZpbGU=",
"traceString" : "Example Trace String" }

2. If the application displays the PDF in Adobe Reader, you can also download the PDF from there.
3. Open the PDF and check, if following files are attached to it.
○ Form layout file (.xdp file)
○ XML data file
○ Trace file
4. Extract the layout file and the XML data file from the PDF for checking. Open the layout file in the
standalone Adobe LiveCycle Designer and try to fix. You can also preview the layout with the XML file.
5. If you cannot fix by changing the layout or data, open a message under BC-SRV-FP and attach the
Error.PDF or PDF with additional information. Here is the complete list of information we need to help you:
○ Form layout file (.xdp file)
○ XML data file
○ Trace file
○ ERROR.PDF or the PDF with additional information
6. Don’t forget to describe the problem in detail, for example if an output in the PDF is not as expected, mark
this in a screenshot.

SAP Cloud Platform Forms by Adobe


66 PUBLIC SAP Cloud Platform Forms by Adobe
Internal ADS errors - Unexpected Output

HTTP 200 - OK

If the responded PDF does not look like as expected, you request a PDF with additional information. This helps
you analyzing.

1. Call the SAP Forms by Adobe REST API by sending the application request again, but set trace level to 2.
This will request the generation of a PDF with additional information.
2. Follow the same procedures as described in Internal ADS errors - PDF Rendering issues above.

Internal ADS errors – Other Errors

HTTP 500 - Server

Always have a look at the JSON traceString tag of the SAP Forms by Adobe REST API response, if you receive
an internal ADS Error. It contains a description of the problem. Try to identify and fix the root cause of the error.

1.10 Data Protection and Privacy

Make sure that you comply with applicable data protection and privacy laws if you are processing any personal
or sensitive data through SAP Forms by Adobe.

 Note

SAP does not provide legal advice in any form. SAP software supports data protection compliance by
providing security features and data protection-relevant functions, such as blocking and deletion of
personal data. In many cases, compliance with applicable data protection and privacy laws is not covered
by a product feature. Furthermore, this information should not be taken as advice or a recommendation
regarding additional features that would be required in specific IT environments. Decisions related to data
protection must be made on a case-by-case basis, taking into consideration the given system landscape
and the applicable legal requirements. Definitions and other terms used in this documentation are not
taken from a specific legal source.

SAP Cloud Platform Forms by Adobe


SAP Cloud Platform Forms by Adobe PUBLIC 67
2 REFCONT: Data sheet for SAP Forms by
Adobe

General Information

Entry Column Where Used

Long Name Approved by Brand Voice ● Marketplace: Link under "Technical


components" on product page
SAP Cloud Platform Forms by Adobe
● Marketplace: Title of technical
component page

Short Name Approved by Brand Voice ● Cockpit: Tile name


● Cockpit: Title of service overview
SAP Forms by Adobe
page
● Service Overview Topic: Title

Short Description ● Marketplace: Technical component


page
Generate print and interactive forms using Adobe Document Services.
● Cockpit: Tile text
● Service Overview Topic: Short de­
scription

Long Description ● Marketplace: Technical component


page under "More Information"
SAP Cloud Platform Forms by Adobe enables you to generate print and interac­ page
tive forms using Adobe Document Services. You can call Forms by Adobe from a ● Cockpit: Service overview page un­
back-end system based on SAP NetWeaver using the Forms Processing Frame­ der "Service Description"
work. You can also call Forms by Adobe from your applications using a REST API. ● Service Overview Topic: First para­
In both cases, the data and the form templates must be stored and referenced graph
from within the back end. The application sends the data and the form template
using a secure connection, and the service returns the rendered document to the
user.

Main Feature Scope ● Central FSD for SAP Cloud Plat­


form: Left column ("Feature")
Generate Forms

SAP Cloud Platform Forms by Adobe


68 PUBLIC REFCONT: Data sheet for SAP Forms by Adobe
Entry Column Where Used

Feature Details: Titles and Descriptions ● Marketplace: Technical component


page
Render and print Create and process print and interactive PDF forms, both ● Service Overview Topic: Features
interactive forms ● Central FSD for SAP Cloud Plat­
online and offline.
form: Right column ("Description")
Local Java instal­ Build and manage your business documents using PDF form
lation not re­
templates without the need of a local Java installation.
quired

Integrate Integrate with all existing SAP NetWeaver landscapes ena­


bling a business application to establish and manage its indi­
vidual form processing.

Optimize and Simplify your IT landscape by replacing an existing local Java


simplify
installation - saving you the cost of additional hardware re­
sources.

Resources (Link List)

Entry Column Guidelines and Explanations

Product Page on SAP Help Portal

Help Portal Product Page

Service Overview topic in service


guide

What is SAP Cloud Platform Forms by


Adobe

Service-specific Feature Scope De­


scription in PDF format

Feature Scope Description

What's New topic in service guide

Initial Setup topic in service guide

Initial Setup

API documentation in service guide

API Documentation

SAP Cloud Platform Forms by Adobe


REFCONT: Data sheet for SAP Forms by Adobe PUBLIC 69
Entry Column Guidelines and Explanations

Other Documentation

● Use Cases
● Architecture
● Connecting Your ABAP System
● Configuration Tool
● Migration from On-Premise ADS

Onboarding Documentation

Onboarding Tutorial

Tutorial

● Tutorial: OAuth Setup

Learning Content

Community Content

● SAP Forms by Adobe: Get off the


Ground…and into the Cloud with
your PDF Business Documents.

Support Content

Media

Entry Column Guidelines and Explanations

Images


SAP Cloud Platform Forms by
Adobe: Architecture

SAP Cloud Platform Forms by Adobe


70 PUBLIC REFCONT: Data sheet for SAP Forms by Adobe
Important Disclaimers and Legal Information

Hyperlinks
Some links are classified by an icon and/or a mouseover text. These links provide additional information.
About the icons:

● Links with the icon : You are entering a Web site that is not hosted by SAP. By using such links, you agree (unless expressly stated otherwise in your
agreements with SAP) to this:

● The content of the linked-to site is not SAP documentation. You may not infer any product claims against SAP based on this information.
● SAP does not agree or disagree with the content on the linked-to site, nor does SAP warrant the availability and correctness. SAP shall not be liable for any
damages caused by the use of such content unless damages have been caused by SAP's gross negligence or willful misconduct.

● Links with the icon : You are leaving the documentation for that particular SAP product or service and are entering a SAP-hosted Web site. By using such
links, you agree that (unless expressly stated otherwise in your agreements with SAP) you may not infer any product claims against SAP based on this
information.

Beta and Other Experimental Features


Experimental features are not part of the officially delivered scope that SAP guarantees for future releases. This means that experimental features may be changed by
SAP at any time for any reason without notice. Experimental features are not for productive use. You may not demonstrate, test, examine, evaluate or otherwise use
the experimental features in a live operating environment or with data that has not been sufficiently backed up.
The purpose of experimental features is to get feedback early on, allowing customers and partners to influence the future product accordingly. By providing your
feedback (e.g. in the SAP Community), you accept that intellectual property rights of the contributions or derivative works shall remain the exclusive property of SAP.

Example Code
Any software coding and/or code snippets are examples. They are not for productive use. The example code is only intended to better explain and visualize the syntax
and phrasing rules. SAP does not warrant the correctness and completeness of the example code. SAP shall not be liable for errors or damages caused by the use of
example code unless damages have been caused by SAP's gross negligence or willful misconduct.

Gender-Related Language
We try not to use gender-specific word forms and formulations. As appropriate for context and readability, SAP may use masculine word forms to refer to all genders.

SAP Cloud Platform Forms by Adobe


Important Disclaimers and Legal Information PUBLIC 71
www.sap.com/contactsap

© 2018 SAP SE or an SAP affiliate company. All rights reserved.

No part of this publication may be reproduced or transmitted in any form


or for any purpose without the express permission of SAP SE or an SAP
affiliate company. The information contained herein may be changed
without prior notice.

Some software products marketed by SAP SE and its distributors


contain proprietary software components of other software vendors.
National product specifications may vary.

These materials are provided by SAP SE or an SAP affiliate company for


informational purposes only, without representation or warranty of any
kind, and SAP or its affiliated companies shall not be liable for errors or
omissions with respect to the materials. The only warranties for SAP or
SAP affiliate company products and services are those that are set forth
in the express warranty statements accompanying such products and
services, if any. Nothing herein should be construed as constituting an
additional warranty.

SAP and other SAP products and services mentioned herein as well as
their respective logos are trademarks or registered trademarks of SAP
SE (or an SAP affiliate company) in Germany and other countries. All
other product and service names mentioned are the trademarks of their
respective companies.

Please see https://www.sap.com/about/legal/trademark.html for


additional trademark information and notices.

THE BEST RUN