MIDRANGE dot COM Mailing List Archive



Home » MIDRANGE-L » May 2014

Re: cpyf with key that is packed



fixed

Going back to the OP, couldn't he use the INCREL parameter - I think that's the one that used field names I don't know if it needs to use hex for packed fields - haven't tried that lately.

HTH
Vern

On 5/16/2014 5:36 PM, Bruce Vining via MIDRANGE-L wrote:
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