REM The cmdl$ seems to have five important segments: REM 1. O for Open, C for Create REM 2. Appname declared by App keyword REM 3. Default Extension REM 4. Path name for file used by app (cmd$(2)) REM 5. Path name used to start app (cmd$(1)) REM Here's the procedure: Proc RunOpa: local ret%,pid%,cmdl$(128),appname$(128) appname$="ROM::SYS$PRGO"+chr$(0) Rem Opo cmdl$="ORunOpl"+chr$(0)+chr$(0)+"LOC::M:\OPO\Myproc.OPO"+chr$(0) Rem use this Command line to run an Opo procedure Rem change drive locations per your setup cmdl$="OTestlern"+chr$(0)+".odb"+chr$(0)+"\tst\Cn2.odb"+chr$(0) cmdl$=cmdl$+"LOC::M:\APP\testlern.OPA"+chr$(0) Rem use this command line to run an Opa procedure Rem "ORunOpl" is O, not 0 - Use O for open, C for Create Rem if using C for create, change Notepad.pad to the name to create ret%=call($0187,addr(appname$)+1,addr(cmdl$),0,0,addr(pid%)) Rem this is the Filexec call if ret%<0 giprint err$(err) else call($0688,pid%,0,0,0,0) Rem Procresume endif Endp