/*===================================================*/
/* Installation
instructions: */
/* CRTCLPGM
PGM(XXX/EXIT1) SRCFILE(XXX/QCLSRC) + */
/*
USRPRF(*OWNER) */
/* 1. Compile
program with adoption owner */
/* 2. Change
owner of the program to user QSECOFR. */
/* Adopted
authority allows the program sending */
/* to the audit
journal */
/* CHGOBJOWN
OBJ(XXX/EXIT1A) OBJTYPE(*PGM) + */
/*
NEWOWN(QSECOFR) */
/* 3. Name exit
program in registration facility */
/* ADDEXITPGM
EXITPNT(QIBM_QTF_TRANSFER) + */
/*
FORMAT(TRAN0100) PGMNBR(1)+ */
/*
PGM(XXX/EXIT1A) + */
/* 4. Set
registration facility in network attribute */
/* CHGNETA
PCSACC(*REGFAC) */
/* The request
is recorded in the audit journal */
/* The audit
journal QAUDJRN entries created are: */
/* 'X1' =
requests that are allowed */
/* 'X0' =
requests that are rejected */
/*===================================================*/
PGM
PARM(&RC &STRU)
DCL
VAR(&RC) TYPE(*CHAR) LEN(1)
DCL
VAR(&STRU) TYPE(*CHAR) LEN(80)
DCL
VAR(&USER) TYPE(*CHAR) LEN(10) /* user profile */
DCL
VAR(&APP1) TYPE(*CHAR) LEN(10) /* function */
DCL
VAR(&APP2) TYPE(*CHAR) LEN(10) /* sub function */
DCL
VAR(&TFOBJ) TYPE(*CHAR) LEN(10) /* file name */
DCL
VAR(&TFLIB) TYPE(*CHAR) LEN(10) /* library */
DCL
VAR(&TFMBR) TYPE(*CHAR) LEN(10) /* member */
DCL
VAR(&TFFMT) TYPE(*CHAR) LEN(10) /* format */
DCL
VAR(&TYPE) TYPE(*CHAR) LEN(2) /* journal type */
MONMSG
MSGID(CPF0000) EXEC(GOTO CMDLBL(EXIT))
CHGVAR &RC
VALUE('1') /* set return code to +
allow request
unless rejected by program */
CHGVAR
&USER VALUE(%SST(&STRU 1 10)) /*user */
CHGVAR
&APP2 VALUE(%SST(&STRU 21 10)) /*function */
CHGVAR
&TFOBJ VALUE(%SST(&STRU 31 10)) /*file */
CHGVAR
&TFLIB VALUE(%SST(&STRU 41 10)) /*library */
CHGVAR
&TFMBR VALUE(%SST(&STRU 51 10)) /*member */
CHGVAR
&TFFMT VALUE(%SST(&STRU 61 10)) /*format */
/*******************************************/
/* Prevent file
upload from PC users */
/* except in
the UP_LIB library */
/*******************************************/
IF (&APP2
*EQ 'REPLACE') *AND +
(&TFLIB *NE
'UP_LIB ') +
CHGVAR &RC
'0') /* prevent the request */
ENDDO
/********************************************/
/* Log request
in the audit journal */
/********************************************/
LOG: CHGVAR
VAR(&TYPE) VALUE('X' *CAT &RC)
SNDJRNE
JRN(QAUDJRN) TYPE(&TYPE) ENTDTA(&STRU)