cancel
Showing results for 
Search instead for 
Did you mean: 

Dynamic Tabs & PDF form display cause IE CPU up and PC hang

Former Member
0 Kudos

Hi Experts,

I create dynamic tabs and inside each tab I create interactive form with PDF data inside to display PDF. After running for a while, the CPU goes up and PC hang. What could be the problem for this? (I'm using IE7)

Thanks,

- Anthony -

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Thank you for your help!

thomas_jung
Developer Advocate
Developer Advocate
0 Kudos

Keep in mind that all tab (visible or not) are rendered on the client side. So depending upon how many forms/tabs you have, this could lead to a lot of active instances fo the Adobe Reader. You might want to reconsider you design knowing this. Perhaps a server side tab switch (swapping between the actual inner view of the tab and EMTPYVIEW) so that only one active tab is rendered on the client side.

Former Member
0 Kudos

Hi Thomas,

Thank you for your reply!

I've re-designed it in a way that only one instance of Adobe Reader in the current selected tab. Whenever user choose another tab, I remove Adobe Reader from that tab and create in the new selected tab. The problem still exists. I don't know what and where exactly problem is. This is excerpt code in WDDOMODIFYVIEW to remove interactive form first and all tabs later. Do you see any problem with this piece of code?

Be noted that the IE get hang only (CPU 100%) when I run it for a while, meanings select selecte items in view1 and pdf preview in view2, back to view 1 to select other items go to view2 to preview pdf....


data: lo_f             type ref to cl_wd_interactive_form,
         lo_tabstrip  type ref to cl_wd_tabstrip,
         lo_tab        type ref to cl_wd_tab,
        ls_pdftab    type wd_this->element_pdftab.

if lo_tabstrip->has_tabs( ) = 'X'.
    " Remove adobe reader in the old tab
    if ls_pdftab-old_tab is not initial.
      lo_tab  = lo_tabstrip->get_tab( id = ls_pdftab-old_tab ).
      if lo_tab is not initial.
        lo_f ?= lo_tab->get_content( ).
        if lo_f is not initial.
          lo_f->unset__parent( ).
          lo_f->unregister_from_view( ).
          free lo_f.
        endif.
      endif.
    endif.
    " Remove all tabs
    lo_tabstrip->remove_all_tabs( ).
  endif.

Thanks,

- Anthony -

thomas_jung
Developer Advocate
Developer Advocate
0 Kudos

I wasn't actually suggesting such an approach in WDDOMODIFYVIEW. There is a much easier way to do this by performing your tab switch on the server, placing a separate view/viewcontainerUIElement into each tab, setting the when visible lifetime setting on each individual view, and firing a plug to swap between the real view and EMPTYVIEW for visible/non-visible tabs.

Either way, you application is better off only rendering the visible tab elements. Sorry it didn't solve your CPU usage. I suppose there could be a bug in Adobe Reader. Make sure you are on the latest SAP supported version. Otherwise you might want to open a support ticket.

Former Member
0 Kudos

Hi Thomas,

Thank you for your suggestion!

I would like to let you know that with Adobe Reader 9.3 , IE7/8 even with one interactive form and no dynamic tab it still causes the IE hang. I uninstalled the Adobe reader 9.3 and install version 8.0, it works perfect. As you guess this could be a bug in the client side which belongs to Adobe / SAP.

Thanks,

- Anthony -