× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



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 thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 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.