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:
2. create a temporary journal and journal receiver:
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)
4. start journaling the temporary copy of the file:
STRJRNPF FILE(TEMPLIB/filename) JRN(TEMPLIB/TEMPJRN) IMAGES(*AFTER)
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:
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 an ETL app.
I would also like to be able to send the entire cust file using the same pgmA with no changes.
How can I make the cust record format look just like a journal record (the format that DSPJRN creates).
Cust file format:
I want this to look like a DSPJRN record so I can use the same pgmA to load up all CUST records for an initial load.
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 ----------------------|
Entry Specific Data - Var JOESD A 80 <--------------------------------- I want my CUST data here!!
Most of the journal fields can empty - but I want my CUST data to be in JOESD. Can SQL or OPNQRYF do this?
I think I need to take fields JOENTL thru JOOBJ and initialize those. Then take all CUST fields CUST.* and string them together (alpha, packed, zoned) into the one JOESD field.
Is this possible without using an HLL?
This outbound email has been scanned for all viruses by the MessageLabs Skyscan service.
For more information please visit http://www.symanteccloud.com