× 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: User presses Esc/Attn to "copy screen"
  • From: "York, Albert" <albert.york@xxxxxxxxxxxxxx>
  • Date: Fri, 12 May 2000 10:02:38 -0700

Dan,

You're right. This did come from my DSPINTJOB utility. 

In answer to your questions.

1) Why a length of only 1782? A 24x80 screen is 1920 and a 27x132 screen is
3564.  Doing the math, I see that 2*1782 is 3564, but you've got both fields
defined starting in row 1 position 2.  I noticed that the HARDCOPY utility
uses a single 2048-byte hidden field (it was built for 24x80 only).

The length of 1782 comes from the fact that the DDS compiler doesn't like
fields longer than 1920, at least the way I am doing it. Having two fields
of 1782 is just convenient. They are merely placeholders anyway to set up
the buffer (that's why the starting row and column doesn't matter). You'll
notice in the program the display file is overridden to a different display
file. However, the fields names can still be used and are concatenated to
get the whole screen. This method works for 24X80 or 27X132 screens. For
24X80 screens the last 1644 bytes will be blank.

2) What's with the CHGVAR   VAR(&R1DATA1) VALUE(X'00021518730462')
incantation?  What does this do?  And what reference did you use to find
this?  (Are there other goodies in there?)  Reviewing the DSPINTJOB source,
it looks like you're using VALUE(X'00021518730462') to "retrieve the current
screen" and VALUE(X'00021518730472') to "retrieve the cursor location

These are user defined data stream (UDDS) commands. You're right about their
usage. I dug them out of a reference guide somewhere. However, it's been
many years and I can't find the guide now (a quick search for UDDS in the
softcopy library came up with QB3AUK00 Application Display Programming).
However, UDDS programming can be tricky. If you do something wrong the
AS/400 doesn't tell you exactly what's wrong. It will simply issue a general
CPF error message. Actually, this is the only use I have found for UDDS,
especially since so few people know how to use it. 

Albert

+---
| This is the Midrange System Mailing List!
| To submit a new message, send your mail to MIDRANGE-L@midrange.com.
| To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com.
| To unsubscribe from this list send email to MIDRANGE-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.