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

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 load up all CUST records for an initial load.

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

Thanks!



______________________________________________________________________
This outbound email has been scanned for all viruses by the MessageLabs Skyscan service.
For more information please visit http://www.symanteccloud.com
______________________________________________________________________


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.