Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Finacle Script StudioNew to Visual Studio Code? Get it now.
Finacle Script Studio

Finacle Script Studio

Ovais Khan

|
1 install
| (0) | Free
Enterprise IDE & Language Server for Infosys Finacle CBS Scripting (.scr, .sscr, .mrt, .mri) — Developed by Ovais Khan
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Finacle Script Studio

Finacle Script Studio Logo

Enterprise Language Support, Real-Time Diagnostic Compiler & IntelliSense for Infosys Finacle CBS Scripting

Developed & Engineered by Ovais Khan

Features • Quick Start • Finacle Cheat Sheet • Settings • Offline Install • Author


Overview

Finacle Script Studio is an industrial-grade VS Code extension and Language Server specifically engineered for Core Banking Solution (CBS) developers working with Infosys Finacle. It brings modern software engineering intelligence to Finacle Script (.scr, .sscr) and Maha Report Templates (.mrt, .mri, .rip).

Featuring a sub-15ms custom compiler and static analysis engine, it catches syntax errors, runtime crashes, repository scoping violations, SQL bind mismatches, and user-hook typos before scripts are uploaded to the CBS application server.


Key Features

1. 3-Tier Repository & Class Scoping Engine

  • Strict Hierarchy Validation: Validates existence of Repositories (CREATEREP), Classes (CREATECLASS), and Fields (REP.CLASS.FIELD).
  • Runtime Guard Exemptions: Automatically exempts fields checked inside FIELDEXISTS(REP.CLASS.FIELD) guards.
  • Standard Finacle Repositories: Built-in support for BANCS.INPUT, BANCS.OUTPUT, BANCS.STDIN, BANCS.STDOUT, BANCS.INPARAM, BANCS.OUTPARAM, and CUST.

2. Bidirectional Cross-Script Repository Flow

  • Caller Inheritance: Scripts invoked via call("child.scr") inherit all repositories, classes, and fields created by the parent script.
  • Callee Exposure Hints: When a child script populates fields in an inherited repository, the parent caller script detects it and displays a subtle informative hint (...) showing exactly which child script defined the field.

3. Typo Detection & Intelligent Suggestions

  • 295+ User Hooks (urhk_*): Validates every user hook against official Finacle CBS definitions. Typos like urhk_SetOrWarning instantly suggest urhk_SetOrbWarning.
  • Keywords & Built-in Functions: Detects misspellings such as prnt(...) and provides one-click fixes to PRINT(...).
  • Compound Logical Expressions: Full native support for AND, OR, and NOT in IF (...) THEN statements.

4. SQL Bind Variable Verification

  • Real-time verification comparing ?SVAR placeholders in SQL queries against pipe-delimited values in BANCS.INPARAM.BINDVARS. Catches runtime ORA-01008 ("not all variables bound") errors during development.

5. Finacle 128 KB Architecture Guard

  • Real-time diagnostic warning when .scr files approach or exceed the Finacle script engine buffer limit (128 KB), preventing application server crashes.

6. Rich Autocompletion & Hover Documentation

  • Autocomplete suggestions for all Finacle keywords, control structures, and repository objects.
  • Rich parameter tooltips and signature documentation for all urhk_* hooks and string functions (TRIM, MID$, RPAD, FORMAT$, etc.).

7. Maha Report Template (MRT) Support

  • Dedicated syntax coloring, section delimitation, and formatting for Finacle Maha Report Templates (.mrt, .mri, .rip).

Finacle Cheat Sheet

Common User Hooks

User Hook Description
urhk_B2k_PrintBuffer("BANCS") Prints full contents of a repository to Finacle console log.
urhk_dbSelectWithBind(query) Executes an SQL query using bind variables from BANCS.INPARAM.BINDVARS.
urhk_dbCursorOpenWithBind(query) Opens an SQL cursor with bind variables.
urhk_dbCursorFetch(cursor) Fetches the next record from an open cursor.
urhk_dbCursorClose(cursor) Closes an open SQL cursor.
urhk_SetOrbOut(field) Passes output field back to Finacle front-end (Finacle e-Banking / CRM / Core).
urhk_SetOrbWarning(msg) Displays a non-blocking warning popup to the bank teller.

Repository Lifecycle

# Create repository and class
IF (REPEXISTS("CUST") == 0) THEN
#{
    CREATEREP("CUST")
#}
ENDIF

IF (CLASSEXISTS("CUST", "DATA") == 0) THEN
#{
    CREATECLASS("CUST", "DATA", 5)
#}
ENDIF

# Assign field
CUST.DATA.accNum = BANCS.INPUT.foracid

# Delete repository when finished
IF (REPEXISTS("CUST") != 0) THEN
#{
    DELETEREP("CUST")
#}
ENDIF

Extension Settings

Configure Finacle Script Studio via settings.json:

Setting Default Description
finacle.formatting.uppercaseKeywords true Automatically formats Finacle keywords (IF, THEN, WHILE, DO, etc.) to canonical uppercase.
finacle.diagnostics.checkSqlBinds true Validates that SQL ?SVAR count matches BANCS.INPARAM.BINDVARS pipe count.
finacle.diagnostics.checkFileSize true Warns when script approaches or exceeds the Finacle 128 KB buffer limit.
finacle.diagnostics.crossScriptInheritance true Enables bidirectional cross-script repository flow analysis across call("...") chains.

Offline Installation (Office / Bank PC)

Finacle Script Studio is packaged as a 100% self-contained, zero-dependency .vsix file. No internet connection, npm, or Node.js is required on your office PC.

Installation Steps:

  1. Copy finacle-script-studio-1.1.3.vsix to a USB drive or your office computer.
  2. In VS Code, press Ctrl+Shift+P (or Cmd+Shift+P on macOS).
  3. Type Extensions: Install from VSIX... and press Enter.
  4. Select finacle-script-studio-1.1.3.vsix.
  5. Alternatively, install via terminal / command prompt:
    code --install-extension finacle-script-studio-1.1.3.vsix --force
    

Author & Acknowledgments

  • Developed & Engineered by: Ovais Khan
  • Target Platforms: Infosys Finacle 10.x, 11.x, Core Banking Solution (CBS)
  • License: Enterprise CBS Development License
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft