You're might be making this more difficult than it needs to be. The need to
use hex is due to your use of the command line. As you're in a CL program
just defined packed (7,0) from and to keys, redefine them as character, and
pass the character fields to CPYF. The following sample program
demonstrates this:

Pgm



Dcl Var(&FromKeyN) Type(*Dec) Len(7 0)

Dcl Var(&FromKeyC) Type(*Char) Len(4) +

Stg(*Defined) DefVar(&FromKeyN)

Dcl Var(&ToKeyN) Type(*Dec) Len(7 0)

Dcl Var(&ToKeyC) Type(*Char) Len(4) +

Stg(*Defined) DefVar(&ToKeyN)



ChgVar Var(&FromKeyN) Value(1)

ChgVar Var(&ToKeyN) Value(2)



CpyF FromFile(BVining/KeyedFile) ToFile(*Print) +

FromKey(1 (&FromKeyC)) ToKey(1 (&ToKeyC))



EndPgm


Hope this helps,

Bruce




On Fri, May 16, 2014 at 12:50 PM, Jeff Young via MIDRANGE-L <
midrange-l@xxxxxxxxxxxx> wrote:

Tim,
You can not use &key in that way. the variable &key is how a CLP (CLLE)
defines field name key (it places an & in front of the name).
You want to define a field in your program (call it key for example). In
your program, load the value that you want and then build your command as
'CPYF FROMFILE(LIBR/FILE) TOFILE(QTEMP/IT) CRTFILE(*YES)
FROMKEY(1 ' + Key + ')) TOKEY(1 (' + key + '))'

Build field key as a character value and include the X' as the first 2
bytes and the F' as the last 2 bytes.

Jeff Young
Sr. Programmer Analyst


On Fri, May 16, 2014 at 1:34 PM, tim.dclinc@xxxxxxxxx via MIDRANGE-L <
midrange-l@xxxxxxxxxxxx> wrote:

i can do the following from command line:

CPYF FROMFILE(LIBR/FILE) TOFILE(QTEMP/IT) CRTFILE(*YES)
FROMKEY(1 (X'0563278F')) TOKEY(1 (X'0563278F'))

the file key field is defined as 7,0 packed.

i would like to do this in a cl program with a variable like:

CPYF FROMFILE(LIBR/FILE) TOFILE(QTEMP/IT) CRTFILE(*YES)
FROMKEY(1 (&key)) TOKEY(1 (&key))

im not sure how to define the &key variable and how to initialize it with
hex data

any suggestions?
--
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.


--
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.








Return to Archive home page | Return to MIDRANGE.COM home page