“All you need is ignorance and confidence and the success is sure.
(Mark Twain )
The language used to build Tally.ERP 9 is called TDL - Tally Definition Language, briefly touched upon in Internal Architecture & Design.
As a Tally Service Partner, a Tally Integrator, an internal IT 'shop' at a customer location or a free lancer developing extensions to Tally.ERP 9, we make available Tally.Developer 9, an Integrated Development Environment (IDE) along with the full TDL source code.
TDL has been designed to provide the following features:
TDL is a language based on definitions. A definition language provides the users with 'Definitions' that can be used to specify the task to be performed. It is possible to reuse the existing definitions and deploy applications quickly. This is a language meant for rapid development. It is possible to develop complex reports within minutes. User can extend the default functionalities of the product by writing only a few lines of code.
Action Driven Language with Procedural Capabilities
TDL is an Action Driven language where the programmer can only control as to what happens when a particular event takes place. The action thus triggered can either be a platform defined action or an Action created by TDL programmer using User Defined Functions. The fundamental aspects of conditional evaluation and looping have been introduced into the language. The non-procedural elements are largely towards presentation layers and data gathering. The procedural elements can be used for flow control, computation and object data manipulation.
Multiple Output Capability
Using the same language it is possible to output to multiple output devices and formats .Whenever an output is generated this can be displayed on the screen, printed ,transferred to a file in particular format, mailed or transferred to a webpage using Http protocol.
Data Management Capability
Tally follows a hierarchical object oriented data structure. TDL provides the capability of creating and manipulating these objects with ease. Apart from the predefined objects user can also store and manipulate data as required by him.
To meet the challenges of business environment it becomes absolutely mandatory to share information seamlessly across applications. Integration becomes a crucial factor in avoiding the duplication of data entry. The available Tally API’s ODBC, XML and DLL allow integration between
• Tally to Tally using Synchronisation
• Tally to External Application and vice versa using the Interfaces Available
• Tally to Web Service using HTTP Interface
• Tally to External Applications using Export
• Data from External Application in XML using Import
The Development Platform:
Tally.Developer 9 is a comprehensive development environment designed specifically for the TDL (Tally Definition Language). TDL is the development language of Tally.ERP 9 and is used to build additional functionality into the product. TDL enables the programmers to develop and deploy solutions rapidly with ease.
Tally.Developer 9 makes programmer’s life easier with powerful features like syntax highlighting, column selection and auto completion. Apart from this, the definition browser, schema browser and function browser are also available as a part of the product providing instant reference to the TDL programmer.
Tally.Developer 9 is an editor, search engine and an compiler as well. It also provides the tools to decompile a TCP, migrate an encrypted TDL file and Tally Connector to send XML request to Tally get the response in XML format.
The TDL code can be configured to run on one, more or all Tally serial number(s) while creating the TCP (Tally Complaint Product) file and also stamp the TCPs for a specific site. This enables you to control license usage and minimize revenue leakage.
Features of Tally.Developer 9:
• New Look and Feel
• Project Management
• Definition and Schema Browser
• Debugging and Diagnostics
• Auto Complete gives the list of attributes or the values of the attribute
• Enhanced search engine
• Tools to Decompile a TCP, Migrate an encrypted file and Tally connector
• Syntax checking and Highlighting
• Browser style Navigation
• In the editor collapse and expand option for definitions
• Enhanced Compiler
• Easy customer serial management