|
I really like your train of thought here.
It will work perfectly, the only issue is some of the files I am doing
this with contain 10 million records. This may take awhile.
I was hoping to do something where I didn't have to copy the data twice -
once to create a journal record, and a second time to do the ETL.
If I could drop the cust record format into the JOESD field using an SQL
join to create a Cartesian join of all rows to all other rows. But maybe
that is copying data twice too.
I will give this a try - thanks Mark!
-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx [mailto:
midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Mark S Waterbury
Sent: Monday, October 01, 2012 10:38 AM
To: Midrange Systems Technical Discussion
Subject: Re: make cust file look like a journal record - format
Joel:
Why go to all the trouble of trying to make a file that "looks just like
a journal record"?
Why not just use the real system journal facilities and then you can use
DSPJRN, as you do now?
For example, you could do something like this:
1. create a temporary library:
CRTLIB LIB(TEMPLIB)
2. create a temporary journal and journal receiver:
CRTJRNRCV JRNRCV(TEMPLIB/TEMPJRN0001)
CRTRJN JRN(TEMPLIB/TEMPJRN) JRNRCV(TEMPLIB/TEMPJRN0001)
3. create a copy of the file, but with no data, in the temporary library:
CRTDUPOBJ OBJ(filename) FROMLIB(filelib) OBJTYPE(*FILE)
TOLIB(TEMPLIB) DATA(*NO)
4. start journaling the temporary copy of the file:
STRJRNPF FILE(TEMPLIB/filename) JRN(TEMPLIB/TEMPJRN) IMAGES(*AFTER)
OMTJRNE(*OPNCLO)
5. copy all the trecords from the original file to the temporary copy,
to get them journaled:
CPYF FROMFILE(filelib/filename) TOFILE(TEMPLIB/filename) MBROPT(*ADD)
Then you can just issue DSPJRN against TEMPLIB/TEMPJRN and send the
output to an *OUTFILE, as I presume you are doing now ......
When all done, you can issue:
DLTLIB TEMPLIB
Does that help?
All the best,
Mark S. Waterbury
> On 10/1/2012 11:19 AM, Stone, Joel wrote:
I have pgmA which reads cust journal changes and sends them off for anETL app.
pgmA with no changes.
I would also like to be able to send the entire cust file using the same
(the format that DSPJRN creates).
How can I make the cust record format look just like a journal record
load up all CUST records for an initial load.
For example:
Cust file format:
CustName 30
CustAddr 30
CustCity 20
-----
Total 80
I want this to look like a DSPJRN record so I can use the same pgmA to
---------------------|
Desired format:
Field Field
Text Name Type Length
Length of entry JOENTL S 5
Sequence number JOSEQN S 10|
Journal Code JOCODE A 1|
Entry Type JOENTT A 2|
Date of entry: Job date f JODATE A 6|
Time of entry: hour/minut JOTIME S 6|---------- journal header fields
Name of Job JOJOB A 10|
Name of User JOUSER A 10|
Number of Job JONBR S 6|
Name of Program JOPGM A 10|
Name of Object JOOBJ A 10----------------------|
.<--------------------------------- I want my CUST data here!!
.
.
Entry Specific Data - Var JOESD A 80
JOESD. Can SQL or OPNQRYF do this?
Most of the journal fields can empty - but I want my CUST data to be in
Then take all CUST fields CUST.* and string them together (alpha, packed,
I think I need to take fields JOENTL thru JOOBJ and initialize those.
zoned) into the one JOESD field.
Skyscan service.
Is this possible without using an HLL?
Thanks!
______________________________________________________________________
This outbound email has been scanned for all viruses by the MessageLabs
For more information please visit http://www.symanteccloud.com
______________________________________________________________________
--
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 inbound email has been scanned for all viruses by the MessageLabs
SkyScan
service.
________________________________________________________________________
______________________________________________________________________
This outbound email has been scanned for all viruses by the MessageLabs
Skyscan service.
For more information please visit http://www.symanteccloud.com
______________________________________________________________________
--
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.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.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 on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.