MIDRANGE dot COM Mailing List Archive



Home » MIDRANGE-L » January 2013

RE: CPYF Frommbr(*ALL) Tombr(*ALL)



fixed

Hi Tim
I think that you need to use the following in your cpyf
To member or label . . . . . . . TOMBR > *FROMMBR

Alan Shore
Programmer/Analyst, Direct Response
E:AShore@xxxxxxxx
P:(631) 200-5019
C:(631) 880-8640
"If you're going through Hell, keep going" - Winston Churchill

-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Tim Adair
Sent: Wednesday, January 09, 2013 4:59 PM
To: midrange-l@xxxxxxxxxxxx
Subject: CPYF Frommbr(*ALL) Tombr(*ALL)

Is it possible in CL to copy an entire multi-member file? TOMBR(*all) isn't allowed, and if I leave TOMBR out completely, it copies all members of the FROMFILE into a single member in the TOFILE.

CRTDUPOBJ doesn't help because the FROMFILE is a DDM file, and CRTDUPOBJ creates another DDM file. I'm trying to copy all members of the DDM file into a multi-member PF.

Am I missing something obvious?

More info:
I'm writing a simple source member comparison utility that will compare a source PF on one system to the same source PF on another. Here is the actual code (so far):


PGM PARM(&LIB1 &LIB2 &SRCFILE &IP)

DCL VAR(&LIB1) TYPE(*CHAR) LEN(10)
DCL VAR(&LIB2) TYPE(*CHAR) LEN(10)
DCL VAR(&SRCFILE) TYPE(*CHAR) LEN(10)
DCL VAR(&IP) TYPE(*CHAR) LEN(20)

CRTDDMF FILE(QTEMP/RMTSRCFILE) +
RMTFILE(&LIB2/&SRCFILE) RMTLOCNAME(&IP *IP)

CPYF FROMFILE(QTEMP/RMTSRCFILE) +
TOFILE(QTEMP/SRCFILE) FROMMBR(*ALL) +
MBROPT(*REPLACE) CRTFILE(*YES)

CMPPFM NEWFILE(&LIB1/&SRCFILE) NEWMBR(*ALL) +
OLDFILE(QTEMP/SRCFILE) CMPTYPE(*LINE) +
RPTTYPE(*SUMMARY) OUTPUT(*PRINT)

DLTF FILE(QTEMP/RMTSRCFILE)

ENDPGM



Anticipated questions / answers: --------------

The CPYF is necessary because you can't run CMPPFM against a DDM file.

&LIB2 is so I can compare two libraries that don't have the same name.


As always, thanks for any & all assistance.

~TA~

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


Disclaimer: This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system. E-mail transmission cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message, which arise as a result of e-mail transmission. If verification is required please request a hard-copy version. Any views or opinions presented are solely those of the author and do not necessarily represent those of the company.





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