IBM i
Aus informatikvs
... aka as/400 and iseries, is IBM's minicomputer platform introduced in 1988
Inhaltsverzeichnis
Features
- Einspeicherkonzept (Hauptspeicher=RAM+Platten)
- Datenbank, Kommunikations- und Sicherheitssoftware im Betriebssystem enthalten
- Alles sind Objekte (Daten, Programme, Befehle, Profile, Einheiten, etc.pp)
- Objekte sind nicht Größenbeschränkt und werden über Namen (nicht Adressen) angesprochen
History
- 1988
- erste Ankündigung der AS/400 am 20. Juni (Weiterentwicklung S/38 und S/36) mit Architektur einer VM, dem Technology Independent Machine Interface (TIMI)
- 1989
- TCP/IP Support
- 1991
- Multiprozessor-Support unter V2R1, ILE (ab V2R3)
- 1995
- Umstellung auf POWER Architektur
- 1996
- Umstellung von 48-Bit-CISC auf 64-Bit-RISC, IFS (ab V3)
- 1997
- prozessortechnische Vereinheitlichung der Modellreihen RS/6000 und AS/400
- 1998
- Einführung von light-weight threads ab V4R2 (hat bspw. java und lotus Domino ermöglicht)
- 1999
- V4R4 - Virtualisierung, statisches LPAR, Datenverschlüsselung per VPN
- 2000
- iSeries
- 2001
- V5R1 - dynamisches LPAR, virtuelles LAN
- 2002
- IPv6
- 2003
- Power5
- 2004
- ab V5R3M0 wird das Betriebssystem von OS/400 in i5/OS umbenannt
- 2005
- Power5+
- 2007
- Power6, offizieller Support von PHP, mySQL
- 2008
- System i und System p-Familie werden zusammengeführt (Einsatz als Web-Server), mit V6R1 heisst das Betriebssystem nun IBM i 6.1 (seit 2004: i5/OS) - IBM i kann jetzt auch IBM i hosten;)
- 2010
- Power7 mit IBM i 7.1
- 2012
- Power i mit Live Partition Mobility als neuestes Merkmal
- 2013
- am 30. September endet der offizielle Support von V5R4!
Befehlszeile
===> DSPNETA ... NETZWERKATTRIBUTE ANZEIGEN ===> WRKACTJOB ... MIT AKTIVEN JOBS ARBEITEN ===> WRKCFGSTS *DEV ... MIT KONFIGURATIONSSTATUS ARBEITEN ===> WRKDEVD ... MIT EINHEITENBESCHREIBUNGEN ARBEITEN ===> WRKFLR ... MIT ORDNERN ARBEITEN ===> WRKHDWRSC *STG ... MIT SPEICHERRESSOURCEN ARBEITEN ===> WRKLIND *ALL ... MIT LEITUNGSBESCHREIBUNGEN ARBEITEN ===> WRKLNK ... MIT OBJEKTVERBINDUNGEN ARBEITEN ===> WRKMODD ... MIT MODUSBESCHREIBUNGEN ARBEITEN ===> WRKOBJ *ALL ... MIT OBJEKTEN ARBEITEN ===> WRKSBS ... MIT SUBSYSTEMEN ARBEITEN ===> WRKSPLF ... MIT ALLEN SPOOL-DATEIEN ARBEITEN ===> WRKSYSSTS ... MIT SYSTEMSTATUS ARBEITEN ===> WRKSYSVAL *ALL ... MIT SYSTEMWERTEN ARBEITEN ===> DSPSYSVAL SYSVAL(QMODEL) /*** E6B :-) ***/ ... ===> dspmsg qsysopr ... ===> dspmsg dsp01 ... ===> wrkjobq qpgmr ... ===> wrksbsjob qpgmr ... ===> wrknetf *all ... ===> DSPLOG LOG(QHST) PERIOD((*AVAIL *BEGIN)) OUTPUT(*PRINT) /* Protokoll */ ... ===> OVRPRTF FILE(print-file) DEVTYPE(*AFPDS) WSCST(*PDF) TOSTMF('/home/in4mat/my.pdf') ... ===> CPYFRMIMPF FROMSTMF('/tmp/MS#W05.CSV') TOFILE(TRANSFER/MS#W05) MBROPT(*REPLACE) TOCCSID(*FILE) RCDDLM(*CRLF) FLDDLM(';') DECPNT(*COMMA) FROMRCD(2) RPLNULLVAL(*FLDDFT) ... kopiert und konvertiert CSV-Datei von root/... nach QSYS.LIB in DB400-Datei (Tabelle) ===> CPYTOIMPF FROMFILE(QTEMP/TEST4711) TOSTMF('/QDLS/TRANSFER/TEST4711.CSV') MBROPT(*REPLACE) STMFCODPAG(*PCASCII) RCDDLM(*CRLF) STRDLM(*NONE) RMVBLANK(*TRAILING) FLDDLM(';') ADDCOLNAM(*SYS) ... kopiert und konvertiert DB400-Datei (Tabelle) vom QSYS.LIB nach QDLS ===> WRKSPLF SELECT(*ALL *ALL *ALL *ALL *ALL DRU5224P) ... listet alle Bestellungen (via EK026D gedruckt) ===> RTVQMQRY QMQRY(TQPGM/QSSORT100) SRCFILE(SPONA/QDDSSRC) SRCMBR(V_SORT100) ALWQRYDFN(*YES) ... konvertiert DB400-Query in SQL-Abfrage ===> CRTOUTQ OUTQ(MYPRT01) RMTSYS('10.1.34.36') RMTPRTQ(DSPRT720) CNNTYPE(*IP) ===> STRRMTWTR OUTQ(MYPRT01) ... Ausgabewarteschlange für Druck auf entferntem System (Printer, QMSF, Remote, Drucker) ===> CHGOBJOWN OBJ(PGSPGM/FSU210BR) OBJTYPE(*PGM) NEWOWN(BRAINOWN) ... Objekteigner ändern ===> CHGCMDDFT CMD(SIGNOFF) NEWDFT('LOG(*NOLIST)') ... Log / Joblog / Protoll ausschalten ===> DSPSYSVAL SYSVAL(QMODEL) ... Systemmodellnummer anzeigen (z.B.: 'Modellnummer . . : E6B') ===> DSPSYSVAL SYSVAL(QSRLNBR) ... Seriennummer des Systems anzeigen ===> SAVSECDTA DEV(*SAVF) SAVF(MYTMP/#SECDTA) ===> RSTUSRPRF DEV(*SAVF) USRPRF(TESTUSER) SAVF(MYTMP/#SECDTA) SECDTA(*PWDGRP) ... Benutzerprofil incl. Passwort sichern und zurücksichern ===> STRSEU SRCFILE(mysrclib/mysrcfile) SRCMBR(mysrc) OPTION(5) ... Programmsource anzeigen ===> SNDDST TYPE(*LMSG) TOINTNET(('01604721554@t-d1-sms.de')) DSTD(X) LONGMSG('Test 6 !!') DOCD('Start SAVECS') ... SMS;) ===> CVTRPGSRC FROMFILE(CASPSRC/ROTSFMOD) FROMMBR(ROTMD$$UFA) TOFILE(SPONA/ROTSFMOD) ... OPM - Sourcen - Quellen - umwandeln - konvertieren - RPG - RPGLE - ILE ===> RTVQMQRY QMQRY(TQPGM/QSSORT100) SRCFILE(pgmlib/QDDSSRC) SRCMBR(V_SORT100) AL-WQRYDFN(*YES) ... QUERY IN SQL KONVERTIEREN – UMWANDELN ===> CHGOBJOWN ... Berechtigung ===> wrkoutq qezdebug ... Programm-Dump wird in diese OUTQ gestellt / Bsp. wenn Befehl in RPG: dump(a) ===> wrkusjob myusr01 *active ===> WRKDEVD DEVD(myusr*) ===> wrkcfgsts *dev rbil46* ... Jumbos ===> OVRPRTF FILE(print-file) DEVTYPE(*AFPDS) WSCST(*PDF) TOSTMF('/dir1/dir2/my-pdf-file.pdf') ... Drucker - Spool - PDF - Druck - umwandeln - outq ===> CPYSPLF FILE(TESTFONT) TOFILE(*TOSTMF) JOB(440179/myuser01/myuser01a) SPLNBR(000005) TOSTMF('/home/myuser01/TESTFONT.pdf') WSCST(*PDF) ===> CHGCMDDFT CMD(SIGNOFF) NEWDFT('LOG(*NOLIST)') ... log–joblog–protokoll-deaktivieren ===> DSPJOBLOG JOB(477723/myusr01/myusr01_a) OUTPUT(*PRINT) /* Brain Programm initialisierung Bibliotheken FSY230 */ CALL PGM(SYSCLSCL) PARM(&SUFFIX &MODUS &LANGID &USECCM) CALL PGM(SYSCLSCL) PARM(‘0’ ‘P’ ‘929’ ‘1’) CALL PGM(SYSPGRUD) PARM(*START) /* ENDE Brain Programm initialisierung */ ===> LPR RMTSYS('10.1.34.5') PRTQ(SPONA) FILE(QSYSPRT) JOB(224385/myusr/FSY301SOJO) SPLNBR(2) ... Optionaler Befehl um spool auf entferntes system zu senden */ ===> CPYSPLF FILE(QPRINT) TOFILE(*tostmf) JOB(966111/PGRADM/myusr01_a) SPLNBR(1) tostmf('/qdls/transfer/my201603.pdf') wscst(*pdf) ... spool -> pdf -> email ===> SNDDST TYPE(*DOC) TOINTNET(('Max.Mueller@Test.de')) DSTD('HSFNDSTRC') MSG('myPDF') DOC('my201603.pdf') FLR('TRANSFER') ===> SNDDST TYPE(*LMSG) TOINTNET(('Max.Mueller@Test.de')) DSTD('Test DSTD') MSG('Test MSG') LONGMSG('Test LONGMSG') ===>SNDM FROM('Max.Mueller@Test.de') TO(('Mimi.Mueller@kunert.de' TEST)) FILE(pgmlib/QCLSRC) MBR(HS000C) SUBJECT('test') ATTACHMENT('/tmp/CO1X0038.csv') ===> CALL QP2TERM /* Shell aufrufen - unterschied zu QSH ? ***/ ===> STRTCPSVR SERVER(*HTTP) ===> EDTRBDAP QSYS Wiederherstellung Zugriffspfad edit. ===> CRTDDMF FILE(SPONA/V7PPAA) RMTFILE(AUSZEICH/V7PPAA) RMTLOCNAME('10.1.1.1' *IP) ===> CALL QSPENDWA WRITER_NAME ... last resource to end printer (endwtr, strprtwtr, drucker, api)
wrklnk - dspdire - dspsyssts - wrkactjob - dspaspbrm - wrksyssts - wrkdsksts
edit
Editiercodebeschreibung | KeinVorz. | CR-Vorz. | -Vorz.(R) | Vorz.(L) |
---|---|---|---|---|
Trennzeichen und Nullinhalt | 1 | A | J | N |
Trennzeichen | 2 | B | K | O |
Nullinhalt | 3 | C | L | P |
Keine Trennz./Kein Nullinhalt | 4 | D | M | Q |
Benutzerdefinierte Editiercodes | 5-9 | |||
Datumseditierung (4 Ziffern) | W | |||
Datumseditierung | Y | |||
Führende Nullen unterdrücken | Z |
5250 - Terminal Keyboard Mapping (Mochasoft)
- Mochasoft: edit tn52keys.map in its directory
- Client Access Express: look for as400std.kmp
- Telnet: run dspvtmap/chgvtmap for display or change vt keyboard map (or GO CMDTELN)
- tn5250: looks at configuration file tn5250rc :
as400_1 { host = as400 map=273 env.DEVNAME=as400_1 env.TERM=IBM-5291-1 +ruler +underscores env.USER = MYUSER env.IBMSUBSPW = MYPASSW env.IBMPROGRAM = MYPGM env.IBMMENU = MYMENU env.IBMCURLIB = MYLIB +local print key font_80=Consolas font_132=Consolas } # env.TERM=IBM-3477-FC 27x132 color # env.TERM=IBM-3477-FG 27x132 mono # env.TERM=IBM-3180-2 27x132 mono # env.TERM=IBM-3179-2 24x80 color # env.TERM=IBM-3196-A1 24x80 mono # env.TERM=IBM-5292-2 24x80 color # env.TERM=IBM-5291-1 24x80 mono # env.TERM=IBM-5251-11 24x80 mono # $ ./tn5250 as400_1