Page tree
Skip to end of metadata
Go to start of metadata

This page includes the information needed by SAP Support to analyze a Precalculation issue. Click Precalculation Server to find all available Precalculation Server topics in SAP Community Network Wiki. 

  • Going through this checklist solves 90% of the precalculation problems.
  • Once you have applied the recommendations answer ALL the questions mentioned at the bottom of the page

Software & Hardware Requirements

  • Review note 1995537 for Hardware & Software requirements, limitations and recommended combinations of operating systems and Microsoft Excel versions.
  • Supported SAP GUI: SAP GUI 770 / 800. Earlier versions are out of support. See note 147519.
  • Supported operating systems: 32 and 64 bit versions of Windows 10 / 11 / Server 2012 /  Server 2012 R2 / Server 2016 / Server 2019
  • Supported Excel versions: ONLY 32 bit versions of Microsoft Excel 2016 / 2019 / Office 365 
  • Maintain Excel settings mentioned in Excel settings for using BEx Analyzer 7x
  • BW 7.X Precalculation service  does does not support precalculation of 3x Workbook.

1 - Installation Check

SAP suggests to use the latest available patches of SAPGUI, Business Explorer and Precaculation Server on the Precalculation Server.
See review wiki page Current BI ADDON  for the latest patches.

  • Open the file SAPBExC-Rxx.xla contained in the attachment to this note 1229206.
  • Select 1st worksheet "PC Check" and press button "Start" to check the BW Front-End installation.
  • There should be no RED errors. Also check the 2nd sheet 'Result PreCalc'
  • Attach the result file (sapBEX_PC_XXXX_XXXXXX.xls) to the message.

Click here to understand the result file: BEx Front-End Installation Check

2 - Important ABAP correction Notes

Go through the wiki page Important ABAP corrections for Precalculation Services and make sure that all notes are implemented in your system.
List these notes which are NOT implemented. This is important for SAP to know which note is missing in your system.

3 - SAP BW Precalculation Service / Precalculation Server Instances

  • We recommend to register maximum 3 precalculation instances for one Precalculation Server for one BW system. Do not use more than 3 precalculation instances to avoid COM exceptions.
  • Do not register precalculation instances from different BW system to the same Precalculation Server. In other words do not configure Precalculation Server to be used by different BW systems.
  • Even if you want to use only one instance of the Precalculation Server, we recommend to use SAP BW Precalculation Service Multi Instance instead of SAP BW Precalculation Service.
  • Assign a specific user with full Administartive right to run the SAP BW Precalculation Service Multi Instance. Do not use 'Log on as' LocalSystem when using SAP BW Precalculation Service Multi Instance.
  • Make sure that for all Precalculation Server Instances the IP address of the host is stored in table RSR_PREC_LOGSYS. If you find the server name instead IP address you need to delete and recreate the instance(s). This action needs to be performed directly on Precalculation Server Machine. Links: Deletion of Precalculation Server Instance Creation of Precalculation Server Instance and starting the Service . Make sure that the below notes are implemented before deleting and re-creating the Precalculation server instances.
    1775361
    1670658

3b - The Service can not be started

4 - Parameters

