|
Jeff Crosby wrote:
>
> Here is the CL:
> ...
> /* GET IT */
>
> CALL PGM(RTVOWCNT) PARM(&RIPNAME &RIPADRS +
> &RACSUSR &RACSPWD &RHSTUSR &RHSTPWD +
> &RACSDLPTH &RACSULPTH &RIFSDLPTH +
> &RIFSULPTH &ROWCTLFND)
>
> /* MOVE TO PARMS - THE MCH3601 IS FOR A NULL PTR. IF THE COMMAND */
> /* DID NOT REQUEST A PARTICULAR VARIABLE, THE */
> /* MCH3601 WILL OCCUR. */
>
> CHGVAR VAR(&IPNAME) VALUE(&RIPNAME)
> MONMSG MSGID(MCH3601)ALUE(&RHSTUSR)
> MONMSG MSGID(MCH3601)
> ...
>
Jeff, you could skip the CL and do it all in RPG, using %addr to check
whether the parameter was passed.
x FACCSCNT IF E DISK UsrOpn PREFIX(D_)
x D IPNAME s LIKE(D_IPNAME)
x D IPADRS s LIKE(D_IPADRS)
x etc
C/EJECT
C *ENTRY Plist
C Parm IPNAME
C Parm IPADRS
C Parm ACSUSR
C etc
C Parm OWCtlFnd
??? C Return
/FREE
// Get control record
Open ACCSCNT;
CHAIN 1 ACCSCNT;
// Clear if not found
If Not %Found(ACCSCNT);
x D_IPNAME = *Blanks;
x D_IPADRS = *Blanks;
x etc
Else;
OWCtlFnd = @Yes;
Endif;
// END THE JOB
Close ACCSCNT;
x // copy data to any parameters that were passed
x if (%addr(IPNAME) <> *NULL);
x IPNAME = D_IPNAME;
x endif;
x if (%addr(IPADRS) <> *NULL);
x IPADRS = D_IPADRS;
x endif;
x etc
*INLR = *On;
Return;
/END-FREE
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.