Exactly what happened to me yesterday. The prototype I used is like your
first try.
> -----Original Message-----
> From: David Morris [mailto:David.Morris@plumcreek.com]
> Sent: Friday, April 05, 2002 8:46 AM
> To: java400-l@midrange.com
> Subject: Using Qshell QzshSystem API
>
>
> Group,
>
> After creating an RPGIV procedure that calls QzshSystem, I
> can't seem to
> get it to work. I always get a return code of 7 and a message that the
> file was not found. My best guess is that it is expecting the
> command to
> be passed as ASCII. The API is pretty simple and I thought I
> would have
> this running in a few minutes, instead I have spent a couple of hours
> with no luck.
>
> I have tried various prototypes for the API, including
>
> DQzshSystemAPI PR 10I 0 EXTPROC('QzshSystem')
> D PR_Cmd * VALUE
>
> and
>
> DQzshSystemAPI PR 10I 0 EXTPROC('QzshSystem')
> D PR_Cmd 5000A CONST
>
> and
>
> DQzshSystemAPI PR 10I 0 EXTPROC('QzshSystem')
> D PR_Cmd 5000A VALUE OPTIONS(*STRING)
>
> I think any of these should work.
>
> Here is an example of what I have tried:
>
> C EVAL CmdStrLen = %LEN(%TRIM(Cmd)) + 1
> C ALLOC CmdStrLen pCmdStr
> C EVAL %STR(pCmdStr: CmdStrLen) = Cmd
> C EVAL RtnCod = QzshSystemAPI(pCmdStr)
> C IF RtnCod <> *ZEROS
> C CALLP SndUnixErr('Error in Qsh Command: ' +
> C %TRIM(Cmd))
> C EVAL RtnErr = *ON
> C ENDIF
> C DEALLOC pCmdStr
>
> Does anyone have any ideas?
>
> Thanks,
>
> David Morris