Richard.
Thanks This is really great! I will try it tomorrow.
Mike
--- On Tue, 3/10/09, Richard Casey <casey_r@xxxxxxxxxxxxxxxx> wrote:
From: Richard Casey <casey_r@xxxxxxxxxxxxxxxx>
Subject: Re: [COBOL400-L] Cobol / CL question
To: "'COBOL Programming on the iSeries/AS400'" <cobol400-l@xxxxxxxxxxxx>
Date: Tuesday, March 10, 2009, 11:22 PM
Mike,
You call QCMDEXC with two parameters, like so:
CALL 'QCMDEXC' USING CMD CMDLEN.
CMD is the actual command you want to execute (OVRDBF in this case).
CMDLEN is the length of the string in CMD and is defined as PIC 9(10)V9(05)
COMP-3.
As you cycle through your files, you would call QCMDEXC to perform the
OVRDBF. You would then open the file, process it, and close it. You could
then cycle back and call QCMDEXC again.
Here are some quick COBOL excerpts.
In WORKING STORAGE, define:
** MYLIB/MYFILE will contain library and file of desired target
01 MYLIB PIC X(10).
01 MYFILE PIC X(10).
01 CMD.
05 FILLER PIC X(28)
VALUE 'OVRDBF FILE(CBLFILE) TOFILE('.
05 OVRFILE PIC X(22).
01 CMDLEN PIC 9(10)V9(05) COMP-3 VALUE 50.
In the PROCEDURE DIVISION, use:
MOVE 'desiredlibrary' to MYLIB
MOVE 'desiredfile' TO MYFILE
MOVE SPACES TO OVRFILE
STRING MYLIB '/' MYFILE ')' DELIMITED BY ' ' INTO OVRFILE
CALL 'QCMDEXC' USING CMD CMDLEN.
The CBLFILE in the FILE parameter of the OVRDBF command should be the one
referenced in your SELECT statement in the FILE-CONTROL paragraph.
Using the STRING command to build the rest of the OVRDBF command avoids the
problem of embedded spaces in the command if the library and/or file name is
less than 10 characters.
Hope this helps.
Holler if you have any questions.
Enjoy!
Richard
-----Original Message-----
From: cobol400-l-bounces@xxxxxxxxxxxx
[mailto:cobol400-l-bounces@xxxxxxxxxxxx] On Behalf Of Mike Apice
Sent: Tuesday, March 10, 2009 8:06 PM
To: COBOL Programming on the iSeries/AS400
Subject: Re: [COBOL400-L] Cobol / CL question
Thanks Jhn and Beni.
Jon.
Could you give a quick example of the QCMDEXC or some more detail. I need
to do exactly that, cycle thru a number of files.
Much appreciated.
--- On Tue, 3/10/09, Jon Paris <Jon.Paris@xxxxxxxxxxxxxx> wrote:
From: Jon Paris <Jon.Paris@xxxxxxxxxxxxxx>
Subject: Re: [COBOL400-L] Cobol / CL question
To: "COBOL Programming on the iSeries/AS400" <cobol400-l@xxxxxxxxxxxx>
Date: Tuesday, March 10, 2009, 7:34 PM
Or for that matter use OPEN/CLOSE within the COBOL program and use OVR
via QCMDEXC if you need to cycle through a series of files.
On 10-Mar-09, at 6:48 PM, Egger Jörg (KIRJ 412) wrote:
OVRDBF is a solution.
OVRDBF FILE(CBLFILE)
TOFILE(LIBRARY/DISKFILE)
Use the file name that you have in your select statement instead of
CBLFILE.
TOFILE is the real file name.
Beni
-----Original Message-----
From: cobol400-l-bounces@xxxxxxxxxxxx
[mailto:cobol400-l-bounces@xxxxxxxxxxxx
] On Behalf Of Mike Apice
Sent: 10 March 2009 23:32
To: cobol400-l@xxxxxxxxxxxx
Subject: [COBOL400-L] Cobol / CL question
Heh! Gang.
Is there a way to pass a variable in CL to 400 Cobol for a file name
that is always different?
I haven't used ovrdbf. Is that a possibility?
Thanks.
Mike
--
This is the COBOL Programming on the iSeries/AS400 (COBOL400-L)
mailing list To post a message email: COBOL400-L@xxxxxxxxxxxx To
subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/cobol400-l
or email: COBOL400-L-request@xxxxxxxxxxxx Before posting, please
take a moment to review the archives at
http://archive.midrange.com/cobol400-l
.
--
This is the COBOL Programming on the iSeries/AS400 (COBOL400-L)
mailing list
To post a message email: COBOL400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/cobol400-l
or email: COBOL400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/cobol400-l.
Jon Paris
www.Partner400.com
www.SystemiDeveloper.com
As an Amazon Associate we earn from qualifying purchases.