These parameters MUST be set in your BW system.

  1. RSADMIN parameter BWPREC_USE_NEW_LOAD
    • RSADMIN parameter "BWPREC_USE_NEW_LOAD" with value "X" as mentioned in note 1275837 for using SAP BW Precalculation Service Multi Instance. You can check this via Tx SE16 in table RSADMIN. If it is missing use report SAP_RSADMIN_MAINTAIN via Tx SE38 to set the parameter in table RSADMIN.
       
  2. Instance profile parameter SAPLOCALHOSTFULL
    • Instance profile parameter "SAPLOCALHOSTFULL" with the full qualified host name of the server (= host name with appended domain name).
    • Make sure that this parameter set correctly for each ABAP application server:
    1. start Tx SM51
    2. double click the instance
    3. start Tx RZ11
    4. enter Param. Name "SAPLOCALHOSTFULL" and click "Display"
       
  3. parameter gw/acl_mode
    • Check with Tx RZ11 that parameter gw/acl_mode is set to 0.
    • Value 0 allows external program register according to note 1480644. If value 1 is maintained then SM59 connection test ends with error 'Error when opening an RFC connection'.
    • The parameter gw/acl_mode will ONLY be considered if two files reg_info and sec_info do not exist. If your gateway maintain these two files to control all RFC connections from external programs then ...BWPREC_USE_NEW_LOAD
      • E.g  "RegInfo" file entry,  P TP=BIPREC* HOST=* CANCEL=* ACCESS=*  
      • E.g. "SecInfo" file entry,  P TP=BIPREC* USER=* HOST=* USER-HOST=*
      • ... go through wikipage Gateway Access Control Lists a nd  create correctly the rule related to all Precalculation Servers.
      • Start Tx SMGW (GoTo -> Expert Functions -> External Security -> ...) to configure files 'reg_info' and 'sec_info' with TP=BIPREC*. Review note 1702229
    • If external registration fails due to wrong configuration you will see following errors while running console mode (see point 12) :
        • BExPrecalcWorker window shows error: "Registration of tp ... from host ... not allowed"
        • BExPrecConsoleDispatcher window shows error: "Error while creating IPC port, Access denied"
           
  4. RSADMIN parameters ANALYZER_LIMIT_DEF 
  5. NiICreateHandle: no more free handles (0): If the log (see step 13) is showing this error and you Precalculation does not remains online, check the SAP Note 2257750 - GW: no more free handles

5 - Folders

  • Following folder must exist on precalculation server machine as mentioned in 1453559. The Precalculation Service user must have full write authorization for this folder.
    • 64BIT Windows Server: C:\Windows\SysWOW64\config\systemprofile\Desktop
    • 32BIT Windows Server: C:\Windows\System32\config\systemprofile\Desktop
    • For Windows 8.1/Server 2012 and higher, the Windows Registry Key [HKEY_Current_User\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Cache]  must be set to "C:\Windows\Temp" (Without quotes)
  • As mentioned in note 1689833 copy the 'saplogon.ini' file into 'C:\Windows' and 'C:\Users<Your user>\Windows' directory.

6 - RRMX check

During precalculation of a workbook, the connection between BEx Analyzer and Backend (BW server) is established for refreshing the workbook. This connection is technically same as done during transaction RRMX. Thus it is MANDATORY that the RRMX works perfectly on Precalculation Server. To check this:

  • Logon to precalculation server machine with 'precalculation service - user.'
    (You can find the user here: Windows > Run > services.msc > SAP BW Precalculation Service Multi Instance > properties > TAB Log On > see user under "This account").
  • Logon to BW backend with broadcast setting - user.
  • Start Tx RRMX to launch the BEx Analyzer.
  • Check that BEx Analyzer has established a connection to backend. There should be no need to provide the username and password. There should be no pop-up asking for user name and password. If that does not work  read wiki page   Checking Tx RRMX  to solve this problem.

7 - Workbook refresh 

