|
not sure if this will run any faster.
Here is basically what it does:
1) declare the outfile as internal describe file. I'm thinking RPG will not
load each field at a time in this case.
2) Declare a data structure and set the based pointer to be the address of
JOESD field.
FMYFILE UF A F 2048 31AIDISK
FJOURNALPF IF E DISK
*
D myFileDS DS 2048 based(p_myFileDS)
D p_myFileDS s * inz(%addr(JOESD))
D notUse DS 2048
D myKey s 31
C read JOURNALPF
C myKey chain MYFILE notUse
C if %found
C update MYFILE myFileDS
C else
C write MYFILE myFileDS
C endif
C eval *inlr = *on
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx]On Behalf Of
CarollaT@xxxxxxxxxxxxxx
Sent: Friday, September 03, 2004 12:37 PM
To: rpg400-l@xxxxxxxxxxxx
Subject: RE: CHAIN to a DS
Since writing this, the strategy has changed, so I am doing the following:
1. Read journal entries from several TRANS files (all exact same
format, different libraries) into an output file (using DSPJRN - I know,
Scott -- I should be using an API ;)
2. Read through each journal entry, and place the record image
field (JOESD) into an externally-described DS, based on the TRANS file
(minus one field)
3. Attempt a chain to the Master TRANS file (fields prefixed with
a 'D')
4. Place all fields of data from the DS into the Master TRANS file
5. Update or Write the Master TRANS file, based on the results of
the CHAIN op
I just wanted to know if there was a way to avoid step four - because there
are a lot of fields, and I want this to run fast Fast FAST. If I avoid
prefixing the Master TRANS file fields, then the fields in the external DS
would be the same fields, right? So after I populate the DS with the
journal image, I want to position myself to do a write or update to the
Master TRANS file, without replacing the contents of these fields. I am
pretty sure you can't do an UPDATE after doing a SETLL, otherwise, I could
do a SETLL, then check the %EQUAL bif, and optionally update or write.
SQL is not _really_ an option, because we don't have the development LP. I
know there is still a way to interact using SQL, but I haven't really 'gone
there' yet.
Tony Carolla
MedAmerica Billing Services, Inc.
--
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.