RowSet into a String Variable

Post any question you may have in regards to GoAnywhere Director and let our talented support staff and other users assist you.
3 posts Page 1 of 1

Adam_Padron

Verified User
Posts: 1
Joined: Thu May 07, 2009 6:00 pm

Post by Adam_Padron » Thu May 07, 2009 6:10 pm
When I try to use a rowset variable within an email body GA returns a string like "com.linoma.dpa.tasks.xmlread.XMLRowSet@1ccdba1". If I output the rowset to a CSV file I see the correct value. How do I convert the rowset into a string that I may use in the emial? I'm using GoAnywhere version 1.6.0.

Support_Steve

Support Specialist
Posts: 11
Joined: Fri May 08, 2009 8:59 am

Post by Support_Steve » Fri May 08, 2009 9:38 am
In GoAnywhere version 1.6 the best route to take is to write the Rowset variable to a CSV file just like you did and attach the CSV file to the email. You can add an attachment by clicking on the Action menu while you are on the Send Email task and select the Add Attachments menu item.

If you would rather have the contents of the Rowset placed into the body of the email message without using an attachment then I would recommend upgrading to 2.0. The newer version has an additional task called Set Variable. In your case you will still need to write the CSV file first. Then you can use the Set Variable task to set a variable to the contents of that new file. In your email task you would simply refer to this new variable and the contents of the file (which is your Rowset data) will be placed into the body of the email message.

If you go this direction it is important to note that the Set Variable task will read in the entire contents of the file and store it into memory. If the file is large you will need to determine whether GoAnywhere is allocated enough memory to support it.

If you choose to upgrade to version 2.x here is an example project that will send an email with the contents of the file in the email body.
Code: Select all
<project name="RowsetEmail" mainModule="Main" version="1.0">

	<module name="Main">

		<setVariable name="data" inputFile="/linoma/goanywhere/userdata/documents/administrator/xml/EMP.csv" />


		<sendEmail resourceId="Linoma SMTP Server" toList="[email protected]">
			<from address="[email protected]" />
			<subject>
				<![CDATA[Subject]]>
			</subject>
			<message>
				<![CDATA[${data}]]>
			</message>
		</sendEmail>

	</module>

</project>

Support_Erick

Support Specialist
Posts: 12
Joined: Thu Mar 05, 2009 10:20 am

Post by Support_Erick » Mon May 11, 2009 9:03 am
GoAnywhere 1.x has the ability to use the contents of a file on the file system as the message body of an email. You can add a Message element to the Send Email task by selecting the task element in the project designer and clicking Action -> Specify Message Text. In the File attribute, type the path of a file or launch the file chooser by clicking the ".." button next to the attribute. When the project runs, the contents of this file will be used as the email's message body.
3 posts Page 1 of 1