-
Auch wenn aufgewärmt nur Gulasch schmeckt:
Ich durfte vor kurzem ein Programm schreiben welches als ASJ in einem Subsystem läuft und die gesperrten Benutzerprofile wieder freigibt.
Falls es jemand braucht dann darf es gerne kopiert werden ;-)
PHP-Code:
H DFTACTGRP(*NO) ACTGRP(*NEW) DATFMT(*ISO) DECEDIT('0,') H DEBUG(*YES) USRPRF(*OWNER) BNDDIR('QC2LE') *######################################################################### * definitions *######################################################################### * program status data structure * datatypes -------------------------------------------------------------- D TRUE S N INZ(*ON) D FALSE S N INZ(*OFF) D INLR S * INZ(%ADDR(*INLR)) D ExitProgram S N BASED(INLR) * program prototype ------------------------------------------------------ D RLSNSURG PR * imported prototypes ---------------------------------------------------- * imported prototypes (dynamic) D System PR 10I 0 EXTPROC('system') D * VALUE OPTIONS(*STRING) D LstSvrInf PR EXTPGM('QZLSOLST') D RcvVar 32767A OPTIONS(*VARSIZE) D RcvVarLen 10I 0 CONST D LstInf 64A D FmtNam 10A CONST D InfQual 15A CONST D Error 32767A OPTIONS(*VARSIZE) D SsnUsr 10A CONST OPTIONS(*NOPASS ) D SsnId 20I 0 CONST OPTIONS(*NOPASS ) D ChgSvrInf PR EXTPGM('QZLSCHSI') D CsRqsVar 32767A CONST OPTIONS(*VARSIZE) D CsRqsVarLen 10I 0 CONST D CsFmtNam 10A CONST D CsError 32767A OPTIONS(*VARSIZE) D RtvJobInf PR EXTPGM('QUSRJOBI') D RcvVar 32767A OPTIONS(*VARSIZE) D RcvVarLen 10I 0 CONST D FmtNam 8A CONST D JobNamQ 26A CONST D JobIntId 16A CONST D Error 32767A OPTIONS(*NOPASS:*VARSIZE) D SndPgmMsg PR EXTPGM('QMHSNDPM') D MsgId 7A CONST D MsgFq 20A CONST D MsgDta 128A CONST D MsgDtaLen 10I 0 CONST D MsgTyp 10A CONST D CalStkE 10A CONST OPTIONS(*VARSIZE) D CalStkCtr 10I 0 CONST D MsgKey 4A D Error 32767A OPTIONS(*VARSIZE) * local prototypes * global variables ------------------------------------------------------- D Loop S N INZ(*ON) D i S 10I 0 INZ(*ZERO) D MsgKey S 4A INZ(*BLANK) D Msg C ' >> Aktiviere Benutzer: ' D API_ErrorDS DS QUALIFIED D Err_BytesPrv 10I 0 INZ(%SIZE(API_ErrorDS)) D Err_BytesAvl 10I 0 D Err_MsgID 7A D Err_Reserved 1A D Err_MsgDta 256A D ZLSS0200 Ds QUALIFIED D NbrSvrUsr 10I 0 INZ(*ZERO) D NetSvrUsr 10A DIM(1) D ZLSL0900 DS QUALIFIED D DsaNetUsr 10A DIM(128) D JOBI0400 DS QUALIFIED D BytRtn 10I 0 D BytAvl 10I 0 D JobNam 10A D UsrNam 10A D JobNbr 6A D JobIntId 16A D JobSts 10A D JobTyp 1A D JobSubTyp 1A D LstInf DS QUALIFIED D RcdNbrTot 10I 0 D RcdNbrRtn 10I 0 D RcdLen 10I 0 D InfLenRtn 10I 0 D InfCmp 1A D Dts 13A D 34A *######################################################################### * program interface definition & global keys *######################################################################### D RLSNSURG PI *######################################################################### * main program *######################################################################### RtvJobInf(JOBI0400:%Size(JOBI0400):'JOBI0400':'*':*BLANK:API_ErrorDS); DoW ( Loop ); // Deaktivierte Benutzer suchen und reaktivieren LstSvrInf( ZLSL0900:%Size(ZLSL0900):LstInf: 'ZLSL0900':*BLANK:API_ErrorDS); If ( API_ErrorDS.Err_BytesAvl=*ZERO ); For i=1 To LstInf.RcdNbrTot; ZLSS0200.NbrSvrUsr=1; ZLSS0200.NetSvrUsr(1)=ZLSL0900.DsaNetUsr(i); ChgSvrInf(ZLSS0200:%Size(ZLSS0200):'ZLSS0200': API_ErrorDS); SndPgmMsg('CPF9897':'QCPFMSG *LIBL':Msg+ZLSL0900.DsaNetUsr(i): %Len(Msg+ZLSL0900.DsaNetUsr(i)):'*DIAG':'*PGMBDY':1: MsgKey:API_ErrorDS); EndFor; EndIf; // Falls Batch dann Loop sonst ENDE If ( JOBI0400.JobTyp='I' ); Leave; Else; System('DLYJOB DLY(60)'); Iter; EndIf; EndDo; ExitProgram=TRUE; Return;
Source.txt
Similar Threads
-
By cassandra in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 20-11-02, 11:52
-
By Koelch400 in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 07-10-02, 18:38
-
By Koelch400 in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 02-10-02, 15:06
-
By chera in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 07-02-02, 14:44
-
By rebe in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 23-10-01, 10:21
Tags for this Thread
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