-
.. virtuelle einheiten
 Zitat von GerdG
Hallo zusammen,
gibt es eine einfache Möglichkeit, die vom System erstellten DEVD nach der Abmeldung, also quasi "nach Gebrauch" automatisch wieder zu löschen?
Gerd
hallo gerdg,
von einem "befreundetem" forum geklaut.
Honeurs für gerdmmeier (autor):
*-----------------------------------------------------------------S*/
/* DV058C IKS.--.--.--- */
/*------------------------------------------------------------------*/
/*------------------------------------------------------------------*/
/* FUNCTION: Löschen virtueller Einheitenbeschreibungen */
/* -----------------------------------------------------------*/
/* INPUT : ./. */
/* SELECT : ./. */
/* PARMLIST: ./. */
/* OUTPUT : ./. */
/* SWITCH : ./. */
/* CALL <--: QCMD */
/* CALL -->: CMD DLTDEVD */
/* -----------------------------------------------------------*/
/* */
/* -----------------------------------------------------------*/
/*------------------------------------------------------------------*/
/* erstellt: 00.00.00 von: .......... V.00 PA: ..... */
/* geändert: 00.00.00 von: ......... V.01 PA: ..... */
/*-----------------------------------------------------------------E*/
/*--*/
PGM PARM(&OBJNAME)
/*--*/
/*------------------------------------------------------------------*/
/* DECL VARIABLE.. TYPE. LENGTH.... +VALUE.......... */
/*------------------------------------------------------------------*/
/*--*/
DCL VAR(&DEVD) TYPE(*CHAR) LEN(10)
DCL VAR(&OBJNAME) TYPE(*CHAR) LEN(10)
DCL VAR(&LIB) TYPE(*CHAR) LEN(10) +
VALUE('QSYS ')
DCL VAR(&USRSPC1) TYPE(*CHAR) LEN(20) +
VALUE('QPAD QTEMP ')
DCL VAR(&JOBNR) TYPE(*CHAR) LEN(6)
DCL VAR(&OBJ) TYPE(*CHAR) LEN(20)
DCL VAR(&BIN4) TYPE(*CHAR) LEN(4)
DCL VAR(&ELEN) TYPE(*DEC) LEN(8 0)
DCL VAR(&ELENB) TYPE(*CHAR) LEN(4)
DCL VAR(&LOOP) TYPE(*DEC) LEN(8 0)
DCL VAR(&DEC8) TYPE(*DEC) LEN(8 0)
DCL VAR(&DATA) TYPE(*CHAR) LEN(128)
DCL VAR(&STATUS) TYPE(*DEC) LEN(5 0)
DCL VAR(&RDEVD) TYPE(*CHAR) LEN(892)
DCL VAR(&DEVDH) TYPE(*CHAR) LEN(4)
DCL VAR(&DEVDD) TYPE(*DEC) LEN(5 0) VALUE(892)
DCL VAR(&TYPE) TYPE(*CHAR) LEN(4)
/*--*/
/*------------------------------------------------------------------*/
/* Erstellen *USRSPC und Auflistung Objekte im System */
/*------------------------------------------------------------------*/
/* */
/* This creates the user space */
/* */
RTVJOBA NBR(&JOBNR)
CHGVAR VAR(%SST(&USRSPC1 5 6)) VALUE(&JOBNR)
CALL PGM(QUSCRTUS) PARM(&USRSPC1 'DLT_QPADE' 2048 +
' ' '*EXCLUDE' 'Benutzerbereich für +
Objektliste')
/* */
/* Einlesen aller Objektinformationen */
/* */
CHGVAR VAR(&OBJ) VALUE(&OBJNAME *CAT &LIB)
CALL PGM(QUSLOBJ) PARM(&USRSPC1 'OBJL0100' &OBJ +
'*DEVD' 0)
/* */
CHGVAR VAR(%BIN(&DEVDH)) VALUE(&DEVDD)
/* */
/* Feststellen, ob Objekte vorhanden sind, wenn nicht --> Abbruch */
/* */
CALL PGM(QUSRTVUS) PARM(&USRSPC1 X'00000085' +
X'00000004' &BIN4)
/* */
CHGVAR VAR(&LOOP) VALUE(%BIN(&BIN4))
/* */
IF COND(&LOOP = 0) THEN(SNDPGMMSG +
MSGID(CPF9898) MSGF(QCPFMSG) +
MSGDTA('Keine Einheiten in Bibliothek' +
*BCAT &LIB *BCAT 'vorhanden') +
MSGTYPE(*ESCAPE)) /* Kein Objekt +
ausgewählt */
/* */
/* */
/* Länge des Satzes in *USRSPC feststellen */
/* */
CALL PGM(QUSRTVUS) PARM(&USRSPC1 X'00000089' +
X'00000004' &ELENB)
CHGVAR VAR(&ELEN) VALUE(%BIN(&ELENB))
CALL PGM(QUSRTVUS) PARM(&USRSPC1 X'0000007D' +
X'00000004' &BIN4)
CHGVAR VAR(&DEC8) VALUE(%BIN(&BIN4))
CHGVAR VAR(&DEC8) VALUE(&DEC8 + 1)
/* */
/* This loops for the number of files until no more files are */
/* found and goes to the ALLDONE label. */
/* */
STARTLOOP: IF COND(&LOOP = 0) THEN(GOTO CMDLBL(ALLDONE))
/* */
/* Falls keine Einheiten gefunden wurde, weiter mit nächstem */
/* Satz */
/* */
/* */
CHGVAR VAR(%BIN(&BIN4)) VALUE(&DEC8)
CALL PGM(QUSRTVUS) PARM(&USRSPC1 &BIN4 &ELENB &DATA)
/* */
CHGVAR VAR(&DEVD) VALUE(%SST(&DATA 01 10))
/* */
RTVCFGSTS CFGD(&DEVD) CFGTYPE(*DEV) STSCDE(&STATUS)
/* */
IF COND(&STATUS ^< 30) THEN(GOTO CMDLBL(ENDLOOP))
/* */
CHGVAR VAR(&RDEVD) VALUE(' ')
CALL PGM(QDCRDEVD) PARM(&RDEVD &DEVDH 'DEVD0600' +
&DEVD X'00000000')
CHGVAR VAR(&TYPE) VALUE(%SST(&RDEVD 175 4))
IF COND(&TYPE = 'V100') THEN(GOTO +
CMDLBL(ENDLOOP))
/* */
VRYCFG CFGOBJ(&DEVD) CFGTYPE(*DEV) STATUS(*OFF) +
RANGE(*OBJ)
MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(ENDLOOP))
DLTDEVD DEVD(&DEVD)
MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(ENDLOOP))
/* */
ENDLOOP: CHGVAR VAR(&DEC8) VALUE(&DEC8 + &ELEN)
CHGVAR VAR(&LOOP) VALUE(&LOOP - 1)
GOTO CMDLBL(STARTLOOP)
/* */
ALLDONE: DLTUSRSPC USRSPC(%SST(&USRSPC1 11 10)/%SST(&USRSPC1 01 +
10))
MONMSG MSGID(CPF0000)
/*--*/
/*------------------------------------------------------------------*/
/* E N D E -ROUTINE */
/*------------------------------------------------------------------*/
/*--*/
NOOBJ: ENDPGM
/*------------------------------------------------------------------*/
Similar Threads
-
By ratinger in forum NEWSboard Linux
Antworten: 1
Letzter Beitrag: 04-04-06, 10:44
-
By Dominik_Meyer in forum IBM i Hauptforum
Antworten: 0
Letzter Beitrag: 07-03-06, 15:17
-
By TARASIK in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 20-09-02, 08:36
-
By Fleischner in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 04-01-02, 09:02
-
By KB in forum IBM i Hauptforum
Antworten: 0
Letzter Beitrag: 18-05-01, 15:04
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