Correct me if I'm wrong here. Being that an environment variable
is being used here, couldn't I concatenate a 800 character
path into the command building it once and calling the program?

Like this?

The path being passed to the program:

W:\Southeast Region\Dallas\System Design and Mockup Review\Another really long folder name\Another really long folder name\Then there is an extra extremely long folder name after that one\Then a long file name.pdf

PGM PARM(&PATH)

DCL PATH *CHAR LEN(800)


STRPCCMD PCCMD('cmd /c ECHO SET MYDOC=' *TCAT &PATH *TCAT '>' *BCAT 'C:\DATA\MYFILE.BAT')
STRPCCMD PCCMD('cmd /c ECHO start %MYDOC%>> C:\DATA\MYFILE.BAT')
STRPCCMD PCCMD('C:\DATA\MYFILE.BAT')

ENDPGM






Bob Ostrowski | Senior Programmer/Analyst
TRAINOR GLASS COMPANY | National - IT
11901 S. Austin Ave. | Alsip, IL 60803
T 708.293.4218 | F 708.293.6218 | C 708.560.5813
bob.ostrowski@xxxxxxxxxxxxxxxx | www.trainorglass.com





-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Charles Wilt
Sent: Monday, July 11, 2011 2:54 PM
To: Midrange Systems Technical Discussion
Subject: Re: Opening File with STRPCCMD

Looks like you're missing the redirection symbols, or '>' '>>'

take another look at the example I pointed you too


STRPCCMD PCCMD('cmd /c ECHO SET MYDOC=c:\documents and settings>
C:\DATA\MYFILE.BAT')
STRPCCMD PCCMD('cmd /c ECHO SET MYDOC=%MYDOC%\alexander.acctdom\my documents>>
C:\DATA\MYFILE.BAT')
STRPCCMD PCCMD('cmd /c ECHO SET MYDOC=%MYDOC%\weekly\credit memos\acme inc>>
C:\DATA\MYFILE.BAT')
STRPCCMD PCCMD('cmd /c ECHO SET MYDOC=%MYDOC%\memo84612.doc>>
C:\DATA\MYFILE.BAT')
STRPCCMD PCCMD('cmd /c ECHO start %MYDOC%>> C:\DATA\MYFILE.BAT')
STRPCCMD PCCMD('C:\DATA\MYFILE.BAT')


ECHO start %MYDOC%

simply echo's the contents of the %MYDOC% environment variable to the screen

C:\DATA\MYFILE.BAT

redirects the echo to a file, in append mode. Note: '>' is replace.

HTH,
Charles


On Mon, Jul 11, 2011 at 2:26 PM, Robert Ostrowski
<Bob.Ostrowski@xxxxxxxxxxxxxxxx> wrote:
I get the error message in a DOS box "The system cannot find the path
specified"
When trying to open a file with STRPCCMD.  Using the example from the
archives,
My code looks like the following below.  Did I remove something I
shouldn't have?

  PGM
*/


  DCL  VAR(&CMD)   TYPE(*CHAR) LEN(300)

  DCL  VAR(&PATH1)  TYPE(*CHAR) LEN(100)
  DCL  VAR(&PATH2)  TYPE(*CHAR) LEN(100)


/*
*/
  CHGVAR     VAR(&CMD) VALUE('rundll32.exe +
            url.dll,FileProtocolHandler ' *TCAT ' ')

  CHGVAR     VAR(&PATH1) VALUE('C:\AR_REGISTER.XLS')
  CHGVAR     VAR(&PATH2) VALUE('    ')

  STRPCO     PCTA(*NO)
  MONMSG     MSGID(IWS4010)


  STRPCCMD PCCMD('cmd /c ECHO SET MYDOC=' *TCAT &CMD +
               *BCAT 'C:\DATA\MYFILE.BAT')

 STRPCCMD PCCMD('cmd /c ECHO SET MYDOC=%MYDOC%' *TCAT &PATH1 *BCAT +
               'C:\DATA\MYFILE.BAT')


/* &PATH2 */
  IF COND(&PATH2 *NE '    ') THEN(DO)
  STRPCCMD PCCMD('cmd /c ECHO SET MYDOC=%MYDOC%' *TCAT &PATH2 *BCAT +
               'C:\DATA\MYFILE.BAT')
  ENDDO


STRPCCMD PCCMD('cmd /c ECHO start %MYDOC% C:\DATA\MYFILE.BAT')
STRPCCMD PCCMD('C:\DATA\MYFILE.BAT')






ENDPGM







Bob Ostrowski | Senior Programmer/Analyst
TRAINOR GLASS COMPANY | National - IT
11901 S. Austin Ave. | Alsip, IL 60803
T 708.293.4218 | F 708.293.6218 | C 708.560.5813
bob.ostrowski@xxxxxxxxxxxxxxxx <mailto:bob.ostrowski@xxxxxxxxxxxxxxxx>
| www.trainorglass.com <http://www.trainorglass.com>





--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
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.