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.
Skip to end of metadata
Go to start of metadata

Author       : P. Surjith Kumar & S Senthil Raja

Created on : 14rd June 2009

Author Bio :

P.Surjith Kumar working as SAP Consultant for the Past 3.5 Years. 

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

S Senthil Raja working as SAP Technical Consultant for the Past 1 Year.  

Company    : Enteg InfoTech, #263, 21st Main, BTM 2nd Stage,1st Phase, Bangalore - 560076, India.

Scenario

Create an Adobe Form and call in via ABAP WebDynpro .

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

2) Create the Interface for the Adobe form in the Transaction Code "SFP"
3) Create a Web Dynpro Component in the Transaction Code SE80
4) Create an "Interactive Form" element in the view (MAIN_VIEW) Layout
5) Assign the Layout and Design the Adobe Form
6) Write a code in the View (MAIN_VIEW) Method "WDDOINIT"
7) Create a Web Dynpro Application to test the Development
8) Test the Web Dynpro Application

Step by Step Approach

1) Create a Table Type for a Table "MARI"

     Give the Table type Name "ZMARI_TBL" and click Create



 Select the radio button "Table Type" and press enter as shown below.

 



 Save and activate it.

 

2) Create the Interface for the Adobe Form in the Transaction Code "SFP"

Give the interface name as "ZADOBE_INTERFACE" and click Create.


Then give the Description and click save as shown below.

 

 Save it as local object.

 

Click the "Append Row" Icon as shown below.


  Then assign the Created Table type Name "ZMARI_TBL".



Then activate the interface.




3) Create a Web Dynpro Component in the Transaction Code SE80




 Select the "Web Dynpro Comp./Intf" and  Give the Application  Name, then press Enter


 Then a popup window will appear and click "Yes".

 

 Then another popup window will appear, Give the "Window Name" & "View Name", and press Enter.



 Then save it as local Object.


 Then you can see Web Dynpro screen as below.

 


 Double click the View (MAIN_VIEW) as shown below.



4) Create an "Interactive Form" element in the view (MAIN_VIEW) Layout

Go to change Mode, select the "ROOTUIELEMENTCONTAINER" and right click it. Then click "Insert Element" as shown below.




 Enter a Name and select the Interactive Forms, then press Enter.

 


 Then below screen will appear.




  Then Increase the Height & width as "700px" as indicated below.




In the "Template Source" give name as ZADOBE_FORMS and double click it. Then a Popup will appear as indicated below.
Now assign the Adobe Interface Name "ZADOBE_INTERFACE" that created in the Transaction Code "SFP" earlier.



  Then Click the "Use" button.

 


 Then save it as Local Object.

 


 Then a popup will appear as mentioned below and click "Yes".



 

 Then save the View "MAIN_VIEW" by click the "Yes" button.
 

  Then the below screen will appear.
 

5) Assign the Layout and Design the Adobe Form


 Click the "Properties" Tab in the screen.


In the Layout type choose "ZCI Layout" as show below and press enter.

 Then go to "Context Tab" and expand the import as show below.

 

 Drag and Drop the Table "ZMARI" in to the Context as shown below.




 Then the Below Screen will appear.



Then click the layout tab, then below screen will appear.




Drag the Table ZMARI and place it in the Design View as shown below.






 In the "Library" Select the Text, place it in the Design view and give a Description.



 
 


Then Save & active the Adobe Form.




After Active the Adobe Form and Double click the VIEW  " MAIN_VIEW"


 

Navigate to the "Methods " tab .


 

6) Write a code in the View (MAIN_VIEW) Method "WDDOINIT"

 

Double click the "WDDOINIT" method and enter the below code.

 

 METHOD wddoinit .
*&-----------------------------------------------------------------&*
*& Author : P Surjith Kumar & S Senthil Raja
*& Purpose : Call the Adobe form via Webdynpro
*&-----------------------------------------------------------------&*

  DATA: node_zadobe_forms TYPE REF TO if_wd_context_node,
        it_mari     TYPE        zmari_tbl.

  SELECT * FROM mari INTO TABLE it_mari UP TO 15 ROWS.
  node_zadobe_forms = wd_context->path_get_node( 'ZADOBE_FORMS.ZMARI' ).
  node_zadobe_forms->bind_table( new_items = it_mari set_initial_elements = abap_true ).

ENDMETHOD.

 

Click the Main Window.


 

You can see the view embedded to the window(MAIN_WINDOW). If it does not appear Drag and drop the View "MAIN_VIEW" to the Window (MAIN_WINDOW) as shown below.



    

Then select the whole Web Dynpro Component and activate as mentioned below.





Now the webdynpro component is active.



 

7) Create a Web Dynpro Application to test the Development


Then create a webdynpro application as show below .


 Enter the description and click the "Tick" button as mention below.


 
 

Save it as Local Object.
 



  Expand the " Web Dynpro Applications" as highlighted.

 8) Test the Web Dynpro Application

Then Right Click the Web Dynpro Applications "zadobe_n_webdyn" and click the Test.


Then a Browser Window will Open and display the Adobe Form.


2 Comments

  1. Guest

    For all of this works, you should use this code instead: METHOD wddoinit . *&-------------------------------------------------------------&* *& Author : P Surjith Kumar & S Senthil Raja *& Purpose : Call the Adobe form via Webdynpro *&---------------------------------------------------------&* TYPES: begin of ltp_context, zmari type zmari_tbl, end of ltp_context. DATA: node_zadobe_forms TYPE REF TO if_wd_context_node, attr_zadobe_forms TYPE REF TO data, it_mari TYPE zmari_tbl, ls_forms TYPE ltp_context. data: lr_node_form TYPE REF TO if_wd_context_node, lr_elem_forms TYPE REF TO if_wd_context_element. * SELECT * FROM mari INTO TABLE it_mari UP TO 15 ROWS. SELECT * FROM mari INTO TABLE ls_forms-zmari UP TO 15 ROWS. * attr_zadobe_forms = wd_context->path_get_attribute( 'ZADOBE_FORMS.ZMARI' ). lr_node_form = wd_context->get_child_node( name = 'ZADOBE_FORMS' ). * node_zadobe_forms->bind_table( new_items = it_mari set_initial_elements = abap_true ). lr_node_form->bind_element( EXPORTING new_item = ls_forms ). * lr_elem_forms = lr_node_form->get_element( ). * lr_elem_forms->set_attribute( * exporting name = 'ZMARI' * value = it_mari ). ENDMETHOD. Sorry for formatting, something wrong with my IE.

  2. I have never done this kind of development, but it is nice to have a reference in my future assignment.

    Thanks.