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



Hi Robert,

Bit 0 in WDFFSELM determines the Boolean nature of the indicator test. The
QDFRTVFD documentation doesn't explicitly say so.

If bit 0 is off, then this equates to a NOT condition test in the original
DDS (e.g. N50).

If bit 0 is on, then this equates to an ON condition test in the original
DDS.

Once you've done this bit test, you should set bit 0 to off so that WDFFSELM
then contains the correct value for the output buffer displacement.

You'll need to check the file-level (Wdfwindx) and the current record-level
(Wdfwindr) structures in QDFWFLEI and QDFWRCDI respectively to find the
actual indicator that's used. Structure QDFWITBE can be used to map to both
these locations. When subfield QDFWITBE.WDFWIOBF = WDFFSELM, you've found
your indicator (QDFWITBE.WDFWINBR).

Best wishes,

Richard



-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of John McKay
Sent: 24 November 2011 09:03
To: RPG programming on the IBM i / System i
Subject: Re: QDFRTVFD - Selection Table Entry (QDFFSTBL)

Hi Robert,

The ouput buffer referrred to is the output buffer (output data stream) sent
by the program to the display for that record format.

WDFFSELM - each "character" in this array will contain an offset to the
location of the option indicator.

That location in the buffer will contain the boolean switch.


Regards,
John McKay mba
www.rpglanguage.com


On 23/11/2011 19:49, RNewton@xxxxxxxxxxxxxxxxx wrote:
I'm having trouble understanding the documentation for the QDFRTVFD
API where it talks about the Selection Table Entry. I need to access
the indicators that control a screen field's display attributes. After
reading the docs many times, I believe that the array of characters at
position 4
(WDFFSELM) holds what I need, but I am really having a tough time
interpreting the data in it.

Considering the following DDS display attribute source line, I need to
get the "50" but from the display file object instead of the source.

A 51 DSPATR(PC)

Here is the array description of WDFFSELM from the docs:
====
Array of selection table indicators. The number of entries in this
structure is defined by variable WDFFCND in this table. Each character
contains a displacement into the output buffer for an option
indicator. An entry is used to designate whether the indicator must be
on (X'F1') or off (X'F0'). If an entry is on, the indicator must be
on; if it is off, the indicator must be off. The value X'7F' in this
field designates the end of the entry.
====

It says that each is a displacement to the output buffer for an option
indicator. Where is this output buffer that it is a displacement to?
It also goes on to say that an entry is used to designate whether an
indicator must be on or off but I see none with a value of x'F1' or x'F0'.
How can a byte both be a displacement to the output buffer and also a
boolean (F1 or F0)?

PS - I have most of it working so far and can read all of the display
fields with option indicators and the record formats they are a part of.
It's the controlling indicators that I cannot identify with the API yet.
Any help is appreciated.

Thanks,
Robert Newton
Estes IT
System Architect
804-353-1900 x2256
rnewton@xxxxxxxxxxxxxxxxx



For 80 Years ? Delivering Solutions that Exceed Expectations.



This communication and any transmitted documents are intended to be
confidential. If there is a problem with this transmission, please
contact the sender. If the reader of this message is not the intended
recipient, or the employee or agent responsible to deliver it to the
intended recipient, you are hereby notified that any dissemination,
distribution or copying of this communication is strictly prohibited.


--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or
change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/rpg400-l.




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.