
Zitat von
Fuerchau
Wenn SQL dann auch noch gleich den Datenexport (ohne Programm) mit erledigt...
Ganz ohne Programm geht es über eine SQL-Function, aber es geht auch mit RPG
PHP-Code:
ctl-opt dftactgrp(*no) option(*nounref);
//------------------------------------------------------------------//
// //
// WRKSYSSTS mit SQL ins IFS //
// //
//----------------- //
// R.Ross 04.2016 * //
//------------------------------------------------------------------//
// Ausführungsbestimmungen //
//------------------------------------------------------------------//
wrksyssts('/tmp/wrksyssts.xml');
*inlr = *on;
//------------------------------------------------------------------//
// Procedure - wrksyssts //
//------------------------------------------------------------------//
dcl-proc wrksyssts;
dcl-pi *n;
file varchar(256) const options(*varsize:*trim);
end-pi;
dcl-s clob sqltype(xml_clob_File); // XML-CLOB-File
exec sql set option datfmt=*iso, timfmt=*iso, commit=*none,
closqlcsr=*endactgrp;
clob_name = file; // StreamFile
clob_nl = %len(%trim(clob_name)); // NameLength
clob_fo = SQFOVR; // FileOverwrite
exec sql declare sqlcursor cursor for // Declare Cursor
select xmlserialize(
content xmlelement(
name "row",
xmlforest(
ACTIVE_JOBS_IN_SYSTEM,
AVERAGE_CPU_UTILIZATION,
SYSTEM_ASP_STORAGE,
SYSTEM_ASP_USED
)
)
as clob(1M) including xmldeclaration)
from QSYS2.SYSTEM_STATUS_INFO;
exec sql open sqlcursor; // Open Cursor
if sqlcod = *zero;
exec sql fetch sqlcursor into :clob;
endif;
exec sql close sqlcursor; // Close Cursor
end-proc;
//------------------------------------------------------------------//
Das Ergebnis ist eine XML-Datei, die so aussieht und mit PHP eingelesen werden kann
PHP-Code:
<?xml version="1.0" encoding="UTF-8"?>
<row>
<ACTIVE_JOBS_IN_SYSTEM>244</ACTIVE_JOBS_IN_SYSTEM>
<AVERAGE_CPU_UTILIZATION>2,11</AVERAGE_CPU_UTILIZATION>
<SYSTEM_ASP_STORAGE>1702770</SYSTEM_ASP_STORAGE>
<SYSTEM_ASP_USED>15,57</SYSTEM_ASP_USED>
</row>
Einlesen der Datei mit PHP
PHP-Code:
<?php
$xml = simplexml_load_file("wrksyssts.xml") or die("Error: Cannot create object");
print_r($xml);
?>
Das Ergebnis ist ein PHP-Array
PHP-Code:
SimpleXMLElement Object (
[ACTIVE_JOBS_IN_SYSTEM] => 244
[AVERAGE_CPU_UTILIZATION] => 2,11
[SYSTEM_ASP_STORAGE] => 1702770
[SYSTEM_ASP_USED] => 15,57)
Die Feldnamen findet Ihr hier https://www.ibm.com/developerworks/c...EM_STATUS_INFO
Grafische Auswertungen mit der IBM i + www.webix.com + www.highcharts.com sehen so aus
www.myhofi.com/devhtm/charts.htm
Herzliche Grüße
Rainer
Bookmarks