Alan Shore wrote:
Is it possible to call a subprocedure from a service program from within a
CL (or CLLE) program?
Yes.
I thought CALLPRC was the thing to use, but it definitely is not working.
It is.  Can you be more specific about how it is not working?  Is it 
failing at compile, bind, or run time?
Here is an example:
------- CL --------------
         DCL        &message    *CHAR LEN(150)
         DCL        &messageLen *INT  LEN(4)
         DCL        &messageV   *CHAR LEN(1002)
...
         CHGVAR     var(&message) value('Message changed to +
                                         protect the innocent')
         CHGVAR     var(&messageLen) value(150)
         CALLPRC    prc(UTRMSTRING_makeVarying)    +
                    parm((&message) (&messageLen) (&messageV))
------- CL --------------
------- Procedure prototype --------------
     D*--------------------------------------------------
     D* Procedure name: UTRMSTRING_makeVarying
     D* Purpose:        Create a VARYING character variable to pass to RPG
     D* Returns:        Trimmed length of string, < 0 if error
     D* Returns:        Trimmed length of string, < 0 if error
     D* Parameter:      inputString => The string to convert to VARYING ...
     D*                          character
     D* Parameter:      inputLength => Length of the input variable
     D* Parameter:      outputString => The string in VARYING character 
format ...
     D*                          Unpredictable results will occur if 
the variable ...
     D*                          you pass is shorter than inputLength + 2.
     D*--------------------------------------------------
     D UTRMSTRING_makeVarying...
     D                 PR            10I 0
     D  inputString               65535A   CONST
     D                                     OPTIONS(*VARSIZE)
     D  inputLength                  10I 0 CONST
     D  outputString              65535A   VARYING
     D                                     OPTIONS(*VARSIZE)
------- Procedure prototype --------------
As an Amazon Associate we earn from qualifying purchases.