RFX (RPOWER File Exchange) is used to transfer QuickBooks, RPOWER Report Database, daily Zip, and other files over the Internet from "stores" (clients) to a "corporate" (server) office. While one corporate office could host QuickBooks and another Reports, two offices could not host QuickBooks, for example. Also, while it may be possible for the corporate office to be physically present in one of the stores, the server does not use the store's F:\RPOWER directory.
Setting Up RFX.ini at the Store
The store needs both an RFX.ini and a DATACNX.ini in RPOWER's WINRUN\INI folder.
We need DATACNX.ini to identify the background RPOWER computer (usually the file server) used to process the ClientIn responses from QuickBooks and the Reports Database systems.
Standard "Active" Store RFX.ini
[Setup] Server=FILESVR ; background RPOWER ServerKey=12345678 API=DATACNX,HOST=rpower.dyndns.org:32150,CG=XXXX ; XXXX is SQL reports CG API=ZIPBACK,HOST=rpower.dyndns.org:32150 API=QBCNX,HOST=192.168.1.134:32113,CG=YYYY ; YYYY is Quickbooks CG
Also, for ZIPBACK, see EMAIL.INI.
Sample Store DATACNX.ini
The store needs DATACNX.ini in RPOWER\WINRUN\INI to handle replies from the server. In this case, we say it's FILESVR.
[Setup] Server=FILESVR ExportTICKET_SALES=1 ExportTICKET_ITEM=1 ExportAllTC=0 ;; Uncomment line below to send data real-time ; IntradayMinutes=5
Additional Store RFX.ini Settings
You can add ,ARCHIVE=x to the end of an API line to specify how many (x) days to keep files in both ClientOut and ClientIn ARCHIVE subfolders. The default is three days.
At the store, RFX will connect to the server within three seconds if there are any files to send. Otherwise, it only connects every 13 minutes or so to see if there are any files for it to receive from the server. You can add MaxMinutes=n on a separate line to specify the maximum number (n) of minutes to wait before "slow polling."
"Passive" Store with Port Forwarding
This file will allow active servers (in this case the QBCNX server) to connect to the store instead of the other way around, while at the same time connecting outbound for DATACNX and ZIPBACK.
[Setup] Server=FILESVR:32150 ; port 32150 must be forwarded to this computer ServerTarget=1 ; without this, RPOWER just ignores whatever port you specify ServerKey=12345678 ; this is a "passive" connection FROM the server API=QBCNX,CG=YYYY ; these are "active" outbound connections TO the server API=DATACNX,HOST=rpower.dyndns.org:32150,CG=XXXX API=ZIPBACK,HOST=rpower.dyndns.org:32150
How RFX Works
RFX trasfers data from a ClientOut directory on the client computer to a ServerIn directory on the server, and sends data back to the client from a ServerOut directory on the server to a ClientIn directory on the client. Each application., or API, has its own set of ClientIn and ClientOut folders on the client, and ServerIn and ServerOut folders on the server. QBCNX is the API name for the QuickBooks file transfer and DATACNX is the API name for the SQL reporting database. RFX also allows you to make your own API names to transfer files for other purposes.
RFX Directory Structures
On each side of the transfer, there is a single folder called the RFX Root Folder.
At the corporate office, this folder is
where C: represents the main data drive for the server in question. RFX.exe will reside in this directory.
In a store, the RFX root folder is F:\RPOWER\EXPORTS. There is no RFX.exe at the store — RPOWER has RFX built in to it. An online server (background RPOWER) is set up to take care of the RFX file transfer duties and handle responses from the QuickBooks and Reports Database host systems (per DATACNX.ini).
Underneath the RFX Root folder is a folder for each API name. Underneath the API folder are ClientIn and ClientOut on the client and ServerIn and ServerOut on the server.
Stores send data from their ClientOut folders to the central computer ServerIn folders, and get responses back into their ClientIn folders from the server ServerOut folders.
For example, a corporate office might look like:
C:\ | +--RPOWER.Central | +--RFX | | | +--INI | | | +--DATACNX | | | | | +--ServerIn | | +--ServerOut | | | +--QBCNX | | | +--ServerIn | +--ServerOut | +--RPOWER.Gift | | | +--Inetpub | +--RPOWER.Reports | +--Inetpub
As mentioned, C:\RPOWER.Central\RFX is the RFX root. An RPOWER running at a store would typically look like:
F:\ | +--RPOWER | +--EXPORTS | | | +--DATACNX | | | | | +--ClientIn | | +--ClientOut | | | +--QBCNX | | | +--ClientIn | +--ClientOut | +--DATA | +--WINRUN
Here F:\RPOWER\EXPORTS is the RFX root.
Corporate Server Setup
The Corporate Server is a computer hosting a RPOWER QuickBooks importer and/or a RPOWER Reports Database importer.
For this example, a restaurant group named La Famiglia Restaurant Corp. owns and operates Donato's Italian Sports Bar and Sushi, Ma Ferino's, and Fat D's Pasta Kitchen.
Sample Corporate Standalone RFX.ini
Create a file named RFXServer.ini in C:\RPOWER.Gift\RFX\INI, or C:\RPOWER.Central\RFX\INI as appropriate. If using the SampleCorporateRFX.ini that is installed by the importer, be sure to rename it to RFXServer.ini. Also be sure that Windows in not hiding file extensions. You will want to change the Location line and adjust the API lines for the API's this RFX is handling.
[Setup] Server=126.96.36.199:32113 ; standalone RFX -- 32113 is the "standalone" RFX port ServerKey=12345678 Location=HQServer,Name=K3 Scottsdale API=DATACNX,CG=1,Archive=14,ArchiveOut=3 API=QBCNX,Archive=2
In the example above, the Server setting of 188.8.131.52 is a "dummy" setting which indicates this is a standalone RFX installation, meaning there is no RPOWER associated with it. On the store side, this will be the name of the fileserver.
On the Location line, the Location setting is assigned a unique identifier for this installation. The Name setting is just an alternate name for this installation. When communicating with version 10 stores, the Location setting was important because the stores would use that name to do an IP lookup. When communicating with version 11 stores, it is no longer important what these are set to because the IP address of the server is placed directly in the RFX.ini file at the store.
Below the Location line go the API lines. They care composed of an API name, and a couple optional attributes:
- CG=the consolidation group allowed to be transferred by this RFX
- Archive=the number of days to keep files in the ServerIn\Archive directory
- ArchiveOut=the number of days to keep files in the ServerOut\Archive directory
"Active" Server RFX.ini
An RFX can "troll" its clients (stores) if ports are forwarded into them.
; Note that API=, ID= can be removed TROLL=API=QBCNX,ID=1234,Host=SITE.1234:32150,Interval=1
Connecting for the First Time
Once the standalone RFX has been set up on the corporate server, start it up by double-clicking the RFX.exe file in the C:\RPOWER.Central\RFX directory. A DOS console window should appear showing you that RFX is ready to accept connections.
Use radmin to dial into the store and set up the store's RFX.ini and setup both its RFX.ini and DATACNX.ini files. You also need to alter the RPOWER.ini file so that the RPOWER on the computer handling RFX (the RFX workstation)is an online server (by setting OnlineServer=1). Upon restart, this will start up a background RPOWER service which will handle the RFX connections.
Once that is done, restart RPOWER on the RFX workstation. In the corporate server/standalone RFX DOS console window, you should see the name and serial number of the store you are connecting. If you check the store's RFX.ini file, you should see that the corporate server registered itself.