• <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
    • Text Templates
    • Templated Reporting System
    • HTML, Markdown, and JavaScript Integration
    • Action Invoker
      • Overview
      • Execution Environments
      • Security, Resource Management, and Formatting Options
        • Access Token
        • Binary Data Representation
        • Resource IDs
      • Base Actions
      • Application Namespace
      • Clipboard Namespace
      • Data Namespace
      • Dictionary Namespace
      • File Namespace
      • Hash Namespace
      • Localhost Namespace
      • Logic Namespace
      • Message Namespace
      • Path Namespace
      • Settings Namespace
      • Sqlite Namespace
      • System Namespace
      • UI Namespace
    • Appendix
  • <CSEntry>
  • <CSBatch>
  • <CSTab>
  • <DataManager>
  • <TextView>
  • <TblView>
  • <CSFreq>
  • <CSDeploy>
  • <CSPack>
  • <CSDiff>
  • <CSConcat>
  • <Excel2CSPro>
  • <CSExport>
  • <CSIndex>
  • <CSReFmt>
  • <CSSort>
  • <ParadataConcat>
  • <ParadataViewer>
  • <CSCode>
  • <CSDocument>
  • <CSView>
  • <CSWeb>

Action Invoker Resource IDs

The Action Invoker does not have the concept of objects that can manage resources. Instead, actions that use resources return a numeric resource ID, which is then used to identify the resource in subsequent actions. Resources ID are used in the following areas:
  • Sqlite actions that access SQLite databases.
In certain circumstances, you do not need to specify the resource ID as it will be calculated implicitly. Within a single execution environment, if only one resource of a specific type is open, then you do not need to specify the resource ID as it can be calculated implicitly because there is only one resource of that type open. For example:
  • In CSPro logic, if you opened a single SQLite database and then used it in several actions from CSPro logic, you would not need to specify the resource ID.
  • In CSPro logic, if you opened a single SQLite database, and then launched a web view that wanted to use that database, you would need to specify the resource ID from actions in the web view because the web view is in a different execution environment than CSPro logic.
  • In CSPro logic, if you opened two SQLite databases, you would need to specify the resource ID up to the point at which one of the databases was closed, leaving only a single resource of type SQLite open in CSPro logic.
A resource ID can always be specified explicitly, so if you are unsure about how many resources of a given type may be open when executing an action, the safest approach is to always explicitly specify the resource ID.
See also: Action Invoker Overview