RFgen.ini

The RFgen.ini initialization file provides configuration parameters for making changes to the default behavior of RFGen such as resetting data connections based on usage or indexing of databases. It can also be used to set transaction limits, and monitor JDE logs.

In all cases, the headings and settings are case sensitive, and the ini file must be created and modified using Notepad. The RFgen.ini file is stored in the RFgen directory to work. For example:
C:\ProgramData\rfgen52

The RFgen.ini parameters are: AutoAuthBATCH (overrides Device Authorization), Camera (Choose Camera), Check (JDE connectivity and JDE log.), ForceReset(Batch client connection), Indexviews, IsMobile, RFgen.ini(Checks for connection from a third-party load balancing server/applicance), LBS (RFgen load balancing server wait times), LBSLog (RFgen load balancing server logging) and LBSRedirect (Shares RFgen client licenses), MobileQueue (emulate queing transactions), PurgeAfterNBRDays from Reports, RefreshRate, ResetUDC (Reset of Transactions), Schema (AS400 index connections), TranLimit (controls resets), and TMTimeout.

AutoAuthBATCH

The AutoAuthBATCH parameter in a RFgen.ini file enables a batch client to connect to the server regardless of the settings in the Mobile Development Studio > Devices > Authorized Devices screen or the Mobile Unity Platform Console > Devices screen.

Syntax:   [Environment]
AutoAuthBATCH=T

where True allows any batch client to connect; False will only connect if the batch client is authorized.

Camera

The Camera parameter in a RFgen.ini file will specify which camera RFgen should used if the Windows CE devices has multiple cameras.

Syntax:   [Environment]
Camera=n

where n is from 0 to the number of available cameras minus 1.

Check

The Check parameter in a RFgen.ini file will check for JDE connectivity before a business function is executed.

Syntax:  

[JDE]
CheckX0010=0
where the option 0 turns the check off, and 1 is on.

Parameters for the X0010 call:

SystemCode=41
NextNumberingIndexNo=2
CompanyKey=00001
DocumentType=IA

CheckLog

The CheckLog parameter in a RFgen.ini file will monitor the JDE.log for designated strings within the JDE.log file's last 500 characters. It monitors for various test strings, and is used to reset child processes.

Syntax:  

CheckLog=1

where the option 0 turns the log check off and 1 is on.

LogText1=RESETNOW
LogText2=JDB9900400

where Text1, Text2 ... will look for in JDE.log

If the LogText# is found, then it will stop and restart all RFgen child processes.

If one of the LogText parameters is found the server will:

  1. Delete the log file.  JDE creates a new file every time it starts.

  2. Suspend all active client connections temporarily

  3. Close all transaction manager client(s).

  4. Close all data connections.

  5. Start all data connections.

  6. Start the transaction manager client(s).

  7. Resume the active client connections.


ForceReset

The ForceReset parameter in a RFgen.ini file will reset the data connectors after the specified period of time has elapsed.

Syntax:  

[Options]
ForceReset = nn

where nn is a positive number in minutes. The option 0 disables the reset function.

Indexviews

When RFgen indexes tables for a database connector, by default, it only includes tables. If a solution also requires table views use indexviews in the RFgen.ini file to set the index view.

Syntax:  

[Environment]
indexviews = 1

where 1 enables this feature.

IsMobile

The IsMobile parameter in the RFgen.ini fie sets a queue on the server to pretend to be a mobile device queue so that if the program executes "Server.SyncApps" and points to another RFgen server, that queue will be moved to that other server instead of being processed on its current server.

Syntax:  

[Environment]
IsMobile = name of the server

Example:

[Environment]
IsMobile = CostPoint

where "CostPoint" is the name of the other RFgen server

LBHealthChecker

These parameters enable the RFgen server to listen for a connection from a third-party load balancing appliance/system when you assign a LBHealthPort to the RFgen server and/or RFgen Mobile Development Studio in the "[Environment]" section of the RFgen.ini file.

The Load Balance Health Checker can also be configured to accept data and send data back to the third-party load balancing system. If the LBHealthText parameter is specified, then the RFgen server will send the text back to the requesting device before it closes the TCP connection and resumes listening for a connection.

A restart of server services may be needed to activate these changes.

For information on the RFgen Load Balancing Server ini settings, see LBS, LBSLog, or LBSRedirect.

Syntax:  

[Environment]

LBHealthPort=21090

where ##### is the port that will listen for a connection from the third-party Load Balancer.

LBHealthText=Send this text back

where "Send this text back" is the text that is sent to the third-party Load Balancer.

LBHealth=1

where "1" enables the listening of the port; "0" disables it.

LBS

The LBS value (Load Balancing Server) in the RFgen.ini file controls how long an RFgen load balanced server will wait for replies from other RFgen servers. When a client attempts to connect a request is sent to all servers in the cluster. This setting controls how long the calling server will wait for replies.

Syntax:  

[LBS]

ReplyTimeout=n milliseconds

where n is the number of milliseconds the server or calling server will wait for replies.

LBSLog

The LBSLog parameter in a RFgen.ini file enables the server to log load balancing information in a log file. This should be used with a Trace tool. For the option on creating the log file, see RFSVR.

Syntax:  

[Environment]
LBSLog=1

where the option 0 is off; 1 is on.

LBSRedirect

The LoadBalanced Server LBSRedirect parameter in a RFgen.ini file allows servers to share client licenses but not client sessions.

