Comme dans tous journaux de L’IBMi, la partie donnée est difficile à interpréter pour nous aider IBM fournie désormais des fonctions tables qui pré découpe cette donnée en fonction du type de poste.

Voici la liste de ces fonctions

TR4 ne V7R4 et TR10 en version V7R3

SYSTOOLS.AUDIT_JOURNAL_AF()
SYSTOOLS.AUDIT_JOURNAL_CA()
SYSTOOLS.AUDIT_JOURNAL_OW()
SYSTOOLS.AUDIT_JOURNAL_PW()

TR/5 ne V7R4 et TR/11 en version V7R3

SYSTOOLS.AUDIT_JOURNAL_CD()
SYSTOOLS.AUDIT_JOURNAL_CO()
SYSTOOLS.AUDIT_JOURNAL_CP()
SYSTOOLS.AUDIT_JOURNAL_DO()
SYSTOOLS.AUDIT_JOURNAL_EV()
SYSTOOLS.AUDIT_JOURNAL_GR()
SYSTOOLS.AUDIT_JOURNAL_M0()
SYSTOOLS.AUDIT_JOURNAL_M6()
SYSTOOLS.AUDIT_JOURNAL_M7()
SYSTOOLS.AUDIT_JOURNAL_M8()
SYSTOOLS.AUDIT_JOURNAL_M9()
SYSTOOLS.AUDIT_JOURNAL_SV()

Voici un exemple d’utilisation

Vous voulez connaitre les violations sur la journée précédente

select A.VIOLATION_TYPE_DETAIL, A.AUDIT_USER_NAME , A.REMOTE_ADDRESS ,A.ENTRY_TIMESTAMP
from table (

SYSTOOLS.AUDIT_JOURNAL_PW(STARTING_TIMESTAMP => current timestamp – 1 days)
) A
order by A.ENTRY_TIMESTAMP desc

Remarque :

Il faut avoir démarrer l’audit et avoir indiqué que vous voulez tracer les violations valeur *AUTFAIL dans QAUDLVL ou QAUDLVL2

Vous pouvez vérifier que ce contrôle est en œuvre ne utilisant la vue qsys2.security_info qui est apparu avec la TR4 et qui a évoluée avec la TR5

Voici la requête pour faire ce contrôle
Vous obtenez 1 si le contrôle est actif

select count(*) as « Mise en oeuvre controle violation » from qsys2.security_info

where ((auditing_level like ‘%AUTFAIL%’) or
auditing_level_extension like ‘%*AUTFAIL%’);