> Tech > Figure 3B

Figure 3B

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

Programme PrtObjAut1 de traitement de la commande PrtObjAut

/* =============================================================== */
/* = Program....... PrtObjAut1 = */
/* = Source type... CLP = */
/* = Type.......... Command processing program for PrtObjAut = */
/* = Description... Print Object Authorities = */
/* = --------------------------------------------------------- = */
/* = Parameters

Figure 3B

= */
/* = = */
/* = &Obj Input Qualified object name = */
/* = = */
/* = &ObjType Input Object type = */
/* =============================================================== */

Pgm (
&Obj
&ObjType
)

/* =============================================================== */
/* = Variable declarations = */
/* =============================================================== */
Dcl &Obj * Char ( 20 )
Dcl &ObjType * Char ( 10 )
Dcl &ObjName * Char ( 10 )
Dcl &MsgID * Char ( 7 )
Dcl &MsgF * Char ( 10 )
Dcl &MsgFLib * Char ( 10 )
Dcl &MsgDta * Char ( 100 )
Dcl &ErrorFlag *Lgl

/* =============================================================== */
/* = File declaration = */
/* =============================================================== */
DclF QADspObj

/* =============================================================== */
/* = Global error monitor = */
/* =============================================================== */
MonMsg ( CPF0000 MCH0000 ) Exec( +
GoTo Error )

/* =============================================================== */
/* = Retrieve list of objects to a file = */
/* =============================================================== */
ChgVar &ObjName ( %Sst( &Obj 1 10 ) )
ChgVar &ObjLib ( %Sst( &Obj 11 10 ) )
DspObjD Obj( &ObjLib/&ObjName ) +
ObjType( &ObjType ) +
Detail( *Basic ) +
Output( *OutFile ) +
OutFile( QTemp/ObjList )

/* =============================================================== */
/* = Read records in file ObjList and print authorities = */
/* =============================================================== */
OvrDbF File( QADspObj ) +
ToFile( QTemp/ObjList )

ReadBegin:

RcvF RcdFmt( QLiDObjD )
MonMsg ( CPF0864 ) Exec( +
GoTo Exit )
DspObjAut Obj( &ODLbNm/&ODObNm ) +
ObjType( &ODObTp ) +
Output( *Print )
GoTo ReadBegin

/* =============================================================== */
/* = Error handler = */
/* =============================================================== */
Error:
If ( &ErrorFlag ) +
Do
SndPgmMsg MsgID( CPF9897 ) +
MsgF( QSys/QCPFMsg ) +
MsgDta( ‘Error in PrtObjAut. See joblog.’ ) +
MsgType( *Escape )
MonMsg ( CPF0000 MCH0000 ) Exec( +
Return )
EndDo

ChgVar &ErrorFlag ( ‘1’ )

RcvMsg MsgType( *Excp ) +
MsgDta( &MsgDta ) +
MsgID( &MsgID ) +
MsgF( &MsgF ) +
MsgFLib( &MsgFLib )

MonMsg ( CPF0000 MCH0000 )

SndPgmMsg MsgID( &MsgID ) +
MsgF( &MsgFLib/&MsgF ) +
MsgDta( &MsgDta ) +
MsgType( *Escape )
MonMsg ( CPF0000 MCH0000 )

/* =============================================================== */
/* = Clean up and exit program = */
/* =============================================================== */
Exit:

DltF QTemp/ObjList
MonMsg ( CPF0000 MCH0000 )

/* =============================================================== */
/* = End of program = */
/* =============================================================== */
EndPgm

Téléchargez cette ressource

Percer le brouillard des rançongiciels

Percer le brouillard des rançongiciels

Explorez les méandres d’une investigation de ransomware, avec les experts de Palo Alto Networks et Unit 42 pour faire la lumière dans la nébuleuse des rançongiciels. Plongez au cœur de l’enquête pour comprendre les méthodes, les outils et les tactiques utilisés par les acteurs de la menace. Découvrez comment prévenir les attaques, les contrer et minimiser leur impact. Des enseignements indispensables aux équipes cyber.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010