I don't do CL much, but occasionally I can fake my way through it. We have
in our startup program a brain-dead DLYJOB(900) to allow time for an iASP
to come up, then we start our business processes once we think it's ready.
900 seconds is 15 minutes, a really long time. We recently turned on
another CPU and upgraded our storage to the latest NVM or whatever IBM is
calling it - basically we have no more spinning disks. I thought I'd get
clever and write 'something' that sits in a loop waiting for the targeted
iASP to become ready, then I could unload the requisite RUNJVA commands
that start business stuff up. Then I wouldn't have to be up at 2AM on
Sunday morning to do this manually. Our iASP is called 'DATADEV'. I've
had a dilly of a time finding a good CL representation of the error code
parameter, but there are other parameters to fix right now too. Presently
the first SNDPGMMSG prints 'YASP0100', which it should. The second one
prints nothing at the moment, the third, random garbage, probaby because
the CHGVAR is just some
This is something I have in-progress. If anyone has something better than
this, hit me up. I'd appreciate it.
DCL VAR(&RCVVAR) TYPE(*CHAR) LEN(64)
DCL VAR(&RCVLEN) TYPE(*CHAR) LEN(4)
DCL VAR(&LISTINFO) TYPE(*CHAR) LEN(80)
DCL VAR(&NUMRECSRET) TYPE(*CHAR) LEN(80)
DCL VAR(&NUMFILTERS) TYPE(*CHAR) LEN(80)I believe this one should be *CHAR 4 as well.
DCL VAR(&FILTERINFO) TYPE(*CHAR) LEN(80)
DCL VAR(&ERRCOD) TYPE(*CHAR) LEN(4)
DCL VAR(&FMTNAM) TYPE(*CHAR) LEN(8) VALUE('YASP0100')
CHGVAR VAR(%SST(&RCVVAR 64 1)) VALUE('X')
CHGVAR VAR(%BIN(&RCVLEN)) VALUE(128)
CALL PGM(QSYS/QYASPOL) PARM(&RCVVAR &RCVLEN &LISTINFO &NUMRECSRET
&NUMFILTERS &FILTERINFO &FMTNAM &ERRCOD)
SNDPGMMSG MSG('Error code stuff ' *CAT &ERRCOD)
As an Amazon Associate we earn from qualifying purchases.
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.