Reports in r_keeper 7 manager station can only be viewed after the references server is licensed, and its connection to the external database under MS SQL Server 2012 control is configured. Therefore, a references server can function as a server for report generation or a reports server.
As the number of restaurants increases in the base up to dozens, the references server load increases as well. Therefore, r_keeper 7 allows creating intermediate (transit, subordinate) servers implemented via the reports server - rkReportServer.exe.
Usage of reports servers is basically common for restaurant chains. For one to three restaurants, work without a reports server is possible. In this case, a references server processes report data. The reports server's set of functions and properties is identical to that of the references server, except for just one - lack of possibility to edit references when the manager station is connected to it. |
The reports server executable file is rkReportServer.exe, the default config file name is repserv.ini.
To install software from the distribution package (find the archive in ftp://ftp.ucs.ru/rk7/versions/7_05_03/STANDALONES/ folder), copy the REPSERV.INI file from \bin\win\ini\ folder to \bin\win\ working folder where rkReportServer.exe is located.
To install software via the installer, find a server with the config file in [installation path\instance name\Rk7Reports].
Names of the server and config file may be arbitrary, but remember that, by default, if no INI file name is specified for the server, it will search for the REPSERV.ini file. The information on the use of other configuration files is available below, in the Launch section. |
In this case, there may be a Central Reports Server collecting data from all restaurants (or from local reports servers), and a Local Reports Server receiving data directly from a specific cash server (if the customer has several restaurants with cash servers).
The values for some parameters, given in this article, are default and are not mandatory to specify.
The connection between the servers is shown below:
Licensing is necessary if the reports server is supposed to be used for data collection and cube reports generation. The license is bound to the full object code (9 digits) and the key code. Prior to licensing, the reports server needs to be created in the manager station, in the Options - OLAP reports - Reporting servers. |
Reports server licensing procedure is identical to references server licensing procedure described in the article on the References server.
Briefly, the procedure is as follows:
Executing the paragraph below is necessary if the server has already been licensed, that is, the existing license needs to be modified (prolongation, an increasing number of stations, hardware change, etc.) |
Launch the reports server as follows:
Specify the following parameters in repserv.ini, in the [Config] section:
Client = "REPSRV3001" ; reports server network IDRefServer = "RK7SRV3001" ; upper level server network ID (it can be both references server and reports server)RefsBasePath = ".\BaseData\refsdata.udb" ; relative or absolute (recommended) path to reference DBCheckBasePath = ".\BaseData\check_db.udb" ; relative or absolute (recommended) path to receipt (cumulative) DBWorkModsFile = ".\BaseData\wmodules.udb" ; relative or absolute (recommended) path to working modules DBReceivedPath = ".\Received\" ; relative or absolute (recommended) path to directory with received closed shiftsErrorLog = "repsserv.stk" ; relative or absolute (recommended) path to log fileUseSql = 0 ; do not connect to external DB under SQL Server 2012 control |
The first launch should always be performed as an application (with the /desktop parameter). Also, make sure to perform the launch as administrator.
The default server config file is repserv.ini. If the reports server needs to be launched with another INI file, use the following command: rkReportServer.exe /ininame: newname.ini /desktop. |
As well as references server, reports server can be launched as a service. For this purpose, use the /install parameter.
Upon server lunch as a service (rkReportsServer.exe/desktop) the following icon will appear in the tray:
Before launching the reports server, uncheck the Read only box in its parent folder attributes (otherwise, the reports server will not be able to create its database). Also, make sure the full path to the folder with the RKREPORTSSERVER.EXE file contains no spaces, and the total number of path symbols does not exceed 200.
Copy the repserv.ini file from the RK7/BIN/WIN/ini folder if you have not done this before, and place it beside the RKREPORTSSERVER.EXE file, i. e., into the RK7/BIN/WIN/ folder.
[CONFIG] Client = "REPSRV3001" ;; the report server network name, same as the corresponding report server in the manager station. See "Manager station settings" below RefServer = "RK7SRV_3001" ;; the references server network name (or the upper report server) RefsBasePath = ".\BaseData\refsdata.udb" ;; a full path to the reference base, do not confuse with rk7.udb CheckBasePath = ".\BaseData\check_db.udb" ;; a full path to the receipt base, do not confuse with check.udb WorkModsFile = ".\BaseData\wmodules.udb" ;; a full path to the working modules base ReceivedPath = ".\Received\" ;; a path to the data receiving folder ErrorLog = "repsserv.stk" ;; a log file name (add a path if necessary). By default, a log file is saved in the same folder where RKREPORTSSERVER.exe is placed ErrorLogSize = 1048576 ;; error log size in bytes OldRefsSyncMode = 0 ;; 1 - enable old synchronization mode, necessary if PollEvents=1 PollEvents = 0 ;; enable periodic references server polling mode (in the references server .ini file, fill in the EventCachePath= parameter), and set OldRefsSyncMode=1 RecalcAllCubesAt = 2015 ;; Time is specified without semicolon in "HHMM" format. Recalculate all cubes that would be recalculated by the "recalculate all cubes" item at the manager station at 20:15. For versions 7.4.20.60 or higher. CubesRecalc = 0 ;; disable cubes recalculation, 1- enable cubes recalculation, 2 - only manual cubes recalculation (For versions7.6.1.2 or higher!) NoReports = 0 ;; disabling menu with manager station reports (For versions 7.6.1.2 or higher!) ServPingTimeout = 5000 ;; 7.4.17.78 or higher UseSql = 1 ;; 0 - if there is no connection to SQL, 1 - if connection to SQL is used LoadThreadsCount = 4 ;; load closed shifts data to cumulative DB simultaneously, "4" - number of files processed simultaneously (recommended in case of big number of shift files arriving in parallel). For versions 7.5.2.328 or higher!! cubesBuildTool = "bldcubex.exe" ;; Enable bldcubex.exe utility for cubes generation at PC with 2+ GB memory (For versions7.6.2 or higher!) [NETKERN] Protocols = tcpsoc.dll ;; protocols list (comma separated), you must make sure these DLL files are placed in the folder with the RKREPORTSSERVER.exe file [TCPSOC] PORT=3639 ;; port for server [TCPDNS] RK7SRV_3001=subway.rkeeper.com:3648 REP_CENTR4=subway.rkeeper.com:3644 RK7SRV=subway.rkeeper.com:3639 [UPDATE] NoUpdate=0 scheduler. only for 7.5.2.502+ [SYNCCONF] Enable scheduled synchronization RefsSyncMode=1 synchronization time in CRON format 50 10 * * * is equivalent to "always at 10:50", 45 13 * * * is equivalent to "always at 13:45". Format is as follows: * * * * * | | | | | | | | | +----- Days of week (range: 1-7) | | | +------- Months (range: 1-12) | | +--------- Days of month (range: 1-31) | +----------- Hours (range: 0-23) +------------- Minutes (range: 0-59) SyncSchedule=50 10 * * * ;; synchronize references at report server loading SyncOnReload=0 |
Right-click the icon to open the reports server in a browser. Default HTTP port can be set in the manager station by specifying a new port in reports server properties (HTTP Server group -> HTTP Data Port group).
After the reports server launch, check its connection to the upper server.
The reports server update is identical to the references server update.
The report server must be restarted after its update, |
Use the following ways to connect the manager station to the reports server:
The manager station will make necessary modifications in rk7man.ini, and you will have to select the server by pressing Ctrl+Alt+S at the next launch.
Cubes are placed in the Options — OLAP reports — Cubes and Reports reference.
The status of a cube and its data can be checked in the cube properties, Data Processing section. Each cube has a list of reports servers and cube recalculation info (periodicity, calculation time, last error, etc.).
You can recalculate a required cube manually (right-click -> Actions -> Recalculate).
Starting from version 7.06.04.041: if a server has over 2 GB of RAM, you can use a new utility for cubes generation – bldcubex.exe. To do this, add the following settings to repserv.ini:
[CONFIG] cubesBuildTool = "bldcubex.exe" |
and restart the reports server. Then, you will have a new rk7manex.exe manager station file. Use it for cube report generation.
It is desirable to create a new user (role) with "cubes and reports only" rights and hide all other elements in the manager station for this user (role). Then, create an icon for such a manager station with a name like Reports.
Starting from version 7.4.20.60 or higher, all cubes, that would be recalculated by the "recalculate all cubes" menu item at the manager station, can be recalculated automatically at the specified time by inserting the following command in the INI file:
RecalcAllCubesAt = "2015" (Time is specified without semicolon "HHMM")
The value is easy to check via the web interface.
Big restaurants chains (like SUBWAY, BURGER KING) use quite extensive nets consisting of multilevel connection trees of reports servers with a central reports server (numbering in hundreds sometimes). Since the data (meals, prices, composition) is the same within one chain, it is enough to make modifications in the manager station working with the upper-level server (references server), and the data synchronizes automatically with lower-level servers (intermediate), and then with local servers (in a restaurant).
When the manager station is connected to the reports server (other than central), some rights to edit references and object properties will be restricted! |
Connection of reports server to an external DB is required if reports generation and viewing is needed when the manager station is connected to this reports server.
Find the connection diagram below:
In this case, the servers that will be used to view reports and process data, are subject to licensing. The quantity of stations means the number of different users that can generate reports at the same time.
If there are no active licenses in the base (a case with one references server without a license and several licensed reports servers), the number of manager station connections to the server is limited to 1. This situation may occur when all the licenses of the servers chain expire. |
After the common shift being closed at the cash server 1 (midserver1) of restaurant #1, the shift data is processed at the reports server 1 and the reports server of the head office.
The same is valid for the second restaurant. The closed common shift is processed by a local reports server 2, and further in the head office.
Create 2 restaurants and a cash server for each of them.
Create 3 settings as described in the article on connection to MS SQL, and configure the connection to corresponding reports servers (shall be created additionally).
This shall result in 3 configurations:
Reports Server Properties
Do not forget to acquire 3 licenses for 3 reports servers. |
For reports server 1:
[CONFIG] Client = "repsrv_1" RefServer = "RK7SRV_3001" RefsBasePath = ".\BaseData1\refsdata.udb" CheckBasePath = ".\BaseData1\check_db.udb" ReceivedPath = ".\Received1\" ErrorLog = "repsserv1.stk" [NETKERN] Protocols = tcpsoc.dll |
For reports server 2:
[CONFIG] Client = "repsrv_2" RefServer = "RK7SRV_3001" RefsBasePath = ".\BaseData2\refsdata.udb" CheckBasePath = ".\BaseData2\check_db.udb" ReceivedPath = ".\Received2\" ErrorLog = "repsserv2.stk" [NETKERN] Protocols = tcpsoc.dll |
The manager station connected to the references server (refserver):
[REFEDIT] Server=RK7SRV_3001 Client=rk7man_ref |
The manager station connected to reports server 1:
[REFEDIT] Server=repsrv_1 //network name of reports server 1 Client=rk7man_rep1 |
Manager station connected to reports server 2:
[REFEDIT] Server=repsrv_2 //network name of reports server 2 Client=rk7man_rep2 |
Add 2 employee groups:
Configure their right in properties:
Set the following in employee properties:
The default certificate (for rk7.local) is placed in the BaseData\httpKeys\ folder, the default.pem file.
To use your own certificate, change its name to mylocal.pem, and place it into the same directory, then restart the reports server.
Certificate properties:
Please, note: an attempt to use a wildcard certificate for FQDN machine with custom port and *.DomainName.local:8080 template failed. *.DomainName.local template worked. |
Reason: the External Data Base Link block is filled, the Reference Logs block is filled automatically.
Solution: SQL username and password shall be the same in the External Data Base Link and Reference Logs blocks.