Every test has its own default.xls
The script inside the external action corresponds to default.xls of external test !
But when you call it as an external action, while execution of that script,qtp will search for default.xls of calling test! so it can actually throw error if same column names are not used in "calling test's default.xls"
Instead of messing up with these default.xls of multiple tests, create an excel file outside both the test folders and inside your integration project.
Use that path of file in the reusable action's code.Now when you call it as external action also, it will always get/set data present in the single excel file in that path!
However i suspect your problem to be not able to update the original file due to not exporting the data and directly trying to change table cell values which are in effect only during the run session!
So make sure you are using Datatable.ExportSheet/Export method after making necessary updates.
The script inside the external action corresponds to default.xls of external test !
But when you call it as an external action, while execution of that script,qtp will search for default.xls of calling test! so it can actually throw error if same column names are not used in "calling test's default.xls"
Instead of messing up with these default.xls of multiple tests, create an excel file outside both the test folders and inside your integration project.
Use that path of file in the reusable action's code.Now when you call it as external action also, it will always get/set data present in the single excel file in that path!
However i suspect your problem to be not able to update the original file due to not exporting the data and directly trying to change table cell values which are in effect only during the run session!
So make sure you are using Datatable.ExportSheet/Export method after making necessary updates.