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




On 06/09/2008, at 3:27 AM, Frances Denoncourt wrote:

My other issue is that the first footer is still displaying in places along with the second.

Then the screen area occupied by the first footer is not being cleared when the second footer is displayed. This is termed "bleed- through". It's usually caused by PUTOVR plus OVRATR and/or OVRDTA or CLRL(*NO)

OVERLAY is used to build a single screen from multiple record formats. The default behaviour is to clear the screen for each record format written. If you want multiple formats on the display you generally use OVERLAY. Each record format must NOT share any screen space with other active record formats. If a format with OVERLAY specified is written to the display AND it shares even one character position with another record format already on the display the record format already displayed is erased. Record formats that share screen space do not OVERLAY they OVERLAP.

If you need to OVERLAP record formats then the OVERLAY will not help. You must use CLRL(*NO) to stop the OS from erasing the overlapped record format, or you must use PUTOVR plus OVRATR and/or OVRDTA to send new attributes and/or data to the existing display. This technique leads to bleed-through because the OS does not clear the screen area before displaying the new information. Your application must ensure bleed-through cannot occur. The usual technique for that is to code blank constants in all the unused parts of the overlapping record format.


There is some code in there placing blanks in the line before the footer info.

This is probably to hide data from previous record formats that bleeds through when new information is displayed.


I put some identifying remarks in its place and could see what was still showing from one footer to the other.

Maybe I should just write blanks to cover up the entire first footer (or another blank footer) then write the second.

You could do that. Or you could instruct the OS to ERASE an existing format when writing another footer. WRITE FOOTER2 and ERASE FOOTER1 at the same time. See the DDS keyword ERASE.


There is one of your old posts that might help out, but I'm not sure about the comment about reordering the write of records to the display device.

This just means that most people think you have to build a screen from the top down. For example:
WRITE HEADER causes display to be cleared
WRITE BODY with OVERLAY
WRITE FOOTER with OVERLAY
but you can do it in any order that makes sense to your code. For example:
WRITE BODY causes display to be cleared
WRITE FOOTER with OVERLAY
WRITE HEADER with OVERLAY

What I was getting at in the append you referenced was simply that the programmer may need alter the order in which record formats are written to ensure the screen is cleared properly with the first WRITE and then the other formats OVERLAY properly.

Which would be the best way to code for this?

Depends on your existing DDS and HLL code. Proper understanding of DDS will help and avoid all the "try this" and "maybe that" answers you've been getting.

Regards,
Simon Coulter.
--------------------------------------------------------------------
FlyByNight Software OS/400, i5/OS Technical Specialists

http://www.flybynight.com.au/
Phone: +61 2 6657 8251 Mobile: +61 0411 091 400 /"\
Fax: +61 2 6657 8251 \ /
X
ASCII Ribbon campaign against HTML E-Mail / \
--------------------------------------------------------------------




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.