HomeDeveloper ReferenceTroubleshootingTallyPrime Developer - Troubleshooting

 

Explore Categories

 

TallyPrime Developer – Troubleshooting

This topic lists common error or warning messages and their corresponding solutions.

Errors

Cause

This error occurs when an included TDL file (%s) is not found or does not exist.

Solution

Include the correct file with appropriate path. To avoid mistakes, use the feature Include Existing File or Include New File available on right-click inside the Tally.Developer 9 window, for including files.

Example

[Include: myreports.tdl]

A file myreports.tdl is included in a TDL file Main.tdl and The file myreports.tdl does not exist.

When this file is compiled, the message error T0001: Could not find the file ‘myreports.tdl’. appears.

Cause

This error occurs when a TDL file(%s) is included more than once as a part of another TDL file.

Solution

Remove the repeated inclusions of the file.

Example

The file myreports.tdl is included twice in the file Main.tdl as given below:

[Include: myreports.tdl]

[Include: myreports.tdl]

When the file Main.tdl is compiled, the message error T0003: file ‘myreports.tdl’ is loaded already. appears.

Cause

This error occurs when a definition is described with no definition type.

Solution

Add the required description type in the code. Use Tally.Developer 9 to write the code as it has the intelligence to show syntax errors.

Example

[ : MyField]

Set as: “Tally Solutions”

Since there is no description type given in this code the message error T0004: The description type is empty. appears.

To correct the code a description type is added as given below:

[Field: MyField]

Set as: “Tally Solutions”

Cause

This error occurs when a definition is defined without a definition name.

Solution

Add the required definition name in the code . Use TallyPrime Developer to write the code as it has the intelligence to show syntax errors.

Example

[Field:]

Set as : “Tally Solutions”

Since there is no description name given in this code the message error T0005: The description name is empty. appears.

To correct the code a field name is added as given below:

[Field: My Field]

Set as : “Tally Solutions”

Cause

This error occurs when a definition is described with incorrect definition type.

Solution

Correct the definition type. Use TallyPrime Developer to write the code as it has the intelligence to show syntax errors.

Example

[Feild: MyField]

Set as: “Tally Solutions”

In the above field definition, definition type is misspelt as Feild. When this file is compiled, the message error T0006: The description type is misspelt or incorrect. appears.

Corrected Code

[Field: MyField]

Set as: “Tally Solutions”

Cause

This error occurs when a definition is described with a name containing invalid characters.

Solution

Definition names must abide by the rules.

  • It should start with alphabet or underscore.
  • It can have alphabets, numbers, underscores, and spaces.

Example

[Field: @MyField]

Set as: “Tally Solutions”

In the above field definition, the name of the definition starts with @ symbol, which is an invalid character for a definition name. Hence the message error T0007: The description name contains invalid characters. appears.

To correct the code remove the symbol @ from the definition name

[Field: MyField]

Set as: “Tally Solutions”

Cause

This error occurs when definition is modified with #, but the original description of it, does not exist.

Solution

Ensure that the original description exists or check whether # is used in the definition name by mistake.

Example

