Is there a reason why when I use a ‘container’ - such as a If/Condition, While, Group Activities, or Parallel - certain items that come after it (say, zipping a file) cannot ‘see’ the file name created by other actions - such as Export to File - within those containers?
This basically makes such containers useless, if you have certain activities that need to take place within one of them, and others that don’t, but the end results of all need to be - for example - zipped up and sent to an FTP site.
This is outstanding issue (QAT-3201) We plan to look at it and fix for this release.
We did this on purpose. Here are two examples:
When you use an If condition with more than one branch an output file may or may not be generated.So we assume you would put the email activity in the If branch that generates the file.
In a loopdataset activity each loop may generate a report with a suffix. The attachment editor users only out put names without a suffix. Suffixes are generated at run time. When you have an email outside of a loopdataset, which output would we be choosing?
So we assumed that users would only be including emails within the container object. Do you have a use case where the email in the container object does not work?
One possible solution would be to write all of your outputs to a specific directory and we add a new feature in the attachment editor that automatically grabbed all files in a specific directory. Would that work?
Anyone interested in this issue please respond.
I understand both of those use cases, but they only address one side of the issue. To give you an example, I have reports that I generate from two different Oracle databases, each for a different system. One one of those, the data is always available when the report runs because it’s a real-time data store. For the other one, the tables are not always available at the same time, so I have a While Loop with an If/Then loop that checks the table count, and only proceeds with the report export if the tables are ready.
In this scenario, the reports are zipped, encrypted and FTP’d to their final destination. Unless I place the first report before the Loop container, and place the ZIP activity inside the container the ZIP activity cannot see the first report which does not require a Loop container. This is just a bit asinine.
I even tried setting this up with a Parallel container - placing the While/If/Then loop on one side and the reports that didn’t require it on the other. The ZIP activity could not see any files generated from inside the Parallel container, which makes no sense.
Your examples make perfect sense when the activity is email, but there are other activities that aren’t email that we use as well.
Just for us to better understand the task you’re trying to accomplish - can you provide us the script that would work for you? Let it be with errors, just a mock-up.
Igor and I looked at this today. We made a sample file following what you are doing. We still cannot see a way to do this that solves all scenarios. In your case, what if you wanted to keep your while loop continuing to make a report every five minutes. Here the report name must be different and the only way to pick up all of those reports would be to have the zip on the inside of the container OR place all of these in a directory to gather up outside of the container.
Now it is still possible we do not fully understand your use case. So sending a sample script is still useful to us. But our changes need to solve for all uses.