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

Purpose

The purpose of this page is to clarify the understanding of the most common Deski Macro issues and its possible solutions. After searching almost everything on the topic here comes some useful information

Common Issues/Errors:

  • Unable to schedule a DeskI document/Reports with Macros.
  • Scheduling a DeskI report with macros and exported to different formats (txt, rtf, pdf, xml, xls, and html) fails.
  • Scheduling a DeskI report with macros fails randomly
  • Save DeskI Reports with Macros to a specified location fails intermittently.
  • Macros are not executed when DESKI report is scheduled in Info view.
  • DeskI Report scheduled in info view fails through the code.
  • Using VBA macro to open desktop intelligence report and the report is empty.

Symptoms:

  • Create a report with simple macro, but after reopening DeskI, you will get below message.     
                                               
  • Macros are not executed when DESKI report is scheduled in Info view.
  • DeskI Report scheduled in info view fails through the code.
  • Using VBA macro to open desktop intelligence report and the report is empty

Causes:

  • It’s a limitation of the macro when running it through Info view and running it when scheduled has to do with how the report is processed. In the DeskI client all of the report processing is done by the client application.
  • When a report is refreshed through Info view the report is processed by the "Desktop Intelligence Report Server". When a report is scheduled it is processed by the "Desktop Intelligence Job Server". These two servers are separate applications from the DeskI client, and are designed for server processing, not client processing like the DeskI client.
  • In order to be able to run macros in a Desktop Intelligence document, the VBA components must be installed on the computer that has Business Objects installed.
  • The macro contains the DeskiI SDK Activate () method. This causes the macro to fail when the report is scheduled in Info view.
  • If your macro is making a direct access to the database this is not recommended.
  • If your macro code is using ActiveDocument object.

Possible Solution:

  • First-of-all Check users can run and edit VBA code in DESKI
    In the CMC, ensure that 'Run VBA code' and 'Edit VBA code' are selected:
    - Log on to CMC as Administrator
    - Click on Business Objects Enterprise Applications
    - Click on Desktop Intelligence
    - For a user experiencing this problem, click on Advanced (Net Access)
    - Make sure that the options to 'Edit VBA code' and 'Run VBA code' is explicitly granted.
  • Clear the cache of DESKI Cache server.

NOTE: Ideally the Cache should be cleared when no schedules are running i.e. any running instances.
Clearing cache while instances are running may cause those instances to fail.
Clear the cache before or after the schedules are completed.

  • Stop the Desktop Intelligence Processing Server and Desktop Intelligence
    Cache Server.
  • Delete content of Desktop Intelligence Caching Server and Desktop Intelligence Processing Server folders under <Installation Drive>\Program Files\Business Objects\BusinessObjects Enterprise 12.0\Data.
  • Add below line of code to the macro which will catch the error thrown by the macro.
  • On Error GoTo errHandler
    ThisDocument.Reports(1).PrintOut "\\VAN-S-PRT01\VAN-P-OLYMPIA"
    errHandler:
    If Err Then
    Dim iFile As Integer
    iFile = FreeFile()
    Open "C:\test.log" For Append As #iFile
    Print #iFile, Now(), Err.Number, Err.Description
    Close #iFile
    End If
    Comment out the 'On error exit' method (if used) from the macro so that the above code will fetch and log the errors.
  • Add '-type OUTPROC' command to the DESKI job server:

Command line –type OUTPROC be added to the DeskiJobServer command line. The purpose of this command line is to change the way the DeskiJobServer spawns DeskiJobServerChild processes. This option creates a child for each request, and cleans up each child after completion.

  • The Activate method is not needed for scheduled reports. Commenting it out resolves the issue.

When the macro is run from Info View: ActiveDocuement object is not available and the Application.Interactive property is not available.
The Application.Interactive property is used in a macro to enable or disable a user from interacting with Desktop Intelligence via dialog windows.Setting this property to false means that DeskI will not show any dialog windows to the user.This property has no use when scheduling or viewing a DeskI document through Info View as there are no interactive features available when running macros in InfoView.

Its purpose is the following: Sets the current report as the default report. Activates the report in the document's front most windows.

  • Instead of using ActiveDocument your macro code should use the ThisDocument object When the report server or job server process a report there would never be the possibility for a different report to be active, so the ActiveDocument object does not exist
  • Ensure that the user has Microsoft Office installed (compatible with Business objects enterprise), as Desktop Intelligence requires the vbe6.dll file found in the registry under HKEY_LOCAL_MACHINE\Software\Microsoft\VBA (Vbe6DllPath with value C:\PROGRA~1\COMMON~1\MICROS~1\VBA\VBA6\VBE6.DLL) (if the registry key is not there, perform a custom installation of Microsoft Office and select the 'VBA' option.).
  • While saving document to share location you need to have permission for accessing shared location.

 

Utility which can be used for troubleshooting

Dependency Walker: http://www.dependencywalker.com/
Process Monitor: http://technet.microsoft.com/en-gb/sysinternals/bb896645.aspx

    http://help.sap.com/businessobject/product_guides/boexir31/en/deskisdk_com_apiref_12_en.zip

 Relevant KBA’s/Document/WIKI/Blogs:

 WIKI pages:

http://wiki.sdn.sap.com/wiki/display/BOBJ/Saving+to+shared+network+drives

http://wiki.sdn.sap.com/wiki/display/BOBJ/Getting+Started+with+Desktop+Intelligence+VBA+macros

 KBA’s:

  • 1289237 - How to retrieve a DeskI document stored on the enterprise using a VBA macro in XI 3.1 without knowing the folder path of the DeskI document?
  • 1364615 - How to enable macros in DeskI
  • 1422212 - Where can I find getting started information for Macros in Desktop Intelligence?
  • 1868596 - Cannot running Visual Basic macros into Desktop Intelligence reports on Linux system
  • 1365462 - How to export a report tab to disk using a desktop Intelligence VBA Macro in business Objects XI 3.1?
  • 1203022 - Cannot run VBA macros in Desktop Intelligence
  • 1785573 - Using VBA macro to open desktop intelligence report and the report is empty
  • 1448918 - General Information on Desktop Intelligence VBA macros.
  • 1293982 -VBA macro (embedded into a Desktop Intelligence document) with reference to ActiveDocument or ActiveReport does not work when executed on info View or the Scheduler.
  • 1448918 entitled "General Information on Desktop Intelligence VBA macros".
  • 1200513 - Differences between running VBA macros in Desktop Intelligence and info view.

 Forums:

http://scn.sap.com/thread/1229960

http://scn.sap.com/thread/1189845

http://scn.sap.com/thread/1104395

 

 

  • No labels