cancel
Showing results for 
Search instead for 
Did you mean: 

Adobe form on Link to Action

Former Member
0 Kudos

Hi Experts,

I an working on WDA application in which i have to call an adobe form on table column which is a link to action.

form is already created thorugh SFP of standard form type.

In some cases This form will be interactive and for some its not......which is through parameters in the form.

With ABAP driver program it is working fine but i donno how to use this in WDA.

Please suggest what to do...

Regards

Nik

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Done it through File download without using the Interactive form UI.

Former Member
0 Kudos

Hi Nikhil,

Alternatively you can do one more thing, Very similar as Uday suggested.

Create an INteractive form in your view and set the visibility as none by default. Bind the Property of the visible to a context attribute of type WDUI_VISIBILITY and set it visible on action event of the Link2Action UI element.

Hope it works for you.

uday_gubbala2
Active Contributor
0 Kudos

Hi Nikhil,

Place the InteractiveForm UI element within a view of your Web Dynpro Component. So now when you click on a LinkToAction you need to navigate to the Adobe form. Right? So now within the onAction property of the LinkToAction make a call to the view containing the InteractiveForm UI element by using CREATE_WINDOW/CREATE_EXTERNAL_WINDOW. You can control the interactive property of the form by using the "enabled" property checkbox of the InteractiveForm UI element.

Regards,

Uday

Former Member
0 Kudos

Thanks for you reply mate.

I have done all this, the for get opens as a PDF opon my view2(which contains interactive form UI element) but want to remain in same view1 (which has the link to action).

I know if have to see it i need to put it in view 2 but is there any way it will automatically go back to view1 once the form get open. as of now i put a button on View2 to go back but it should go back automatically. No idea what code i have to write and in which method.

If anyone can tell that will be a great help..

Dude i also didnt get your point " by using CREATE_WINDOW/CREATE_EXTERNAL_WINDOW." can you please elaborate it as i ahve done it through plugs by calling View2(inboud plug) from view1(outbound plug).

Regards,

Nik

Edited by: Nikhil on Jun 17, 2010 1:44 PM

uday_gubbala2
Active Contributor
0 Kudos

Hi Nikhil,

The solution which I had suggested was for displaying the Adobe form in a new window on click of the LinkToAction field. Say suppose I have a view by name AIF & it is embedded within a window W_AIF. Then upon clicking on the LinktoAction within the MAIN view I can put the below code within the LinkToAction's onAction event to display the form in a new window:

DATA lo_window_manager TYPE REF TO if_wd_window_manager.
DATA lo_api_component  TYPE REF TO if_wd_component.
DATA lo_window         TYPE REF TO if_wd_window.

lo_api_component  = wd_comp_controller->wd_get_api( ).
lo_window_manager = lo_api_component->get_window_manager( ).
lo_window         = lo_window_manager->create_window(
                   window_name            = 'W_AIF'
*                  title                  =
*                  close_in_any_case      = abap_true
                   message_display_mode   = if_wd_window=>co_msg_display_mode_selected
*                  close_button           = abap_true
                   button_kind            = if_wd_window=>co_buttons_ok
                   message_type           = if_wd_window=>co_msg_type_none
                   default_button         = if_wd_window=>co_button_ok
                   ).

lo_window->open( ).

You can generate the above coding through the code wizard by selecting the option as, "Generate Popup" & select the window name as the 2nd window that you have created.

Anyways now that you have specified that you want the form to be displayed within the same view as the LinkToAcion you can go ahead as how specified by Saketh. Define a context attribute say VISIBILITY of type WDUI_VISIBILITY. Give it a default value of 01 which would make it as invisible by default. Bind the "visible" property of the InteractiveForm UI element to this attribute. Now within the LinkToAction's onAction method you can just set the context attributes value to "02" which would mean making the form visible within the same view.

METHOD onactioncall_aif .
  wd_context->set_attribute( EXPORTING name  =  'VISIBILITY'
                                       value = '02' ).
endmethod.

Regards,

Uday

Former Member
0 Kudos

Thanks for the reply guys.

But how it will identify that the i am setting the visibility for interactive form UI element through set_attribute?

I have changes the form property - visibile to non & created a context attribute VISIBILITY of TYPE WDUI_VISIBILITY in view context.

In my mathod (on link to action) i have written the code

wd_context->set_attribute( EXPORTING name = 'VISIBILITY'

value = '02' ).

But it is not giving the adobe form on click of Link to action. I think i am missing something which identifies the adobe form property - visibile.

which variable is for adobe form property - visible? whcih i have to set as 'visible'

Regards,

Manish

uday_gubbala2
Active Contributor
0 Kudos

Hi Nikhil,

I dont think that you have read my earlier post completely.

Define a context attribute say VISIBILITY of type WDUI_VISIBILITY. Give it a default value of 01 which would make it as invisible by default. Bind the "visible" property of the InteractiveForm UI element to this attribute. Now within the LinkToAction's onAction method you can just set the context attributes value to "02" which would mean making the form visible within the same view.

Regards,

Uday

Former Member
0 Kudos

Hi Uday.....

I read you post the same day.

I bind the visibility variable with form visibility property.(I forget to do that time and asked a silly question)

I also set the visibility to 02 in modify method of view but nothing is working.

If automatically opens the PDF everytime.

Also i am facing 1 more problem which is making the form interactive. When i check the enable property of it ( to make it interactive ) it dont even open the adobe form. It say wait and goes under infinite processing of it.

Donno what to do

This interactive form is of standard layout type. When i run it through ABAP driver program it works fine.

Regards,

Nik

uday_gubbala2
Active Contributor
0 Kudos

Hi Nikhil,

Have you set the "Default Value of your visibility attribute to 01? You have either missed out on doing this or you are going wrong while performing the binding operation. "02" is only meant for making the form visible. To make it as hidden you need to use the value "01".

You are not supposed to use the Standard Layout type while integrating an Interactive Adobe Form with Web Dynpro. ([Check this|http://help.sap.com/saphelp_tm60/helpdata/en/45/2cb44a40594c2ce10000000a1553f6/content.htm]) You should either go for the xACF/ZCI layout types. However you are better of using the ZCI layout type as for xACF you would need additional software installed on each client system.

Regards,

Uday

Former Member
0 Kudos

Thanks Uday.....

will discuss it with my team member who worked on adobe form if we can change the form type or not......its a bit complicated adobe form and i dont think he will be ready for it.

any other solution in your mind with this standard adobe form?

Regards,

Nik

uday_gubbala2
Active Contributor
0 Kudos

Hi Nikhil,

I dont think that changing the layout type from standard to ZCI would be a complex process. Your developer should be able to go to the forms properties tab, save the layout type to ZCI & activate the form. The only hindrance which I can think of is about any possible clashes with the scripting (JavaScript/FormCalc) that he might have done within the form. There shouldn't be any problem at all if there isn't any scripting involved within the form.

Regards,

Uday