/*---------------------------------------------------------------------------*/ /* SHOPRCGRP: Retrieves processor group and displays it in a message... */ /*---------------------------------------------------------------------------*/ SHOPRCGRP: PGM DCL VAR(&OSVAL) TYPE(*CHAR) LEN(105) DCL VAR(&RCVR) TYPE(*CHAR) LEN(64) DCL VAR(&RCVRLEN) TYPE(*CHAR) LEN(4) + VALUE(X'00000040') DCL VAR(&RCVRFMT) TYPE(*CHAR) LEN(8) + VALUE('LICR0200') DCL VAR(&PRDID) TYPE(*CHAR) LEN(17) + VALUE('5769SS1V4R4M05050') DCL VAR(&PRDFMT) TYPE(*CHAR) LEN(8) + VALUE('LICP0100') DCL VAR(&EC) TYPE(*CHAR) LEN(4) VALUE(X'00000000') DCL VAR(&PRCGRP) TYPE(*CHAR) LEN(3) DCL VAR(&OSPGM) TYPE(*CHAR) LEN(7) DCL VAR(&OSLVL) TYPE(*CHAR) LEN(6) /* */ /* RTVOSLVL retrieves OS/400 level info into this field. We'll extract OS/400 */ /* product ID, level and feature to use to retrieve license info... */ /* */ RTVOSLVL OSINFO(&OSVAL) CHGVAR VAR(&PRDID) VALUE(%SST(&OSVAL 13 13) *CAT + %SST(&OSVAL 30 4)) /* */ /* Call the Retrieve License Information (QLZARTV) API... */ /* */ CALL PGM(QLZARTV) PARM(&RCVR &RCVRLEN &RCVRFMT + &PRDID &PRDFMT &EC) /* */ /* Extract individual elements wanted... */ /* */ CHGVAR VAR(&OSPGM) VALUE(%SST(&OSVAL 13 7)) CHGVAR VAR(&OSLVL) VALUE(%SST(&OSVAL 20 6)) CHGVAR VAR(&PRCGRP) VALUE(%SUBSTRING(&RCVR 48 3)) /* */ /* Display the info in a message... */ /* */ SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) + MSGDTA('Processor group is' *BCAT &PRCGRP + *TCAT '.' *BCAT &OSPGM *BCAT 'is at + level' *BCAT &OSLVL) TOPGMQ(*PRV) + MSGTYPE(*COMP) RETURN ENDPGM