× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.


  • Subject: Re: How to use DataQues with RPG ?
  • From: jcbradley@xxxxxxxxxxx (John C. Bradley)
  • Date: Thu, 23 Sep 1999 18:57:46 -0400 (EDT)

You asked:
>How do I use DTAQ's between two RPG programs to exchange data ?

I see that you've got six replies already, so I won't go into the use stuff
from the programming details side, but rather from the "please think about
the poor soul who will maintain your code five years from now" point of view.

I had to fix a non-Y2K-compliant OPM RPG program recently that used a keyed
data queue.  It was a "convenient" program for maintaining and replicating
purchase order blanket releases in a purchased ERP package.  It worked by
reading the existing releases for an order item from the db file, writing
them to the queue, then reading them back from the queue using due date as
the key and filling a subfile for operator entry/maintenance.

Unfortunately, a data queue is not a nicely structure chunk of data like an
externally defined database file record so the fields from the db file were
moved to fields in a datastructure which then served as the input data to
the queue.  The data structure fields were defined within the program using
from/to position entries.  There were three of these structures and three
subroutines full of moves to populate them.  There were about 140 fields in
the record and the structures were not defined in field sequence, just sort
of random ....

A couple of years ago the database file had some fields added through a new
release of the purchased package software. These fields were not just at the
end of the record but scattered within it.  The program kept on truckin'
after a recompile and basically screwed up the extra fields in the database
(fortunately the user wasn't using the features provided by  "most" of the
new fields).  Apparently someone assumed that since it compiled, it was OK.
Heh.

It was a pain in the you-know-what to fix those data structures.  I probably
should have converted the program to ILE, but hey, all I was doing was going
in to fix a few cases where a 7 digit date in CYYMMDD format was multiplied
by 100.0000 to a 6 digit MMDDYY result (doesn't work for Y2K, ya know).
This thing just snowballed.

I really like being able to define fields in the database.  It would be neat
to have a mechanism on the AS/400 whereby the data in a dataqueue-like
object could be structured similarly.  Then all sorts of data integrity
checks would be automatic.

Just my 2 cents (plus a quarter).


+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

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.