QPR ProcessAnalyzer ScriptLauncher

From QPR ProcessAnalyzer Wiki
Jump to navigation Jump to search

QPR ProcessAnalyzer ScriptLauncher is a tool to run QPR ProcessAnalyzer scripts stored in the QPR ProcessAnalyzer Server, while enabling connections to data sources from the local network where ScriptLauncher is running, e.g. on-premise. In practice, the data extraction commands can use the ExecuteInClientSide parameter to run the extraction commands in the QPR ScriptLauncher.

Installing ScriptLauncher

Follow these instructions to install QPR ProcessAnalyzer ScriptLauncher:

  1. Install .Net Framework 4.7.1 or later (https://dotnet.microsoft.com/download/dotnet-framework).
  2. Download QPR ProcessAnalyzer ScriptLauncher from the downloads page, and extract the package into a suitable location where to place the ScriptLaucher application files.
  3. If you need to extract data from SAP using the RFC interface, you need to install the SAP NetWeaver RFC Library.
  4. Configure ScriptLauncher according to the instructions in the next chapter.
  5. Installation is now completed. Run scripts using ScriptLauncher by following instructions in the chapter below.

Installing SAP NetWeaver RFC Library

Extracting data from SAP using the SAP RFC interface requires SAP NetWeaver RFC Library 7.50 which can be installed with the following steps:

  1. Microsoft Visual C++ Redistributable Package 2013 is required and can be downloaded from https://support.microsoft.com/en-us/topic/update-for-visual-c-2013-redistributable-package-d8ccd6a5-4e26-c290-517b-8da6cfdf4f10. Restart the computer after the Microsoft Visual C++ Redistributable Package installation.
  2. Download and extract SAP NetWeaver RFC Library 7.50 package by following the instructions in https://launchpad.support.sap.com/#/notes/2573790 (SAP login credentials and permissions needed).
  3. In the extracted files, go to folder nwrfcsdk\lib, and copy all .dll files (icudt50.dll, icuin50, icuuc50.dll, libicudecnumber.dll, libsapucum.dll, sapnwrfc.dll) to the folder containing the ScriptLauncher application files (e.g. Qpr.ProcessAnalyzer.ScriptLauncher.exe).
  4. Make sure that the dll files are not in the blocked state as follows: Open the each dll files Properties and in the General tab in the Security section, check the Unblocked checkbox (if that checkbox exists). (Downloaded files may be blocked by default by Windows, preventing their code from executing.)

Installing SAP Connector for Microsoft .NET 3.0

These installation steps are for QPR ProcessAnalyzer 2022.1 and earlier releases, and these have been replaced by installation steps in the above chapter "Installing SAP NetWeaver RFC Library".

Extracting data from SAP using the SAP RFC interface requires to install SAP Connector for Microsoft .NET 3.0 using the following steps:

  1. SAP connector requires Microsoft Visual C++ Redistributable Package 2013 (download: https://support.microsoft.com/en-us/topic/update-for-visual-c-2013-redistributable-package-d8ccd6a5-4e26-c290-517b-8da6cfdf4f10). Restart the computer after the Microsoft Visual C++ Redistributable Package installation.
  2. Download SAP Connector for Microsoft .NET 3.0 for Windows 64bit (x64) from SAP Support Portal (https://support.sap.com/en/product/connectors/msnet.html) (SAP login credentials and permissions needed).
  3. Run the SAP Connector for Microsoft .NET 3.0 for Windows 64bit (x64) installer.
  4. Copy the sapnco.dll and sapnco_utils.dll files from C:\Program Files (x86)\SAP\SAP_DotNetConnector3_x64 (this folder has been created by the SAP Connector for Microsoft .NET 3.0 installation) to the folder containing the ScriptLauncher application files.

Note: If you get error Could not load file or assembly 'sapnco_utils.dll' or one of its dependencies or File Not Found Error. The specified module could not be found, the reason might be that the MSVCR100.dll file is missing and solution is install Microsoft Visual C++ 2010 Service Pack 1 Redistributable Package MFC Security Update' (download https://www.microsoft.com/en-us/download/details.aspx?id=26999). If the problem still persists, verify that the MSVCR100.dll is included in windows PATH.

Configuring ScriptLauncher

Before you can start running scripts with QPR ProcessAnalyzer ScriptLauncher, you need to configure connection and other parameters for the tool. You need to have write access to the ScriptLauncher folder, which contains the ScriptLauncher's configuration file Qpr.ProcessAnalyzer.ScriptLauncher.exe.config.

  1. Open the Qpr.ProcessAnalyzer.ScriptLauncher.exe.config file in a text editor.
  2. In the file, go to the section starting with <Qpr.ProcessAnalyzer.ScriptLauncher.Properties.Settings> and configure the values for the following parameters:
    • LogOnName: QPR ProcessAnalyzer username. This setting is mandatory.
    • Password: QPR ProcessAnalyzer password. This setting is mandatory.
    • ServiceUrl: QPR ProcessAnalyzer server url address, including the server name and the application path, e.g. https://processanalyzer.onqpr.com/qprpa. This setting is mandatory.
    • ScriptId: Id of the script to run. You can copy the id from the Scripts tab in the Workspace. This setting is mandatory.
    • OutputDirectory: folder where to store the created CSV export files. If the folder doesn't exist, it will be created. This setting is mandatory.
    • ProjectId: Project id. This setting is optional.
    • ModelId: Model id. This setting is optional.
    • Parameters: passes defined custom parameters to the script. The script should have corresponding @_Parameter_<ParameterName> variables to use the script. Add the following new setting sections to the configuration file to pass custom parameters (parameter1 and parameter2):
<setting name="Parameters" serializeAs="Xml">
  <value>
    <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <string>parameter1=value1</string>
      <string>parameter2=value2</string>
    </ArrayOfString>
  </value>
</setting>

It's possible to add more than one string. The type of the parameter value is always NVARCHAR.

In case you want to change location of the log file that will be created, you can do that by changing the value of the parameter LogFilePath in the following section of the configuration file:

<applicationSettings>
  <Qpr.ProcessAnalyzer.Common.Properties.Settings>
    <setting name="LogFilePath" serializeAs="String">
      <value>.\Qpr.ProcessAnalyzer.ScriptLauncher.log</value>
    </setting>
  </Qpr.ProcessAnalyzer.Common.Properties.Settings>
</applicationSettings>

Note that the log folder needs to exist before running QPR ProcessAnalyzer ScriptLauncher and you must have rights to write to that folder. By default, the log file will be stored in the same folder as the configuration file.

Running ScriptLauncher

After ScriptLauncher has been configured, Qpr.ProcessAnalyzer.ScriptLauncher.exe executable file can be run which is located in the ScriptLauncher folder. In addition to the configuration file, all parameters can also be specified in the command line when running the ScriptLauncher. The command line parameters will override the settings in the configuration file. The parameter names are case sensitive. To specify a parameter in the command line, use the following format (note that all custom parameters must start with "Parameter_":

-Parameter_<ParameterName>=<SettingValue>

For example:

Qpr.ProcessAnalyzer.ScriptLauncher.exe -ScriptId=123 -ModelId=12345 -Parameter_MyParameter1=myValue1 -Parameter_MyParameter2="my value 2"

Parameters that contain special characters, such as whitespaces, must be escaped by using double quotes. For example:

-LogFilePath="C:\Temp\Path to My Log Files\ScriptLauncherDir\"

Connecting through proxy

QPR ProcessAnalyzer ScriptLauncher can also be used through a manually configured proxy server. Proxy settings are configured to the Qpr.ProcessAnalyzer.ScriptLauncher.exe.config file stored into the QPR ProcessAnalyzer ScriptLauncher installation folder.

For example, in order to setup a proxy that uses current Windows credentials for the proxy connection, add the following section inside the <configuration>:

<system.net>
  <defaultProxy useDefaultCredentials="true" />
</system.net>

To configure an explicitly specified proxy server, use the following configuration:

<system.net>  
  <defaultProxy>  
    <proxy proxyaddress="serverip:portnumber" />   
  </defaultProxy>  
</system.net> 

More information: https://docs.microsoft.com/en-us/dotnet/framework/network-programming/proxy-configuration

Exporting Script Results to CSV

When a QPR ProcessAnalyzer script contains the GetAnalysis command with the Show=TRUE parameter or the ShowReport command, the results are exported into a CSV file. Only tabular analysis types are supported by the CSV export. The exported CSV files have the following formatting:

  • Column separator: semicolon
;
  • Decimal separator in numeric fields: period
.
  • Quotation character for text fields: double quotes (used when the textual value contains semicolon, double quotes, linebreak or tabulator)
"
  • Escape character: Double quotes in textual fields are escaped with two double quotes.
""
  • Date format for date fields: yyyy-MM-dd HH:mm:ss,fff
  • First line: contains column headers