CCL Environmental Variables
This lesson will teach you about CCL Environmental variables.
Below is a list of CCL environmental variables and their explanations:
Controls whether ADS 8583 processing should attempt to piggy-back transactions and data collects. Acceptable values: one or zero. Default value: zero (no piggybacking). Example environ.dat entry: "A85_PIGGYBACK 1"
For Alliance Data Systems, this CCL environment variable selects whether or not the CCL should tell the POS to ask for a Forced Draft Capture (manual approval) when communication with the ADS host fails. Setting this variable to "1" causes the POS to prompt for Forced Draft Capture (manual approval). Any other value will not behave that way. Acceptable values: any integer. Default value: 0 (no Forced Draft Capture).
Used by the CCL to indicate that Aloha cards should be taken. When set to a non-zero value, Aloha cards are allowed to process. Also when identifying cards, since some Aloha cards have as few as 5 digits, these short card numbers are defaulted to the Aloha card type ('@'). Acceptable values: any integer. Default value: 0 (no Aloha card processing).
Used for Ambest Ambucks Loyalty processing. The only supported value is "PTP", which makes all Ambest Loyalty operations take place using the PTP protocol, which can be done over TCP. Example environ.dat entry: "AMB PTP"
Used to control a feature of automatically exiting and installing updates (NewCCL.tgz) when they appear. Two modes are supported, controlled by the value "1" or "2". In mode "1", the CCL exits (with an "exit3" status) as soon as it sees a "NewCCL.tgz" file in its working directory. In mode "2", the CCL looks for "NewCCL.tgz" as well as "taupdate.dat", and in addition, checks that the clock reads 1:00, 2:00, or 3:00 am. When this criteria is met, the CCL will also exit with an "exit3" status. Mode "0" can be used to turn the feature off, which is the default behavior if this variable is not set. Acceptable values: any integer. Default value: "0" (no automatic exiting). Example environ.dat entry: "AUTOEXIT 2"
This optional environment variable turns on Address Verification Services for credit cards processors that support this function. This feature only applies to Mastercard, Visa, Discover, and American Express cards. The value is a list of card IDs such as those used by OUTSIDE_CARDS (see below). When set, after an outside customer selects "Credit" at a typical "Debit/Credit" prompt, they are asked for a ZIP code. This ZIP code would be the billing address ZIP code of that customer's credit card account, used to verify the identity of that customer like a PIN is used on Debit. For inside AVS processing, see related POS environment variable ZIPCODE. Note that for AVS checking to be successful for inside transactions, the POS must have its ZIPCODE variable set and the CCL must have AVS_CARDS set. Default value: none. Example environ.dat entry: "AVS_CARDS MADV"
Used by the CCL to indicate that Bailey's Club cards should be accepted. When set to a non-zero value, Bailey cards are allowed to process. Acceptable values: any integer. Default value: 0 (no Bailey card processing).
On outside sales, the CCL checks for environment variable "BFCARDS" to classify cards as Basic Fleet cards or other cards. The value is any list of valid card IDs such as those used by OUTSIDE_CARDS. If not set, a default set of card IDs are used, "GIPSWXYK~". These equate to the following cards, respectively: GasCard (Fuelman), IAES, PHH Fleet, Sinclair, Wright Express, Voyager, Kwik Fill, and Bailey's.
When using IFSF protocol (BP processing), and the Site Controller is configured to offer Car Washes, this variable sets the Car Wash UPC code sent to the EPS for the Car Wash sold. If not set, Car Washes will not function correctly in conjunction with BP processing. Default value: none. Example environ.dat entry: "BP_CARWASH_UPC 0000012345"
Controls whether Buypass Return transactions are allowed on sales that are not in the batch. Acceptable values: 0 (does not allow these Returns), and 1 (allows the Returns). Default value: 0.
When the CCL performs card identification requests, this variable controls whether the PAN and expiration date of the card being identified is logged. On cards covered by PCI guidelines, only the masked PAN is logged, in addition to the expiration date. Acceptable values: 1 (turns on the logging), any other value turns off the logging. Default value: 0. Note: this variable is a feature request of TA, and does not exist in non-TA code.
Overrides the list of card ID's that any given service can process. The "***" must be the 3-letter CCL service abbreviation for the auth.dat service that needs this alternate card ID list. For example, "CARDS_BUY MADVNJWYGSmvpnhZzEF\$" in the environ.dat would let the CCL's "BUY" service process the 20 card types listed. The auth.dat is limited to 17 cards for any service's card ID list. Note that the card ID list field in editauth needs to also be set to "=ENV=".
Used to set a ceiling value for alpha-numeric crind (including Smartfuel) transactions for site-specific cash advance limits. When set to zero, cash advances will not be prompted for. Acceptable Values: 0.0 - 1000.0 dollars (decimal). Default Value: 200.0 dollars.
Sets the amount of discount taken for "cash-discounted" alpha-crind transactions (Encore, Smartfuel, etc). This amount is in cents per gallon. This value is only used if CASHDISCOUNT_CARDS is present. Acceptable values: >0.0 - 200.0 (decimal, not zero). Default value: 3.0 cents per gallon. See also: CASHDISCOUNT_CARDS Example environ.dat entry: "CASHDISCOUNT_AMOUNT 3.0"
Controls the cards on which a specified discount (see CASHDISCOUNT_AMOUNT) is taken on fuel and reefer, for alpha-crind transactions (including Smartfuel). The value is a list of card IDs which are eligible for the discount. When not set, no outside alpha-crind transactions will be discounted. Acceptable values: A list of any valid card IDs. Default value: None (off). See also: CASHDISCOUNT_AMOUNT Example environ.dat entry: "CASHDISCOUNT_CARDS cpetdjWYSG"
Sets the default debug value of the CCL application. Note that some log messages are critical, and will always be logged even if this variable is set to zero. Acceptable values: 0 - 65535 (integer). Default value: 0 (only "critical" errors).
This environment variable tells the CCL application to listen on the given port number for connections coming from support program connections. Port number 4557 is usually used. Acceptable values: 1 - 65534 (may vary per platform). Default value: none (no support connections accepted).
Used by the CCL to set the IP address and port number used for communication with other programs. The value of this variable must be a valid IP address and port number formatted as the example, which is also the setting normally used. Note that this variable needs to be set when the
CCL should to run in its own console and accept keyboard input. Default value: none (no TCP communication). Example value: "CCLTCP 127.0.0.1:4558"
Controls whether the CCL should load Parameter Down Load data that it received from the host. Only the A85 (Heartland ISO8583) processing modules uses this host-controlled parameter data. It includes values for preauth amounts, pump cutoff amounts, and so on. When set to "1", the CCL will load and use the PDL data when appropriate. When not set, or set to any value besides "1", the PDL will not be used. Acceptable values: any integer value. Default value: "0" (PDL is not used).
When configured to use multiple modems, this environment variable tells the CCL to use cycle through the modems, using a different one than the previous transaction used each time. A value of "1" is used to turn the feature on, and any other value will turn the feature off. Acceptable values: 0 - 1 (integer). Default value: none (no cycling). Example value: "CYCLE_MODEMS 1"
Used by the CCL to specify which direct-bill service outside (outside being alpha-numeric crind devices, such as Encore pumps or Smartfuel Payment Terminals, NOT including Fiscal OPTs) direct-billable transactions should be sent to. Currently, the following service abbreviations can be used: TSR (Comdata Truck Stop Receivables), SIN (Sinclair direct bill), and SAP (Sapp Brothers direct bill). If not set, or set to any other service, no direct bill action will be taken. Example environ.dat entry: "DB_SERVICE TSR"
Sets the EPS Card Payment port, which is the TCP port number where the CCL will send authorization requests to the EPS. Only has an affect if EPSIP is set. See also EPSIP. Acceptable values: integers between 1025 and 65535. Default value: 7002.
Sets the EPS Device Request port, which is currently unused by the CCL. Acceptable values: integers between 1025 and 65535. Default value: 7003.
Sets the EPS Device Listener port, which is the TCP port number where the CCL will listen for device requests (prompt and receipt messages) from the EPS. Only has an affect if EPSIP is set. See also EPSIP. Acceptable values: integers between 1025 and 65535. Default value: 7000.
Sets the value for the IP address of the EPS device (which is is used as a credit host and should be on site) used in IFSF protocol based installations, such as BP. When this variable is set, each outside transaction is first attempted to be processed using the EPS, and if that fails, then the transaction will be attempted using the credit service normally set up to handle the particular card type. When not set, all outside transactions are processed using the traditional means. Acceptable values: any valid IP address. Default value: none (no EPS processing). See also EPSDLPORT,
EPSSRPORT, EPSCPPORT, and EPSDRPORT, which are also required for this form of processing. Example entry: "EPSIP 10.23.254.104"
Sets the EPS Service Request port, which is the TCP port number where the CCL will send login requests to the EPS device. Only used if EPSIP is set. See also EPSIP. Acceptable values: integers between 1025 and 65535. Default value: 7001.
For Buypass credit card processing, this variable controls the maximum dollar value of fallback transactions that can be saved if communication with the host is not possible. If the value is less than or equal to zero, no fallback transactions will be locally approved and saved. Acceptable values: any decimal. Default value: 0.0 (no fallback transactions are kept). See also FBMAXCNT.
For Buypass credit card processing, this variable controls the maximum count of fallback transactions that can be saved if communication with the host is not possible. Acceptable values: any integer. Default value: 0 (no fallback transactions are kept). See also FBMAXAMT.
FDIS Direct Bill: For sites that process FDIS transactions, this environment variable sets which service/host is used for the Direct-Bill portion of a FDIS transaction. The value of the environment variable must be a 3-letter service abbreviation. Currently, only "TCA" (for Travel Centers of America) is supported. If not set, or set to an unsupported service/host, no FDIS direct-billing is done. Example environ.dat entry: "FDIS_DB TCA"
This setting controls the maximum file size of files written to using the hex logging routines, such as ftrans.dat. Before appending to a file using any hex logging routine, the CCL checks the size of the file being written to and if it is greater than the value of this environment variable, the file is moved to an archive name (the original name plus ".old"). When not set, the default value of 2 million bytes is used. Acceptable values: any integer greater than 1000. Default value: 2000000 bytes.
For installations that use IFSF processing (BP, Arco, etc), this controlls the mode of loyalty processing that the IFSF processing should enable. The default value, "0", does not enable loyalty processing through the IFSF protocol. A value of "1" enables loyalty processing, but without doing price rollbacks. A value of "2" enables loyalty process with price rollbacks. Acceptable values: Integer 0, 1, or 2. Default value: 0 (no loyalty). See also: EPSIP
Related to IFSF_LOYALTY. When IFSF_LOYALTY is enabled, this variable controls whether the CCL should allow transactions that only get a loyalty approval from the EPS at preauth (which requires authorizing the pump from the inside), as opposed to the normal credit/debit approval response from EPS. Acceptable values: 0 (loyalty-only preauthorizations will be automatically cancelled by the CCL, and treated as a decline), or 1 (loyalty-only preauthorizations will be allowed by the CCL, but the pump must be authorized from inside). Default value: 0. See also:
This optional environment variable controls how often PCI encryption keys are changed, in minutes. See also KEY_DELETION. Acceptable values: any integer greater than zero and less than KEY_DELETION. Default value: 43200 (30 days).
This optional environment variable controls how long PCI encryption keys are stored, in minutes. After this time period expires (counting from the time when the encryption key was created), data encrypted using that key can no longer be decrypted. See also KEY_ROTATION. Acceptable values: any integer greater than zero and also greater than KEY_ROTATION. Default value: 129600 (90 days).
Controls the number of archived log files that will be kept before they are overwritten. When this variable is zero, no archiving is done. Acceptable values: any integer from 0 to 1000. Default value: 30 files. See also LOGMAX.
Used to set the "max" size of the log file. When the log file grows to more than this many bytes in length, logging either stops or is restarted with a new file, as controlled by REWRITE. Acceptable values: any integer greater than zero. Default value: 2000000 bytes. See also LOGARCHIVE,
REWRITE, and SYSLOG_SYNC.
Sets whether or not a loyalty receipt is printed outside; zero to turn off outside loyalty receipts, one to turn them on. Acceptable values: 0 - 1 (integer). Default value: 0 (off). See also: SC_RECEIPT_WIDTH
For direct communication between the CCL and POS-style applications (including the Fiscal OPT), this variable controls the number of those devices that are allowed to connect. Also, this variable must be set to enable these direct communication (meaning not relayed through the Site Controller program) features of the CCL. Setting this value to zero will disable the new direct communication between the CCL and any POS-type devices. Acceptable values: an integer from zero to 42. Default value: zero (no direct communications to POSs or Fiscal OPTs).
Used to control how long truck fleet receipts (both 80-column and small) should be allowed to stay in the CCL directory. When receipts get to be this number of hours old or older, they will be deleted the next time a POS does a receipt list request. Acceptable Values: 0 - 99999 hours (integer). Default Value: 5 hours.
Sets a maximum transaction amount that can be charged in a transaction, in dollars. Added to work around Gilbarco PAM issues where the site controller was submitting postauths to the CCL for tens of thousands of dollars. Acceptable values: Any decimal number of dollars over zero. Default Value: 5000.0 dollars.
Assigns the HTTP URL used as part of Metrosplash host requests, and is required for Metrosplash processing. Its value comes from Metrosplash, but so far has not changed. Suggested value: "/data-service/data.xml"
Controls what data is logged into "modemfail.log". When set to "0" (the default), only failures to connect are logged. When set to "1", both successful and unsuccessful connection attempts are logged. Acceptable values: 0 - 1 (integer) Default value: none (log only errors). Example value: "MODEM_LOG_MODE 1"
Used by the CCL to control what flavor (format) of NBS loyalty request is used. By default, (when this environment variable is not present), the normal NBS loyalty format is used. When this variable is set to "PILOT", a Pilot-specific loyalty format is used. When this environment variable is set to any other value, the normal NBS loyalty request is used. Default value: "PILOT" Example environ.dat entry: "NBS_LOYTYPE PILOT"
Turns on the Oregon Public Utilities Commission discounting of fuel sales. Oregon PUC prompting asks the driver for their Fuel Permit Number, and if accepted, discounts the fuel purchased. When this is set to "1", all entered Fuel Permit Numbers are required to match the formatting specified by the state of Oregon. When the value of this variable is "2", drivers are also prompted for a Fuel Permit Number, but the entered data is not validated. Any other value (including "0") turns off Fuel Permit prompting. Acceptable values: 0 - 2 (integer). Default value: "0" (no prompting). Example environ.dat entry: OREGON_PUC 1" See also PERMITTAXDISCOUNT.
Sets the number of days that outside cash acceptor Cash Back Codes (CBCs) are kept track of. When a CBC becomes this many days old, it is moved into a separate archive. Acceptable values: 0 - 365 (integer). Default value: 365 days. Note: normally this setting is near 45 days. See also OUTCASH_EXPIRE.
Sets the number of days that outside cash acceptor Cash Back Codes (CBCs) are valid for. A zero value would mean the cash back code generated would only be valid for that day. Acceptable values: 0 - 30 (integer). Default value: 30 days. See also OUTCASH_ARCHIVE.
Configures the PICs (island cash acceptors) that the CCL should store statistics for. The value is a comma separated list of PIC numbers. The value should contain no whitespace (tabs or spaces). Example value: "OUTCASH_PICS 1,2,4", means the CCL will records cash acceptor data for PICs 1, 2, and 4.
Used by the CCL to control which cards are allowed to be used at crind devices, including Smartfuel. The value is a list of card IDs which will be allowed to process outside. If this environment variable is not present, an attempt will be made to process any recognized card swiped outside.
Used during [Truck Fleet] outisde alpha-numeric Crind transactions (for example, Gilbarco Encore pumps or Smarfuel OPTs), to control which types of loyalty card can be accepted for the Truck Fleet Transaction. The value for this variable is a list of Card IDs like those that would be used for OUTSIDE_CARDS. If not set, no loyalty card will be asked for outside Truck Fleet Transations. Example environ.dat entry: "OUTSIDE_LOYALTY oaks" This would allow the following loyalty cards, respectively: Points to Partners, Ambest, Road King Club, and Sinclair Driver Thank You.
Used by the CCL to set which cards used at crind devices (including Smartfuel) can be processed as Truck Fleet cards. The value is a list of card IDs such as those used by OUTSIDE_CARDS (see below). This environment variable will take precedence over those set by
When OUTSIDE_TF_CARDS is set, truck fleet cards (Comdata, EFS, Fleet One, TA Access, TChek, Transcommunication, TCH, etc) should be excluded from OUTSIDE_CARDS, so that no attempt will be made to process those card on ordinary crind devices. If
OUTSIDE_TF_CARDS is not set, then the rules for OUTSIDE_CARDS will apply.
Used by the CCL to signify sites that want to keep a log of outside transaction errors (rejections). One will mean that outside Postauth errors are logged, zero will mean they should not be logged. Acceptable values: 0 - 1 (integer). Default: 0 (no logging).
Enables the use of "permission cards", that can be used independantly of a payment card to control whether a specific user is authorized to use a given location. For example, Clean Fuel locations, where the propane dispensers require the customers to be authorized and certified in their use, and the permission card authorization comes from the FPC host. The variable's value is the card types processed as permission cards. Acceptable values: any validcard type. Default value: none (no permission card processing).
Sets the amount of the Oregon Public Utilities Commission fuel permit tax discount. This variable is ignored if OREGON_PUC is not turned on. The value of this variable is the amount of the Oregon tax discount. If no decimal is present, the amount is assumed to be in the same format as fuel prices, where "240" would mean 24 cents per gallon. If a decimal is present, the value is assumed to be in cents per gallon. Default value: 240 (24 cents per gallon). See also OREGON_PUC.
Used in the CCL to set the default gas price level for pre-authorized bank and debit cards. Acceptable values: 1 - 8 (integer). Default: 2 (credit price).
In cases where no authlimit.dat exists, this environment variable can be used to override the preauth amount requested by the Site Controller. When this value is zero (or not set), the preauth amount from the Site Controller is used. Acceptable values: 0.0 - 500.0 dollars (decimal) Default value: 0.0 dollars.
Enables fuel loyalty discounts on Crind transactions. When defined, the first card swiped can be a loyalty card which is queried for loyalty discounts, such as Metrosplash cards. The variable's value is the card types used as loyalty discount cards, such as the Metrosplash card "l" (lowercase L). Acceptable values: any valid card type. Default value: none (no loyalty discounting).
For locations where reefer fuels need to receive special rebates and taxing. A value of "S" for this variable will mean that taxes be be calculated taking only state road taxes and state sales taxes into account. A value of "F" will mean that the rebate and taxing will be calculated using state and federal road taxes, and sales tax. Any other values will do no reefer tax discounting. Note: all tax rebate calculations are performed after Cash Discounting has taken place.
The presence of this environment variable tells the CCL to automatically restart writing the log file when it becomes full ("full" as set by LOGMAX). When the log file (which is CCLlog.dat) gets over LOGMAX bytes long, it is renamed to "oldlog.dat" and a new "CCLlog.dat" is started. Note that unlike the Site Controller (who also uses an environment variable with this name and purpose), this environment variable is safe in that it will not cause the CCL to overwrite previous log data when the application is restarted. Acceptable values: anything (only the presence or absence of this variable is checked, not the actual value). Default value: if the variable is not present in the programs environment, then log files are never automatically restarted, and logging stops when over LOGMAX bytes have been written to the log file. See also LOGMAX and SYSLOG_SYNC.
Note: From version 09.01.00-3485 onward, this variable is ignored.
For receipts generated by the CCL (loyalty, shower, truck fleet fuel outside receipt), tells the number of characters that the crind devices can print per line. Acceptable values: 10 - 50 (integer). Default value: 28 characters. See also: LOYALTY_RECEIPT, SHOWER_GALLONS
On dispenser that have bar code card scanners, this variable defines the BIN range used to turn the scanner data into something resembling track 2 data. Then the CCL will identify the generated track 2 using this BIN range. Default value: "627921" (Metrosplash Fuellinks).
When shower coupons are rewarded (see SHOWER_GALLONS), sets the number of days the coupons are valid for. Acceptable values: 0 - 90 (integer). Default Value: 7 days. See also: SHOWER_GALLONS
Sets the threshold for awarding a free shower. Value is the number of gallons of fuel that must be purchased before a free shower is rewarded. For sites that don't award free showers, use zero. Acceptable values: 0.0 - 500.0 (decimal). Default value: 0.0 gallons (no shower coupons). See also: SHOWER_EXPIRE, SC_RECEIPT_WIDTH
Used in Truck Fleet processing to tell the CCL that it should not capture dispenser data for Truck Fleet sales and record them into the TFT if the Truck Fleet Transaction was created by a Fiscal OPT. This behavior is indicated by this value being any non-zero integer. Added at the request of OPT developers and normally not set (which is the same as setting the value to "0"), in which case the CCL will record dispenser data into Truck Fleet Transactions as normal. Acceptable values: any integer. Default value: 0 (normal operation).
This environment variable controls the configurable option of having the log file forcibly flushed to the hard disk (using fsync()) after every write operation. A value of "1" for this variable will turn on syncing, and any other than "1" will turn off this behavior. Acceptable values: any integer. Default value: 0 (no syncing)
For Truck Fleet sites that do not sell Diesel #2 as their primary fuel, this variable tells the CCL what Fiscal product letter to use for getting TCH fuel limits. Acceptable values: any product letter that we support. Default value: "D" (Generic Diesel #2).
For Alpha-Numeric Crind Truck Fleet transaction, this controls whether copies of the generated 80-column receipts will be saved in a "ReceiptArchive" sub-directory of the CCL. A value of zero turns off the archiving of 80-column receipts, and positive values set the number of days that the receipts will be kept before being automatically deleted. Acceptable values: any integers greater than or equal to zero. Default value: 30 days.
On outside sales, the CCL checks for environment variable "TFCARDS" to classify cards as Truck Fleet cards or other cards. The value is any list of valid Card IDs such as those used by OUTSIDE_CARDS. If not set, a default set of Card IDs are used, "ceprtujUx". These equate to the following cards, respectively: Comdata, EFS, Fleet One, Transcard, Tchek, Multiservice, Flying J, TA Access, and FDIS
Controls the feature of the CCL that logs the changes made to existing Truck Fleet Transaction structures (TFTs) to the log file. When the value for this variable is an ASCII one ("1"), the TFT change logging is enabled. Otherwise, the logging is not enabled. Acceptable values: an integer zero or one. Default value: none (no TFT change logging). Example environ.dat entry: "TFT_CHANGE_LOG 1"
Sets the number of lines to skip at the top of an 80-column Truck Fleet receipt to allow for header space. Acceptable values: integers greater than or equal to 0. Default value: 0.
Added to force Alphanumeric Crind transactions to only be able to purchase tractor fuel. This is for sites that only sell natural gas (or other fuels that cannot be used as reefer), and assumes there is no such thing as refrigerated trailers that use those fuels. Acceptable values: "1" (only tractor fuel is allowed), or "0" (drivers can select tractor, reefer, or both). Default value: "0"
Controls features required at unattended sites, such as logging and clearing failed postauths, and not skipping prompts that would normally cause the transaction to be finished inside. Using "0" turns off the unattended features. Acceptable values: any integer number. Default value: 0 (no unattended features).
This environment variable sets the option to mask out credit card numbers on batch reports (Z tapes) and truck fleet receipts. Acceptable values: 0 (not X'd out) or 1 (X'd out) (integer). Default value: 1 (X'd out).