Adobe Forms (a.k.a. Interactive Adobe Forms / SAP Interactive Forms by Adobe) is a form development and output management tool in SAP used to create print forms, interactive forms, and PDF-based documents.
It is the new-generation replacement for older SAP form technologies like SAPscript and Smartforms.
Adobe Forms are built in transaction SFP (Form Builder) and use the Adobe Document Services (ADS) component to render PDFs.
Why Do We Use Adobe Forms?
Companies use Adobe Forms to generate business documents in PDF format with modern design and interactive capabilities.
Main Uses:
- Document Output
- Print / Email / Store business documents such as:
- Invoices
- Purchase Orders
- Delivery Notes
- HR Payslips
- Account Statements
- Interactive Forms
- Users can fill forms online or offline and send them back (like bank applications, surveys, or HR forms).
- Branding and Professional Layouts
- Rich formatting, logos, barcodes, and digital signatures supported.
- Integration
- Can integrate with workflows, portals, and external systems.
Components of Adobe Forms
When creating an Adobe Form, there are three main building blocks:
- Interface
- Defines the data structure (import/export parameters, tables).
- Data comes from an ABAP program / function module.
- Form Layout
- The actual PDF design (done in Adobe LiveCycle Designer, integrated with SAP GUI).
- Includes headers, tables, fields, barcodes, images, etc.
- Driver Program
- ABAP program that supplies the data to the form interface.
- Calls the form using FP_JOB_OPEN / FP_FUNCTION_MODULE_NAME / FP_JOB_CLOSE.
Example ABAP Code to Call Adobe Form
DATA: lv_fm_name TYPE rs38l_fnam,
ls_output TYPE sfpoutputparams,
ls_docparams TYPE sfpdocparams,
gv_return TYPE i.
“Open Form Processing Job
CALL FUNCTION ‘FP_JOB_OPEN’
CHANGING
ie_outputparams = ls_output
EXCEPTIONS
others = 1.
“Get function module for Adobe Form
CALL FUNCTION ‘FP_FUNCTION_MODULE_NAME’
EXPORTING
i_name = ‘Z_ADOBE_FORM’
IMPORTING
e_funcname = lv_fm_name.
“Call Adobe Form FM
CALL FUNCTION lv_fm_name
EXPORTING
/1bcdwb/docparams = ls_docparams
iv_invoice_number = ‘1000001’
IMPORTING
ev_return = gv_return
EXCEPTIONS
others = 1.
“Close Form Processing Job
CALL FUNCTION ‘FP_JOB_CLOSE’
EXCEPTIONS
others = 1.