Skip to Content

Working with alternatives in adobe forms

What is an adobe form ?

It is a Universal file format developed by Adobe that preserves all the fonts, formatting, graphics, and color of any source document, regardless of the application and platform used to create it. PDF files are compact and can be shared, viewed, navigated, and printed exactly as intended by anyone with Adobe Reader software.

Why and when we use adobe forms  ?

In daily operations, companies of all sizes depend on formal documents that reflect their corporate identities and contain critical business information from live systems. SAP and Adobe partnered with the goal of automating and streamlining forms-based communication to support customers who create reusable forms for their business processes. The result of this partnership is Adobe forms. examples : Order confirmations, Invoices, Account statements, Checks, Salary statements etc use adobe forms.

In this demo we will create adobe form, which displays two different table data in different scenarios based on the given input. This functionality is achieved by using Alternative in adobe forms.

Step1: Go to SFP transaction and create interface for the Adobe form.



Step2: In interface you will find import, export and Exceptions.

Create import parameters by clicking on below shown create button.


Step3: Create import parameters IT_SPFLI and FLAG.

The import parameter IT_SPFLI is used to input data and FLAG is used to select the table that should be displayed in the Output. Here the details of either SPFLI or SFLIGHT are displayed depending on the FLAG.


Step4: Create two global tables SPFLI and SFLIGHT to hold the data that needs to be displayed in the output.


Step5: Code for fetching the data is written in the code initialization part of interface.

In code initialization the variables whose values are being passed to the code to fetch the details of the output should be declared in the Input parameters and the variables to which the results are assigned needs to be declared in the Output parameters.


Step6: Write the below code in code initialization part. Check for errors and activate the interface.

select *

  from spfli

  into table gt_spfli

   for all entries in it_spfli

where carrid eq it_spfli-carrid

   and connid eq it_spfli-connid.

select *

  from sflight

  into table gt_sflight

   for all entries in it_spfli

where carrid eq it_spfli-carrid

   and connid eq it_spfli-connid.

Step7: After the interface part is done, create Form by going to SFP transaction.


Step8: In the creation of the Form, we need to give the name of the interface for which we are creating the Form. This is the additional functionality in Adobe forms. One interface can be used for many Forms if it is suitable.


Step9: In the Context tab of the Form we will find two sections Interface and Context.

In Interface we will find the data that was created in the interface. Content area will be blank initially. We need to drag the elements that need to be displayed in output into the content area.Drag and drop element FLAG into context area.


Step10: Select folder YDEMO_ALTERNATIVE in context and create an ALTERNATIVE. Right-clicking on the folder go to create–> Alternative.


Step 11: In Alternative will find two nodes TRUE and FALSE.

Initially both are blank.


Step12: Drag and drop table GT_SPFLI from Global data to TRUE node and de-activate fields which we don’t need.



Step13: Drag and drop table GT_SFLIGHT from Global data to FALSE node and de-activate fields which we don’t need.


Step14: Select the Alternative conditions tab and create condition for alternative.

Create condition as FLAG = INITIAL.

Means subform TRUE will be triggered when the flag is initial and subform FALSE will be triggered when there is some value in flag variable (NOT INITIAL).


Step15: Select tab page LAYOUT for going to Adobe layout.

In Layout, go to MASTER page decrease the page area and create the boiler plate elements, such as text and image elements. We can create these from dragging the elements from library.



Step16: In data view we will find subform ALERNATIVE, with in it tables will be placed in TRUE and FALSE subforms using choice subformset.Drag and drop complete ALTERNATIVE subform into body page from data view.


Step17: Select body page and go to the object view from the pallets.

Go to Pagination, set over flow to ‘Go To Page “Page1″’.

This should be done in order to flow the content to the next page when first page is filled completely.


Step18: Save and activate the form.

Here for output we will have two scenarios.

SCENARIO 1: When the FLAG is INITIAL, SPFLI data will be displayed in output.

SCENARIO 2: When the FLAG is NOT INITIAL, SFLIGHT data will be displayed in output.

Select the table IT_SPFLI to give the input data. Give inputs to the table.Now there are three entries in the table IT_SPFLI and the FLAG is BLANK.


Step19: Subform TRUE will be triggered when FLAG is INITIAL. And SPFLI table data will be displayed in output.


Step20: Maintain same data in IT_SPFLI and give ‘X’ in FLAG. Scenario 2 will be triggered.

Output screen displays SFLIGHT table data.


In this way, based on flag input we can display data of two different tables.

Thank you..

To report this post you need to login first.

1 Comment

You must be Logged on to comment or reply to a post.

Leave a Reply