You should be able to refresh the workbook used in the broadcaster setting in the Precalculation Server with BEx Analyzer manually. You can check that with the following steps:

  • Logon to Precalculation Server (operating system) with Precalculation Service User.
  • Logon to backend (SAP BW server) with .
    (You can also find the user ID in table RSRD_SETT_NODE_A, field DI_AUTH_USER if the setting is not flagged as user-specific and it's not a bursting setting.)
  • Identify the workbook ID. How?
  • Add the workbook to favorites. How?
  • Start the workbook directly by double clicking from Easy Access Menu.
  • Now BEx Analyzer should start and the workbook should be loaded. There should be no need to provide the username and password. There should be no pop-up asking for user name and password.
  • If the Workbook does not have the setting 'Refresh Workbook on Open', then you may need to press 'Refresh' Button in 'Bex analyzer Toolbar'
  • If a variable screen comes up you should use the same variable selection as used in the Broadcaster setting definition.
  • No 'pop-up/info Dialog/error Dialog/Warning Dialog' from BExAnanlyzer OR Windows OR Microsoft Excel etc should be visible till this point. One of error-case that you get a Dialog is due to Custom VBA code (Macros). If any such Dialog are raised, investigate and make change/correction to avoid such Dialog.
  • Once refresh is complete, press save from Excel Menu (NOT from BExAnalyzer)
  • No 'pop-up/info Dialog/error Dialog/Warning Dialog' from BExAnanlyzer OR Windows OR Microsoft Excel etc should be visible till this point. One of error-case that you get a Dialog is due to Custom VBA code (Macros) or Excel setting. If any such Dialog are raised, investigate and make change/correction to avoid such Dialog.
  • If you are NOT able complete the step Refresh and Save without any pop-up, then you may need open a separate ticket in BW-BEX-ET-WB for further assistance.

8 - Supported methods of precalculation

  • Don't use:
    • ... report RS_PREC_PLAN,
    • ... report RS_PRECALC_TEST,
    • ... Button 'Test of the precalculation' in Tx RSPRECALCADMIN,
    • ... report RSRD_BROADCAST_STARTER in Process Chain or Background Job.


There are multiple ways to start the precalculation. Make sure that only ONE of the method mentioned below is running at a time in BW.

  1. Portal / Direct Execution : This execution is processed in dialog mode. LOG are not saved. Authorization of the user maintained in the Broadcaster setting is ignored. Authorization of user currently logged in portal is used. Thus, use Transaction  RSRD_START for testing purpose
  2. Transaction  RSRD_START : you can use this method to execute single broadcaster setting.
  3. Using report RSRD_BROADCAST_BATCH Process Chain. You can add multiple Broadcaster setting in the same report RSRD_BROADCAST_BATCH. Number of background process to be used by report RSRD_BROADCAST_BATCH is defined in RSBATCH. Make sure and confirm that ....
    ... the chain contains only ONE report RSRD_BROADCAST_BATCH in the process chain.
    ... the report RSRD_BROADCAST_BATCH is the last item in the process chain.
    ... the report RSRD_BROADCAST_STARTER  is not used. Using report RSRD_BROADCAST_BATCH is mandatory.
    ... only ONE Process Chain with report RSRD_BROADCAST_BATCH is running at a time in BW
  4. Using Trigger Event Data Change (for Broadcaster) in Process Chain. Number of background process to be used is defined in the variant of Trigger Event Data Change. Make sure and confirm that ....
    ... the chain contains only ONE Trigger Event Data Change in the process chain. You may add multiple InfoProvider in ONE Trigger Event Data Change.
    ... only ONE Process Chain with Trigger Event Data Change is running at a time in BW
  5. Using Report RSRD_BROADCAST_FOR_TIMEPOINT for Background Jobs.

9 - Reproducing by SAP

For analyzing the issue SAP-Support needs to reproduce the issue.

  • Issue can be reproduced with one broadcast setting: 
    • Provide the technical name of a broadcast setting for execution in Tx RSRD_START.

    • Execute the Setting in Tx RSRD_START. Don't set the 'Execute Online' flag.
    • Start Tx RSRD_LOG and provide the date/time and the LOG ID from the executed broadcast setting.
    • Provide the Precalculation Server log file BExPrecalcLog.txt which contains the relevant log Information, the day of execution is sufficient. (Further Details about log file can be found under Point 13.)
  • Issue can be reproduced only with multiple broadcast setting executions:
    • Create a variant for report RSRD_BROADCAST_BATCH in Tx SE38.
    • Provide the technical name of the variant.
    • Execute the report/variant and tell us the date/time of execution.
    • Start Tx RSRD_LOG and identify the LOG-IDs.

10 - Remote Access: R/3 and WTS Service Connections needed

Additional to R/3 connection SAP needs a WTS connection to Precalculation Server for analyzing any Precalculation issue. WTS connection to the Precalculation Server must be available and opened. This connection is mandatory for any Precalculation issue. Share-screen softwares are not an option.

  1. Open the R/3 service connection.
  2. Open the WTS service connection.
    1. Maintain the Precalculation Server as WTS server in the service connections for the system.
    2. If the WTS server is not the Pecalculation Server machine, tell SAP how the Precalculation Server machine can be reached from the WTS (e.g. Windows > Run > MSTSC ...).
    3. Details about this connection type you can find in notes 655502 and 605795.
  3. Provide both BW user and the Precalculation MultiInstanceService-user (with domain name) in the SAP Secure Area.

11 - Hanging Excel sessions

Do you see hanging Excel sessions in Task Manager (TAB Processes) on the precalculation server?
Set the flag "show processes from all users" in Windows Task Manager / TAB running processes. If you observe hanging Excel sessions stop the Precalculation Service, kill the Excel sessions manually and test precalculation in Console Mode (next point) again.
Read note 1371345 to avoid the Hanging excel session: It says "Add values to the table RSR_PREC_TIMEOUT specifying the timeout for a specific workbook id (WBID) in minutes. An empty id specifies the system wide timeout default value. A timeout value "0" mean no timeout is used. If a workbook specific timeout is defined it overwrites the system wide timeout ". Use transaction RSPRECALCADMIN (Tab TIMEOUTS) to update the entries of table RSR_PREC_TIMEOUT. 

Make sure that you do not use timeout value "0". SAP delivers this table with an empty id = "0". Change this to some value (in Minute) which you consider should be enough for all the other workbook not specified in this table to complete the refresh activity on the precalculation server. This default value should not be too high. eg. setting this value to 60 would mean that in case an error occurs the excel session will be blocked for 60 minutes. Time required by each workbook to refresh on the precalculation server can be seen in table RSR_PREC_QUEUE. By providing a NON zero value for an empty entry in RSR_PREC_TIMEOUT you guarantee that an excel process will be killed after reaching certain minutes of processing. Thus this action will free the excel process for the calculation of next workbook waiting in the Queue. 

Failed Broadcaster setting will be registered in table RSR_PREC_SETT. Use the report RSR_PREC_SETTINGS_RESTART as mentioned in note 1371901, 1429739 and 1396453 to restart the processing of the failed setting. Should you conclude that specific workbook needs more than the default time, add this workbook_id with desired value in the table RSR_PREC_TIMEOUT.

12 - Console Mode: VERY IMPORTANT STEP

Try precalculation in Console Mode to see which error is occurring.

  • Add the registry key:
    • for a 32 Bit Windows system: HKEY_LOCAL_MACHINE\SOFTWARE\SAP\BEx->SHOWEXCEL or
    • for a 64 Bit Windows system: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\SAP\BEx->SHOWEXCEL.

  • (If running) Stop both the SAP BW Precalculation Service and SAP BW Precalculation Service Multi-Instance via START->Settings->Control Panel->Administrative tools->services
  • In Windows Task Manager / tab 'PROCESSES', Set the flag "show processes from all users". If you observe any hanging Excel.exe sessions, kill the Excel.exe sessions manually.
  • Start the program C:\ProgramFiles\SAP\BusinessExplorer\BI_Prec\BExPrecConsoleDispatcher.exe
  • This will open:
    • One BExPrecConsoleDispatcher and
    • Multiple BExPrecalcWorker consoles. The number of BExPrecalcWorker console windows depends on the number of instance created.
  • Start the broadcast setting via 'Tx RSRD_START' or 'Process chain' or 'Background process' etc.
  • Different precalculation actions on this PC will be visible:
    • Correct behaviour: (These steps can be fast, thus not easy to observe )
    • Excel is started.
    • The workbook is opened/loaded.
    • The workbook is refreshed.
    • The Excel is closed.
    • Important: No 'pop-up/info Dialog/error Dialog' is visible, not even variable Dialog, no save dialog.
  • In above step if any errors are visible: You can see what goes wrong during the precalculation. If you are not able to find any solution then attach the Log as precalculation_log.txt from "BExPrecConsoleDispatcher.exe" and some screenshots of this process in the CSS-Message.

13 - Log-Files

If “SAP BW Precalculation Service Multi Instance” is used with specific user then unless modified, it should be C:\Users\<Precalculation_Service_Multi_Instance_user>\AppData\Local\Temp\BW\Analyzer\Traces. The file name is "BExPrecalcLog.txt". 

The directory of the trace files depends on the temp directory in MS Windows. The Windows server uses the environment variable TEMP which stores the name of the directory. Note that the TEMP variable has two settings: a global system variable setting and a user specific setting. If the precalculation server is running as “Local System account”, the global system variable is used. If the precalculation service runs under a specific user account, the user specific setting is used.

Follow these steps to provide the file which contains this information:

  • Stop the SAP BW Precalculation Service.
  • Delete/Backup the existing BExPrecalcLog.txt file.
    • The file is 'normally' located at C:\Users\<Precalculation Service - user>\AppData\Local\Temp\BW\Analyzer\Traces.
    • You can also search for the file with Windows Search function, it is the file in user folder of Precalculation Service - user.
  • Start the SAP BW Precalculation Service.
  • Execute the broadcast setting in Tx RSRD_START or Process chain or as usual. A new BExPrecalcLog.txt will be create for the recently executed setting.
  • Attach the BExPrecalcLog.txt to the SAP message.
  • Additionally provide the broadcasting log number from Tx RSRD_LOG

14 - Your analysis


Mandatory tasks / questions:
01. Is SAPGUI 770 installed on the Precalculation Server? 
    Is the Installation Check file (Note 1229206) attached? 
    Is there any red line?
02. BW version and SP level on the server = SAPKW_____ ?
    What are the status of these notes?

    2675742
    2489288
    2362727
    2255402
    2199142
    2184945
    2025948 
    1997396 
    1982442
    1901362
    1808811 
    1775361 
    1742277 
    1702229

Precalculation: Select application server in RSPRECALCADMIN
    If NO, why wasn't the implementation performed?
03. Is the SAP BW Precalculation Service Multi Instance Service running?
    Does each precalculation instance has the IP address for field GWHOST stored in table RSR_PREC_LOGSYS? 
04. Is parameters SAPLOCALHOSTFULL correctly maintained for each Application Server? 
    Application Server 1 = ... / SAPLOCALHOSTFULL = ...   
    Application Server 2 = ... / SAPLOCALHOSTFULL = ...
    Application Server 3 = ... / SAPLOCALHOSTFULL = ...
    ...
    Is parameter BWPREC_USE_NEW_LOAD set?
    What is the value of parameter gw/acl_mode (check in Tx RZ11)? gw/acl_mode = ___ ?
    Are files REGINFO and SECINFO attached?
    The value of safety belt parameters (table RSADMIN) are: 
    ANALYZER_LIMIT_MAX = ...
    ANALYZER_LIMIT_DEF = ...
05. Does the desktop folder and the Windows Registry Key exist?
    Is the 'saplogon.ini' file available in 'C:\Windows' directory?
06. Execute the transaction RRMX on your Precalculation Server. Did BEx Analyzer start correctly without any issue AND did it CONNECT?
07. On your Precalculation Server, are you able to open and refresh the workbook using BEx Analyzer?
    What is the Workbook_ID: ________ (how to find, see: https://wiki.scn.sap.com/wiki/x/tAI6Ew, don't provide the broadcast setting name here) 
08. Tell us the way of precalculation.
    Via Portal / Tx RSRD_START / Process Chain ?
09. Is the problem reproducible?
    Provide the technical name of the broadcast setting = ...
    In case of mass precalculation provide the RSRD_BROADCAST_BATCH variant = ...
    Is SAP Product Support allowed to execute the setting/variant?
10. Is the R/3 Service Connection to Back-End system open?
    Is the WTS Service Connection to Precalculation Server open?
    WTS server name: ________
    WTS server system installation number / system ID = ________ / ________
    Is the Precalculation MultiInstanceService user with password maintained in the SAP Secure Area?
    user name = ________   
    The user needs to logon ( )LOCALLY or to ( )DOMAIN = ________ ?
11. You couldn't recognized hanging Excel sessions in Task Manager on server?
    What value do you use for empty entry in Table RSR_PREC_TIMEOUT?
12. Does the precalculation work in Console Mode?
    If not, create a screenshot of the Desktop including Dispatcher and Worker windows. 
13. The Precalculation Server log file BExPrecalcLog.txt from folder 'C:\Users\...\AppData\Local\Temp\BW\Analyzer\Traces' is attached?
    Tell us the broadcasting log ID from broadcast setting execution:
    RSRD_LOG date/time = DD.MM.YYYY / HH:MM:SS 
    RSRD_LOG ID = ...



Link to this page: http://wiki.sdn.sap.com/wiki/x/uw8MDg
Bridge KBA:  2505434 - Checklist for Precalculation Server






10 Comments

  1. Former Member

    This is the best documentation I could find about installing & troubleshooting Precalc Server! Thank! you!

    Following problem: It only works if I run it in Debugging Mode; if I start the Multi-Service (with spceified username/password) it only runs until the step "Ticket login" (or similar) and stops processing. What could be the cause?

  2. perfect documentation!!! thanks!

  3. Is there any problem with using RSRD_BROADCAST_STARTER for background jobs (not talking about process chains)?

  4. Yes. even for background jobs we recommend using RSRD_BROADCAST_BATCH instead of RSRD_BROADCAST_STARTER.

    1. Thank you Deepak!  Would you care to elaborate as to why?

  5. every RSRD_BROADCAST_STARTER holds one Broadcaster setting. Most probably you want to pack multiple RSRD_BROADCAST_STARTER in the background program. Lets say you have 20 RSRD_BROADCAST_STARTER each with 1 broadcaster-setting packed in a background program. Now when you execute this background program, how will you control that only 2 or 3 or 4 setting should be processed in parallel. You have technically no control. Now it can easily come to a bottle-neck in memory/free dialog process/free background process. It may work one time and may dump other time without a concrete clue. RSRD_BROADCAST_BATCH instead first resolves all broadcaster setting to be processed and depending on the parallelism provided in RSBATCH delegate a controlled execution.

    My question: why don't you want to use RSRD_BROADCAST_BATCH ?

    1. Im not 100% certain I follow what you're proposing.  With program RSRD_BROADCAST_STARTER I can schedule a batch job in SM37 to run a single workbook precalc.  When I look at our current jobs in SM37 using this ABAP program, I find maybe 50 jobs/day scheduled this way.

      Are you suggesting that we instead use 1 job with RSRD_BROADCAST_BATCH and put 10 or 20 or more workbooks in it and let the batch processes manage how they get processed?

      EDIT:  I'm told these jobs are scheduled via the portal.  Should we consider consolidating them into a RSRD_BROADCAST_BATCH job?

       

  6. Hello,

    I went through (I believe) all your guidelines in this wiki before asking this here. In the log of our Precalculation Server I regularly see the following entries:

    BWP-00:28.09.2017 13:17:16.714 (0) -> The connection to the MultiInstance server xxx.xxx.xxx.xxx was broken
    BWP-00:28.09.2017 13:17:16.714 (0) -> Exception: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
    BWP-00:28.09.2017 13:17:16.714 (0) -> Sleep Time. - 0
    BWP-00:28.09.2017 13:17:16.714 (0) -> Trying to reconnect. - 1

    As far as I can see, the PrecalcSRV works. Sometimes I get the reply from the customer about the Precalc not being available for a short while.

    Any ideas on that?

    Regards+Thanks

    Daniel

     

    1. Former Member

      Hi Daniel,

       

      did you check when the Service was broken (days and time)?
      I installed serveral times this service and sometimes it was just the VM Server that needed to restart is self. In my case it was just regular OS updates.

       

      Andreas

  7. Hello Andreas,

    I patched the Win2012R2 server to the latest level - still occuring. Restart was also done. One thing I did not mention: The IP shown in the log (xxx.xxx.xxx.xxx) is from the BW-APAP System.

    What do you mean by "when the service was broken"?

    Best
    Daniel