MIDRANGE dot COM Mailing List Archive



Home » MIDRANGE-L » May 2014

Re: cpyf with key that is packed



fixed

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

This mailing list archive is Copyright 1997-2014 by MIDRANGE dot 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 here. If you have questions about this, please contact