You can't CONCAT the file and member. Leave them as separate values.

On 7/19/2012 5:11 PM, sjl wrote:
Jay -

Don't you need a slash '/' to separate the library/file in the from file
parameter?

CPYTOIMPF FROMFILE(('EXCELHDGS/' || &DATAFILE)) +
TOSTMF(&STREAMFILE) MBROPT(*REPLACE) +
STMFCODPAG(*PCASCII) RCDDLM(*CRLF)

Regards,
sjl

"Adams, Jay" wrote in message
news:mailman.10448.1342710281.2513.midrange-l@xxxxxxxxxxxx...

IBM i Gurus,

I'm on V5R1 and am trying to use a variable in a CLP for the File and
Member of the FROMFILE parameter on the CPYTOIMPF cmd, but keep getting
CPD0078 (not a valid name) errors.

I've tried 3 different ways and each way comes up with CPD0078. If I
type the cmd from the cmd line it works just fine. My test CLP is as
follows:

PGM

DCL VAR(&DATAFILE) TYPE(*CHAR) LEN(10)
DCL VAR(&CSVFILE) TYPE(*CHAR) LEN(12)
DCL VAR(&FROMFILE) TYPE(*CHAR) LEN(30)
DCL VAR(&STREAMFILE) TYPE(*CHAR) LEN(50)



/* Prepare Variables */
CHGVAR VAR(&DATAFILE) VALUE('CSTU02F2')
CHGVAR VAR(&CSVFILE) VALUE('CSTU02F2.CSV')
CHGVAR VAR(&STREAMFILE) VALUE('QDLS/BPCS/' || +
&CSVFILE)


/***** Test #1 */
/***** Hardcode File, use variable for Mbr */
CPYTOIMPF FROMFILE(('EXCELHDGS ' || &DATAFILE)) +
TOSTMF(&STREAMFILE) MBROPT(*REPLACE) +
STMFCODPAG(*PCASCII) RCDDLM(*CRLF)


/***** Test #2 */
/***** Use variable that includes File and Mbr */

CHGVAR VAR(&FROMFILE) VALUE('EXCELHDGS ' || +
&DATAFILE)
CPYTOIMPF FROMFILE(&FROMFILE) TOSTMF(&STREAMFILE) +
MBROPT(*REPLACE) STMFCODPAG(*PCASCII) +
RCDDLM(*CRLF)


/***** Test #3 */
/***** Use variable for Lib, File, and Mbr */

CHGVAR VAR(&FROMFILE) VALUE('SHIOMODTF/EXCELHDGS ' +
|| &DATAFILE)
CPYTOIMPF FROMFILE(&FROMFILE) TOSTMF(&STREAMFILE) +
MBROPT(*REPLACE) STMFCODPAG(*PCASCII) +
RCDDLM(*CRLF)


ENDPGM


>From the errors I'm getting (see below) it seems as if FROMFILE is being
truncated at 10 characters.

Tests #1 and #2 error message:

"Value 'EXCELHDGS ' for parameter FROMFILE not a valid name."
Message ID . . . . . . : CPD0078

Date sent . . . . . . : 07/19/12 Time
sent . . . . . . : 09:30:05


Message . . . . : Value 'EXCELHDGS ' for parameter FROMFILE not a
valid
name.



Cause . . . . . : Value 'EXCELHDGS ' contains characters that are not
valid
in a name or is a single value that was specified as part of a
qualifier. A
name must begin with an alphabetic character followed by alphanumeric

characters, or if the value is a string of characters, it must be
enclosed
in quotation marks.

Recovery . . . : Correct the name or specify the single value alone,
then
try the command again. More information on names can be found in the
CL
Reference manual.



Test #3 error message:

"Value 'SHIOMODTF/' for parameter FROMFILE not a valid name."
Message ID . . . . . . : CPD0078

Date sent . . . . . . : 07/19/12 Time
sent . . . . . . : 09:34:06


Message . . . . : Value 'SHIOMODTF/' for parameter FROMFILE not a
valid
name.



Cause . . . . . : Value 'SHIOMODTF/' contains characters that are not
valid
in a name or is a single value that was specified as part of a
qualifier. A
name must begin with an alphabetic character followed by alphanumeric

characters, or if the value is a string of characters, it must be
enclosed
in quotation marks.

Recovery . . . : Correct the name or specify the single value alone,
then
try the command again. More information on names can be found in the
CL
Reference manual.


I'm sure this is something simple that I am missing.

Thanks for your help,
Jay Adams




As an Amazon Associate we earn from qualifying purchases.

This thread ...

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.