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



I always use (B)oth for all fields onscreen and protect them as needed.
Learned this years ago...the hard way for the very reasons you mention.

I also set DSPATR(MDT CS) on everything, this ensures data is always
returned to my programs.

For "O" fields I use DSPATR(PR) and CHGINPDFT keywords...

Terry

-----Original Message-----
From: COBOL400-L [mailto:cobol400-l-bounces@xxxxxxxxxxxx] On Behalf Of Stone, Joel
Sent: Monday, August 08, 2016 5:21 PM
To: 'COBOL Programming on the IBM i (AS/400 and iSeries)'
Subject: [COBOL400-L] COBOL pgm to display DDS screen and update a record

How are screens generally handled when writing COBOL to update a record via a DDS screen.

Specifically regarding I, O, or B fields (Input, Output, or Both)

It seems that only "B" works satisfactorily. I thought that I had some "O" fields interspersed with "B" fields working pretty well. I was moving SCREEN-I fields to SCREEN-o fields after every READ from the screen, and reverse after a WRITE.

However it still seems to mess up occasionally, as the screen buffer is mapped very differently for "I" and "O" fields.

The only way I have gotten screen updates to work reliably is to strictly use "B" fields only, and never use "O" fields for updates anyways.

Designating all fields as "B" means that fields in the buffer will stay put - instead of hopping around to different locations before and after the screen I-O.

Do others follow this method? Or is there a way to designate a field as "O" when other fields are "B"?



(A downside of designating "O" fields as "B" is that they are not protected and also show underlines, so each one must be conditioned to unprotect & remove underlines, which is more junk code to get around this issue.)


Thanks!


--
This is the COBOL Programming on the IBM i (AS/400 and iSeries) (COBOL400-L) mailing list To post a message email: COBOL400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/cobol400-l
or email: COBOL400-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/cobol400-l.


Confidentiality Notice: The preceding e-mail message (including any attachments) contains information that may be confidential, protected by applicable legal privileges, or constitute non-public information. It is intended to be conveyed only to the designated recipient(s). If you are not an intended recipient of this message, please notify the sender by replying to this message and then delete it from your system. Use, dissemination, distribution or reproduction of this message by unintended recipients is not authorized and may be unlawful.


As an Amazon Associate we earn from qualifying purchases.

This thread ...

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.