6/30/08 See the version of Java your System i is running

To see the JDK that the System i you are working on uses by default, enter the command:

JAVA *VERSION.


Disclaimer: Vision Solutions makes every effort to provide accurate system management information and programming code; however the company cannot be held liable for the accuracy of information nor its compatibility in your own environment. Please review and test thoroughly before implementing. © Copyright 2008, Vision Solutions, Inc. All rights reserved. IBM, System i, iSeries, and AS/400 are trademarks of International Business Machines Corporation. All other brands are property of their respective registered owners.

6/23/08 Recursively changing ownership on an IFS directory and all the files stored within it

This function needs to be run in STRQSH.

In order to change the owner of all files and directories recursively run the following command:

for eachFile in $(find /directoryToChangeOwner -name '*');

do system "CHGOWN OBJ('"$eachFile"') NEWOWN(userProfile)";done

Note: Replace values in parenthesis with appropriate values.



Disclaimer: Vision Solutions makes every effort to provide accurate system management information and programming code; however the company cannot be held liable for the accuracy of information nor its compatibility in your own environment. Please review and test thoroughly before implementing. © Copyright 2008, Vision Solutions, Inc. All rights reserved. IBM, System i, iSeries, and AS/400 are trademarks of International Business Machines Corporation. All other brands are property of their respective registered owners.

6/17/08 - How to streamline the deletion of logical files when you need to delete a physical file

Deleting logical files can be a time consuming task when you need to delete a physical file due to the number of logical files that have no common prefix to the file name to wildcard.

This simple CL program could help:


PGM PARM(&SYS1OBJ &SYS1LIB)
DCL VAR(&SYS1OBJ) TYPE(*CHAR) LEN(10)
DCL VAR(&SYS1LIB) TYPE(*CHAR) LEN(10)
DCLF FILE(QADSPDBR)
OVRDBF FILE(QADSPDBR) TOFILE(QTEMP/DBRRMV)
DSPDBR FILE(&SYS1LIB/&SYS1OBJ) OUTPUT(*OUTFILE) +
OUTFILE(QTEMP/DBRRMV)
MONMSG MSGID(CPF3012) EXEC(GOTO CMDLBL(EOF))
READ: RCVF
MONMSG MSGID(CPF0864) EXEC(GOTO CMDLBL(DLTF))
IF COND(&WHNO *EQ 0) THEN(GOTO CMDLBL(DLTF))
DLTF FILE(&WHRELI/&WHREFI)
MONMSG MSGID(CPF0001)
GOTO CMDLBL(READ)
DLTF: DLTF FILE(&SYS1LIB/&SYS1OBJ)
MONMSG MSGID(CPF0001)
EOF: ENDPGM



Disclaimer: Vision Solutions makes every effort to provide accurate system management information and programming code; however the company cannot be held liable for the accuracy of information nor its compatibility in your own environment. Please review and test thoroughly before implementing. © Copyright 2008, Vision Solutions, Inc. All rights reserved. IBM, System i, iSeries, and AS/400 are trademarks of International Business Machines Corporation. All other brands are property of their respective registered owners.

6/9/08 - How to send a message to multiple users

Type the command CALL QEZSNDMG.

Fill in the parameters as follows:

-Message needs reply (Y or N)
-Interrupt user (Y or N) – will send a break message when Y is specified
-Message text (up to 512 characters)
-Send to – this is a list and can also use special values of *ALL and *ALLACT
Press F10 to send the message

This will send out the message to all of the workstations that the users are signed on to at the time.



Disclaimer: Vision Solutions makes every effort to provide accurate system management information and programming code; however the company cannot be held liable for the accuracy of information nor its compatibility in your own environment. Please review and test thoroughly before implementing. © Copyright 2008, Vision Solutions, Inc. All rights reserved. IBM, System i, iSeries, and AS/400 are trademarks of International Business Machines Corporation. All other brands are property of their respective registered owners.

6/2/08 How to end a job that won't end by itself

Occasionally jobs can get hung up causing them to not end on their own. When this happens, as a last resort, you can use the ENDJOBABN command to force the job to end.


Editor's note: An expanded discussion on this topic can be found here: 10/21/09 Know the impact of using the ENDJOBABN command


Disclaimer: Vision Solutions makes every effort to provide accurate system management information and programming code; however the company cannot be held liable for the accuracy of information nor its compatibility in your own environment. Please review and test thoroughly before implementing. © Copyright 2008, Vision Solutions, Inc. All rights reserved. IBM, System i, iSeries, and AS/400 are trademarks of International Business Machines Corporation. All other brands are property of their respective registered owners.