-
QSMRTVBTC - Cache Battery Information API
Hat jemand zufällig ein Beispielprogramm oder wenigstens die das fertige Procedure-Interface? In der QSYSINC hab ich nix dazu gefunden. Würde mir etwas Zeit sparen.
-
-
Nope,
die passende Datei finde ich nicht, Du vielleicht?
der Artikel selbst ist auch nicht mehr online.
-
Vielleicht versuchst Du mal den Carsten Flensburg zu erreichen.
-
Zitat von Chris.jan
Hat jemand zufällig ein Beispielprogramm oder wenigstens die das fertige Procedure-Interface? In der QSYSINC hab ich nix dazu gefunden. Würde mir etwas Zeit sparen.
Vielleicht hilft Dir folgendes geschwätzige CL weiter, das ich mal vor Ewigkeiten gebastelt habe...
-h
PHP-Code:
PGM
DCL VAR(&RCVVAR) TYPE(*CHAR) LEN(1024) VALUE(' ')
DCL VAR(&RCVVARSIZ) TYPE(*INT) LEN(4) VALUE(1024)
DCL VAR(&FMTNAME) TYPE(*CHAR) LEN(8) +
VALUE('CBTT0100')
DCL VAR(&TIMZON) TYPE(*CHAR) LEN(10) VALUE('*SYS')
DCL VAR(&ERRCDE) TYPE(*CHAR) LEN(16) /* ERRC0100 */
/* Wo in Datenstruktur wollen wir Daten holen? */
/* wird je Unterstruktur verschoben */
DCL VAR(&POINT) TYPE(*INT) LEN(4) VALUE(0)
/* Datenstruktur ERRC0100 */
DCL VAR(&ERRID) TYPE(*CHAR) STG(*DEFINED) LEN(7) +
DEFVAR(&ERRCDE 9)
/* Datenstruktur CBTT0100 */
DCL VAR(&BYTRET) TYPE(*INT) STG(*DEFINED) LEN(4) +
DEFVAR(&RCVVAR 1) /* Bytes returned */
DCL VAR(&BYTAVL) TYPE(*INT) STG(*DEFINED) LEN(4) +
DEFVAR(&RCVVAR 5) /* Bytes available */
DCL VAR(&NUMENT) TYPE(*INT) STG(*DEFINED) LEN(4) +
DEFVAR(&RCVVAR 9) /* Number of entries */
DCL VAR(&OFFENT) TYPE(*INT) STG(*DEFINED) LEN(4) +
DEFVAR(&RCVVAR 13) /* Offset to first +
entry */
DCL VAR(&LPARNBR) TYPE(*INT) STG(*DEFINED) +
LEN(2) DEFVAR(&RCVVAR 73) /* LPAR-Number */
DCL VAR(&LPARNAME) TYPE(*CHAR) STG(*DEFINED) +
LEN(48) DEFVAR(&RCVVAR 75) /* Partition +
name */
/* Unterstruktur je IOA */
DCL VAR(&IOAINFO) TYPE(*CHAR) LEN(160)
DCL VAR(&IOAENTLEN) TYPE(*INT) STG(*DEFINED) +
LEN(2) DEFVAR(&IOAINFO 1)
DCL VAR(&IOAENTNUM) TYPE(*INT) STG(*DEFINED) +
LEN(2) DEFVAR(&IOAINFO 3)
DCL VAR(&IOATYPE) TYPE(*CHAR) STG(*DEFINED) +
LEN(4) DEFVAR(&IOAINFO 5)
DCL VAR(&IOAMODEL) TYPE(*CHAR) STG(*DEFINED) +
LEN(4) DEFVAR(&IOAINFO 9)
DCL VAR(&IOASERIAL) TYPE(*CHAR) STG(*DEFINED) +
LEN(15) DEFVAR(&IOAINFO 13)
DCL VAR(&IOARSCNAM) TYPE(*CHAR) STG(*DEFINED) +
LEN(10) DEFVAR(&IOAINFO 28)
DCL VAR(&IOAPHYLOC) TYPE(*CHAR) STG(*DEFINED) +
LEN(79) DEFVAR(&IOAINFO 38)
DCL VAR(&IOAFRAME) TYPE(*CHAR) STG(*DEFINED) +
LEN(4) DEFVAR(&IOAINFO 117)
DCL VAR(&IOACRDPOS) TYPE(*CHAR) STG(*DEFINED) +
LEN(3) DEFVAR(&IOAINFO 121)
DCL VAR(&IOAVERSION) TYPE(*CHAR) STG(*DEFINED) +
LEN(1) DEFVAR(&IOAINFO 124)
DCL VAR(&IOAERROR) TYPE(*CHAR) STG(*DEFINED) +
LEN(1) DEFVAR(&IOAINFO 125)
DCL VAR(&IOABATSTA) TYPE(*CHAR) STG(*DEFINED) +
LEN(1) DEFVAR(&IOAINFO 126)
DCL VAR(&IOAMAINT) TYPE(*CHAR) STG(*DEFINED) +
LEN(1) DEFVAR(&IOAINFO 127)
DCL VAR(&IOACDATA) TYPE(*CHAR) STG(*DEFINED) +
LEN(1) DEFVAR(&IOAINFO 128)
DCL VAR(&IOADTW) TYPE(*INT) STG(*DEFINED) LEN(2) +
DEFVAR(&IOAINFO 129)
DCL VAR(&IOADTE) TYPE(*INT) STG(*DEFINED) LEN(2) +
DEFVAR(&IOAINFO 131)
DCL VAR(&IOAPON) TYPE(*INT) STG(*DEFINED) LEN(2) +
DEFVAR(&IOAINFO 133)
DCL VAR(&IOAPONADJ) TYPE(*INT) STG(*DEFINED) +
LEN(2) DEFVAR(&IOAINFO 135)
/* allgemeines */
DCL VAR(&MESSAGE) TYPE(*CHAR) LEN(50)
DCL VAR(&MSG) TYPE(*CHAR) LEN(30)
DCL VAR(&COUNTDOWN) TYPE(*INT) LEN(4) VALUE(0)
DCL VAR(&HEX01) TYPE(*CHAR) LEN(1) VALUE(X'01')
DCL VAR(&HEX02) TYPE(*CHAR) LEN(1) VALUE(X'02')
CALLSUBR SUBR(GET)
/* ========================================================= */
/* ***** GET ***** */
SUBR SUBR(GET)
CALL PGM(QSMRTVBTC) PARM(&RCVVAR &RCVVARSIZ +
&FMTNAME &TIMZON &ERRCDE)
CHGVAR VAR(&MESSAGE) VALUE('Error code = ' *TCAT +
&ERRID)
SNDMSG MSG(&MESSAGE) TOUSR(*REQUESTER)
CHGVAR VAR(&MSG) VALUE(&NUMENT)
CHGVAR VAR(&MESSAGE) VALUE('Number of entries: ' +
*TCAT &MSG)
SNDMSG MSG(&MESSAGE) TOUSR(*REQUESTER)
CHGVAR VAR(&COUNTDOWN) VALUE(&NUMENT)
/* OFFENT ist die dezimale Position auf den (ersten) Eintrag */
CHGVAR VAR(&MESSAGE) VALUE(&OFFENT)
SNDMSG MSG(&MESSAGE) TOUSR(*REQUESTER)
CHGVAR VAR(&POINT) VALUE(&OFFENT)
CHGVAR VAR(&POINT) VALUE(&POINT + 1)
DOFOR VAR(&COUNTDOWN) FROM(&NUMENT) TO(1) BY(-1)
/* Anzeigen der IOA-Infos ab Byte "&point" */
CALLSUBR SUBR(SHOWIOA)
CHGVAR VAR(&POINT) VALUE(&POINT + &IOAENTLEN)
ENDDO
ENDSUBR
/* ***** SHOWIOA ***** */
SUBR SUBR(SHOWIOA)
CHGVAR VAR(&MSG) VALUE(&POINT)
CHGVAR VAR(&MESSAGE) VALUE('Substruktur ab: ' +
*TCAT &MSG)
SNDMSG MSG(&MESSAGE) TOUSR(*REQUESTER)
/* Unterstruktur in IOAINFO schieben */
CHGVAR VAR(&IOAINFO) VALUE(%SST(&RCVVAR &POINT 160))
CHGVAR VAR(&MSG) VALUE(&IOAENTLEN)
CHGVAR VAR(&MESSAGE) VALUE('L‰nge Substruktur: ' +
*TCAT &MSG)
SNDMSG MSG(&MESSAGE) TOUSR(*REQUESTER)
SNDMSG MSG('Ausgabe der Unterstruktur:') +
TOUSR(*REQUESTER)
CHGVAR VAR(&MESSAGE) VALUE(%SST(&IOAINFO 1 50))
SNDMSG MSG(&MESSAGE) TOUSR(*REQUESTER)
CHGVAR VAR(&MESSAGE) VALUE(%SST(&IOAINFO 51 50))
SNDMSG MSG(&MESSAGE) TOUSR(*REQUESTER)
CHGVAR VAR(&MESSAGE) VALUE(%SST(&IOAINFO 101 50))
SNDMSG MSG(&MESSAGE) TOUSR(*REQUESTER)
/* auswerten */
CHGVAR VAR(&MSG) VALUE(&IOAENTLEN)
CHGVAR VAR(&MESSAGE) VALUE('EntryLen:' *TCAT &MSG)
SNDMSG MSG(&MESSAGE) TOUSR(*REQUESTER)
CHGVAR VAR(&MSG) VALUE(&IOAENTNUM)
CHGVAR VAR(&MESSAGE) VALUE('EntryNum:' *TCAT &MSG)
SNDMSG MSG(&MESSAGE) TOUSR(*REQUESTER)
CHGVAR VAR(&MSG) VALUE(&IOATYPE)
CHGVAR VAR(&MESSAGE) VALUE('IOA Type:' *TCAT &MSG)
SNDMSG MSG(&MESSAGE) TOUSR(*REQUESTER)
CHGVAR VAR(&MSG) VALUE(&IOAMODEL)
CHGVAR VAR(&MESSAGE) VALUE('IOA Model:' *TCAT &MSG)
SNDMSG MSG(&MESSAGE) TOUSR(*REQUESTER)
CHGVAR VAR(&MSG) VALUE(&IOASERIAL)
CHGVAR VAR(&MESSAGE) VALUE('IOA SerNr:' *TCAT &MSG)
SNDMSG MSG(&MESSAGE) TOUSR(*REQUESTER)
CHGVAR VAR(&MSG) VALUE(&IOARSCNAM)
CHGVAR VAR(&MESSAGE) VALUE('IOA Rsc :' *TCAT &MSG)
SNDMSG MSG(&MESSAGE) TOUSR(*REQUESTER)
CHGVAR VAR(&MSG) VALUE(%SST(&IOAPHYLOC 1 30))
CHGVAR VAR(&MESSAGE) VALUE('IOA Loc :' *TCAT &MSG)
SNDMSG MSG(&MESSAGE) TOUSR(*REQUESTER)
CHGVAR VAR(&MSG) VALUE(&IOAFRAME)
CHGVAR VAR(&MESSAGE) VALUE('IOA Frame:' *TCAT &MSG)
SNDMSG MSG(&MESSAGE) TOUSR(*REQUESTER)
CHGVAR VAR(&MSG) VALUE(&IOACRDPOS)
CHGVAR VAR(&MESSAGE) VALUE('IOA CPos :' *TCAT &MSG)
SNDMSG MSG(&MESSAGE) TOUSR(*REQUESTER)
IF COND(&IOAERROR *EQ &HEX01) THEN(DO)
CHGVAR VAR(&MESSAGE) VALUE('WARNING!')
SNDMSG MSG(&MESSAGE) TOUSR(*REQUESTER)
ENDDO
IF COND(&IOAERROR *EQ &HEX02) THEN(DO)
CHGVAR VAR(&MESSAGE) VALUE('ERROR!')
SNDMSG MSG(&MESSAGE) TOUSR(*REQUESTER)
ENDDO
CHGVAR VAR(&MSG) VALUE(&IOADTW)
CHGVAR VAR(&MESSAGE) VALUE('IOA DTW :' *TCAT &MSG)
SNDMSG MSG(&MESSAGE) TOUSR(*REQUESTER)
IF COND(&IOADTW *LT 40) THEN(DO)
CHGVAR VAR(&MESSAGE) VALUE('Order new battery!')
SNDMSG MSG(&MESSAGE) TOUSR(*REQUESTER)
ENDDO
CHGVAR VAR(&MSG) VALUE(&IOADTE)
CHGVAR VAR(&MESSAGE) VALUE('IOA DTE :' *TCAT &MSG)
SNDMSG MSG(&MESSAGE) TOUSR(*REQUESTER)
CHGVAR VAR(&MSG) VALUE(&IOAPON)
CHGVAR VAR(&MESSAGE) VALUE('IOA Pon :' *TCAT &MSG)
SNDMSG MSG(&MESSAGE) TOUSR(*REQUESTER)
CHGVAR VAR(&MSG) VALUE(&IOAPONADJ)
CHGVAR VAR(&MESSAGE) VALUE('IOA Pon A:' *TCAT &MSG)
SNDMSG MSG(&MESSAGE) TOUSR(*REQUESTER)
ENDSUBR
/* ========================================================== */
ENDPGM
-
Similar Threads
-
By schatte in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 08-08-18, 18:03
-
By Fuerchau in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 21-03-17, 08:39
-
By Fuerchau in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 05-08-14, 21:54
-
By Der Gute in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 11-06-02, 15:09
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks