Don,

I downloaded FusionCharts and whipped up this example using their column3D sample. For simplicity I generate the required column3D.xml file from a csv file since
the macro can easily create the csv file on the fly from hard-coded data but in production you could retrieve the data using SQL.

The only Net.data code is that which builds the xml data required by Fusion and most of that is because I've hard-coded the data into the source below.
If you were to retrieve the data via an SQL statement then you would just need the few dtwf_writefile statements.

%define {
xmlTbl = %TABLE
csvfile = "/tmp/column3D.csv"
xmlfile = "/tmp/column3D.xml"
NL = {@dtw_rhextochar("15")%}
CRLF = {@dtw_rhextochar("0D25")%}
%}

%{ Define monthly data to be written to csv file %}
%define xmldata = {Jan,462,AFD8F8
Feb,857,F6BD0F
Mar,671,8BBA00
Apr,494,FF8E46
May,761,008E8E
Jun,960,D64646
Jul,629,8E468E
Aug,622,588526
Sep,376,B3AA00
Oct,494,008ED6
Nov,761,9D080D
Dec,960,A186BE
%}

%macro_function buildXml( inout xmlTbl ) {
%report {
%{ In this macro_function example, the code below loads data into Net.data %table xmlTbl from a csv file.
However, if this was a DTW_SQL function then an SQL statement could achieve the same. %}
@dtw_replace(xmldata,NL,CRLF,xmldata)
@dtwf_writefile(csvfile,xmldata)
@dtwf_read(csvfile,"DELIMITED",",",xmlTbl)
@dtw_tb_setn(xmlTbl,"NAME","1")
@dtw_tb_setn(xmlTbl,"VALUE","2")
@dtw_tb_setn(xmlTbl,"COLOR","3")

%{ Write xml <graph> element %}
@dtwf_writefile(xmlfile,"<graph caption='Monthly Unit Sales' ")
@dtwf_writefile(xmlfile,"xAxisName='Month' yAxisName='Units' ","Y")
@dtwf_writefile(xmlfile,"decimalPrecision='0' formatNumberScale='0'> $(CRLF)","Y")
%row {
@dtwf_writefile(xmlfile,"<set name=""$(V_NAME)"" value=""$(V_VALUE)"" color=""$(V_COLOR)"" /> $(CRLF)","Y")
%}
@dtwf_writefile(xmlfile,"</graph>", "Y")
%}
%}

%html(macro) {
<html xmlns="http://www.w3.org/1999/xhtml";>
<head>
<script language="JavaScript">
// write dynamically generated base tag to allow relative urls within html
docHost = document.location.protocol + '//' + document.location.host
docDir = '/www/FusionCharts/MyFirstChart'
document.write('<base href="' + docHost + docDir + '/" />')
</script>

<!-- The remaining html code is copied straight from the FusionCharts demo sample -->

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>FusionCharts Free Documentation</title>
<link rel="stylesheet" href="../Contents/Style.css" type="text/css" />
<script language="JavaScript" src="../JSClass/FusionCharts.js"></script>
</head>

<body>
<table width="98%" border="0" cellspacing="0" cellpadding="3" align="center">
<tr>
<td valign="top" class="text" align="center"> <div id="chartdiv" align="center">
FusionCharts. </div>
<script type="text/javascript">
var chart = new FusionCharts("../Charts/FCF_Column3D.swf", "ChartId", "600", "350");
chart.setDataURL("Data/Column3D.xml");
chart.render("chartdiv");
</script>
</td>
</tr>
<tr>
<td valign="top" class="text" align="center"> </td>
</tr>
<tr>
<td valign="top" class="text" align="center">
<a href="Data/Column3D.xml" target="_blank">
<img src="../Contents/Images/BtnViewXML.gif"
width="75" height="25" border="0" />
</a>
</td>
</tr>
</table>

%{ Generate the Data/Column3D.xml stream file that Fusion will load from the browser %}
@buildXml( xmlTbl )

</body>
</html>
%}

Cheers, Peter

-----Original Message-----
From: web400-bounces@xxxxxxxxxxxx [mailto:web400-bounces@xxxxxxxxxxxx] On Behalf Of Don Cavaiani
Sent: Tuesday, 7 December 2010 9:29 a.m.
To: Web Enabling the AS400 / iSeries
Subject: Re: [WEB400] Fully seamless job stream

