I've been using Automise for a short while now and have created a handful of scripts to handle data exchanges and updates, doing things such as FTP and database data imports, emailing, and database logging. Everything was going fine until I ran into one of the trading partners that we exchange data with who uses percent characters (%) in their FTP paths. Have you ever tried to work with data in Automise that contains percent characters? If you have you probably gave up like I did - data containing percents really takes Automise down. Although, in general, I like the overall idea and design of this tool, the reason for this percent problem causes me to really question the continued general use of this tool.
The percent character is used throughout Automise for variable expansion which allows string variables to be inserted and incorporated at runtime. So to actually include (embed) a percent character in a string literal you need to escape it by using two percent characters together. This is typical string-literal escaping similar to how most other programming languages work. This is where the similarity to other programming languages ends however. Every time an Automise action touches a string with an embedded % (for example simple assignment from one variable to another) the escaping is removed by Automise and the next time the string is accessed Automise crashes. Additionally any string data with embedded percent signs that is external to Automise needs to be escaped before getting input into Automise or Automise will crash.
Although percent characters are not that common in everyday data this seems like some pretty bad language design to me and doesn't give me a lot of overall confidence in the tool. In addition, I'm really hesitant about our data - we have many trading partners that we exchange data with and it could be very difficlut to keep track of where a percent character may all of a sudden show up and wreak havoc with our Automise scripts. Is this a known problem and, if so, are there plans underway to correct it? When will it be fixed?
any comments?
I’m not sure why this post wasn’t responded to before, for that I apologise.
The design of variable expansion was made a long time ago, in a product not designed for data manipulation (FinalBuilder). I can see this an issue in Automise which does get used for data manipulation, and we do have plans to address this, although at this stage I’m unsure what the solution will be. I am open to suggestions.
FWIW, with variable expansion, you can disable the recursive nature of the expansion using this syntax : %!VARIABLENAME%
Note the ! before the variable name. What this does is stop the recursive expansion after the first variable reference is expanded.