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