Call Adobe Form through ABAP Program

Scenario

Create an Adobe Form and call it through an ABAP Program

Pre-request:

1)  In the Front End System Adobe Life Cycle Designer has to install. Then only the Adobe Form  Layout  and Adobe form will open in the SAP system
2)  Adobe Reader 8.0 and above version has to installed

Steps to Create and Call the adobe form

1)  Create a Table Type for a Table
 2) Create the Interface for the Adobe Form
3)  Create the Adobe Form and design the layout
4)  Write a Program to Call the Adobe Form

Step by Step Approach

1)   Create a  Table Type for a Table

Go to the Transaction Code "SE11" and give the Table Type name as "zmari_tb1".

 

Call Adobe Form through ABAP Program_第1张图片
Then click "Create" and a popup will appear as shown below.

Select the radio button "Table Type" and press enter

Call Adobe Form through ABAP Program_第2张图片

 

Enter the Table Name 'MARI' in the line type.
Call Adobe Form through ABAP Program_第3张图片

 

Then save it as Local Object and activate it.

Call Adobe Form through ABAP Program_第4张图片

 

Activate the Table Type.

Call Adobe Form through ABAP Program_第5张图片

 

2) Create the Interface for the Adobe Form

Go to Transaction code 'SFP' and create the Interface for the ADOBE FORM

Enter the Interface Name as 'ZSUR_ADOBE_INTR' and click "Create"

Call Adobe Form through ABAP Program_第6张图片

 

Give the Description and click save.

Call Adobe Form through ABAP Program_第7张图片

 

Give Description and press enter

Call Adobe Form through ABAP Program_第8张图片

 

Save as Local Object

Call Adobe Form through ABAP Program_第9张图片

 

Then the below screen will appear.

Call Adobe Form through ABAP Program_第10张图片

 

Then Click "Append Row" icon as indicated below.
Call Adobe Form through ABAP Program_第11张图片

 

Then as new row will inserted and assign the Table Type ZMARI_TBL value as shown below.

Call Adobe Form through ABAP Program_第12张图片

 

Then activate it.

Call Adobe Form through ABAP Program_第13张图片

 

Then go back and Give the Adobe Form name click Create.

 3) Create Adobe Form and design the layout in the Same Transaction Code "SFP"

Call Adobe Form through ABAP Program_第14张图片

 

Give the Description and the Interface name, which just created as indicated below.

Call Adobe Form through ABAP Program_第15张图片

 

Then Save as Local Object.

Call Adobe Form through ABAP Program_第16张图片

 

Then the below Screen will appear.

Call Adobe Form through ABAP Program_第17张图片

 

Expand the import button and you can find the Table Parameter ZMARI.

Call Adobe Form through ABAP Program_第18张图片

 

Then Drag and drop it to the Context as shown below

Call Adobe Form through ABAP Program_第19张图片

 

After Drag and Drop the Table type to Context, then below screen will appear.

Call Adobe Form through ABAP Program_第20张图片

 

Then Click the "Layout" Tab and the Below Screen will appear.

Call Adobe Form through ABAP Program_第21张图片

 

Drag and Drop the table type "ZMARI" to Design View Layout as indicated below.

Call Adobe Form through ABAP Program_第22张图片

 

Then adjust the Table in the Top center of the layout as shown below. 
Call Adobe Form through ABAP Program_第23张图片

 

Select the 'Text' from the Library and drop it the Layout 'Design" View and give a description to the Table as shown below.

Call Adobe Form through ABAP Program_第24张图片

 

Call Adobe Form through ABAP Program_第25张图片

 

Then Activate the Adobe form

Call Adobe Form through ABAP Program_第26张图片

 

4) Write a Program to Call the Adobe Form


Go to Transaction code SE38 and Create a Test Program "ZCALL_ADOBE_FORM". 

Call Adobe Form through ABAP Program_第27张图片

Call Adobe Form through ABAP Program_第28张图片

 

Save it as local Object.

Call Adobe Form through ABAP Program_第29张图片

 

Then enter the Below Code.

Call Adobe Form through ABAP Program_第30张图片

 

REPORT  zcall_adobe_form.
&-----------------------------------------------------------------------&
*& Author  : P Surjith Kumar
*& Purpose : Call the Adobe form in the ABAP Program
*&------------------------------------------------------------------------
DATA: fm_name           TYPE rs38l_fnam,      " CHAR 30 0 Name of Function Module
       fp_docparams      TYPE sfpdocparams,    " Structure  SFPDOCPARAMS Short Description  Form Parameters for Form Processing
       fp_outputparams   TYPE sfpoutputparams, " Structure  SFPOUTPUTPARAMS Short Description  Form Processing Output Parameter
       it_mari           TYPE zmari_tbl.       " Table Type ZMARI_TBL MARI Table Tyoe
* Sets the output parameters and opens the spool job
CALL FUNCTION 'FP_JOB_OPEN'                   "& Form Processing: Call Form
   CHANGING
     ie_outputparams = fp_outputparams
   EXCEPTIONS
     cancel          = 1
     usage_error     = 2
     system_error    = 3
     internal_error  = 4
     OTHERS          = 5 .
IF sy-subrc <> 0 .
*            <error handling>
ENDIF.
*&---- Get the name of the generated function module
CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'           "& Form Processing Generation
   EXPORTING
     i_name     = 'ZSUR_ADOBE_FORM'
   IMPORTING
     e_funcname = fm_name.
IF sy-subrc <> 0 .
*  <error handling>
ENDIF.
*-- Fetch the Data and store it in the Internal Table
SELECT * FROM mari INTO TABLE it_mari UP TO 15 ROWS.
* Language and country setting (here US as an example)
fp_docparams-langu   = 'E' .
fp_docparams-country = 'US' .
*&--- Call the generated function module
CALL FUNCTION fm_name
   EXPORTING
     /1bcdwb/docparams        = fp_docparams
     zmari                   = it_mari
*    IMPORTING
*     /1BCDWB/FORMOUTPUT       =
   EXCEPTIONS
     usage_error           = 1
     system_error          = 2
     internal_error           = 3 .
IF sy-subrc <> 0 .
*  <error handling>
ENDIF.
*&---- Close the spool job
CALL FUNCTION 'FP_JOB_CLOSE'
*    IMPORTING
*     E_RESULT             =
   EXCEPTIONS
     usage_error           = 1
     system_error          = 2
     internal_error        = 3
     OTHERS               = 4 .
IF sy-subrc <> 0 .
*            <error handling>
ENDIF.

 

Then activate and Execute (F8) it.

Call Adobe Form through ABAP Program_第31张图片

 

Then the printer screen will appear.
Call Adobe Form through ABAP Program_第32张图片

 

Click the Print Preview

Call Adobe Form through ABAP Program_第33张图片

 

Then the Output will shown as below.

Call Adobe Form through ABAP Program_第34张图片

你可能感兴趣的:(form,Adobe)