Syntax  

[Environment]
LBSRedirect=1

where the option 0 is off; 1 is on.

Example:
If you want to clients connected to a load balanced server to share a license but not the client session, use:

[Environment]

LBSRedirect = 0

 

MobileQueue

The MobileQueue setting allows an RFgen server to emulate an offline device in terms of queueing transactions. Using this setting in conjunction with Sevrer.SendQueue allows a server to queue transactions and then transfer the transactions to an alternate server using the Server.SendQueue language extension.

RFgen configuration settings are used if a server needs to push queued items from a local RFgen server to a different RFgen server for processing. Mobile devices also have scenarios where they need to push queued items to a RFgen server, and the “Server.SendQueue” transfers items to the RFgen server.

If you have multiple servers where one has the collected the data and queues, but the other server has the ERP connector, the “MobileQueue” command performs the same transfer.

Example
Server A receives the queued transactions from the handheld, but doesn’t have the ERP connector to process them. Server B has the ERP connector. Server A does not need any queue configured at all for a queue name identified in the MobileQueue setting. Server A keeps the records internally.

Server B must have a queue configured and set to process the name mentioned in the MobileQueue setting. On a timed event, Server A performs a Server.SendQueue like a handheld would, and the contents of the internal queue will be sent to Server B.

This concept eliminates the need for Server A to have a data connector to Server B for the Server.MoveQueue command.

Note: This parameter is setup in the RFgen.ini file.

Syntax   [Environment]
MobileQueue=Queue1,Queue2,Queue3,…

PurgeAfterNBRDays

The Purge Data from Reports PurgeAfterNbrDays parameter in a RFgen.ini file will remove the performance data that is visible from Reports > Performance Monitoring in the Mobile Development Studio or Mobile Unity Platform Console.

Syntax   [Environment]
PurgeAfterNbrDays=nn

where nn is the number of days.

RFSVR###

The RFgen Server RFSVR parameter in a RFgen.ini file causes the servers to generate a log file.

This is currently limited to the LBSLog (load balanced information).

For details on start/stop of logging of information see LBSLog.

Syntax  

[Trace]
RFSVR###=1

where 0 is off; 1 is on.

### must correspond to the version of the RFgen server

 

Example  

'For RFgen 5.20 this will generate a logfile:

[Trace]
RFSVR520=1


 

RefreshRate

RefreshRate controls how often statistical information is sent from the RFgen server to a connected Admin Dashboard.

Syntax:  

[Environment]
RefreshRate=n seconds

ResetUDC

The ResetUDC parameter in a RFgen.ini file removes a connection from a pool, destroys it, and recreates the connection for the next user. This allows the system to release the memory for the process in the system.

Syntax:  

[Options]
ResetUDCx = y

where x is set to the dataconnector and y is the value to the number of transactions that will be processed before the reset takes place.

Schema

In the case of some DB2 ODBC connections, some tables may not be visible to RFgen because of settings for the DB2 database. To make these tables visible, add an entry with the following format in the RFgen.ini file. You may have as many schemas as needed. These entries are only examples.

Syntax  

[AS400]      DB2 Data source name in RFgen

Schema1=S104WL5M.RB1      specific database / library index
Schema2=S104WL5M.QSYS   specific database / library index

TMTimeout

TMTimeout parameter in a RFgen.ini file allows a Transaction Macro to execute longer than the built-in, internal limit of 30-seconds. The built-in timer terminates any macro that runs longer than 30 seconds. Even though a macro is terminated, it stays in the queue. Should a long running macro get half done, terminate, and re-run, you could end up with a continuous loop. To prevent this problem, use the TMTout command to lengthen the timeout period.

You  might also set the timeout to 120 seconds or higher if downloading a large volume of data from a server to a mobile device. After making this change the services should be restarted.

Syntax:

  [Environment]
TMTimeout=nnn

Where nnn is the timeout in seconds

TranLimit

The TranLimit parameter in a RFgen.ini file enables the Transaction Manager to process a specified number of transactions in the queue and then reset the queue. (A reset destroys and restarts the client process in charge of processing the queue, and also recreates the data connector.) When this happens, the system releases the memory used by the process.

RFgen 5.1.1.18 added the ability to define multiple transaction limits instead of a single transaction limit in the RFgen.ini file. This enhancement was added so you can control the reset of individual transaction queues instead of having them all reset when just one limit is triggered.

To Set Limits - Specify a limit for all the queues with the command TranLimit=n by itself, or as a limit for individual queues by queue name.

Syntax:

 

[Environment]
TranLimit=n

Where n is the number of transactions that will be processed before the Transaction Management process as well as its data connections are shut down and then recreated.

Example:

 
TranLimit=300

If an RFgen queue accumulates 300 or more transactions, the Transaction Manager will shut down the data connector and recreate the connection.
   

 

To Reset Individual Queues - Specify by the unique name, the queue to be reset in a RFgen.ini file.

Syntax:  

TranLimit = queuename1, queuename2, queuename3…

Where queue1, queue2...queuex are the names for each individual queue and has its own section under the [Environment] setting to control the individual queues. Within the individual queue sections, place another TranLimit=n command where n is the number of iterations.

Example:  

[Environment]
TranLimit=RFgenQueue1, TWDXX0100, TCCXX0200 [RFgenQueue1] TranLimit=100 [TWDXX0100] TranLimit=100 [TCCXX0200] TranLimit=200