• <GetStart>
  • CSPro User's Guide
    • The CSPro System
    • Data Dictionary Module
    • The CSPro Language
    • Data Entry Module
    • Batch Editing Applications
    • Tabulation Applications
    • Data Sources
    • CSPro Statements and Functions
    • Templated Reporting System
    • HTML and JavaScript Integration
    • Action Invoker
    • Appendix
      • Appendix A - Installation
      • Appendix B - Keys Summary
      • Appendix C - Menu Summary
      • Appendix D - Toolbar Summary
      • Appendix E - Application Properties
        • Application Properties
        • Paradata Properties
        • Mapping Properties
        • Logic Settings
        • JSON Serialization Properties
        • Advanced Features Properties
      • Appendix F - Converting Within IMPS or ISSA
      • Appendix G - Errors in Censuses and Surveys
      • Appendix H - File Types
      • Appendix I - JSON Representations
  • <CSEntry>
  • <CSBatch>
  • <CSTab>
  • <DataViewer>
  • <TextView>
  • <TblView>
  • <CSFreq>
  • <CSDeploy>
  • <CSPack>
  • <CSDiff>
  • <CSConcat>
  • <Excel2CSPro>
  • <CSExport>
  • <CSIndex>
  • <CSReFmt>
  • <CSSort>
  • <ParadataConcat>
  • <ParadataViewer>
  • <CSCode>
  • <CSDocument>
  • <CSView>
  • <CSWeb>

Logic Settings

To view and modify logic settings, select Application Properties from the Options menu of a data entry, batch edit, or tabulation application, and then select the Logic Settings section. These settings are also available from tools that use logic.
Logic settings are saved to the application file (.ent, .bch, .xtb), or to the tool specification files (.exf, .fqf).
Case Sensitivity
Symbol names: If checked, the compiler will enforce case sensitivity when processing:
  • Symbol names such as dictionary and form names, logic variables, etc.
  • Special callback functions such as OnKey.
Although CSPro logic is case-insensitive, many other programming languages are case-sensitive, meaning that "AGE" is different from "age". Having CSPro enforce case sensitivity may help you write better (and more careful) code. CSPro dictionary and form variables are added to logic as uppercase names.
Note that even with this checked, variable names must be unique on a case-insensitive basis, so if a variable with the name "AGE" is declared, it is not possible to declare another variable with the name "age".
Logic Version
The logic version controls how string literals and multiline comments are handled, as well as whether strings are right-padded during comparisons.
  • Original (the only version up to CSPro 7.7)
  • CSPro 8.0+
For new applications, using the latest logic version is recommended. A comprehensive description of differences in the versions is available here: Logic Version.
Action Invoker
Several settings control Action Invoker execution:
From CSPro logic, automatically convert results that are string, boolean, and undefined to CSPro formats: When called from CSPro logic, Action Invoker results are returned as a string containing JSON. If checked, CSPro will convert this JSON string into a string more easily handled by CSPro. More details are available at Action Invoker Execution from CSPro Logic.
From external callers: This settings controls whether external callers require access tokens when using the Action Invoker:
  • Always allow (without access token)
  • Allow user to approve when no access token provided (the default setting)
  • Always require an access token
Registered access tokens: You can specify valid access tokens to associate with your application by specifying each access token, one per line. You can also register access tokens in logic using registerAccessToken.
CSPro Default Settings
By clicking Set as Default, the logic settings shown will become the default logic settings for new applications, as well as for tools that use logic. It is recommended that you decide what settings fit your needs and then use these settings for all new applications. If no default settings have been set, new applications are created using:
  • Case Sensitivity: No
  • Logic Version: Original
  • Action Invoker: Convert results for CSPro logic; allow users to approve when no access token is provided
See also: Logic Version