[#Field: NaemField]

Width: 10 mms

In the above example the field NaemField is modified with #, but its original description doesn’t exist. Hence the error message error T0008: Could not find the original description for Field – NaemField appears.

Since the definition name was misspelt, the code is corrected as shown below:

[#Field: NameField]

Width: 10 mms

Cause

This error occurs when the defined description already exists in the code.

Where ‘%s :’%s’ – Definition Type – Definition Name %s(%d)- Previous declaration path(Line Number of Previous Declaration).

Solution

Rename the duplicate description or remove it to avoid the error. It is always a good practice to prefix definition names with organisation name or any other, so that it doesn’t conflict with the definition declaration in default code.  

Example

[#Menu: Gateway of Tally]

Add: Item: ($$LocaleString:”Config”): Menu: Configuration

[Menu: Configuration]

In the above example, a Menu called Configuration is defined which is already exists in the Default TDL code. Hence the message error T0009: Menu – ‘Configuration’ is a duplicate description already defined in  ..tdl.templatesrcconfiginiconfig.tdl(9). appears.

The above code is corrected by renaming the menu definition as shown below:

[#Menu: Gateway of Tally]

Add: Item: ($$LocaleString:”Config”): Menu: TSPLConfiguration

[Menu: TSPLConfiguration]

 

Cause

This error occurs when the developer is trying to modify an internal description.

%s :%s – Description Type : Description Name.

Solution

Do not attempt to modify internal descriptions. Use the description, if necessary.

Example

[#Report: ePayments]

In the above code, the report ePayments is an internal fixed description. Hence the message error T0010: Could not modify the fixed description Report: ePayments. appears.

The error is corrected by defining a new definition to use the fixed description as given below:

[Report: TSPLePayments]

Use: ePayments

Cause

This error occurs when an invalid system description is specified. TDL has a fixed set of system definition types like Events, Formulae, Form Keys, Menu Keys, TDL Names, UDF, and Variables. %s : System definition type

Solution

Correct the definition type to a valid type.

Example

[System: UDFs]

In the above code, a system definition called UDFs is specified which is not a valid system definition type. Hence the message error T0011: The system description type ‘UDFs’ is invalid.  appears.

The code is corrected by changing the definition name to UDF.

[System: UDF]

Cause

This error occurs when the attribute name(%s) is empty in the definition.

Solution

Add the required attribute name.

Example

[System: Variables]

Variable : MyVar     

[Variable: MyVar]

Type : Logical

     : Yes

In the variable definition MyVar, the attribute name is empty for the value Yes. Hence the message error T0012: Could not understand the attribute ‘:Yes’. Attribute name is empty. appears.

To correct the code, the attribute Default is specified for the orphaned attribute value Yes.

[System: Variables]

Variable : MyVar  

[Variable: MyVar]

   Type     : Logical

   Default  : Yes

Cause

This warning occurs when the second sub-attribute of an attribute is mandatory and is not specified. %s – attribute name.

Solution

Set the variable to a value.

Example

[#Menu: Gateway Of Tally]

Add: Item: “MyReport”: Display: MyReport

[Report: MyReport]

Variable : MyVar:String

Set         : MyVar

Use        : Balance Sheet

In the above example, the set attribute of MyReport does not have the second mandatory attribute which is the value.  Hence the warning, warning T0013: The mandatory second value of ‘Set’ is not given appears.

The code is corrected by setting the variable value.

[#Menu: Gateway Of Tally]

Add: Item: “MyReport”: Display: MyReport

[Report: MyReport]

Variable : MyVar:String

Set      : MyVar : “MyText”

Use      : Balance Sheet

Cause

This error occurs when an invalid attribute(%s) is used in a definition(%s).

Solution

Check for spelling mistakes and use the correct attribute.

Example

[System: Variables]

Variable : MyVar

[Variable: MyVar]

Type     : Logical

Defaults : Yes

In the above code, the attribute Defaults is not a valid attribute for the definition variable. So the message error T0014: The attribute ‘Defaults’ is not valid for the description ‘Variable’. appears.

The code is corrected by changing the attribute name Defaults to Default.

[System: Variables]

Variable: MyVar

[Variable: MyVar]

Type    : Logical

Default : Yes

Cause

This error occurs when the description type(%s) specified in Local modifier is not a valid one.

Solution

Check for spelling mistakes and use the right description type for the right definition.

Example

[#Menu: Gateway of Tally]

Add: Item: “My Report”: Display : MyReport    

[Report: MyReport]

Use  : DayBook

Local: Forms: DayBook: Background: White

In the above example, the description type Forms is spelt wrong. Hence the message error T0015: The description type ‘Forms’ is not valid for the dynamic modifier Local.

The code is corrected by changing the description type Forms to Form.

[#Menu: Gateway of Tally]

Add: Item: “My Report”: Display : MyReport    

[Report: MyReport]

Use  : DayBook

Local: Form: DayBook: Background: White

Cause

This error occurs when no description name is given for Local modifier.

Solution

Ensure that all statements used in the code are completed.

Example

[#Menu: Gateway of Tally]

Add: Item: “My Report”: Display : MyReport

[Report: MyReport]

Use  : DayBook

Local:Form

In the above example the form name is not specified. Hence the message error T0016: The description name is mandatory for the dynamic modifier Local.

The code is corrected by adding appropriate Form Name and required values for Local modifier.

[#Menu: Gateway of Tally]

Add: Item: “My Report”: Display : MyReport

[Report: MyReport]

Use  : DayBook

Local: Form: Daybook: Background: White

Cause

This error occurs when a Local definition is incomplete by not specifying the attribute to be modified or added or deleted.

Solution

Ensure that all statements are completed.

Example

[#Menu: Gateway of Tally]

Add: item: “My Report”: Display : MyReport

[Report: MyReport]

Use  : DayBook

Local: Form: DayBook

In the above example, the attribute to be changed or added or deleted is not given. Hence the message error T0017: Empty or invalid attribute for the dynamic modifier Local.

The code is corrected by adding required attributes to Local modifier.

[#Menu: Gateway of Tally]

Add: item: “My Report”: Display : MyReport   

[Report: MyReport]

Use  : DayBook

Local: Form: DayBook: Background: White

Cause

This error occurs when a function is called without passing its mandatory parameter.

  • %s – Name of the function.
  • %d – Position of the Parameter.

Solution

Ensure that mandatory parameter are passed in the function call, or set a default value for the parameter to avoid such errors.

Example

[#Menu: Gateway of Tally]

Add: Item: “abc” : Call : MyFunc

[Function: MyFunc]

001: Call: MyFunc2

[Function: MyFunc2]

Parameter: pInput: String

Function MyFunc2 is called without its mandatory parameter. Hence the message error T0018: Function: MyFunc2 – Mandatory parameter 1 is missing appears.

The code is corrected by setting a default value for the parameter pInput.

[#Menu: Gateway of Tally]

Add: Item: “abc” : Call : MyFunc

[Function: MyFunc]

001: Call: MyFunc2

[Function: MyFunc2]

Parameter: pInput: String:”Daybook”

Cause

This error occurs when the attribute specified for a local modifier is not valid for the description.

Solution

When you use the modifier Local, ensure the attributes to be changed as same as the attributes of the description type specified.

Example

[#Menu: Gateway of Tally]

Add: Item: “MyReport” : Display : MyReport

[Report: MyReport]

Use  : DayBook

Local: Form: DayBook: Field: DSP VchDate: Color: “Red”

In the above example, the Field is not the appropriate attribute for Form. Hence the message error T0019: The attribute ‘Field’ is not valid for the description ‘Form’ in a dynamic modifier Local. appears.

The code is corrected by replacing the attribute Form with Line in the Local modifier.

[#Menu: Gateway of Tally]

Add: Item: “MyReport” : Display : MyReport

[Report: MyReport]

Use  : DayBook

Local: Line: DSP VchDetail: Field: DSP VchDate: Color: “Red”

Cause

This error occurs when a system description is marked as optional.

Solution

Do not mark the system descriptions as optional.

Example

[!System: Variables]

In the above example, the system description is marked as optional. Hence the message error T0021: Cannot mark a system description as optional(!).

The code is corrected by removing the symbol !.

[System:Variables]

Cause

This error occurs when the attribute value for a modifier add is empty.  

%s – attribute name.

Solution

Ensure that the modifiers have appropriate attribute values.

Example

[#Menu: Gateway of Tally]

Add: Item: “MyReport”: Display: MyReport     

[Report: MyReport]

Use    : DayBook

Replace: Form: DayBook:

The form to be replaced is not given for the replace modifier error T0023: The attribute value for ‘Forms’ is empty within the modifier. appears.

[#Menu: Gateway of Tally]

Add: Item: “MyReport”: Display: MyReport

[Report: MyReport]

Use    : DayBook

Replace: Form: DayBook: BalanceSheet

Cause

This error occurs when a description is used in an attribute with the attribute Use, and the same description does not exist.

In the message, %s: %s cater to missing description type: missing description name and %s cater to source definition name.

Solution

Ensure that the description used with the attribute Use is already available. Check for spelling mistakes, if any.

Example

[#Menu: Gateway of Tally]

Add: Item: “MyReport”: Display: MyPurcReport

[Report: MyPurcReport]

Use: MySalesReport

Since the report MySalesReport does not exist in the above example, when you compile the code you get the message error T0025: Could not use the description %s: %s referred from %s in the attribute Use.

The code is corrected by defining the report MySalesReport.

[#Menu: Gateway of Tally]

Add: Item: “MyReport”: Display: MyPurcReport

[Report: MySalesReport]

[Report: MyPurcReport]

Use: MySalesReport

Cause

This error occurs when an attribute or line of code does not fall within a definition.

Solution

Correct the code with proper definition or check if certain characters are written by mistake.

Example

Use: Balance Sheet

[Report: MyReport]

In the above example the word Us: Balance Sheet not part of any definition. Hence the message appears as error T0027: The attribute definition started without a valid description.

The code is corrected by removing the word Use statement from the program.

[Report: MyReport]

Cause

This error occurs when a binary file is included in the TDL file.

Solution

Ensure that the file for inclusion is a .txt file or .tdl file.

Example

Consider that an HTML file called abc.htm has renamed as abc.txt, and included the .txt in a .tdl file. Hence the error message error T0028: Unable to load the file ‘%s’. Invalid file format.

Cause

This error occurs when a used description is referred in another and the description does not exist.

Solution

Ensure that any referred description is already available. Check for spelling mistakes, if any.

Example

[#Menu: Gateway of Tally]

Add: Item: “MyReport”: Display: MyPurcReport

[Report: MyPurcReport]

Use: MySalesReport

In the above example the report MySalesReport does not exist. Hence the message error T0029: Could not find the description Report – ‘MySalesReport’ referred from Report – ‘MyPurcReport’ in the attribute – Use.

The code is corrected by defining the report MySalesReport.

[#Menu: Gateway of Tally]

Add: Item: “MyReport”: Display: MyPurcReport

[Report: MySalesReport]

[Report: MyPurcReport]

Use: MySalesReport

Cause

This error occurs when a duplicate labels are present in a function. %s: duplicated label

Solution

Use labels with a margin of 5 points, like 000, 005, 010, so that any intermediate labels when introduced can have a label with number in between.

Example

[#Menu: Gateway of Tally]

Add: Item: “MyReport”: Call: MyFunc

[Function: MyFunc]

000: Display: DayBook

000: Display: Trial Balance

In the above example, the label 000 is specified twice in the function MyFunc. Hence the message error T0030: Duplicate label 000 in procedural block.

The code is corrected by renaming the second label to 005.

[#Menu: Gateway of Tally]

Add: Item: “MyReport”: Call: MyFunc

[Function: MyFunc]

000: Display: DayBook

005: Display: Trial Balance

Cause

This error occurs when value for the system description is not given. %s ‘%s’ – System description type ‘System description name’.

Solution

Ensure the system definitions are complete.

Example

[System: UDF]  

MyUDF

In the above example, the system UDF MyUDF is not defined completely. Hence the message error T0031: The value of system UDF ‘MyUDF’ is empty.

The code is corrected by adding values to the system description, MyUDF.

[System: UDF]

MyUDF: String : 37115

Cause

This error occurs when action is not specified for a system event.

Solution

Specify the required action for the system event.

Example

[System: Events]

On: Load Company:

In the above example, there is no action specified for the system event On: Load Company, Hence the message error T0033: No action specified for system event.

The code is corrected by adding an action to the system event On: Load Company.

[System: Events]

On: Load Company:Yes:Display:Balance Sheet

Cause

This error occurs when an invalid attribute(%s) is used inside a modifier like Add, Delete, or Replace(%s).

Solution

Use a valid attribute in the modifier.

Example

[#Form:Balance Sheet]

Add: Add: Button:Change Period

The attribute Add is not valid attribute for modifier attribute Add, Hence the message error T0034: Attribute ‘Add’ is not allowed within the modifier ‘Add’.

The code is corrected by removing the attribute Add from the modifier.

[#Form:Balance Sheet]

Add: Button:Change Period

Cause

This error occurs when an incorrect event specified(%s) at definition level or the event is not a valid event for the scope(%s).

Solution

Ensure that the spelling for the event is correct and the event is a valid event.

Example

[System: Events]

On: Form Accept: Yes: Display: Balance Sheet

In the above example, the event Form Accept is not a valid system event. Hence the message error T0035: The event ‘Form Accept’ is invalid or not valid at Events scope.

The code is corrected by adding a valid system event.

[System: Events]    

On: System End: Yes: Display: Balance Sheet

Cause

This error occurs when action parameter is not specified for a menu item.

%s – Menu name.

Solution

Add the appropriate action parameter.

Example

[#Menu: Gateway of Tally]  

Add: item: “MyReport” :Display

In the above example, the action Display for menu item does not have its parameter. Hence the message error T0036:Menu Item MyReport’ does not have an action parameter.

This code is corrected by adding the appropriate action parameter.

[#Menu: Gateway of Tally]  

Add: item: “MyReport” :Display : MyReport

[Report: MyReport]

Use: Balance Sheet

Cause

This error occurs when location keywords before, after, at beginning, at end are used along with modifier Replace or Delete.

Solution

Do not use location keywords with modifiers Replace and Delete.

Example

[#Menu: Gateway Of Tally]

Add: Item: “MyReport”: Display: MyReport

[Report: MyReport]

Use    : Balance Sheet

Replace: Form: Before

In the above example, the modifier Replace does not take location keywords. Hence the message error T0037: Location keyword ‘Before’ is not supported for the modifier ‘Forms’.

The code is corrected by removing the location keyword with an appropriate form.

[#Menu: Gateway Of Tally]

Add: Item: “MyReport”: Display: MyReport   

[Report: MyReport]

Use    : Balance Sheet

Replace: Form: Balance Sheet: TrialBalance

Cause

This error occurs when a given TDL expression(%s) is not understandable or invalid.

Solution

Write a valid TDL expression.

Example

[#Menu: Gateway of Tally]

Add: Item: “MyReport” :Display: MyReport : If ##MyVar then Yes Else

[Report: MyReport]

Use: Balance Sheet

[System: Variables]

Variable: MyVar: Logical

The expression If ##MyVar then Yes Else is incomplete, hence the message error T0041: Invalid TDL Expression – If ##MyVar then Yes Else.

The code is corrected by completing the TDL expression.

[#Menu: Gateway of Tally]

Add: Item: “MyReport” :Display: MyReport : If ##MyVar then Yes Else No    

[Report: MyReport]

Use: Balance Sheet

[System: Variables]

Variable: MyVar: Logical

Cause

This error occurs when a mandatory parameter for the action is missing.

Solution

Give the mandatory parameters when necessary.

Example

[#Form: Balance Sheet]

    Add: Button: MyButton

[Button: MyButton]

    Action: Display

In the above example, the mandatory parameter is missing for the action Display. Hence the message error T0042: Action 'Display' - mandatory parameter 1 is missing.

The code is corrected by giving the report name.

[#Form: Balance Sheet]

Add: Button: MyButton

[Button: MyButton]

Action: Display: Day Book

Cause

This error occurs when a description used in customisation is not available in the target version, while performing version compatibility check.

Solution

Add the required description to the customisation from the base release default code. Rename the description and use it.

Cause

This error occurs when a system description used in customisation is not available in the target version, while performing version compatibility check.

Solution

Add the required description to the customisation from the base release default code. Rename the description and use it.

Cause

This error occurs when an invalid keyword is used for an attribute keyword.

In the error message, ‘%s’ is the keyword name and expected %s – expected keyword type.

Solution

Provide the appropriate keyword for the attribute.

Example

[#Menu: Gateway OF Tally]     

Add: Item: Reports: Display: MyReport     

[Report: MyReport]

Form  : MyReport     

[Form: MyReport]

Use           : Balance Sheet

Vertical Align: LeftRight

In the example, the keyword LeftRight is not a valid align type keyword, hence the message error T0047: Invalid Keyword ‘LeftRight’. The type of keyword expected is ‘Align Type’.

The code is corrected by adding a valid align type keyword.

[#Menu: Gateway OF Tally]

Add: Item: Reports: Display: MyReport     

[Report: MyReport]     

Form  : MyReport     

[Form: MyReport]

Use : Balance Sheet

Vertical Align: Left

Warnings

Cause

This warning occurs when attribute value(%s) is not given in the local modifier.

Solution

Provide the appropriate value for the attribute.

Example

[#Menu: Gateway Of Tally]  

Add: Item: abc: Display: MyReport     

[Report: MyReport]

Use  : Balance Sheet

Local: Form: Balance Sheet: Add:Button

In the example, the button name is not specified for the modifier Local. Hence the warning, warning T0005: The value of the attribute ‘Button’ is empty in the modifier Local.

The code is corrected by adding an appropriate button name.

[#Menu: Gateway Of Tally]  

Add: Item:”MyReport”: Display: MyReport     

[Report: MyReport]

Use  : Balance Sheet

Local: Form: Balance Sheet: Add:Button:MyButton

[Button: MyButton]

Cause

This warning occurs when value is not specified for an attribute where the value specification is not mandatory. %s – attribute name.

Solution

Provide the sub-attributes or remove the line of code if not required.

Example

[#Menu: Gateway Of Tally]

Add: Item: “MyReport”: Display: MyReport 

[Report: MyReport]

Use   : Balance Sheet

Form  :

In the above example, the value is not specified for the sub-attribute Form. Hence the message, warning T0010: The value of the attribute ‘Form:’ is empty.

The code is corrected by removing the attribute Form:

[#Menu: Gateway Of Tally]

Add: Item: “MyReport”: Display: MyReport   

[Report: MyReport]

Use   : Balance Sheet

Cause

This warning occurs when ‘Repeat’ flag which was supported earlier is used during UDF creation. %s – UDF name.

Solution

Remove the repeat flag from the code.

Example

[System: UDF]

MyUDF: String: 7678: Repeat

In the above example, repeat flag is used. Hence the message warning T0012: Repeat flag is not supported for the UDF ‘%s’.

The code is corrected by removing the Repeat flag.

[System: UDF]

MyUDF: String: 7678    

Cause

This warning occurs when the second sub-attribute of an attribute is mandatory and is not specified. %s – attribute name.

Solution

Set the variable to a value.

Example

[#Menu: Gateway Of Tally]

Add: Item: “MyReport”: Display: MyReport

[Report: MyReport]

Variable : MyVar:String

Set         : MyVar

Use        : Balance Sheet

In the above example, the set attribute of MyReport does not have the second mandatory attribute which is the value.  Hence the warning, warning T0013: The mandatory second value of ‘Set’ is not given appears.

The code is corrected by setting the variable value.

[#Menu: Gateway Of Tally]

Add: Item: “MyReport”: Display: MyReport

[Report: MyReport]

Variable : MyVar:String

Set      : MyVar : “MyText”

Use      : Balance Sheet

Cause

This warning occurs when third sub-attribute of an attribute is mandatory and is not specified. %s – attribute name.

Solution

Provide the third attribute.

Example

[#Report: Balance Sheet]

Collection: My Collection    

[Collection: My Collection]

Source Collection   : Default

Walk                : Ledger Entries

Compute Var         : vLedgerName       : String    : $LedgerName

By                  : LedgerName        : ##vLedgerName

Aggr Compute        : Amount            : Sum

In the example, the Aggr Compute attribute of MyCollection does not have third mandatory attribute. Hence the warning, warning T0014: The mandatory third value of ‘Aggr Method’ is not given appears.

The code is corrected by providing the third attribute.

[#Report: Balance Sheet]

Collection: My Collection    

[Collection: My Collection]    

Source Collection   : Default

Walk                : Ledger Entries   

Compute Var         : vLedgerName       : String    : $LedgerName

By                  : LedgerName        : ##vLedgerName

Aggr Compute        : Amount            : Sum  : $Amount

Cause

This warning occurs when Modifier(#) or Reinitializer(*) or Const (@) is specified in a system definition.

%s is the type of system definition.

Solution

Remove the reinitializer.

Example

[*System: UDF]

In the above example the system UDF is reinitialised with *. Hence the message warning T0015: Ignored Modifier(#), Reinitializer(*), and Const(@) that are not allowed for system description type ‘UDF’. appears.

The code is corrected by removing the reinitializer(*).

[System: UDF]

Cause

This warning occurs when a system description is overridden due to duplicate declaration.

%s %s – ‘%s’ – System description type- Description name.

%s(%d) – previous declaration(Line number).

Solution

Either rename the event if same name was used by mistake or remove the declaration if previous declaration should be executed.

Example

[System: Events]

CMPStateChangeLoad  : Load Company  : TRUE   : Call : CMPStateNamechange

In the above example, the system event CMPStateChangeLoad is a duplicate declaration. Hence the message warning T0016: Duplicate description name System Events – ‘CMPStateChangeLoad’ – overridden. srccompanycompany.500(720) : was the previous declaration. appears.

The code is corrected by renaming the system event.

[System: Events]

MyCMPStateChangeLoad : Load Company : TRUE : Call : CMPStateNamechange

Cause

This warning occurs when a definition is reinitialized without having an original description. %s – ‘%s’- Definition Type – Definition Name

Solution

Remove the reinitialization, if the definition is the original description.

Example

[#Form:Balance Sheet]

Add: Button: MyButton

[*Button: MyButton]

Here the button MyButton does not have an original description. Hence the message warning T0017: Original description is not found for Key: MyButton (Reinitialization allowed) appears.

The code is corrected by removing the reinitialization.

[#Form:Balance Sheet]

Add: Button: MyButton

[Button: MyButton]

Cause

This warning appears when a mandatory parameter is mentioned in a function definition after an optional parameter.

Solution

Make sure optional parameter is always mentioned at the end of the parameter list.

Example

[#Menu: Gateway Of Tally]

Add: Item: “MyFunc”: Call: MyFunc

[Function: MyFunc]

000: Call: MyFunc2

[Function: MyFunc2]

Parameter: pVar1: String: “Var1”

Parameter: pVar2: String   

In the example, the parameter pVar2 is a mandatory parameter which is mentioned after an optional parameter pVar1. Hence the message warning T0020: In the function ‘MyFunc2’, the mandatory parameter ‘pVar1’ is specified after optional parameter appears.

The code is corrected by adding the optional parameter at the end.

[#Menu: Gateway Of Tally]

Add: Item: “MyFunc”: Call: MyFunc

[Function: MyFunc]

000: Call: MyFunc2: “Var2”

[Function: MyFunc2]

Parameter: pVar2: String

Parameter: pVar1: String: “Var1”

Cause

This warning occurs when a function with no parameters is called by passing parameters. %s - Function Name.

Solution

Make sure to pass parameter only when parameter is required by the function. Either remove the parameter passed or specify 'parameter' inside the function as applicable.

Example

[#Menu:Gateway of Tally]

Add: Button: MyButton  

[Button: MyButton]

Key: Alt+F9

Action: Call: MyFunc:"abc"    

[Function: MyFunc]

000:Log: "In"

In the example, the function 'MyFunc' has no parameters is called in button by passing a parameter, hence the message warning T0020:The function 'MyFunc' - does not take any parameter appears.

The code is corrected by passing the required parameter.

[#Menu: Gateway of Tally]

Add: Button: MyButton   

[Button: MyButton]

Key: Alt+F9

Action: Call: MyFunc    

[Function: MyFunc]

000:Log: "In"

Cause

This warning occurs when the number specified for the UDF is not within the range specified.

Solution

Ensure the UDF is defined using the allowed range. Numbers falling between 1 to 9999 and 20001 to 65536 are opened for customisation, and those between 10000 to 20000 are allotted for Common development in TSPL.

Example

[System: UDF]

UDF: String: 6553666

Here the number 6553666 is not within the allowed range. Hence the message warning T0022: The UDF number ‘6553666’ used for ‘UDF’ is not in the allowed range appears.

The code is corrected by adding appropriate number.

[System: UDF]

UDF: String: 20004

Cause

This warning occurs when the definition is not used in the code.

Solution

Remove the code if it is not used as part of code clean up. If the definition is used dynamically somewhere, specify the same with the help of pre-processor directive InUse.

Example

[Field: MyField]

In the code snippet, the field MyField is not used in the code. Hence the warning T0023: Unused description Field – MyField appears.

Cause

This warning occurs when the default description used in the customisation is modified in the target version, while performing version compatibility check.

Solution

Check the modification done in the definitions and see how it affects the functionality/execution of the code.

Cause

This warning occurs when the default description type used in the customisation is modified in the target version, while performing version compatibility check.

Solution

Check the modification done in the definitions and see how it affects the functionality/execution of the code.

Cause

This warning occurs when the system description used in the customisation is modified in the target version, while performing version compatibility check.

Solution

Check the modification done in the definitions and see how it affects the functionality/execution of the code.

Post a Comment