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



Hello Jeff,

You wrote:
>/* 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)

You should also remove the MCH3601 message from the joblog.  There is no point 
in
cluttering the joblog with unnecessary messages.  That is the difference 
between a
good programmer and a merely competent one.  You should be coding:

              CHGVAR     VAR(&IPNAME) VALUE(&RIPNAME)
              MONMSG     MSGID(MCH3601) EXEC(DO)
                RCVMSG     MSGTYPE(*EXCP)
              ENDDO
or
              MONMSG     MSGID(MCH3601) EXEC(RCVMSG MSGTYPE(*EXCP))

The same thing is true for all instances where messages are monitored and 
handled
in the program.  A classic example is CHKOBJ followed by MONMSG and then a 
CRTxxx
command.  Clean up the joblog.  A certain automated operations software house
should practice this technique.

Also, since the real work is done in the RPG program and the sole purpose of the
CLP is to call the RPG and handle the parameters you could use the RPG program 
as
the Command Processing Program directly.  Use the %ADDR built-in function to 
test
the parameter before assigning a value to it.  Of course that means the 
parameter
names must be different from the database names but that is a GOOD THING.  For
example:

       /TITLE 'Retrieve OrderWriter Control Record

       /COPY QRPGSRC,HDefault

      FACCSCNT   IF   E             DISK    UsrOpn

      D @No             C                   'N'
      D @Yes            C                   'Y'
      D P_IPNAME        S                   LIKE(IPNAME)
        etc, etc, etc.
      D P_OWCtlFnd      S              1

      C/EJECT
      C     *ENTRY        Plist
      C                   Parm                    P_IPNAME
      C                   Parm                    P_IPADRS
      C                   Parm                    P_ACSUSR
      C                   Parm                    P_ACSPWD
      C                   Parm                    P_HSTUSR
      C                   Parm                    P_HSTPWD
      C                   Parm                    P_ACSDLPTH
      C                   Parm                    P_ACSULPTH
      C                   Parm                    P_IFSDLPTH
      C                   Parm                    P_IFSULPTH
      C                   Parm                    P_OWCtlFnd
       /FREE
        // Get control record
        Open ACCSCNT;
        CHAIN 1 ACCSCNT;
        // Set return values if found
        If %Found(ACCSCNT);
          if (%ADDR(P_IPNAME) <> *NULL);
            P_IPNAME = IPNAME;
          endif;

        etc, etc, etc.

         if  (%ADDR(P_OWCtlFnd) <> *NULL);
           P_OWCtlFnd = @Yes;
         endif;
        // END THE JOB
        Close ACCSCNT;
        *INLR = *On;
        Return;
       /END-FREE

      C     *INZSR        BEGSR
       /FREE
         if (%ADDR(P_IPNAME) <> *NULL);
            P_IPNAME = *BLANKS;
         endif;

        etc, etc, etc.

         if  (%ADDR(P_OWCtlFnd) <> *NULL);
           P_OWCtlFnd = @No;   // or *BLANK
         endif;
       /END-FREE
      C                   ENDSR

Regards,
Simon Coulter.
--------------------------------------------------------------------
   FlyByNight Software         AS/400 Technical Specialists

   http://www.flybynight.com.au/
   Phone: +61 3 9419 0175   Mobile: +61 0411 091 400        /"\
   Fax:   +61 3 9419 0175   mailto: shc@flybynight.com.au   \ /
                                                             X
                 ASCII Ribbon campaign against HTML E-Mail  / \
--------------------------------------------------------------------



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

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.