Registration

Dear SAP Community Member,
In order to fully benefit from what the SAP Community has to offer, please register at:
http://scn.sap.com
Thank you,
The SAP Community team.
The SAP Community wiki will be closed to new content submissions from December 7 6:00 p.m. CET to December 11 6:00 p.m. CET.
All content created during this period will not be available/restorable after December 11.
We apologize for the inconvenience, but we need to take this action to improve and maintain the SAP Community wiki performance.
Please plan your tasks accordingly.
Skip to end of metadata
Go to start of metadata

Author       : P. Surjith Kumar

Company    : Enteg Technologies Pte Ltd., No.9, Jurong Town Hall Road, Unit #03-14, iHub, Singapore 609431.

Created on : 13rd June 2009

Author Bio 

I am  working as  SAP Technical Consultant  for the Past 3.5 Years

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_TBL"


Then click "Create" and a popup will appear as shown below.




Select the radio button "Table Type" and press enter



 Enter the Table Name 'MARI' in the line type.
 Then save it as Local Object and activate it.

 

Activate the Table Type.

 


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"

 
 
Give the Description and click save.

 


Give Description and press enter



Save as Local Object

 

Then the below screen will appear.




Then Click "Append Row" icon as indicated below.


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



 

Then activate it. 


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"


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



 Then Save as Local Object.

 
 
  Then the below Screen will appear.



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


 
Then Drag and drop it to the Context as shown below. 


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


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


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


Then adjust the Table in the Top center of the layout as shown below. 
  

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


 
Then Activate the Adobe form.


 4)

4) Write a Program to Call the Adobe Form


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

 


 Save it as local Object.

 

Then enter the Below Code.

 

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.



 Then the printer screen will appear.

 

Click the Print Preview

 

Then the Output will shown as below.


9 Comments

  1. Nice tutorial.  Very well written and very useful.  Thanks for posting!

  2. Guest

    Great tutorial,  I do have one issue,  Cant print page ranges when printing , any idea

  3. Guest

    Nice Tutorial.. 

  4. Good program to start with adobe forms.

  5. Hi

    thanks a lot for this  training (smile) .

    I create table and interface as you say and  after that I copy this code in abap editor but it dosen't work. 

    In preview it shows a white page with no data. 

  6. mahtab beyrakabadi  can you find the solution about that problem,?  when copy the code in abap editor , in preview it will show nothing,although with no page.

     

    1. Unfortunately no . do you have any solution ?

  7. Hi Mahtab beyrakabadi

    Please check the database table MARI have any records. If the table does not have records it will show nothing. Let me know..

  8. Hi P. Surjith Kumar,

    Thank you so much for your turorial. It is really helpful for me.