Other replies have already explained effectively what is the resolution for the MCH3401 [i.e. why the CL program 'runcmd' can not be found] for this new issue in the continuing saga, but the following text may be worthwhile for some, reading presently or just in the archives. So FWiW:

What is in CmdA is moot, pending resolution to the MCH3401 failure. That error indicates that the program was not invoked, irrespective of what the parameter CmdA might contain. That error suggests that either no program exists or that there is insufficient authority to invoke the program; in either case, no parameter validation could transpire. Only after the MCH3401 is resolve, will whatever is the value of CmdA have any significance.

Gary made the claim that the "program runcmd is in the liblist with *Public *all", but that claim unfortunately exhibits the same error as exists with the code. That is, like Mark and Paul allude in replies, that a program named RUNCMD [the upper-case name] presumably exists in *LIBL, and thus the program should issue "Call 'RUNCMD'" instead of "Call 'runcmd'". Thus alluding that presumably neither the delimited nor a non-delimited program named "runcmd" [all lower-case name] exists in *LIBL. Counter to what either had suggested however, the OS allows for an object named as the non-delimited string 'runcmd'. But the UI [i.e. anything not the MI or LIC] should allow only a similarly named object; i.e. the UI allows for the name "runcmd" for which the double quote characters as delimiters are part of the name, so another claim that "all CAPS" is required also is inaccurate. So although the RPG could invoke an actual program with "call 'runcmmd'", efforts by a user or programmer to create a program with that name would likely be stymied.

IMO the cause of the error is most conspicuous when the message text for the MCH3401 from the message file is compared with that of the run-time error for which actual message replacement text is provided; as shown below:

MCH3401 from the MSGF, followed by the MCH3401 from the joblog:

"Cannot resolve to object &3. Type and Subtype &1 ..."

"Cannot resolve to object runcmd. Type and Subtype X'0201' ..."

The replacement text for &3 is the character string 'runcmd' whereas typically [as non-MI programmers and users] we would expect an object name to appear in a message as the non-delimited character string 'RUNCMD'; i.e. folded to upper case. If the name were indeed lower case, then we could expect to see the character string '"runcmd"' as a valid name being presented.

Regards, Chuck

On 06 Apr 2013 21:49, John McKee wrote:
What does CmdA look like? I can think of several questions about
CmdA, but the content is the first that comes to mind.

On Sat, Apr 6, 2013 at 11:41 PM, Gary Kuznitz wrote:
<<SNIP>>
I change it to:
C MOVEL CmdA Command
C Eval CmdLength = %Len(%Trim(Command))
C Call 'runcmd' 50
C parm cmda
C parm cmdlength

<<SNIP>>

I'm getting an error saying:
Message ID . . . . : MCH3401 Severity . . . . . : 40
Message type . . . : Escape
Date sent . . . . : 04/06/13 Time sent . . . . : 20:03:31
Message . . . . : Cannot resolve to object runcmd. Type and
Subtype X'0201' Authority X'0000'.
Cause . . . . . : Either a system pointer or a data pointer
can not be resolved. For a system pointer, it can not be resolved
to object runcmd, type and subtype X'0201', authorization X'0000',
because either the named <<SNIP>>

The program runcmd is in the liblist with *Public *all

Any ideas why it can't find the CL pgm?


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.