what does "The run procedure option is not allowed with member type RPGLE" mean?

828 views Asked by At

What does "The run procedure option is not allowed with member type RPGLE" mean?

2

There are 2 answers

0
roryhewitt On

Option 16 (Run procedure) only applies to REXX procedures (and maybe some others). You can't use it to run an RPG/COBOL/C program. It MIGHT work to run a CL program, but I don't think so.

To run a program, either CALL it from the command line or create your own PDM option.

The SEU error may or may not be an error - SEU hasn't been kept up-to-date with all the new features of the RPGLE language. Remember that SEU is simply a source editor/validator.

If you were able to compile the RPG program (using PDM option 14 for CRTBNDRPG or option 15 for CRTRPGMOD followed by running the CRTPGM command) then the SEU 'problem' isn't a problem at all.

0
CRPence On

what does "The run procedure option is not allowed with member type RPGLE" mean?

Apparently that is the error message identifier PDM0365 with first-level text "The Run Procedure option is not allowed with member type &1." from the Message File (MSGF) QUOMSGF in library QPDA. In the second level text [visible after F1=Help is pressed with the cursor positioned on that message id, or in Display Message Description (DSPMSGD) for that message Id and message file] what is the cause and the recovery for the error condition is further explained; i.e. the assistance requested on this site, probably could have been resolved by asking that the system should provide the Help:

 Cause . . . . . :   You cannot run a procedure with this type.
 Recovery  . . . :   The following member types can be run as procedures: REXX,
   OCL36, BASP, BASP38.

With the replacement text for the replacement-variable &1 being RPGLE, the indication is that the option-16="Run Procedure" was issued against a member listed in the Work With Members Using PDM (WRKMBRPDM) feature, and the TYPE for the member was RPGLE instead of one of the listed as supported member types noted in the Recovery text.

Additionally, if under the heading Opt [the USEnglish abbreviation for Option] the F1=Help were pressed [instead of] where the option 16 was typed, the following Help Text would be presented that explains what are the options that can be specified and what each of the system-supplied numeric options will effect:

 Help                            Options - Help                         

 16=Run procedure                                                   
     Type 16 to run a source member with a member type of REXX,     
     OCL36, BASP, or BASP38.  If you try to run a member with a type
     that cannot be run, you receive an error message.  To run an   
     OCL36 procedure, the file name must be QS36PRC.  You can have  
     the member run in batch mode or interactively depending on what
     you specified in the Run in batch prompt on the Change Defaults
     display.                                                       

Therefore if a Run option is not an eligible task to perform against the member of type=RPGLE, perhaps review the other options for what they might provide. Here are two, one conspicuous by specific mention of support for the type-RPGLE in the Option help-text and another much more subtle by only an allusion to types that reflect an ILE source type [with [...] denoting snipped content from that help]:

 [...]
 14=Compile                                                        
     Type 14 to compile one or more members.  The system creates an
     object based on the member being compiled.  The member is     
     compiled interactively or in batch mode, depending on what you
     have specified on the Change Defaults display.                

     The following member types can be compiled: [...]
     PLI38, PNLGRP, PRTF, PRTF38, QRY38, RMC, RPG, RPGLE, RPG36,   
     RPG38, RPT, RPT36, RPT38, SPADCT, SQLC, SQLCPP, SQLCBL,       
     [...]  

     When the programming development manager compiles a program
     [...]

 15=Create module                                             
     Type 15 to create a module object for an ILE source type.
 [...]

For the latter, to create a Module (*MOD) object versus to create a Bound Program (*PGM) from the RPGLE type which is a contraction of RPG and ILE, denoting that type as an ILE source type.

So instead of using Option-16, use either of Option-14 or Option-15 to compile the ILE RPG source into an executable [*PGM] or a linkable [*MOD] object.