I have the FusionCharts set up correctly to output a graph from data in
an IFS file which is in XML format - named data.xml. What methods can I
use to replace that data on the fly just before graphing takes place -
possibly via an SQL statement in a net.data macro, and then somehow
copied/written BACK OVER the top of the data in the data.xml file ...

-----Original Message-----
From: web400-bounces@xxxxxxxxxxxx [mailto:web400-bounces@xxxxxxxxxxxx]
On Behalf Of Jim Oberholtzer
Sent: Monday, December 06, 2010 6:00 AM
To: Web Enabling the AS400 / iSeries
Subject: Re: [WEB400] Fully seamless job stream

Having read this thread, I'm wondering why no one suggested Query?
WebQuery can produce the exact results your looking for. If you don't
own Query then a PHP, Javascript, or Java solution would work but
require quite a bit of care and feeding over time making the Query look
better.

Jim Oberholtzer
CEO/Chief Technical Architect
Agile Technology Architects, LLC


On 12/5/2010 6:57 PM, Aaron Bartell wrote:
Wouldn't it be best if IBM i solutions were sought out first?

AaronBartell.com
On Dec 5, 2010 3:25 PM, "Maurice O&apos;Prey"<Maurice.Oprey@xxxxxxxxx>
wrote:
Checkout the free Chart Control in .NET 4

-----Original Message-----
From:web400-bounces@xxxxxxxxxxxx
[mailto:web400-bounces@xxxxxxxxxxxx] On Behalf Of Aaron Bartell
Sent: 05 December 2010 19:34
To: Web Enabling the AS400 / iSeries
Subject: Re: [WEB400] Fully seamless job stream

Check out RPG Chart Engine at MowYourLawn.com. It is completely
open source, uses data queues to talk to Java from RPG, and uses
JFree Chart as the chart "engine".


Aaron Bartell
www.MowYourLawn.com/blog
www.OpenRPGUI.com
www.SoftwareSavesLives.com



On Sat, Dec 4, 2010 at 6:11 PM, Don
Cavaiani<dcavaiani@xxxxxxxxxxxxx
wrote:

Jim,

I am looking at downloading JreeChart and using it SOMEWHAT
similar
(directions?) to how I use jscalendar inside the net.data macro
- is that logical?

Don C

-----Original Message-----
From:web400-bounces@xxxxxxxxxxxx
[mailto:web400-bounces@xxxxxxxxxxxx]
On Behalf Of Jim Franz
Sent: Saturday, December 04, 2010 3:38 PM
To: Web Enabling the AS400 / iSeries
Subject: Re: [WEB400] Fully seamless job stream

How are you doing your web presentation? php, cgi, websphere...

This thread from 2009 discusses several options
http://archive.midrange.com/web400/200901/msg00154.html
The Excel option is also possible, assuming the web user has
Excel (then you have to worry about various levels of Excel 2003
or 2007 or 2010).
Scott Klement has some published tools (free) to generate excel
with formulas).
jQuery and many other toolkits& plugins are an option (and
mostly
free-)

Jim Franz

----- Original Message -----
From: "Don Cavaiani"<dcavaiani@xxxxxxxxxxxxx>
To:<web400@xxxxxxxxxxxx>
Sent: Saturday, December 04, 2010 11:03 AM
Subject: [WEB400] Fully seamless job stream


> Is this possible:
>
> IBM i job stream which calculates supplier delivery
performance
'on-time
> %' statistics for past 12 months - a data file which I have
already > created, and then have that calculated 12 month data

auto transferred
to
> an Excel spreadsheet which shows a month by month line graph

(which > would be accessed by a Web Page click - which I know
how to do).
>
> Some other way easier?
> --
> This is the Web Enabling the AS400 / iSeries (WEB400)
mailing list > To post a message email:WEB400@xxxxxxxxxxxx >

To subscribe, unsubscribe, or change list options, >
visit:http://lists.midrange.com/mailman/listinfo/web400
> or email:WEB400-request@xxxxxxxxxxxx > Before posting,
please take a moment to review the archives >
athttp://archive.midrange.com/web400.
>
--
This is the Web Enabling the AS400 / iSeries (WEB400) mailing list To
post a message email: WEB400@xxxxxxxxxxxx To subscribe, unsubscribe, or
change list options,
visit: http://lists.midrange.com/mailman/listinfo/web400
or email: WEB400-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/web400.


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.