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